-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmain.js
75 lines (71 loc) · 1.52 KB
/
main.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
const TsconfigPathsPlugin = require('tsconfig-paths-webpack-plugin');
const path = require('path');
const toPath = (_path) => path.join(process.cwd(), _path);
module.exports = {
core: {
builder: 'webpack5',
},
stories: ['../src/**/*.stories.mdx', '../src/**/*.stories.(js|jsx|ts|tsx)', '../src/**/stories.(js|jsx|ts|tsx)'],
addons: [
'@storybook/addon-a11y',
'@storybook/addon-links',
'@storybook/addon-essentials',
'storybook-addon-next-router',
'@chakra-ui/storybook-addon',
],
typescript: {
reactDocgen: false,
},
features: {
emotionAlias: false,
},
webpackFinal: async (config) => {
// Remove default svg file loader
const rules = config.module.rules.map((rule) => {
if (rule.test.test('.svg')) {
rule.test = new RegExp(rule.test.toString().replace('svg|', ''));
return rule;
} else {
return rule;
}
});
config.module.rules.push({
test: /\.mjs$/,
include: /node_modules/,
type: 'javascript/auto',
});
return {
...config,
resolve: {
...config.resolve,
fallback: {
fs: false,
path: false,
},
plugins: [
...(config.resolve.plugins || []),
new TsconfigPathsPlugin({
extensions: config.resolve.extensions,
}),
],
},
module: {
rules: [
...rules,
{
test: /\.svg$/,
exclude: /node_modules/,
use: {
loader: 'svg-react-loader',
},
},
],
},
};
},
env: (config) => ({
...config,
__NEXT_NEW_LINK_BEHAVIOR: JSON.stringify(true),
}),
staticDirs: ['../public'],
};