-
Notifications
You must be signed in to change notification settings - Fork 0
/
craco.config.js
46 lines (45 loc) · 1 KB
/
craco.config.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
const path = require('path');
const { whenProd } = require('@craco/craco');
const cssnano = require('cssnano');
const {
compilerOptions: { paths },
} = require('./tsconfig.json');
module.exports = {
eslint: {
mode: 'file',
},
webpack: {
// Set them your alias in the tsconfig.json
alias: Object.keys(paths).reduce(
(all, alias) => ({
...all,
[alias.replace('/*', '')]: path.resolve(
__dirname,
'src',
paths[alias][0].replace('/*', '')
),
}),
{}
),
},
style: {
postcss: {
plugins: (plugins) => whenProd(() => [...plugins, cssnano], []),
},
},
jest: {
configure: {
// Set them your alias in the tsconfig.json
moduleNameMapper: Object.keys(paths).reduce(
(all, alias) => ({
...all,
[alias.replace('/*', '/(.*)')]: path.join(
'<rootDir>/src/',
paths[alias][0].replace('/*', '/$1')
),
}),
{}
),
},
},
};