Skip to content

Commit b122d86

Browse files
authored
fix: sourcemap default value should respect eggScriptConfig (#50)
1 parent 78c3284 commit b122d86

File tree

8 files changed

+219
-5
lines changed

8 files changed

+219
-5
lines changed

lib/command.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,6 @@ class Command extends BaseCommand {
5151
const pkgInfo = require(pkgFile);
5252
const eggInfo = pkgInfo.egg;
5353

54-
// read `egg.typescript` from package.json
55-
if (eggInfo && eggInfo.typescript) {
56-
argv.sourcemap = true;
57-
}
58-
5954
// read `eggScriptsConfig.require` from package.json
6055
const eggScriptsConfig = pkgInfo.eggScriptsConfig;
6156
let requireFiles = Array.isArray(argv.require) ? argv.require : [];
@@ -82,6 +77,11 @@ class Command extends BaseCommand {
8277
}
8378
}
8479

80+
// read `egg.typescript` from package.json
81+
if (eggInfo && eggInfo.typescript && typeof argv.sourcemap === 'undefined') {
82+
argv.sourcemap = true;
83+
}
84+
8585
delete argv.require;
8686
}
8787

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
'use strict';
2+
3+
exports.keys = '123456';
4+
5+
exports.logger = {
6+
level: 'WARN',
7+
consoleLevel: 'WARN',
8+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
'use strict';
2+
3+
module.exports = {
4+
// enable plugins
5+
6+
/**
7+
* app global Error Handling
8+
* @member {Object} Plugin#onerror
9+
* @property {Boolean} enable - `true` by default
10+
*/
11+
onerror: {
12+
enable: false,
13+
package: 'egg-onerror',
14+
path: 'xxxxx',
15+
},
16+
17+
/**
18+
* session
19+
* @member {Object} Plugin#session
20+
* @property {Boolean} enable - `true` by default
21+
* @since 1.0.0
22+
*/
23+
session: {
24+
enable: false,
25+
package: 'egg-session',
26+
path: 'xxxxx',
27+
},
28+
29+
/**
30+
* i18n
31+
* @member {Object} Plugin#i18n
32+
* @property {Boolean} enable - `true` by default
33+
* @since 1.0.0
34+
*/
35+
i18n: {
36+
enable: false,
37+
package: 'egg-i18n',
38+
path: 'xxxxx',
39+
},
40+
41+
/**
42+
* file and dir watcher
43+
* @member {Object} Plugin#watcher
44+
* @property {Boolean} enable - `true` by default
45+
* @since 1.0.0
46+
*/
47+
watcher: {
48+
enable: false,
49+
package: 'egg-watcher',
50+
path: 'xxxxx',
51+
},
52+
53+
/**
54+
* multipart
55+
* @member {Object} Plugin#multipart
56+
* @property {Boolean} enable - `true` by default
57+
* @since 1.0.0
58+
*/
59+
multipart: {
60+
enable: false,
61+
package: 'egg-multipart',
62+
path: 'xxxxx',
63+
},
64+
65+
/**
66+
* security middlewares and extends
67+
* @member {Object} Plugin#security
68+
* @property {Boolean} enable - `true` by default
69+
* @since 1.0.0
70+
*/
71+
security: {
72+
enable: false,
73+
package: 'egg-security',
74+
path: 'xxxxx',
75+
},
76+
77+
/**
78+
* local development helper
79+
* @member {Object} Plugin#development
80+
* @property {Boolean} enable - `true` by default
81+
* @since 1.0.0
82+
*/
83+
development: {
84+
enable: false,
85+
package: 'egg-development',
86+
path: 'xxxxx',
87+
},
88+
89+
/**
90+
* logger file rotator
91+
* @member {Object} Plugin#logrotator
92+
* @property {Boolean} enable - `true` by default
93+
* @since 1.0.0
94+
*/
95+
logrotator: {
96+
enable: false,
97+
package: 'egg-logrotator',
98+
path: 'xxxxx',
99+
},
100+
101+
/**
102+
* schedule tasks
103+
* @member {Object} Plugin#schedule
104+
* @property {Boolean} enable - `true` by default
105+
* @since 2.7.0
106+
*/
107+
schedule: {
108+
enable: false,
109+
package: 'egg-schedule',
110+
path: 'xxxxx',
111+
},
112+
113+
/**
114+
* `app/public` dir static serve
115+
* @member {Object} Plugin#static
116+
* @property {Boolean} enable - `true` by default
117+
* @since 1.0.0
118+
*/
119+
static: {
120+
enable: false,
121+
package: 'egg-static',
122+
path: 'xxxxx',
123+
},
124+
125+
/**
126+
* jsonp support for egg
127+
* @member {Function} Plugin#jsonp
128+
* @property {Boolean} enable - `true` by default
129+
* @since 1.0.0
130+
*/
131+
jsonp: {
132+
enable: false,
133+
package: 'egg-jsonp',
134+
path: 'xxxxx',
135+
},
136+
137+
/**
138+
* view plugin
139+
* @member {Function} Plugin#view
140+
* @property {Boolean} enable - `true` by default
141+
* @since 1.0.0
142+
*/
143+
view: {
144+
enable: false,
145+
package: 'egg-view',
146+
path: 'xxxxx',
147+
},
148+
};

test/fixtures/pkg-config-sourcemap/node_modules/custom-framework/index.js

+13
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/fixtures/pkg-config-sourcemap/node_modules/custom-framework/package.json

+7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/fixtures/pkg-config-sourcemap/node_modules/inject/index.js

+3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"name": "pkg-config-sourcemap",
3+
"version": "1.0.0",
4+
"egg": {
5+
"typescript": true,
6+
"framework": "custom-framework"
7+
},
8+
"eggScriptsConfig": {
9+
"sourcemap": false
10+
}
11+
}

test/start.test.js

+24
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,30 @@ describe('test/start.test.js', () => {
6969
});
7070
});
7171

72+
describe('sourcemap default value should respect eggScriptConfig', () => {
73+
let app;
74+
let fixturePath;
75+
76+
before(function* () {
77+
fixturePath = path.join(__dirname, 'fixtures/pkg-config-sourcemap');
78+
yield utils.cleanup(fixturePath);
79+
});
80+
81+
after(function* () {
82+
app.proc.kill('SIGTERM');
83+
yield utils.cleanup(fixturePath);
84+
});
85+
86+
it('should not enable sourcemap-support', function* () {
87+
app = coffee.fork(eggBin, [ 'start', '--workers=1' ], { cwd: fixturePath });
88+
app.debug();
89+
app.expect('code', 0);
90+
91+
yield sleep(waitTime);
92+
assert(!/--require .*\/node_modules\/.*source-map-support/.test(app.stdout));
93+
});
94+
});
95+
7296
describe('full path', () => {
7397
let app;
7498

0 commit comments

Comments
 (0)