| I can see this. I learned from a friend to use Zod to check for process.env. I refined it a bit and got: ``` const EnvSchema = z.object({ NODE_ENV: z.enum(['development', 'production', 'staging']),
DATABASE_URL: z.string(),
POSTHOG_KEY: z.string(),
});export type AlertDownEnv = z.infer<typeof EnvSchema>; export function getEnvironments(env: Record<string, string>): AlertDownEnv {
return EnvSchema.parse(env);
} ``` Then you can: ``` const env = getEnvironments(process.env); ``` `env` will be fully typed! Definitely, I need to do some improvements in my frontend logic! |
This could be implemented with `??`, something like: `process.env.NODE_ENV ?? deferred_error(/temporary fallback/'', 'NODE_ENV not set')`, but is probably best done via a dedicated wrapper.