-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathenv.ts
More file actions
34 lines (26 loc) · 1.01 KB
/
env.ts
File metadata and controls
34 lines (26 loc) · 1.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import { readFileSync } from "fs";
import TODO from './devKit/TODO';
import dotenv from 'dotenv';
// const env = JSON.parse(process.env.WEBSPEED_ENV as string) || JSON.parse(readFileSync('./.env.local').toString()) || JSON.parse(readFileSync('./.env').toString());
const env = {} as Record<string, any>;
if (process.env.WEBSPEED_ENV && typeof process.env.WEBSPEED_ENV == 'string') {
try {
const _env = JSON.parse(process.env.WEBSPEED_ENV) as Record<string, any>;
Object.keys(_env).forEach((key: string) => {
env[key] = _env[key];
})
} catch (error) {
console.error('no webspeed-specific environment passed to current process');
}
}
TODO('Also serialize env vars from .env files', __filename);
const envOptions = {
...env,
...process.env,
WEBSPEED_ENV: null
} as Record<string, any>;
delete envOptions.WEBSPEED_ENV;
envOptions.WEBSPEED_ENV = null;
delete process.env.WEBSPEED_ENV;
process.env.WEBSPEED_ENV = JSON.stringify(envOptions);
export default envOptions;