INNER CODE UNIT · TypeScript
validateConfig
paralect/ship · deploy/digital-ocean-apps/pulumi/src/utils/index.ts:12
export const validateConfig = <T>(schema: ZodSchema): T => {
const parsedPulumiStackValue = pulumiStackSchema.safeParse(pulumiStack);
if (!parsedPulumiStackValue.success) {
console.error(`❌ Invalid pulumi stack name: Expected 'staging' | 'production', received '${pulumiStack}'`);
console.error('💡 Remove current stack via the following command:');
console.error(` pulumi stack rm ${pulumiStack}`);
process.exit(1);
}
process.env.APP_ENV = pulumiStack;
const parsed = schema.safeParse(process.env);
if (!parsed.success) {
console.error('❌ Invalid environment variables:', parsed.error.flatten().fieldErrors);