@storybook/cli 7.1.0-alpha.16 → 7.1.0-alpha.18
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/chunk-NRLT7YCM.mjs +38 -0
- package/dist/generate.js +157 -148
- package/dist/generate.mjs +169 -159
- package/dist/index.d.ts +0 -1
- package/dist/index.js +2 -2
- package/dist/index.mjs +1 -1
- package/package.json +10 -10
- package/dist/chunk-2MY2HSJO.mjs +0 -39
package/dist/index.d.ts
CHANGED
|
@@ -215,7 +215,6 @@ declare abstract class JsPackageManager {
|
|
|
215
215
|
port: number;
|
|
216
216
|
preCommand?: string;
|
|
217
217
|
}): Promise<void>;
|
|
218
|
-
addESLintConfig(): Promise<void>;
|
|
219
218
|
addScripts(scripts: Record<string, string>): Promise<void>;
|
|
220
219
|
addPackageResolutions(versions: Record<string, string>): Promise<void>;
|
|
221
220
|
protected abstract runInstall(): Promise<void>;
|
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,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.
|
|
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,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.18","@storybook/addon-actions":"7.1.0-alpha.18","@storybook/addon-backgrounds":"7.1.0-alpha.18","@storybook/addon-controls":"7.1.0-alpha.18","@storybook/addon-docs":"7.1.0-alpha.18","@storybook/addon-essentials":"7.1.0-alpha.18","@storybook/addon-highlight":"7.1.0-alpha.18","@storybook/addon-interactions":"7.1.0-alpha.18","@storybook/addon-jest":"7.1.0-alpha.18","@storybook/addon-links":"7.1.0-alpha.18","@storybook/addon-mdx-gfm":"7.1.0-alpha.18","@storybook/addon-measure":"7.1.0-alpha.18","@storybook/addon-outline":"7.1.0-alpha.18","@storybook/addon-storyshots":"7.1.0-alpha.18","@storybook/addon-storyshots-puppeteer":"7.1.0-alpha.18","@storybook/addon-storysource":"7.1.0-alpha.18","@storybook/addon-toolbars":"7.1.0-alpha.18","@storybook/addon-viewport":"7.1.0-alpha.18","@storybook/addons":"7.1.0-alpha.18","@storybook/angular":"7.1.0-alpha.18","@storybook/api":"7.1.0-alpha.18","@storybook/blocks":"7.1.0-alpha.18","@storybook/builder-manager":"7.1.0-alpha.18","@storybook/builder-vite":"7.1.0-alpha.18","@storybook/builder-webpack5":"7.1.0-alpha.18","@storybook/channel-postmessage":"7.1.0-alpha.18","@storybook/channel-websocket":"7.1.0-alpha.18","@storybook/channels":"7.1.0-alpha.18","@storybook/cli":"7.1.0-alpha.18","@storybook/client-api":"7.1.0-alpha.18","@storybook/client-logger":"7.1.0-alpha.18","@storybook/codemod":"7.1.0-alpha.18","@storybook/components":"7.1.0-alpha.18","@storybook/core-client":"7.1.0-alpha.18","@storybook/core-common":"7.1.0-alpha.18","@storybook/core-events":"7.1.0-alpha.18","@storybook/core-server":"7.1.0-alpha.18","@storybook/core-webpack":"7.1.0-alpha.18","@storybook/csf-plugin":"7.1.0-alpha.18","@storybook/csf-tools":"7.1.0-alpha.18","@storybook/docs-tools":"7.1.0-alpha.18","@storybook/ember":"7.1.0-alpha.18","@storybook/html":"7.1.0-alpha.18","@storybook/html-vite":"7.1.0-alpha.18","@storybook/html-webpack5":"7.1.0-alpha.18","@storybook/instrumenter":"7.1.0-alpha.18","@storybook/manager":"7.1.0-alpha.18","@storybook/manager-api":"7.1.0-alpha.18","@storybook/nextjs":"7.1.0-alpha.18","@storybook/node-logger":"7.1.0-alpha.18","@storybook/postinstall":"7.1.0-alpha.18","@storybook/preact":"7.1.0-alpha.18","@storybook/preact-vite":"7.1.0-alpha.18","@storybook/preact-webpack5":"7.1.0-alpha.18","@storybook/preset-create-react-app":"7.1.0-alpha.18","@storybook/preset-html-webpack":"7.1.0-alpha.18","@storybook/preset-preact-webpack":"7.1.0-alpha.18","@storybook/preset-react-webpack":"7.1.0-alpha.18","@storybook/preset-server-webpack":"7.1.0-alpha.18","@storybook/preset-svelte-webpack":"7.1.0-alpha.18","@storybook/preset-vue-webpack":"7.1.0-alpha.18","@storybook/preset-vue3-webpack":"7.1.0-alpha.18","@storybook/preset-web-components-webpack":"7.1.0-alpha.18","@storybook/preview":"7.1.0-alpha.18","@storybook/preview-api":"7.1.0-alpha.18","@storybook/preview-web":"7.1.0-alpha.18","@storybook/react":"7.1.0-alpha.18","@storybook/react-dom-shim":"7.1.0-alpha.18","@storybook/react-vite":"7.1.0-alpha.18","@storybook/react-webpack5":"7.1.0-alpha.18","@storybook/router":"7.1.0-alpha.18","@storybook/server":"7.1.0-alpha.18","@storybook/server-webpack5":"7.1.0-alpha.18","@storybook/source-loader":"7.1.0-alpha.18","@storybook/store":"7.1.0-alpha.18","@storybook/svelte":"7.1.0-alpha.18","@storybook/svelte-vite":"7.1.0-alpha.18","@storybook/svelte-webpack5":"7.1.0-alpha.18","@storybook/sveltekit":"7.1.0-alpha.18","@storybook/telemetry":"7.1.0-alpha.18","@storybook/theming":"7.1.0-alpha.18","@storybook/types":"7.1.0-alpha.18","@storybook/vue":"7.1.0-alpha.18","@storybook/vue-vite":"7.1.0-alpha.18","@storybook/vue-webpack5":"7.1.0-alpha.18","@storybook/vue3":"7.1.0-alpha.18","@storybook/vue3-vite":"7.1.0-alpha.18","@storybook/vue3-webpack5":"7.1.0-alpha.18","@storybook/web-components":"7.1.0-alpha.18","@storybook/web-components-vite":"7.1.0-alpha.18","@storybook/web-components-webpack5":"7.1.0-alpha.18",sb:"7.1.0-alpha.18",storybook:"7.1.0-alpha.18"};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");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(`
|
|
@@ -10,5 +10,5 @@ var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropD
|
|
|
10
10
|
Please fix the error and try again.
|
|
11
11
|
`)}return{...packageJson,dependencies:{...packageJson.dependencies},devDependencies:{...packageJson.devDependencies},peerDependencies:{...packageJson.peerDependencies}}}async getAllDependencies(){let{dependencies,devDependencies,peerDependencies}=await this.retrievePackageJson();return{...dependencies,...devDependencies,...peerDependencies}}async addDependencies(options,dependencies){let{skipInstall}=options;if(skipInstall){let{packageJson}=options,dependenciesMap=dependencies.reduce((acc,dep)=>{let[packageName,packageVersion]=getPackageDetails(dep);return{...acc,[packageName]:packageVersion}},{});options.installAsDevDependencies?packageJson.devDependencies={...packageJson.devDependencies,...dependenciesMap}:packageJson.dependencies={...packageJson.dependencies,...dependenciesMap},await this.writePackageJson(packageJson)}else try{await this.runAddDeps(dependencies,options.installAsDevDependencies)}catch(e){throw logger2.error("An error occurred while installing dependencies."),logger2.log(e.message),new HandledError(e)}}removeDependencies(options,dependencies){let{skipInstall}=options;if(skipInstall){let{packageJson}=options;dependencies.forEach(dep=>{packageJson.devDependencies&&delete packageJson.devDependencies[dep],packageJson.dependencies&&delete packageJson.dependencies[dep]}),this.writePackageJson(packageJson)}else try{this.runRemoveDeps(dependencies)}catch(e){throw logger2.error("An error occurred while removing dependencies."),logger2.log(e.message),new HandledError(e)}}getVersionedPackages(packages){return Promise.all(packages.map(async pkg=>{let[packageName,packageVersion]=getPackageDetails(pkg);return`${packageName}@${await this.getVersion(packageName,packageVersion)}`}))}getVersions(...packageNames){return Promise.all(packageNames.map(packageName=>this.getVersion(packageName)))}async getVersion(packageName,constraint){let current;/(@storybook|^sb$|^storybook$)/.test(packageName)&&(current=versions_default[packageName]);let latest;try{latest=await this.latestVersion(packageName,constraint)}catch(e){if(current)return logger2.warn(`
|
|
12
12
|
${import_chalk2.default.yellow(e.message)}`),current;throw logger2.error(`
|
|
13
|
-
${import_chalk2.default.red(e.message)}`),new HandledError(e)}return`^${current&&(!constraint||(0,import_semver3.satisfies)(current,constraint))&&(0,import_semver3.gt)(current,latest)?current:latest}`}async latestVersion(packageName,constraint){return constraint?(await this.runGetVersions(packageName,!0)).reverse().find(version=>(0,import_semver3.satisfies)(version,constraint)):this.runGetVersions(packageName,!1)}async addStorybookCommandInScripts(options){let storybookCmd=`storybook dev -p ${(options==null?void 0:options.port)??6006}`,buildStorybookCmd="storybook build",preCommand=options!=null&&options.preCommand?this.getRunCommand(options.preCommand):void 0;await this.addScripts({storybook:[preCommand,storybookCmd].filter(Boolean).join(" && "),"build-storybook":[preCommand,buildStorybookCmd].filter(Boolean).join(" && ")})}async addESLintConfig(){var _a;let packageJson=await this.retrievePackageJson();await this.writePackageJson({...packageJson,eslintConfig:{...packageJson.eslintConfig,overrides:[...((_a=packageJson.eslintConfig)==null?void 0:_a.overrides)||[],{files:["**/*.stories.*"],rules:{"import/no-anonymous-default-export":"off"}}]}})}async addScripts(scripts){let packageJson=await this.retrievePackageJson();await this.writePackageJson({...packageJson,scripts:{...packageJson.scripts,...scripts}})}async addPackageResolutions(versions){let packageJson=await this.retrievePackageJson(),resolutions=this.getResolutions(packageJson,versions);this.writePackageJson({...packageJson,...resolutions})}executeCommandSync({command,args=[],stdio,cwd,ignoreError=!1,env,...execaOptions}){try{return(0,import_execa.sync)(command,args,{cwd:cwd??this.cwd,stdio:stdio??"pipe",encoding:"utf-8",shell:!0,env,...execaOptions}).stdout??""}catch(err){if(ignoreError!==!0)throw err;return""}}async executeCommand({command,args=[],stdio,cwd,ignoreError=!1,env,...execaOptions}){try{return(await(0,import_execa.command)([command,...args].join(" "),{cwd:cwd??this.cwd,stdio:stdio??"pipe",encoding:"utf-8",shell:!0,env,...execaOptions})).stdout??""}catch(err){if(ignoreError!==!0)throw err;return""}}};var NPMProxy=class extends JsPackageManager{constructor(){super(...arguments);this.type="npm"}async initPackageJson(){await this.executeCommand({command:"npm",args:["init","-y"]})}getRunStorybookCommand(){return"npm run storybook"}getRunCommand(command){return`npm run ${command}`}async getNpmVersion(){return this.executeCommand({command:"npm",args:["--version"]})}getInstallArgs(){return this.installArgs||(this.installArgs=[]),this.installArgs}runPackageCommandSync(command,args,cwd,stdio){return this.executeCommandSync({command:"npm",args:["exec","--",command,...args],cwd,stdio})}async runPackageCommand(command,args,cwd){return this.executeCommand({command:"npm",args:["exec","--",command,...args],cwd})}async findInstallations(){let pipeToNull=(0,import_os.platform)()==="win32"?"2>NUL":"2>/dev/null",commandResult=await this.executeCommand({command:"npm",args:["ls","--json","--depth=99",pipeToNull],ignoreError:!0});try{let parsedOutput=JSON.parse(commandResult);return this.mapDependencies(parsedOutput)}catch{return}}getResolutions(packageJson,versions){return{overrides:{...packageJson.overrides,...versions}}}async runInstall(){await this.executeCommand({command:"npm",args:["install",...this.getInstallArgs()],stdio:"inherit"})}async runAddDeps(dependencies,installAsDevDependencies){let args=[...dependencies];installAsDevDependencies&&(args=["-D",...args]),await this.executeCommand({command:"npm",args:["install",...this.getInstallArgs(),...args],stdio:"inherit"})}async runRemoveDeps(dependencies){let args=[...dependencies];await this.executeCommand({command:"npm",args:["uninstall",...this.getInstallArgs(),...args],stdio:"inherit"})}async runGetVersions(packageName,fetchAllVersions){let args=[fetchAllVersions?"versions":"version","--json"],commandResult=await this.executeCommand({command:"npm",args:["info",packageName,...args]});try{let parsedOutput=JSON.parse(commandResult);if(parsedOutput.error)throw new Error(parsedOutput.error.summary);return parsedOutput}catch{throw new Error(`Unable to find versions of ${packageName} using npm`)}}mapDependencies(input){let acc={},existingVersions={},duplicatedDependencies={},recurse=([name,packageInfo])=>{var _a;if(!name||!name.includes("storybook"))return;let value={version:packageInfo.version,location:""};(_a=existingVersions[name])!=null&&_a.includes(value.version)||(acc[name]?acc[name].push(value):acc[name]=[value],existingVersions[name]=(0,import_sort.default)([...existingVersions[name]||[],value.version]),existingVersions[name].length>1&&(duplicatedDependencies[name]=existingVersions[name])),packageInfo.dependencies&&Object.entries(packageInfo.dependencies).forEach(recurse)};return Object.entries(input.dependencies).forEach(recurse),{dependencies:acc,duplicatedDependencies,infoCommand:"npm ls --depth=1"}}};var import_fs_extra3=require("fs-extra");var PNPMProxy=class extends JsPackageManager{constructor(){super(...arguments);this.type="pnpm"}detectWorkspaceRoot(){let pnpmWorkspaceYaml=`${process.cwd()}/pnpm-workspace.yaml`;return(0,import_fs_extra3.pathExistsSync)(pnpmWorkspaceYaml)}async initPackageJson(){await this.executeCommand({command:"pnpm",args:["init","-y"]})}getRunStorybookCommand(){return"pnpm run storybook"}getRunCommand(command){return`pnpm run ${command}`}async getPnpmVersion(){return this.executeCommand({command:"pnpm",args:["--version"]})}getInstallArgs(){return this.installArgs||(this.installArgs=[],this.detectWorkspaceRoot()&&this.installArgs.push("-w")),this.installArgs}runPackageCommandSync(command,args,cwd,stdio){return this.executeCommandSync({command:"pnpm",args:["exec",command,...args],cwd,stdio})}async runPackageCommand(command,args,cwd){return this.executeCommand({command:"pnpm",args:["exec",command,...args],cwd})}async findInstallations(pattern){let commandResult=await this.executeCommand({command:"pnpm",args:["list",pattern.map(p=>`"${p}"`).join(" "),"--json","--depth=99"]});try{let parsedOutput=JSON.parse(commandResult);return this.mapDependencies(parsedOutput)}catch{return}}getResolutions(packageJson,versions){return{overrides:{...packageJson.overrides,...versions}}}async runInstall(){await this.executeCommand({command:"pnpm",args:["install",...this.getInstallArgs()],stdio:"inherit"})}async runAddDeps(dependencies,installAsDevDependencies){let args=[...dependencies];installAsDevDependencies&&(args=["-D",...args]),await this.executeCommand({command:"pnpm",args:["add",...args,...this.getInstallArgs()],stdio:"inherit"})}async runRemoveDeps(dependencies){let args=[...dependencies];await this.executeCommand({command:"pnpm",args:["remove",...args,...this.getInstallArgs()],stdio:"inherit"})}async runGetVersions(packageName,fetchAllVersions){let args=[fetchAllVersions?"versions":"version","--json"],commandResult=await this.executeCommand({command:"pnpm",args:["info",packageName,...args]});try{let parsedOutput=JSON.parse(commandResult);if(parsedOutput.error)throw new Error(parsedOutput.error.summary);return parsedOutput}catch{throw new Error(`Unable to find versions of ${packageName} using pnpm`)}}mapDependencies(input){let acc={},existingVersions={},duplicatedDependencies={},items=input.reduce((curr,item)=>{let{devDependencies,dependencies,peerDependencies}=item,allDependencies={...devDependencies,...dependencies,...peerDependencies};return Object.assign(curr,allDependencies)},{}),recurse=([name,packageInfo])=>{var _a;if(!name||!name.includes("storybook"))return;let value={version:packageInfo.version,location:""};(_a=existingVersions[name])!=null&&_a.includes(value.version)||(acc[name]?acc[name].push(value):acc[name]=[value],existingVersions[name]=[...existingVersions[name]||[],value.version],existingVersions[name].length>1&&(duplicatedDependencies[name]=existingVersions[name])),packageInfo.dependencies&&Object.entries(packageInfo.dependencies).forEach(recurse)};return Object.entries(items).forEach(recurse),{dependencies:acc,duplicatedDependencies,infoCommand:"pnpm list --depth=1"}}};var parsePackageData=(packageName="")=>{let[first,second,third]=packageName.trim().split("@"),version=(third||second).replace("npm:","");return{name:third?`@${second}`:first,value:{version,location:""}}};var Yarn2Proxy=class extends JsPackageManager{constructor(){super(...arguments);this.type="yarn2"}getInstallArgs(){return this.installArgs||(this.installArgs=[]),this.installArgs}async initPackageJson(){await this.executeCommand({command:"yarn",args:["init"]})}getRunStorybookCommand(){return"yarn storybook"}getRunCommand(command){return`yarn ${command}`}runPackageCommandSync(command,args,cwd,stdio){return this.executeCommandSync({command:"yarn",args:[command,...args],cwd,stdio})}async runPackageCommand(command,args,cwd){return this.executeCommand({command:"yarn",args:[command,...args],cwd})}async findInstallations(pattern){let commandResult=await this.executeCommand({command:"yarn",args:["info","--name-only","--recursive",pattern.map(p=>`"${p}"`).join(" "),`"${pattern}"`]});try{return this.mapDependencies(commandResult)}catch{return}}getResolutions(packageJson,versions){return{resolutions:{...packageJson.resolutions,...versions}}}async runInstall(){await this.executeCommand({command:"yarn",args:["install",...this.getInstallArgs()],stdio:"inherit"})}async runAddDeps(dependencies,installAsDevDependencies){let args=[...dependencies];installAsDevDependencies&&(args=["-D",...args]),await this.executeCommand({command:"yarn",args:["add",...this.getInstallArgs(),...args],stdio:"inherit"})}async runRemoveDeps(dependencies){let args=[...dependencies];await this.executeCommand({command:"yarn",args:["remove",...this.getInstallArgs(),...args],stdio:"inherit"})}async runGetVersions(packageName,fetchAllVersions){let field=fetchAllVersions?"versions":"version",args=["--fields",field,"--json"],commandResult=await this.executeCommand({command:"yarn",args:["npm","info",packageName,...args]});try{return JSON.parse(commandResult)[field]}catch{throw new Error(`Unable to find versions of ${packageName} using yarn 2`)}}mapDependencies(input){let lines=input.split(`
|
|
13
|
+
${import_chalk2.default.red(e.message)}`),new HandledError(e)}return`^${current&&(!constraint||(0,import_semver3.satisfies)(current,constraint))&&(0,import_semver3.gt)(current,latest)?current:latest}`}async latestVersion(packageName,constraint){return constraint?(await this.runGetVersions(packageName,!0)).reverse().find(version=>(0,import_semver3.satisfies)(version,constraint)):this.runGetVersions(packageName,!1)}async addStorybookCommandInScripts(options){let storybookCmd=`storybook dev -p ${(options==null?void 0:options.port)??6006}`,buildStorybookCmd="storybook build",preCommand=options!=null&&options.preCommand?this.getRunCommand(options.preCommand):void 0;await this.addScripts({storybook:[preCommand,storybookCmd].filter(Boolean).join(" && "),"build-storybook":[preCommand,buildStorybookCmd].filter(Boolean).join(" && ")})}async addScripts(scripts){let packageJson=await this.retrievePackageJson();await this.writePackageJson({...packageJson,scripts:{...packageJson.scripts,...scripts}})}async addPackageResolutions(versions){let packageJson=await this.retrievePackageJson(),resolutions=this.getResolutions(packageJson,versions);this.writePackageJson({...packageJson,...resolutions})}executeCommandSync({command,args=[],stdio,cwd,ignoreError=!1,env,...execaOptions}){try{return(0,import_execa.sync)(command,args,{cwd:cwd??this.cwd,stdio:stdio??"pipe",encoding:"utf-8",shell:!0,env,...execaOptions}).stdout??""}catch(err){if(ignoreError!==!0)throw err;return""}}async executeCommand({command,args=[],stdio,cwd,ignoreError=!1,env,...execaOptions}){try{return(await(0,import_execa.command)([command,...args].join(" "),{cwd:cwd??this.cwd,stdio:stdio??"pipe",encoding:"utf-8",shell:!0,env,...execaOptions})).stdout??""}catch(err){if(ignoreError!==!0)throw err;return""}}};var NPMProxy=class extends JsPackageManager{constructor(){super(...arguments);this.type="npm"}async initPackageJson(){await this.executeCommand({command:"npm",args:["init","-y"]})}getRunStorybookCommand(){return"npm run storybook"}getRunCommand(command){return`npm run ${command}`}async getNpmVersion(){return this.executeCommand({command:"npm",args:["--version"]})}getInstallArgs(){return this.installArgs||(this.installArgs=[]),this.installArgs}runPackageCommandSync(command,args,cwd,stdio){return this.executeCommandSync({command:"npm",args:["exec","--",command,...args],cwd,stdio})}async runPackageCommand(command,args,cwd){return this.executeCommand({command:"npm",args:["exec","--",command,...args],cwd})}async findInstallations(){let pipeToNull=(0,import_os.platform)()==="win32"?"2>NUL":"2>/dev/null",commandResult=await this.executeCommand({command:"npm",args:["ls","--json","--depth=99",pipeToNull],ignoreError:!0});try{let parsedOutput=JSON.parse(commandResult);return this.mapDependencies(parsedOutput)}catch{return}}getResolutions(packageJson,versions){return{overrides:{...packageJson.overrides,...versions}}}async runInstall(){await this.executeCommand({command:"npm",args:["install",...this.getInstallArgs()],stdio:"inherit"})}async runAddDeps(dependencies,installAsDevDependencies){let args=[...dependencies];installAsDevDependencies&&(args=["-D",...args]),await this.executeCommand({command:"npm",args:["install",...this.getInstallArgs(),...args],stdio:"inherit"})}async runRemoveDeps(dependencies){let args=[...dependencies];await this.executeCommand({command:"npm",args:["uninstall",...this.getInstallArgs(),...args],stdio:"inherit"})}async runGetVersions(packageName,fetchAllVersions){let args=[fetchAllVersions?"versions":"version","--json"],commandResult=await this.executeCommand({command:"npm",args:["info",packageName,...args]});try{let parsedOutput=JSON.parse(commandResult);if(parsedOutput.error)throw new Error(parsedOutput.error.summary);return parsedOutput}catch{throw new Error(`Unable to find versions of ${packageName} using npm`)}}mapDependencies(input){let acc={},existingVersions={},duplicatedDependencies={},recurse=([name,packageInfo])=>{var _a;if(!name||!name.includes("storybook"))return;let value={version:packageInfo.version,location:""};(_a=existingVersions[name])!=null&&_a.includes(value.version)||(acc[name]?acc[name].push(value):acc[name]=[value],existingVersions[name]=(0,import_sort.default)([...existingVersions[name]||[],value.version]),existingVersions[name].length>1&&(duplicatedDependencies[name]=existingVersions[name])),packageInfo.dependencies&&Object.entries(packageInfo.dependencies).forEach(recurse)};return Object.entries(input.dependencies).forEach(recurse),{dependencies:acc,duplicatedDependencies,infoCommand:"npm ls --depth=1"}}};var import_fs_extra3=require("fs-extra");var PNPMProxy=class extends JsPackageManager{constructor(){super(...arguments);this.type="pnpm"}detectWorkspaceRoot(){let pnpmWorkspaceYaml=`${process.cwd()}/pnpm-workspace.yaml`;return(0,import_fs_extra3.pathExistsSync)(pnpmWorkspaceYaml)}async initPackageJson(){await this.executeCommand({command:"pnpm",args:["init","-y"]})}getRunStorybookCommand(){return"pnpm run storybook"}getRunCommand(command){return`pnpm run ${command}`}async getPnpmVersion(){return this.executeCommand({command:"pnpm",args:["--version"]})}getInstallArgs(){return this.installArgs||(this.installArgs=[],this.detectWorkspaceRoot()&&this.installArgs.push("-w")),this.installArgs}runPackageCommandSync(command,args,cwd,stdio){return this.executeCommandSync({command:"pnpm",args:["exec",command,...args],cwd,stdio})}async runPackageCommand(command,args,cwd){return this.executeCommand({command:"pnpm",args:["exec",command,...args],cwd})}async findInstallations(pattern){let commandResult=await this.executeCommand({command:"pnpm",args:["list",pattern.map(p=>`"${p}"`).join(" "),"--json","--depth=99"]});try{let parsedOutput=JSON.parse(commandResult);return this.mapDependencies(parsedOutput)}catch{return}}getResolutions(packageJson,versions){return{overrides:{...packageJson.overrides,...versions}}}async runInstall(){await this.executeCommand({command:"pnpm",args:["install",...this.getInstallArgs()],stdio:"inherit"})}async runAddDeps(dependencies,installAsDevDependencies){let args=[...dependencies];installAsDevDependencies&&(args=["-D",...args]),await this.executeCommand({command:"pnpm",args:["add",...args,...this.getInstallArgs()],stdio:"inherit"})}async runRemoveDeps(dependencies){let args=[...dependencies];await this.executeCommand({command:"pnpm",args:["remove",...args,...this.getInstallArgs()],stdio:"inherit"})}async runGetVersions(packageName,fetchAllVersions){let args=[fetchAllVersions?"versions":"version","--json"],commandResult=await this.executeCommand({command:"pnpm",args:["info",packageName,...args]});try{let parsedOutput=JSON.parse(commandResult);if(parsedOutput.error)throw new Error(parsedOutput.error.summary);return parsedOutput}catch{throw new Error(`Unable to find versions of ${packageName} using pnpm`)}}mapDependencies(input){let acc={},existingVersions={},duplicatedDependencies={},items=input.reduce((curr,item)=>{let{devDependencies,dependencies,peerDependencies}=item,allDependencies={...devDependencies,...dependencies,...peerDependencies};return Object.assign(curr,allDependencies)},{}),recurse=([name,packageInfo])=>{var _a;if(!name||!name.includes("storybook"))return;let value={version:packageInfo.version,location:""};(_a=existingVersions[name])!=null&&_a.includes(value.version)||(acc[name]?acc[name].push(value):acc[name]=[value],existingVersions[name]=[...existingVersions[name]||[],value.version],existingVersions[name].length>1&&(duplicatedDependencies[name]=existingVersions[name])),packageInfo.dependencies&&Object.entries(packageInfo.dependencies).forEach(recurse)};return Object.entries(items).forEach(recurse),{dependencies:acc,duplicatedDependencies,infoCommand:"pnpm list --depth=1"}}};var parsePackageData=(packageName="")=>{let[first,second,third]=packageName.trim().split("@"),version=(third||second).replace("npm:","");return{name:third?`@${second}`:first,value:{version,location:""}}};var Yarn2Proxy=class extends JsPackageManager{constructor(){super(...arguments);this.type="yarn2"}getInstallArgs(){return this.installArgs||(this.installArgs=[]),this.installArgs}async initPackageJson(){await this.executeCommand({command:"yarn",args:["init"]})}getRunStorybookCommand(){return"yarn storybook"}getRunCommand(command){return`yarn ${command}`}runPackageCommandSync(command,args,cwd,stdio){return this.executeCommandSync({command:"yarn",args:[command,...args],cwd,stdio})}async runPackageCommand(command,args,cwd){return this.executeCommand({command:"yarn",args:[command,...args],cwd})}async findInstallations(pattern){let commandResult=await this.executeCommand({command:"yarn",args:["info","--name-only","--recursive",pattern.map(p=>`"${p}"`).join(" "),`"${pattern}"`]});try{return this.mapDependencies(commandResult)}catch{return}}getResolutions(packageJson,versions){return{resolutions:{...packageJson.resolutions,...versions}}}async runInstall(){await this.executeCommand({command:"yarn",args:["install",...this.getInstallArgs()],stdio:"inherit"})}async runAddDeps(dependencies,installAsDevDependencies){let args=[...dependencies];installAsDevDependencies&&(args=["-D",...args]),await this.executeCommand({command:"yarn",args:["add",...this.getInstallArgs(),...args],stdio:"inherit"})}async runRemoveDeps(dependencies){let args=[...dependencies];await this.executeCommand({command:"yarn",args:["remove",...this.getInstallArgs(),...args],stdio:"inherit"})}async runGetVersions(packageName,fetchAllVersions){let field=fetchAllVersions?"versions":"version",args=["--fields",field,"--json"],commandResult=await this.executeCommand({command:"yarn",args:["npm","info",packageName,...args]});try{return JSON.parse(commandResult)[field]}catch{throw new Error(`Unable to find versions of ${packageName} using yarn 2`)}}mapDependencies(input){let lines=input.split(`
|
|
14
14
|
`),acc={},existingVersions={},duplicatedDependencies={};return lines.forEach(packageName=>{var _a;if(!packageName||!packageName.includes("storybook"))return;let{name,value}=parsePackageData(packageName.replaceAll('"',""));(_a=existingVersions[name])!=null&&_a.includes(value.version)||(acc[name]?acc[name].push(value):acc[name]=[value],existingVersions[name]=[...existingVersions[name]||[],value.version],existingVersions[name].length>1&&(duplicatedDependencies[name]=existingVersions[name]))}),{dependencies:acc,duplicatedDependencies,infoCommand:"yarn why"}}};var Yarn1Proxy=class extends JsPackageManager{constructor(){super(...arguments);this.type="yarn1"}getInstallArgs(){return this.installArgs||(this.installArgs=["--ignore-workspace-root-check"]),this.installArgs}async initPackageJson(){await this.executeCommand({command:"yarn",args:["init","-y"]})}getRunStorybookCommand(){return"yarn storybook"}getRunCommand(command){return`yarn ${command}`}runPackageCommandSync(command,args,cwd,stdio){return this.executeCommandSync({command:"yarn",args:[command,...args],cwd,stdio})}async runPackageCommand(command,args,cwd){return this.executeCommand({command:"yarn",args:[command,...args],cwd})}async findInstallations(pattern){let commandResult=await this.executeCommand({command:"yarn",args:["list","--pattern",pattern.map(p=>`"${p}"`).join(" "),"--recursive","--json"]});try{let parsedOutput=JSON.parse(commandResult);return this.mapDependencies(parsedOutput)}catch{return}}getResolutions(packageJson,versions){return{resolutions:{...packageJson.resolutions,...versions}}}async runInstall(){await this.executeCommand({command:"yarn",args:["install",...this.getInstallArgs()],stdio:"inherit"})}async runAddDeps(dependencies,installAsDevDependencies){let args=[...dependencies];installAsDevDependencies&&(args=["-D",...args]),await this.executeCommand({command:"yarn",args:["add",...this.getInstallArgs(),...args],stdio:"inherit"})}async runRemoveDeps(dependencies){let args=[...dependencies];await this.executeCommand({command:"yarn",args:["remove",...this.getInstallArgs(),...args],stdio:"inherit"})}async runGetVersions(packageName,fetchAllVersions){let args=[fetchAllVersions?"versions":"version","--json"],commandResult=await this.executeCommand({command:"yarn",args:["info",packageName,...args]});try{let parsedOutput=JSON.parse(commandResult);if(parsedOutput.type==="inspect")return parsedOutput.data;throw new Error(`Unable to find versions of ${packageName} using yarn`)}catch{throw new Error(`Unable to find versions of ${packageName} using yarn`)}}mapDependencies(input){if(input.type==="tree"){let{trees}=input.data,acc={},existingVersions={},duplicatedDependencies={},recurse=tree=>{var _a;let{children}=tree,{name,value}=parsePackageData(tree.name);!name||!name.includes("storybook")||((_a=existingVersions[name])!=null&&_a.includes(value.version)||(acc[name]?acc[name].push(value):acc[name]=[value],existingVersions[name]=[...existingVersions[name]||[],value.version],existingVersions[name].length>1&&(duplicatedDependencies[name]=existingVersions[name])),children.forEach(recurse))};return trees.forEach(recurse),{dependencies:acc,duplicatedDependencies,infoCommand:"yarn why"}}throw new Error("Something went wrong while parsing yarn output")}};var NPM_LOCKFILE="package-lock.json",PNPM_LOCKFILE="pnpm-lock.yaml",YARN_LOCKFILE="yarn.lock",JsPackageManagerFactory=class{static getPackageManager({force}={},cwd){if(force==="npm")return new NPMProxy({cwd});if(force==="pnpm")return new PNPMProxy({cwd});if(force==="yarn1")return new Yarn1Proxy({cwd});if(force==="yarn2")return new Yarn2Proxy({cwd});let yarnVersion=getYarnVersion(cwd),closestLockfilePath=(0,import_find_up.sync)([YARN_LOCKFILE,PNPM_LOCKFILE,NPM_LOCKFILE],{cwd}),closestLockfile=closestLockfilePath&&import_node_path.default.basename(closestLockfilePath),hasNPMCommand=hasNPM(cwd),hasPNPMCommand=hasPNPM(cwd);if(yarnVersion&&(closestLockfile===YARN_LOCKFILE||!hasNPMCommand&&!hasPNPMCommand))return yarnVersion===1?new Yarn1Proxy({cwd}):new Yarn2Proxy({cwd});if(hasPNPMCommand&&closestLockfile===PNPM_LOCKFILE)return new PNPMProxy({cwd});if(hasNPMCommand)return new NPMProxy({cwd});throw new Error("Unable to find a usable package manager within NPM, PNPM, Yarn and Yarn 2")}};function hasNPM(cwd){return(0,import_cross_spawn.sync)("npm",["--version"],{cwd,shell:!0}).status===0}function hasPNPM(cwd){return(0,import_cross_spawn.sync)("pnpm",["--version"],{cwd,shell:!0}).status===0}function getYarnVersion(cwd){let yarnVersionCommand=(0,import_cross_spawn.sync)("yarn",["--version"],{cwd,shell:!0});if(yarnVersionCommand.status!==0)return;let yarnVersion=yarnVersionCommand.output.toString().replace(/,/g,"").replace(/"/g,"");return/^1\.+/.test(yarnVersion)?1:2}function parseList(str){return str.split(",").map(item=>item.trim()).filter(item=>item.length>0)}function getEnvConfig(program,configEnv){Object.keys(configEnv).forEach(fieldName=>{let envVarName=configEnv[fieldName],envVarValue=process.env[envVarName];envVarValue&&(program[fieldName]=envVarValue)})}0&&(module.exports={JsPackageManager,JsPackageManagerFactory,getEnvConfig,getPackageDetails,parseList,useNpmWarning,versions});
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { JsPackageManager, JsPackageManagerFactory, getEnvConfig, getPackageDetails, parseList, useNpmWarning, versions_default as versions } from './chunk-
|
|
1
|
+
export { JsPackageManager, JsPackageManagerFactory, getEnvConfig, getPackageDetails, parseList, useNpmWarning, versions_default as versions } from './chunk-NRLT7YCM.mjs';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@storybook/cli",
|
|
3
|
-
"version": "7.1.0-alpha.
|
|
3
|
+
"version": "7.1.0-alpha.18",
|
|
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.20.2",
|
|
58
58
|
"@babel/preset-env": "^7.20.2",
|
|
59
59
|
"@ndelangen/get-tarball": "^3.0.7",
|
|
60
|
-
"@storybook/codemod": "7.1.0-alpha.
|
|
61
|
-
"@storybook/core-common": "7.1.0-alpha.
|
|
62
|
-
"@storybook/core-server": "7.1.0-alpha.
|
|
63
|
-
"@storybook/csf-tools": "7.1.0-alpha.
|
|
64
|
-
"@storybook/node-logger": "7.1.0-alpha.
|
|
65
|
-
"@storybook/telemetry": "7.1.0-alpha.
|
|
66
|
-
"@storybook/types": "7.1.0-alpha.
|
|
60
|
+
"@storybook/codemod": "7.1.0-alpha.18",
|
|
61
|
+
"@storybook/core-common": "7.1.0-alpha.18",
|
|
62
|
+
"@storybook/core-server": "7.1.0-alpha.18",
|
|
63
|
+
"@storybook/csf-tools": "7.1.0-alpha.18",
|
|
64
|
+
"@storybook/node-logger": "7.1.0-alpha.18",
|
|
65
|
+
"@storybook/telemetry": "7.1.0-alpha.18",
|
|
66
|
+
"@storybook/types": "7.1.0-alpha.18",
|
|
67
67
|
"@types/semver": "^7.3.4",
|
|
68
68
|
"boxen": "^5.1.2",
|
|
69
69
|
"chalk": "^4.1.0",
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
"util-deprecate": "^1.0.2"
|
|
95
95
|
},
|
|
96
96
|
"devDependencies": {
|
|
97
|
-
"@storybook/client-api": "7.1.0-alpha.
|
|
97
|
+
"@storybook/client-api": "7.1.0-alpha.18",
|
|
98
98
|
"@types/cross-spawn": "^6.0.2",
|
|
99
99
|
"@types/prompts": "^2.0.9",
|
|
100
100
|
"@types/puppeteer-core": "^2.1.0",
|
|
@@ -115,5 +115,5 @@
|
|
|
115
115
|
],
|
|
116
116
|
"platform": "node"
|
|
117
117
|
},
|
|
118
|
-
"gitHead": "
|
|
118
|
+
"gitHead": "52d9e5ef8bb048042ca5ff1b1ef95d1421ddfafc"
|
|
119
119
|
}
|
package/dist/chunk-2MY2HSJO.mjs
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import deprecate from 'util-deprecate';
|
|
2
|
-
import chalk from 'chalk';
|
|
3
|
-
import { satisfies, gt, validRange, minVersion } from 'semver';
|
|
4
|
-
import { sync, command } from 'execa';
|
|
5
|
-
import path, { dirname, join } from 'path';
|
|
6
|
-
import fs from 'fs';
|
|
7
|
-
import dedent from 'ts-dedent';
|
|
8
|
-
import fse, { readFile, writeFile, pathExistsSync } from 'fs-extra';
|
|
9
|
-
import stripJsonComments from 'strip-json-comments';
|
|
10
|
-
import downloadTarball from '@ndelangen/get-tarball';
|
|
11
|
-
import getNpmTarballUrl from 'get-npm-tarball-url';
|
|
12
|
-
import * as tempy from 'tempy';
|
|
13
|
-
import { sync as sync$2 } from 'cross-spawn';
|
|
14
|
-
import { sync as sync$1 } from 'find-up';
|
|
15
|
-
import sort from 'semver/functions/sort';
|
|
16
|
-
import { platform } from 'os';
|
|
17
|
-
|
|
18
|
-
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.16","@storybook/addon-actions":"7.1.0-alpha.16","@storybook/addon-backgrounds":"7.1.0-alpha.16","@storybook/addon-controls":"7.1.0-alpha.16","@storybook/addon-docs":"7.1.0-alpha.16","@storybook/addon-essentials":"7.1.0-alpha.16","@storybook/addon-highlight":"7.1.0-alpha.16","@storybook/addon-interactions":"7.1.0-alpha.16","@storybook/addon-jest":"7.1.0-alpha.16","@storybook/addon-links":"7.1.0-alpha.16","@storybook/addon-mdx-gfm":"7.1.0-alpha.16","@storybook/addon-measure":"7.1.0-alpha.16","@storybook/addon-outline":"7.1.0-alpha.16","@storybook/addon-storyshots":"7.1.0-alpha.16","@storybook/addon-storyshots-puppeteer":"7.1.0-alpha.16","@storybook/addon-storysource":"7.1.0-alpha.16","@storybook/addon-toolbars":"7.1.0-alpha.16","@storybook/addon-viewport":"7.1.0-alpha.16","@storybook/addons":"7.1.0-alpha.16","@storybook/angular":"7.1.0-alpha.16","@storybook/api":"7.1.0-alpha.16","@storybook/blocks":"7.1.0-alpha.16","@storybook/builder-manager":"7.1.0-alpha.16","@storybook/builder-vite":"7.1.0-alpha.16","@storybook/builder-webpack5":"7.1.0-alpha.16","@storybook/channel-postmessage":"7.1.0-alpha.16","@storybook/channel-websocket":"7.1.0-alpha.16","@storybook/channels":"7.1.0-alpha.16","@storybook/cli":"7.1.0-alpha.16","@storybook/client-api":"7.1.0-alpha.16","@storybook/client-logger":"7.1.0-alpha.16","@storybook/codemod":"7.1.0-alpha.16","@storybook/components":"7.1.0-alpha.16","@storybook/core-client":"7.1.0-alpha.16","@storybook/core-common":"7.1.0-alpha.16","@storybook/core-events":"7.1.0-alpha.16","@storybook/core-server":"7.1.0-alpha.16","@storybook/core-webpack":"7.1.0-alpha.16","@storybook/csf-plugin":"7.1.0-alpha.16","@storybook/csf-tools":"7.1.0-alpha.16","@storybook/docs-tools":"7.1.0-alpha.16","@storybook/ember":"7.1.0-alpha.16","@storybook/html":"7.1.0-alpha.16","@storybook/html-vite":"7.1.0-alpha.16","@storybook/html-webpack5":"7.1.0-alpha.16","@storybook/instrumenter":"7.1.0-alpha.16","@storybook/manager":"7.1.0-alpha.16","@storybook/manager-api":"7.1.0-alpha.16","@storybook/nextjs":"7.1.0-alpha.16","@storybook/node-logger":"7.1.0-alpha.16","@storybook/postinstall":"7.1.0-alpha.16","@storybook/preact":"7.1.0-alpha.16","@storybook/preact-vite":"7.1.0-alpha.16","@storybook/preact-webpack5":"7.1.0-alpha.16","@storybook/preset-create-react-app":"7.1.0-alpha.16","@storybook/preset-html-webpack":"7.1.0-alpha.16","@storybook/preset-preact-webpack":"7.1.0-alpha.16","@storybook/preset-react-webpack":"7.1.0-alpha.16","@storybook/preset-server-webpack":"7.1.0-alpha.16","@storybook/preset-svelte-webpack":"7.1.0-alpha.16","@storybook/preset-vue-webpack":"7.1.0-alpha.16","@storybook/preset-vue3-webpack":"7.1.0-alpha.16","@storybook/preset-web-components-webpack":"7.1.0-alpha.16","@storybook/preview":"7.1.0-alpha.16","@storybook/preview-api":"7.1.0-alpha.16","@storybook/preview-web":"7.1.0-alpha.16","@storybook/react":"7.1.0-alpha.16","@storybook/react-dom-shim":"7.1.0-alpha.16","@storybook/react-vite":"7.1.0-alpha.16","@storybook/react-webpack5":"7.1.0-alpha.16","@storybook/router":"7.1.0-alpha.16","@storybook/server":"7.1.0-alpha.16","@storybook/server-webpack5":"7.1.0-alpha.16","@storybook/source-loader":"7.1.0-alpha.16","@storybook/store":"7.1.0-alpha.16","@storybook/svelte":"7.1.0-alpha.16","@storybook/svelte-vite":"7.1.0-alpha.16","@storybook/svelte-webpack5":"7.1.0-alpha.16","@storybook/sveltekit":"7.1.0-alpha.16","@storybook/telemetry":"7.1.0-alpha.16","@storybook/theming":"7.1.0-alpha.16","@storybook/types":"7.1.0-alpha.16","@storybook/vue":"7.1.0-alpha.16","@storybook/vue-vite":"7.1.0-alpha.16","@storybook/vue-webpack5":"7.1.0-alpha.16","@storybook/vue3":"7.1.0-alpha.16","@storybook/vue3-vite":"7.1.0-alpha.16","@storybook/vue3-webpack5":"7.1.0-alpha.16","@storybook/web-components":"7.1.0-alpha.16","@storybook/web-components-vite":"7.1.0-alpha.16","@storybook/web-components-webpack5":"7.1.0-alpha.16",sb:"7.1.0-alpha.16",storybook:"7.1.0-alpha.16"};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.MITHRIL="MITHRIL",ProjectType2.MARIONETTE="MARIONETTE",ProjectType2.MARKO="MARKO",ProjectType2.HTML="HTML",ProjectType2.QWIK="QWIK",ProjectType2.RIOT="RIOT",ProjectType2.PREACT="PREACT",ProjectType2.SVELTE="SVELTE",ProjectType2.SVELTEKIT="SVELTEKIT",ProjectType2.RAX="RAX",ProjectType2.AURELIA="AURELIA",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:"MITHRIL",dependencies:["mithril"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"MARIONETTE",dependencies:["backbone.marionette"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"MARKO",dependencies:["marko"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"RIOT",dependencies:["riot"],matcherFunction:({dependencies})=>dependencies.every(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:"RAX",dependencies:["rax"],matcherFunction:({dependencies})=>dependencies.every(Boolean)},{preset:"AURELIA",dependencies:["aurelia-bootstrapper"],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=`${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
|
-
|
|
20
|
-
`)}`)}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)}function readFileAsJson(jsonPath,allowComments){let filePath=path.resolve(jsonPath);if(!fs.existsSync(filePath))return !1;let fileContent=fs.readFileSync(filePath,"utf8"),jsonContent=allowComments?stripJsonComments(fileContent):fileContent;try{return JSON.parse(jsonContent)}catch(e){throw logger.error(chalk.red(`Invalid json in file: ${filePath}`)),e}}var writeFileAsJson=(jsonPath,content)=>{let filePath=path.resolve(jsonPath);return fs.existsSync(filePath)?(fs.writeFileSync(filePath,`${JSON.stringify(content,null,2)}
|
|
21
|
-
`),!0):!1},commandLog=message=>(process.stdout.write(chalk.cyan(" \u2022 ")+message),(errorMessage,errorInfo)=>{if(errorMessage){if(process.stdout.write(`. ${chalk.red("\u2716")}
|
|
22
|
-
`),logger.error(`
|
|
23
|
-
${chalk.red(errorMessage)}`),!errorInfo)return;let newErrorInfo=errorInfo.split(`
|
|
24
|
-
`).map(line=>` ${chalk.dim(line)}`).join(`
|
|
25
|
-
`);logger.error(`${newErrorInfo}
|
|
26
|
-
`);return}process.stdout.write(`. ${chalk.green("\u2713")}
|
|
27
|
-
`);});function paddedLog(message){let newMessage=message.split(`
|
|
28
|
-
`).map(line=>` ${line}`).join(`
|
|
29
|
-
`);logger.log(newMessage);}function getChars(char,amount){let line="";for(let lc=0;lc<amount;lc+=1)line+=char;return line}function codeLog(codeLines,leftPadAmount){let maxLength=0,finalResult=codeLines.map(line=>(maxLength=line.length>maxLength?line.length:maxLength,line)).map(line=>{let rightPadAmount=maxLength-line.length,newLine=line+getChars(" ",rightPadAmount);return newLine=getChars(" ",leftPadAmount||2)+chalk.inverse(` ${newLine} `),newLine}).join(`
|
|
30
|
-
`);logger.log(finalResult);}async function getBabelDependencies(packageManager,packageJson){let dependenciesToAdd=[],babelLoaderVersion="^8.0.0-0",babelCoreVersion=packageJson.dependencies["babel-core"]||packageJson.devDependencies["babel-core"];if(babelCoreVersion){let latestCompatibleBabelVersion=await packageManager.latestVersion("babel-core",babelCoreVersion);satisfies(latestCompatibleBabelVersion,"^6.0.0")&&(babelLoaderVersion="^7.0.0");}else if(!packageJson.dependencies["@babel/core"]&&!packageJson.devDependencies["@babel/core"]){let babelCoreInstallVersion=await packageManager.getVersion("@babel/core");dependenciesToAdd.push(`@babel/core@${babelCoreInstallVersion}`);}if(!packageJson.dependencies["babel-loader"]&&!packageJson.devDependencies["babel-loader"]){let babelLoaderInstallVersion=await packageManager.getVersion("babel-loader",babelLoaderVersion);dependenciesToAdd.push(`babel-loader@${babelLoaderInstallVersion}`);}return dependenciesToAdd}function copyTemplate(templateRoot,destination="."){let templateDir=path.resolve(templateRoot,"template-csf/");if(!fs.existsSync(templateDir))throw new Error("Couldn't find template dir");fse.copySync(templateDir,destination,{overwrite:!0});}async function copyTemplateFiles({packageManager,renderer,language,destination,includeCommonAssets=!0}){let languageFolderMapping={typescript:"ts",["javascript"]:"js",["typescript-3-8"]:"ts-3-8",["typescript-4-9"]:"ts-4-9"},templatePath=async()=>{let baseDir=await getRendererDir(packageManager,renderer),assetsDir=join(baseDir,"template/cli"),assetsLanguage=join(assetsDir,languageFolderMapping[language]),assetsJS=join(assetsDir,languageFolderMapping["javascript"]),assetsTS=join(assetsDir,languageFolderMapping.typescript),assetsTS38=join(assetsDir,languageFolderMapping["typescript-3-8"]);if(await fse.pathExists(assetsLanguage))return assetsLanguage;if(language==="typescript-4-9"&&await fse.pathExists(assetsTS38))return assetsTS38;if(await fse.pathExists(assetsTS))return assetsTS;if(await fse.pathExists(assetsJS))return assetsJS;if(await fse.pathExists(assetsDir))return assetsDir;throw new Error(`Unsupported renderer: ${renderer} (${baseDir})`)},destinationPath=destination??await(async()=>await fse.pathExists("./src")?"./src/stories":"./stories")();includeCommonAssets&&await fse.copy(join(getCliDir(),"rendererAssets/common"),destinationPath,{overwrite:!0}),await fse.copy(await templatePath(),destinationPath,{overwrite:!0});}function getStorybookVersionSpecifier(packageJson){let allDeps={...packageJson.dependencies,...packageJson.devDependencies},storybookPackage=Object.keys(allDeps).find(name=>versions_default[name]);if(!storybookPackage)throw new Error("Couldn't find any official storybook packages in package.json");return allDeps[storybookPackage]}function isNxProject(packageJSON){return !!packageJSON.devDependencies?.nx||fs.existsSync("nx.json")}var HandledError=class extends Error{constructor(messageOrError){super(typeof messageOrError=="string"?messageOrError:messageOrError.message);this.handled=!0;typeof messageOrError!="string"&&(this.cause=messageOrError);}};var logger2=console;function getPackageDetails(pkg){let idx=pkg.lastIndexOf("@");if(idx<=0)return [pkg,void 0];let packageName=pkg.slice(0,idx),packageVersion=pkg.slice(idx+1);return [packageName,packageVersion]}var JsPackageManager=class{async setRegistryURL(url){url?await this.executeCommand({command:"npm",args:["config","set","registry",url]}):await this.executeCommand({command:"npm",args:["config","delete","registry"]});}async getRegistryURL(){let url=(await this.executeCommand({command:"npm",args:["config","get","registry"]})).trim();return url==="undefined"?void 0:url}constructor(options){this.cwd=options?.cwd;}async installDependencies(){let done=commandLog("Preparing to install dependencies");done(),logger2.log(),logger2.log(),done=commandLog("Installing dependencies");try{await this.runInstall();}catch(e){throw done("An error occurred while installing dependencies."),new HandledError(e)}done();}packageJsonPath(){return this.cwd?path.resolve(this.cwd,"package.json"):path.resolve("package.json")}async readPackageJson(){let packageJsonPath=this.packageJsonPath();if(!fs.existsSync(packageJsonPath))throw new Error(`Could not read package.json file at ${packageJsonPath}`);let jsonContent=await readFile(packageJsonPath,"utf8");return JSON.parse(jsonContent)}async writePackageJson(packageJson){let packageJsonToWrite={...packageJson};packageJsonToWrite.dependencies&&Object.keys(packageJsonToWrite.dependencies).length===0&&delete packageJsonToWrite.dependencies,packageJsonToWrite.devDependencies&&Object.keys(packageJsonToWrite.devDependencies).length===0&&delete packageJsonToWrite.devDependencies,packageJsonToWrite.peerDependencies&&Object.keys(packageJsonToWrite.peerDependencies).length===0&&delete packageJsonToWrite.peerDependencies;let content=`${JSON.stringify(packageJsonToWrite,null,2)}
|
|
31
|
-
`;await writeFile(this.packageJsonPath(),content,"utf8");}async retrievePackageJson(){let packageJson;try{packageJson=await this.readPackageJson();}catch(err){if(err.message.includes("Could not read package.json"))await this.initPackageJson(),packageJson=await this.readPackageJson();else throw new Error(dedent`
|
|
32
|
-
There was an error while reading the package.json file at ${this.packageJsonPath()}: ${err.message}
|
|
33
|
-
Please fix the error and try again.
|
|
34
|
-
`)}return {...packageJson,dependencies:{...packageJson.dependencies},devDependencies:{...packageJson.devDependencies},peerDependencies:{...packageJson.peerDependencies}}}async getAllDependencies(){let{dependencies,devDependencies,peerDependencies}=await this.retrievePackageJson();return {...dependencies,...devDependencies,...peerDependencies}}async addDependencies(options,dependencies){let{skipInstall}=options;if(skipInstall){let{packageJson}=options,dependenciesMap=dependencies.reduce((acc,dep)=>{let[packageName,packageVersion]=getPackageDetails(dep);return {...acc,[packageName]:packageVersion}},{});options.installAsDevDependencies?packageJson.devDependencies={...packageJson.devDependencies,...dependenciesMap}:packageJson.dependencies={...packageJson.dependencies,...dependenciesMap},await this.writePackageJson(packageJson);}else try{await this.runAddDeps(dependencies,options.installAsDevDependencies);}catch(e){throw logger2.error("An error occurred while installing dependencies."),logger2.log(e.message),new HandledError(e)}}removeDependencies(options,dependencies){let{skipInstall}=options;if(skipInstall){let{packageJson}=options;dependencies.forEach(dep=>{packageJson.devDependencies&&delete packageJson.devDependencies[dep],packageJson.dependencies&&delete packageJson.dependencies[dep];}),this.writePackageJson(packageJson);}else try{this.runRemoveDeps(dependencies);}catch(e){throw logger2.error("An error occurred while removing dependencies."),logger2.log(e.message),new HandledError(e)}}getVersionedPackages(packages){return Promise.all(packages.map(async pkg=>{let[packageName,packageVersion]=getPackageDetails(pkg);return `${packageName}@${await this.getVersion(packageName,packageVersion)}`}))}getVersions(...packageNames){return Promise.all(packageNames.map(packageName=>this.getVersion(packageName)))}async getVersion(packageName,constraint){let current;/(@storybook|^sb$|^storybook$)/.test(packageName)&&(current=versions_default[packageName]);let latest;try{latest=await this.latestVersion(packageName,constraint);}catch(e){if(current)return logger2.warn(`
|
|
35
|
-
${chalk.yellow(e.message)}`),current;throw logger2.error(`
|
|
36
|
-
${chalk.red(e.message)}`),new HandledError(e)}return `^${current&&(!constraint||satisfies(current,constraint))&>(current,latest)?current:latest}`}async latestVersion(packageName,constraint){return constraint?(await this.runGetVersions(packageName,!0)).reverse().find(version=>satisfies(version,constraint)):this.runGetVersions(packageName,!1)}async addStorybookCommandInScripts(options){let storybookCmd=`storybook dev -p ${options?.port??6006}`,buildStorybookCmd="storybook build",preCommand=options?.preCommand?this.getRunCommand(options.preCommand):void 0;await this.addScripts({storybook:[preCommand,storybookCmd].filter(Boolean).join(" && "),"build-storybook":[preCommand,buildStorybookCmd].filter(Boolean).join(" && ")});}async addESLintConfig(){let packageJson=await this.retrievePackageJson();await this.writePackageJson({...packageJson,eslintConfig:{...packageJson.eslintConfig,overrides:[...packageJson.eslintConfig?.overrides||[],{files:["**/*.stories.*"],rules:{"import/no-anonymous-default-export":"off"}}]}});}async addScripts(scripts){let packageJson=await this.retrievePackageJson();await this.writePackageJson({...packageJson,scripts:{...packageJson.scripts,...scripts}});}async addPackageResolutions(versions){let packageJson=await this.retrievePackageJson(),resolutions=this.getResolutions(packageJson,versions);this.writePackageJson({...packageJson,...resolutions});}executeCommandSync({command,args=[],stdio,cwd,ignoreError=!1,env,...execaOptions}){try{return sync(command,args,{cwd:cwd??this.cwd,stdio:stdio??"pipe",encoding:"utf-8",shell:!0,env,...execaOptions}).stdout??""}catch(err){if(ignoreError!==!0)throw err;return ""}}async executeCommand({command: command$1,args=[],stdio,cwd,ignoreError=!1,env,...execaOptions}){try{return (await command([command$1,...args].join(" "),{cwd:cwd??this.cwd,stdio:stdio??"pipe",encoding:"utf-8",shell:!0,env,...execaOptions})).stdout??""}catch(err){if(ignoreError!==!0)throw err;return ""}}};var NPMProxy=class extends JsPackageManager{constructor(){super(...arguments);this.type="npm";}async initPackageJson(){await this.executeCommand({command:"npm",args:["init","-y"]});}getRunStorybookCommand(){return "npm run storybook"}getRunCommand(command){return `npm run ${command}`}async getNpmVersion(){return this.executeCommand({command:"npm",args:["--version"]})}getInstallArgs(){return this.installArgs||(this.installArgs=[]),this.installArgs}runPackageCommandSync(command,args,cwd,stdio){return this.executeCommandSync({command:"npm",args:["exec","--",command,...args],cwd,stdio})}async runPackageCommand(command,args,cwd){return this.executeCommand({command:"npm",args:["exec","--",command,...args],cwd})}async findInstallations(){let pipeToNull=platform()==="win32"?"2>NUL":"2>/dev/null",commandResult=await this.executeCommand({command:"npm",args:["ls","--json","--depth=99",pipeToNull],ignoreError:!0});try{let parsedOutput=JSON.parse(commandResult);return this.mapDependencies(parsedOutput)}catch{return}}getResolutions(packageJson,versions){return {overrides:{...packageJson.overrides,...versions}}}async runInstall(){await this.executeCommand({command:"npm",args:["install",...this.getInstallArgs()],stdio:"inherit"});}async runAddDeps(dependencies,installAsDevDependencies){let args=[...dependencies];installAsDevDependencies&&(args=["-D",...args]),await this.executeCommand({command:"npm",args:["install",...this.getInstallArgs(),...args],stdio:"inherit"});}async runRemoveDeps(dependencies){let args=[...dependencies];await this.executeCommand({command:"npm",args:["uninstall",...this.getInstallArgs(),...args],stdio:"inherit"});}async runGetVersions(packageName,fetchAllVersions){let args=[fetchAllVersions?"versions":"version","--json"],commandResult=await this.executeCommand({command:"npm",args:["info",packageName,...args]});try{let parsedOutput=JSON.parse(commandResult);if(parsedOutput.error)throw new Error(parsedOutput.error.summary);return parsedOutput}catch{throw new Error(`Unable to find versions of ${packageName} using npm`)}}mapDependencies(input){let acc={},existingVersions={},duplicatedDependencies={},recurse=([name,packageInfo])=>{if(!name||!name.includes("storybook"))return;let value={version:packageInfo.version,location:""};existingVersions[name]?.includes(value.version)||(acc[name]?acc[name].push(value):acc[name]=[value],existingVersions[name]=sort([...existingVersions[name]||[],value.version]),existingVersions[name].length>1&&(duplicatedDependencies[name]=existingVersions[name])),packageInfo.dependencies&&Object.entries(packageInfo.dependencies).forEach(recurse);};return Object.entries(input.dependencies).forEach(recurse),{dependencies:acc,duplicatedDependencies,infoCommand:"npm ls --depth=1"}}};var PNPMProxy=class extends JsPackageManager{constructor(){super(...arguments);this.type="pnpm";}detectWorkspaceRoot(){let pnpmWorkspaceYaml=`${process.cwd()}/pnpm-workspace.yaml`;return pathExistsSync(pnpmWorkspaceYaml)}async initPackageJson(){await this.executeCommand({command:"pnpm",args:["init","-y"]});}getRunStorybookCommand(){return "pnpm run storybook"}getRunCommand(command){return `pnpm run ${command}`}async getPnpmVersion(){return this.executeCommand({command:"pnpm",args:["--version"]})}getInstallArgs(){return this.installArgs||(this.installArgs=[],this.detectWorkspaceRoot()&&this.installArgs.push("-w")),this.installArgs}runPackageCommandSync(command,args,cwd,stdio){return this.executeCommandSync({command:"pnpm",args:["exec",command,...args],cwd,stdio})}async runPackageCommand(command,args,cwd){return this.executeCommand({command:"pnpm",args:["exec",command,...args],cwd})}async findInstallations(pattern){let commandResult=await this.executeCommand({command:"pnpm",args:["list",pattern.map(p=>`"${p}"`).join(" "),"--json","--depth=99"]});try{let parsedOutput=JSON.parse(commandResult);return this.mapDependencies(parsedOutput)}catch{return}}getResolutions(packageJson,versions){return {overrides:{...packageJson.overrides,...versions}}}async runInstall(){await this.executeCommand({command:"pnpm",args:["install",...this.getInstallArgs()],stdio:"inherit"});}async runAddDeps(dependencies,installAsDevDependencies){let args=[...dependencies];installAsDevDependencies&&(args=["-D",...args]),await this.executeCommand({command:"pnpm",args:["add",...args,...this.getInstallArgs()],stdio:"inherit"});}async runRemoveDeps(dependencies){let args=[...dependencies];await this.executeCommand({command:"pnpm",args:["remove",...args,...this.getInstallArgs()],stdio:"inherit"});}async runGetVersions(packageName,fetchAllVersions){let args=[fetchAllVersions?"versions":"version","--json"],commandResult=await this.executeCommand({command:"pnpm",args:["info",packageName,...args]});try{let parsedOutput=JSON.parse(commandResult);if(parsedOutput.error)throw new Error(parsedOutput.error.summary);return parsedOutput}catch{throw new Error(`Unable to find versions of ${packageName} using pnpm`)}}mapDependencies(input){let acc={},existingVersions={},duplicatedDependencies={},items=input.reduce((curr,item)=>{let{devDependencies,dependencies,peerDependencies}=item,allDependencies={...devDependencies,...dependencies,...peerDependencies};return Object.assign(curr,allDependencies)},{}),recurse=([name,packageInfo])=>{if(!name||!name.includes("storybook"))return;let value={version:packageInfo.version,location:""};existingVersions[name]?.includes(value.version)||(acc[name]?acc[name].push(value):acc[name]=[value],existingVersions[name]=[...existingVersions[name]||[],value.version],existingVersions[name].length>1&&(duplicatedDependencies[name]=existingVersions[name])),packageInfo.dependencies&&Object.entries(packageInfo.dependencies).forEach(recurse);};return Object.entries(items).forEach(recurse),{dependencies:acc,duplicatedDependencies,infoCommand:"pnpm list --depth=1"}}};var parsePackageData=(packageName="")=>{let[first,second,third]=packageName.trim().split("@"),version=(third||second).replace("npm:","");return {name:third?`@${second}`:first,value:{version,location:""}}};var Yarn2Proxy=class extends JsPackageManager{constructor(){super(...arguments);this.type="yarn2";}getInstallArgs(){return this.installArgs||(this.installArgs=[]),this.installArgs}async initPackageJson(){await this.executeCommand({command:"yarn",args:["init"]});}getRunStorybookCommand(){return "yarn storybook"}getRunCommand(command){return `yarn ${command}`}runPackageCommandSync(command,args,cwd,stdio){return this.executeCommandSync({command:"yarn",args:[command,...args],cwd,stdio})}async runPackageCommand(command,args,cwd){return this.executeCommand({command:"yarn",args:[command,...args],cwd})}async findInstallations(pattern){let commandResult=await this.executeCommand({command:"yarn",args:["info","--name-only","--recursive",pattern.map(p=>`"${p}"`).join(" "),`"${pattern}"`]});try{return this.mapDependencies(commandResult)}catch{return}}getResolutions(packageJson,versions){return {resolutions:{...packageJson.resolutions,...versions}}}async runInstall(){await this.executeCommand({command:"yarn",args:["install",...this.getInstallArgs()],stdio:"inherit"});}async runAddDeps(dependencies,installAsDevDependencies){let args=[...dependencies];installAsDevDependencies&&(args=["-D",...args]),await this.executeCommand({command:"yarn",args:["add",...this.getInstallArgs(),...args],stdio:"inherit"});}async runRemoveDeps(dependencies){let args=[...dependencies];await this.executeCommand({command:"yarn",args:["remove",...this.getInstallArgs(),...args],stdio:"inherit"});}async runGetVersions(packageName,fetchAllVersions){let field=fetchAllVersions?"versions":"version",args=["--fields",field,"--json"],commandResult=await this.executeCommand({command:"yarn",args:["npm","info",packageName,...args]});try{return JSON.parse(commandResult)[field]}catch{throw new Error(`Unable to find versions of ${packageName} using yarn 2`)}}mapDependencies(input){let lines=input.split(`
|
|
37
|
-
`),acc={},existingVersions={},duplicatedDependencies={};return lines.forEach(packageName=>{if(!packageName||!packageName.includes("storybook"))return;let{name,value}=parsePackageData(packageName.replaceAll('"',""));existingVersions[name]?.includes(value.version)||(acc[name]?acc[name].push(value):acc[name]=[value],existingVersions[name]=[...existingVersions[name]||[],value.version],existingVersions[name].length>1&&(duplicatedDependencies[name]=existingVersions[name]));}),{dependencies:acc,duplicatedDependencies,infoCommand:"yarn why"}}};var Yarn1Proxy=class extends JsPackageManager{constructor(){super(...arguments);this.type="yarn1";}getInstallArgs(){return this.installArgs||(this.installArgs=["--ignore-workspace-root-check"]),this.installArgs}async initPackageJson(){await this.executeCommand({command:"yarn",args:["init","-y"]});}getRunStorybookCommand(){return "yarn storybook"}getRunCommand(command){return `yarn ${command}`}runPackageCommandSync(command,args,cwd,stdio){return this.executeCommandSync({command:"yarn",args:[command,...args],cwd,stdio})}async runPackageCommand(command,args,cwd){return this.executeCommand({command:"yarn",args:[command,...args],cwd})}async findInstallations(pattern){let commandResult=await this.executeCommand({command:"yarn",args:["list","--pattern",pattern.map(p=>`"${p}"`).join(" "),"--recursive","--json"]});try{let parsedOutput=JSON.parse(commandResult);return this.mapDependencies(parsedOutput)}catch{return}}getResolutions(packageJson,versions){return {resolutions:{...packageJson.resolutions,...versions}}}async runInstall(){await this.executeCommand({command:"yarn",args:["install",...this.getInstallArgs()],stdio:"inherit"});}async runAddDeps(dependencies,installAsDevDependencies){let args=[...dependencies];installAsDevDependencies&&(args=["-D",...args]),await this.executeCommand({command:"yarn",args:["add",...this.getInstallArgs(),...args],stdio:"inherit"});}async runRemoveDeps(dependencies){let args=[...dependencies];await this.executeCommand({command:"yarn",args:["remove",...this.getInstallArgs(),...args],stdio:"inherit"});}async runGetVersions(packageName,fetchAllVersions){let args=[fetchAllVersions?"versions":"version","--json"],commandResult=await this.executeCommand({command:"yarn",args:["info",packageName,...args]});try{let parsedOutput=JSON.parse(commandResult);if(parsedOutput.type==="inspect")return parsedOutput.data;throw new Error(`Unable to find versions of ${packageName} using yarn`)}catch{throw new Error(`Unable to find versions of ${packageName} using yarn`)}}mapDependencies(input){if(input.type==="tree"){let{trees}=input.data,acc={},existingVersions={},duplicatedDependencies={},recurse=tree=>{let{children}=tree,{name,value}=parsePackageData(tree.name);!name||!name.includes("storybook")||(existingVersions[name]?.includes(value.version)||(acc[name]?acc[name].push(value):acc[name]=[value],existingVersions[name]=[...existingVersions[name]||[],value.version],existingVersions[name].length>1&&(duplicatedDependencies[name]=existingVersions[name])),children.forEach(recurse));};return trees.forEach(recurse),{dependencies:acc,duplicatedDependencies,infoCommand:"yarn why"}}throw new Error("Something went wrong while parsing yarn output")}};var NPM_LOCKFILE="package-lock.json",PNPM_LOCKFILE="pnpm-lock.yaml",YARN_LOCKFILE="yarn.lock",JsPackageManagerFactory=class{static getPackageManager({force}={},cwd){if(force==="npm")return new NPMProxy({cwd});if(force==="pnpm")return new PNPMProxy({cwd});if(force==="yarn1")return new Yarn1Proxy({cwd});if(force==="yarn2")return new Yarn2Proxy({cwd});let yarnVersion=getYarnVersion(cwd),closestLockfilePath=sync$1([YARN_LOCKFILE,PNPM_LOCKFILE,NPM_LOCKFILE],{cwd}),closestLockfile=closestLockfilePath&&path.basename(closestLockfilePath),hasNPMCommand=hasNPM(cwd),hasPNPMCommand=hasPNPM(cwd);if(yarnVersion&&(closestLockfile===YARN_LOCKFILE||!hasNPMCommand&&!hasPNPMCommand))return yarnVersion===1?new Yarn1Proxy({cwd}):new Yarn2Proxy({cwd});if(hasPNPMCommand&&closestLockfile===PNPM_LOCKFILE)return new PNPMProxy({cwd});if(hasNPMCommand)return new NPMProxy({cwd});throw new Error("Unable to find a usable package manager within NPM, PNPM, Yarn and Yarn 2")}};function hasNPM(cwd){return sync$2("npm",["--version"],{cwd,shell:!0}).status===0}function hasPNPM(cwd){return sync$2("pnpm",["--version"],{cwd,shell:!0}).status===0}function getYarnVersion(cwd){let yarnVersionCommand=sync$2("yarn",["--version"],{cwd,shell:!0});if(yarnVersionCommand.status!==0)return;let yarnVersion=yarnVersionCommand.output.toString().replace(/,/g,"").replace(/"/g,"");return /^1\.+/.test(yarnVersion)?1:2}function parseList(str){return str.split(",").map(item=>item.trim()).filter(item=>item.length>0)}function getEnvConfig(program,configEnv){Object.keys(configEnv).forEach(fieldName=>{let envVarName=configEnv[fieldName],envVarValue=process.env[envVarName];envVarValue&&(program[fieldName]=envVarValue);});}
|
|
38
|
-
|
|
39
|
-
export { HandledError, JsPackageManager, JsPackageManagerFactory, __require, codeLog, commandLog, copyTemplate, copyTemplateFiles, externalFrameworks, getBabelDependencies, getBowerJson, getCliDir, getEnvConfig, getPackageDetails, getStorybookVersionSpecifier, installableProjectTypes, isNxProject, paddedLog, parseList, readFileAsJson, supportedTemplates, unsupportedTemplate, useNpmWarning, versions_default, writeFileAsJson };
|