tomfoolery attempts at excluding server stuff from client build

This commit is contained in:
2026-02-09 14:06:36 -08:00
parent 44ce67497c
commit 7f8dbcdc6b
5 changed files with 60 additions and 24 deletions

View File

@@ -11,7 +11,7 @@ import { browser } from "$app/environment";
*/
// this is kinda mid
export const sqlocal = browser ? await initDb() : null;
export const sqlocal = !import.meta.env.SSR ? await initDb() : null;
// wacky typecasting, but it works to give type hints for db queries
export const db = sqlocal
? drizzle(sqlocal.driver, sqlocal.batchDriver)
@@ -25,8 +25,8 @@ async function initDb() {
}
async function serverDb() {
const { db } = await import("..");
return db;
const { initDb } = await import("..");
return initDb();
}
export function getClientDb() {

View File

@@ -1,23 +1,25 @@
import "dotenv/config";
// import type { BetterSQLite3Database } from "drizzle-orm/better-sqlite3";
// import type { BunSQLiteDatabase } from "drizzle-orm/bun-sqlite";
import type { BetterSQLite3Database } from "drizzle-orm/better-sqlite3";
export async function initDb() {
await import("dotenv/config");
// import type { BunSQLiteDatabase } from "drizzle-orm/bun-sqlite";
let _db: any;
let _db: BetterSQLite3Database;
if (!process.env.DB_FILE_NAME) {
throw new Error("DB_FILE_NAME is not set");
if (!process.env.DB_FILE_NAME) {
throw new Error("DB_FILE_NAME is not set");
}
console.info("Using DB_FILE_NAME: ", process.env.DB_FILE_NAME);
// if (process.versions.bun) {
// console.info("Using Bun SQLite");
// const { drizzle } = await import("drizzle-orm/bun-sqlite");
// _db = drizzle(process.env.DB_FILE_NAME);
// } else {
console.info("Using Better SQLite3");
const { drizzle } = await import("drizzle-orm/better-sqlite3");
_db = drizzle(process.env.DB_FILE_NAME);
// }
return _db;
}
console.info("Using DB_FILE_NAME: ", process.env.DB_FILE_NAME);
// if (process.versions.bun) {
// console.info("Using Bun SQLite");
// const { drizzle } = await import("drizzle-orm/bun-sqlite");
// _db = drizzle(process.env.DB_FILE_NAME);
// } else {
console.info("Using Better SQLite3");
const { drizzle } = await import("drizzle-orm/better-sqlite3");
_db = drizzle(process.env.DB_FILE_NAME);
// }
export const db = _db;