{"version":3,"sources":["../../../src/envVariables/loadEnvFile.ts"],"sourcesContent":["import dotenv from 'dotenv';\nimport { existsSync } from 'fs';\n\nconst DEFAULT_ENV = process.env.NODE_ENV ?? 'development';\n\nexport type LoadEnvFileOptions = {\n  env?: string;\n  envFile?: string;\n};\n\nexport const getEnvFilePath = (\n  env: string = process.env.NODE_ENV ?? 'development',\n  envFile?: string\n): string | undefined => {\n  const envFiles = envFile\n    ? [envFile]\n    : [`.env.${env}.local`, `.env.${env}`, '.env.local', '.env'];\n\n  return envFiles.find(existsSync); // Returns the first existing env file\n};\n\nexport const loadEnvFile = (options?: Partial<LoadEnvFileOptions>) => {\n  const env = options?.env ?? DEFAULT_ENV;\n\n  const envFiles = options?.envFile\n    ? [options.envFile]\n    : [`.env.${env}.local`, `.env.${env}`, '.env.local', '.env'];\n\n  const result = {};\n\n  dotenv.config({\n    path: envFiles,\n    processEnv: result,\n  });\n\n  return result; // Return the parsed env object\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAmB;AACnB,gBAA2B;AAE3B,MAAM,cAAc,QAAQ,IAAI,YAAY;AAOrC,MAAM,iBAAiB,CAC5B,MAAc,QAAQ,IAAI,YAAY,eACtC,YACuB;AACvB,QAAM,WAAW,UACb,CAAC,OAAO,IACR,CAAC,QAAQ,GAAG,UAAU,QAAQ,GAAG,IAAI,cAAc,MAAM;AAE7D,SAAO,SAAS,KAAK,oBAAU;AACjC;AAEO,MAAM,cAAc,CAAC,YAA0C;AACpE,QAAM,MAAM,SAAS,OAAO;AAE5B,QAAM,WAAW,SAAS,UACtB,CAAC,QAAQ,OAAO,IAChB,CAAC,QAAQ,GAAG,UAAU,QAAQ,GAAG,IAAI,cAAc,MAAM;AAE7D,QAAM,SAAS,CAAC;AAEhB,gBAAAA,QAAO,OAAO;AAAA,IACZ,MAAM;AAAA,IACN,YAAY;AAAA,EACd,CAAC;AAED,SAAO;AACT;","names":["dotenv"]}