diff options
Diffstat (limited to '.storybook/main.js')
| -rw-r--r-- | .storybook/main.js | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/.storybook/main.js b/.storybook/main.js new file mode 100644 index 0000000..05aa578 --- /dev/null +++ b/.storybook/main.js @@ -0,0 +1,42 @@ +const path = require('path'); + +const storybookConfig = { + stories: ['../src/**/*.stories.@(md|mdx|js|jsx|ts|tsx)'], + addons: [ + '@storybook/addon-links', + '@storybook/addon-essentials', + '@storybook/addon-interactions', + 'storybook-addon-next', + ], + framework: '@storybook/react', + core: { + builder: 'webpack5', + }, + webpackFinal: async (config) => { + // Use SVGR for SVG files. See: https://medium.com/@derek_19900/config-storybook-4-to-use-svgr-webpack-plugin-22cb1152f004 + const rules = config.module.rules; + const fileLoaderRule = rules.find((rule) => rule.test.test('.svg')); + fileLoaderRule.exclude = /\.svg$/; + rules.push({ + test: /\.svg$/, + use: [{ loader: '@svgr/webpack', options: { dimensions: false } }], + }); + + // Set modules aliases. + config.resolve.alias = { + ...config.resolve.alias, + '@i18n': path.resolve(__dirname, '../src/i18n'), + '@assets': path.resolve(__dirname, '../src/assets'), + '@components': path.resolve(__dirname, '../src/components'), + '@content': path.resolve(__dirname, '../src/content'), + '@pages': path.resolve(__dirname, '../src/pages'), + '@services': path.resolve(__dirname, '../src/services'), + '@styles': path.resolve(__dirname, '../src/styles'), + '@utils': path.resolve(__dirname, '../src/utils'), + }; + + return config; + }, +}; + +module.exports = storybookConfig; |
