{"version":3,"file":"env.mjs","sources":["../../../../src/node/core/env.ts"],"sourcesContent":["import path from 'node:path';\nimport dotenv from 'dotenv';\nimport { pathExists } from './files';\n\n/**\n * This is the base of _any_ env set for a strapi project,\n * to build a strapi admin panel we require these env variables.\n */\ninterface DefaultEnv {\n  ADMIN_PATH: string;\n  STRAPI_ADMIN_BACKEND_URL: string;\n  STRAPI_TELEMETRY_DISABLED: string;\n  STRAPI_AI_URL: string;\n  STRAPI_ANALYTICS_URL?: string;\n}\n\n/**\n * @internal\n *\n * @description Load the .env file if it exists\n */\nconst loadEnv = async (cwd: string) => {\n  const pathToEnv = path.resolve(cwd, '.env');\n\n  if (await pathExists(pathToEnv)) {\n    dotenv.config({ path: pathToEnv });\n  }\n};\n\n/**\n * @internal\n *\n * @description Get all the environment variables that start with `STRAPI_ADMIN_`\n */\nconst getStrapiAdminEnvVars = (defaultEnv: DefaultEnv): Record<string, string> => {\n  return Object.keys(process.env)\n    .filter((key) => key.toUpperCase().startsWith('STRAPI_ADMIN_'))\n    .reduce(\n      (acc, key) => {\n        acc[key] = process.env[key] as string;\n\n        return acc;\n      },\n      defaultEnv as unknown as Record<string, string>\n    );\n};\n\nexport { getStrapiAdminEnvVars, loadEnv };\n"],"names":["loadEnv","cwd","pathToEnv","path","resolve","pathExists","dotenv","config","getStrapiAdminEnvVars","defaultEnv","Object","keys","process","env","filter","key","toUpperCase","startsWith","reduce","acc"],"mappings":";;;;AAgBA;;;;IAKA,MAAMA,UAAU,OAAOC,GAAAA,GAAAA;AACrB,IAAA,MAAMC,SAAAA,GAAYC,IAAAA,CAAKC,OAAO,CAACH,GAAAA,EAAK,MAAA,CAAA;IAEpC,IAAI,MAAMI,WAAWH,SAAAA,CAAAA,EAAY;AAC/BI,QAAAA,MAAAA,CAAOC,MAAM,CAAC;YAAEJ,IAAAA,EAAMD;AAAU,SAAA,CAAA;AAClC,IAAA;AACF;AAEA;;;;IAKA,MAAMM,wBAAwB,CAACC,UAAAA,GAAAA;AAC7B,IAAA,OAAOC,OAAOC,IAAI,CAACC,QAAQC,GAAG,CAAA,CAC3BC,MAAM,CAAC,CAACC,MAAQA,GAAAA,CAAIC,WAAW,GAAGC,UAAU,CAAC,kBAC7CC,MAAM,CACL,CAACC,GAAAA,EAAKJ,GAAAA,GAAAA;AACJI,QAAAA,GAAG,CAACJ,GAAAA,CAAI,GAAGH,OAAAA,CAAQC,GAAG,CAACE,GAAAA,CAAI;QAE3B,OAAOI,GAAAA;IACT,CAAA,EACAV,UAAAA,CAAAA;AAEN;;;;"}