UNPKG

life

Version:

Life.js is the first fullstack framework to build agentic web applications. It is minimal, extensible, and typesafe. Well, everything you love.

1 lines 3.04 kB
{"version":3,"sources":["../../cli/utils/load-env-vars.ts","../../cli/index.ts"],"sourcesContent":["import { existsSync, readdirSync } from \"node:fs\";\nimport { dirname, join } from \"node:path\";\nimport { config } from \"dotenv\";\n\n// Common environment names\nconst ENV_NAMES = [\"development\", \"production\", \"test\", \"staging\", \"preview\", \"ci\"];\n\nconst ENV_FILE_PATTERNS = [\n /^\\.env$/, // .env\n /^\\.env\\.local$/, // .env.local\n new RegExp(`^\\\\.env\\\\.(${ENV_NAMES.join(\"|\")})$`), // .env.development, .env.production, etc.\n new RegExp(`^\\\\.env\\\\.(${ENV_NAMES.join(\"|\")})\\\\.local$`), // .env.development.local, etc.\n];\n\n/**\n * Load environment variables from .env files in current and parent directories.\n * Supports: .env, .env.local, .env.{environment}, .env.{environment}.local\n */\nexport function loadEnvVars(projectDirectory: string = process.cwd()): void {\n const dirs = [\n dirname(dirname(projectDirectory)), // grandparent\n dirname(projectDirectory), // parent\n projectDirectory, // current\n ];\n\n const envFiles: string[] = [];\n\n for (const dir of dirs) {\n if (!existsSync(dir)) continue;\n\n try {\n const files = readdirSync(dir)\n .filter((file) => ENV_FILE_PATTERNS.some((pattern) => pattern.test(file)))\n .sort() // alphabetical order ensures .env before .env.local\n .map((file) => join(dir, file));\n\n envFiles.push(...files);\n } catch {\n // Skip directories we can't read\n }\n }\n\n if (envFiles.length > 0) config({ path: envFiles, override: true, quiet: true });\n}\n","#!/usr/bin/env node --enable-source-maps\n\n// Load env vars from current working directory\n// This ensures env vars are available when CLI modules are loaded\nimport { loadEnvVars } from \"./utils/load-env-vars\";\n\nloadEnvVars(process.cwd());\n\n// Now import and run the CLI\n// Using dynamic import ensures loadEnvVars runs before CLI code is loaded\nimport(\"./run\").catch((error) => {\n console.error(\"Failed to start CLI:\", error);\n process.exit(1);\n});\n"],"mappings":";;;;;;AAAA,SAAS,YAAY,mBAAmB;AACxC,SAAS,SAAS,YAAY;AAC9B,SAAS,cAAc;AAGvB,IAAM,YAAY,CAAC,eAAe,cAAc,QAAQ,WAAW,WAAW,IAAI;AAElF,IAAM,oBAAoB;AAAA,EACxB;AAAA;AAAA,EACA;AAAA;AAAA,EACA,IAAI,OAAO,cAAc,UAAU,KAAK,GAAG,CAAC,IAAI;AAAA;AAAA,EAChD,IAAI,OAAO,cAAc,UAAU,KAAK,GAAG,CAAC,YAAY;AAAA;AAC1D;AAMO,SAAS,YAAY,mBAA2B,QAAQ,IAAI,GAAS;AAC1E,QAAM,OAAO;AAAA,IACX,QAAQ,QAAQ,gBAAgB,CAAC;AAAA;AAAA,IACjC,QAAQ,gBAAgB;AAAA;AAAA,IACxB;AAAA;AAAA,EACF;AAEA,QAAM,WAAqB,CAAC;AAE5B,aAAW,OAAO,MAAM;AACtB,QAAI,CAAC,WAAW,GAAG,EAAG;AAEtB,QAAI;AACF,YAAM,QAAQ,YAAY,GAAG,EAC1B,OAAO,CAAC,SAAS,kBAAkB,KAAK,CAAC,YAAY,QAAQ,KAAK,IAAI,CAAC,CAAC,EACxE,KAAK,EACL,IAAI,CAAC,SAAS,KAAK,KAAK,IAAI,CAAC;AAEhC,eAAS,KAAK,GAAG,KAAK;AAAA,IACxB,QAAQ;AAAA,IAER;AAAA,EACF;AAEA,MAAI,SAAS,SAAS,EAAG,QAAO,EAAE,MAAM,UAAU,UAAU,MAAM,OAAO,KAAK,CAAC;AACjF;AAzBgB;;;ACZhB,YAAY,QAAQ,IAAI,CAAC;AAIzB,OAAO,qBAAO,EAAE,MAAM,CAAC,UAAU;AAC/B,UAAQ,MAAM,wBAAwB,KAAK;AAC3C,UAAQ,KAAK,CAAC;AAChB,CAAC;","names":[]}