UNPKG

create-hokage-js-app

Version:

🔥 Best CLI tool to create a MERN stack template. Quick, clean, and customizable.

43 lines (38 loc) • 1.03 kB
interface IEnvRule { key: string; required?: boolean; default?: string; } export const validateEnv = (): string[] => { const requiredEnvs: IEnvRule[] = [ { key: "PORT", default: "5000" }, { key: "MONGO_URI", required: true }, { key: "JWT_SECRET", required: true }, { key: "JWT_REFRESH_SECRET", required: true }, { key: "FRONTEND_URL", required: true }, { key: "NODE_ENV", default: "development" }, ]; const missingEnvs: string[] = []; const warnings: string[] = []; requiredEnvs.forEach((env: IEnvRule) => { if (!process.env[env.key]) { if (env.required) { missingEnvs.push(env.key); } else if (env.default) { process.env[env.key] = env.default; warnings.push( `${env.key} not set, using default value: ${env.default}` ); } } }); if (missingEnvs.length > 0) { throw new Error( `Missing required environment variables: ${missingEnvs.join( ", " )}\n` + `Please check your .env file and ensure all required variables are set.` ); } return warnings; };