-
Notifications
You must be signed in to change notification settings - Fork 1
/
config-overrides.js
67 lines (65 loc) · 1.86 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
const {
override,
disableEsLint,
addWebpackPlugin,
addBabelPlugin,
addPostcssPlugins,
watchAll,
babelInclude
} = require('customize-cra');
const path = require('path');
const PreloadWebpackPlugin = require('preload-webpack-plugin');
const ScriptWebpackPlugin = require('html-webpack-scripts-plugin');
const CombineMediaQuery = require('postcss-combine-media-query');
module.exports = process.env.NODE_ENV === 'production' ?
override(
disableEsLint(),
addPostcssPlugins([CombineMediaQuery]),
babelInclude([
path.resolve('src'),
path.resolve('node_modules/worker-timers-broker'),
path.resolve('node_modules/worker-timers')
]),
addBabelPlugin('@babel/transform-react-constant-elements'),
addBabelPlugin('@babel/transform-react-inline-elements'),
addBabelPlugin('transform-react-remove-prop-types'),
addWebpackPlugin(new PreloadWebpackPlugin({
rel: 'preload',
include: 'allAssets',
as(entry) {
if (/\.css$/.test(entry)) {
return 'style';
}
if (/\.woff|\.woff2$/.test(entry)) {
return 'font';
}
if (/\.png|\.jpg|\.svg$/.test(entry)) {
return 'image';
}
if (/\.mjs$/.test(entry)) {
return 'modulepreload';
}
if (/\.js$/.test(entry)) {
return 'script';
}
return 'fetch';
},
fileBlacklist: [
/\.map/,
/\.txt/
]
})),
addWebpackPlugin(new ScriptWebpackPlugin({
'defer=defer charset=utf-8': /.*/
}))
) : override(
disableEsLint(),
babelInclude([
path.resolve('src'),
path.resolve('node_modules/worker-timers-broker'),
path.resolve('node_modules/worker-timers')
]),
addBabelPlugin('@babel/transform-react-constant-elements'),
addBabelPlugin('@babel/transform-react-inline-elements'),
watchAll()
);