1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 | const path = require('path'),
|
13 | { getConfig } = require('./lib');
|
14 |
|
15 | const MODULE_ROOT = path.join(__dirname, '../');
|
16 | const debug_i = require('./lib/debug-logger')('index');
|
17 |
|
18 | let utils = Object.create(null);
|
19 | let _isConfigFrozen = (() => {
|
20 |
|
21 | })();
|
22 |
|
23 |
|
24 |
|
25 |
|
26 |
|
27 | utils.get = (options) => {
|
28 | let config = getConfig(null, options);
|
29 |
|
30 | config[Symbol.for('utils')] = utils;
|
31 | debug_i('Symbol.for(utils)');
|
32 | debug_i(`moduleRoot: ${config('#moduleRoot')}`);
|
33 |
|
34 | return config;
|
35 | };
|
36 |
|
37 |
|
38 |
|
39 |
|
40 |
|
41 | utils.use = (options) => {
|
42 |
|
43 | if (_isConfigFrozen) {
|
44 | debug_i.error('module is already initiated!')
|
45 | }
|
46 |
|
47 | let config = utils.get(options);
|
48 |
|
49 |
|
50 | if (module.loaded) {
|
51 | require.cache[module.filename] = config;
|
52 | }
|
53 | else {
|
54 | module.exports = config;
|
55 | }
|
56 |
|
57 | return config;
|
58 | };
|
59 |
|
60 | utils.moduleRoot = () => {
|
61 | return MODULE_ROOT;
|
62 | }
|
63 |
|
64 |
|
65 | Object.freeze(utils);
|
66 |
|
67 |
|
68 | utils.use({
|
69 | preventDefault: !!process.env.CONFIG_PREVENT_DEFAULT
|
70 | }); |
\ | No newline at end of file |