codalware-auth
Version:
Complete authentication system with enterprise security, attack protection, team workspaces, waitlist, billing, UI components, 2FA, and account recovery - production-ready in 5 minutes. Enhanced CLI with verification, rollback, and App Router scaffolding.
40 lines (35 loc) • 1.69 kB
JavaScript
// Try to load dotenv if available (do not crash if it's missing)
(async () => {
try {
// Dynamically import dotenv for compatibility with ES modules
const dotenv = await import('dotenv');
dotenv.config({ path: `.env.${process.env.NODE_ENV || 'development'}.local` });
} catch {
// dotenv not installed or failed to load — proceed using process.env
}
})();
// Centralized environment exports. Avoid reading process.env at module-eval
// time for values that may be mutated or relied upon by hosting platforms
// during different lifecycle phases (build vs runtime). Provide lazy getters
// so callers get live values when they access them.
const env = process.env;
function getEnv(key, fallback) {
return process.env[key] ?? fallback;
}
module.exports = {
get NODE_ENV() { return getEnv('NODE_ENV', 'development'); },
get DATABASE_URL() { return getEnv('DATABASE_URL', ''); },
get GOOGLE_PASS() { return getEnv('GOOGLE_PASS'); },
get GMAIL_ACCOUNT_EMAIL() { return getEnv('GMAIL_ACCOUNT_EMAIL'); },
get EMAIL_SERVER_HOST() { return getEnv('EMAIL_SERVER_HOST'); },
get EMAIL_SERVER_PORT() { return getEnv('EMAIL_SERVER_PORT'); },
get EMAIL_SERVER_USER() { return getEnv('EMAIL_SERVER_USER'); },
get EMAIL_SERVER_PASSWORD() { return getEnv('EMAIL_SERVER_PASSWORD'); },
get ADMIN_EMAIL() { return getEnv('ADMIN_EMAIL'); },
get ADMIN_PASSWORD() { return getEnv('ADMIN_PASSWORD'); },
get ADMIN_NAME() { return getEnv('ADMIN_NAME'); },
get SKIP_AUTHCORE_WIZARD() { return getEnv('SKIP_AUTHCORE_WIZARD') === 'true' || getEnv('SKIP_AUTHCORE_WIZARD') === '1'; },
env,
// Helper to retrieve raw env values on demand
getEnv,
};