create-storybook 8.3.3 → 8.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -53,7 +53,7 @@
53
53
  */
54
54
  function getAbsolutePath(value: string): any {
55
55
  return dirname(require.resolve(join(value, 'package.json')))
56
- }`]:[];await configureMain({framework:{name:frameworkInclude,options:options.framework||{}},prefixes,storybookConfigFolder,addons:shouldApplyRequireWrapperOnPackageNames?addons.map(addon=>applyRequireWrapper(addon)):addons,extensions,language,...staticDir?{staticDirs:[(0,import_node_path2.join)("..",staticDir)]}:null,...extraMain,...type!=="framework"?{core:{builder:builderInclude}}:{}})}if(await configurePreview({frameworkPreviewParts,storybookConfigFolder,language,rendererId}),addScripts&&await packageManager.addStorybookCommandInScripts({port:6006}),addComponents){let templateLocation=hasFrameworkTemplates(framework)?framework:rendererId;if(!templateLocation)throw new Error(`Could not find template location for ${framework} or ${rendererId}`);await(0,import_cli3.copyTemplateFiles)({renderer:templateLocation,packageManager,language,destination:componentsDestinationPath,commonAssetsDir:(0,import_node_path2.join)(getCliDir(),"rendererAssets","common")})}}function getCliDir(){return(0,import_node_path2.dirname)(require.resolve("create-storybook/package.json"))}var generator=async(packageManager,npmOptions,options,commandOptions)=>{let angularJSON=new import_cli7.AngularJSON;if(!angularJSON.projects||angularJSON.projects&&Object.keys(angularJSON.projects).length===0)throw new Error("Storybook was not able to find any projects in your angular.json file. Are you sure this is an Angular CLI project?");if(angularJSON.projectsWithoutStorybook.length===0)throw new Error("Every project in your workspace is already set up with Storybook. There is nothing to do!");let angularProjectName=await angularJSON.getProjectName();(0,import_common2.commandLog)(`Adding Storybook support to your "${angularProjectName}" project`);let angularProject=angularJSON.getProjectSettingsByName(angularProjectName);if(!angularProject)throw new Error(`Somehow we were not able to retrieve the "${angularProjectName}" project in your angular.json file. This is likely a bug in Storybook, please file an issue.`);let{root,projectType}=angularProject,{projects}=angularJSON,useCompodoc=commandOptions?.yes?!0:await(0,import_cli7.promptForCompoDocs)(),storybookFolder=root?`${root}/.storybook`:".storybook";angularJSON.addStorybookEntries({angularProjectName,storybookFolder,useCompodoc,root}),angularJSON.write(),await baseGenerator(packageManager,npmOptions,{...options,builder:import_cli6.CoreBuilder.Webpack5,...useCompodoc&&{frameworkPreviewParts:{prefix:import_cli7.compoDocPreviewPrefix}}},"angular",{extraAddons:["@storybook/addon-onboarding"],...useCompodoc&&{extraPackages:["@compodoc/compodoc","@storybook/addon-docs"]},addScripts:!1,componentsDestinationPath:root?`${root}/src/stories`:void 0,storybookConfigFolder:storybookFolder,webpackCompiler:()=>{}},"angular"),Object.keys(projects).length===1&&packageManager.addScripts({storybook:`ng run ${angularProjectName}:storybook`,"build-storybook":`ng run ${angularProjectName}:build-storybook`});let projectTypeValue=projectType||"application";projectTypeValue!=="application"&&projectTypeValue!=="library"&&(projectTypeValue="application");let templateDir=(0,import_node_path3.join)(getCliDir(),"templates","angular",projectTypeValue);return templateDir&&(0,import_cli8.copyTemplate)(templateDir,root||void 0),{projectName:angularProjectName,configDir:storybookFolder}},ANGULAR_default=generator;var import_cli9=require("storybook/internal/cli");var generator2=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,{...options,builder:import_cli9.CoreBuilder.Webpack5},"ember",{staticDir:"dist"},"ember")},EMBER_default=generator2;var import_cli10=require("storybook/internal/cli");var generator3=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,options,"html",{webpackCompiler:({builder})=>builder===import_cli10.CoreBuilder.Webpack5?"swc":void 0})},HTML_default=generator3;var import_node_fs=require("fs"),import_node_path4=require("path"),import_cli11=require("storybook/internal/cli");var generator4=async(packageManager,npmOptions,options)=>{let staticDir;(0,import_node_fs.existsSync)((0,import_node_path4.join)(process.cwd(),"public"))&&(staticDir="public"),await baseGenerator(packageManager,npmOptions,{...options,builder:import_cli11.CoreBuilder.Webpack5},"react",{staticDir,extraAddons:["@storybook/addon-onboarding"],webpackCompiler:({builder})=>{}},"nextjs")},NEXTJS_default=generator4;var import_cli12=require("storybook/internal/cli");var generator5=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,options,"preact",{webpackCompiler:({builder})=>builder===import_cli12.CoreBuilder.Webpack5?"swc":void 0})},PREACT_default=generator5;var generator6=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,options,"qwik",{},"qwik")},QWIK_default=generator6;var import_cli13=require("storybook/internal/cli"),import_cli14=require("storybook/internal/cli");var generator7=async(packageManager,npmOptions,options)=>{let extraPackages=await(0,import_cli13.detectLanguage)(packageManager)===import_cli14.SupportedLanguage.JAVASCRIPT?["prop-types"]:[];await baseGenerator(packageManager,npmOptions,options,"react",{extraPackages,webpackCompiler:({builder})=>builder===import_cli14.CoreBuilder.Webpack5?"swc":void 0,extraAddons:["@storybook/addon-onboarding"]})},REACT_default=generator7;var import_cli15=require("storybook/internal/cli"),import_cli16=require("storybook/internal/cli"),generator8=async(packageManager,npmOptions)=>{let packageJson=await packageManager.retrievePackageJson(),missingReactDom=!packageJson.dependencies["react-dom"]&&!packageJson.devDependencies["react-dom"],reactVersion=packageJson.dependencies.react,packagesToResolve=[...["react-native-safe-area-context","@react-native-async-storage/async-storage","@react-native-community/datetimepicker","@react-native-community/slider"].filter(dep=>!packageJson.dependencies[dep]&&!packageJson.devDependencies[dep]),"@storybook/addon-ondevice-controls","@storybook/addon-ondevice-actions","@storybook/react-native"],packagesWithFixedVersion=[],versionedPackages=await packageManager.getVersionedPackages(packagesToResolve),babelDependencies=await(0,import_cli15.getBabelDependencies)(packageManager,packageJson),packages=[];packages.push(...babelDependencies),packages.push(...packagesWithFixedVersion),packages.push(...versionedPackages),missingReactDom&&reactVersion&&packages.push(`react-dom@${reactVersion}`),await packageManager.addDependencies({...npmOptions,packageJson},packages),packageManager.addScripts({"storybook-generate":"sb-rn-get-stories"}),await(0,import_cli15.copyTemplateFiles)({packageManager,renderer:"react-native",language:import_cli16.SupportedLanguage.TYPESCRIPT_3_8,destination:".storybook"})},REACT_NATIVE_default=generator8;var import_node_fs2=require("fs"),import_node_path5=require("path"),import_cli17=require("storybook/internal/cli"),import_semver=__toESM(require("semver"),1),import_ts_dedent3=require("ts-dedent");var generator9=async(packageManager,npmOptions,options)=>{let monorepoRootPath=(0,import_node_path5.join)(__dirname,"..","..","..","..","..",".."),extraMain=options.linkable?{webpackFinal:`%%(config) => {
56
+ }`]:[];await configureMain({framework:{name:frameworkInclude,options:options.framework||{}},prefixes,storybookConfigFolder,addons:shouldApplyRequireWrapperOnPackageNames?addons.map(addon=>applyRequireWrapper(addon)):addons,extensions,language,...staticDir?{staticDirs:[(0,import_node_path2.join)("..",staticDir)]}:null,...extraMain,...type!=="framework"?{core:{builder:builderInclude}}:{}})}if(await configurePreview({frameworkPreviewParts,storybookConfigFolder,language,rendererId}),addScripts&&await packageManager.addStorybookCommandInScripts({port:6006}),addComponents){let templateLocation=hasFrameworkTemplates(framework)?framework:rendererId;if(!templateLocation)throw new Error(`Could not find template location for ${framework} or ${rendererId}`);await(0,import_cli3.copyTemplateFiles)({renderer:templateLocation,packageManager,language,destination:componentsDestinationPath,commonAssetsDir:(0,import_node_path2.join)(getCliDir(),"rendererAssets","common")})}}function getCliDir(){return(0,import_node_path2.dirname)(require.resolve("create-storybook/package.json"))}var generator=async(packageManager,npmOptions,options,commandOptions)=>{let angularJSON=new import_cli7.AngularJSON;if(!angularJSON.projects||angularJSON.projects&&Object.keys(angularJSON.projects).length===0)throw new Error("Storybook was not able to find any projects in your angular.json file. Are you sure this is an Angular CLI project?");if(angularJSON.projectsWithoutStorybook.length===0)throw new Error("Every project in your workspace is already set up with Storybook. There is nothing to do!");let angularProjectName=await angularJSON.getProjectName();(0,import_common2.commandLog)(`Adding Storybook support to your "${angularProjectName}" project`);let angularProject=angularJSON.getProjectSettingsByName(angularProjectName);if(!angularProject)throw new Error(`Somehow we were not able to retrieve the "${angularProjectName}" project in your angular.json file. This is likely a bug in Storybook, please file an issue.`);let{root,projectType}=angularProject,{projects}=angularJSON,useCompodoc=commandOptions?.yes?!0:await(0,import_cli7.promptForCompoDocs)(),storybookFolder=root?`${root}/.storybook`:".storybook";angularJSON.addStorybookEntries({angularProjectName,storybookFolder,useCompodoc,root}),angularJSON.write(),await baseGenerator(packageManager,npmOptions,{...options,builder:import_cli6.CoreBuilder.Webpack5,...useCompodoc&&{frameworkPreviewParts:{prefix:import_cli7.compoDocPreviewPrefix}}},"angular",{extraAddons:["@storybook/addon-onboarding"],...useCompodoc&&{extraPackages:["@compodoc/compodoc","@storybook/addon-docs"]},addScripts:!1,componentsDestinationPath:root?`${root}/src/stories`:void 0,storybookConfigFolder:storybookFolder,webpackCompiler:()=>{}},"angular"),Object.keys(projects).length===1&&packageManager.addScripts({storybook:`ng run ${angularProjectName}:storybook`,"build-storybook":`ng run ${angularProjectName}:build-storybook`});let projectTypeValue=projectType||"application";projectTypeValue!=="application"&&projectTypeValue!=="library"&&(projectTypeValue="application");let templateDir=(0,import_node_path3.join)(getCliDir(),"templates","angular",projectTypeValue);return templateDir&&(0,import_cli8.copyTemplate)(templateDir,root||void 0),{projectName:angularProjectName,configDir:storybookFolder}},ANGULAR_default=generator;var import_cli9=require("storybook/internal/cli");var generator2=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,{...options,builder:import_cli9.CoreBuilder.Webpack5},"ember",{staticDir:"dist"},"ember")},EMBER_default=generator2;var import_cli10=require("storybook/internal/cli");var generator3=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,options,"html",{webpackCompiler:({builder})=>builder===import_cli10.CoreBuilder.Webpack5?"swc":void 0})},HTML_default=generator3;var import_node_fs=require("fs"),import_node_path4=require("path"),import_cli11=require("storybook/internal/cli");var generator4=async(packageManager,npmOptions,options)=>{let staticDir;(0,import_node_fs.existsSync)((0,import_node_path4.join)(process.cwd(),"public"))&&(staticDir="public"),await baseGenerator(packageManager,npmOptions,{...options,builder:import_cli11.CoreBuilder.Webpack5},"react",{staticDir,extraAddons:["@storybook/addon-onboarding"],webpackCompiler:({builder})=>{}},"nextjs")},NEXTJS_default=generator4;var import_cli12=require("storybook/internal/cli");var generator5=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,options,"preact",{webpackCompiler:({builder})=>builder===import_cli12.CoreBuilder.Webpack5?"swc":void 0})},PREACT_default=generator5;var generator6=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,options,"qwik",{},"qwik")},QWIK_default=generator6;var import_cli13=require("storybook/internal/cli"),import_cli14=require("storybook/internal/cli");var generator7=async(packageManager,npmOptions,options)=>{let extraPackages=await(0,import_cli13.detectLanguage)(packageManager)===import_cli14.SupportedLanguage.JAVASCRIPT?["prop-types"]:[];await baseGenerator(packageManager,npmOptions,options,"react",{extraPackages,webpackCompiler:({builder})=>builder===import_cli14.CoreBuilder.Webpack5?"swc":void 0,extraAddons:["@storybook/addon-onboarding"]})},REACT_default=generator7;var import_cli15=require("storybook/internal/cli"),import_cli16=require("storybook/internal/cli"),generator8=async(packageManager,npmOptions)=>{let packageJson=await packageManager.retrievePackageJson(),missingReactDom=!packageJson.dependencies["react-dom"]&&!packageJson.devDependencies["react-dom"],reactVersion=packageJson.dependencies.react,packagesToResolve=[...["react-native-safe-area-context","@react-native-async-storage/async-storage","@react-native-community/datetimepicker","@react-native-community/slider","react-native-reanimated","react-native-gesture-handler","@gorhom/bottom-sheet","react-native-svg"].filter(dep=>!packageJson.dependencies[dep]&&!packageJson.devDependencies[dep]),"@storybook/addon-ondevice-controls","@storybook/addon-ondevice-actions","@storybook/react-native"],packagesWithFixedVersion=[],versionedPackages=await packageManager.getVersionedPackages(packagesToResolve),babelDependencies=await(0,import_cli15.getBabelDependencies)(packageManager,packageJson),packages=[];packages.push(...babelDependencies),packages.push(...packagesWithFixedVersion),packages.push(...versionedPackages),missingReactDom&&reactVersion&&packages.push(`react-dom@${reactVersion}`),await packageManager.addDependencies({...npmOptions,packageJson},packages),packageManager.addScripts({"storybook-generate":"sb-rn-get-stories"}),await(0,import_cli15.copyTemplateFiles)({packageManager,renderer:"react-native",language:import_cli16.SupportedLanguage.TYPESCRIPT_4_9,destination:".storybook"})},REACT_NATIVE_default=generator8;var import_node_fs2=require("fs"),import_node_path5=require("path"),import_cli17=require("storybook/internal/cli"),import_semver=__toESM(require("semver"),1),import_ts_dedent3=require("ts-dedent");var generator9=async(packageManager,npmOptions,options)=>{let monorepoRootPath=(0,import_node_path5.join)(__dirname,"..","..","..","..","..",".."),extraMain=options.linkable?{webpackFinal:`%%(config) => {
57
57
  // add monorepo root as a valid directory to import modules from
58
58
  config.resolve.plugins.forEach((p) => {
59
59
  if (Array.isArray(p.appSrcs)) {
@@ -100,10 +100,13 @@ The project types currently supported by Storybook are:
100
100
 
101
101
  ${import_chalk3.default.inverse(" export {default} from './.storybook'; ")}
102
102
 
103
- 2. Enable transformer.unstable_allowRequireContext in your metro config
103
+ 2. Wrap your metro config with the withStorybook enhancer function like this:
104
104
 
105
- For a more detailed guide go to:
106
- ${import_chalk3.default.cyan("https://github.com/storybookjs/react-native#existing-project")}
105
+ ${import_chalk3.default.inverse(" const withStorybook = require('@storybook/react-native/metro/withStorybook'); ")}
106
+ ${import_chalk3.default.inverse(" module.exports = withStorybook(defaultConfig); ")}
107
+
108
+ For more details go to:
109
+ ${import_chalk3.default.cyan("https://github.com/storybookjs/react-native#getting-started")}
107
110
 
108
111
  Then to run your Storybook, type:
109
112
 
package/dist/bin/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { initiate } from '../chunk-2CK2SGPP.js';
1
+ import { initiate } from '../chunk-E6LETAAE.js';
2
2
  import { versions } from 'storybook/internal/common';
3
3
  import { addToGlobalContext } from 'storybook/internal/telemetry';
4
4
  import { program } from 'commander';
@@ -73,7 +73,7 @@ var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropD
73
73
  */
74
74
  function getAbsolutePath(value: string): any {
75
75
  return dirname(require.resolve(join(value, 'package.json')))
76
- }`]:[];await configureMain({framework:{name:frameworkInclude,options:options.framework||{}},prefixes,storybookConfigFolder,addons:shouldApplyRequireWrapperOnPackageNames?addons.map(addon=>applyRequireWrapper(addon)):addons,extensions,language,...staticDir?{staticDirs:[join("..",staticDir)]}:null,...extraMain,...type!=="framework"?{core:{builder:builderInclude}}:{}});}if(await configurePreview({frameworkPreviewParts,storybookConfigFolder,language,rendererId}),addScripts&&await packageManager.addStorybookCommandInScripts({port:6006}),addComponents){let templateLocation=hasFrameworkTemplates(framework)?framework:rendererId;if(!templateLocation)throw new Error(`Could not find template location for ${framework} or ${rendererId}`);await copyTemplateFiles({renderer:templateLocation,packageManager,language,destination:componentsDestinationPath,commonAssetsDir:join(getCliDir(),"rendererAssets","common")});}}function getCliDir(){return dirname(__require.resolve("create-storybook/package.json"))}var generator=async(packageManager,npmOptions,options,commandOptions)=>{let angularJSON=new AngularJSON;if(!angularJSON.projects||angularJSON.projects&&Object.keys(angularJSON.projects).length===0)throw new Error("Storybook was not able to find any projects in your angular.json file. Are you sure this is an Angular CLI project?");if(angularJSON.projectsWithoutStorybook.length===0)throw new Error("Every project in your workspace is already set up with Storybook. There is nothing to do!");let angularProjectName=await angularJSON.getProjectName();commandLog(`Adding Storybook support to your "${angularProjectName}" project`);let angularProject=angularJSON.getProjectSettingsByName(angularProjectName);if(!angularProject)throw new Error(`Somehow we were not able to retrieve the "${angularProjectName}" project in your angular.json file. This is likely a bug in Storybook, please file an issue.`);let{root,projectType}=angularProject,{projects}=angularJSON,useCompodoc=commandOptions?.yes?!0:await promptForCompoDocs(),storybookFolder=root?`${root}/.storybook`:".storybook";angularJSON.addStorybookEntries({angularProjectName,storybookFolder,useCompodoc,root}),angularJSON.write(),await baseGenerator(packageManager,npmOptions,{...options,builder:CoreBuilder.Webpack5,...useCompodoc&&{frameworkPreviewParts:{prefix:compoDocPreviewPrefix}}},"angular",{extraAddons:["@storybook/addon-onboarding"],...useCompodoc&&{extraPackages:["@compodoc/compodoc","@storybook/addon-docs"]},addScripts:!1,componentsDestinationPath:root?`${root}/src/stories`:void 0,storybookConfigFolder:storybookFolder,webpackCompiler:()=>{}},"angular"),Object.keys(projects).length===1&&packageManager.addScripts({storybook:`ng run ${angularProjectName}:storybook`,"build-storybook":`ng run ${angularProjectName}:build-storybook`});let projectTypeValue=projectType||"application";projectTypeValue!=="application"&&projectTypeValue!=="library"&&(projectTypeValue="application");let templateDir=join(getCliDir(),"templates","angular",projectTypeValue);return templateDir&&copyTemplate(templateDir,root||void 0),{projectName:angularProjectName,configDir:storybookFolder}},ANGULAR_default=generator;var generator2=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,{...options,builder:CoreBuilder.Webpack5},"ember",{staticDir:"dist"},"ember");},EMBER_default=generator2;var generator3=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,options,"html",{webpackCompiler:({builder})=>builder===CoreBuilder.Webpack5?"swc":void 0});},HTML_default=generator3;var generator4=async(packageManager,npmOptions,options)=>{let staticDir;existsSync(join(process.cwd(),"public"))&&(staticDir="public"),await baseGenerator(packageManager,npmOptions,{...options,builder:CoreBuilder.Webpack5},"react",{staticDir,extraAddons:["@storybook/addon-onboarding"],webpackCompiler:({builder})=>{}},"nextjs");},NEXTJS_default=generator4;var generator5=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,options,"preact",{webpackCompiler:({builder})=>builder===CoreBuilder.Webpack5?"swc":void 0});},PREACT_default=generator5;var generator6=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,options,"qwik",{},"qwik");},QWIK_default=generator6;var generator7=async(packageManager,npmOptions,options)=>{let extraPackages=await detectLanguage(packageManager)===SupportedLanguage.JAVASCRIPT?["prop-types"]:[];await baseGenerator(packageManager,npmOptions,options,"react",{extraPackages,webpackCompiler:({builder})=>builder===CoreBuilder.Webpack5?"swc":void 0,extraAddons:["@storybook/addon-onboarding"]});},REACT_default=generator7;var generator8=async(packageManager,npmOptions)=>{let packageJson=await packageManager.retrievePackageJson(),missingReactDom=!packageJson.dependencies["react-dom"]&&!packageJson.devDependencies["react-dom"],reactVersion=packageJson.dependencies.react,packagesToResolve=[...["react-native-safe-area-context","@react-native-async-storage/async-storage","@react-native-community/datetimepicker","@react-native-community/slider"].filter(dep=>!packageJson.dependencies[dep]&&!packageJson.devDependencies[dep]),"@storybook/addon-ondevice-controls","@storybook/addon-ondevice-actions","@storybook/react-native"],packagesWithFixedVersion=[],versionedPackages=await packageManager.getVersionedPackages(packagesToResolve),babelDependencies=await getBabelDependencies(packageManager,packageJson),packages=[];packages.push(...babelDependencies),packages.push(...packagesWithFixedVersion),packages.push(...versionedPackages),missingReactDom&&reactVersion&&packages.push(`react-dom@${reactVersion}`),await packageManager.addDependencies({...npmOptions,packageJson},packages),packageManager.addScripts({"storybook-generate":"sb-rn-get-stories"}),await copyTemplateFiles({packageManager,renderer:"react-native",language:SupportedLanguage.TYPESCRIPT_3_8,destination:".storybook"});},REACT_NATIVE_default=generator8;var generator9=async(packageManager,npmOptions,options)=>{let monorepoRootPath=join(__dirname,"..","..","..","..","..",".."),extraMain=options.linkable?{webpackFinal:`%%(config) => {
76
+ }`]:[];await configureMain({framework:{name:frameworkInclude,options:options.framework||{}},prefixes,storybookConfigFolder,addons:shouldApplyRequireWrapperOnPackageNames?addons.map(addon=>applyRequireWrapper(addon)):addons,extensions,language,...staticDir?{staticDirs:[join("..",staticDir)]}:null,...extraMain,...type!=="framework"?{core:{builder:builderInclude}}:{}});}if(await configurePreview({frameworkPreviewParts,storybookConfigFolder,language,rendererId}),addScripts&&await packageManager.addStorybookCommandInScripts({port:6006}),addComponents){let templateLocation=hasFrameworkTemplates(framework)?framework:rendererId;if(!templateLocation)throw new Error(`Could not find template location for ${framework} or ${rendererId}`);await copyTemplateFiles({renderer:templateLocation,packageManager,language,destination:componentsDestinationPath,commonAssetsDir:join(getCliDir(),"rendererAssets","common")});}}function getCliDir(){return dirname(__require.resolve("create-storybook/package.json"))}var generator=async(packageManager,npmOptions,options,commandOptions)=>{let angularJSON=new AngularJSON;if(!angularJSON.projects||angularJSON.projects&&Object.keys(angularJSON.projects).length===0)throw new Error("Storybook was not able to find any projects in your angular.json file. Are you sure this is an Angular CLI project?");if(angularJSON.projectsWithoutStorybook.length===0)throw new Error("Every project in your workspace is already set up with Storybook. There is nothing to do!");let angularProjectName=await angularJSON.getProjectName();commandLog(`Adding Storybook support to your "${angularProjectName}" project`);let angularProject=angularJSON.getProjectSettingsByName(angularProjectName);if(!angularProject)throw new Error(`Somehow we were not able to retrieve the "${angularProjectName}" project in your angular.json file. This is likely a bug in Storybook, please file an issue.`);let{root,projectType}=angularProject,{projects}=angularJSON,useCompodoc=commandOptions?.yes?!0:await promptForCompoDocs(),storybookFolder=root?`${root}/.storybook`:".storybook";angularJSON.addStorybookEntries({angularProjectName,storybookFolder,useCompodoc,root}),angularJSON.write(),await baseGenerator(packageManager,npmOptions,{...options,builder:CoreBuilder.Webpack5,...useCompodoc&&{frameworkPreviewParts:{prefix:compoDocPreviewPrefix}}},"angular",{extraAddons:["@storybook/addon-onboarding"],...useCompodoc&&{extraPackages:["@compodoc/compodoc","@storybook/addon-docs"]},addScripts:!1,componentsDestinationPath:root?`${root}/src/stories`:void 0,storybookConfigFolder:storybookFolder,webpackCompiler:()=>{}},"angular"),Object.keys(projects).length===1&&packageManager.addScripts({storybook:`ng run ${angularProjectName}:storybook`,"build-storybook":`ng run ${angularProjectName}:build-storybook`});let projectTypeValue=projectType||"application";projectTypeValue!=="application"&&projectTypeValue!=="library"&&(projectTypeValue="application");let templateDir=join(getCliDir(),"templates","angular",projectTypeValue);return templateDir&&copyTemplate(templateDir,root||void 0),{projectName:angularProjectName,configDir:storybookFolder}},ANGULAR_default=generator;var generator2=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,{...options,builder:CoreBuilder.Webpack5},"ember",{staticDir:"dist"},"ember");},EMBER_default=generator2;var generator3=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,options,"html",{webpackCompiler:({builder})=>builder===CoreBuilder.Webpack5?"swc":void 0});},HTML_default=generator3;var generator4=async(packageManager,npmOptions,options)=>{let staticDir;existsSync(join(process.cwd(),"public"))&&(staticDir="public"),await baseGenerator(packageManager,npmOptions,{...options,builder:CoreBuilder.Webpack5},"react",{staticDir,extraAddons:["@storybook/addon-onboarding"],webpackCompiler:({builder})=>{}},"nextjs");},NEXTJS_default=generator4;var generator5=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,options,"preact",{webpackCompiler:({builder})=>builder===CoreBuilder.Webpack5?"swc":void 0});},PREACT_default=generator5;var generator6=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,options,"qwik",{},"qwik");},QWIK_default=generator6;var generator7=async(packageManager,npmOptions,options)=>{let extraPackages=await detectLanguage(packageManager)===SupportedLanguage.JAVASCRIPT?["prop-types"]:[];await baseGenerator(packageManager,npmOptions,options,"react",{extraPackages,webpackCompiler:({builder})=>builder===CoreBuilder.Webpack5?"swc":void 0,extraAddons:["@storybook/addon-onboarding"]});},REACT_default=generator7;var generator8=async(packageManager,npmOptions)=>{let packageJson=await packageManager.retrievePackageJson(),missingReactDom=!packageJson.dependencies["react-dom"]&&!packageJson.devDependencies["react-dom"],reactVersion=packageJson.dependencies.react,packagesToResolve=[...["react-native-safe-area-context","@react-native-async-storage/async-storage","@react-native-community/datetimepicker","@react-native-community/slider","react-native-reanimated","react-native-gesture-handler","@gorhom/bottom-sheet","react-native-svg"].filter(dep=>!packageJson.dependencies[dep]&&!packageJson.devDependencies[dep]),"@storybook/addon-ondevice-controls","@storybook/addon-ondevice-actions","@storybook/react-native"],packagesWithFixedVersion=[],versionedPackages=await packageManager.getVersionedPackages(packagesToResolve),babelDependencies=await getBabelDependencies(packageManager,packageJson),packages=[];packages.push(...babelDependencies),packages.push(...packagesWithFixedVersion),packages.push(...versionedPackages),missingReactDom&&reactVersion&&packages.push(`react-dom@${reactVersion}`),await packageManager.addDependencies({...npmOptions,packageJson},packages),packageManager.addScripts({"storybook-generate":"sb-rn-get-stories"}),await copyTemplateFiles({packageManager,renderer:"react-native",language:SupportedLanguage.TYPESCRIPT_4_9,destination:".storybook"});},REACT_NATIVE_default=generator8;var generator9=async(packageManager,npmOptions,options)=>{let monorepoRootPath=join(__dirname,"..","..","..","..","..",".."),extraMain=options.linkable?{webpackFinal:`%%(config) => {
77
77
  // add monorepo root as a valid directory to import modules from
78
78
  config.resolve.plugins.forEach((p) => {
79
79
  if (Array.isArray(p.appSrcs)) {
@@ -120,10 +120,13 @@ The project types currently supported by Storybook are:
120
120
 
121
121
  ${chalk3.inverse(" export {default} from './.storybook'; ")}
122
122
 
123
- 2. Enable transformer.unstable_allowRequireContext in your metro config
123
+ 2. Wrap your metro config with the withStorybook enhancer function like this:
124
124
 
125
- For a more detailed guide go to:
126
- ${chalk3.cyan("https://github.com/storybookjs/react-native#existing-project")}
125
+ ${chalk3.inverse(" const withStorybook = require('@storybook/react-native/metro/withStorybook'); ")}
126
+ ${chalk3.inverse(" module.exports = withStorybook(defaultConfig); ")}
127
+
128
+ For more details go to:
129
+ ${chalk3.cyan("https://github.com/storybookjs/react-native#getting-started")}
127
130
 
128
131
  Then to run your Storybook, type:
129
132
 
package/dist/index.cjs CHANGED
@@ -53,7 +53,7 @@
53
53
  */
54
54
  function getAbsolutePath(value: string): any {
55
55
  return dirname(require.resolve(join(value, 'package.json')))
56
- }`]:[];await configureMain({framework:{name:frameworkInclude,options:options.framework||{}},prefixes,storybookConfigFolder,addons:shouldApplyRequireWrapperOnPackageNames?addons.map(addon=>applyRequireWrapper(addon)):addons,extensions,language,...staticDir?{staticDirs:[(0,import_node_path2.join)("..",staticDir)]}:null,...extraMain,...type!=="framework"?{core:{builder:builderInclude}}:{}})}if(await configurePreview({frameworkPreviewParts,storybookConfigFolder,language,rendererId}),addScripts&&await packageManager.addStorybookCommandInScripts({port:6006}),addComponents){let templateLocation=hasFrameworkTemplates(framework)?framework:rendererId;if(!templateLocation)throw new Error(`Could not find template location for ${framework} or ${rendererId}`);await(0,import_cli3.copyTemplateFiles)({renderer:templateLocation,packageManager,language,destination:componentsDestinationPath,commonAssetsDir:(0,import_node_path2.join)(getCliDir(),"rendererAssets","common")})}}function getCliDir(){return(0,import_node_path2.dirname)(require.resolve("create-storybook/package.json"))}var generator=async(packageManager,npmOptions,options,commandOptions)=>{let angularJSON=new import_cli7.AngularJSON;if(!angularJSON.projects||angularJSON.projects&&Object.keys(angularJSON.projects).length===0)throw new Error("Storybook was not able to find any projects in your angular.json file. Are you sure this is an Angular CLI project?");if(angularJSON.projectsWithoutStorybook.length===0)throw new Error("Every project in your workspace is already set up with Storybook. There is nothing to do!");let angularProjectName=await angularJSON.getProjectName();(0,import_common2.commandLog)(`Adding Storybook support to your "${angularProjectName}" project`);let angularProject=angularJSON.getProjectSettingsByName(angularProjectName);if(!angularProject)throw new Error(`Somehow we were not able to retrieve the "${angularProjectName}" project in your angular.json file. This is likely a bug in Storybook, please file an issue.`);let{root,projectType}=angularProject,{projects}=angularJSON,useCompodoc=commandOptions?.yes?!0:await(0,import_cli7.promptForCompoDocs)(),storybookFolder=root?`${root}/.storybook`:".storybook";angularJSON.addStorybookEntries({angularProjectName,storybookFolder,useCompodoc,root}),angularJSON.write(),await baseGenerator(packageManager,npmOptions,{...options,builder:import_cli6.CoreBuilder.Webpack5,...useCompodoc&&{frameworkPreviewParts:{prefix:import_cli7.compoDocPreviewPrefix}}},"angular",{extraAddons:["@storybook/addon-onboarding"],...useCompodoc&&{extraPackages:["@compodoc/compodoc","@storybook/addon-docs"]},addScripts:!1,componentsDestinationPath:root?`${root}/src/stories`:void 0,storybookConfigFolder:storybookFolder,webpackCompiler:()=>{}},"angular"),Object.keys(projects).length===1&&packageManager.addScripts({storybook:`ng run ${angularProjectName}:storybook`,"build-storybook":`ng run ${angularProjectName}:build-storybook`});let projectTypeValue=projectType||"application";projectTypeValue!=="application"&&projectTypeValue!=="library"&&(projectTypeValue="application");let templateDir=(0,import_node_path3.join)(getCliDir(),"templates","angular",projectTypeValue);return templateDir&&(0,import_cli8.copyTemplate)(templateDir,root||void 0),{projectName:angularProjectName,configDir:storybookFolder}},ANGULAR_default=generator;var import_cli9=require("storybook/internal/cli");var generator2=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,{...options,builder:import_cli9.CoreBuilder.Webpack5},"ember",{staticDir:"dist"},"ember")},EMBER_default=generator2;var import_cli10=require("storybook/internal/cli");var generator3=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,options,"html",{webpackCompiler:({builder})=>builder===import_cli10.CoreBuilder.Webpack5?"swc":void 0})},HTML_default=generator3;var import_node_fs=require("fs"),import_node_path4=require("path"),import_cli11=require("storybook/internal/cli");var generator4=async(packageManager,npmOptions,options)=>{let staticDir;(0,import_node_fs.existsSync)((0,import_node_path4.join)(process.cwd(),"public"))&&(staticDir="public"),await baseGenerator(packageManager,npmOptions,{...options,builder:import_cli11.CoreBuilder.Webpack5},"react",{staticDir,extraAddons:["@storybook/addon-onboarding"],webpackCompiler:({builder})=>{}},"nextjs")},NEXTJS_default=generator4;var import_cli12=require("storybook/internal/cli");var generator5=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,options,"preact",{webpackCompiler:({builder})=>builder===import_cli12.CoreBuilder.Webpack5?"swc":void 0})},PREACT_default=generator5;var generator6=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,options,"qwik",{},"qwik")},QWIK_default=generator6;var import_cli13=require("storybook/internal/cli"),import_cli14=require("storybook/internal/cli");var generator7=async(packageManager,npmOptions,options)=>{let extraPackages=await(0,import_cli13.detectLanguage)(packageManager)===import_cli14.SupportedLanguage.JAVASCRIPT?["prop-types"]:[];await baseGenerator(packageManager,npmOptions,options,"react",{extraPackages,webpackCompiler:({builder})=>builder===import_cli14.CoreBuilder.Webpack5?"swc":void 0,extraAddons:["@storybook/addon-onboarding"]})},REACT_default=generator7;var import_cli15=require("storybook/internal/cli"),import_cli16=require("storybook/internal/cli"),generator8=async(packageManager,npmOptions)=>{let packageJson=await packageManager.retrievePackageJson(),missingReactDom=!packageJson.dependencies["react-dom"]&&!packageJson.devDependencies["react-dom"],reactVersion=packageJson.dependencies.react,packagesToResolve=[...["react-native-safe-area-context","@react-native-async-storage/async-storage","@react-native-community/datetimepicker","@react-native-community/slider"].filter(dep=>!packageJson.dependencies[dep]&&!packageJson.devDependencies[dep]),"@storybook/addon-ondevice-controls","@storybook/addon-ondevice-actions","@storybook/react-native"],packagesWithFixedVersion=[],versionedPackages=await packageManager.getVersionedPackages(packagesToResolve),babelDependencies=await(0,import_cli15.getBabelDependencies)(packageManager,packageJson),packages=[];packages.push(...babelDependencies),packages.push(...packagesWithFixedVersion),packages.push(...versionedPackages),missingReactDom&&reactVersion&&packages.push(`react-dom@${reactVersion}`),await packageManager.addDependencies({...npmOptions,packageJson},packages),packageManager.addScripts({"storybook-generate":"sb-rn-get-stories"}),await(0,import_cli15.copyTemplateFiles)({packageManager,renderer:"react-native",language:import_cli16.SupportedLanguage.TYPESCRIPT_3_8,destination:".storybook"})},REACT_NATIVE_default=generator8;var import_node_fs2=require("fs"),import_node_path5=require("path"),import_cli17=require("storybook/internal/cli"),import_semver=__toESM(require("semver"),1),import_ts_dedent3=require("ts-dedent");var generator9=async(packageManager,npmOptions,options)=>{let monorepoRootPath=(0,import_node_path5.join)(__dirname,"..","..","..","..","..",".."),extraMain=options.linkable?{webpackFinal:`%%(config) => {
56
+ }`]:[];await configureMain({framework:{name:frameworkInclude,options:options.framework||{}},prefixes,storybookConfigFolder,addons:shouldApplyRequireWrapperOnPackageNames?addons.map(addon=>applyRequireWrapper(addon)):addons,extensions,language,...staticDir?{staticDirs:[(0,import_node_path2.join)("..",staticDir)]}:null,...extraMain,...type!=="framework"?{core:{builder:builderInclude}}:{}})}if(await configurePreview({frameworkPreviewParts,storybookConfigFolder,language,rendererId}),addScripts&&await packageManager.addStorybookCommandInScripts({port:6006}),addComponents){let templateLocation=hasFrameworkTemplates(framework)?framework:rendererId;if(!templateLocation)throw new Error(`Could not find template location for ${framework} or ${rendererId}`);await(0,import_cli3.copyTemplateFiles)({renderer:templateLocation,packageManager,language,destination:componentsDestinationPath,commonAssetsDir:(0,import_node_path2.join)(getCliDir(),"rendererAssets","common")})}}function getCliDir(){return(0,import_node_path2.dirname)(require.resolve("create-storybook/package.json"))}var generator=async(packageManager,npmOptions,options,commandOptions)=>{let angularJSON=new import_cli7.AngularJSON;if(!angularJSON.projects||angularJSON.projects&&Object.keys(angularJSON.projects).length===0)throw new Error("Storybook was not able to find any projects in your angular.json file. Are you sure this is an Angular CLI project?");if(angularJSON.projectsWithoutStorybook.length===0)throw new Error("Every project in your workspace is already set up with Storybook. There is nothing to do!");let angularProjectName=await angularJSON.getProjectName();(0,import_common2.commandLog)(`Adding Storybook support to your "${angularProjectName}" project`);let angularProject=angularJSON.getProjectSettingsByName(angularProjectName);if(!angularProject)throw new Error(`Somehow we were not able to retrieve the "${angularProjectName}" project in your angular.json file. This is likely a bug in Storybook, please file an issue.`);let{root,projectType}=angularProject,{projects}=angularJSON,useCompodoc=commandOptions?.yes?!0:await(0,import_cli7.promptForCompoDocs)(),storybookFolder=root?`${root}/.storybook`:".storybook";angularJSON.addStorybookEntries({angularProjectName,storybookFolder,useCompodoc,root}),angularJSON.write(),await baseGenerator(packageManager,npmOptions,{...options,builder:import_cli6.CoreBuilder.Webpack5,...useCompodoc&&{frameworkPreviewParts:{prefix:import_cli7.compoDocPreviewPrefix}}},"angular",{extraAddons:["@storybook/addon-onboarding"],...useCompodoc&&{extraPackages:["@compodoc/compodoc","@storybook/addon-docs"]},addScripts:!1,componentsDestinationPath:root?`${root}/src/stories`:void 0,storybookConfigFolder:storybookFolder,webpackCompiler:()=>{}},"angular"),Object.keys(projects).length===1&&packageManager.addScripts({storybook:`ng run ${angularProjectName}:storybook`,"build-storybook":`ng run ${angularProjectName}:build-storybook`});let projectTypeValue=projectType||"application";projectTypeValue!=="application"&&projectTypeValue!=="library"&&(projectTypeValue="application");let templateDir=(0,import_node_path3.join)(getCliDir(),"templates","angular",projectTypeValue);return templateDir&&(0,import_cli8.copyTemplate)(templateDir,root||void 0),{projectName:angularProjectName,configDir:storybookFolder}},ANGULAR_default=generator;var import_cli9=require("storybook/internal/cli");var generator2=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,{...options,builder:import_cli9.CoreBuilder.Webpack5},"ember",{staticDir:"dist"},"ember")},EMBER_default=generator2;var import_cli10=require("storybook/internal/cli");var generator3=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,options,"html",{webpackCompiler:({builder})=>builder===import_cli10.CoreBuilder.Webpack5?"swc":void 0})},HTML_default=generator3;var import_node_fs=require("fs"),import_node_path4=require("path"),import_cli11=require("storybook/internal/cli");var generator4=async(packageManager,npmOptions,options)=>{let staticDir;(0,import_node_fs.existsSync)((0,import_node_path4.join)(process.cwd(),"public"))&&(staticDir="public"),await baseGenerator(packageManager,npmOptions,{...options,builder:import_cli11.CoreBuilder.Webpack5},"react",{staticDir,extraAddons:["@storybook/addon-onboarding"],webpackCompiler:({builder})=>{}},"nextjs")},NEXTJS_default=generator4;var import_cli12=require("storybook/internal/cli");var generator5=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,options,"preact",{webpackCompiler:({builder})=>builder===import_cli12.CoreBuilder.Webpack5?"swc":void 0})},PREACT_default=generator5;var generator6=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,options,"qwik",{},"qwik")},QWIK_default=generator6;var import_cli13=require("storybook/internal/cli"),import_cli14=require("storybook/internal/cli");var generator7=async(packageManager,npmOptions,options)=>{let extraPackages=await(0,import_cli13.detectLanguage)(packageManager)===import_cli14.SupportedLanguage.JAVASCRIPT?["prop-types"]:[];await baseGenerator(packageManager,npmOptions,options,"react",{extraPackages,webpackCompiler:({builder})=>builder===import_cli14.CoreBuilder.Webpack5?"swc":void 0,extraAddons:["@storybook/addon-onboarding"]})},REACT_default=generator7;var import_cli15=require("storybook/internal/cli"),import_cli16=require("storybook/internal/cli"),generator8=async(packageManager,npmOptions)=>{let packageJson=await packageManager.retrievePackageJson(),missingReactDom=!packageJson.dependencies["react-dom"]&&!packageJson.devDependencies["react-dom"],reactVersion=packageJson.dependencies.react,packagesToResolve=[...["react-native-safe-area-context","@react-native-async-storage/async-storage","@react-native-community/datetimepicker","@react-native-community/slider","react-native-reanimated","react-native-gesture-handler","@gorhom/bottom-sheet","react-native-svg"].filter(dep=>!packageJson.dependencies[dep]&&!packageJson.devDependencies[dep]),"@storybook/addon-ondevice-controls","@storybook/addon-ondevice-actions","@storybook/react-native"],packagesWithFixedVersion=[],versionedPackages=await packageManager.getVersionedPackages(packagesToResolve),babelDependencies=await(0,import_cli15.getBabelDependencies)(packageManager,packageJson),packages=[];packages.push(...babelDependencies),packages.push(...packagesWithFixedVersion),packages.push(...versionedPackages),missingReactDom&&reactVersion&&packages.push(`react-dom@${reactVersion}`),await packageManager.addDependencies({...npmOptions,packageJson},packages),packageManager.addScripts({"storybook-generate":"sb-rn-get-stories"}),await(0,import_cli15.copyTemplateFiles)({packageManager,renderer:"react-native",language:import_cli16.SupportedLanguage.TYPESCRIPT_4_9,destination:".storybook"})},REACT_NATIVE_default=generator8;var import_node_fs2=require("fs"),import_node_path5=require("path"),import_cli17=require("storybook/internal/cli"),import_semver=__toESM(require("semver"),1),import_ts_dedent3=require("ts-dedent");var generator9=async(packageManager,npmOptions,options)=>{let monorepoRootPath=(0,import_node_path5.join)(__dirname,"..","..","..","..","..",".."),extraMain=options.linkable?{webpackFinal:`%%(config) => {
57
57
  // add monorepo root as a valid directory to import modules from
58
58
  config.resolve.plugins.forEach((p) => {
59
59
  if (Array.isArray(p.appSrcs)) {
@@ -100,10 +100,13 @@ The project types currently supported by Storybook are:
100
100
 
101
101
  ${import_chalk3.default.inverse(" export {default} from './.storybook'; ")}
102
102
 
103
- 2. Enable transformer.unstable_allowRequireContext in your metro config
103
+ 2. Wrap your metro config with the withStorybook enhancer function like this:
104
104
 
105
- For a more detailed guide go to:
106
- ${import_chalk3.default.cyan("https://github.com/storybookjs/react-native#existing-project")}
105
+ ${import_chalk3.default.inverse(" const withStorybook = require('@storybook/react-native/metro/withStorybook'); ")}
106
+ ${import_chalk3.default.inverse(" module.exports = withStorybook(defaultConfig); ")}
107
+
108
+ For more details go to:
109
+ ${import_chalk3.default.cyan("https://github.com/storybookjs/react-native#getting-started")}
107
110
 
108
111
  Then to run your Storybook, type:
109
112
 
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- export { doInitiate as initiate } from './chunk-2CK2SGPP.js';
1
+ export { doInitiate as initiate } from './chunk-E6LETAAE.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-storybook",
3
- "version": "8.3.3",
3
+ "version": "8.3.5",
4
4
  "description": "Initialize Storybook into your project",
5
5
  "homepage": "https://github.com/storybookjs/storybook/tree/next/code/lib/create-storybook",
6
6
  "bugs": {
@@ -66,7 +66,7 @@
66
66
  "prettier": "^3.1.1",
67
67
  "prompts": "^2.4.0",
68
68
  "semver": "^7.3.7",
69
- "storybook": "8.3.3",
69
+ "storybook": "8.3.5",
70
70
  "tiny-invariant": "^1.3.1",
71
71
  "ts-dedent": "^2.0.0"
72
72
  },