1 | import { existsSync, readFileSync } from 'fs'
|
2 | import { DotenvParseOutput, parse as dotenvParse } from 'dotenv'
|
3 |
|
4 | export function parse(path: string): DotenvParseOutput {
|
5 |
|
6 | if (!existsSync(path)) return {}
|
7 |
|
8 | let data: DotenvParseOutput
|
9 |
|
10 | data = dotenvParse(readFileSync(path))
|
11 |
|
12 | if (process.env) {
|
13 | Object.entries(data).forEach(([key, value]) => {
|
14 | data[key] = process.env[key] || value
|
15 | })
|
16 | }
|
17 |
|
18 | return data
|
19 |
|
20 | }
|