import process from "node:process"; // Server-only config. The .server.ts suffix prevents Vite from bundling // this file into the client — values here never reach the browser. // // On Cloudflare Workers, env binds at REQUEST time. Module-scope reads // (e.g. `const x = process.env.X`) resolve to undefined — always read // process.env INSIDE a function or handler. // // When to use which env-access pattern: // - .server.ts module (this file): server-only helpers reused across // handlers. Wrap reads in a function so they run per-request. // - inline process.env inside a createServerFn handler: one-off reads // not reused elsewhere. // - import.meta.env.VITE_FOO: PUBLIC config readable from both client // and server (analytics IDs, public URLs). Define in .env with the // VITE_ prefix. Never put secrets here — they ship to the browser. export function getServerConfig() { return { nodeEnv: process.env.NODE_ENV, // Add server-only values here, e.g.: // databaseUrl: process.env.DATABASE_URL, // stripeSecretKey: process.env.STRIPE_SECRET_KEY, }; }