phase 2 and 3

This commit is contained in:
jason
2026-04-21 08:56:51 -05:00
parent b98837a72c
commit d79aaf6ef8
42 changed files with 4962 additions and 19 deletions
+18 -1
View File
@@ -18,7 +18,24 @@ const EnvSchema = z.object({
export type Env = z.infer<typeof EnvSchema>;
function load(): Env {
const parsed = EnvSchema.safeParse(process.env);
// During `next build` page-data collection the route modules are evaluated
// without real secrets — fall back to safe placeholders so the build can
// emit the module graph. Real runtime still re-validates at request time.
const isBuildPhase =
process.env.NEXT_PHASE === "phase-production-build" ||
process.env.NEXT_BUILD === "true";
const source = isBuildPhase
? {
...process.env,
DATABASE_URL: process.env.DATABASE_URL ?? "file:./data/build-placeholder.db",
APP_SECRET:
process.env.APP_SECRET ??
"build-time-placeholder-secret-please-override-at-runtime",
}
: process.env;
const parsed = EnvSchema.safeParse(source);
if (!parsed.success) {
const issues = parsed.error.issues
.map((i) => ` - ${i.path.join(".")}: ${i.message}`)