a template starter repo for sveltekit projects
0

Configure Feed

Select the types of activity you want to include in your feed.

Merge pull request #9 from taurean/claude/stoic-volta-lagj6f

Refactor database environment validation to separate script

+13 -10
+3 -7
drizzle.config.ts
··· 1 1 import { defineConfig } from 'drizzle-kit'; 2 2 3 - if (!process.env.CLOUDFLARE_ACCOUNT_ID) throw new Error('CLOUDFLARE_ACCOUNT_ID is not set'); 4 - if (!process.env.CLOUDFLARE_DATABASE_ID) throw new Error('CLOUDFLARE_DATABASE_ID is not set'); 5 - if (!process.env.CLOUDFLARE_D1_TOKEN) throw new Error('CLOUDFLARE_D1_TOKEN is not set'); 6 - 7 3 export default defineConfig({ 8 4 schema: './src/lib/server/db/schema.ts', 9 5 dialect: 'sqlite', 10 6 driver: 'd1-http', 11 7 dbCredentials: { 12 - accountId: process.env.CLOUDFLARE_ACCOUNT_ID, 13 - databaseId: process.env.CLOUDFLARE_DATABASE_ID, 14 - token: process.env.CLOUDFLARE_D1_TOKEN 8 + accountId: process.env.CLOUDFLARE_ACCOUNT_ID ?? '', 9 + databaseId: process.env.CLOUDFLARE_DATABASE_ID ?? '', 10 + token: process.env.CLOUDFLARE_D1_TOKEN ?? '' 15 11 }, 16 12 verbose: true, 17 13 strict: true
+4 -3
package.json
··· 15 15 "test:unit": "vitest", 16 16 "test": "npm run test:unit -- --run", 17 17 "gen": "wrangler types", 18 - "db:push": "drizzle-kit push", 19 - "db:generate": "drizzle-kit generate", 20 - "db:migrate": "drizzle-kit migrate", 18 + "db:check": "node scripts/db-check.js", 19 + "db:push": "node scripts/db-check.js && drizzle-kit push", 20 + "db:generate": "node scripts/db-check.js && drizzle-kit generate", 21 + "db:migrate": "node scripts/db-check.js && drizzle-kit migrate", 21 22 "db:studio": "drizzle-kit studio", 22 23 "storybook": "storybook dev -p 6006", 23 24 "build-storybook": "storybook build"
+6
scripts/db-check.js
··· 1 + const required = ['CLOUDFLARE_ACCOUNT_ID', 'CLOUDFLARE_DATABASE_ID', 'CLOUDFLARE_D1_TOKEN']; 2 + const missing = required.filter((k) => !process.env[k]); 3 + if (missing.length) { 4 + console.error('db: missing required env vars: ' + missing.join(', ')); 5 + process.exit(1); 6 + }