UNPKG

studiocms

Version:

Astro Native CMS for AstroDB. Built from the ground up by the Astro community.

40 lines (39 loc) 1.11 kB
import { log } from "@withstudiocms/effect/clack"; import chalk from "chalk"; import { Effect, runEffect } from "../../effect.js"; const checkRequiredEnvVars = async (envVars) => { const missingVars = []; for (const varName of envVars) { if (!process.env[varName]) { missingVars.push(varName); } } if (missingVars.length > 0) { await runEffect( log.error( `${chalk.red.bold("Missing environment variables:")} ${missingVars.map((v) => chalk.red(v)).join(", ")}` ) ); process.exit(1); } }; const checkRequiredEnvVarsEffect = Effect.fn(function* (envVars) { const missingVars = []; yield* Effect.forEach(envVars, (varName) => { if (!process.env[varName]) { missingVars.push(varName); } return Effect.succeed(true); }); if (missingVars.length > 0) { yield* log.error( `${chalk.red.bold("Missing environment variables:")} ${missingVars.map((v) => chalk.red(v)).join(", ")}` ); return yield* Effect.try(() => process.exit(1)); } return void 0; }); export { checkRequiredEnvVars, checkRequiredEnvVarsEffect };