@storybook/cli 0.0.0-pr-26055-sha-bcc55126 → 0.0.0-pr-22285-sha-87d007dc

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.
package/dist/generate.js CHANGED
@@ -511,16 +511,15 @@ ${error.stack}`),fixSummary.failed[f.id]=error.message),fixResults[f.id]="check_
511
511
 
512
512
  To learn more about this change, see: ${import_chalk29.default.yellow("https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#mdx-docs-files")}
513
513
  `},async run({dryRun,mainConfigPath,result:{nextStoriesEntries}}){logger22.info(import_ts_dedent34.default`✅ Setting 'stories' config:
514
- ${JSON.stringify(nextStoriesEntries,null,2)}`),dryRun||await updateMainConfig({mainConfigPath,dryRun:!!dryRun},async main=>{main.setFieldValue(["stories"],nextStoriesEntries)})}};var import_core_common20=require("@storybook/core-common");var logger23=console;async function migrate(migration,{glob:glob3,dryRun,list,rename,parser}){if(list)(0,import_codemod.listCodemods)().forEach(key=>logger23.log(key));else if(migration){if(migration==="mdx-to-csf"&&!dryRun){let packageManager=import_core_common20.JsPackageManagerFactory.getPackageManager(),[packageJson,storybookVersion]=await Promise.all([packageManager.retrievePackageJson(),(0,import_core_common20.getCoercedStorybookVersion)(packageManager)]),{configDir:inferredConfigDir,mainConfig:mainConfigPath}=(0,import_core_common20.getStorybookInfo)(packageJson),configDir=inferredConfigDir||".storybook";if(!storybookVersion)throw new Error("Could not determine Storybook version");if(!mainConfigPath)throw new Error("Could not determine main config path");await runFixes({fixes:[bareMdxStoriesGlob],configDir,mainConfigPath,packageManager,storybookVersion}),await addStorybookBlocksPackage()}await(0,import_codemod.runCodemod)(migration,{glob:glob3,dryRun,logger:logger23,rename,parser})}else throw new Error("Migrate: please specify a migration name or --list")}async function addStorybookBlocksPackage(){let packageManager=import_core_common20.JsPackageManagerFactory.getPackageManager(),packageJson=await packageManager.retrievePackageJson(),versionToInstall=getStorybookVersionSpecifier(await packageManager.retrievePackageJson());logger23.info('\u2705 Adding "@storybook/blocks" package'),await packageManager.addDependencies({installAsDevDependencies:!0,packageJson},[`@storybook/blocks@${versionToInstall}`])}var import_cross_spawn2=require("cross-spawn"),import_telemetry3=require("@storybook/telemetry"),import_semver25=__toESM(require("semver")),import_node_logger5=require("@storybook/node-logger"),import_core_server2=require("@storybook/core-server"),import_server_errors4=require("@storybook/core-events/server-errors"),import_chalk31=__toESM(require("chalk")),import_ts_dedent39=__toESM(require("ts-dedent"));var import_core_common21=require("@storybook/core-common");var import_node_logger4=require("@storybook/node-logger"),import_chalk30=__toESM(require("chalk"));var import_promises2=require("fs/promises"),excludesFalse=x=>x!==!1,blockers=()=>[Promise.resolve().then(()=>(init_block_storystorev6(),block_storystorev6_exports)),Promise.resolve().then(()=>(init_block_stories_mdx(),block_stories_mdx_exports)),Promise.resolve().then(()=>(init_block_dependencies_versions(),block_dependencies_versions_exports)),Promise.resolve().then(()=>(init_block_node_version(),block_node_version_exports))],autoblock=async(options,list=blockers())=>{if(list.length===0)return null;import_node_logger4.logger.info("Checking for upgrade blockers...");let faults=(await Promise.all(list.map(async i=>{let{blocker:blocker5}=await i,result=await blocker5.check(options);return result?{id:blocker5.id,value:!0,message:blocker5.message(options,result),log:blocker5.log(options,result)}:!1}))).filter(excludesFalse);if(faults.length>0){let LOG_FILE_NAME3="migration-storybook.log",messages={welcome:"Blocking your upgrade because of the following issues:",reminder:import_chalk30.default.yellow("Fix the above issues and try running the upgrade command again."),logfile:import_chalk30.default.yellow(`You can find more details in ./${LOG_FILE_NAME3}.`)},borderColor="#FC521F";return import_node_logger4.logger.plain("Oh no.."),import_node_logger4.logger.plain(boxen([messages.welcome].concat(faults.map(i=>i.message)).concat([messages.reminder]).concat([messages.logfile]).join(`
514
+ ${JSON.stringify(nextStoriesEntries,null,2)}`),dryRun||await updateMainConfig({mainConfigPath,dryRun:!!dryRun},async main=>{main.setFieldValue(["stories"],nextStoriesEntries)})}};var import_core_common20=require("@storybook/core-common");var logger23=console;async function migrate(migration,{glob:glob3,dryRun,list,rename,parser}){if(list)(0,import_codemod.listCodemods)().forEach(key=>logger23.log(key));else if(migration){if(migration==="mdx-to-csf"&&!dryRun){let packageManager=import_core_common20.JsPackageManagerFactory.getPackageManager(),[packageJson,storybookVersion]=await Promise.all([packageManager.retrievePackageJson(),(0,import_core_common20.getCoercedStorybookVersion)(packageManager)]),{configDir:inferredConfigDir,mainConfig:mainConfigPath}=(0,import_core_common20.getStorybookInfo)(packageJson),configDir=inferredConfigDir||".storybook";if(!storybookVersion)throw new Error("Could not determine Storybook version");if(!mainConfigPath)throw new Error("Could not determine main config path");await runFixes({fixes:[bareMdxStoriesGlob],configDir,mainConfigPath,packageManager,storybookVersion}),await addStorybookBlocksPackage()}await(0,import_codemod.runCodemod)(migration,{glob:glob3,dryRun,logger:logger23,rename,parser})}else throw new Error("Migrate: please specify a migration name or --list")}async function addStorybookBlocksPackage(){let packageManager=import_core_common20.JsPackageManagerFactory.getPackageManager(),packageJson=await packageManager.retrievePackageJson(),versionToInstall=getStorybookVersionSpecifier(await packageManager.retrievePackageJson());logger23.info('\u2705 Adding "@storybook/blocks" package'),await packageManager.addDependencies({installAsDevDependencies:!0,packageJson},[`@storybook/blocks@${versionToInstall}`])}var import_cross_spawn=require("cross-spawn"),import_telemetry3=require("@storybook/telemetry"),import_semver24=__toESM(require("semver")),import_node_logger5=require("@storybook/node-logger"),import_core_server2=require("@storybook/core-server"),import_server_errors4=require("@storybook/core-events/server-errors"),import_chalk31=__toESM(require("chalk")),import_ts_dedent39=__toESM(require("ts-dedent"));var import_core_common21=require("@storybook/core-common");var import_node_logger4=require("@storybook/node-logger"),import_chalk30=__toESM(require("chalk"));var import_promises2=require("fs/promises"),excludesFalse=x=>x!==!1,blockers=()=>[Promise.resolve().then(()=>(init_block_storystorev6(),block_storystorev6_exports)),Promise.resolve().then(()=>(init_block_stories_mdx(),block_stories_mdx_exports)),Promise.resolve().then(()=>(init_block_dependencies_versions(),block_dependencies_versions_exports)),Promise.resolve().then(()=>(init_block_node_version(),block_node_version_exports))],autoblock=async(options,list=blockers())=>{if(list.length===0)return null;import_node_logger4.logger.info("Checking for upgrade blockers...");let faults=(await Promise.all(list.map(async i=>{let{blocker:blocker5}=await i,result=await blocker5.check(options);return result?{id:blocker5.id,value:!0,message:blocker5.message(options,result),log:blocker5.log(options,result)}:!1}))).filter(excludesFalse);if(faults.length>0){let LOG_FILE_NAME3="migration-storybook.log",messages={welcome:"Blocking your upgrade because of the following issues:",reminder:import_chalk30.default.yellow("Fix the above issues and try running the upgrade command again."),logfile:import_chalk30.default.yellow(`You can find more details in ./${LOG_FILE_NAME3}.`)},borderColor="#FC521F";return import_node_logger4.logger.plain("Oh no.."),import_node_logger4.logger.plain(boxen([messages.welcome].concat(faults.map(i=>i.message)).concat([messages.reminder]).concat([messages.logfile]).join(`
515
515
 
516
516
  `),{borderStyle:"round",padding:1,borderColor})),await(0,import_promises2.writeFile)(LOG_FILE_NAME3,faults.map(i=>"("+i.id+`):
517
517
  `+i.log).join(`
518
518
 
519
519
  ----
520
520
 
521
- `),{encoding:"utf-8"}),faults[0].id}return import_node_logger4.logger.plain("No blockers found."),import_node_logger4.logger.line(),null};var import_cross_spawn=require("cross-spawn"),import_semver24=__toESM(require("semver"));var legacy_excludeList=["@storybook/linter-config","@storybook/design-system","@storybook/ember-cli-storybook","@storybook/semver","@storybook/eslint-config-storybook","@storybook/bench","@storybook/addon-bench","@storybook/addon-console","@storybook/csf","@storybook/storybook-deployer","@storybook/addon-postcss","@storybook/react-docgen-typescript-plugin","@storybook/babel-plugin-require-context-hook","@storybook/builder-vite","@storybook/mdx1-csf","@storybook/mdx2-csf","@storybook/expect","@storybook/jest","@storybook/test-runner","@storybook/testing-library"],legacy_isCorePackage=pkg2=>pkg2.startsWith("@storybook/")&&!pkg2.startsWith("@storybook/preset-")&&!legacy_excludeList.includes(pkg2),legacy_getStorybookVersion=()=>{let result=(0,import_cross_spawn.sync)("npm",["ls"],{stdio:"pipe"}).output.toString().split(`
522
- `).map(line=>{if(line.startsWith("npm "))return null;let match2=versionRegex.exec(line);return!match2||!import_semver24.default.clean(match2[2])?null:{package:match2[1],version:match2[2]}}).filter(Boolean).filter(pkg2=>legacy_isCorePackage(pkg2.package)).sort((a,b)=>import_semver24.default.rcompare(a.version,b.version));if(result.length!==0)return result[0]?.version};var versionRegex=/(@storybook\/[^@]+)@(\S+)/,getStorybookVersion=line=>{if(line.startsWith("npm "))return null;let match2=versionRegex.exec(line);return!match2||!import_semver25.default.clean(match2[2])?null:{package:match2[1],version:match2[2]}},getInstalledStorybookVersion=async packageManager=>{let installations=await packageManager.findInstallations(["storybook","@storybook/cli"]);if(!installations)return legacy_getStorybookVersion();let cliVersion=installations.dependencies["@storybook/cli"]?.[0].version;return cliVersion||installations.dependencies.storybook?.[0].version},deprecatedPackages=[{minVersion:"6.0.0-alpha.0",url:"https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#60-deprecations",deprecations:["@storybook/addon-notes","@storybook/addon-info","@storybook/addon-contexts","@storybook/addon-options","@storybook/addon-centered"]}],formatPackage=pkg2=>`${pkg2.package}@${pkg2.version}`,warnPackages=pkgs=>pkgs.forEach(pkg2=>import_node_logger5.logger.warn(`- ${formatPackage(pkg2)}`)),checkVersionConsistency=()=>{let storybookPackages=(0,import_cross_spawn2.sync)("npm",["ls"],{stdio:"pipe",shell:!0}).output.toString().split(`
523
- `).map(getStorybookVersion).filter(item=>!!item).filter(pkg2=>(0,import_core_common21.isCorePackage)(pkg2.package));if(!storybookPackages.length){import_node_logger5.logger.warn("No storybook core packages found."),import_node_logger5.logger.warn("'npm ls | grep storybook' can show if multiple versions are installed.");return}storybookPackages.sort((a,b)=>import_semver25.default.rcompare(a.version,b.version));let latestVersion=storybookPackages[0].version,outdated=storybookPackages.filter(pkg2=>pkg2.version!==latestVersion);outdated.length>0&&(import_node_logger5.logger.warn(`Found ${outdated.length} outdated packages (relative to '${formatPackage(storybookPackages[0])}')`),import_node_logger5.logger.warn("Please make sure your packages are updated to ensure a consistent experience."),warnPackages(outdated)),deprecatedPackages.forEach(({minVersion:minVersion2,url,deprecations})=>{if(import_semver25.default.gte(latestVersion,minVersion2)){let deprecated=storybookPackages.filter(pkg2=>deprecations.includes(pkg2.package));deprecated.length>0&&(import_node_logger5.logger.warn(`Found ${deprecated.length} deprecated packages since ${minVersion2}`),import_node_logger5.logger.warn(`See ${url}`),warnPackages(deprecated))}})},doUpgrade=async({skipCheck,packageManager:packageManagerName,dryRun,configDir:userSpecifiedConfigDir,yes,...options})=>{let packageManager=import_core_common21.JsPackageManagerFactory.getPackageManager({force:packageManagerName}),beforeVersion=await getInstalledStorybookVersion(packageManager)??"0.0.0",currentVersion=import_core_common21.versions["@storybook/cli"],isCanary=currentVersion.startsWith("0.0.0")||beforeVersion.startsWith("portal:")||beforeVersion.startsWith("workspace:");if(!isCanary&&(0,import_semver25.lt)(currentVersion,beforeVersion))throw new import_server_errors4.UpgradeStorybookToLowerVersionError({beforeVersion,currentVersion});if(!isCanary&&(0,import_semver25.eq)(currentVersion,beforeVersion))throw new import_server_errors4.UpgradeStorybookToSameVersionError({beforeVersion});let[latestVersion,packageJson,storybookVersion]=await Promise.all([packageManager.latestVersion("@storybook/cli"),packageManager.retrievePackageJson(),(0,import_core_common21.getCoercedStorybookVersion)(packageManager)]),isOutdated=(0,import_semver25.lt)(currentVersion,latestVersion),isPrerelease=(0,import_semver25.prerelease)(currentVersion)!==null,borderColor=isOutdated?"#FC521F":"#F1618C",messages={welcome:`Upgrading Storybook from version ${import_chalk31.default.bold(beforeVersion)} to version ${import_chalk31.default.bold(currentVersion)}..`,notLatest:import_chalk31.default.red(import_ts_dedent39.default`
521
+ `),{encoding:"utf-8"}),faults[0].id}return import_node_logger4.logger.plain("No blockers found."),import_node_logger4.logger.line(),null};var versionRegex=/(@storybook\/[^@]+)@(\S+)/,getStorybookVersion=line=>{if(line.startsWith("npm "))return null;let match2=versionRegex.exec(line);return!match2||!import_semver24.default.clean(match2[2])?null:{package:match2[1],version:match2[2]}},getInstalledStorybookVersion=async packageManager=>{let installations=await packageManager.findInstallations(["storybook","@storybook/cli"]);if(!installations)return;let cliVersion=installations.dependencies["@storybook/cli"]?.[0].version;return cliVersion||installations.dependencies.storybook?.[0].version},deprecatedPackages=[{minVersion:"6.0.0-alpha.0",url:"https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#60-deprecations",deprecations:["@storybook/addon-notes","@storybook/addon-info","@storybook/addon-contexts","@storybook/addon-options","@storybook/addon-centered"]}],formatPackage=pkg2=>`${pkg2.package}@${pkg2.version}`,warnPackages=pkgs=>pkgs.forEach(pkg2=>import_node_logger5.logger.warn(`- ${formatPackage(pkg2)}`)),checkVersionConsistency=()=>{let storybookPackages=(0,import_cross_spawn.sync)("npm",["ls"],{stdio:"pipe",shell:!0}).output.toString().split(`
522
+ `).map(getStorybookVersion).filter(item=>!!item).filter(pkg2=>(0,import_core_common21.isCorePackage)(pkg2.package));if(!storybookPackages.length){import_node_logger5.logger.warn("No storybook core packages found."),import_node_logger5.logger.warn("'npm ls | grep storybook' can show if multiple versions are installed.");return}storybookPackages.sort((a,b)=>import_semver24.default.rcompare(a.version,b.version));let latestVersion=storybookPackages[0].version,outdated=storybookPackages.filter(pkg2=>pkg2.version!==latestVersion);outdated.length>0&&(import_node_logger5.logger.warn(`Found ${outdated.length} outdated packages (relative to '${formatPackage(storybookPackages[0])}')`),import_node_logger5.logger.warn("Please make sure your packages are updated to ensure a consistent experience."),warnPackages(outdated)),deprecatedPackages.forEach(({minVersion:minVersion2,url,deprecations})=>{if(import_semver24.default.gte(latestVersion,minVersion2)){let deprecated=storybookPackages.filter(pkg2=>deprecations.includes(pkg2.package));deprecated.length>0&&(import_node_logger5.logger.warn(`Found ${deprecated.length} deprecated packages since ${minVersion2}`),import_node_logger5.logger.warn(`See ${url}`),warnPackages(deprecated))}})},doUpgrade=async({skipCheck,packageManager:packageManagerName,dryRun,configDir:userSpecifiedConfigDir,yes,...options})=>{let packageManager=import_core_common21.JsPackageManagerFactory.getPackageManager({force:packageManagerName}),beforeVersion=await getInstalledStorybookVersion(packageManager)??"0.0.0",currentVersion=import_core_common21.versions["@storybook/cli"],isCanary=currentVersion.startsWith("0.0.0")||beforeVersion.startsWith("portal:")||beforeVersion.startsWith("workspace:");if(!isCanary&&(0,import_semver24.lt)(currentVersion,beforeVersion))throw new import_server_errors4.UpgradeStorybookToLowerVersionError({beforeVersion,currentVersion});if(!isCanary&&(0,import_semver24.eq)(currentVersion,beforeVersion))throw new import_server_errors4.UpgradeStorybookToSameVersionError({beforeVersion});let[latestVersion,packageJson,storybookVersion]=await Promise.all([packageManager.latestVersion("@storybook/cli"),packageManager.retrievePackageJson(),(0,import_core_common21.getCoercedStorybookVersion)(packageManager)]),isOutdated=(0,import_semver24.lt)(currentVersion,latestVersion),isPrerelease=(0,import_semver24.prerelease)(currentVersion)!==null,borderColor=isOutdated?"#FC521F":"#F1618C",messages={welcome:`Upgrading Storybook from version ${import_chalk31.default.bold(beforeVersion)} to version ${import_chalk31.default.bold(currentVersion)}..`,notLatest:import_chalk31.default.red(import_ts_dedent39.default`
524
523
  This version is behind the latest release, which is: ${import_chalk31.default.bold(latestVersion)}!
525
524
  You likely ran the upgrade command through npx, which can use a locally cached version, to upgrade to the latest version please run:
526
525
  ${import_chalk31.default.bold("npx storybook@latest upgrade")}
@@ -534,7 +533,7 @@ ${error.stack}`),fixSummary.failed[f.id]=error.message),fixResults[f.id]="check_
534
533
  [Storybook automigrate] ❌ Failed trying to evaluate ${import_chalk31.default.blue(mainConfigPath)} with the following error: ${mainConfigLoadingError}
535
534
 
536
535
  Please fix the error and try again.
537
- `}function mainjsNotFoundMessage(configDir){return import_ts_dedent39.default`[Storybook automigrate] Could not find or evaluate your Storybook main.js config directory at ${import_chalk31.default.blue(configDir)} so the automigrations will be skipped. You might be running this command in a monorepo or a non-standard project structure. If that is the case, please rerun this command by specifying the path to your Storybook config directory via the --config-dir option.`}async function upgrade(options){await(0,import_core_server2.withTelemetry)("upgrade",{cliOptions:options},()=>doUpgrade(options))}var import_prompts9=__toESM(require("prompts")),import_path17=__toESM(require("path")),import_chalk32=__toESM(require("chalk"));var import_ts_dedent40=require("ts-dedent"),import_giget=require("giget"),import_fs_extra9=require("fs-extra"),import_tiny_invariant6=__toESM(require("tiny-invariant")),import_semver26=require("semver");var baseTemplates={"cra/default-js":{name:"Create React App Latest (Webpack | JavaScript)",script:"npx create-react-app {{beforeDir}}",expected:{framework:"@storybook/react-webpack5",renderer:"@storybook/react",builder:"@storybook/builder-webpack5"},skipTasks:["e2e-tests-dev","bench"]},"cra/default-ts":{name:"Create React App Latest (Webpack | TypeScript)",script:"npx create-react-app {{beforeDir}} --template typescript",skipTasks:["smoke-test","bench"],expected:{framework:"@storybook/react-webpack5",renderer:"@storybook/react",builder:"@storybook/builder-webpack5"}},"nextjs/13-ts":{name:"Next.js v13.5 (Webpack | TypeScript)",script:'yarn create next-app {{beforeDir}} -e https://github.com/vercel/next.js/tree/next-13/examples/hello-world && cd {{beforeDir}} && npm pkg set "dependencies.next"="^13.5.6" && yarn && git add . && git commit --amend --no-edit && cd ..',expected:{framework:"@storybook/nextjs",renderer:"@storybook/react",builder:"@storybook/builder-webpack5"},modifications:{mainConfig:{features:{experimentalRSC:!0}},extraDependencies:["server-only"]},skipTasks:["e2e-tests-dev","bench"]},"nextjs/default-js":{name:"Next.js Latest (Webpack | JavaScript)",script:'yarn create next-app {{beforeDir}} --javascript --eslint --tailwind --app --import-alias="@/*" --src-dir',expected:{framework:"@storybook/nextjs",renderer:"@storybook/react",builder:"@storybook/builder-webpack5"},modifications:{mainConfig:{features:{experimentalRSC:!0}},extraDependencies:["server-only"]},skipTasks:["e2e-tests-dev","bench"]},"nextjs/default-ts":{name:"Next.js Latest (Webpack | TypeScript)",script:'yarn create next-app {{beforeDir}} --typescript --eslint --tailwind --app --import-alias="@/*" --src-dir',expected:{framework:"@storybook/nextjs",renderer:"@storybook/react",builder:"@storybook/builder-webpack5"},modifications:{mainConfig:{features:{experimentalRSC:!0}},extraDependencies:["server-only"]},skipTasks:["e2e-tests-dev","bench"]},"nextjs/prerelease":{name:"Next.js Prerelease (Webpack | TypeScript)",script:'npx create-next-app@canary {{beforeDir}} --typescript --eslint --tailwind --app --import-alias="@/*" --src-dir',expected:{framework:"@storybook/nextjs",renderer:"@storybook/react",builder:"@storybook/builder-webpack5"},modifications:{mainConfig:{features:{experimentalRSC:!0}},extraDependencies:["server-only"]},skipTasks:["e2e-tests-dev","bench"]},"react-vite/default-js":{name:"React Latest (Vite | JavaScript)",script:"npm create vite --yes {{beforeDir}} -- --template react",expected:{framework:"@storybook/react-vite",renderer:"@storybook/react",builder:"@storybook/builder-vite"},skipTasks:["e2e-tests-dev","bench"]},"react-vite/default-ts":{name:"React Latest (Vite | TypeScript)",script:"npm create vite --yes {{beforeDir}} -- --template react-ts",expected:{framework:"@storybook/react-vite",renderer:"@storybook/react",builder:"@storybook/builder-vite"},skipTasks:["bench"]},"react-webpack/18-ts":{name:"React Latest (Webpack | TypeScript)",script:"yarn create webpack5-react {{beforeDir}}",expected:{framework:"@storybook/react-webpack5",renderer:"@storybook/react",builder:"@storybook/builder-webpack5"},skipTasks:["e2e-tests-dev","bench"]},"react-webpack/17-ts":{name:"React v17 (Webpack | TypeScript)",script:'yarn create webpack5-react {{beforeDir}} --version-react="17" --version-react-dom="17"',expected:{framework:"@storybook/react-webpack5",renderer:"@storybook/react",builder:"@storybook/builder-webpack5"},skipTasks:["e2e-tests-dev","bench"]},"solid-vite/default-js":{name:"SolidJS Latest (Vite | JavaScript)",script:"npx degit solidjs/templates/js {{beforeDir}}",expected:{framework:"storybook-solidjs-vite",renderer:"storybook-solidjs",builder:"@storybook/builder-vite"},inDevelopment:!0,skipTasks:["e2e-tests-dev","bench"]},"solid-vite/default-ts":{name:"SolidJS Latest (Vite | TypeScript)",script:"npx degit solidjs/templates/ts {{beforeDir}}",expected:{framework:"storybook-solidjs-vite",renderer:"storybook-solidjs",builder:"@storybook/builder-vite"},inDevelopment:!0,skipTasks:["e2e-tests-dev","bench"]},"vue3-vite/default-js":{name:"Vue v3 (Vite | JavaScript)",script:"npm create vite --yes {{beforeDir}} -- --template vue",expected:{framework:"@storybook/vue3-vite",renderer:"@storybook/vue3",builder:"@storybook/builder-vite"},skipTasks:["e2e-tests-dev","bench"]},"vue3-vite/default-ts":{name:"Vue v3 (Vite | TypeScript)",script:"npm create vite --yes {{beforeDir}} -- --template vue-ts",expected:{framework:"@storybook/vue3-vite",renderer:"@storybook/vue3",builder:"@storybook/builder-vite"},skipTasks:["e2e-tests-dev","bench"]},"html-webpack/default":{name:"HTML Latest (Webpack | JavaScript)",script:"yarn create webpack5-html {{beforeDir}}",expected:{framework:"@storybook/html-webpack5",renderer:"@storybook/html",builder:"@storybook/builder-webpack5"},skipTasks:["e2e-tests-dev","bench"]},"html-vite/default-js":{name:"HTML Latest (Vite | JavaScript)",script:'npm create vite --yes {{beforeDir}} -- --template vanilla && cd {{beforeDir}} && echo "export default {}" > vite.config.js',expected:{framework:"@storybook/html-vite",renderer:"@storybook/html",builder:"@storybook/builder-vite"},skipTasks:["e2e-tests-dev","bench"]},"html-vite/default-ts":{name:"HTML Latest (Vite | TypeScript)",script:'npm create vite --yes {{beforeDir}} -- --template vanilla-ts && cd {{beforeDir}} && echo "export default {}" > vite.config.js',expected:{framework:"@storybook/html-vite",renderer:"@storybook/html",builder:"@storybook/builder-vite"},skipTasks:["e2e-tests-dev","bench"]},"svelte-vite/default-js":{name:"Svelte Latest (Vite | JavaScript)",script:"npm create vite --yes {{beforeDir}} -- --template svelte",expected:{framework:"@storybook/svelte-vite",renderer:"@storybook/svelte",builder:"@storybook/builder-vite"},skipTasks:["e2e-tests-dev","bench"]},"svelte-vite/default-ts":{name:"Svelte Latest (Vite | TypeScript)",script:"npm create vite --yes {{beforeDir}} -- --template svelte-ts",expected:{framework:"@storybook/svelte-vite",renderer:"@storybook/svelte",builder:"@storybook/builder-vite"},skipTasks:["smoke-test","e2e-tests-dev","bench"]},"angular-cli/prerelease":{name:"Angular CLI Prerelease (Webpack | TypeScript)",script:"npx -p @angular/cli@next ng new angular-v16 --directory {{beforeDir}} --routing=true --minimal=true --style=scss --strict --skip-git --skip-install --package-manager=yarn --ssr",expected:{framework:"@storybook/angular",renderer:"@storybook/angular",builder:"@storybook/builder-webpack5"},skipTasks:["e2e-tests-dev","bench"]},"angular-cli/default-ts":{name:"Angular CLI Latest (Webpack | TypeScript)",script:"npx -p @angular/cli ng new angular-latest --directory {{beforeDir}} --routing=true --minimal=true --style=scss --strict --skip-git --skip-install --package-manager=yarn --ssr",expected:{framework:"@storybook/angular",renderer:"@storybook/angular",builder:"@storybook/builder-webpack5"},skipTasks:["e2e-tests-dev","bench"]},"angular-cli/15-ts":{name:"Angular CLI v15 (Webpack | TypeScript)",script:"npx -p @angular/cli@15 ng new angular-v15 --directory {{beforeDir}} --routing=true --minimal=true --style=scss --strict --skip-git --skip-install --package-manager=yarn",expected:{framework:"@storybook/angular",renderer:"@storybook/angular",builder:"@storybook/builder-webpack5"},skipTasks:["e2e-tests-dev","bench"]},"svelte-kit/skeleton-js":{name:"SvelteKit Latest (Vite | JavaScript)",script:"yarn create svelte-with-args --name=svelte-kit/skeleton-js --directory={{beforeDir}} --template=skeleton --types=null --no-prettier --no-eslint --no-playwright --no-vitest --no-svelte5",expected:{framework:"@storybook/sveltekit",renderer:"@storybook/svelte",builder:"@storybook/builder-vite"},skipTasks:["e2e-tests-dev","bench"]},"svelte-kit/skeleton-ts":{name:"SvelteKit Latest (Vite | TypeScript)",script:"yarn create svelte-with-args --name=svelte-kit/skeleton-ts --directory={{beforeDir}} --template=skeleton --types=typescript --no-prettier --no-eslint --no-playwright --no-vitest --no-svelte5",expected:{framework:"@storybook/sveltekit",renderer:"@storybook/svelte",builder:"@storybook/builder-vite"},skipTasks:["e2e-tests-dev","bench"]},"svelte-kit/prerelease-ts":{name:"SvelteKit Prerelease (Vite | TypeScript)",script:"yarn create svelte-with-args --name=svelte-kit/prerelease-ts --directory={{beforeDir}} --template=skeleton --types=typescript --no-prettier --no-eslint --no-playwright --no-vitest --svelte5",expected:{framework:"@storybook/sveltekit",renderer:"@storybook/svelte",builder:"@storybook/builder-vite"},skipTasks:["e2e-tests-dev","bench"]},"lit-vite/default-js":{name:"Lit Latest (Vite | JavaScript)",script:'npm create vite --yes {{beforeDir}} -- --template lit && cd {{beforeDir}} && echo "export default {}" > vite.config.js',expected:{framework:"@storybook/web-components-vite",renderer:"@storybook/web-components",builder:"@storybook/builder-vite"},skipTasks:["smoke-test","e2e-tests-dev","bench"]},"lit-vite/default-ts":{name:"Lit Latest (Vite | TypeScript)",script:'npm create vite --yes {{beforeDir}} -- --template lit-ts && cd {{beforeDir}} && echo "export default {}" > vite.config.js',expected:{framework:"@storybook/web-components-vite",renderer:"@storybook/web-components",builder:"@storybook/builder-vite"},skipTasks:["smoke-test","e2e-tests-dev","bench"]},"vue-cli/default-js":{name:"Vue CLI v3 (Webpack | JavaScript)",script:'npx -p @vue/cli vue create {{beforeDir}} --default --packageManager=yarn --force --merge && cd {{beforeDir}} && echo "module.exports = {}" > webpack.config.js',expected:{framework:"@storybook/vue3-webpack5",renderer:"@storybook/vue3",builder:"@storybook/builder-webpack5"},skipTasks:["smoke-test","e2e-tests-dev","bench"]},"preact-vite/default-js":{name:"Preact Latest (Vite | JavaScript)",script:"npm create vite --yes {{beforeDir}} -- --template preact",expected:{framework:"@storybook/preact-vite",renderer:"@storybook/preact",builder:"@storybook/builder-vite"},skipTasks:["e2e-tests-dev","bench"]},"preact-vite/default-ts":{name:"Preact Latest (Vite | TypeScript)",script:"npm create vite --yes {{beforeDir}} -- --template preact-ts",expected:{framework:"@storybook/preact-vite",renderer:"@storybook/preact",builder:"@storybook/builder-vite"},skipTasks:["e2e-tests-dev","bench"]},"qwik-vite/default-ts":{name:"Qwik CLI Latest (Vite | TypeScript)",script:"yarn create qwik basic {{beforeDir}}",inDevelopment:!0,expected:{framework:"storybook-framework-qwik",renderer:"storybook-framework-qwik",builder:"storybook-framework-qwik"},skipTasks:["e2e-tests","e2e-tests-dev","bench"]},"ember/3-js":{name:"Ember v3 (Webpack | JavaScript)",script:"npx --package ember-cli@3.28.1 ember new {{beforeDir}}",inDevelopment:!0,expected:{framework:"@storybook/ember",renderer:"@storybook/ember",builder:"@storybook/builder-webpack5"}},"ember/default-js":{name:"Ember v4 (Webpack | JavaScript)",script:"npx --package ember-cli@4.12.1 ember new {{beforeDir}} --yarn && cd {{beforeDir}} && yarn add --dev @storybook/ember-cli-storybook && yarn build",inDevelopment:!0,expected:{framework:"@storybook/ember",renderer:"@storybook/ember",builder:"@storybook/builder-webpack5"}}},internalTemplates={"internal/react18-webpack-babel":{name:"React with Babel Latest (Webpack | TypeScript)",script:"yarn create webpack5-react {{beforeDir}}",expected:{framework:"@storybook/react-webpack5",renderer:"@storybook/react",builder:"@storybook/builder-webpack5"},modifications:{extraDependencies:["@storybook/addon-webpack5-compiler-babel"],editAddons:addons=>[...addons,"@storybook/addon-webpack5-compiler-babel"].filter(a=>a!=="@storybook/addon-webpack5-compiler-swc")},isInternal:!0,skipTasks:["e2e-tests-dev","bench"]},"internal/react16-webpack":{name:"React 16 (Webpack | TypeScript)",script:"yarn create webpack5-react {{beforeDir}} --version-react=16 --version-react-dom=16 --version-@types/react=16 --version-@types/react-dom=16",expected:{framework:"@storybook/react-webpack5",renderer:"@storybook/react",builder:"@storybook/builder-webpack5"},skipTasks:["e2e-tests-dev","bench"],isInternal:!0},"internal/server-webpack5":{name:"Server Webpack5",script:'yarn init -y && echo "module.exports = {}" > webpack.config.js',expected:{framework:"@storybook/server-webpack5",renderer:"@storybook/server",builder:"@storybook/builder-webpack5"},isInternal:!0,skipTasks:["bench"]}},benchTemplates={"bench/react-vite-default-ts":{...baseTemplates["react-vite/default-ts"],name:"Bench (react-vite/default-ts)",isInternal:!0,modifications:{skipTemplateStories:!0},skipTasks:["e2e-tests-dev","test-runner","test-runner-dev","e2e-tests","chromatic"]},"bench/react-webpack-18-ts":{...baseTemplates["react-webpack/18-ts"],name:"Bench (react-webpack/18-ts)",isInternal:!0,modifications:{skipTemplateStories:!0},skipTasks:["e2e-tests-dev","test-runner","test-runner-dev","e2e-tests","chromatic"]},"bench/react-vite-default-ts-nodocs":{...baseTemplates["react-vite/default-ts"],name:"Bench (react-vite/default-ts, no docs)",isInternal:!0,modifications:{skipTemplateStories:!0,disableDocs:!0},skipTasks:["e2e-tests-dev","test-runner","test-runner-dev","e2e-tests","chromatic"]},"bench/react-vite-default-ts-test-build":{...baseTemplates["react-vite/default-ts"],name:"Bench (react-vite/default-ts, test-build)",isInternal:!0,modifications:{skipTemplateStories:!0,testBuild:!0},skipTasks:["e2e-tests-dev","test-runner","test-runner-dev","e2e-tests"]},"bench/react-webpack-18-ts-test-build":{...baseTemplates["react-webpack/18-ts"],name:"Bench (react-webpack/18-ts, test-build)",isInternal:!0,modifications:{skipTemplateStories:!0,testBuild:!0},skipTasks:["e2e-tests-dev","test-runner","test-runner-dev","e2e-tests"]}},allTemplates={...baseTemplates,...internalTemplates,...benchTemplates},normal=["cra/default-ts","react-vite/default-ts","angular-cli/default-ts","vue3-vite/default-ts","lit-vite/default-ts","svelte-vite/default-ts","svelte-kit/skeleton-ts","nextjs/default-ts","bench/react-vite-default-ts","bench/react-webpack-18-ts","bench/react-vite-default-ts-nodocs","bench/react-vite-default-ts-test-build","bench/react-webpack-18-ts-test-build","ember/default-js"],merged=[...normal,"react-webpack/18-ts","react-webpack/17-ts","angular-cli/15-ts","preact-vite/default-ts","html-webpack/default","html-vite/default-ts"],daily=[...merged,"angular-cli/prerelease","cra/default-js","react-vite/default-js","vue3-vite/default-js","vue-cli/default-js","lit-vite/default-js","svelte-kit/skeleton-js","svelte-vite/default-js","nextjs/13-ts","nextjs/default-js","nextjs/prerelease","qwik-vite/default-ts","preact-vite/default-js","html-vite/default-js","internal/react16-webpack","internal/react18-webpack-babel"];var import_core_common22=require("@storybook/core-common"),import_core_common23=require("@storybook/core-common");var logger26=console,toChoices=c=>({title:allTemplates[c].name,value:c}),sandbox=async({output:outputDirectory,filterValue,init,...options},pkg2)=>{let selectedConfig=allTemplates[filterValue],templateId=selectedConfig?filterValue:null,{packageManager:pkgMgr}=options,packageManager=import_core_common22.JsPackageManagerFactory.getPackageManager({force:pkgMgr}),latestVersion=await packageManager.latestVersion("@storybook/cli"),nextVersion=await packageManager.latestVersion("@storybook/cli@next").catch(e=>"0.0.0"),currentVersion=import_core_common23.versions["@storybook/cli"],isPrerelease=(0,import_semver26.prerelease)(currentVersion),isOutdated=(0,import_semver26.lt)(currentVersion,isPrerelease?nextVersion:latestVersion),borderColor=isOutdated?"#FC521F":"#F1618C",downloadType=!isOutdated&&init?"after-storybook":"before-storybook",branch=isPrerelease?"next":"main",messages={welcome:`Creating a Storybook ${import_chalk32.default.bold(currentVersion)} sandbox..`,notLatest:import_chalk32.default.red(import_ts_dedent40.dedent`
536
+ `}function mainjsNotFoundMessage(configDir){return import_ts_dedent39.default`[Storybook automigrate] Could not find or evaluate your Storybook main.js config directory at ${import_chalk31.default.blue(configDir)} so the automigrations will be skipped. You might be running this command in a monorepo or a non-standard project structure. If that is the case, please rerun this command by specifying the path to your Storybook config directory via the --config-dir option.`}async function upgrade(options){await(0,import_core_server2.withTelemetry)("upgrade",{cliOptions:options},()=>doUpgrade(options))}var import_prompts9=__toESM(require("prompts")),import_path17=__toESM(require("path")),import_chalk32=__toESM(require("chalk"));var import_ts_dedent40=require("ts-dedent"),import_giget=require("giget"),import_fs_extra9=require("fs-extra"),import_tiny_invariant6=__toESM(require("tiny-invariant")),import_semver25=require("semver");var baseTemplates={"cra/default-js":{name:"Create React App Latest (Webpack | JavaScript)",script:"npx create-react-app {{beforeDir}}",expected:{framework:"@storybook/react-webpack5",renderer:"@storybook/react",builder:"@storybook/builder-webpack5"},skipTasks:["e2e-tests-dev","bench"]},"cra/default-ts":{name:"Create React App Latest (Webpack | TypeScript)",script:"npx create-react-app {{beforeDir}} --template typescript",skipTasks:["smoke-test","bench"],expected:{framework:"@storybook/react-webpack5",renderer:"@storybook/react",builder:"@storybook/builder-webpack5"}},"nextjs/13-ts":{name:"Next.js v13.5 (Webpack | TypeScript)",script:'yarn create next-app {{beforeDir}} -e https://github.com/vercel/next.js/tree/next-13/examples/hello-world && cd {{beforeDir}} && npm pkg set "dependencies.next"="^13.5.6" && yarn && git add . && git commit --amend --no-edit && cd ..',expected:{framework:"@storybook/nextjs",renderer:"@storybook/react",builder:"@storybook/builder-webpack5"},modifications:{mainConfig:{features:{experimentalRSC:!0}},extraDependencies:["server-only"]},skipTasks:["e2e-tests-dev","bench"]},"nextjs/default-js":{name:"Next.js Latest (Webpack | JavaScript)",script:'yarn create next-app {{beforeDir}} --javascript --eslint --tailwind --app --import-alias="@/*" --src-dir',expected:{framework:"@storybook/nextjs",renderer:"@storybook/react",builder:"@storybook/builder-webpack5"},modifications:{mainConfig:{features:{experimentalRSC:!0}},extraDependencies:["server-only"]},skipTasks:["e2e-tests-dev","bench"]},"nextjs/default-ts":{name:"Next.js Latest (Webpack | TypeScript)",script:'yarn create next-app {{beforeDir}} --typescript --eslint --tailwind --app --import-alias="@/*" --src-dir',expected:{framework:"@storybook/nextjs",renderer:"@storybook/react",builder:"@storybook/builder-webpack5"},modifications:{mainConfig:{features:{experimentalRSC:!0}},extraDependencies:["server-only"]},skipTasks:["e2e-tests-dev","bench"]},"nextjs/prerelease":{name:"Next.js Prerelease (Webpack | TypeScript)",script:'npx create-next-app@canary {{beforeDir}} --typescript --eslint --tailwind --app --import-alias="@/*" --src-dir',expected:{framework:"@storybook/nextjs",renderer:"@storybook/react",builder:"@storybook/builder-webpack5"},modifications:{mainConfig:{features:{experimentalRSC:!0}},extraDependencies:["server-only"]},skipTasks:["e2e-tests-dev","bench"]},"react-vite/default-js":{name:"React Latest (Vite | JavaScript)",script:"npm create vite --yes {{beforeDir}} -- --template react",expected:{framework:"@storybook/react-vite",renderer:"@storybook/react",builder:"@storybook/builder-vite"},skipTasks:["e2e-tests-dev","bench"]},"react-vite/default-ts":{name:"React Latest (Vite | TypeScript)",script:"npm create vite --yes {{beforeDir}} -- --template react-ts",expected:{framework:"@storybook/react-vite",renderer:"@storybook/react",builder:"@storybook/builder-vite"},skipTasks:["bench"]},"react-webpack/18-ts":{name:"React Latest (Webpack | TypeScript)",script:"yarn create webpack5-react {{beforeDir}}",expected:{framework:"@storybook/react-webpack5",renderer:"@storybook/react",builder:"@storybook/builder-webpack5"},skipTasks:["e2e-tests-dev","bench"]},"react-webpack/17-ts":{name:"React v17 (Webpack | TypeScript)",script:'yarn create webpack5-react {{beforeDir}} --version-react="17" --version-react-dom="17"',expected:{framework:"@storybook/react-webpack5",renderer:"@storybook/react",builder:"@storybook/builder-webpack5"},skipTasks:["e2e-tests-dev","bench"]},"solid-vite/default-js":{name:"SolidJS Latest (Vite | JavaScript)",script:"npx degit solidjs/templates/js {{beforeDir}}",expected:{framework:"storybook-solidjs-vite",renderer:"storybook-solidjs",builder:"@storybook/builder-vite"},inDevelopment:!0,skipTasks:["e2e-tests-dev","bench"]},"solid-vite/default-ts":{name:"SolidJS Latest (Vite | TypeScript)",script:"npx degit solidjs/templates/ts {{beforeDir}}",expected:{framework:"storybook-solidjs-vite",renderer:"storybook-solidjs",builder:"@storybook/builder-vite"},inDevelopment:!0,skipTasks:["e2e-tests-dev","bench"]},"vue3-vite/default-js":{name:"Vue v3 (Vite | JavaScript)",script:"npm create vite --yes {{beforeDir}} -- --template vue",expected:{framework:"@storybook/vue3-vite",renderer:"@storybook/vue3",builder:"@storybook/builder-vite"},skipTasks:["e2e-tests-dev","bench"]},"vue3-vite/default-ts":{name:"Vue v3 (Vite | TypeScript)",script:"npm create vite --yes {{beforeDir}} -- --template vue-ts",expected:{framework:"@storybook/vue3-vite",renderer:"@storybook/vue3",builder:"@storybook/builder-vite"},skipTasks:["e2e-tests-dev","bench"]},"html-webpack/default":{name:"HTML Latest (Webpack | JavaScript)",script:"yarn create webpack5-html {{beforeDir}}",expected:{framework:"@storybook/html-webpack5",renderer:"@storybook/html",builder:"@storybook/builder-webpack5"},skipTasks:["e2e-tests-dev","bench"]},"html-vite/default-js":{name:"HTML Latest (Vite | JavaScript)",script:'npm create vite --yes {{beforeDir}} -- --template vanilla && cd {{beforeDir}} && echo "export default {}" > vite.config.js',expected:{framework:"@storybook/html-vite",renderer:"@storybook/html",builder:"@storybook/builder-vite"},skipTasks:["e2e-tests-dev","bench"]},"html-vite/default-ts":{name:"HTML Latest (Vite | TypeScript)",script:'npm create vite --yes {{beforeDir}} -- --template vanilla-ts && cd {{beforeDir}} && echo "export default {}" > vite.config.js',expected:{framework:"@storybook/html-vite",renderer:"@storybook/html",builder:"@storybook/builder-vite"},skipTasks:["e2e-tests-dev","bench"]},"svelte-vite/default-js":{name:"Svelte Latest (Vite | JavaScript)",script:"npm create vite --yes {{beforeDir}} -- --template svelte",expected:{framework:"@storybook/svelte-vite",renderer:"@storybook/svelte",builder:"@storybook/builder-vite"},skipTasks:["e2e-tests-dev","bench"]},"svelte-vite/default-ts":{name:"Svelte Latest (Vite | TypeScript)",script:"npm create vite --yes {{beforeDir}} -- --template svelte-ts",expected:{framework:"@storybook/svelte-vite",renderer:"@storybook/svelte",builder:"@storybook/builder-vite"},skipTasks:["smoke-test","e2e-tests-dev","bench"]},"angular-cli/prerelease":{name:"Angular CLI Prerelease (Webpack | TypeScript)",script:"npx -p @angular/cli@next ng new angular-v16 --directory {{beforeDir}} --routing=true --minimal=true --style=scss --strict --skip-git --skip-install --package-manager=yarn --ssr",expected:{framework:"@storybook/angular",renderer:"@storybook/angular",builder:"@storybook/builder-webpack5"},skipTasks:["e2e-tests-dev","bench"]},"angular-cli/default-ts":{name:"Angular CLI Latest (Webpack | TypeScript)",script:"npx -p @angular/cli ng new angular-latest --directory {{beforeDir}} --routing=true --minimal=true --style=scss --strict --skip-git --skip-install --package-manager=yarn --ssr",expected:{framework:"@storybook/angular",renderer:"@storybook/angular",builder:"@storybook/builder-webpack5"},skipTasks:["e2e-tests-dev","bench"]},"angular-cli/15-ts":{name:"Angular CLI v15 (Webpack | TypeScript)",script:"npx -p @angular/cli@15 ng new angular-v15 --directory {{beforeDir}} --routing=true --minimal=true --style=scss --strict --skip-git --skip-install --package-manager=yarn",expected:{framework:"@storybook/angular",renderer:"@storybook/angular",builder:"@storybook/builder-webpack5"},skipTasks:["e2e-tests-dev","bench"]},"svelte-kit/skeleton-js":{name:"SvelteKit Latest (Vite | JavaScript)",script:"yarn create svelte-with-args --name=svelte-kit/skeleton-js --directory={{beforeDir}} --template=skeleton --types=null --no-prettier --no-eslint --no-playwright --no-vitest --no-svelte5",expected:{framework:"@storybook/sveltekit",renderer:"@storybook/svelte",builder:"@storybook/builder-vite"},skipTasks:["e2e-tests-dev","bench"]},"svelte-kit/skeleton-ts":{name:"SvelteKit Latest (Vite | TypeScript)",script:"yarn create svelte-with-args --name=svelte-kit/skeleton-ts --directory={{beforeDir}} --template=skeleton --types=typescript --no-prettier --no-eslint --no-playwright --no-vitest --no-svelte5",expected:{framework:"@storybook/sveltekit",renderer:"@storybook/svelte",builder:"@storybook/builder-vite"},skipTasks:["e2e-tests-dev","bench"]},"svelte-kit/prerelease-ts":{name:"SvelteKit Prerelease (Vite | TypeScript)",script:"yarn create svelte-with-args --name=svelte-kit/prerelease-ts --directory={{beforeDir}} --template=skeleton --types=typescript --no-prettier --no-eslint --no-playwright --no-vitest --svelte5",expected:{framework:"@storybook/sveltekit",renderer:"@storybook/svelte",builder:"@storybook/builder-vite"},skipTasks:["e2e-tests-dev","bench"]},"lit-vite/default-js":{name:"Lit Latest (Vite | JavaScript)",script:'npm create vite --yes {{beforeDir}} -- --template lit && cd {{beforeDir}} && echo "export default {}" > vite.config.js',expected:{framework:"@storybook/web-components-vite",renderer:"@storybook/web-components",builder:"@storybook/builder-vite"},skipTasks:["smoke-test","e2e-tests-dev","bench"]},"lit-vite/default-ts":{name:"Lit Latest (Vite | TypeScript)",script:'npm create vite --yes {{beforeDir}} -- --template lit-ts && cd {{beforeDir}} && echo "export default {}" > vite.config.js',expected:{framework:"@storybook/web-components-vite",renderer:"@storybook/web-components",builder:"@storybook/builder-vite"},skipTasks:["smoke-test","e2e-tests-dev","bench"]},"vue-cli/default-js":{name:"Vue CLI v3 (Webpack | JavaScript)",script:'npx -p @vue/cli vue create {{beforeDir}} --default --packageManager=yarn --force --merge && cd {{beforeDir}} && echo "module.exports = {}" > webpack.config.js',expected:{framework:"@storybook/vue3-webpack5",renderer:"@storybook/vue3",builder:"@storybook/builder-webpack5"},skipTasks:["smoke-test","e2e-tests-dev","bench"]},"preact-vite/default-js":{name:"Preact Latest (Vite | JavaScript)",script:"npm create vite --yes {{beforeDir}} -- --template preact",expected:{framework:"@storybook/preact-vite",renderer:"@storybook/preact",builder:"@storybook/builder-vite"},skipTasks:["e2e-tests-dev","bench"]},"preact-vite/default-ts":{name:"Preact Latest (Vite | TypeScript)",script:"npm create vite --yes {{beforeDir}} -- --template preact-ts",expected:{framework:"@storybook/preact-vite",renderer:"@storybook/preact",builder:"@storybook/builder-vite"},skipTasks:["e2e-tests-dev","bench"]},"qwik-vite/default-ts":{name:"Qwik CLI Latest (Vite | TypeScript)",script:"yarn create qwik basic {{beforeDir}}",inDevelopment:!0,expected:{framework:"storybook-framework-qwik",renderer:"storybook-framework-qwik",builder:"storybook-framework-qwik"},skipTasks:["e2e-tests","e2e-tests-dev","bench"]},"ember/3-js":{name:"Ember v3 (Webpack | JavaScript)",script:"npx --package ember-cli@3.28.1 ember new {{beforeDir}}",inDevelopment:!0,expected:{framework:"@storybook/ember",renderer:"@storybook/ember",builder:"@storybook/builder-webpack5"}},"ember/default-js":{name:"Ember v4 (Webpack | JavaScript)",script:"npx --package ember-cli@4.12.1 ember new {{beforeDir}} --yarn && cd {{beforeDir}} && yarn add --dev @storybook/ember-cli-storybook && yarn build",inDevelopment:!0,expected:{framework:"@storybook/ember",renderer:"@storybook/ember",builder:"@storybook/builder-webpack5"}}},internalTemplates={"internal/react18-webpack-babel":{name:"React with Babel Latest (Webpack | TypeScript)",script:"yarn create webpack5-react {{beforeDir}}",expected:{framework:"@storybook/react-webpack5",renderer:"@storybook/react",builder:"@storybook/builder-webpack5"},modifications:{extraDependencies:["@storybook/addon-webpack5-compiler-babel"],editAddons:addons=>[...addons,"@storybook/addon-webpack5-compiler-babel"].filter(a=>a!=="@storybook/addon-webpack5-compiler-swc")},isInternal:!0,skipTasks:["e2e-tests-dev","bench"]},"internal/react16-webpack":{name:"React 16 (Webpack | TypeScript)",script:"yarn create webpack5-react {{beforeDir}} --version-react=16 --version-react-dom=16 --version-@types/react=16 --version-@types/react-dom=16",expected:{framework:"@storybook/react-webpack5",renderer:"@storybook/react",builder:"@storybook/builder-webpack5"},skipTasks:["e2e-tests-dev","bench"],isInternal:!0},"internal/server-webpack5":{name:"Server Webpack5",script:'yarn init -y && echo "module.exports = {}" > webpack.config.js',expected:{framework:"@storybook/server-webpack5",renderer:"@storybook/server",builder:"@storybook/builder-webpack5"},isInternal:!0,skipTasks:["bench"]}},benchTemplates={"bench/react-vite-default-ts":{...baseTemplates["react-vite/default-ts"],name:"Bench (react-vite/default-ts)",isInternal:!0,modifications:{skipTemplateStories:!0},skipTasks:["e2e-tests-dev","test-runner","test-runner-dev","e2e-tests","chromatic"]},"bench/react-webpack-18-ts":{...baseTemplates["react-webpack/18-ts"],name:"Bench (react-webpack/18-ts)",isInternal:!0,modifications:{skipTemplateStories:!0},skipTasks:["e2e-tests-dev","test-runner","test-runner-dev","e2e-tests","chromatic"]},"bench/react-vite-default-ts-nodocs":{...baseTemplates["react-vite/default-ts"],name:"Bench (react-vite/default-ts, no docs)",isInternal:!0,modifications:{skipTemplateStories:!0,disableDocs:!0},skipTasks:["e2e-tests-dev","test-runner","test-runner-dev","e2e-tests","chromatic"]},"bench/react-vite-default-ts-test-build":{...baseTemplates["react-vite/default-ts"],name:"Bench (react-vite/default-ts, test-build)",isInternal:!0,modifications:{skipTemplateStories:!0,testBuild:!0},skipTasks:["e2e-tests-dev","test-runner","test-runner-dev","e2e-tests"]},"bench/react-webpack-18-ts-test-build":{...baseTemplates["react-webpack/18-ts"],name:"Bench (react-webpack/18-ts, test-build)",isInternal:!0,modifications:{skipTemplateStories:!0,testBuild:!0},skipTasks:["e2e-tests-dev","test-runner","test-runner-dev","e2e-tests"]}},allTemplates={...baseTemplates,...internalTemplates,...benchTemplates},normal=["cra/default-ts","react-vite/default-ts","angular-cli/default-ts","vue3-vite/default-ts","lit-vite/default-ts","svelte-vite/default-ts","svelte-kit/skeleton-ts","nextjs/default-ts","bench/react-vite-default-ts","bench/react-webpack-18-ts","bench/react-vite-default-ts-nodocs","bench/react-vite-default-ts-test-build","bench/react-webpack-18-ts-test-build","ember/default-js"],merged=[...normal,"react-webpack/18-ts","react-webpack/17-ts","angular-cli/15-ts","preact-vite/default-ts","html-webpack/default","html-vite/default-ts"],daily=[...merged,"angular-cli/prerelease","cra/default-js","react-vite/default-js","vue3-vite/default-js","vue-cli/default-js","lit-vite/default-js","svelte-kit/skeleton-js","svelte-vite/default-js","nextjs/13-ts","nextjs/default-js","nextjs/prerelease","qwik-vite/default-ts","preact-vite/default-js","html-vite/default-js","internal/react16-webpack","internal/react18-webpack-babel"];var import_core_common22=require("@storybook/core-common"),import_core_common23=require("@storybook/core-common");var logger26=console,toChoices=c=>({title:allTemplates[c].name,value:c}),sandbox=async({output:outputDirectory,filterValue,init,...options},pkg2)=>{let selectedConfig=allTemplates[filterValue],templateId=selectedConfig?filterValue:null,{packageManager:pkgMgr}=options,packageManager=import_core_common22.JsPackageManagerFactory.getPackageManager({force:pkgMgr}),latestVersion=await packageManager.latestVersion("@storybook/cli"),nextVersion=await packageManager.latestVersion("@storybook/cli@next").catch(e=>"0.0.0"),currentVersion=import_core_common23.versions["@storybook/cli"],isPrerelease=(0,import_semver25.prerelease)(currentVersion),isOutdated=(0,import_semver25.lt)(currentVersion,isPrerelease?nextVersion:latestVersion),borderColor=isOutdated?"#FC521F":"#F1618C",downloadType=!isOutdated&&init?"after-storybook":"before-storybook",branch=isPrerelease?"next":"main",messages={welcome:`Creating a Storybook ${import_chalk32.default.bold(currentVersion)} sandbox..`,notLatest:import_chalk32.default.red(import_ts_dedent40.dedent`
538
537
  This version is behind the latest release, which is: ${import_chalk32.default.bold(latestVersion)}!
539
538
  You likely ran the init command through npx, which can use a locally cached version, to get the latest please run:
540
539
  ${import_chalk32.default.bold("npx storybook@latest sandbox")}
@@ -577,15 +576,15 @@ ${error.stack}`),fixSummary.failed[f.id]=error.message),fixResults[f.id]="check_
577
576
  3. Link to the repro repository in your issue
578
577
 
579
578
  Having a clean repro helps us solve your issue faster! 🙏
580
- `.trim(),{borderStyle:"round",padding:1,borderColor:"#F1618C"}))}catch(error){throw logger26.error("\u{1F6A8} Failed to create sandbox"),error}};async function promptSelectedTemplate(choices){let{template}=await(0,import_prompts9.default)({type:"select",message:"\u{1F308} Select the template",name:"template",choices:choices.map(toChoices)},{onCancel:()=>{logger26.log("Command cancelled by the user. Exiting..."),process.exit(1)}});return template||null}var import_fs_extra10=__toESM(require("fs-extra")),import_path18=__toESM(require("path")),import_cross_spawn3=require("cross-spawn"),import_node_logger6=require("@storybook/node-logger"),import_chalk33=__toESM(require("chalk")),exec2=async(command2,options={},{startMessage,errorMessage,dryRun}={})=>{if(startMessage&&import_node_logger6.logger.info(startMessage),dryRun){import_node_logger6.logger.info(`
579
+ `.trim(),{borderStyle:"round",padding:1,borderColor:"#F1618C"}))}catch(error){throw logger26.error("\u{1F6A8} Failed to create sandbox"),error}};async function promptSelectedTemplate(choices){let{template}=await(0,import_prompts9.default)({type:"select",message:"\u{1F308} Select the template",name:"template",choices:choices.map(toChoices)},{onCancel:()=>{logger26.log("Command cancelled by the user. Exiting..."),process.exit(1)}});return template||null}var import_fs_extra10=__toESM(require("fs-extra")),import_path18=__toESM(require("path")),import_cross_spawn2=require("cross-spawn"),import_node_logger6=require("@storybook/node-logger"),import_chalk33=__toESM(require("chalk")),exec2=async(command2,options={},{startMessage,errorMessage,dryRun}={})=>{if(startMessage&&import_node_logger6.logger.info(startMessage),dryRun){import_node_logger6.logger.info(`
581
580
  > ${command2}
582
- `);return}return import_node_logger6.logger.info(command2),new Promise((resolve2,reject)=>{let child=(0,import_cross_spawn3.spawn)(command2,{...options,shell:!0,stdio:"pipe"});child.stderr.pipe(process.stdout),child.stdout.pipe(process.stdout),child.on("exit",code=>{code===0?resolve2(void 0):(import_node_logger6.logger.error(import_chalk33.default.red(`An error occurred while executing: \`${command2}\``)),errorMessage&&import_node_logger6.logger.info(errorMessage),reject(new Error(`command exited with code: ${code}: `)))})})},link=async({target,local,start})=>{let storybookDir=process.cwd();try{if((await import_fs_extra10.default.readJSON("package.json")).name!=="@storybook/root")throw new Error}catch{throw new Error("Expected to run link from the root of the storybook monorepo")}let reproDir=target,reproName=import_path18.default.basename(target);if(!local){let reprosDir=import_path18.default.join(storybookDir,"../storybook-repros");import_node_logger6.logger.info(`Ensuring directory ${reprosDir}`),await import_fs_extra10.default.ensureDir(reprosDir),import_node_logger6.logger.info(`Cloning ${target}`),await exec2(`git clone ${target}`,{cwd:reprosDir}),reproName=import_path18.default.basename(target,import_path18.default.extname(target)),reproDir=import_path18.default.join(reprosDir,reproName)}let reproPackageJson=await import_fs_extra10.default.readJSON(import_path18.default.join(reproDir,"package.json")),version=(0,import_cross_spawn3.sync)("yarn",["--version"],{cwd:reproDir,stdio:"pipe",shell:!0}).stdout.toString();if(!/^[2-4]\./.test(version)){import_node_logger6.logger.warn(`\u{1F6A8} Expected yarn 2 or higher in ${reproDir}!`),import_node_logger6.logger.warn(""),import_node_logger6.logger.warn("Please set it up with `yarn set version berry`,"),import_node_logger6.logger.warn(`then link '${reproDir}' with the '--local' flag.`);return}import_node_logger6.logger.info(`Linking ${reproDir}`),await exec2(`yarn link --all ${storybookDir}`,{cwd:reproDir}),import_node_logger6.logger.info(`Installing ${reproName}`),await exec2("yarn install",{cwd:reproDir}),reproPackageJson.devDependencies?.vite||await exec2("yarn add -D webpack-hot-middleware",{cwd:reproDir}),await exec2("yarn add @types/node@18",{cwd:reproDir}),start&&(import_node_logger6.logger.info(`Running ${reproName} storybook`),await exec2("yarn run storybook",{cwd:reproDir}))};var import_ts_dedent41=require("ts-dedent"),import_read_pkg_up=require("read-pkg-up"),import_node_logger7=require("@storybook/node-logger"),import_core_server3=require("@storybook/core-server"),import_core_common24=require("@storybook/core-common"),import_tiny_invariant7=__toESM(require("tiny-invariant"));function printError(error){import_node_logger7.instance.heading="",error instanceof Error?error.error?import_node_logger7.logger.error(error.error):error.stats&&error.stats.compilation.errors?error.stats.compilation.errors.forEach(e=>import_node_logger7.logger.plain(e)):import_node_logger7.logger.error(error):error.compilation?.errors&&error.compilation.errors.forEach(e=>import_node_logger7.logger.plain(e)),import_node_logger7.logger.line(),import_node_logger7.logger.warn(error.close?import_ts_dedent41.dedent`
581
+ `);return}return import_node_logger6.logger.info(command2),new Promise((resolve2,reject)=>{let child=(0,import_cross_spawn2.spawn)(command2,{...options,shell:!0,stdio:"pipe"});child.stderr.pipe(process.stdout),child.stdout.pipe(process.stdout),child.on("exit",code=>{code===0?resolve2(void 0):(import_node_logger6.logger.error(import_chalk33.default.red(`An error occurred while executing: \`${command2}\``)),errorMessage&&import_node_logger6.logger.info(errorMessage),reject(new Error(`command exited with code: ${code}: `)))})})},link=async({target,local,start})=>{let storybookDir=process.cwd();try{if((await import_fs_extra10.default.readJSON("package.json")).name!=="@storybook/root")throw new Error}catch{throw new Error("Expected to run link from the root of the storybook monorepo")}let reproDir=target,reproName=import_path18.default.basename(target);if(!local){let reprosDir=import_path18.default.join(storybookDir,"../storybook-repros");import_node_logger6.logger.info(`Ensuring directory ${reprosDir}`),await import_fs_extra10.default.ensureDir(reprosDir),import_node_logger6.logger.info(`Cloning ${target}`),await exec2(`git clone ${target}`,{cwd:reprosDir}),reproName=import_path18.default.basename(target,import_path18.default.extname(target)),reproDir=import_path18.default.join(reprosDir,reproName)}let reproPackageJson=await import_fs_extra10.default.readJSON(import_path18.default.join(reproDir,"package.json")),version=(0,import_cross_spawn2.sync)("yarn",["--version"],{cwd:reproDir,stdio:"pipe",shell:!0}).stdout.toString();if(!/^[2-4]\./.test(version)){import_node_logger6.logger.warn(`\u{1F6A8} Expected yarn 2 or higher in ${reproDir}!`),import_node_logger6.logger.warn(""),import_node_logger6.logger.warn("Please set it up with `yarn set version berry`,"),import_node_logger6.logger.warn(`then link '${reproDir}' with the '--local' flag.`);return}import_node_logger6.logger.info(`Linking ${reproDir}`),await exec2(`yarn link --all ${storybookDir}`,{cwd:reproDir}),import_node_logger6.logger.info(`Installing ${reproName}`),await exec2("yarn install",{cwd:reproDir}),reproPackageJson.devDependencies?.vite||await exec2("yarn add -D webpack-hot-middleware",{cwd:reproDir}),await exec2("yarn add @types/node@18",{cwd:reproDir}),start&&(import_node_logger6.logger.info(`Running ${reproName} storybook`),await exec2("yarn run storybook",{cwd:reproDir}))};var import_ts_dedent41=require("ts-dedent"),import_read_pkg_up=require("read-pkg-up"),import_node_logger7=require("@storybook/node-logger"),import_core_server3=require("@storybook/core-server"),import_core_common24=require("@storybook/core-common"),import_tiny_invariant7=__toESM(require("tiny-invariant"));function printError(error){import_node_logger7.instance.heading="",error instanceof Error?error.error?import_node_logger7.logger.error(error.error):error.stats&&error.stats.compilation.errors?error.stats.compilation.errors.forEach(e=>import_node_logger7.logger.plain(e)):import_node_logger7.logger.error(error):error.compilation?.errors&&error.compilation.errors.forEach(e=>import_node_logger7.logger.plain(e)),import_node_logger7.logger.line(),import_node_logger7.logger.warn(error.close?import_ts_dedent41.dedent`
583
582
  FATAL broken build!, will close the process,
584
583
  Fix the error below and restart storybook.
585
584
  `:import_ts_dedent41.dedent`
586
585
  Broken build, fix the error above.
587
586
  You may need to refresh the browser.
588
- `),import_node_logger7.logger.line()}var dev=async cliOptions=>{process.env.NODE_ENV=process.env.NODE_ENV||"development";let readUpResult2=(0,import_read_pkg_up.sync)({cwd:__dirname});(0,import_tiny_invariant7.default)(readUpResult2,"Failed to find the closest package.json file.");let options={...cliOptions,configDir:cliOptions.configDir||"./.storybook",configType:"DEVELOPMENT",ignorePreview:!!cliOptions.previewUrl&&!cliOptions.forceBuildPreview,cache:import_core_common24.cache,packageJson:(0,import_read_pkg_up.sync)({cwd:__dirname})?.packageJson};await(0,import_core_server3.withTelemetry)("dev",{cliOptions,presetOptions:options,printError},()=>(0,import_core_server3.buildDevStandalone)(options))};var import_read_pkg_up2=require("read-pkg-up"),import_core_server4=require("@storybook/core-server"),import_core_common25=require("@storybook/core-common"),import_tiny_invariant8=__toESM(require("tiny-invariant")),build=async cliOptions=>{let readUpResult2=(0,import_read_pkg_up2.sync)({cwd:__dirname});(0,import_tiny_invariant8.default)(readUpResult2,"Failed to find the closest package.json file.");let options={...cliOptions,configDir:cliOptions.configDir||"./.storybook",outputDir:cliOptions.outputDir||"./storybook-static",ignorePreview:!!cliOptions.previewUrl&&!cliOptions.forceBuildPreview,configType:"PRODUCTION",cache:import_core_common25.cache,packageJson:readUpResult2.packageJson};await(0,import_core_server4.withTelemetry)("build",{cliOptions,presetOptions:options},()=>(0,import_core_server4.buildStaticStandalone)(options))};var import_chalk35=__toESM(require("chalk"));var import_fs_extra11=require("fs-extra"),import_tempy2=__toESM(require("tempy")),import_ts_dedent42=__toESM(require("ts-dedent")),import_path19=require("path"),import_core_common27=require("@storybook/core-common");var import_chalk34=__toESM(require("chalk")),import_semver27=__toESM(require("semver")),import_core_common26=require("@storybook/core-common");function getPrimaryVersion(name,installationMetadata){if(!name)return;let packageMetadata=installationMetadata?.dependencies[name];if(packageMetadata)return packageMetadata[0]?.version}function getMismatchingVersionsWarnings(installationMetadata,allDependencies){if(!installationMetadata)return;let messages=[];try{let frameworkPackageName=Object.keys(installationMetadata?.dependencies||[]).find(packageName=>Object.keys(import_core_common26.frameworkPackages).includes(packageName)),cliVersion=getPrimaryVersion("@storybook/cli",installationMetadata)||getPrimaryVersion("storybook",installationMetadata),frameworkVersion=getPrimaryVersion(frameworkPackageName,installationMetadata);if(!cliVersion||!frameworkVersion||import_semver27.default.eq(cliVersion,frameworkVersion))return;messages.push(`${import_chalk34.default.bold("Attention:")} There seems to be a mismatch between your Storybook package versions. This can result in a broken Storybook installation.`);let versionToCompare,packageToDisplay;import_semver27.default.lt(cliVersion,frameworkVersion)?(versionToCompare=frameworkVersion,packageToDisplay=frameworkPackageName):(versionToCompare=cliVersion,packageToDisplay="storybook"),messages.push(`The version of your storybook core packages should align with ${import_chalk34.default.yellow(versionToCompare)} (from the ${import_chalk34.default.cyan(packageToDisplay)} package) or higher.`);let filteredDependencies=Object.entries(installationMetadata?.dependencies||[]).filter(([name,packages])=>Object.keys(import_core_common26.versions).includes(name)?packages[0].version!==versionToCompare:!1);if(filteredDependencies.length>0){let packageJsonSuffix="(in your package.json)";messages.push("Based on your lockfile, these dependencies should be upgraded:",filteredDependencies.map(([name,dep])=>`${import_chalk34.default.hex("#ff9800")(name)}: ${dep[0].version} ${allDependencies?.[name]?packageJsonSuffix:""}`).sort((a,b)=>(b.includes(packageJsonSuffix)?1:0)-(a.includes(packageJsonSuffix)?1:0)).join(`
587
+ `),import_node_logger7.logger.line()}var dev=async cliOptions=>{process.env.NODE_ENV=process.env.NODE_ENV||"development";let readUpResult2=(0,import_read_pkg_up.sync)({cwd:__dirname});(0,import_tiny_invariant7.default)(readUpResult2,"Failed to find the closest package.json file.");let options={...cliOptions,configDir:cliOptions.configDir||"./.storybook",configType:"DEVELOPMENT",ignorePreview:!!cliOptions.previewUrl&&!cliOptions.forceBuildPreview,cache:import_core_common24.cache,packageJson:(0,import_read_pkg_up.sync)({cwd:__dirname})?.packageJson};await(0,import_core_server3.withTelemetry)("dev",{cliOptions,presetOptions:options,printError},()=>(0,import_core_server3.buildDevStandalone)(options))};var import_read_pkg_up2=require("read-pkg-up"),import_core_server4=require("@storybook/core-server"),import_core_common25=require("@storybook/core-common"),import_tiny_invariant8=__toESM(require("tiny-invariant")),build=async cliOptions=>{let readUpResult2=(0,import_read_pkg_up2.sync)({cwd:__dirname});(0,import_tiny_invariant8.default)(readUpResult2,"Failed to find the closest package.json file.");let options={...cliOptions,configDir:cliOptions.configDir||"./.storybook",outputDir:cliOptions.outputDir||"./storybook-static",ignorePreview:!!cliOptions.previewUrl&&!cliOptions.forceBuildPreview,configType:"PRODUCTION",cache:import_core_common25.cache,packageJson:readUpResult2.packageJson};await(0,import_core_server4.withTelemetry)("build",{cliOptions,presetOptions:options},()=>(0,import_core_server4.buildStaticStandalone)(options))};var import_chalk35=__toESM(require("chalk"));var import_fs_extra11=require("fs-extra"),import_tempy2=__toESM(require("tempy")),import_ts_dedent42=__toESM(require("ts-dedent")),import_path19=require("path"),import_core_common27=require("@storybook/core-common");var import_chalk34=__toESM(require("chalk")),import_semver26=__toESM(require("semver")),import_core_common26=require("@storybook/core-common");function getPrimaryVersion(name,installationMetadata){if(!name)return;let packageMetadata=installationMetadata?.dependencies[name];if(packageMetadata)return packageMetadata[0]?.version}function getMismatchingVersionsWarnings(installationMetadata,allDependencies){if(!installationMetadata)return;let messages=[];try{let frameworkPackageName=Object.keys(installationMetadata?.dependencies||[]).find(packageName=>Object.keys(import_core_common26.frameworkPackages).includes(packageName)),cliVersion=getPrimaryVersion("@storybook/cli",installationMetadata)||getPrimaryVersion("storybook",installationMetadata),frameworkVersion=getPrimaryVersion(frameworkPackageName,installationMetadata);if(!cliVersion||!frameworkVersion||import_semver26.default.eq(cliVersion,frameworkVersion))return;messages.push(`${import_chalk34.default.bold("Attention:")} There seems to be a mismatch between your Storybook package versions. This can result in a broken Storybook installation.`);let versionToCompare,packageToDisplay;import_semver26.default.lt(cliVersion,frameworkVersion)?(versionToCompare=frameworkVersion,packageToDisplay=frameworkPackageName):(versionToCompare=cliVersion,packageToDisplay="storybook"),messages.push(`The version of your storybook core packages should align with ${import_chalk34.default.yellow(versionToCompare)} (from the ${import_chalk34.default.cyan(packageToDisplay)} package) or higher.`);let filteredDependencies=Object.entries(installationMetadata?.dependencies||[]).filter(([name,packages])=>Object.keys(import_core_common26.versions).includes(name)?packages[0].version!==versionToCompare:!1);if(filteredDependencies.length>0){let packageJsonSuffix="(in your package.json)";messages.push("Based on your lockfile, these dependencies should be upgraded:",filteredDependencies.map(([name,dep])=>`${import_chalk34.default.hex("#ff9800")(name)}: ${dep[0].version} ${allDependencies?.[name]?packageJsonSuffix:""}`).sort((a,b)=>(b.includes(packageJsonSuffix)?1:0)-(a.includes(packageJsonSuffix)?1:0)).join(`
589
588
  `))}return messages.push(`You can run ${import_chalk34.default.cyan("npx storybook@latest upgrade")} to upgrade all of your Storybook packages to the latest version.
590
589
 
591
590
  Alternatively you can try manually changing the versions to match in your package.json. We also recommend regenerating your lockfile, or running the following command to possibly deduplicate your Storybook package versions: ${import_chalk34.default.cyan(installationMetadata?.dedupeCommand)}`),messages.join(`
package/dist/generate.mjs CHANGED
@@ -494,8 +494,7 @@ ${error.stack}`),fixSummary.failed[f.id]=error.message),fixResults[f.id]="check_
494
494
 
495
495
  ----
496
496
 
497
- `),{encoding:"utf-8"}),faults[0].id}return logger.plain("No blockers found."),logger.line(),null};var legacy_excludeList=["@storybook/linter-config","@storybook/design-system","@storybook/ember-cli-storybook","@storybook/semver","@storybook/eslint-config-storybook","@storybook/bench","@storybook/addon-bench","@storybook/addon-console","@storybook/csf","@storybook/storybook-deployer","@storybook/addon-postcss","@storybook/react-docgen-typescript-plugin","@storybook/babel-plugin-require-context-hook","@storybook/builder-vite","@storybook/mdx1-csf","@storybook/mdx2-csf","@storybook/expect","@storybook/jest","@storybook/test-runner","@storybook/testing-library"],legacy_isCorePackage=pkg2=>pkg2.startsWith("@storybook/")&&!pkg2.startsWith("@storybook/preset-")&&!legacy_excludeList.includes(pkg2),legacy_getStorybookVersion=()=>{let result=sync$1("npm",["ls"],{stdio:"pipe"}).output.toString().split(`
498
- `).map(line=>{if(line.startsWith("npm "))return null;let match=versionRegex.exec(line);return !match||!semver.clean(match[2])?null:{package:match[1],version:match[2]}}).filter(Boolean).filter(pkg2=>legacy_isCorePackage(pkg2.package)).sort((a,b)=>semver.rcompare(a.version,b.version));if(result.length!==0)return result[0]?.version};var versionRegex=/(@storybook\/[^@]+)@(\S+)/,getStorybookVersion=line=>{if(line.startsWith("npm "))return null;let match=versionRegex.exec(line);return !match||!semver.clean(match[2])?null:{package:match[1],version:match[2]}},getInstalledStorybookVersion=async packageManager=>{let installations=await packageManager.findInstallations(["storybook","@storybook/cli"]);if(!installations)return legacy_getStorybookVersion();let cliVersion=installations.dependencies["@storybook/cli"]?.[0].version;return cliVersion||installations.dependencies.storybook?.[0].version},deprecatedPackages=[{minVersion:"6.0.0-alpha.0",url:"https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#60-deprecations",deprecations:["@storybook/addon-notes","@storybook/addon-info","@storybook/addon-contexts","@storybook/addon-options","@storybook/addon-centered"]}],formatPackage=pkg2=>`${pkg2.package}@${pkg2.version}`,warnPackages=pkgs=>pkgs.forEach(pkg2=>logger.warn(`- ${formatPackage(pkg2)}`)),checkVersionConsistency=()=>{let storybookPackages=sync$1("npm",["ls"],{stdio:"pipe",shell:!0}).output.toString().split(`
497
+ `),{encoding:"utf-8"}),faults[0].id}return logger.plain("No blockers found."),logger.line(),null};var versionRegex=/(@storybook\/[^@]+)@(\S+)/,getStorybookVersion=line=>{if(line.startsWith("npm "))return null;let match=versionRegex.exec(line);return !match||!semver.clean(match[2])?null:{package:match[1],version:match[2]}},getInstalledStorybookVersion=async packageManager=>{let installations=await packageManager.findInstallations(["storybook","@storybook/cli"]);if(!installations)return;let cliVersion=installations.dependencies["@storybook/cli"]?.[0].version;return cliVersion||installations.dependencies.storybook?.[0].version},deprecatedPackages=[{minVersion:"6.0.0-alpha.0",url:"https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#60-deprecations",deprecations:["@storybook/addon-notes","@storybook/addon-info","@storybook/addon-contexts","@storybook/addon-options","@storybook/addon-centered"]}],formatPackage=pkg2=>`${pkg2.package}@${pkg2.version}`,warnPackages=pkgs=>pkgs.forEach(pkg2=>logger.warn(`- ${formatPackage(pkg2)}`)),checkVersionConsistency=()=>{let storybookPackages=sync$1("npm",["ls"],{stdio:"pipe",shell:!0}).output.toString().split(`
499
498
  `).map(getStorybookVersion).filter(item=>!!item).filter(pkg2=>isCorePackage(pkg2.package));if(!storybookPackages.length){logger.warn("No storybook core packages found."),logger.warn("'npm ls | grep storybook' can show if multiple versions are installed.");return}storybookPackages.sort((a,b)=>semver.rcompare(a.version,b.version));let latestVersion=storybookPackages[0].version,outdated=storybookPackages.filter(pkg2=>pkg2.version!==latestVersion);outdated.length>0&&(logger.warn(`Found ${outdated.length} outdated packages (relative to '${formatPackage(storybookPackages[0])}')`),logger.warn("Please make sure your packages are updated to ensure a consistent experience."),warnPackages(outdated)),deprecatedPackages.forEach(({minVersion:minVersion2,url,deprecations})=>{if(semver.gte(latestVersion,minVersion2)){let deprecated=storybookPackages.filter(pkg2=>deprecations.includes(pkg2.package));deprecated.length>0&&(logger.warn(`Found ${deprecated.length} deprecated packages since ${minVersion2}`),logger.warn(`See ${url}`),warnPackages(deprecated));}});},doUpgrade=async({skipCheck,packageManager:packageManagerName,dryRun,configDir:userSpecifiedConfigDir,yes,...options})=>{let packageManager=JsPackageManagerFactory.getPackageManager({force:packageManagerName}),beforeVersion=await getInstalledStorybookVersion(packageManager)??"0.0.0",currentVersion=versions["@storybook/cli"],isCanary=currentVersion.startsWith("0.0.0")||beforeVersion.startsWith("portal:")||beforeVersion.startsWith("workspace:");if(!isCanary&&lt(currentVersion,beforeVersion))throw new UpgradeStorybookToLowerVersionError({beforeVersion,currentVersion});if(!isCanary&&eq(currentVersion,beforeVersion))throw new UpgradeStorybookToSameVersionError({beforeVersion});let[latestVersion,packageJson,storybookVersion]=await Promise.all([packageManager.latestVersion("@storybook/cli"),packageManager.retrievePackageJson(),getCoercedStorybookVersion(packageManager)]),isOutdated=lt(currentVersion,latestVersion),isPrerelease=prerelease(currentVersion)!==null,borderColor=isOutdated?"#FC521F":"#F1618C",messages={welcome:`Upgrading Storybook from version ${chalk16.bold(beforeVersion)} to version ${chalk16.bold(currentVersion)}..`,notLatest:chalk16.red(dedent21`
500
499
  This version is behind the latest release, which is: ${chalk16.bold(latestVersion)}!
501
500
  You likely ran the upgrade command through npx, which can use a locally cached version, to upgrade to the latest version please run:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/cli",
3
- "version": "0.0.0-pr-26055-sha-bcc55126",
3
+ "version": "0.0.0-pr-22285-sha-87d007dc",
4
4
  "description": "Storybook's CLI - install, dev, build, upgrade, and more",
5
5
  "keywords": [
6
6
  "cli",
@@ -58,14 +58,14 @@
58
58
  "dependencies": {
59
59
  "@babel/types": "^7.23.0",
60
60
  "@ndelangen/get-tarball": "^3.0.7",
61
- "@storybook/codemod": "0.0.0-pr-26055-sha-bcc55126",
62
- "@storybook/core-common": "0.0.0-pr-26055-sha-bcc55126",
63
- "@storybook/core-events": "0.0.0-pr-26055-sha-bcc55126",
64
- "@storybook/core-server": "0.0.0-pr-26055-sha-bcc55126",
65
- "@storybook/csf-tools": "0.0.0-pr-26055-sha-bcc55126",
66
- "@storybook/node-logger": "0.0.0-pr-26055-sha-bcc55126",
67
- "@storybook/telemetry": "0.0.0-pr-26055-sha-bcc55126",
68
- "@storybook/types": "0.0.0-pr-26055-sha-bcc55126",
61
+ "@storybook/codemod": "0.0.0-pr-22285-sha-87d007dc",
62
+ "@storybook/core-common": "0.0.0-pr-22285-sha-87d007dc",
63
+ "@storybook/core-events": "0.0.0-pr-22285-sha-87d007dc",
64
+ "@storybook/core-server": "0.0.0-pr-22285-sha-87d007dc",
65
+ "@storybook/csf-tools": "0.0.0-pr-22285-sha-87d007dc",
66
+ "@storybook/node-logger": "0.0.0-pr-22285-sha-87d007dc",
67
+ "@storybook/telemetry": "0.0.0-pr-22285-sha-87d007dc",
68
+ "@storybook/types": "0.0.0-pr-22285-sha-87d007dc",
69
69
  "@types/semver": "^7.3.4",
70
70
  "@yarnpkg/fslib": "2.10.3",
71
71
  "@yarnpkg/libzip": "2.3.0",