main.ts 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import ViteYaml from '@modyfi/vite-plugin-yaml'
  2. import { Options, StorybookConfig } from '@storybook/core-common'
  3. import { UserConfig, mergeConfig } from 'vite'
  4. import _viteConfig from '../vite.config'
  5. const viteConfig = _viteConfig as UserConfig
  6. interface CustomizedStorybookConfig extends StorybookConfig {
  7. // eslint-disable-next-line @typescript-eslint/no-explicit-any
  8. core: any
  9. viteFinal?: (config: UserConfig, options: Options) => UserConfig
  10. }
  11. const config: CustomizedStorybookConfig = {
  12. 'stories': ['../src/**/*.stories.mdx', '../src/**/*.stories.@(js|jsx|ts|tsx)'],
  13. 'addons': ['@storybook/addon-links', '@storybook/addon-essentials'],
  14. 'core': {
  15. 'builder': '@storybook/builder-vite',
  16. },
  17. typescript: {
  18. reactDocgen: 'react-docgen',
  19. },
  20. viteFinal(config) {
  21. return mergeConfig(config, {
  22. root: viteConfig.root,
  23. resolve: viteConfig.resolve,
  24. build: {
  25. target: viteConfig.build?.target,
  26. // https://github.com/storybookjs/builder-vite/issues/409
  27. minify: false,
  28. sourcemap: false,
  29. },
  30. // eslint-disable-next-line
  31. plugins: [viteConfig.plugins?.find((p) => (p as any).name === 'babel'), ViteYaml()],
  32. })
  33. },
  34. }
  35. export default config