@storybook/cli 7.1.0-alpha.29 → 7.1.0-alpha.30

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.
@@ -0,0 +1,2 @@
1
+ // TODO: Once we upgrade to Jest 28/29 we can probably remove this entire mock.
2
+ module.exports = {};
@@ -16,7 +16,7 @@ import { sync as sync$1 } from 'find-up';
16
16
  import sort from 'semver/functions/sort';
17
17
  import { platform } from 'os';
18
18
 
19
- var __require=(x=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(x,{get:(a,b)=>(typeof require<"u"?require:a)[b]}):x)(function(x){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+x+'" is not supported')});var versions_default={"@storybook/addon-a11y":"7.1.0-alpha.29","@storybook/addon-actions":"7.1.0-alpha.29","@storybook/addon-backgrounds":"7.1.0-alpha.29","@storybook/addon-controls":"7.1.0-alpha.29","@storybook/addon-docs":"7.1.0-alpha.29","@storybook/addon-essentials":"7.1.0-alpha.29","@storybook/addon-highlight":"7.1.0-alpha.29","@storybook/addon-interactions":"7.1.0-alpha.29","@storybook/addon-jest":"7.1.0-alpha.29","@storybook/addon-links":"7.1.0-alpha.29","@storybook/addon-mdx-gfm":"7.1.0-alpha.29","@storybook/addon-measure":"7.1.0-alpha.29","@storybook/addon-outline":"7.1.0-alpha.29","@storybook/addon-storyshots":"7.1.0-alpha.29","@storybook/addon-storyshots-puppeteer":"7.1.0-alpha.29","@storybook/addon-storysource":"7.1.0-alpha.29","@storybook/addon-toolbars":"7.1.0-alpha.29","@storybook/addon-viewport":"7.1.0-alpha.29","@storybook/addons":"7.1.0-alpha.29","@storybook/angular":"7.1.0-alpha.29","@storybook/api":"7.1.0-alpha.29","@storybook/blocks":"7.1.0-alpha.29","@storybook/builder-manager":"7.1.0-alpha.29","@storybook/builder-vite":"7.1.0-alpha.29","@storybook/builder-webpack5":"7.1.0-alpha.29","@storybook/channel-postmessage":"7.1.0-alpha.29","@storybook/channel-websocket":"7.1.0-alpha.29","@storybook/channels":"7.1.0-alpha.29","@storybook/cli":"7.1.0-alpha.29","@storybook/client-api":"7.1.0-alpha.29","@storybook/client-logger":"7.1.0-alpha.29","@storybook/codemod":"7.1.0-alpha.29","@storybook/components":"7.1.0-alpha.29","@storybook/core-client":"7.1.0-alpha.29","@storybook/core-common":"7.1.0-alpha.29","@storybook/core-events":"7.1.0-alpha.29","@storybook/core-server":"7.1.0-alpha.29","@storybook/core-webpack":"7.1.0-alpha.29","@storybook/csf-plugin":"7.1.0-alpha.29","@storybook/csf-tools":"7.1.0-alpha.29","@storybook/docs-tools":"7.1.0-alpha.29","@storybook/ember":"7.1.0-alpha.29","@storybook/html":"7.1.0-alpha.29","@storybook/html-vite":"7.1.0-alpha.29","@storybook/html-webpack5":"7.1.0-alpha.29","@storybook/instrumenter":"7.1.0-alpha.29","@storybook/manager":"7.1.0-alpha.29","@storybook/manager-api":"7.1.0-alpha.29","@storybook/nextjs":"7.1.0-alpha.29","@storybook/node-logger":"7.1.0-alpha.29","@storybook/postinstall":"7.1.0-alpha.29","@storybook/preact":"7.1.0-alpha.29","@storybook/preact-vite":"7.1.0-alpha.29","@storybook/preact-webpack5":"7.1.0-alpha.29","@storybook/preset-create-react-app":"7.1.0-alpha.29","@storybook/preset-html-webpack":"7.1.0-alpha.29","@storybook/preset-preact-webpack":"7.1.0-alpha.29","@storybook/preset-react-webpack":"7.1.0-alpha.29","@storybook/preset-server-webpack":"7.1.0-alpha.29","@storybook/preset-svelte-webpack":"7.1.0-alpha.29","@storybook/preset-vue-webpack":"7.1.0-alpha.29","@storybook/preset-vue3-webpack":"7.1.0-alpha.29","@storybook/preset-web-components-webpack":"7.1.0-alpha.29","@storybook/preview":"7.1.0-alpha.29","@storybook/preview-api":"7.1.0-alpha.29","@storybook/preview-web":"7.1.0-alpha.29","@storybook/react":"7.1.0-alpha.29","@storybook/react-dom-shim":"7.1.0-alpha.29","@storybook/react-vite":"7.1.0-alpha.29","@storybook/react-webpack5":"7.1.0-alpha.29","@storybook/router":"7.1.0-alpha.29","@storybook/server":"7.1.0-alpha.29","@storybook/server-webpack5":"7.1.0-alpha.29","@storybook/source-loader":"7.1.0-alpha.29","@storybook/store":"7.1.0-alpha.29","@storybook/svelte":"7.1.0-alpha.29","@storybook/svelte-vite":"7.1.0-alpha.29","@storybook/svelte-webpack5":"7.1.0-alpha.29","@storybook/sveltekit":"7.1.0-alpha.29","@storybook/telemetry":"7.1.0-alpha.29","@storybook/theming":"7.1.0-alpha.29","@storybook/types":"7.1.0-alpha.29","@storybook/vue":"7.1.0-alpha.29","@storybook/vue-vite":"7.1.0-alpha.29","@storybook/vue-webpack5":"7.1.0-alpha.29","@storybook/vue3":"7.1.0-alpha.29","@storybook/vue3-vite":"7.1.0-alpha.29","@storybook/vue3-webpack5":"7.1.0-alpha.29","@storybook/web-components":"7.1.0-alpha.29","@storybook/web-components-vite":"7.1.0-alpha.29","@storybook/web-components-webpack5":"7.1.0-alpha.29",sb:"7.1.0-alpha.29",storybook:"7.1.0-alpha.29"};var useNpmWarning=deprecate(()=>{},"`--use-npm` is deprecated and will be removed in Storybook 8.0. \nPlease use the `--package-manager=npm` option instead.\nRead more at https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#cli-option---use-npm-deprecated");function ltMajor(versionRange,major){return validRange(versionRange)&&minVersion(versionRange).major<major}function gtMajor(versionRange,major){return validRange(versionRange)&&minVersion(versionRange).major>major}function eqMajor(versionRange,major){return validRange(versionRange)&&minVersion(versionRange).major===major}var externalFrameworks=[{name:"qwik",packageName:"storybook-framework-qwik"},{name:"solid",frameworks:["storybook-solidjs-vite"],renderer:"storybook-solidjs"}];var ProjectType=(ProjectType2=>(ProjectType2.UNDETECTED="UNDETECTED",ProjectType2.UNSUPPORTED="UNSUPPORTED",ProjectType2.REACT_SCRIPTS="REACT_SCRIPTS",ProjectType2.REACT="REACT",ProjectType2.REACT_NATIVE="REACT_NATIVE",ProjectType2.REACT_PROJECT="REACT_PROJECT",ProjectType2.WEBPACK_REACT="WEBPACK_REACT",ProjectType2.NEXTJS="NEXTJS",ProjectType2.VUE="VUE",ProjectType2.VUE3="VUE3",ProjectType2.SFC_VUE="SFC_VUE",ProjectType2.ANGULAR="ANGULAR",ProjectType2.EMBER="EMBER",ProjectType2.WEB_COMPONENTS="WEB_COMPONENTS",ProjectType2.HTML="HTML",ProjectType2.QWIK="QWIK",ProjectType2.PREACT="PREACT",ProjectType2.SVELTE="SVELTE",ProjectType2.SVELTEKIT="SVELTEKIT",ProjectType2.SERVER="SERVER",ProjectType2.NX="NX",ProjectType2.SOLID="SOLID",ProjectType2))(ProjectType||{});var supportedTemplates=[{preset:"SFC_VUE",dependencies:{"vue-loader":versionRange=>ltMajor(versionRange,16),vuetify:versionRange=>ltMajor(versionRange,3)},matcherFunction:({dependencies})=>dependencies.some(Boolean)},{preset:"VUE",dependencies:{vue:versionRange=>ltMajor(versionRange,3),nuxt:versionRange=>ltMajor(versionRange,3)},matcherFunction:({dependencies})=>dependencies.some(Boolean)},{preset:"VUE3",dependencies:{vue:versionRange=>versionRange==="next"||eqMajor(versionRange,3)},matcherFunction:({dependencies})=>dependencies.some(Boolean)},{preset:"EMBER",dependencies:["ember-cli"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"NEXTJS",dependencies:{next:versionRange=>eqMajor(versionRange,9)||gtMajor(versionRange,9)},matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"QWIK",dependencies:["@builder.io/qwik"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"REACT_PROJECT",peerDependencies:["react"],matcherFunction:({peerDependencies})=>peerDependencies.every(Boolean)},{preset:"REACT_NATIVE",dependencies:["react-native","react-native-scripts"],matcherFunction:({dependencies})=>dependencies.some(Boolean)},{preset:"REACT_SCRIPTS",files:["/node_modules/.bin/react-scripts"],dependencies:["react-scripts"],matcherFunction:({dependencies,files})=>dependencies.every(Boolean)||files.every(Boolean)},{preset:"ANGULAR",dependencies:["@angular/core"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"WEB_COMPONENTS",dependencies:["lit-element","lit-html","lit"],matcherFunction:({dependencies})=>dependencies.some(Boolean)},{preset:"PREACT",dependencies:["preact"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"SVELTEKIT",dependencies:["@sveltejs/kit"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"SVELTE",dependencies:["svelte"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"SOLID",dependencies:["solid-js"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"WEBPACK_REACT",dependencies:["react","webpack"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"REACT",dependencies:["react"],matcherFunction:({dependencies})=>dependencies.every(Boolean)}],unsupportedTemplate={preset:"UNSUPPORTED",dependencies:{nuxt:versionRange=>eqMajor(versionRange,3)},matcherFunction:({dependencies})=>dependencies.some(Boolean)},notInstallableProjectTypes=["UNDETECTED","UNSUPPORTED"],installableProjectTypes=Object.values(ProjectType).filter(type=>!notInstallableProjectTypes.includes(type)).map(type=>type.toLowerCase());function getCliDir(){return dirname(__require.resolve("@storybook/cli/package.json"))}var resolveUsingBranchInstall=async(packageManager,request)=>{let tempDirectory=tempy.directory(),version=versions_default[request]||await packageManager.latestVersion(request),url=getNpmTarballUrl(request,version,{registry:await packageManager.getRegistryURL()});return await downloadTarball({url,dir:tempDirectory}),join(tempDirectory,"package")};async function getRendererDir(packageManager,renderer){let externalFramework=externalFrameworks.find(framework=>framework.name===renderer),frameworkPackageName=externalFramework?.renderer||externalFramework?.packageName||`@storybook/${renderer}`,packageJsonPath=join(frameworkPackageName,"package.json"),errors=[];try{return dirname(__require.resolve(packageJsonPath,{paths:[process.cwd()]}))}catch(e){errors.push(e);}try{return await resolveUsingBranchInstall(packageManager,frameworkPackageName)}catch(e){errors.push(e);}throw new Error(`Cannot find ${packageJsonPath}, ${errors.map(e=>e.stack).join(`
19
+ var __require=(x=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(x,{get:(a,b)=>(typeof require<"u"?require:a)[b]}):x)(function(x){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+x+'" is not supported')});var versions_default={"@storybook/addon-a11y":"7.1.0-alpha.30","@storybook/addon-actions":"7.1.0-alpha.30","@storybook/addon-backgrounds":"7.1.0-alpha.30","@storybook/addon-controls":"7.1.0-alpha.30","@storybook/addon-docs":"7.1.0-alpha.30","@storybook/addon-essentials":"7.1.0-alpha.30","@storybook/addon-highlight":"7.1.0-alpha.30","@storybook/addon-interactions":"7.1.0-alpha.30","@storybook/addon-jest":"7.1.0-alpha.30","@storybook/addon-links":"7.1.0-alpha.30","@storybook/addon-mdx-gfm":"7.1.0-alpha.30","@storybook/addon-measure":"7.1.0-alpha.30","@storybook/addon-outline":"7.1.0-alpha.30","@storybook/addon-storyshots":"7.1.0-alpha.30","@storybook/addon-storyshots-puppeteer":"7.1.0-alpha.30","@storybook/addon-storysource":"7.1.0-alpha.30","@storybook/addon-toolbars":"7.1.0-alpha.30","@storybook/addon-viewport":"7.1.0-alpha.30","@storybook/addons":"7.1.0-alpha.30","@storybook/angular":"7.1.0-alpha.30","@storybook/api":"7.1.0-alpha.30","@storybook/blocks":"7.1.0-alpha.30","@storybook/builder-manager":"7.1.0-alpha.30","@storybook/builder-vite":"7.1.0-alpha.30","@storybook/builder-webpack5":"7.1.0-alpha.30","@storybook/channel-postmessage":"7.1.0-alpha.30","@storybook/channel-websocket":"7.1.0-alpha.30","@storybook/channels":"7.1.0-alpha.30","@storybook/cli":"7.1.0-alpha.30","@storybook/client-api":"7.1.0-alpha.30","@storybook/client-logger":"7.1.0-alpha.30","@storybook/codemod":"7.1.0-alpha.30","@storybook/components":"7.1.0-alpha.30","@storybook/core-client":"7.1.0-alpha.30","@storybook/core-common":"7.1.0-alpha.30","@storybook/core-events":"7.1.0-alpha.30","@storybook/core-server":"7.1.0-alpha.30","@storybook/core-webpack":"7.1.0-alpha.30","@storybook/csf-plugin":"7.1.0-alpha.30","@storybook/csf-tools":"7.1.0-alpha.30","@storybook/docs-tools":"7.1.0-alpha.30","@storybook/ember":"7.1.0-alpha.30","@storybook/html":"7.1.0-alpha.30","@storybook/html-vite":"7.1.0-alpha.30","@storybook/html-webpack5":"7.1.0-alpha.30","@storybook/instrumenter":"7.1.0-alpha.30","@storybook/manager":"7.1.0-alpha.30","@storybook/manager-api":"7.1.0-alpha.30","@storybook/nextjs":"7.1.0-alpha.30","@storybook/node-logger":"7.1.0-alpha.30","@storybook/postinstall":"7.1.0-alpha.30","@storybook/preact":"7.1.0-alpha.30","@storybook/preact-vite":"7.1.0-alpha.30","@storybook/preact-webpack5":"7.1.0-alpha.30","@storybook/preset-create-react-app":"7.1.0-alpha.30","@storybook/preset-html-webpack":"7.1.0-alpha.30","@storybook/preset-preact-webpack":"7.1.0-alpha.30","@storybook/preset-react-webpack":"7.1.0-alpha.30","@storybook/preset-server-webpack":"7.1.0-alpha.30","@storybook/preset-svelte-webpack":"7.1.0-alpha.30","@storybook/preset-vue-webpack":"7.1.0-alpha.30","@storybook/preset-vue3-webpack":"7.1.0-alpha.30","@storybook/preset-web-components-webpack":"7.1.0-alpha.30","@storybook/preview":"7.1.0-alpha.30","@storybook/preview-api":"7.1.0-alpha.30","@storybook/preview-web":"7.1.0-alpha.30","@storybook/react":"7.1.0-alpha.30","@storybook/react-dom-shim":"7.1.0-alpha.30","@storybook/react-vite":"7.1.0-alpha.30","@storybook/react-webpack5":"7.1.0-alpha.30","@storybook/router":"7.1.0-alpha.30","@storybook/server":"7.1.0-alpha.30","@storybook/server-webpack5":"7.1.0-alpha.30","@storybook/source-loader":"7.1.0-alpha.30","@storybook/store":"7.1.0-alpha.30","@storybook/svelte":"7.1.0-alpha.30","@storybook/svelte-vite":"7.1.0-alpha.30","@storybook/svelte-webpack5":"7.1.0-alpha.30","@storybook/sveltekit":"7.1.0-alpha.30","@storybook/telemetry":"7.1.0-alpha.30","@storybook/theming":"7.1.0-alpha.30","@storybook/types":"7.1.0-alpha.30","@storybook/vue":"7.1.0-alpha.30","@storybook/vue-vite":"7.1.0-alpha.30","@storybook/vue-webpack5":"7.1.0-alpha.30","@storybook/vue3":"7.1.0-alpha.30","@storybook/vue3-vite":"7.1.0-alpha.30","@storybook/vue3-webpack5":"7.1.0-alpha.30","@storybook/web-components":"7.1.0-alpha.30","@storybook/web-components-vite":"7.1.0-alpha.30","@storybook/web-components-webpack5":"7.1.0-alpha.30",sb:"7.1.0-alpha.30",storybook:"7.1.0-alpha.30"};var useNpmWarning=deprecate(()=>{},"`--use-npm` is deprecated and will be removed in Storybook 8.0. \nPlease use the `--package-manager=npm` option instead.\nRead more at https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#cli-option---use-npm-deprecated");function ltMajor(versionRange,major){return validRange(versionRange)&&minVersion(versionRange).major<major}function gtMajor(versionRange,major){return validRange(versionRange)&&minVersion(versionRange).major>major}function eqMajor(versionRange,major){return validRange(versionRange)&&minVersion(versionRange).major===major}var externalFrameworks=[{name:"qwik",packageName:"storybook-framework-qwik"},{name:"solid",frameworks:["storybook-solidjs-vite"],renderer:"storybook-solidjs"}];var ProjectType=(ProjectType2=>(ProjectType2.UNDETECTED="UNDETECTED",ProjectType2.UNSUPPORTED="UNSUPPORTED",ProjectType2.REACT_SCRIPTS="REACT_SCRIPTS",ProjectType2.REACT="REACT",ProjectType2.REACT_NATIVE="REACT_NATIVE",ProjectType2.REACT_PROJECT="REACT_PROJECT",ProjectType2.WEBPACK_REACT="WEBPACK_REACT",ProjectType2.NEXTJS="NEXTJS",ProjectType2.VUE="VUE",ProjectType2.VUE3="VUE3",ProjectType2.SFC_VUE="SFC_VUE",ProjectType2.ANGULAR="ANGULAR",ProjectType2.EMBER="EMBER",ProjectType2.WEB_COMPONENTS="WEB_COMPONENTS",ProjectType2.HTML="HTML",ProjectType2.QWIK="QWIK",ProjectType2.PREACT="PREACT",ProjectType2.SVELTE="SVELTE",ProjectType2.SVELTEKIT="SVELTEKIT",ProjectType2.SERVER="SERVER",ProjectType2.NX="NX",ProjectType2.SOLID="SOLID",ProjectType2))(ProjectType||{});var supportedTemplates=[{preset:"SFC_VUE",dependencies:{"vue-loader":versionRange=>ltMajor(versionRange,16),vuetify:versionRange=>ltMajor(versionRange,3)},matcherFunction:({dependencies})=>dependencies.some(Boolean)},{preset:"VUE",dependencies:{vue:versionRange=>ltMajor(versionRange,3),nuxt:versionRange=>ltMajor(versionRange,3)},matcherFunction:({dependencies})=>dependencies.some(Boolean)},{preset:"VUE3",dependencies:{vue:versionRange=>versionRange==="next"||eqMajor(versionRange,3)},matcherFunction:({dependencies})=>dependencies.some(Boolean)},{preset:"EMBER",dependencies:["ember-cli"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"NEXTJS",dependencies:{next:versionRange=>eqMajor(versionRange,9)||gtMajor(versionRange,9)},matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"QWIK",dependencies:["@builder.io/qwik"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"REACT_PROJECT",peerDependencies:["react"],matcherFunction:({peerDependencies})=>peerDependencies.every(Boolean)},{preset:"REACT_NATIVE",dependencies:["react-native","react-native-scripts"],matcherFunction:({dependencies})=>dependencies.some(Boolean)},{preset:"REACT_SCRIPTS",files:["/node_modules/.bin/react-scripts"],dependencies:["react-scripts"],matcherFunction:({dependencies,files})=>dependencies.every(Boolean)||files.every(Boolean)},{preset:"ANGULAR",dependencies:["@angular/core"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"WEB_COMPONENTS",dependencies:["lit-element","lit-html","lit"],matcherFunction:({dependencies})=>dependencies.some(Boolean)},{preset:"PREACT",dependencies:["preact"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"SVELTEKIT",dependencies:["@sveltejs/kit"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"SVELTE",dependencies:["svelte"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"SOLID",dependencies:["solid-js"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"WEBPACK_REACT",dependencies:["react","webpack"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"REACT",dependencies:["react"],matcherFunction:({dependencies})=>dependencies.every(Boolean)}],unsupportedTemplate={preset:"UNSUPPORTED",dependencies:{nuxt:versionRange=>eqMajor(versionRange,3)},matcherFunction:({dependencies})=>dependencies.some(Boolean)},notInstallableProjectTypes=["UNDETECTED","UNSUPPORTED"],installableProjectTypes=Object.values(ProjectType).filter(type=>!notInstallableProjectTypes.includes(type)).map(type=>type.toLowerCase());function getCliDir(){return dirname(__require.resolve("@storybook/cli/package.json"))}var resolveUsingBranchInstall=async(packageManager,request)=>{let tempDirectory=tempy.directory(),version=versions_default[request]||await packageManager.latestVersion(request),url=getNpmTarballUrl(request,version,{registry:await packageManager.getRegistryURL()});return await downloadTarball({url,dir:tempDirectory}),join(tempDirectory,"package")};async function getRendererDir(packageManager,renderer){let externalFramework=externalFrameworks.find(framework=>framework.name===renderer),frameworkPackageName=externalFramework?.renderer||externalFramework?.packageName||`@storybook/${renderer}`,packageJsonPath=join(frameworkPackageName,"package.json"),errors=[];try{return dirname(__require.resolve(packageJsonPath,{paths:[process.cwd()]}))}catch(e){errors.push(e);}try{return await resolveUsingBranchInstall(packageManager,frameworkPackageName)}catch(e){errors.push(e);}throw new Error(`Cannot find ${packageJsonPath}, ${errors.map(e=>e.stack).join(`
20
20
 
21
21
  `)}`)}var logger=console;function getBowerJson(){let bowerJsonPath=path.resolve("bower.json");if(!fs.existsSync(bowerJsonPath))return !1;let jsonContent=fs.readFileSync(bowerJsonPath,"utf8");return JSON.parse(jsonContent)}var commandLog=message=>(process.stdout.write(chalk.cyan(" \u2022 ")+message),(errorMessage,errorInfo)=>{if(errorMessage){if(process.stdout.write(`. ${chalk.red("\u2716")}
22
22
  `),logger.error(`
package/dist/generate.js CHANGED
@@ -1,4 +1,4 @@
1
- var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod));var import_commander=__toESM(require("commander")),import_path19=__toESM(require("path")),import_chalk30=__toESM(require("chalk")),import_envinfo=__toESM(require("envinfo")),import_leven=__toESM(require("leven")),import_read_pkg_up3=require("read-pkg-up"),import_node_logger7=require("@storybook/node-logger"),import_telemetry3=require("@storybook/telemetry");var import_chalk4=__toESM(require("chalk")),import_prompts5=__toESM(require("prompts")),import_telemetry=require("@storybook/telemetry"),import_core_server=require("@storybook/core-server"),import_ts_dedent11=__toESM(require("ts-dedent"));var import_semver=require("semver");function ltMajor(versionRange,major){return(0,import_semver.validRange)(versionRange)&&(0,import_semver.minVersion)(versionRange).major<major}function gtMajor(versionRange,major){return(0,import_semver.validRange)(versionRange)&&(0,import_semver.minVersion)(versionRange).major>major}function eqMajor(versionRange,major){return(0,import_semver.validRange)(versionRange)&&(0,import_semver.minVersion)(versionRange).major===major}var externalFrameworks=[{name:"qwik",packageName:"storybook-framework-qwik"},{name:"solid",frameworks:["storybook-solidjs-vite"],renderer:"storybook-solidjs"}];var ProjectType=(ProjectType2=>(ProjectType2.UNDETECTED="UNDETECTED",ProjectType2.UNSUPPORTED="UNSUPPORTED",ProjectType2.REACT_SCRIPTS="REACT_SCRIPTS",ProjectType2.REACT="REACT",ProjectType2.REACT_NATIVE="REACT_NATIVE",ProjectType2.REACT_PROJECT="REACT_PROJECT",ProjectType2.WEBPACK_REACT="WEBPACK_REACT",ProjectType2.NEXTJS="NEXTJS",ProjectType2.VUE="VUE",ProjectType2.VUE3="VUE3",ProjectType2.SFC_VUE="SFC_VUE",ProjectType2.ANGULAR="ANGULAR",ProjectType2.EMBER="EMBER",ProjectType2.WEB_COMPONENTS="WEB_COMPONENTS",ProjectType2.HTML="HTML",ProjectType2.QWIK="QWIK",ProjectType2.PREACT="PREACT",ProjectType2.SVELTE="SVELTE",ProjectType2.SVELTEKIT="SVELTEKIT",ProjectType2.SERVER="SERVER",ProjectType2.NX="NX",ProjectType2.SOLID="SOLID",ProjectType2))(ProjectType||{});var supportedTemplates=[{preset:"SFC_VUE",dependencies:{"vue-loader":versionRange=>ltMajor(versionRange,16),vuetify:versionRange=>ltMajor(versionRange,3)},matcherFunction:({dependencies})=>dependencies.some(Boolean)},{preset:"VUE",dependencies:{vue:versionRange=>ltMajor(versionRange,3),nuxt:versionRange=>ltMajor(versionRange,3)},matcherFunction:({dependencies})=>dependencies.some(Boolean)},{preset:"VUE3",dependencies:{vue:versionRange=>versionRange==="next"||eqMajor(versionRange,3)},matcherFunction:({dependencies})=>dependencies.some(Boolean)},{preset:"EMBER",dependencies:["ember-cli"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"NEXTJS",dependencies:{next:versionRange=>eqMajor(versionRange,9)||gtMajor(versionRange,9)},matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"QWIK",dependencies:["@builder.io/qwik"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"REACT_PROJECT",peerDependencies:["react"],matcherFunction:({peerDependencies})=>peerDependencies.every(Boolean)},{preset:"REACT_NATIVE",dependencies:["react-native","react-native-scripts"],matcherFunction:({dependencies})=>dependencies.some(Boolean)},{preset:"REACT_SCRIPTS",files:["/node_modules/.bin/react-scripts"],dependencies:["react-scripts"],matcherFunction:({dependencies,files})=>dependencies.every(Boolean)||files.every(Boolean)},{preset:"ANGULAR",dependencies:["@angular/core"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"WEB_COMPONENTS",dependencies:["lit-element","lit-html","lit"],matcherFunction:({dependencies})=>dependencies.some(Boolean)},{preset:"PREACT",dependencies:["preact"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"SVELTEKIT",dependencies:["@sveltejs/kit"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"SVELTE",dependencies:["svelte"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"SOLID",dependencies:["solid-js"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"WEBPACK_REACT",dependencies:["react","webpack"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"REACT",dependencies:["react"],matcherFunction:({dependencies})=>dependencies.every(Boolean)}],unsupportedTemplate={preset:"UNSUPPORTED",dependencies:{nuxt:versionRange=>eqMajor(versionRange,3)},matcherFunction:({dependencies})=>dependencies.some(Boolean)},notInstallableProjectTypes=["UNDETECTED","UNSUPPORTED"],installableProjectTypes=Object.values(ProjectType).filter(type=>!notInstallableProjectTypes.includes(type)).map(type=>type.toLowerCase());var import_fs2=__toESM(require("fs")),import_find_up=__toESM(require("find-up")),import_semver3=__toESM(require("semver")),import_node_logger=require("@storybook/node-logger"),import_fs_extra2=require("fs-extra"),import_path3=require("path"),import_prompts=__toESM(require("prompts"));var import_path2=__toESM(require("path")),import_fs=__toESM(require("fs")),import_fs_extra=__toESM(require("fs-extra")),import_chalk=__toESM(require("chalk")),import_semver2=require("semver"),import_strip_json_comments=__toESM(require("strip-json-comments"));var import_path=require("path"),import_get_tarball=__toESM(require("@ndelangen/get-tarball")),import_get_npm_tarball_url=__toESM(require("get-npm-tarball-url")),tempy=__toESM(require("tempy"));var versions_default={"@storybook/addon-a11y":"7.1.0-alpha.29","@storybook/addon-actions":"7.1.0-alpha.29","@storybook/addon-backgrounds":"7.1.0-alpha.29","@storybook/addon-controls":"7.1.0-alpha.29","@storybook/addon-docs":"7.1.0-alpha.29","@storybook/addon-essentials":"7.1.0-alpha.29","@storybook/addon-highlight":"7.1.0-alpha.29","@storybook/addon-interactions":"7.1.0-alpha.29","@storybook/addon-jest":"7.1.0-alpha.29","@storybook/addon-links":"7.1.0-alpha.29","@storybook/addon-mdx-gfm":"7.1.0-alpha.29","@storybook/addon-measure":"7.1.0-alpha.29","@storybook/addon-outline":"7.1.0-alpha.29","@storybook/addon-storyshots":"7.1.0-alpha.29","@storybook/addon-storyshots-puppeteer":"7.1.0-alpha.29","@storybook/addon-storysource":"7.1.0-alpha.29","@storybook/addon-toolbars":"7.1.0-alpha.29","@storybook/addon-viewport":"7.1.0-alpha.29","@storybook/addons":"7.1.0-alpha.29","@storybook/angular":"7.1.0-alpha.29","@storybook/api":"7.1.0-alpha.29","@storybook/blocks":"7.1.0-alpha.29","@storybook/builder-manager":"7.1.0-alpha.29","@storybook/builder-vite":"7.1.0-alpha.29","@storybook/builder-webpack5":"7.1.0-alpha.29","@storybook/channel-postmessage":"7.1.0-alpha.29","@storybook/channel-websocket":"7.1.0-alpha.29","@storybook/channels":"7.1.0-alpha.29","@storybook/cli":"7.1.0-alpha.29","@storybook/client-api":"7.1.0-alpha.29","@storybook/client-logger":"7.1.0-alpha.29","@storybook/codemod":"7.1.0-alpha.29","@storybook/components":"7.1.0-alpha.29","@storybook/core-client":"7.1.0-alpha.29","@storybook/core-common":"7.1.0-alpha.29","@storybook/core-events":"7.1.0-alpha.29","@storybook/core-server":"7.1.0-alpha.29","@storybook/core-webpack":"7.1.0-alpha.29","@storybook/csf-plugin":"7.1.0-alpha.29","@storybook/csf-tools":"7.1.0-alpha.29","@storybook/docs-tools":"7.1.0-alpha.29","@storybook/ember":"7.1.0-alpha.29","@storybook/html":"7.1.0-alpha.29","@storybook/html-vite":"7.1.0-alpha.29","@storybook/html-webpack5":"7.1.0-alpha.29","@storybook/instrumenter":"7.1.0-alpha.29","@storybook/manager":"7.1.0-alpha.29","@storybook/manager-api":"7.1.0-alpha.29","@storybook/nextjs":"7.1.0-alpha.29","@storybook/node-logger":"7.1.0-alpha.29","@storybook/postinstall":"7.1.0-alpha.29","@storybook/preact":"7.1.0-alpha.29","@storybook/preact-vite":"7.1.0-alpha.29","@storybook/preact-webpack5":"7.1.0-alpha.29","@storybook/preset-create-react-app":"7.1.0-alpha.29","@storybook/preset-html-webpack":"7.1.0-alpha.29","@storybook/preset-preact-webpack":"7.1.0-alpha.29","@storybook/preset-react-webpack":"7.1.0-alpha.29","@storybook/preset-server-webpack":"7.1.0-alpha.29","@storybook/preset-svelte-webpack":"7.1.0-alpha.29","@storybook/preset-vue-webpack":"7.1.0-alpha.29","@storybook/preset-vue3-webpack":"7.1.0-alpha.29","@storybook/preset-web-components-webpack":"7.1.0-alpha.29","@storybook/preview":"7.1.0-alpha.29","@storybook/preview-api":"7.1.0-alpha.29","@storybook/preview-web":"7.1.0-alpha.29","@storybook/react":"7.1.0-alpha.29","@storybook/react-dom-shim":"7.1.0-alpha.29","@storybook/react-vite":"7.1.0-alpha.29","@storybook/react-webpack5":"7.1.0-alpha.29","@storybook/router":"7.1.0-alpha.29","@storybook/server":"7.1.0-alpha.29","@storybook/server-webpack5":"7.1.0-alpha.29","@storybook/source-loader":"7.1.0-alpha.29","@storybook/store":"7.1.0-alpha.29","@storybook/svelte":"7.1.0-alpha.29","@storybook/svelte-vite":"7.1.0-alpha.29","@storybook/svelte-webpack5":"7.1.0-alpha.29","@storybook/sveltekit":"7.1.0-alpha.29","@storybook/telemetry":"7.1.0-alpha.29","@storybook/theming":"7.1.0-alpha.29","@storybook/types":"7.1.0-alpha.29","@storybook/vue":"7.1.0-alpha.29","@storybook/vue-vite":"7.1.0-alpha.29","@storybook/vue-webpack5":"7.1.0-alpha.29","@storybook/vue3":"7.1.0-alpha.29","@storybook/vue3-vite":"7.1.0-alpha.29","@storybook/vue3-webpack5":"7.1.0-alpha.29","@storybook/web-components":"7.1.0-alpha.29","@storybook/web-components-vite":"7.1.0-alpha.29","@storybook/web-components-webpack5":"7.1.0-alpha.29",sb:"7.1.0-alpha.29",storybook:"7.1.0-alpha.29"};function getCliDir(){return(0,import_path.dirname)(require.resolve("@storybook/cli/package.json"))}var resolveUsingBranchInstall=async(packageManager,request)=>{let tempDirectory=tempy.directory(),version=versions_default[request]||await packageManager.latestVersion(request),url=(0,import_get_npm_tarball_url.default)(request,version,{registry:await packageManager.getRegistryURL()});return await(0,import_get_tarball.default)({url,dir:tempDirectory}),(0,import_path.join)(tempDirectory,"package")};async function getRendererDir(packageManager,renderer){let externalFramework=externalFrameworks.find(framework=>framework.name===renderer),frameworkPackageName=(externalFramework==null?void 0:externalFramework.renderer)||(externalFramework==null?void 0:externalFramework.packageName)||`@storybook/${renderer}`,packageJsonPath=(0,import_path.join)(frameworkPackageName,"package.json"),errors=[];try{return(0,import_path.dirname)(require.resolve(packageJsonPath,{paths:[process.cwd()]}))}catch(e){errors.push(e)}try{return await resolveUsingBranchInstall(packageManager,frameworkPackageName)}catch(e){errors.push(e)}throw new Error(`Cannot find ${packageJsonPath}, ${errors.map(e=>e.stack).join(`
1
+ var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod));var import_commander=__toESM(require("commander")),import_path19=__toESM(require("path")),import_chalk30=__toESM(require("chalk")),import_envinfo=__toESM(require("envinfo")),import_leven=__toESM(require("leven")),import_read_pkg_up3=require("read-pkg-up"),import_node_logger7=require("@storybook/node-logger"),import_telemetry3=require("@storybook/telemetry");var import_chalk4=__toESM(require("chalk")),import_prompts5=__toESM(require("prompts")),import_telemetry=require("@storybook/telemetry"),import_core_server=require("@storybook/core-server"),import_ts_dedent11=__toESM(require("ts-dedent"));var import_semver=require("semver");function ltMajor(versionRange,major){return(0,import_semver.validRange)(versionRange)&&(0,import_semver.minVersion)(versionRange).major<major}function gtMajor(versionRange,major){return(0,import_semver.validRange)(versionRange)&&(0,import_semver.minVersion)(versionRange).major>major}function eqMajor(versionRange,major){return(0,import_semver.validRange)(versionRange)&&(0,import_semver.minVersion)(versionRange).major===major}var externalFrameworks=[{name:"qwik",packageName:"storybook-framework-qwik"},{name:"solid",frameworks:["storybook-solidjs-vite"],renderer:"storybook-solidjs"}];var ProjectType=(ProjectType2=>(ProjectType2.UNDETECTED="UNDETECTED",ProjectType2.UNSUPPORTED="UNSUPPORTED",ProjectType2.REACT_SCRIPTS="REACT_SCRIPTS",ProjectType2.REACT="REACT",ProjectType2.REACT_NATIVE="REACT_NATIVE",ProjectType2.REACT_PROJECT="REACT_PROJECT",ProjectType2.WEBPACK_REACT="WEBPACK_REACT",ProjectType2.NEXTJS="NEXTJS",ProjectType2.VUE="VUE",ProjectType2.VUE3="VUE3",ProjectType2.SFC_VUE="SFC_VUE",ProjectType2.ANGULAR="ANGULAR",ProjectType2.EMBER="EMBER",ProjectType2.WEB_COMPONENTS="WEB_COMPONENTS",ProjectType2.HTML="HTML",ProjectType2.QWIK="QWIK",ProjectType2.PREACT="PREACT",ProjectType2.SVELTE="SVELTE",ProjectType2.SVELTEKIT="SVELTEKIT",ProjectType2.SERVER="SERVER",ProjectType2.NX="NX",ProjectType2.SOLID="SOLID",ProjectType2))(ProjectType||{});var supportedTemplates=[{preset:"SFC_VUE",dependencies:{"vue-loader":versionRange=>ltMajor(versionRange,16),vuetify:versionRange=>ltMajor(versionRange,3)},matcherFunction:({dependencies})=>dependencies.some(Boolean)},{preset:"VUE",dependencies:{vue:versionRange=>ltMajor(versionRange,3),nuxt:versionRange=>ltMajor(versionRange,3)},matcherFunction:({dependencies})=>dependencies.some(Boolean)},{preset:"VUE3",dependencies:{vue:versionRange=>versionRange==="next"||eqMajor(versionRange,3)},matcherFunction:({dependencies})=>dependencies.some(Boolean)},{preset:"EMBER",dependencies:["ember-cli"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"NEXTJS",dependencies:{next:versionRange=>eqMajor(versionRange,9)||gtMajor(versionRange,9)},matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"QWIK",dependencies:["@builder.io/qwik"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"REACT_PROJECT",peerDependencies:["react"],matcherFunction:({peerDependencies})=>peerDependencies.every(Boolean)},{preset:"REACT_NATIVE",dependencies:["react-native","react-native-scripts"],matcherFunction:({dependencies})=>dependencies.some(Boolean)},{preset:"REACT_SCRIPTS",files:["/node_modules/.bin/react-scripts"],dependencies:["react-scripts"],matcherFunction:({dependencies,files})=>dependencies.every(Boolean)||files.every(Boolean)},{preset:"ANGULAR",dependencies:["@angular/core"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"WEB_COMPONENTS",dependencies:["lit-element","lit-html","lit"],matcherFunction:({dependencies})=>dependencies.some(Boolean)},{preset:"PREACT",dependencies:["preact"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"SVELTEKIT",dependencies:["@sveltejs/kit"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"SVELTE",dependencies:["svelte"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"SOLID",dependencies:["solid-js"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"WEBPACK_REACT",dependencies:["react","webpack"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"REACT",dependencies:["react"],matcherFunction:({dependencies})=>dependencies.every(Boolean)}],unsupportedTemplate={preset:"UNSUPPORTED",dependencies:{nuxt:versionRange=>eqMajor(versionRange,3)},matcherFunction:({dependencies})=>dependencies.some(Boolean)},notInstallableProjectTypes=["UNDETECTED","UNSUPPORTED"],installableProjectTypes=Object.values(ProjectType).filter(type=>!notInstallableProjectTypes.includes(type)).map(type=>type.toLowerCase());var import_fs2=__toESM(require("fs")),import_find_up=__toESM(require("find-up")),import_semver3=__toESM(require("semver")),import_node_logger=require("@storybook/node-logger"),import_fs_extra2=require("fs-extra"),import_path3=require("path"),import_prompts=__toESM(require("prompts"));var import_path2=__toESM(require("path")),import_fs=__toESM(require("fs")),import_fs_extra=__toESM(require("fs-extra")),import_chalk=__toESM(require("chalk")),import_semver2=require("semver"),import_strip_json_comments=__toESM(require("strip-json-comments"));var import_path=require("path"),import_get_tarball=__toESM(require("@ndelangen/get-tarball")),import_get_npm_tarball_url=__toESM(require("get-npm-tarball-url")),tempy=__toESM(require("tempy"));var versions_default={"@storybook/addon-a11y":"7.1.0-alpha.30","@storybook/addon-actions":"7.1.0-alpha.30","@storybook/addon-backgrounds":"7.1.0-alpha.30","@storybook/addon-controls":"7.1.0-alpha.30","@storybook/addon-docs":"7.1.0-alpha.30","@storybook/addon-essentials":"7.1.0-alpha.30","@storybook/addon-highlight":"7.1.0-alpha.30","@storybook/addon-interactions":"7.1.0-alpha.30","@storybook/addon-jest":"7.1.0-alpha.30","@storybook/addon-links":"7.1.0-alpha.30","@storybook/addon-mdx-gfm":"7.1.0-alpha.30","@storybook/addon-measure":"7.1.0-alpha.30","@storybook/addon-outline":"7.1.0-alpha.30","@storybook/addon-storyshots":"7.1.0-alpha.30","@storybook/addon-storyshots-puppeteer":"7.1.0-alpha.30","@storybook/addon-storysource":"7.1.0-alpha.30","@storybook/addon-toolbars":"7.1.0-alpha.30","@storybook/addon-viewport":"7.1.0-alpha.30","@storybook/addons":"7.1.0-alpha.30","@storybook/angular":"7.1.0-alpha.30","@storybook/api":"7.1.0-alpha.30","@storybook/blocks":"7.1.0-alpha.30","@storybook/builder-manager":"7.1.0-alpha.30","@storybook/builder-vite":"7.1.0-alpha.30","@storybook/builder-webpack5":"7.1.0-alpha.30","@storybook/channel-postmessage":"7.1.0-alpha.30","@storybook/channel-websocket":"7.1.0-alpha.30","@storybook/channels":"7.1.0-alpha.30","@storybook/cli":"7.1.0-alpha.30","@storybook/client-api":"7.1.0-alpha.30","@storybook/client-logger":"7.1.0-alpha.30","@storybook/codemod":"7.1.0-alpha.30","@storybook/components":"7.1.0-alpha.30","@storybook/core-client":"7.1.0-alpha.30","@storybook/core-common":"7.1.0-alpha.30","@storybook/core-events":"7.1.0-alpha.30","@storybook/core-server":"7.1.0-alpha.30","@storybook/core-webpack":"7.1.0-alpha.30","@storybook/csf-plugin":"7.1.0-alpha.30","@storybook/csf-tools":"7.1.0-alpha.30","@storybook/docs-tools":"7.1.0-alpha.30","@storybook/ember":"7.1.0-alpha.30","@storybook/html":"7.1.0-alpha.30","@storybook/html-vite":"7.1.0-alpha.30","@storybook/html-webpack5":"7.1.0-alpha.30","@storybook/instrumenter":"7.1.0-alpha.30","@storybook/manager":"7.1.0-alpha.30","@storybook/manager-api":"7.1.0-alpha.30","@storybook/nextjs":"7.1.0-alpha.30","@storybook/node-logger":"7.1.0-alpha.30","@storybook/postinstall":"7.1.0-alpha.30","@storybook/preact":"7.1.0-alpha.30","@storybook/preact-vite":"7.1.0-alpha.30","@storybook/preact-webpack5":"7.1.0-alpha.30","@storybook/preset-create-react-app":"7.1.0-alpha.30","@storybook/preset-html-webpack":"7.1.0-alpha.30","@storybook/preset-preact-webpack":"7.1.0-alpha.30","@storybook/preset-react-webpack":"7.1.0-alpha.30","@storybook/preset-server-webpack":"7.1.0-alpha.30","@storybook/preset-svelte-webpack":"7.1.0-alpha.30","@storybook/preset-vue-webpack":"7.1.0-alpha.30","@storybook/preset-vue3-webpack":"7.1.0-alpha.30","@storybook/preset-web-components-webpack":"7.1.0-alpha.30","@storybook/preview":"7.1.0-alpha.30","@storybook/preview-api":"7.1.0-alpha.30","@storybook/preview-web":"7.1.0-alpha.30","@storybook/react":"7.1.0-alpha.30","@storybook/react-dom-shim":"7.1.0-alpha.30","@storybook/react-vite":"7.1.0-alpha.30","@storybook/react-webpack5":"7.1.0-alpha.30","@storybook/router":"7.1.0-alpha.30","@storybook/server":"7.1.0-alpha.30","@storybook/server-webpack5":"7.1.0-alpha.30","@storybook/source-loader":"7.1.0-alpha.30","@storybook/store":"7.1.0-alpha.30","@storybook/svelte":"7.1.0-alpha.30","@storybook/svelte-vite":"7.1.0-alpha.30","@storybook/svelte-webpack5":"7.1.0-alpha.30","@storybook/sveltekit":"7.1.0-alpha.30","@storybook/telemetry":"7.1.0-alpha.30","@storybook/theming":"7.1.0-alpha.30","@storybook/types":"7.1.0-alpha.30","@storybook/vue":"7.1.0-alpha.30","@storybook/vue-vite":"7.1.0-alpha.30","@storybook/vue-webpack5":"7.1.0-alpha.30","@storybook/vue3":"7.1.0-alpha.30","@storybook/vue3-vite":"7.1.0-alpha.30","@storybook/vue3-webpack5":"7.1.0-alpha.30","@storybook/web-components":"7.1.0-alpha.30","@storybook/web-components-vite":"7.1.0-alpha.30","@storybook/web-components-webpack5":"7.1.0-alpha.30",sb:"7.1.0-alpha.30",storybook:"7.1.0-alpha.30"};function getCliDir(){return(0,import_path.dirname)(require.resolve("@storybook/cli/package.json"))}var resolveUsingBranchInstall=async(packageManager,request)=>{let tempDirectory=tempy.directory(),version=versions_default[request]||await packageManager.latestVersion(request),url=(0,import_get_npm_tarball_url.default)(request,version,{registry:await packageManager.getRegistryURL()});return await(0,import_get_tarball.default)({url,dir:tempDirectory}),(0,import_path.join)(tempDirectory,"package")};async function getRendererDir(packageManager,renderer){let externalFramework=externalFrameworks.find(framework=>framework.name===renderer),frameworkPackageName=(externalFramework==null?void 0:externalFramework.renderer)||(externalFramework==null?void 0:externalFramework.packageName)||`@storybook/${renderer}`,packageJsonPath=(0,import_path.join)(frameworkPackageName,"package.json"),errors=[];try{return(0,import_path.dirname)(require.resolve(packageJsonPath,{paths:[process.cwd()]}))}catch(e){errors.push(e)}try{return await resolveUsingBranchInstall(packageManager,frameworkPackageName)}catch(e){errors.push(e)}throw new Error(`Cannot find ${packageJsonPath}, ${errors.map(e=>e.stack).join(`
2
2
 
3
3
  `)}`)}var logger=console;function getBowerJson(){let bowerJsonPath=import_path2.default.resolve("bower.json");if(!import_fs.default.existsSync(bowerJsonPath))return!1;let jsonContent=import_fs.default.readFileSync(bowerJsonPath,"utf8");return JSON.parse(jsonContent)}var commandLog=message=>(process.stdout.write(import_chalk.default.cyan(" \u2022 ")+message),(errorMessage,errorInfo)=>{if(errorMessage){if(process.stdout.write(`. ${import_chalk.default.red("\u2716")}
4
4
  `),logger.error(`
@@ -419,9 +419,9 @@ yarn storybook`):`Recreate your setup, then ${import_chalk28.default.yellow("npx
419
419
  3. Link to the repro repository in your issue
420
420
 
421
421
  Having a clean repro helps us solve your issue faster! 🙏
422
- `.trim(),{borderStyle:"round",padding:1,borderColor:"#F1618C"}))}catch(error){throw logger27.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:()=>{logger27.log("Command cancelled by the user. Exiting..."),process.exit(1)}});return template||null}var import_fs_extra15=__toESM(require("fs-extra")),import_path18=__toESM(require("path")),import_cross_spawn4=require("cross-spawn"),import_node_logger5=require("@storybook/node-logger"),import_shelljs=__toESM(require("shelljs")),import_chalk29=__toESM(require("chalk")),exec=async(command2,options={},{startMessage,errorMessage,dryRun}={})=>{if(startMessage&&import_node_logger5.logger.info(startMessage),dryRun){import_node_logger5.logger.info(`
422
+ `.trim(),{borderStyle:"round",padding:1,borderColor:"#F1618C"}))}catch(error){throw logger27.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:()=>{logger27.log("Command cancelled by the user. Exiting..."),process.exit(1)}});return template||null}var import_fs_extra15=__toESM(require("fs-extra")),import_path18=__toESM(require("path")),import_cross_spawn4=require("cross-spawn"),import_node_logger5=require("@storybook/node-logger"),import_chalk29=__toESM(require("chalk")),exec=async(command2,options={},{startMessage,errorMessage,dryRun}={})=>{if(startMessage&&import_node_logger5.logger.info(startMessage),dryRun){import_node_logger5.logger.info(`
423
423
  > ${command2}
424
- `);return}return import_node_logger5.logger.info(command2),new Promise((resolve2,reject)=>{let defaultOptions2={silent:!1},child=import_shelljs.default.exec(command2,{...defaultOptions2,...options,async:!0,silent:!1});child.stderr.pipe(process.stderr),child.on("exit",code=>{code===0?resolve2(void 0):(import_node_logger5.logger.error(import_chalk29.default.red(`An error occurred while executing: \`${command2}\``)),import_node_logger5.logger.info(errorMessage),reject(new Error(`command exited with code: ${code}: `)))})})},link=async({target,local,start})=>{var _a;let storybookDir=process.cwd();try{if((await import_fs_extra15.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_logger5.logger.info(`Ensuring directory ${reprosDir}`),await import_fs_extra15.default.ensureDir(reprosDir),import_node_logger5.logger.info(`Cloning ${target}`),await exec(`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_extra15.default.readJSON(import_path18.default.join(reproDir,"package.json")),version=(0,import_cross_spawn4.sync)("yarn",["--version"],{cwd:reproDir,stdio:"pipe",shell:!0}).stdout.toString();if(!/^[23]\./.test(version)){import_node_logger5.logger.warn(`\u{1F6A8} Expected yarn 2 or 3 in ${reproDir}!`),import_node_logger5.logger.warn(""),import_node_logger5.logger.warn("Please set it up with `yarn set version berry`,"),import_node_logger5.logger.warn(`then link '${reproDir}' with the '--local' flag.`);return}import_node_logger5.logger.info(`Linking ${reproDir}`),await exec(`yarn link --all ${storybookDir}`,{cwd:reproDir}),import_node_logger5.logger.info(`Installing ${reproName}`),await exec("yarn install",{cwd:reproDir}),(_a=reproPackageJson.devDependencies)!=null&&_a.vite||await exec("yarn add -D webpack-hot-middleware",{cwd:reproDir}),await exec("yarn add @types/node@16",{cwd:reproDir}),start&&(import_node_logger5.logger.info(`Running ${reproName} storybook`),await exec("yarn run storybook",{cwd:reproDir}))};var import_ts_dedent37=require("ts-dedent"),import_read_pkg_up=require("read-pkg-up"),import_node_logger6=require("@storybook/node-logger"),import_core_server3=require("@storybook/core-server"),import_core_common10=require("@storybook/core-common");function printError(error){var _a;import_node_logger6.instance.heading="",error instanceof Error?error.error?import_node_logger6.logger.error(error.error):error.stats&&error.stats.compilation.errors?error.stats.compilation.errors.forEach(e=>import_node_logger6.logger.plain(e)):import_node_logger6.logger.error(error):(_a=error.compilation)!=null&&_a.errors&&error.compilation.errors.forEach(e=>import_node_logger6.logger.plain(e)),import_node_logger6.logger.line(),import_node_logger6.logger.warn(error.close?import_ts_dedent37.dedent`
424
+ `);return}return import_node_logger5.logger.info(command2),new Promise((resolve2,reject)=>{let child=(0,import_cross_spawn4.spawn)(command2,{...options});child.stderr.pipe(process.stderr),child.on("exit",code=>{code===0?resolve2(void 0):(import_node_logger5.logger.error(import_chalk29.default.red(`An error occurred while executing: \`${command2}\``)),import_node_logger5.logger.info(errorMessage),reject(new Error(`command exited with code: ${code}: `)))})})},link=async({target,local,start})=>{var _a;let storybookDir=process.cwd();try{if((await import_fs_extra15.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_logger5.logger.info(`Ensuring directory ${reprosDir}`),await import_fs_extra15.default.ensureDir(reprosDir),import_node_logger5.logger.info(`Cloning ${target}`),await exec(`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_extra15.default.readJSON(import_path18.default.join(reproDir,"package.json")),version=(0,import_cross_spawn4.sync)("yarn",["--version"],{cwd:reproDir,stdio:"pipe",shell:!0}).stdout.toString();if(!/^[23]\./.test(version)){import_node_logger5.logger.warn(`\u{1F6A8} Expected yarn 2 or 3 in ${reproDir}!`),import_node_logger5.logger.warn(""),import_node_logger5.logger.warn("Please set it up with `yarn set version berry`,"),import_node_logger5.logger.warn(`then link '${reproDir}' with the '--local' flag.`);return}import_node_logger5.logger.info(`Linking ${reproDir}`),await exec(`yarn link --all ${storybookDir}`,{cwd:reproDir}),import_node_logger5.logger.info(`Installing ${reproName}`),await exec("yarn install",{cwd:reproDir}),(_a=reproPackageJson.devDependencies)!=null&&_a.vite||await exec("yarn add -D webpack-hot-middleware",{cwd:reproDir}),await exec("yarn add @types/node@16",{cwd:reproDir}),start&&(import_node_logger5.logger.info(`Running ${reproName} storybook`),await exec("yarn run storybook",{cwd:reproDir}))};var import_ts_dedent37=require("ts-dedent"),import_read_pkg_up=require("read-pkg-up"),import_node_logger6=require("@storybook/node-logger"),import_core_server3=require("@storybook/core-server"),import_core_common10=require("@storybook/core-common");function printError(error){var _a;import_node_logger6.instance.heading="",error instanceof Error?error.error?import_node_logger6.logger.error(error.error):error.stats&&error.stats.compilation.errors?error.stats.compilation.errors.forEach(e=>import_node_logger6.logger.plain(e)):import_node_logger6.logger.error(error):(_a=error.compilation)!=null&&_a.errors&&error.compilation.errors.forEach(e=>import_node_logger6.logger.plain(e)),import_node_logger6.logger.line(),import_node_logger6.logger.warn(error.close?import_ts_dedent37.dedent`
425
425
  FATAL broken build!, will close the process,
426
426
  Fix the error below and restart storybook.
427
427
  `:import_ts_dedent37.dedent`
package/dist/generate.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { versions_default, parseList, getEnvConfig, JsPackageManagerFactory, useNpmWarning, getStorybookVersionSpecifier, commandLog, installableProjectTypes, paddedLog, HandledError, codeLog, __require, getBowerJson, isNxProject, getPackageDetails, supportedTemplates, unsupportedTemplate, getCliDir, copyTemplate, getBabelDependencies, copyTemplateFiles, externalFrameworks } from './chunk-RCZ43ZTY.mjs';
1
+ import { versions_default, parseList, getEnvConfig, JsPackageManagerFactory, useNpmWarning, getStorybookVersionSpecifier, commandLog, installableProjectTypes, paddedLog, HandledError, codeLog, __require, getBowerJson, isNxProject, getPackageDetails, supportedTemplates, unsupportedTemplate, getCliDir, copyTemplate, getBabelDependencies, copyTemplateFiles, externalFrameworks } from './chunk-NLVK44SP.mjs';
2
2
  import program from 'commander';
3
3
  import path9, { join, resolve, basename } from 'path';
4
4
  import chalk13 from 'chalk';
@@ -18,7 +18,7 @@ import fse__default, { pathExists, move, remove, writeFile, existsSync, readdir,
18
18
  import ora from 'ora';
19
19
  import detectIndent from 'detect-indent';
20
20
  import { readConfig, writeConfig } from '@storybook/csf-tools';
21
- import { sync as sync$1 } from 'cross-spawn';
21
+ import { sync as sync$1, spawn } from 'cross-spawn';
22
22
  import { getStorybookInfo, loadMainConfig, cache, rendererPackages, frameworkPackages, commonGlobOptions } from '@storybook/core-common';
23
23
  import { listCodemods, runCodemod } from '@storybook/codemod';
24
24
  import boxen3 from 'boxen';
@@ -30,7 +30,6 @@ import puppeteerCore from 'puppeteer-core';
30
30
  import express from 'express';
31
31
  import getPort from 'get-port';
32
32
  import { downloadTemplate } from 'giget';
33
- import shell from 'shelljs';
34
33
 
35
34
  var viteConfigFiles=["vite.config.ts","vite.config.js","vite.config.mjs"],webpackConfigFiles=["webpack.config.js"],hasDependency=(packageJson,name,matcher)=>{let version=packageJson.dependencies?.[name]||packageJson.devDependencies?.[name];return version&&typeof matcher=="function"?matcher(version):!!version},hasPeerDependency=(packageJson,name,matcher)=>{let version=packageJson.peerDependencies?.[name];return version&&typeof matcher=="function"?matcher(version):!!version},getFrameworkPreset=(packageJson,framework)=>{let matcher={dependencies:[!1],peerDependencies:[!1],files:[!1]},{preset,files,dependencies,peerDependencies,matcherFunction}=framework,dependencySearches=[];Array.isArray(dependencies)?dependencySearches=dependencies.map(name=>[name,void 0]):typeof dependencies=="object"&&(dependencySearches=Object.entries(dependencies)),dependencySearches.length>0&&(matcher.dependencies=dependencySearches.map(([name,matchFn])=>hasDependency(packageJson,name,matchFn)));let peerDependencySearches=[];return Array.isArray(peerDependencies)?peerDependencySearches=peerDependencies.map(name=>[name,void 0]):typeof peerDependencies=="object"&&(peerDependencySearches=Object.entries(peerDependencies)),peerDependencySearches.length>0&&(matcher.peerDependencies=peerDependencySearches.map(([name,matchFn])=>hasPeerDependency(packageJson,name,matchFn))),Array.isArray(files)&&files.length>0&&(matcher.files=files.map(name=>fs4.existsSync(name))),matcherFunction(matcher)?preset:null};function detectFrameworkPreset(packageJson={}){let result=[...supportedTemplates,unsupportedTemplate].find(framework=>getFrameworkPreset(packageJson,framework)!==null);return result?result.preset:"UNDETECTED"}async function detectBuilder(packageManager,projectType){let viteConfig=findUp.sync(viteConfigFiles),webpackConfig=findUp.sync(webpackConfigFiles),dependencies=await packageManager.getAllDependencies();if(viteConfig||dependencies.vite&&dependencies.webpack===void 0)return commandLog("Detected Vite project. Setting builder to Vite")(),"vite";if(webpackConfig||dependencies.webpack&&dependencies.vite!==void 0)return commandLog("Detected webpack project. Setting builder to webpack")(),"webpack5";switch(projectType){case"SFC_VUE":return "vite";case"REACT_SCRIPTS":case"ANGULAR":case"NEXTJS":return "webpack5";default:let{builder}=await prompts5({type:"select",name:"builder",message:"We were not able to detect the right builder for your project. Please select one:",choices:[{title:"Vite",value:"vite"},{title:"Webpack 5",value:"webpack5"}]});return builder}}function isStorybookInstantiated(configDir=resolve(process.cwd(),".storybook")){return fs4.existsSync(configDir)}function detectPnp(){return pathExistsSync(join(process.cwd(),".pnp.cjs"))}function detectLanguage(packageJson){let language="javascript";return !packageJson||fs4.existsSync("jsconfig.json")||(hasDependency(packageJson,"typescript",version=>semver.gte(semver.coerce(version),"4.9.0"))&&(!hasDependency(packageJson,"prettier")||hasDependency(packageJson,"prettier",version=>semver.gte(semver.coerce(version),"2.8.0")))&&(!hasDependency(packageJson,"@babel/plugin-transform-typescript")||hasDependency(packageJson,"@babel/plugin-transform-typescript",version=>semver.gte(semver.coerce(version),"7.20.0")))&&(!hasDependency(packageJson,"@typescript-eslint/parser")||hasDependency(packageJson,"@typescript-eslint/parser",version=>semver.gte(semver.coerce(version),"5.44.0")))&&(!hasDependency(packageJson,"eslint-plugin-storybook")||hasDependency(packageJson,"eslint-plugin-storybook",version=>semver.gte(semver.coerce(version),"0.6.8")))?language="typescript-4-9":hasDependency(packageJson,"typescript",version=>semver.gte(semver.coerce(version),"3.8.0"))?language="typescript-3-8":hasDependency(packageJson,"typescript",version=>semver.lt(semver.coerce(version),"3.8.0"))&&logger.warn("Detected TypeScript < 3.8, populating with JavaScript examples")),language}function detect(packageJson,options={}){let bowerJson=getBowerJson();return !packageJson&&!bowerJson?"UNDETECTED":isNxProject(packageJson)?"NX":options.html?"HTML":detectFrameworkPreset(packageJson||bowerJson)}var logger2=console,sanitizeFramework=framework=>{let matches=framework.match(/(@storybook\/\w+(?:-\w+)*)|(storybook-(\w+(?:-\w+)*))/g);if(matches)return matches[0]};async function configureMain({addons,extensions=["js","jsx","ts","tsx"],storybookConfigFolder,language,...custom}){let srcPath=path9.resolve(storybookConfigFolder,"../src"),prefix=await fse__default.pathExists(srcPath)?"../src":"../stories",config={stories:[`${prefix}/**/*.mdx`,`${prefix}/**/*.stories.@(${extensions.join("|")})`],addons,...custom},isTypescript=language==="typescript-4-9"||language==="typescript-3-8",mainConfigTemplate=dedent`<<import>>const config<<type>> = <<mainContents>>;
36
35
  export default config;`,frameworkPackage=sanitizeFramework(custom.framework?.name);frameworkPackage||(mainConfigTemplate=mainConfigTemplate.replace("<<import>>","").replace("<<type>>",""),logger2.warn("Could not find framework package name"));let mainContents=JSON.stringify(config,null,2).replace(/['"]%%/g,"").replace(/%%['"]/g,""),imports=[];custom.framework?.name.includes("path.dirname(")&&imports.push("import path from 'path';"),isTypescript?imports.push(`import type { StorybookConfig } from '${frameworkPackage}';`):imports.push(`/** @type { import('${frameworkPackage}').StorybookConfig } */`);let mainJsContents=mainConfigTemplate.replace("<<import>>",`${imports.join(`
@@ -428,7 +427,7 @@ yarn storybook`):`Recreate your setup, then ${chalk13.yellow("npx storybook@late
428
427
  Having a clean repro helps us solve your issue faster! 🙏
429
428
  `.trim(),{borderStyle:"round",padding:1,borderColor:"#F1618C"}));}catch(error){throw logger25.error("\u{1F6A8} Failed to create sandbox"),error}};async function promptSelectedTemplate(choices){let{template}=await prompts5({type:"select",message:"\u{1F308} Select the template",name:"template",choices:choices.map(toChoices)},{onCancel:()=>{logger25.log("Command cancelled by the user. Exiting..."),process.exit(1);}});return template||null}var exec=async(command2,options={},{startMessage,errorMessage,dryRun}={})=>{if(startMessage&&logger.info(startMessage),dryRun){logger.info(`
430
429
  > ${command2}
431
- `);return}return logger.info(command2),new Promise((resolve2,reject)=>{let defaultOptions2={silent:!1},child=shell.exec(command2,{...defaultOptions2,...options,async:!0,silent:!1});child.stderr.pipe(process.stderr),child.on("exit",code=>{code===0?resolve2(void 0):(logger.error(chalk13.red(`An error occurred while executing: \`${command2}\``)),logger.info(errorMessage),reject(new Error(`command exited with code: ${code}: `)));});})},link=async({target,local,start})=>{let storybookDir=process.cwd();try{if((await fse__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=path9.basename(target);if(!local){let reprosDir=path9.join(storybookDir,"../storybook-repros");logger.info(`Ensuring directory ${reprosDir}`),await fse__default.ensureDir(reprosDir),logger.info(`Cloning ${target}`),await exec(`git clone ${target}`,{cwd:reprosDir}),reproName=path9.basename(target,path9.extname(target)),reproDir=path9.join(reprosDir,reproName);}let reproPackageJson=await fse__default.readJSON(path9.join(reproDir,"package.json")),version=sync$1("yarn",["--version"],{cwd:reproDir,stdio:"pipe",shell:!0}).stdout.toString();if(!/^[23]\./.test(version)){logger.warn(`\u{1F6A8} Expected yarn 2 or 3 in ${reproDir}!`),logger.warn(""),logger.warn("Please set it up with `yarn set version berry`,"),logger.warn(`then link '${reproDir}' with the '--local' flag.`);return}logger.info(`Linking ${reproDir}`),await exec(`yarn link --all ${storybookDir}`,{cwd:reproDir}),logger.info(`Installing ${reproName}`),await exec("yarn install",{cwd:reproDir}),reproPackageJson.devDependencies?.vite||await exec("yarn add -D webpack-hot-middleware",{cwd:reproDir}),await exec("yarn add @types/node@16",{cwd:reproDir}),start&&(logger.info(`Running ${reproName} storybook`),await exec("yarn run storybook",{cwd:reproDir}));};function printError(error){instance.heading="",error instanceof Error?error.error?logger.error(error.error):error.stats&&error.stats.compilation.errors?error.stats.compilation.errors.forEach(e=>logger.plain(e)):logger.error(error):error.compilation?.errors&&error.compilation.errors.forEach(e=>logger.plain(e)),logger.line(),logger.warn(error.close?dedent`
430
+ `);return}return logger.info(command2),new Promise((resolve2,reject)=>{let child=spawn(command2,{...options});child.stderr.pipe(process.stderr),child.on("exit",code=>{code===0?resolve2(void 0):(logger.error(chalk13.red(`An error occurred while executing: \`${command2}\``)),logger.info(errorMessage),reject(new Error(`command exited with code: ${code}: `)));});})},link=async({target,local,start})=>{let storybookDir=process.cwd();try{if((await fse__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=path9.basename(target);if(!local){let reprosDir=path9.join(storybookDir,"../storybook-repros");logger.info(`Ensuring directory ${reprosDir}`),await fse__default.ensureDir(reprosDir),logger.info(`Cloning ${target}`),await exec(`git clone ${target}`,{cwd:reprosDir}),reproName=path9.basename(target,path9.extname(target)),reproDir=path9.join(reprosDir,reproName);}let reproPackageJson=await fse__default.readJSON(path9.join(reproDir,"package.json")),version=sync$1("yarn",["--version"],{cwd:reproDir,stdio:"pipe",shell:!0}).stdout.toString();if(!/^[23]\./.test(version)){logger.warn(`\u{1F6A8} Expected yarn 2 or 3 in ${reproDir}!`),logger.warn(""),logger.warn("Please set it up with `yarn set version berry`,"),logger.warn(`then link '${reproDir}' with the '--local' flag.`);return}logger.info(`Linking ${reproDir}`),await exec(`yarn link --all ${storybookDir}`,{cwd:reproDir}),logger.info(`Installing ${reproName}`),await exec("yarn install",{cwd:reproDir}),reproPackageJson.devDependencies?.vite||await exec("yarn add -D webpack-hot-middleware",{cwd:reproDir}),await exec("yarn add @types/node@16",{cwd:reproDir}),start&&(logger.info(`Running ${reproName} storybook`),await exec("yarn run storybook",{cwd:reproDir}));};function printError(error){instance.heading="",error instanceof Error?error.error?logger.error(error.error):error.stats&&error.stats.compilation.errors?error.stats.compilation.errors.forEach(e=>logger.plain(e)):logger.error(error):error.compilation?.errors&&error.compilation.errors.forEach(e=>logger.plain(e)),logger.line(),logger.warn(error.close?dedent`
432
431
  FATAL broken build!, will close the process,
433
432
  Fix the error below and restart storybook.
434
433
  `:dedent`
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var src_exports={};__export(src_exports,{JsPackageManager:()=>JsPackageManager,JsPackageManagerFactory:()=>JsPackageManagerFactory,createLogStream:()=>createLogStream,getEnvConfig:()=>getEnvConfig,getPackageDetails:()=>getPackageDetails,parseList:()=>parseList,useNpmWarning:()=>useNpmWarning,versions:()=>versions_default});module.exports=__toCommonJS(src_exports);var versions_default={"@storybook/addon-a11y":"7.1.0-alpha.29","@storybook/addon-actions":"7.1.0-alpha.29","@storybook/addon-backgrounds":"7.1.0-alpha.29","@storybook/addon-controls":"7.1.0-alpha.29","@storybook/addon-docs":"7.1.0-alpha.29","@storybook/addon-essentials":"7.1.0-alpha.29","@storybook/addon-highlight":"7.1.0-alpha.29","@storybook/addon-interactions":"7.1.0-alpha.29","@storybook/addon-jest":"7.1.0-alpha.29","@storybook/addon-links":"7.1.0-alpha.29","@storybook/addon-mdx-gfm":"7.1.0-alpha.29","@storybook/addon-measure":"7.1.0-alpha.29","@storybook/addon-outline":"7.1.0-alpha.29","@storybook/addon-storyshots":"7.1.0-alpha.29","@storybook/addon-storyshots-puppeteer":"7.1.0-alpha.29","@storybook/addon-storysource":"7.1.0-alpha.29","@storybook/addon-toolbars":"7.1.0-alpha.29","@storybook/addon-viewport":"7.1.0-alpha.29","@storybook/addons":"7.1.0-alpha.29","@storybook/angular":"7.1.0-alpha.29","@storybook/api":"7.1.0-alpha.29","@storybook/blocks":"7.1.0-alpha.29","@storybook/builder-manager":"7.1.0-alpha.29","@storybook/builder-vite":"7.1.0-alpha.29","@storybook/builder-webpack5":"7.1.0-alpha.29","@storybook/channel-postmessage":"7.1.0-alpha.29","@storybook/channel-websocket":"7.1.0-alpha.29","@storybook/channels":"7.1.0-alpha.29","@storybook/cli":"7.1.0-alpha.29","@storybook/client-api":"7.1.0-alpha.29","@storybook/client-logger":"7.1.0-alpha.29","@storybook/codemod":"7.1.0-alpha.29","@storybook/components":"7.1.0-alpha.29","@storybook/core-client":"7.1.0-alpha.29","@storybook/core-common":"7.1.0-alpha.29","@storybook/core-events":"7.1.0-alpha.29","@storybook/core-server":"7.1.0-alpha.29","@storybook/core-webpack":"7.1.0-alpha.29","@storybook/csf-plugin":"7.1.0-alpha.29","@storybook/csf-tools":"7.1.0-alpha.29","@storybook/docs-tools":"7.1.0-alpha.29","@storybook/ember":"7.1.0-alpha.29","@storybook/html":"7.1.0-alpha.29","@storybook/html-vite":"7.1.0-alpha.29","@storybook/html-webpack5":"7.1.0-alpha.29","@storybook/instrumenter":"7.1.0-alpha.29","@storybook/manager":"7.1.0-alpha.29","@storybook/manager-api":"7.1.0-alpha.29","@storybook/nextjs":"7.1.0-alpha.29","@storybook/node-logger":"7.1.0-alpha.29","@storybook/postinstall":"7.1.0-alpha.29","@storybook/preact":"7.1.0-alpha.29","@storybook/preact-vite":"7.1.0-alpha.29","@storybook/preact-webpack5":"7.1.0-alpha.29","@storybook/preset-create-react-app":"7.1.0-alpha.29","@storybook/preset-html-webpack":"7.1.0-alpha.29","@storybook/preset-preact-webpack":"7.1.0-alpha.29","@storybook/preset-react-webpack":"7.1.0-alpha.29","@storybook/preset-server-webpack":"7.1.0-alpha.29","@storybook/preset-svelte-webpack":"7.1.0-alpha.29","@storybook/preset-vue-webpack":"7.1.0-alpha.29","@storybook/preset-vue3-webpack":"7.1.0-alpha.29","@storybook/preset-web-components-webpack":"7.1.0-alpha.29","@storybook/preview":"7.1.0-alpha.29","@storybook/preview-api":"7.1.0-alpha.29","@storybook/preview-web":"7.1.0-alpha.29","@storybook/react":"7.1.0-alpha.29","@storybook/react-dom-shim":"7.1.0-alpha.29","@storybook/react-vite":"7.1.0-alpha.29","@storybook/react-webpack5":"7.1.0-alpha.29","@storybook/router":"7.1.0-alpha.29","@storybook/server":"7.1.0-alpha.29","@storybook/server-webpack5":"7.1.0-alpha.29","@storybook/source-loader":"7.1.0-alpha.29","@storybook/store":"7.1.0-alpha.29","@storybook/svelte":"7.1.0-alpha.29","@storybook/svelte-vite":"7.1.0-alpha.29","@storybook/svelte-webpack5":"7.1.0-alpha.29","@storybook/sveltekit":"7.1.0-alpha.29","@storybook/telemetry":"7.1.0-alpha.29","@storybook/theming":"7.1.0-alpha.29","@storybook/types":"7.1.0-alpha.29","@storybook/vue":"7.1.0-alpha.29","@storybook/vue-vite":"7.1.0-alpha.29","@storybook/vue-webpack5":"7.1.0-alpha.29","@storybook/vue3":"7.1.0-alpha.29","@storybook/vue3-vite":"7.1.0-alpha.29","@storybook/vue3-webpack5":"7.1.0-alpha.29","@storybook/web-components":"7.1.0-alpha.29","@storybook/web-components-vite":"7.1.0-alpha.29","@storybook/web-components-webpack5":"7.1.0-alpha.29",sb:"7.1.0-alpha.29",storybook:"7.1.0-alpha.29"};var import_util_deprecate=__toESM(require("util-deprecate")),useNpmWarning=(0,import_util_deprecate.default)(()=>{},"`--use-npm` is deprecated and will be removed in Storybook 8.0. \nPlease use the `--package-manager=npm` option instead.\nRead more at https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#cli-option---use-npm-deprecated");var import_node_path=__toESM(require("path")),import_cross_spawn=require("cross-spawn"),import_find_up=require("find-up");var import_sort=__toESM(require("semver/functions/sort")),import_os=require("os"),import_ts_dedent2=__toESM(require("ts-dedent"));var import_chalk2=__toESM(require("chalk")),import_semver3=require("semver"),import_execa=require("execa"),import_path=__toESM(require("path")),import_fs=__toESM(require("fs")),import_ts_dedent=__toESM(require("ts-dedent")),import_fs_extra2=require("fs-extra");var import_fs_extra=__toESM(require("fs-extra")),import_chalk=__toESM(require("chalk")),import_semver2=require("semver"),import_strip_json_comments=__toESM(require("strip-json-comments"));var import_get_tarball=__toESM(require("@ndelangen/get-tarball")),import_get_npm_tarball_url=__toESM(require("get-npm-tarball-url")),tempy=__toESM(require("tempy"));var import_semver=require("semver");var ProjectType=(ProjectType2=>(ProjectType2.UNDETECTED="UNDETECTED",ProjectType2.UNSUPPORTED="UNSUPPORTED",ProjectType2.REACT_SCRIPTS="REACT_SCRIPTS",ProjectType2.REACT="REACT",ProjectType2.REACT_NATIVE="REACT_NATIVE",ProjectType2.REACT_PROJECT="REACT_PROJECT",ProjectType2.WEBPACK_REACT="WEBPACK_REACT",ProjectType2.NEXTJS="NEXTJS",ProjectType2.VUE="VUE",ProjectType2.VUE3="VUE3",ProjectType2.SFC_VUE="SFC_VUE",ProjectType2.ANGULAR="ANGULAR",ProjectType2.EMBER="EMBER",ProjectType2.WEB_COMPONENTS="WEB_COMPONENTS",ProjectType2.HTML="HTML",ProjectType2.QWIK="QWIK",ProjectType2.PREACT="PREACT",ProjectType2.SVELTE="SVELTE",ProjectType2.SVELTEKIT="SVELTEKIT",ProjectType2.SERVER="SERVER",ProjectType2.NX="NX",ProjectType2.SOLID="SOLID",ProjectType2))(ProjectType||{});var notInstallableProjectTypes=["UNDETECTED","UNSUPPORTED"],installableProjectTypes=Object.values(ProjectType).filter(type=>!notInstallableProjectTypes.includes(type)).map(type=>type.toLowerCase());var logger=console;var commandLog=message=>(process.stdout.write(import_chalk.default.cyan(" \u2022 ")+message),(errorMessage,errorInfo)=>{if(errorMessage){if(process.stdout.write(`. ${import_chalk.default.red("\u2716")}
1
+ var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var src_exports={};__export(src_exports,{JsPackageManager:()=>JsPackageManager,JsPackageManagerFactory:()=>JsPackageManagerFactory,createLogStream:()=>createLogStream,getEnvConfig:()=>getEnvConfig,getPackageDetails:()=>getPackageDetails,parseList:()=>parseList,useNpmWarning:()=>useNpmWarning,versions:()=>versions_default});module.exports=__toCommonJS(src_exports);var versions_default={"@storybook/addon-a11y":"7.1.0-alpha.30","@storybook/addon-actions":"7.1.0-alpha.30","@storybook/addon-backgrounds":"7.1.0-alpha.30","@storybook/addon-controls":"7.1.0-alpha.30","@storybook/addon-docs":"7.1.0-alpha.30","@storybook/addon-essentials":"7.1.0-alpha.30","@storybook/addon-highlight":"7.1.0-alpha.30","@storybook/addon-interactions":"7.1.0-alpha.30","@storybook/addon-jest":"7.1.0-alpha.30","@storybook/addon-links":"7.1.0-alpha.30","@storybook/addon-mdx-gfm":"7.1.0-alpha.30","@storybook/addon-measure":"7.1.0-alpha.30","@storybook/addon-outline":"7.1.0-alpha.30","@storybook/addon-storyshots":"7.1.0-alpha.30","@storybook/addon-storyshots-puppeteer":"7.1.0-alpha.30","@storybook/addon-storysource":"7.1.0-alpha.30","@storybook/addon-toolbars":"7.1.0-alpha.30","@storybook/addon-viewport":"7.1.0-alpha.30","@storybook/addons":"7.1.0-alpha.30","@storybook/angular":"7.1.0-alpha.30","@storybook/api":"7.1.0-alpha.30","@storybook/blocks":"7.1.0-alpha.30","@storybook/builder-manager":"7.1.0-alpha.30","@storybook/builder-vite":"7.1.0-alpha.30","@storybook/builder-webpack5":"7.1.0-alpha.30","@storybook/channel-postmessage":"7.1.0-alpha.30","@storybook/channel-websocket":"7.1.0-alpha.30","@storybook/channels":"7.1.0-alpha.30","@storybook/cli":"7.1.0-alpha.30","@storybook/client-api":"7.1.0-alpha.30","@storybook/client-logger":"7.1.0-alpha.30","@storybook/codemod":"7.1.0-alpha.30","@storybook/components":"7.1.0-alpha.30","@storybook/core-client":"7.1.0-alpha.30","@storybook/core-common":"7.1.0-alpha.30","@storybook/core-events":"7.1.0-alpha.30","@storybook/core-server":"7.1.0-alpha.30","@storybook/core-webpack":"7.1.0-alpha.30","@storybook/csf-plugin":"7.1.0-alpha.30","@storybook/csf-tools":"7.1.0-alpha.30","@storybook/docs-tools":"7.1.0-alpha.30","@storybook/ember":"7.1.0-alpha.30","@storybook/html":"7.1.0-alpha.30","@storybook/html-vite":"7.1.0-alpha.30","@storybook/html-webpack5":"7.1.0-alpha.30","@storybook/instrumenter":"7.1.0-alpha.30","@storybook/manager":"7.1.0-alpha.30","@storybook/manager-api":"7.1.0-alpha.30","@storybook/nextjs":"7.1.0-alpha.30","@storybook/node-logger":"7.1.0-alpha.30","@storybook/postinstall":"7.1.0-alpha.30","@storybook/preact":"7.1.0-alpha.30","@storybook/preact-vite":"7.1.0-alpha.30","@storybook/preact-webpack5":"7.1.0-alpha.30","@storybook/preset-create-react-app":"7.1.0-alpha.30","@storybook/preset-html-webpack":"7.1.0-alpha.30","@storybook/preset-preact-webpack":"7.1.0-alpha.30","@storybook/preset-react-webpack":"7.1.0-alpha.30","@storybook/preset-server-webpack":"7.1.0-alpha.30","@storybook/preset-svelte-webpack":"7.1.0-alpha.30","@storybook/preset-vue-webpack":"7.1.0-alpha.30","@storybook/preset-vue3-webpack":"7.1.0-alpha.30","@storybook/preset-web-components-webpack":"7.1.0-alpha.30","@storybook/preview":"7.1.0-alpha.30","@storybook/preview-api":"7.1.0-alpha.30","@storybook/preview-web":"7.1.0-alpha.30","@storybook/react":"7.1.0-alpha.30","@storybook/react-dom-shim":"7.1.0-alpha.30","@storybook/react-vite":"7.1.0-alpha.30","@storybook/react-webpack5":"7.1.0-alpha.30","@storybook/router":"7.1.0-alpha.30","@storybook/server":"7.1.0-alpha.30","@storybook/server-webpack5":"7.1.0-alpha.30","@storybook/source-loader":"7.1.0-alpha.30","@storybook/store":"7.1.0-alpha.30","@storybook/svelte":"7.1.0-alpha.30","@storybook/svelte-vite":"7.1.0-alpha.30","@storybook/svelte-webpack5":"7.1.0-alpha.30","@storybook/sveltekit":"7.1.0-alpha.30","@storybook/telemetry":"7.1.0-alpha.30","@storybook/theming":"7.1.0-alpha.30","@storybook/types":"7.1.0-alpha.30","@storybook/vue":"7.1.0-alpha.30","@storybook/vue-vite":"7.1.0-alpha.30","@storybook/vue-webpack5":"7.1.0-alpha.30","@storybook/vue3":"7.1.0-alpha.30","@storybook/vue3-vite":"7.1.0-alpha.30","@storybook/vue3-webpack5":"7.1.0-alpha.30","@storybook/web-components":"7.1.0-alpha.30","@storybook/web-components-vite":"7.1.0-alpha.30","@storybook/web-components-webpack5":"7.1.0-alpha.30",sb:"7.1.0-alpha.30",storybook:"7.1.0-alpha.30"};var import_util_deprecate=__toESM(require("util-deprecate")),useNpmWarning=(0,import_util_deprecate.default)(()=>{},"`--use-npm` is deprecated and will be removed in Storybook 8.0. \nPlease use the `--package-manager=npm` option instead.\nRead more at https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#cli-option---use-npm-deprecated");var import_node_path=__toESM(require("path")),import_cross_spawn=require("cross-spawn"),import_find_up=require("find-up");var import_sort=__toESM(require("semver/functions/sort")),import_os=require("os"),import_ts_dedent2=__toESM(require("ts-dedent"));var import_chalk2=__toESM(require("chalk")),import_semver3=require("semver"),import_execa=require("execa"),import_path=__toESM(require("path")),import_fs=__toESM(require("fs")),import_ts_dedent=__toESM(require("ts-dedent")),import_fs_extra2=require("fs-extra");var import_fs_extra=__toESM(require("fs-extra")),import_chalk=__toESM(require("chalk")),import_semver2=require("semver"),import_strip_json_comments=__toESM(require("strip-json-comments"));var import_get_tarball=__toESM(require("@ndelangen/get-tarball")),import_get_npm_tarball_url=__toESM(require("get-npm-tarball-url")),tempy=__toESM(require("tempy"));var import_semver=require("semver");var ProjectType=(ProjectType2=>(ProjectType2.UNDETECTED="UNDETECTED",ProjectType2.UNSUPPORTED="UNSUPPORTED",ProjectType2.REACT_SCRIPTS="REACT_SCRIPTS",ProjectType2.REACT="REACT",ProjectType2.REACT_NATIVE="REACT_NATIVE",ProjectType2.REACT_PROJECT="REACT_PROJECT",ProjectType2.WEBPACK_REACT="WEBPACK_REACT",ProjectType2.NEXTJS="NEXTJS",ProjectType2.VUE="VUE",ProjectType2.VUE3="VUE3",ProjectType2.SFC_VUE="SFC_VUE",ProjectType2.ANGULAR="ANGULAR",ProjectType2.EMBER="EMBER",ProjectType2.WEB_COMPONENTS="WEB_COMPONENTS",ProjectType2.HTML="HTML",ProjectType2.QWIK="QWIK",ProjectType2.PREACT="PREACT",ProjectType2.SVELTE="SVELTE",ProjectType2.SVELTEKIT="SVELTEKIT",ProjectType2.SERVER="SERVER",ProjectType2.NX="NX",ProjectType2.SOLID="SOLID",ProjectType2))(ProjectType||{});var notInstallableProjectTypes=["UNDETECTED","UNSUPPORTED"],installableProjectTypes=Object.values(ProjectType).filter(type=>!notInstallableProjectTypes.includes(type)).map(type=>type.toLowerCase());var logger=console;var commandLog=message=>(process.stdout.write(import_chalk.default.cyan(" \u2022 ")+message),(errorMessage,errorInfo)=>{if(errorMessage){if(process.stdout.write(`. ${import_chalk.default.red("\u2716")}
2
2
  `),logger.error(`
3
3
  ${import_chalk.default.red(errorMessage)}`),!errorInfo)return;let newErrorInfo=errorInfo.split(`
4
4
  `).map(line=>` ${import_chalk.default.dim(line)}`).join(`
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- export { JsPackageManager, JsPackageManagerFactory, createLogStream, getEnvConfig, getPackageDetails, parseList, useNpmWarning, versions_default as versions } from './chunk-RCZ43ZTY.mjs';
1
+ export { JsPackageManager, JsPackageManagerFactory, createLogStream, getEnvConfig, getPackageDetails, parseList, useNpmWarning, versions_default as versions } from './chunk-NLVK44SP.mjs';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/cli",
3
- "version": "7.1.0-alpha.29",
3
+ "version": "7.1.0-alpha.30",
4
4
  "description": "Storybook's CLI - easiest method of adding storybook to your projects",
5
5
  "keywords": [
6
6
  "cli",
@@ -57,13 +57,13 @@
57
57
  "@babel/core": "^7.22.0",
58
58
  "@babel/preset-env": "^7.22.0",
59
59
  "@ndelangen/get-tarball": "^3.0.7",
60
- "@storybook/codemod": "7.1.0-alpha.29",
61
- "@storybook/core-common": "7.1.0-alpha.29",
62
- "@storybook/core-server": "7.1.0-alpha.29",
63
- "@storybook/csf-tools": "7.1.0-alpha.29",
64
- "@storybook/node-logger": "7.1.0-alpha.29",
65
- "@storybook/telemetry": "7.1.0-alpha.29",
66
- "@storybook/types": "7.1.0-alpha.29",
60
+ "@storybook/codemod": "7.1.0-alpha.30",
61
+ "@storybook/core-common": "7.1.0-alpha.30",
62
+ "@storybook/core-server": "7.1.0-alpha.30",
63
+ "@storybook/csf-tools": "7.1.0-alpha.30",
64
+ "@storybook/node-logger": "7.1.0-alpha.30",
65
+ "@storybook/telemetry": "7.1.0-alpha.30",
66
+ "@storybook/types": "7.1.0-alpha.30",
67
67
  "@types/semver": "^7.3.4",
68
68
  "boxen": "^5.1.2",
69
69
  "chalk": "^4.1.0",
@@ -87,7 +87,6 @@
87
87
  "puppeteer-core": "^2.1.1",
88
88
  "read-pkg-up": "^7.0.1",
89
89
  "semver": "^7.3.7",
90
- "shelljs": "^0.8.5",
91
90
  "simple-update-notifier": "^1.0.0",
92
91
  "strip-json-comments": "^3.0.1",
93
92
  "tempy": "^1.0.1",
@@ -95,12 +94,11 @@
95
94
  "util-deprecate": "^1.0.2"
96
95
  },
97
96
  "devDependencies": {
98
- "@storybook/client-api": "7.1.0-alpha.29",
97
+ "@storybook/client-api": "7.1.0-alpha.30",
99
98
  "@types/cross-spawn": "^6.0.2",
100
99
  "@types/prompts": "^2.0.9",
101
100
  "@types/puppeteer-core": "^2.1.0",
102
101
  "@types/semver": "^7.3.4",
103
- "@types/shelljs": "^0.8.7",
104
102
  "@types/util-deprecate": "^1.0.0",
105
103
  "slash": "^5.0.0",
106
104
  "strip-json-comments": "^3.1.1",
@@ -117,4 +115,4 @@
117
115
  "platform": "node"
118
116
  },
119
117
  "gitHead": "e6a7fd8a655c69780bc20b9749c2699e44beae16"
120
- }
118
+ }
@@ -0,0 +1,73 @@
1
+ #!/usr/bin/env node
2
+
3
+ const { promisify } = require('util');
4
+ const { readJson, writeFile } = require('fs-extra');
5
+ const { exec } = require('child_process');
6
+ const path = require('path');
7
+ const semver = require('semver');
8
+ const { default: dedent } = require('ts-dedent');
9
+
10
+ const rootDirectory = path.join(__dirname, '..', '..', '..');
11
+
12
+ const logger = console;
13
+
14
+ const getMonorepoPackages = async () => {
15
+ const process = promisify(exec);
16
+ const contents = await process('yarn lerna ls --json', {
17
+ cwd: rootDirectory,
18
+ });
19
+
20
+ const projects = JSON.parse(contents.stdout);
21
+ return projects.reduce((acc, project) => {
22
+ acc[project.name] = path.join(project.location, 'package.json');
23
+ return acc;
24
+ }, []);
25
+ };
26
+
27
+ const run = async () => {
28
+ const updatedVersion = process.argv[process.argv.length - 1];
29
+
30
+ if (!semver.valid(updatedVersion)) throw new Error(`Invalid version: ${updatedVersion}`);
31
+
32
+ logger.log(`Generating versions.ts with v${updatedVersion}`);
33
+
34
+ const storybookPackages = await getMonorepoPackages();
35
+
36
+ const packageToVersionMap = (
37
+ await Promise.all(
38
+ Object.keys(storybookPackages).map(async (pkgName) => {
39
+ const { name, version } = await readJson(storybookPackages[pkgName]);
40
+
41
+ return {
42
+ name,
43
+ version,
44
+ };
45
+ })
46
+ )
47
+ )
48
+ .filter(({ name }) => /^(@storybook|sb$|storybook$)/.test(name))
49
+ // As some previous steps are asynchronous order is not always the same so sort them to avoid that
50
+ .sort((package1, package2) => package1.name.localeCompare(package2.name))
51
+ .reduce((acc, { name }) => ({ ...acc, [name]: updatedVersion }), {});
52
+
53
+ const versionsPath = path.join(__dirname, '..', 'src', 'versions.ts');
54
+
55
+ await writeFile(
56
+ versionsPath,
57
+ dedent`
58
+ // auto generated file, do not edit
59
+ export default ${JSON.stringify(packageToVersionMap, null, 2)}
60
+ `
61
+ );
62
+
63
+ logger.log(`Updating versions and formatting results at: ${versionsPath}`);
64
+
65
+ exec(`yarn lint:js:cmd --fix ${versionsPath}`, {
66
+ cwd: path.join(__dirname, '..', '..', '..'),
67
+ });
68
+ };
69
+
70
+ run().catch((e) => {
71
+ logger.error(e);
72
+ process.exit(1);
73
+ });
@@ -0,0 +1,2 @@
1
+ declare module 'envinfo';
2
+ declare var LOGLEVEL: 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'silent' | undefined;
@@ -0,0 +1,8 @@
1
+ import type { Renderer } from '@storybook/types';
2
+ import type { StoryStore } from '@storybook/preview-api';
3
+
4
+ declare global {
5
+ interface Window {
6
+ __STORYBOOK_STORY_STORE__: StoryStore<Renderer>;
7
+ }
8
+ }
@@ -0,0 +1,12 @@
1
+ const run = require('../helpers');
2
+
3
+ describe('Default behavior', () => {
4
+ it('suggests the closest match to an unknown command', () => {
5
+ const { status, stderr, stdout } = run(['upgraed']);
6
+
7
+ // Assertions
8
+ expect(status).toBe(1);
9
+ expect(stderr.toString()).toContain('Invalid command: upgraed.');
10
+ expect(stdout.toString()).toContain('Did you mean upgrade?');
11
+ });
12
+ });
@@ -0,0 +1,15 @@
1
+ const { sync: spawnSync } = require('cross-spawn');
2
+ const path = require('path');
3
+
4
+ const CLI_PATH = path.join(__dirname, '..', 'bin');
5
+
6
+ /**
7
+ * Execute command
8
+ * @param {String[]} args - args to be passed in
9
+ * @param {Object} options - customize the behavior
10
+ *
11
+ * @returns {Object}
12
+ */
13
+ const run = (args, options = {}) => spawnSync('node', [CLI_PATH].concat(args), options);
14
+
15
+ module.exports = run;