Skip to content

Commit e633b0d

Browse files
authored
fix(build): transpile source code properly against target envs (#3132)
1 parent 88abf0d commit e633b0d

File tree

5 files changed

+48
-282
lines changed

5 files changed

+48
-282
lines changed

.browserslistrc

+19
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,23 @@
1+
[isomorphic-production]
12
> 1%
23
last 2 versions
34
Firefox ESR
45
not dead
6+
node 12.20.0
7+
8+
[isomorphic-development]
9+
last 1 Chrome versions
10+
last 1 FireFox versions
11+
last 1 Safari versions
12+
node 20
13+
14+
[browser-production]
15+
> 1%
16+
last 2 versions
17+
Firefox ESR
18+
not dead
19+
20+
[browser-development]
21+
last 1 Chrome versions
22+
last 1 FireFox versions
23+
last 1 Safari versions

babel.config.js

+26-39
Original file line numberDiff line numberDiff line change
@@ -1,100 +1,87 @@
1-
/**
2-
* This is override for https://github.com/lodash/babel-plugin-lodash/issues/259.
3-
* babel-plugin-lodash is using deprecated babel API, which causes generation of many
4-
* console.trace calls.
5-
*/
6-
7-
const consoleTrace = console.trace.bind(console);
8-
console.trace = (message, ...optionalParams) => {
9-
if (
10-
typeof message === 'string' &&
11-
message.startsWith('`isModuleDeclaration` has been deprecated')
12-
) {
13-
return undefined; // noop
14-
}
15-
16-
return consoleTrace(message, ...optionalParams);
17-
};
18-
191
module.exports = {
202
env: {
213
commonjs: {
4+
browserslistEnv: 'isomorphic-production',
225
presets: [
236
[
247
'@babel/preset-env',
258
{
269
debug: false,
2710
modules: 'commonjs',
28-
corejs: { version: 3 },
11+
loose: true,
2912
useBuiltIns: false,
30-
targets: {
31-
node: '12.20.0',
32-
},
3313
forceAllTransforms: false,
34-
ignoreBrowserslistConfig: true,
14+
ignoreBrowserslistConfig: false,
3515
},
3616
],
3717
],
3818
plugins: [
3919
[
40-
'@babel/plugin-transform-modules-commonjs',
20+
'@babel/plugin-transform-runtime',
4121
{
42-
loose: true,
22+
corejs: { version: 3, proposals: false },
23+
absoluteRuntime: false,
24+
helpers: true,
25+
regenerator: false,
26+
version: '^7.22.15',
4327
},
4428
],
45-
'@babel/proposal-class-properties',
46-
'@babel/proposal-object-rest-spread',
4729
],
4830
},
4931
es: {
32+
browserslistEnv: 'isomorphic-production',
5033
presets: [
5134
[
5235
'@babel/preset-env',
5336
{
5437
debug: false,
5538
modules: false,
56-
corejs: { version: 3 },
5739
useBuiltIns: false,
40+
forceAllTransforms: false,
41+
ignoreBrowserslistConfig: false,
5842
},
5943
],
6044
],
6145
plugins: [
6246
[
6347
'@babel/plugin-transform-runtime',
6448
{
49+
corejs: { version: 3, proposals: false },
6550
absoluteRuntime: false,
66-
corejs: 3,
67-
version: '^7.11.2',
51+
helpers: true,
52+
regenerator: false,
53+
useESModules: true,
54+
version: '^7.22.15',
6855
},
6956
],
70-
'@babel/proposal-class-properties',
71-
'@babel/proposal-object-rest-spread',
72-
'lodash',
7357
],
7458
},
7559
browser: {
60+
browserslistEnv: 'browser-production',
7661
sourceType: 'unambiguous', // https://github.com/webpack/webpack/issues/4039#issuecomment-419284940
7762
presets: [
7863
[
7964
'@babel/preset-env',
8065
{
8166
debug: false,
82-
corejs: { version: 3 },
67+
modules: 'auto',
8368
useBuiltIns: false,
69+
forceAllTransforms: false,
70+
ignoreBrowserslistConfig: false,
8471
},
8572
],
8673
],
8774
plugins: [
8875
[
8976
'@babel/plugin-transform-runtime',
9077
{
91-
corejs: 3,
92-
version: '^7.11.2',
78+
corejs: { version: 3, proposals: false },
79+
absoluteRuntime: false,
80+
helpers: true,
81+
regenerator: false,
82+
version: '^7.22.15',
9383
},
9484
],
95-
'@babel/proposal-class-properties',
96-
'@babel/proposal-object-rest-spread',
97-
'lodash',
9885
],
9986
},
10087
},

package-lock.json

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

0 commit comments

Comments
 (0)