11import type { StorybookConfig } from '@storybook/react-webpack5' ;
22import remarkGfm from 'remark-gfm' ;
3+ import path from 'path' ;
34
45const config : StorybookConfig = {
56 stories : [ '../src/docs/*.mdx' , '../src/**/*.mdx' , '../src/**/*.stories.@(js|jsx|mjs|ts|tsx)' ] ,
@@ -15,6 +16,7 @@ const config: StorybookConfig = {
1516 } ,
1617 } ,
1718 } ,
19+ 'msw-storybook-addon' ,
1820 ] ,
1921 framework : {
2022 name : '@storybook/react-webpack5' ,
@@ -24,6 +26,27 @@ const config: StorybookConfig = {
2426 defaultName : 'Documentation' ,
2527 } ,
2628 webpackFinal : async ( config ) => {
29+ // Mock external dependencies for Storybook (same pattern as insights-rbac-ui)
30+ config . resolve = {
31+ ...config . resolve ,
32+ alias : {
33+ ...config . resolve ?. alias ,
34+ // External dependency mocks
35+ '@redhat-cloud-services/frontend-components/useChrome' : path . resolve (
36+ process . cwd ( ) ,
37+ '.storybook/hooks/useChrome.tsx'
38+ ) ,
39+ '@unleash/proxy-client-react' : path . resolve (
40+ process . cwd ( ) ,
41+ '.storybook/hooks/unleash.js'
42+ ) ,
43+ '@scalprum/react-core' : path . resolve (
44+ process . cwd ( ) ,
45+ '.storybook/hooks/scalprum.js'
46+ ) ,
47+ } ,
48+ } ;
49+
2750 // Add SCSS support
2851 config . module = config . module || { } ;
2952 config . module . rules = config . module . rules || [ ] ;
@@ -44,6 +67,7 @@ const config: StorybookConfig = {
4467 propFilter : ( prop ) => ( prop . parent ? ! / n o d e _ m o d u l e s / . test ( prop . parent . fileName ) : true ) ,
4568 } ,
4669 } ,
70+ staticDirs : [ '../public' ] ,
4771} ;
4872
4973export default config ;
0 commit comments