mirror of
https://github.com/saltbo/zpan.git
synced 2026-08-29 00:01:42 +08:00
310e4950b3
Replace pnpm workspace monorepo (packages/server, packages/web, packages/shared) with a flat single-package layout following Hono's pages-stack pattern. Switch from pnpm to npm and from Workers+Assets to CF Pages Functions deployment model. - Move source: packages/server/src/ → server/, packages/web/src/ → src/, packages/shared/src/ → shared/ - Add functions/api/[[route]].ts as CF Pages Functions entry (replaces entry-cloudflare.ts) - Update 22 import paths: server uses relative, web uses @shared/@server aliases - Merge three package.json into one, switch to npm - Update wrangler.toml: remove main/assets (Pages auto-detects functions/ dir) - Add per-directory tsconfig.json for VS Code type resolution - Simplify Dockerfile for flat layout - Fix react-pdf CSS import path (dist/esm/ → dist/) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
20 lines
565 B
TypeScript
20 lines
565 B
TypeScript
import Database from 'better-sqlite3'
|
|
import { drizzle } from 'drizzle-orm/better-sqlite3'
|
|
import * as authSchema from '../db/auth-schema'
|
|
import * as schema from '../db/schema'
|
|
import type { Platform } from './interface'
|
|
|
|
export function createNodePlatform(): Platform {
|
|
const dbPath = process.env.DATABASE_URL || './zpan.db'
|
|
const sqlite = new Database(dbPath)
|
|
sqlite.pragma('journal_mode = WAL')
|
|
const db = drizzle(sqlite, { schema: { ...schema, ...authSchema } })
|
|
|
|
return {
|
|
db,
|
|
getEnv(key: string) {
|
|
return process.env[key]
|
|
},
|
|
}
|
|
}
|