main.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import { dirname, join } from 'path';
  2. /**
  3. * Licensed to the Apache Software Foundation (ASF) under one
  4. * or more contributor license agreements. See the NOTICE file
  5. * distributed with this work for additional information
  6. * regarding copyright ownership. The ASF licenses this file
  7. * to you under the Apache License, Version 2.0 (the
  8. * "License"); you may not use this file except in compliance
  9. * with the License. You may obtain a copy of the License at
  10. *
  11. * http://www.apache.org/licenses/LICENSE-2.0
  12. *
  13. * Unless required by applicable law or agreed to in writing,
  14. * software distributed under the License is distributed on an
  15. * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  16. * KIND, either express or implied. See the License for the
  17. * specific language governing permissions and limitations
  18. * under the License.
  19. */
  20. // Superset's webpack.config.js
  21. const customConfig = require('../webpack.config.js');
  22. module.exports = {
  23. stories: [
  24. '../src/@(components|common|filters|explore|views|dashboard|features)/**/*.stories.@(tsx|jsx)',
  25. '../packages/superset-ui-demo/storybook/stories/**/*.*.@(tsx|jsx)',
  26. '../packages/superset-ui-core/src/components/**/*.stories.@(tsx|jsx)',
  27. ],
  28. addons: [
  29. getAbsolutePath('@storybook/addon-essentials'),
  30. getAbsolutePath('@storybook/addon-links'),
  31. '@mihkeleidast/storybook-addon-source',
  32. getAbsolutePath('@storybook/addon-controls'),
  33. getAbsolutePath('@storybook/addon-mdx-gfm'),
  34. ],
  35. staticDirs: ['../src/assets/images'],
  36. webpackFinal: config => ({
  37. ...config,
  38. module: {
  39. ...config.module,
  40. rules: customConfig.module.rules,
  41. },
  42. resolve: {
  43. ...config.resolve,
  44. ...customConfig.resolve,
  45. },
  46. plugins: [...config.plugins, ...customConfig.plugins],
  47. }),
  48. typescript: {
  49. reactDocgen: 'react-docgen-typescript',
  50. },
  51. framework: {
  52. name: getAbsolutePath('@storybook/react-webpack5'),
  53. options: {},
  54. },
  55. docs: {
  56. autodocs: false,
  57. },
  58. };
  59. function getAbsolutePath(value) {
  60. return dirname(require.resolve(join(value, 'package.json')));
  61. }