forked from Conflux-Chain/sirius-eth
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig-overrides.js
113 lines (111 loc) · 2.87 KB
/
config-overrides.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
const path = require('path');
const SpeedMeasurePlugin = require('speed-measure-webpack-plugin');
const smp = new SpeedMeasurePlugin({
disable: !process.env.MEASURE,
outputFormat: 'humanVerbose',
loaderTopFiles: 10,
});
module.exports = function (config, mode) {
if (mode === 'production') {
return smp.wrap({
...config,
optimization: {
...config.optimization,
splitChunks: {
chunks: 'all',
minSize: 1,
maxSize: 0,
maxAsyncRequests: 30,
maxInitialRequests: 3,
cacheGroups: {
vendors: {
name: `chunk-vendors`,
test: /[\\/]node_modules[\\/]/,
priority: -10,
chunks: 'initial',
},
common: {
name: `chunk-common`,
minChunks: 2,
priority: -20,
chunks: 'initial',
reuseExistingChunk: true,
},
},
},
minimizer: config.optimization.minimizer.map(minimizerConfig => {
if (
!minimizerConfig ||
!minimizerConfig.options ||
!minimizerConfig.options.parallel
)
return minimizerConfig;
minimizerConfig.options.parallel = 1;
return minimizerConfig;
}),
},
resolve: {
...config.resolve,
alias: {
...config.resolve.alias,
'js-conflux-sdk': path.resolve(
process.cwd(),
'node_modules',
'js-conflux-sdk',
),
},
},
module: {
...config.module,
rules: [
...config.module.rules,
{
test: /\.js?$/,
include: /(node_modules\/(@cfxjs\/use-wallet-react)|(ethers))/,
use: {
loader: 'babel-loader',
options: {
plugins: [
'@babel/plugin-transform-class-properties',
'@babel/plugin-transform-private-methods',
],
},
},
},
{
test: /\.mjs$/,
include: /node_modules\/@mosshqqmosi/,
type: 'javascript/auto',
},
],
},
});
}
return smp.wrap({
...config,
module: {
...config.module,
rules: [
...config.module.rules,
{
test: /\.js?$/,
include: /(node_modules\/(@cfxjs\/use-wallet-react)|(ethers))/,
use: {
loader: 'babel-loader',
options: {
plugins: [
'@babel/plugin-transform-class-properties',
'@babel/plugin-transform-private-methods',
],
},
},
},
{
test: /\.mjs$/,
include: /node_modules\/@mosshqqmosi/,
type: 'javascript/auto',
},
],
},
});
};