No Description

main.js 1.7KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. const path = require("path");
  2. // const TsconfigPathsPlugin = require('tsconfig-paths-webpack-plugin');
  3. module.exports = {
  4. stories: [
  5. "../stories/**/*.stories.mdx",
  6. "../stories/**/*.stories.@(js|jsx|ts|tsx)",
  7. ],
  8. addons: ["@storybook/addon-links", "@storybook/addon-essentials"],
  9. webpackFinal: async (config) => {
  10. config.resolve.alias = {
  11. "@": path.resolve(__dirname, "..", "src"),
  12. "@components": path.resolve(__dirname, "..", "src/components"),
  13. "@services": path.resolve(__dirname, "..", "src/services"),
  14. };
  15. // config.resolve.plugins = [new TsconfigPathsPlugin()];
  16. config.module.rules.push({
  17. test: /\.(ts|tsx)$/,
  18. use: [
  19. {
  20. loader: require.resolve("babel-loader"),
  21. options: {
  22. presets: [require.resolve("babel-preset-react-app")],
  23. },
  24. },
  25. ],
  26. });
  27. config.module.rules.push({
  28. test: /\.less$/,
  29. include: /node_modules|antd\.less/,
  30. use: [
  31. "style-loader",
  32. "css-loader",
  33. {
  34. loader: "less-loader",
  35. options: {
  36. lessOptions: {
  37. javascriptEnabled: true,
  38. },
  39. },
  40. }
  41. ]
  42. });
  43. config.module.rules.push({
  44. test: /\.less$/,
  45. loaders: [
  46. "style-loader",
  47. {
  48. loader: "css-loader",
  49. options: {
  50. modules: {
  51. localIdentName: '[name]__[local]___[hash:base64:5]',
  52. },
  53. importLoaders: 1,
  54. },
  55. },
  56. {
  57. loader: "less-loader",
  58. options: {
  59. lessOptions: {
  60. javascriptEnabled: true,
  61. },
  62. },
  63. },
  64. ],
  65. exclude: /node_modules|antd\.less/,
  66. });
  67. return config;
  68. },
  69. };