From 1a96796145e05fca685d91c85fc1f45f5b422e26 Mon Sep 17 00:00:00 2001 From: Rishabh Date: Thu, 14 May 2026 16:00:54 +0530 Subject: [PATCH] fix: auto-select database connector based on deploy preset MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - bun → bun-sqlite - cloudflare → cloudflare-d1 - default (node/vercel) → sqlite Co-Authored-By: Claude Opus 4.6 (1M context) --- packages/chronicle/src/server/vite-config.ts | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/packages/chronicle/src/server/vite-config.ts b/packages/chronicle/src/server/vite-config.ts index ded4272..18689b0 100644 --- a/packages/chronicle/src/server/vite-config.ts +++ b/packages/chronicle/src/server/vite-config.ts @@ -12,6 +12,19 @@ import remarkResolveLinks from '../lib/remark-resolve-links'; import remarkReadingTime from 'remark-reading-time'; import remarkUnusedDirectives from '../lib/remark-unused-directives'; +function getDatabaseConnector(preset?: string): { connector: string; options?: Record } { + switch (preset) { + case 'bun': + return { connector: 'bun-sqlite', options: { name: 'chronicle-search' } }; + case 'cloudflare': + case 'cloudflare-pages': + case 'cloudflare-module': + return { connector: 'cloudflare-d1', options: { bindingName: 'CHRONICLE_DB' } }; + default: + return { connector: 'sqlite', options: { name: 'chronicle-search' } }; + } +} + function resolveOutputDir(projectRoot: string, preset?: string): string { if (preset === 'vercel' || preset === 'vercel-static') return path.resolve(projectRoot, '.vercel/output'); return path.resolve(projectRoot, '.output'); @@ -140,10 +153,7 @@ export async function createViteConfig( database: true, }, database: { - default: { - connector: 'sqlite', - options: { name: 'chronicle-search' }, - }, + default: getDatabaseConnector(preset), }, }, };