main.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. module.exports = {
  2. stories: [
  3. '../../client/**/*.stories.mdx',
  4. '../../client/**/*.stories.@(js|tsx)',
  5. {
  6. directory: '../../wagtail/admin/templates/wagtailadmin/shared/',
  7. titlePrefix: 'Shared',
  8. files: '*.stories.*',
  9. },
  10. '../../wagtail/**/*.stories.*',
  11. ],
  12. addons: ['@storybook/addon-docs', '@storybook/addon-controls'],
  13. framework: '@storybook/react',
  14. core: {
  15. builder: 'webpack5',
  16. },
  17. webpackFinal: (config) => {
  18. /* eslint-disable no-param-reassign */
  19. const rules = [
  20. {
  21. test: /\.(scss|css)$/,
  22. use: [
  23. 'style-loader',
  24. {
  25. loader: 'css-loader',
  26. options: {
  27. url: false,
  28. },
  29. },
  30. {
  31. loader: 'postcss-loader',
  32. options: {
  33. postcssOptions: {
  34. plugins: ['tailwindcss', 'autoprefixer', 'cssnano'],
  35. },
  36. },
  37. },
  38. 'sass-loader',
  39. ],
  40. },
  41. {
  42. test: /\.(md|html)$/,
  43. type: 'asset/source',
  44. },
  45. ];
  46. config.module.rules = config.module.rules.concat(rules);
  47. // Allow using path magic variables to reduce boilerplate in stories.
  48. config.node = {
  49. __filename: true,
  50. __dirname: true,
  51. };
  52. return config;
  53. },
  54. };