hypertune
Version:
[Hypertune](https://www.hypertune.com/) is the most flexible platform for feature flags, A/B testing, analytics and app configuration. Built with full end-to-end type-safety, Git-style version control and local, synchronous, in-memory flag evaluation. Opt
28 lines (23 loc) • 669 B
text/typescript
import fs from "node:fs";
import * as dotenv from "dotenv";
import path from "node:path";
function loadEnvironmentVariables(): void {
const envName = process.env.NODE_ENV
? process.env.NODE_ENV.toLowerCase()
: "development";
const fileNames = [
`.env.${envName}.local`,
...(envName !== "test" ? [".env.local"] : []),
`.env.${envName}`,
".env",
];
for (const fileName of fileNames) {
if (fs.existsSync(fileName)) {
dotenv.config({
path: path.resolve(process.cwd(), fileName),
override: false, // Don't override values that have already been set
});
}
}
}
export default loadEnvironmentVariables;