@@ -353,15 +353,28 @@ function updateStoriesField(mainConfig: ConfigFile, isJs: boolean) {
353353}
354354
355355// Add a stories field entry for the passed symlink
356- function addStoriesEntry ( mainConfig : ConfigFile , path : string , disableDocs : boolean ) {
356+ function addStoriesEntry (
357+ mainConfig : ConfigFile ,
358+ path : string ,
359+ disableDocs : boolean ,
360+ skipMocking : boolean
361+ ) {
357362 const stories = mainConfig . getFieldValue ( [ 'stories' ] ) as string [ ] ;
358363
364+ const basePattern = disableDocs
365+ ? '**/*.stories.@(js|jsx|mjs|ts|tsx)'
366+ : '**/*.@(mdx|stories.@(js|jsx|mjs|ts|tsx))' ;
367+
368+ // When skipMocking is true and we're linking core template stories, exclude any stories
369+ // with "mocking" in their file name (not related to docs filtering).
370+ console . log ( 'skipMocking' , skipMocking , path ) ;
371+ const files =
372+ skipMocking && path === 'core' ? basePattern . replace ( '**/*' , '**/!(*Mocking)*' ) : basePattern ;
373+
359374 const entry = {
360375 directory : slash ( join ( '../template-stories' , path ) ) ,
361376 titlePrefix : slash ( path ) ,
362- files : disableDocs
363- ? '**/*.stories.@(js|jsx|mjs|ts|tsx)'
364- : '**/*.@(mdx|stories.@(js|jsx|mjs|ts|tsx))' ,
377+ files,
365378 } ;
366379
367380 mainConfig . setFieldValue ( [ 'stories' ] , [ ...stories , entry ] ) ;
@@ -379,7 +392,14 @@ async function linkPackageStories(
379392 cwd,
380393 linkInDir,
381394 disableDocs,
382- } : { mainConfig : ConfigFile ; cwd : string ; linkInDir ?: string ; disableDocs : boolean } ,
395+ skipMocking,
396+ } : {
397+ mainConfig : ConfigFile ;
398+ cwd : string ;
399+ linkInDir ?: string ;
400+ disableDocs : boolean ;
401+ skipMocking : boolean ;
402+ } ,
383403 variant ?: string
384404) {
385405 const storiesFolderName = variant ? getStoriesFolderWithVariant ( variant ) : 'stories' ;
@@ -397,7 +417,7 @@ async function linkPackageStories(
397417 await ensureSymlinkOrCopy ( source , target ) ;
398418
399419 if ( ! linkInDir ) {
400- addStoriesEntry ( mainConfig , packageDir , disableDocs ) ;
420+ addStoriesEntry ( mainConfig , packageDir , disableDocs , skipMocking ) ;
401421 }
402422
403423 // Add `previewAnnotation` entries of the form
@@ -591,6 +611,7 @@ export const addStories: Task['run'] = async (
591611 { addon : extraAddons , disableDocs }
592612) => {
593613 logger . log ( '💃 Adding stories' ) ;
614+ const skipMocking = template . modifications ?. skipMocking ;
594615 const cwd = sandboxDir ;
595616 const storiesPath =
596617 ( await findFirstPath ( [ join ( 'src' , 'stories' ) , 'stories' ] , { cwd } ) ) || 'stories' ;
@@ -629,6 +650,7 @@ export const addStories: Task['run'] = async (
629650 cwd,
630651 linkInDir : resolve ( cwd , storiesPath ) ,
631652 disableDocs,
653+ skipMocking,
632654 } ) ;
633655
634656 if (
@@ -643,6 +665,7 @@ export const addStories: Task['run'] = async (
643665 cwd,
644666 linkInDir : resolve ( cwd , storiesPath ) ,
645667 disableDocs,
668+ skipMocking,
646669 } ,
647670 sandboxSpecificStoriesFolder
648671 ) ;
@@ -661,6 +684,7 @@ export const addStories: Task['run'] = async (
661684 cwd,
662685 linkInDir : resolve ( cwd , storiesPath ) ,
663686 disableDocs,
687+ skipMocking,
664688 } ) ;
665689 }
666690
@@ -676,6 +700,7 @@ export const addStories: Task['run'] = async (
676700 cwd,
677701 linkInDir : resolve ( cwd , storiesPath ) ,
678702 disableDocs,
703+ skipMocking,
679704 } ,
680705 sandboxSpecificStoriesFolder
681706 ) ;
@@ -689,12 +714,14 @@ export const addStories: Task['run'] = async (
689714 mainConfig,
690715 cwd,
691716 disableDocs,
717+ skipMocking,
692718 } ) ;
693719
694720 await linkPackageStories ( await workspacePath ( 'addon test package' , '@storybook/addon-vitest' ) , {
695721 mainConfig,
696722 cwd,
697723 disableDocs,
724+ skipMocking,
698725 } ) ;
699726 }
700727
@@ -741,7 +768,7 @@ export const addStories: Task['run'] = async (
741768 if ( isCoreRenderer ) {
742769 const existingStories = await filterExistsInCodeDir ( addonDirs , join ( 'template' , 'stories' ) ) ;
743770 for ( const packageDir of existingStories ) {
744- await linkPackageStories ( packageDir , { mainConfig, cwd, disableDocs } ) ;
771+ await linkPackageStories ( packageDir , { mainConfig, cwd, disableDocs, skipMocking } ) ;
745772 }
746773
747774 // Add some extra settings (see above for what these do)
0 commit comments