@itgold/grandbazar-ui-kit
Version:
Grandbazar.io UI component library: React, Typescript, Tailwind, Rollup, Storybook, Jest.
63 lines (54 loc) • 1.34 kB
text/typescript
import * as path from 'path';
import type { StorybookConfig } from '@storybook/react-webpack5';
const config: StorybookConfig = {
stories: ['../src/**/*.stories.@(js|jsx|ts|tsx)'],
addons: [
'@storybook/addon-links',
'@storybook/addon-essentials',
'@storybook/addon-onboarding',
'@storybook/addon-interactions',
{
name: '@storybook/addon-styling',
options: {
postCss: {
implementation: require.resolve('postcss'),
},
},
},
],
framework: '@storybook/react-webpack5',
docs: {
autodocs: 'tag',
},
core: {
builder: {
name: '@storybook/builder-webpack5',
options: {
fsCache: false,
lazyCompilation: false,
},
},
},
webpackFinal: async config => {
if (config.resolve) {
config.resolve.alias = {
...config.resolve.alias,
'@': path.resolve(__dirname, '../src'),
};
}
const imageRule = config.module?.rules?.find(rule => {
const test = (rule as { test: RegExp }).test;
if (!test) {
return false;
}
return test.test('.svg');
}) as { [key: string]: any };
imageRule.exclude = /\.svg$/;
config.module?.rules?.push({
test: /\.svg$/,
use: ['@svgr/webpack'],
});
return config;
},
};
export default config;