-
Notifications
You must be signed in to change notification settings - Fork 278
/
Copy pathmain.js
56 lines (50 loc) · 1.48 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
const path = require("path");
module.exports = {
stories: ["../src/**/*.stories.[tj]s[x]"],
addons: [
"@storybook/addon-actions/register",
"@storybook/addon-links",
"@storybook/addon-knobs/register",
"@storybook/addon-storysource/register",
"storybook-addon-styled-component-theme/dist/register",
"@storybook/addon-viewport/register",
],
webpackFinal: async (config, { configType }) => {
// `configType` has a value of 'DEVELOPMENT' or 'PRODUCTION'
// You can change the configuration based on that.
// 'PRODUCTION' is used when building the static version of storybook.
config.module.rules.push({
test: /\.(ts|tsx)$/,
loader: require.resolve("babel-loader"),
options: {
presets: [["react-app", { flow: false, typescript: true }]],
},
});
config.module.rules.push({
test: /\.scss$/,
use: ["style-loader", "css-loader", "sass-loader"],
include: path.resolve(__dirname, "../"),
exclude: /\.module\.scss$/,
});
config.resolve.extensions.push(".ts", ".tsx");
config.module.rules.push({
test: /\.stories\.tsx?$/,
loaders: [require.resolve("@storybook/source-loader")],
enforce: "pre",
});
config.module.rules.push({
test: /\.module\.scss$/,
use: [
"style-loader",
{
loader: "css-loader",
options: {
modules: true,
},
},
"sass-loader",
],
});
return config;
},
};