Storybook addon that improves build time by building with swc.
$ npm install -D storybook-addon-swc @swc/core
Edit the .storybook/main.js
file and register the addon.
module.exports = {
addons: [
'storybook-addon-swc',
],
};
Additional configuration options can be passed as needed.
module.exports = {
addons: [
{
name: 'storybook-addon-swc',
options: {
enable: true,
enableSwcLoader: true,
enableSwcMinify: true,
swcLoaderOptions: {},
swcMinifyOptions: {},
},
},
],
};
Name | Description | Type | Default Value |
---|---|---|---|
enable |
If set to false, this add-on will be disabled. | boolean | true |
enableSwcLoader |
If set to false, swc-loader is disabled and babel-loader is used. | boolean | true |
enableSwcMinify |
If set to false, minify using swc is disabled and minify using conventional terser is used. | boolean | true |
swcLoaderOptions |
Options for swc loader. | object | see |
swcMinifyOptions |
Options for swc minify. | object | see |
The SWC plugins feature is still experimental, but can be used by changing the settings as follows.
module.exports = {
addons: [
{
name: 'storybook-addon-swc',
options: {
swcLoaderOptions: {
jsc: {
experimental: {
plugins: [['plugin-name', {}]],
},
},
},
},
},
],
};
This add-on replaces babel-loader with esbuild-loader.
It was used as a reference in the development of storybook-addon-swc.
This builder changes the build system of Storybook from Webpack to Vite.
Vite is very fast because it does not bundle during development.
Contributions, issues and feature requests are welcome.
Feel free to check issues page if you want to contribute.
Copyright © 2020 @Karibash.
This project is MIT
licensed.