mirror of
https://github.com/storybookjs/storybook.git
synced 2025-03-25 05:03:10 +08:00
49 lines
1.2 KiB
TypeScript
49 lines
1.2 KiB
TypeScript
import { vite as csfPlugin } from '@storybook/csf-plugin';
|
|
import pluginTurbosnap from 'vite-plugin-turbosnap';
|
|
import type { StorybookConfig } from '../../frameworks/react-vite/dist';
|
|
|
|
const isBlocksOnly = process.env.BLOCKS_ONLY === 'true';
|
|
|
|
const allStories = [
|
|
{
|
|
directory: '../manager/src',
|
|
titlePrefix: '@storybook-manager',
|
|
},
|
|
{
|
|
directory: '../components/src',
|
|
titlePrefix: '@storybook-components',
|
|
},
|
|
{
|
|
directory: '../blocks/src',
|
|
titlePrefix: '@storybook-blocks',
|
|
},
|
|
];
|
|
const blocksOnlyStories = ['../blocks/src/@(blocks|controls)/**/*.@(mdx|stories.@(tsx|ts|jsx|js))'];
|
|
|
|
const config: StorybookConfig = {
|
|
stories: isBlocksOnly ? blocksOnlyStories : allStories,
|
|
addons: [
|
|
'@storybook/addon-links',
|
|
'@storybook/addon-essentials',
|
|
'@storybook/addon-interactions',
|
|
],
|
|
framework: {
|
|
name: '@storybook/react-vite',
|
|
options: {},
|
|
},
|
|
core: {
|
|
disableTelemetry: true,
|
|
},
|
|
viteFinal: (vite, { configType }) => ({
|
|
...vite,
|
|
plugins: [
|
|
...(vite.plugins || []),
|
|
csfPlugin({}),
|
|
configType === 'PRODUCTION' ? pluginTurbosnap({ rootDir: vite.root || '' }) : [],
|
|
],
|
|
optimizeDeps: { ...vite.optimizeDeps, force: true },
|
|
}),
|
|
};
|
|
|
|
export default config;
|