11
2+ const path = require ( 'path' ) ;
3+ const MiniCssExtractPlugin = require ( 'mini-css-extract-plugin' ) ;
4+
25export default {
36 // Replace your-framework with the framework you are using (e.g., react-webpack5, vue3-vite)
47 framework : '@storybook/react-webpack5' ,
@@ -8,25 +11,64 @@ export default {
811module . exports = {
912 stories : [ './**/stories/*.@(stories.@(js))' , './**/stories/*.@(mdx)' ] ,
1013 addons : [
11- '@storybook/addon-docs' ,
12- '@storybook/blocks' ,
13- '@storybook/addon-a11y' ,
14- '@storybook/addon-viewport' ,
15- '@storybook/addon-actions' ,
16- '@storybook/addon-essentials' ,
17- '@storybook/addon-controls' ,
18- '@chromatic-com/storybook' ,
19- '@storybook/addon-webpack5-compiler-babel' ,
20- '@storybook/addon-interactions'
14+ "@storybook/addon-links" ,
15+ "@storybook/addon-webpack5-compiler-babel" ,
16+ "@chromatic-com/storybook" ,
17+ "@storybook/addon-docs" ,
18+ "@storybook/addon-styling-webpack" ,
2119 ] ,
22- webpack : ( config , options ) => {
23- options . cache . set = ( ) => Promise . resolve ( ) ;
24- return config ;
25- } ,
26- framework : {
20+ webpack : ( config , options ) => {
21+ options . cache . set = ( ) => Promise . resolve ( ) ;
22+ return config ;
23+ } ,
24+ webpackFinal : async ( config ) => {
25+ config . plugins . push ( new MiniCssExtractPlugin ( ) ) ;
26+ config . module . rules . push ( {
27+ test : / \. j s $ | j s x $ / ,
28+ exclude : / n o d e _ m o d u l e s \. * / ,
29+ loader : "babel-loader"
30+ } ,
31+ {
32+ test : / \. c s s $ / ,
33+ use : [
34+ {
35+ loader : MiniCssExtractPlugin . loader
36+ } ,
37+ {
38+ loader : "css-loader"
39+ }
40+ ]
41+ } ,
42+ {
43+ include : / \. ( e o t | t t f | w o f f | w o f f 2 | p n g | s v g | i c o | g i f | j p g | p d f | w e b p ) $ / ,
44+ loader : 'file-loader' ,
45+ type : 'javascript/auto' ,
46+ options : {
47+ name : '[path][name].[ext]'
48+ }
49+ } ,
50+ {
51+ test : / \. s c s s $ / ,
52+ use : [
53+ { loader : MiniCssExtractPlugin . loader } ,
54+ { loader : "css-loader" , options : { url : false , sourceMap : true } } ,
55+ {
56+ loader : "sass-loader" ,
57+ options : {
58+ sourceMap : true ,
59+ sassOptions : {
60+ includePaths : [ "./src/_scss" , "./node_modules" ]
61+ }
62+ }
63+ }
64+ ]
65+ } ) ;
66+ return config ;
67+ } ,
68+ framework : {
2769 name : '@storybook/react-webpack5' ,
2870 options : { }
29- } ,
71+ } ,
3072 docs : { } ,
3173 typescript : {
3274 reactDocgen : 'react-docgen-typescript'
0 commit comments