fix: use the $env/dyanmic/private store for DATABASE_URL

This commit is contained in:
wilson 2026-03-01 10:17:31 +00:00
parent c9feb54cd4
commit 9882a965eb
4 changed files with 43 additions and 33 deletions

8
.prettierignore Normal file
View file

@ -0,0 +1,8 @@
src/content/**/*
*.md
*.html
.svelte-kit
build
drafts
generated
node_modules

View file

@ -1,13 +1,13 @@
import { notStrictEqual } from 'node:assert'; import { notStrictEqual } from "node:assert";
import { PrismaBetterSqlite3 } from '@prisma/adapter-better-sqlite3'; import { PrismaBetterSqlite3 } from "@prisma/adapter-better-sqlite3";
import { PrismaClient } from '../../generated/prisma/client.js'; import { PrismaClient } from "../../generated/prisma/client.js";
import { DATABASE_URL } from '$env/static/private'; import { env } from "$env/dynamic/private";
export class PrismaClientFactory { export class PrismaClientFactory {
private constructor(private readonly databaseUrl: string) {} private constructor(private readonly databaseUrl: string) {}
public static fromEnv(): PrismaClientFactory { public static fromEnv(): PrismaClientFactory {
const value = DATABASE_URL ?? ''; const value = env.PRIVATE_DATABASE_URL ?? "";
notStrictEqual(value, '', `"env.DATABASE_URL" must be defined`); notStrictEqual(value, "", `"env.PRIVATE_DATABASE_URL" must be defined`);
return new PrismaClientFactory(value); return new PrismaClientFactory(value);
} }

View file

@ -1,17 +1,19 @@
import adapter from '@sveltejs/adapter-node'; import adapter from "@sveltejs/adapter-node";
import preprocess from 'svelte-preprocess'; import preprocess from "svelte-preprocess";
/** @type {import('@sveltejs/kit').Config} */ /** @type {import('@sveltejs/kit').Config} */
const config = { const config = {
extensions: ['.svelte', '.md'], extensions: [".svelte", ".md"],
// Consult https://github.com/sveltejs/svelte-preprocess // Consult https://github.com/sveltejs/svelte-preprocess
// for more information about preprocessors // for more information about preprocessors
preprocess: [preprocess()], preprocess: [preprocess()],
kit: { kit: {
adapter: adapter({ split: false }), adapter: adapter({ split: false }),
env: { env: {
publicPrefix: 'PUBLIC_', publicPrefix: "PUBLIC_",
privatePrefix: "PRIVATE_",
}, },
}, },
}; };

View file

@ -1,12 +1,12 @@
import { sveltekit } from '@sveltejs/kit/vite'; import { sveltekit } from "@sveltejs/kit/vite";
/** @type {import('vite').UserConfig} */ /** @type {import('vite').UserConfig} */
const config = { const config = {
plugins: [sveltekit()], plugins: [sveltekit()],
resolve: { resolve: {
alias: { alias: {
$lib: '/src/lib', $lib: "/src/lib",
$srcPrisma: '/src/prisma', $srcPrisma: "/src/prisma",
}, },
}, },
}; };