@storybook/cli 7.1.0-alpha.13 → 7.1.0-alpha.15
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-UOXMKBZZ.mjs +39 -0
- package/dist/generate.js +67 -64
- package/dist/generate.mjs +32 -32
- package/dist/index.d.ts +32 -19
- package/dist/index.js +8 -5
- package/dist/index.mjs +1 -1
- package/package.json +10 -10
- package/rendererAssets/common/header.css +5 -5
- package/rendererAssets/common/page.css +10 -10
- package/dist/chunk-VJGD3C7H.mjs +0 -34
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CommonOptions } from 'execa';
|
|
1
2
|
import { PackageJson } from '@storybook/types';
|
|
2
3
|
export { PackageJson } from '@storybook/types';
|
|
3
4
|
|
|
@@ -126,26 +127,26 @@ interface JsPackageManagerOptions {
|
|
|
126
127
|
}
|
|
127
128
|
declare abstract class JsPackageManager {
|
|
128
129
|
abstract readonly type: PackageManagerName;
|
|
129
|
-
abstract initPackageJson(): void
|
|
130
|
+
abstract initPackageJson(): Promise<void>;
|
|
130
131
|
abstract getRunStorybookCommand(): string;
|
|
131
132
|
abstract getRunCommand(command: string): string;
|
|
132
|
-
setRegistryURL(url: string): void;
|
|
133
|
-
getRegistryURL(): string;
|
|
134
133
|
readonly cwd?: string;
|
|
134
|
+
setRegistryURL(url: string): Promise<void>;
|
|
135
|
+
getRegistryURL(): Promise<string>;
|
|
135
136
|
constructor(options?: JsPackageManagerOptions);
|
|
136
137
|
/**
|
|
137
138
|
* Install dependencies listed in `package.json`
|
|
138
139
|
*/
|
|
139
|
-
installDependencies(): void
|
|
140
|
+
installDependencies(): Promise<void>;
|
|
140
141
|
packageJsonPath(): string;
|
|
141
|
-
readPackageJson(): PackageJson
|
|
142
|
-
writePackageJson(packageJson: PackageJson): void
|
|
142
|
+
readPackageJson(): Promise<PackageJson>;
|
|
143
|
+
writePackageJson(packageJson: PackageJson): Promise<void>;
|
|
143
144
|
/**
|
|
144
145
|
* Read the `package.json` file available in the directory the command was call from
|
|
145
146
|
* If there is no `package.json` it will create one.
|
|
146
147
|
*/
|
|
147
|
-
retrievePackageJson(): PackageJsonWithDepsAndDevDeps
|
|
148
|
-
getAllDependencies(): Record<string, string
|
|
148
|
+
retrievePackageJson(): Promise<PackageJsonWithDepsAndDevDeps>;
|
|
149
|
+
getAllDependencies(): Promise<Record<string, string>>;
|
|
149
150
|
/**
|
|
150
151
|
* Add dependencies to a project using `yarn add` or `npm install`.
|
|
151
152
|
*
|
|
@@ -163,7 +164,7 @@ declare abstract class JsPackageManager {
|
|
|
163
164
|
skipInstall?: boolean;
|
|
164
165
|
installAsDevDependencies?: boolean;
|
|
165
166
|
packageJson?: PackageJson;
|
|
166
|
-
}, dependencies: string[]): void
|
|
167
|
+
}, dependencies: string[]): Promise<void>;
|
|
167
168
|
/**
|
|
168
169
|
* Remove dependencies from a project using `yarn remove` or `npm uninstall`.
|
|
169
170
|
*
|
|
@@ -213,13 +214,13 @@ declare abstract class JsPackageManager {
|
|
|
213
214
|
addStorybookCommandInScripts(options?: {
|
|
214
215
|
port: number;
|
|
215
216
|
preCommand?: string;
|
|
216
|
-
}): void
|
|
217
|
-
addESLintConfig(): void
|
|
218
|
-
addScripts(scripts: Record<string, string>): void
|
|
219
|
-
addPackageResolutions(versions: Record<string, string>): void
|
|
220
|
-
protected abstract runInstall(): void
|
|
221
|
-
protected abstract runAddDeps(dependencies: string[], installAsDevDependencies: boolean): void
|
|
222
|
-
protected abstract runRemoveDeps(dependencies: string[]): void
|
|
217
|
+
}): Promise<void>;
|
|
218
|
+
addESLintConfig(): Promise<void>;
|
|
219
|
+
addScripts(scripts: Record<string, string>): Promise<void>;
|
|
220
|
+
addPackageResolutions(versions: Record<string, string>): Promise<void>;
|
|
221
|
+
protected abstract runInstall(): Promise<void>;
|
|
222
|
+
protected abstract runAddDeps(dependencies: string[], installAsDevDependencies: boolean): Promise<void>;
|
|
223
|
+
protected abstract runRemoveDeps(dependencies: string[]): Promise<void>;
|
|
223
224
|
protected abstract getResolutions(packageJson: PackageJson, versions: Record<string, string>): Record<string, any>;
|
|
224
225
|
/**
|
|
225
226
|
* Get the latest or all versions of the input package available on npmjs.com
|
|
@@ -228,9 +229,21 @@ declare abstract class JsPackageManager {
|
|
|
228
229
|
* @param fetchAllVersions Should return
|
|
229
230
|
*/
|
|
230
231
|
protected abstract runGetVersions<T extends boolean>(packageName: string, fetchAllVersions: T): Promise<T extends true ? string[] : string>;
|
|
231
|
-
abstract runPackageCommand(command: string, args: string[], cwd?: string): string
|
|
232
|
-
abstract
|
|
233
|
-
|
|
232
|
+
abstract runPackageCommand(command: string, args: string[], cwd?: string): Promise<string>;
|
|
233
|
+
abstract runPackageCommandSync(command: string, args: string[], cwd?: string): string;
|
|
234
|
+
abstract findInstallations(pattern?: string[]): Promise<InstallationMetadata | undefined>;
|
|
235
|
+
executeCommandSync({ command, args, stdio, cwd, ignoreError, env, ...execaOptions }: CommonOptions<string> & {
|
|
236
|
+
command: string;
|
|
237
|
+
args: string[];
|
|
238
|
+
cwd?: string;
|
|
239
|
+
ignoreError?: boolean;
|
|
240
|
+
}): string;
|
|
241
|
+
executeCommand({ command, args, stdio, cwd, ignoreError, env, ...execaOptions }: CommonOptions<string> & {
|
|
242
|
+
command: string;
|
|
243
|
+
args: string[];
|
|
244
|
+
cwd?: string;
|
|
245
|
+
ignoreError?: boolean;
|
|
246
|
+
}): Promise<string>;
|
|
234
247
|
}
|
|
235
248
|
|
|
236
249
|
declare class JsPackageManagerFactory {
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
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.15","@storybook/addon-actions":"7.1.0-alpha.15","@storybook/addon-backgrounds":"7.1.0-alpha.15","@storybook/addon-controls":"7.1.0-alpha.15","@storybook/addon-docs":"7.1.0-alpha.15","@storybook/addon-essentials":"7.1.0-alpha.15","@storybook/addon-highlight":"7.1.0-alpha.15","@storybook/addon-interactions":"7.1.0-alpha.15","@storybook/addon-jest":"7.1.0-alpha.15","@storybook/addon-links":"7.1.0-alpha.15","@storybook/addon-mdx-gfm":"7.1.0-alpha.15","@storybook/addon-measure":"7.1.0-alpha.15","@storybook/addon-outline":"7.1.0-alpha.15","@storybook/addon-storyshots":"7.1.0-alpha.15","@storybook/addon-storyshots-puppeteer":"7.1.0-alpha.15","@storybook/addon-storysource":"7.1.0-alpha.15","@storybook/addon-toolbars":"7.1.0-alpha.15","@storybook/addon-viewport":"7.1.0-alpha.15","@storybook/addons":"7.1.0-alpha.15","@storybook/angular":"7.1.0-alpha.15","@storybook/api":"7.1.0-alpha.15","@storybook/blocks":"7.1.0-alpha.15","@storybook/builder-manager":"7.1.0-alpha.15","@storybook/builder-vite":"7.1.0-alpha.15","@storybook/builder-webpack5":"7.1.0-alpha.15","@storybook/channel-postmessage":"7.1.0-alpha.15","@storybook/channel-websocket":"7.1.0-alpha.15","@storybook/channels":"7.1.0-alpha.15","@storybook/cli":"7.1.0-alpha.15","@storybook/client-api":"7.1.0-alpha.15","@storybook/client-logger":"7.1.0-alpha.15","@storybook/codemod":"7.1.0-alpha.15","@storybook/components":"7.1.0-alpha.15","@storybook/core-client":"7.1.0-alpha.15","@storybook/core-common":"7.1.0-alpha.15","@storybook/core-events":"7.1.0-alpha.15","@storybook/core-server":"7.1.0-alpha.15","@storybook/core-webpack":"7.1.0-alpha.15","@storybook/csf-plugin":"7.1.0-alpha.15","@storybook/csf-tools":"7.1.0-alpha.15","@storybook/docs-tools":"7.1.0-alpha.15","@storybook/ember":"7.1.0-alpha.15","@storybook/html":"7.1.0-alpha.15","@storybook/html-vite":"7.1.0-alpha.15","@storybook/html-webpack5":"7.1.0-alpha.15","@storybook/instrumenter":"7.1.0-alpha.15","@storybook/manager":"7.1.0-alpha.15","@storybook/manager-api":"7.1.0-alpha.15","@storybook/nextjs":"7.1.0-alpha.15","@storybook/node-logger":"7.1.0-alpha.15","@storybook/postinstall":"7.1.0-alpha.15","@storybook/preact":"7.1.0-alpha.15","@storybook/preact-vite":"7.1.0-alpha.15","@storybook/preact-webpack5":"7.1.0-alpha.15","@storybook/preset-create-react-app":"7.1.0-alpha.15","@storybook/preset-html-webpack":"7.1.0-alpha.15","@storybook/preset-preact-webpack":"7.1.0-alpha.15","@storybook/preset-react-webpack":"7.1.0-alpha.15","@storybook/preset-server-webpack":"7.1.0-alpha.15","@storybook/preset-svelte-webpack":"7.1.0-alpha.15","@storybook/preset-vue-webpack":"7.1.0-alpha.15","@storybook/preset-vue3-webpack":"7.1.0-alpha.15","@storybook/preset-web-components-webpack":"7.1.0-alpha.15","@storybook/preview":"7.1.0-alpha.15","@storybook/preview-api":"7.1.0-alpha.15","@storybook/preview-web":"7.1.0-alpha.15","@storybook/react":"7.1.0-alpha.15","@storybook/react-dom-shim":"7.1.0-alpha.15","@storybook/react-vite":"7.1.0-alpha.15","@storybook/react-webpack5":"7.1.0-alpha.15","@storybook/router":"7.1.0-alpha.15","@storybook/server":"7.1.0-alpha.15","@storybook/server-webpack5":"7.1.0-alpha.15","@storybook/source-loader":"7.1.0-alpha.15","@storybook/store":"7.1.0-alpha.15","@storybook/svelte":"7.1.0-alpha.15","@storybook/svelte-vite":"7.1.0-alpha.15","@storybook/svelte-webpack5":"7.1.0-alpha.15","@storybook/sveltekit":"7.1.0-alpha.15","@storybook/telemetry":"7.1.0-alpha.15","@storybook/theming":"7.1.0-alpha.15","@storybook/types":"7.1.0-alpha.15","@storybook/vue":"7.1.0-alpha.15","@storybook/vue-vite":"7.1.0-alpha.15","@storybook/vue-webpack5":"7.1.0-alpha.15","@storybook/vue3":"7.1.0-alpha.15","@storybook/vue3-vite":"7.1.0-alpha.15","@storybook/vue3-webpack5":"7.1.0-alpha.15","@storybook/web-components":"7.1.0-alpha.15","@storybook/web-components-vite":"7.1.0-alpha.15","@storybook/web-components-webpack5":"7.1.0-alpha.15",sb:"7.1.0-alpha.15",storybook:"7.1.0-alpha.15"};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.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 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(`
|
|
5
5
|
`);logger.error(`${newErrorInfo}
|
|
6
6
|
`);return}process.stdout.write(`. ${import_chalk.default.green("\u2713")}
|
|
7
|
-
`)});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{setRegistryURL(url){url?this.executeCommand("npm",["config","set","registry",url]):this.executeCommand("npm",["config","delete","registry"])}getRegistryURL(){let url=this.executeCommand("npm",["config","get","registry"]).trim();return url==="undefined"?void 0:url}constructor(options){this.cwd=options==null?void 0:options.cwd}installDependencies(){let done=commandLog("Preparing to install dependencies");done(),logger2.log(),logger2.log(),done=commandLog("Installing dependencies");try{this.runInstall()}catch(e){throw done("An error occurred while installing dependencies."),new HandledError(e)}done()}packageJsonPath(){return this.cwd?import_path.default.resolve(this.cwd,"package.json"):import_path.default.resolve("package.json")}readPackageJson(){let packageJsonPath=this.packageJsonPath();if(!import_fs.default.existsSync(packageJsonPath))throw new Error(`Could not read package.json file at ${packageJsonPath}`);let jsonContent=
|
|
8
|
-
`;
|
|
7
|
+
`)});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==null?void 0: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?import_path.default.resolve(this.cwd,"package.json"):import_path.default.resolve("package.json")}async readPackageJson(){let packageJsonPath=this.packageJsonPath();if(!import_fs.default.existsSync(packageJsonPath))throw new Error(`Could not read package.json file at ${packageJsonPath}`);let jsonContent=await(0,import_fs_extra2.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)}
|
|
8
|
+
`;await(0,import_fs_extra2.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(import_ts_dedent.default`
|
|
9
|
+
There was an error while reading the package.json file at ${this.packageJsonPath()}: ${err.message}
|
|
10
|
+
Please fix the error and try again.
|
|
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(`
|
|
9
12
|
${import_chalk2.default.yellow(e.message)}`),current;throw logger2.error(`
|
|
10
|
-
${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)}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;this.addScripts({storybook:[preCommand,storybookCmd].filter(Boolean).join(" && "),"build-storybook":[preCommand,buildStorybookCmd].filter(Boolean).join(" && ")})}addESLintConfig(){var _a;let packageJson=this.retrievePackageJson();this.writePackageJson({...packageJson,eslintConfig:{...packageJson.eslintConfig,overrides:[...((_a=packageJson.eslintConfig)==null?void 0:_a.overrides)||[],{files:["**/*.stories.*"],rules:{"import/no-anonymous-default-export":"off"}}]}})}addScripts(scripts){let packageJson=this.retrievePackageJson();this.writePackageJson({...packageJson,scripts:{...packageJson.scripts,...scripts}})}addPackageResolutions(versions){let packageJson=this.retrievePackageJson(),resolutions=this.getResolutions(packageJson,versions);this.writePackageJson({...packageJson,...resolutions})}executeCommand(command,args,stdio,cwd,ignoreError){let commandResult=(0,import_cross_spawn.sync)(command,args,{cwd:cwd??this.cwd,stdio:stdio??"pipe",encoding:"utf-8",shell:!0});if(commandResult.status!==0&&ignoreError!==!0)throw new Error(commandResult.stderr??"");return commandResult.stdout??""}};var NPMProxy=class extends JsPackageManager{constructor(){super(...arguments);this.type="npm"}initPackageJson(){return this.executeCommand("npm",["init","-y"])}getRunStorybookCommand(){return"npm run storybook"}getRunCommand(command){return`npm run ${command}`}getNpmVersion(){return this.executeCommand("npm",["--version"])}getInstallArgs(){return this.installArgs||(this.installArgs=[]),this.installArgs}runPackageCommand(command,args,cwd){return this.executeCommand("npm",["exec","--",command,...args],void 0,cwd)}findInstallations(){let pipeToNull=(0,import_os.platform)()==="win32"?"2>NUL":"2>/dev/null",commandResult=this.executeCommand("npm",["ls","--json","--depth=99",pipeToNull],void 0,void 0,!0);try{let parsedOutput=JSON.parse(commandResult);return this.mapDependencies(parsedOutput)}catch{return}}getResolutions(packageJson,versions){return{overrides:{...packageJson.overrides,...versions}}}runInstall(){this.executeCommand("npm",["install",...this.getInstallArgs()],"inherit")}runAddDeps(dependencies,installAsDevDependencies){let args=[...dependencies];installAsDevDependencies&&(args=["-D",...args]),this.executeCommand("npm",["install",...this.getInstallArgs(),...args],"inherit")}runRemoveDeps(dependencies){let args=[...dependencies];this.executeCommand("npm",["uninstall",...this.getInstallArgs(),...args],"inherit")}runGetVersions(packageName,fetchAllVersions){let args=[fetchAllVersions?"versions":"version","--json"],commandResult=this.executeCommand("npm",["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_extra2=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_extra2.pathExistsSync)(pnpmWorkspaceYaml)}initPackageJson(){return this.executeCommand("pnpm",["init","-y"])}getRunStorybookCommand(){return"pnpm run storybook"}getRunCommand(command){return`pnpm run ${command}`}getPnpmVersion(){return this.executeCommand("pnpm",["--version"])}getInstallArgs(){return this.installArgs||(this.installArgs=[],this.detectWorkspaceRoot()&&this.installArgs.push("-w")),this.installArgs}runPackageCommand(command,args,cwd){return this.executeCommand("pnpm",["exec",command,...args],void 0,cwd)}findInstallations(pattern){let commandResult=this.executeCommand("pnpm",["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}}}runInstall(){this.executeCommand("pnpm",["install",...this.getInstallArgs()],"inherit")}runAddDeps(dependencies,installAsDevDependencies){let args=[...dependencies];installAsDevDependencies&&(args=["-D",...args]),this.executeCommand("pnpm",["add",...args,...this.getInstallArgs()],"inherit")}runRemoveDeps(dependencies){let args=[...dependencies];this.executeCommand("pnpm",["remove",...args,...this.getInstallArgs()],"inherit")}runGetVersions(packageName,fetchAllVersions){let args=[fetchAllVersions?"versions":"version","--json"],commandResult=this.executeCommand("pnpm",["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}initPackageJson(){return this.executeCommand("yarn",["init"])}getRunStorybookCommand(){return"yarn storybook"}getRunCommand(command){return`yarn ${command}`}runPackageCommand(command,args,cwd){return this.executeCommand("yarn",[command,...args],void 0,cwd)}findInstallations(pattern){let commandResult=this.executeCommand("yarn",["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}}}runInstall(){this.executeCommand("yarn",["install",...this.getInstallArgs()],"inherit")}runAddDeps(dependencies,installAsDevDependencies){let args=[...dependencies];installAsDevDependencies&&(args=["-D",...args]),this.executeCommand("yarn",["add",...this.getInstallArgs(),...args],"inherit")}runRemoveDeps(dependencies){let args=[...dependencies];this.executeCommand("yarn",["remove",...this.getInstallArgs(),...args],"inherit")}runGetVersions(packageName,fetchAllVersions){let field=fetchAllVersions?"versions":"version",args=["--fields",field,"--json"],commandResult=this.executeCommand("yarn",["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(`
|
|
11
|
-
`),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}initPackageJson(){
|
|
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){return this.executeCommandSync({command:"npm",args:["exec","--",command,...args],cwd})}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){return this.executeCommandSync({command:"pnpm",args:["exec",command,...args],cwd})}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){return this.executeCommandSync({command:"yarn",args:[command,...args],cwd})}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
|
+
`),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){return this.executeCommandSync({command:"yarn",args:[command,...args],cwd})}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-UOXMKBZZ.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.15",
|
|
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.15",
|
|
61
|
+
"@storybook/core-common": "7.1.0-alpha.15",
|
|
62
|
+
"@storybook/core-server": "7.1.0-alpha.15",
|
|
63
|
+
"@storybook/csf-tools": "7.1.0-alpha.15",
|
|
64
|
+
"@storybook/node-logger": "7.1.0-alpha.15",
|
|
65
|
+
"@storybook/telemetry": "7.1.0-alpha.15",
|
|
66
|
+
"@storybook/types": "7.1.0-alpha.15",
|
|
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.15",
|
|
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": "b8b1b7949c095a8fccfca6f1f3192b4203020485"
|
|
119
119
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.
|
|
1
|
+
.storybook-header {
|
|
2
2
|
font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
|
3
3
|
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
|
|
4
4
|
padding: 15px 20px;
|
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
justify-content: space-between;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
-
svg {
|
|
10
|
+
.storybook-header svg {
|
|
11
11
|
display: inline-block;
|
|
12
12
|
vertical-align: top;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
h1 {
|
|
15
|
+
.storybook-header h1 {
|
|
16
16
|
font-weight: 700;
|
|
17
17
|
font-size: 20px;
|
|
18
18
|
line-height: 1;
|
|
@@ -21,11 +21,11 @@ h1 {
|
|
|
21
21
|
vertical-align: top;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
button + button {
|
|
24
|
+
.storybook-header button + button {
|
|
25
25
|
margin-left: 10px;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
.welcome {
|
|
28
|
+
.storybook-header .welcome {
|
|
29
29
|
color: #333;
|
|
30
30
|
font-size: 14px;
|
|
31
31
|
margin-right: 10px;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
.storybook-page {
|
|
2
2
|
font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
|
3
3
|
font-size: 14px;
|
|
4
4
|
line-height: 24px;
|
|
@@ -8,7 +8,7 @@ section {
|
|
|
8
8
|
color: #333;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
.storybook-page h2 {
|
|
12
12
|
font-weight: 700;
|
|
13
13
|
font-size: 32px;
|
|
14
14
|
line-height: 1;
|
|
@@ -17,25 +17,25 @@ section h2 {
|
|
|
17
17
|
vertical-align: top;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
.storybook-page p {
|
|
21
21
|
margin: 1em 0;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
.storybook-page a {
|
|
25
25
|
text-decoration: none;
|
|
26
26
|
color: #1ea7fd;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
.storybook-page ul {
|
|
30
30
|
padding-left: 30px;
|
|
31
31
|
margin: 1em 0;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
.storybook-page li {
|
|
35
35
|
margin-bottom: 8px;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
.storybook-page .tip {
|
|
39
39
|
display: inline-block;
|
|
40
40
|
border-radius: 1em;
|
|
41
41
|
font-size: 11px;
|
|
@@ -48,14 +48,14 @@ section .tip {
|
|
|
48
48
|
vertical-align: top;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
.storybook-page .tip-wrapper {
|
|
52
52
|
font-size: 13px;
|
|
53
53
|
line-height: 20px;
|
|
54
54
|
margin-top: 40px;
|
|
55
55
|
margin-bottom: 40px;
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
.storybook-page .tip-wrapper svg {
|
|
59
59
|
display: inline-block;
|
|
60
60
|
height: 12px;
|
|
61
61
|
width: 12px;
|
|
@@ -64,6 +64,6 @@ section .tip-wrapper svg {
|
|
|
64
64
|
margin-top: 3px;
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
|
|
67
|
+
.storybook-page .tip-wrapper svg path {
|
|
68
68
|
fill: #1ea7fd;
|
|
69
69
|
}
|
package/dist/chunk-VJGD3C7H.mjs
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import deprecate from 'util-deprecate';
|
|
2
|
-
import chalk from 'chalk';
|
|
3
|
-
import { satisfies, gt, validRange, minVersion } from 'semver';
|
|
4
|
-
import { sync } from 'cross-spawn';
|
|
5
|
-
import path, { dirname, join } from 'path';
|
|
6
|
-
import fs from 'fs';
|
|
7
|
-
import fse, { pathExistsSync } from 'fs-extra';
|
|
8
|
-
import stripJsonComments from 'strip-json-comments';
|
|
9
|
-
import downloadTarball from '@ndelangen/get-tarball';
|
|
10
|
-
import getNpmTarballUrl from 'get-npm-tarball-url';
|
|
11
|
-
import * as tempy from 'tempy';
|
|
12
|
-
import { sync as sync$1 } from 'find-up';
|
|
13
|
-
import sort from 'semver/functions/sort';
|
|
14
|
-
import { platform } from 'os';
|
|
15
|
-
|
|
16
|
-
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.13","@storybook/addon-actions":"7.1.0-alpha.13","@storybook/addon-backgrounds":"7.1.0-alpha.13","@storybook/addon-controls":"7.1.0-alpha.13","@storybook/addon-docs":"7.1.0-alpha.13","@storybook/addon-essentials":"7.1.0-alpha.13","@storybook/addon-highlight":"7.1.0-alpha.13","@storybook/addon-interactions":"7.1.0-alpha.13","@storybook/addon-jest":"7.1.0-alpha.13","@storybook/addon-links":"7.1.0-alpha.13","@storybook/addon-mdx-gfm":"7.1.0-alpha.13","@storybook/addon-measure":"7.1.0-alpha.13","@storybook/addon-outline":"7.1.0-alpha.13","@storybook/addon-storyshots":"7.1.0-alpha.13","@storybook/addon-storyshots-puppeteer":"7.1.0-alpha.13","@storybook/addon-storysource":"7.1.0-alpha.13","@storybook/addon-toolbars":"7.1.0-alpha.13","@storybook/addon-viewport":"7.1.0-alpha.13","@storybook/addons":"7.1.0-alpha.13","@storybook/angular":"7.1.0-alpha.13","@storybook/api":"7.1.0-alpha.13","@storybook/blocks":"7.1.0-alpha.13","@storybook/builder-manager":"7.1.0-alpha.13","@storybook/builder-vite":"7.1.0-alpha.13","@storybook/builder-webpack5":"7.1.0-alpha.13","@storybook/channel-postmessage":"7.1.0-alpha.13","@storybook/channel-websocket":"7.1.0-alpha.13","@storybook/channels":"7.1.0-alpha.13","@storybook/cli":"7.1.0-alpha.13","@storybook/client-api":"7.1.0-alpha.13","@storybook/client-logger":"7.1.0-alpha.13","@storybook/codemod":"7.1.0-alpha.13","@storybook/components":"7.1.0-alpha.13","@storybook/core-client":"7.1.0-alpha.13","@storybook/core-common":"7.1.0-alpha.13","@storybook/core-events":"7.1.0-alpha.13","@storybook/core-server":"7.1.0-alpha.13","@storybook/core-webpack":"7.1.0-alpha.13","@storybook/csf-plugin":"7.1.0-alpha.13","@storybook/csf-tools":"7.1.0-alpha.13","@storybook/docs-tools":"7.1.0-alpha.13","@storybook/ember":"7.1.0-alpha.13","@storybook/html":"7.1.0-alpha.13","@storybook/html-vite":"7.1.0-alpha.13","@storybook/html-webpack5":"7.1.0-alpha.13","@storybook/instrumenter":"7.1.0-alpha.13","@storybook/manager":"7.1.0-alpha.13","@storybook/manager-api":"7.1.0-alpha.13","@storybook/nextjs":"7.1.0-alpha.13","@storybook/node-logger":"7.1.0-alpha.13","@storybook/postinstall":"7.1.0-alpha.13","@storybook/preact":"7.1.0-alpha.13","@storybook/preact-vite":"7.1.0-alpha.13","@storybook/preact-webpack5":"7.1.0-alpha.13","@storybook/preset-create-react-app":"7.1.0-alpha.13","@storybook/preset-html-webpack":"7.1.0-alpha.13","@storybook/preset-preact-webpack":"7.1.0-alpha.13","@storybook/preset-react-webpack":"7.1.0-alpha.13","@storybook/preset-server-webpack":"7.1.0-alpha.13","@storybook/preset-svelte-webpack":"7.1.0-alpha.13","@storybook/preset-vue-webpack":"7.1.0-alpha.13","@storybook/preset-vue3-webpack":"7.1.0-alpha.13","@storybook/preset-web-components-webpack":"7.1.0-alpha.13","@storybook/preview":"7.1.0-alpha.13","@storybook/preview-api":"7.1.0-alpha.13","@storybook/preview-web":"7.1.0-alpha.13","@storybook/react":"7.1.0-alpha.13","@storybook/react-dom-shim":"7.1.0-alpha.13","@storybook/react-vite":"7.1.0-alpha.13","@storybook/react-webpack5":"7.1.0-alpha.13","@storybook/router":"7.1.0-alpha.13","@storybook/server":"7.1.0-alpha.13","@storybook/server-webpack5":"7.1.0-alpha.13","@storybook/source-loader":"7.1.0-alpha.13","@storybook/store":"7.1.0-alpha.13","@storybook/svelte":"7.1.0-alpha.13","@storybook/svelte-vite":"7.1.0-alpha.13","@storybook/svelte-webpack5":"7.1.0-alpha.13","@storybook/sveltekit":"7.1.0-alpha.13","@storybook/telemetry":"7.1.0-alpha.13","@storybook/theming":"7.1.0-alpha.13","@storybook/types":"7.1.0-alpha.13","@storybook/vue":"7.1.0-alpha.13","@storybook/vue-vite":"7.1.0-alpha.13","@storybook/vue-webpack5":"7.1.0-alpha.13","@storybook/vue3":"7.1.0-alpha.13","@storybook/vue3-vite":"7.1.0-alpha.13","@storybook/vue3-webpack5":"7.1.0-alpha.13","@storybook/web-components":"7.1.0-alpha.13","@storybook/web-components-vite":"7.1.0-alpha.13","@storybook/web-components-webpack5":"7.1.0-alpha.13",sb:"7.1.0-alpha.13",storybook:"7.1.0-alpha.13"};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"}],SUPPORTED_RENDERERS=["react","react-native","vue","vue3","angular","mithril","riot","ember","marionette","marko","preact","svelte","qwik","rax","aurelia","solid"],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: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(`
|
|
17
|
-
|
|
18
|
-
`)}`)}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)}
|
|
19
|
-
`),!0):!1},commandLog=message=>(process.stdout.write(chalk.cyan(" \u2022 ")+message),(errorMessage,errorInfo)=>{if(errorMessage){if(process.stdout.write(`. ${chalk.red("\u2716")}
|
|
20
|
-
`),logger.error(`
|
|
21
|
-
${chalk.red(errorMessage)}`),!errorInfo)return;let newErrorInfo=errorInfo.split(`
|
|
22
|
-
`).map(line=>` ${chalk.dim(line)}`).join(`
|
|
23
|
-
`);logger.error(`${newErrorInfo}
|
|
24
|
-
`);return}process.stdout.write(`. ${chalk.green("\u2713")}
|
|
25
|
-
`);});function paddedLog(message){let newMessage=message.split(`
|
|
26
|
-
`).map(line=>` ${line}`).join(`
|
|
27
|
-
`);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(`
|
|
28
|
-
`);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{setRegistryURL(url){url?this.executeCommand("npm",["config","set","registry",url]):this.executeCommand("npm",["config","delete","registry"]);}getRegistryURL(){let url=this.executeCommand("npm",["config","get","registry"]).trim();return url==="undefined"?void 0:url}constructor(options){this.cwd=options?.cwd;}installDependencies(){let done=commandLog("Preparing to install dependencies");done(),logger2.log(),logger2.log(),done=commandLog("Installing dependencies");try{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")}readPackageJson(){let packageJsonPath=this.packageJsonPath();if(!fs.existsSync(packageJsonPath))throw new Error(`Could not read package.json file at ${packageJsonPath}`);let jsonContent=fs.readFileSync(packageJsonPath,"utf8");return JSON.parse(jsonContent)}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)}
|
|
29
|
-
`;fs.writeFileSync(this.packageJsonPath(),content,"utf8");}retrievePackageJson(){let packageJson;try{packageJson=this.readPackageJson();}catch{this.initPackageJson(),packageJson=this.readPackageJson();}return {...packageJson,dependencies:{...packageJson.dependencies},devDependencies:{...packageJson.devDependencies},peerDependencies:{...packageJson.peerDependencies}}}getAllDependencies(){let{dependencies,devDependencies,peerDependencies}=this.retrievePackageJson();return {...dependencies,...devDependencies,...peerDependencies}}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},this.writePackageJson(packageJson);}else try{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(`
|
|
30
|
-
${chalk.yellow(e.message)}`),current;throw logger2.error(`
|
|
31
|
-
${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)}addStorybookCommandInScripts(options){let storybookCmd=`storybook dev -p ${options?.port??6006}`,buildStorybookCmd="storybook build",preCommand=options?.preCommand?this.getRunCommand(options.preCommand):void 0;this.addScripts({storybook:[preCommand,storybookCmd].filter(Boolean).join(" && "),"build-storybook":[preCommand,buildStorybookCmd].filter(Boolean).join(" && ")});}addESLintConfig(){let packageJson=this.retrievePackageJson();this.writePackageJson({...packageJson,eslintConfig:{...packageJson.eslintConfig,overrides:[...packageJson.eslintConfig?.overrides||[],{files:["**/*.stories.*"],rules:{"import/no-anonymous-default-export":"off"}}]}});}addScripts(scripts){let packageJson=this.retrievePackageJson();this.writePackageJson({...packageJson,scripts:{...packageJson.scripts,...scripts}});}addPackageResolutions(versions){let packageJson=this.retrievePackageJson(),resolutions=this.getResolutions(packageJson,versions);this.writePackageJson({...packageJson,...resolutions});}executeCommand(command,args,stdio,cwd,ignoreError){let commandResult=sync(command,args,{cwd:cwd??this.cwd,stdio:stdio??"pipe",encoding:"utf-8",shell:!0});if(commandResult.status!==0&&ignoreError!==!0)throw new Error(commandResult.stderr??"");return commandResult.stdout??""}};var NPMProxy=class extends JsPackageManager{constructor(){super(...arguments);this.type="npm";}initPackageJson(){return this.executeCommand("npm",["init","-y"])}getRunStorybookCommand(){return "npm run storybook"}getRunCommand(command){return `npm run ${command}`}getNpmVersion(){return this.executeCommand("npm",["--version"])}getInstallArgs(){return this.installArgs||(this.installArgs=[]),this.installArgs}runPackageCommand(command,args,cwd){return this.executeCommand("npm",["exec","--",command,...args],void 0,cwd)}findInstallations(){let pipeToNull=platform()==="win32"?"2>NUL":"2>/dev/null",commandResult=this.executeCommand("npm",["ls","--json","--depth=99",pipeToNull],void 0,void 0,!0);try{let parsedOutput=JSON.parse(commandResult);return this.mapDependencies(parsedOutput)}catch{return}}getResolutions(packageJson,versions){return {overrides:{...packageJson.overrides,...versions}}}runInstall(){this.executeCommand("npm",["install",...this.getInstallArgs()],"inherit");}runAddDeps(dependencies,installAsDevDependencies){let args=[...dependencies];installAsDevDependencies&&(args=["-D",...args]),this.executeCommand("npm",["install",...this.getInstallArgs(),...args],"inherit");}runRemoveDeps(dependencies){let args=[...dependencies];this.executeCommand("npm",["uninstall",...this.getInstallArgs(),...args],"inherit");}runGetVersions(packageName,fetchAllVersions){let args=[fetchAllVersions?"versions":"version","--json"],commandResult=this.executeCommand("npm",["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)}initPackageJson(){return this.executeCommand("pnpm",["init","-y"])}getRunStorybookCommand(){return "pnpm run storybook"}getRunCommand(command){return `pnpm run ${command}`}getPnpmVersion(){return this.executeCommand("pnpm",["--version"])}getInstallArgs(){return this.installArgs||(this.installArgs=[],this.detectWorkspaceRoot()&&this.installArgs.push("-w")),this.installArgs}runPackageCommand(command,args,cwd){return this.executeCommand("pnpm",["exec",command,...args],void 0,cwd)}findInstallations(pattern){let commandResult=this.executeCommand("pnpm",["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}}}runInstall(){this.executeCommand("pnpm",["install",...this.getInstallArgs()],"inherit");}runAddDeps(dependencies,installAsDevDependencies){let args=[...dependencies];installAsDevDependencies&&(args=["-D",...args]),this.executeCommand("pnpm",["add",...args,...this.getInstallArgs()],"inherit");}runRemoveDeps(dependencies){let args=[...dependencies];this.executeCommand("pnpm",["remove",...args,...this.getInstallArgs()],"inherit");}runGetVersions(packageName,fetchAllVersions){let args=[fetchAllVersions?"versions":"version","--json"],commandResult=this.executeCommand("pnpm",["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}initPackageJson(){return this.executeCommand("yarn",["init"])}getRunStorybookCommand(){return "yarn storybook"}getRunCommand(command){return `yarn ${command}`}runPackageCommand(command,args,cwd){return this.executeCommand("yarn",[command,...args],void 0,cwd)}findInstallations(pattern){let commandResult=this.executeCommand("yarn",["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}}}runInstall(){this.executeCommand("yarn",["install",...this.getInstallArgs()],"inherit");}runAddDeps(dependencies,installAsDevDependencies){let args=[...dependencies];installAsDevDependencies&&(args=["-D",...args]),this.executeCommand("yarn",["add",...this.getInstallArgs(),...args],"inherit");}runRemoveDeps(dependencies){let args=[...dependencies];this.executeCommand("yarn",["remove",...this.getInstallArgs(),...args],"inherit");}runGetVersions(packageName,fetchAllVersions){let field=fetchAllVersions?"versions":"version",args=["--fields",field,"--json"],commandResult=this.executeCommand("yarn",["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(`
|
|
32
|
-
`),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}initPackageJson(){return this.executeCommand("yarn",["init","-y"])}getRunStorybookCommand(){return "yarn storybook"}getRunCommand(command){return `yarn ${command}`}runPackageCommand(command,args,cwd){return this.executeCommand("yarn",[command,...args],void 0,cwd)}findInstallations(pattern){let commandResult=this.executeCommand("yarn",["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}}}runInstall(){this.executeCommand("yarn",["install",...this.getInstallArgs()],"inherit");}runAddDeps(dependencies,installAsDevDependencies){let args=[...dependencies];installAsDevDependencies&&(args=["-D",...args]),this.executeCommand("yarn",["add",...this.getInstallArgs(),...args],"inherit");}runRemoveDeps(dependencies){let args=[...dependencies];this.executeCommand("yarn",["remove",...this.getInstallArgs(),...args],"inherit");}runGetVersions(packageName,fetchAllVersions){let args=[fetchAllVersions?"versions":"version","--json"],commandResult=this.executeCommand("yarn",["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("npm",["--version"],{cwd,shell:!0}).status===0}function hasPNPM(cwd){return sync("pnpm",["--version"],{cwd,shell:!0}).status===0}function getYarnVersion(cwd){let yarnVersionCommand=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);});}
|
|
33
|
-
|
|
34
|
-
export { HandledError, JsPackageManager, JsPackageManagerFactory, SUPPORTED_RENDERERS, __require, codeLog, commandLog, copyTemplate, copyTemplateFiles, externalFrameworks, getBabelDependencies, getBowerJson, getCliDir, getEnvConfig, getPackageDetails, getStorybookVersionSpecifier, installableProjectTypes, isNxProject, paddedLog, parseList, readFileAsJson, supportedTemplates, unsupportedTemplate, useNpmWarning, versions_default, writeFileAsJson };
|