main.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. // Copyright (C) 2012-2021 Zammad Foundation, https://zammad-foundation.org/
  2. const { loadConfigFromFile, mergeConfig } = require('vite')
  3. const path = require('path')
  4. const postcss = require('postcss')
  5. module.exports = {
  6. stories: ['../app/**/*.stories.mdx', '../app/**/*.stories.@(js|jsx|ts|tsx)'],
  7. addons: [
  8. '@storybook/addon-links',
  9. '@storybook/addon-essentials',
  10. {
  11. name: '@storybook/addon-postcss',
  12. options: {
  13. cssLoaderOptions: {
  14. // When you have splitted your css over multiple files
  15. // and use @import('./other-styles.css')
  16. importLoaders: 1,
  17. },
  18. postcssLoaderOptions: {
  19. // When using postCSS 8
  20. implementation: postcss,
  21. },
  22. },
  23. },
  24. ],
  25. framework: '@storybook/vue3',
  26. core: {
  27. builder: 'storybook-builder-vite',
  28. },
  29. async viteFinal(storybookViteConfig) {
  30. const { config } = await loadConfigFromFile(
  31. path.resolve(__dirname, '../vite.config.ts'),
  32. )
  33. return mergeConfig(storybookViteConfig, {
  34. ...config,
  35. // Manually specify plugins to avoid conflicts.
  36. plugins: [
  37. config.plugins.find((plugin) => plugin.name === 'vite:svg-icons'),
  38. ],
  39. })
  40. },
  41. }