Skip to content

Commit 947292c

Browse files
fengmk2atian25
authored andcommitted
fix: ignore console instance on config meta (#211)
1 parent 4e39aee commit 947292c

4 files changed

Lines changed: 26 additions & 19 deletions

File tree

.travis.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ language: node_js
77
node_js:
88
- '8'
99
- '10'
10+
- '12'
1011
install:
1112
- npm i npminstall && npminstall
1213
script:

lib/loader/mixin/config.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const debug = require('debug')('egg-core:config');
44
const path = require('path');
55
const extend = require('extend2');
66
const assert = require('assert');
7-
7+
const { Console } = require('console');
88

99
const SET_CONFIG_META = Symbol('Loader#setConfigMeta');
1010

@@ -104,6 +104,11 @@ module.exports = {
104104
function setConfig(obj, filepath) {
105105
for (const key of Object.keys(obj)) {
106106
const val = obj[key];
107+
// ignore console
108+
if (key === 'console' && val && typeof val.Console === 'function' && val.Console === Console) {
109+
obj[key] = filepath;
110+
continue;
111+
}
107112
if (val && Object.getPrototypeOf(val) === Object.prototype && Object.keys(val).length > 0) {
108113
setConfig(val, filepath);
109114
continue;

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
"os": {
3636
"travis": "linux, osx, windows"
3737
},
38-
"version": "8, 10",
38+
"version": "8, 10, 12",
3939
"afterScript": "after_success:\n - npminstall codecov && codecov --disable=gcov -f .nyc_output/*.json",
4040
"license": {
4141
"year": 2016

test/loader/mixin/load_config.test.js

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -124,24 +124,25 @@ describe('test/loader/mixin/load_config.test.js', () => {
124124
app.loader.loadPlugin();
125125
app.loader.loadConfig();
126126
const configMeta = app.loader.configMeta;
127-
assert(configMeta.console === utils.getFilepath('configmeta/config/config.js'));
128-
assert(configMeta.array === utils.getFilepath('configmeta/config/config.js'));
129-
assert(configMeta.buffer === utils.getFilepath('configmeta/config/config.js'));
130-
assert(configMeta.ok === utils.getFilepath('configmeta/config/config.js'));
131-
assert(configMeta.f === utils.getFilepath('configmeta/config/config.js'));
132-
assert(configMeta.empty === utils.getFilepath('configmeta/config/config.js'));
133-
assert(configMeta.zero === utils.getFilepath('configmeta/config/config.js'));
134-
assert(configMeta.number === utils.getFilepath('configmeta/config/config.js'));
135-
assert(configMeta.no === utils.getFilepath('configmeta/config/config.js'));
136-
assert(configMeta.date === utils.getFilepath('configmeta/config/config.js'));
137-
assert(configMeta.ooooo === utils.getFilepath('configmeta/config/config.js'));
138-
139-
assert(configMeta.urllib.keepAlive === utils.getFilepath('configmeta/config/config.js'));
127+
const configPath = utils.getFilepath('configmeta/config/config.js');
128+
assert(configMeta.console === configPath);
129+
assert(configMeta.array === configPath);
130+
assert(configMeta.buffer === configPath);
131+
assert(configMeta.ok === configPath);
132+
assert(configMeta.f === configPath);
133+
assert(configMeta.empty === configPath);
134+
assert(configMeta.zero === configPath);
135+
assert(configMeta.number === configPath);
136+
assert(configMeta.no === configPath);
137+
assert(configMeta.date === configPath);
138+
assert(configMeta.ooooo === configPath);
139+
140+
assert(configMeta.urllib.keepAlive === configPath);
140141
assert(configMeta.urllib.timeout === utils.getFilepath('egg/config/config.default.js'));
141-
assert(configMeta.urllib.foo === utils.getFilepath('configmeta/config/config.js'));
142-
assert(configMeta.urllib.n === utils.getFilepath('configmeta/config/config.js'));
143-
assert(configMeta.urllib.dd === utils.getFilepath('configmeta/config/config.js'));
144-
assert(configMeta.urllib.httpclient === utils.getFilepath('configmeta/config/config.js'));
142+
assert(configMeta.urllib.foo === configPath);
143+
assert(configMeta.urllib.n === configPath);
144+
assert(configMeta.urllib.dd === configPath);
145+
assert(configMeta.urllib.httpclient === configPath);
145146
// undefined will be ignore
146147
assert(!configMeta.urllib.bar);
147148
});

0 commit comments

Comments
 (0)