|
1 | 1 | /* eslint-disable no-process-env */ |
2 | | -import { join, resolve } from 'path'; |
| 2 | + |
| 3 | +import path from 'path'; |
3 | 4 |
|
4 | 5 | import * as dotenv from 'dotenv'; |
5 | 6 |
|
6 | | -export const ServerSecretsPath = resolve( |
7 | | - '/', |
8 | | - 'mnt', |
9 | | - 'secrets', |
10 | | - `onekey-eks-dashboard-${process.env.NODE_ENV}.json` |
11 | | -); |
12 | | -export const ServerConfigPath = resolve('/', 'mnt', 'config', 'config.json'); |
13 | | - |
14 | | -function loadJsonConfigFile(file: string, errorMessage: string) { |
15 | | - try { |
16 | | - dotenv.populate(process.env, require(file)); |
17 | | - } catch (error) { |
18 | | - console.log(errorMessage, file); |
19 | | - } |
| 7 | +import { NODE_ENV } from './types/config.dto'; |
| 8 | + |
| 9 | +// ============================================================================ |
| 10 | +const PROJECT_NAME = ''; // FIXME: set by your project |
| 11 | +if (!PROJECT_NAME) { |
| 12 | + console.log('Please set your own PROJECT_NAME and delete this console'); |
| 13 | +} |
| 14 | + |
| 15 | +// first load config as default, second load config will not cover prev load config |
| 16 | +if ( |
| 17 | + [NODE_ENV.LOCAL, NODE_ENV.JEST].includes(process.env.NODE_ENV as NODE_ENV) |
| 18 | +) { |
| 19 | + // local load config |
| 20 | + dotenv.populate( |
| 21 | + process.env, |
| 22 | + require(path.resolve(__dirname, '..', 'config.json')) |
| 23 | + ); |
| 24 | + |
| 25 | + // FIXME: deprecated, suggest use config.json only |
| 26 | + dotenv.config({ |
| 27 | + path: path.join(__dirname, '..', '.env'), |
| 28 | + }); |
| 29 | +} else { |
| 30 | + // online load config |
| 31 | + dotenv.populate( |
| 32 | + process.env, |
| 33 | + require(path.resolve('/', 'mnt', 'config', 'config.json')) |
| 34 | + ); |
| 35 | + |
| 36 | + dotenv.populate( |
| 37 | + process.env, |
| 38 | + require(path.resolve( |
| 39 | + '/', |
| 40 | + 'mnt', |
| 41 | + 'secrets', |
| 42 | + `onekey-eks-${PROJECT_NAME}-${process.env.NODE_ENV}.json` |
| 43 | + )) |
| 44 | + ); |
20 | 45 | } |
21 | 46 |
|
22 | | -/* |
23 | | - 加载线上配置文件 |
24 | | -*/ |
25 | | -loadJsonConfigFile(ServerConfigPath, 'No config found path:'); |
26 | | -loadJsonConfigFile(ServerSecretsPath, 'No secrets found path:'); |
27 | | -loadJsonConfigFile( |
28 | | - join(__dirname, '..', '.config.json'), |
29 | | - 'No local json config found' |
30 | | -); |
31 | | - |
32 | | -/* |
33 | | - 加载本地配置文件,注意.config.json和.env只需要一个即可,两个都存在的话,.config.json会覆盖.env |
34 | | -*/ |
35 | | -dotenv.config({ |
36 | | - path: join(__dirname, '..', '.env'), |
37 | | -}); |
| 47 | +// ============================================================================ |
| 48 | +BigInt.prototype['toJSON'] = function () { |
| 49 | + return this.toString(); |
| 50 | +}; |
0 commit comments