Skip to content
This repository was archived by the owner on Dec 22, 2024. It is now read-only.

Commit cbbfd5e

Browse files
committed
build: migrate to @storybook/builder-vite
1 parent b63c601 commit cbbfd5e

File tree

4 files changed

+533
-201
lines changed

4 files changed

+533
-201
lines changed

.eslintrc.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
module.exports = {
22
env: {
33
browser: true,
4-
es2021: true,
4+
es2021: true
55
},
6-
extends: ['plugin:react/recommended', 'airbnb', 'airbnb-typescript', 'plugin:react/jsx-runtime', 'plugin:prettier/recommended'],
6+
extends: ['plugin:react/recommended', 'airbnb', 'airbnb-typescript', 'plugin:react/jsx-runtime', 'plugin:prettier/recommended', 'plugin:storybook/recommended'],
77
parser: '@typescript-eslint/parser',
88
parserOptions: {
99
ecmaFeatures: {
10-
jsx: true,
10+
jsx: true
1111
},
1212
ecmaVersion: 13,
1313
sourceType: 'module',
14-
project: './tsconfig.json',
14+
project: './tsconfig.json'
1515
},
1616
plugins: ['react', '@typescript-eslint'],
1717
rules: {
1818
'import/prefer-default-export': 'off',
1919
'import/no-relative-packages': 'off',
2020
'import/no-extraneous-dependencies': 'off',
2121
'react/require-default-props': 'off',
22-
'react/jsx-fragments': ['error', 'element'],
23-
},
24-
};
22+
'react/jsx-fragments': ['error', 'element']
23+
}
24+
};

.storybook/main.js

Lines changed: 31 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,42 @@
11
const react = require("@vitejs/plugin-react");
22

33
module.exports = {
4-
stories: [
5-
"../stories/Start.stories.mdx",
6-
"../stories/**/*.stories.mdx",
7-
"../stories/**/*.stories.@(js|jsx|ts|tsx)"
8-
],
9-
addons: [
10-
{
11-
name: '@storybook/addon-docs',
12-
options: {
13-
configureJSX: true,
14-
transcludeMarkdown: true
15-
},
16-
},
17-
"@storybook/addon-links",
18-
"@storybook/addon-essentials",
19-
"@storybook/addon-storysource"
20-
],
4+
stories: ["../stories/Start.stories.mdx", "../stories/**/*.stories.mdx", "../stories/**/*.stories.@(js|jsx|ts|tsx)"],
5+
addons: [{
6+
name: '@storybook/addon-docs',
7+
options: {
8+
configureJSX: true,
9+
transcludeMarkdown: true
10+
}
11+
}, "@storybook/addon-links", "@storybook/addon-essentials", "@storybook/addon-storysource"],
2112
core: {
22-
"builder": "storybook-builder-vite"
13+
"builder": "@storybook/builder-vite"
2314
},
24-
async viteFinal(config, { configType }) {
25-
config.plugins = config.plugins.filter(
26-
(plugin) => !(Array.isArray(plugin) && plugin[0]?.name.includes("vite:react"))
27-
);
2815

29-
if(config.optimizeDeps) {
30-
config.optimizeDeps.include = [...(config.optimizeDeps.include) || [], '@emotion/react/jsx-dev-runtime'];
16+
async viteFinal(config, {
17+
configType
18+
}) {
19+
config.plugins = config.plugins.filter(plugin => !(Array.isArray(plugin) && plugin[0]?.name.includes("vite:react")));
20+
21+
if (config.optimizeDeps) {
22+
config.optimizeDeps.include = [...(config.optimizeDeps.include || []), '@emotion/react/jsx-dev-runtime'];
3123
}
32-
config.plugins.push(
33-
react({
34-
exclude: [/\.stories\.(t|j)sx?$/, /node_modules/],
35-
jsxImportSource: "@emotion/react",
36-
babel: {
37-
plugins: ["@emotion/babel-plugin"],
38-
},
39-
})
40-
);
4124

42-
if(configType === "PRODUCTION") {
43-
return {...config, base: './'};
25+
config.plugins.push(react({
26+
exclude: [/\.stories\.(t|j)sx?$/, /node_modules/],
27+
jsxImportSource: "@emotion/react",
28+
babel: {
29+
plugins: ["@emotion/babel-plugin"]
30+
}
31+
}));
32+
33+
if (configType === "PRODUCTION") {
34+
return { ...config,
35+
base: './'
36+
};
4437
}
38+
4539
return config;
4640
}
47-
}
41+
42+
};

0 commit comments

Comments
 (0)