mirror of
https://github.com/storybookjs/storybook.git
synced 2025-03-18 05:02:24 +08:00
Add --tag
option to upgrade
script
This commit is contained in:
parent
585edb6434
commit
5bc63f881b
@ -81,6 +81,7 @@ program
|
||||
.option('-N --use-npm', 'Use NPM to install dependencies (deprecated)')
|
||||
.option('-y --yes', 'Skip prompting the user')
|
||||
.option('-n --dry-run', 'Only check for upgrades, do not install')
|
||||
.option('-t --tag <tag>', 'Upgrade to a certain npm dist-tag (e.g. next, prerelease)')
|
||||
.option('-p --prerelease', 'Upgrade to the pre-release packages')
|
||||
.option('-s --skip-check', 'Skip postinstall version and automigration checks')
|
||||
.action((options: UpgradeOptions) => upgrade(options));
|
||||
|
@ -136,6 +136,7 @@ export const addExtraFlags = (
|
||||
};
|
||||
|
||||
export interface UpgradeOptions {
|
||||
tag: string;
|
||||
prerelease: boolean;
|
||||
skipCheck: boolean;
|
||||
useNpm: boolean;
|
||||
@ -146,6 +147,7 @@ export interface UpgradeOptions {
|
||||
}
|
||||
|
||||
export const doUpgrade = async ({
|
||||
tag,
|
||||
prerelease,
|
||||
skipCheck,
|
||||
useNpm,
|
||||
@ -161,13 +163,26 @@ export const doUpgrade = async ({
|
||||
|
||||
commandLog(`Checking for latest versions of '@storybook/*' packages`);
|
||||
if (!options.disableTelemetry) {
|
||||
telemetry('upgrade', { prerelease });
|
||||
telemetry('upgrade', { prerelease, tag });
|
||||
}
|
||||
|
||||
if (tag && prerelease) {
|
||||
throw new Error(
|
||||
`Cannot set both --tag and --prerelease. Use --tag next to get the latest prereleae`
|
||||
);
|
||||
}
|
||||
|
||||
let target = 'latest';
|
||||
if (prerelease) {
|
||||
target = 'greatest';
|
||||
} else if (tag) {
|
||||
target = `@${tag}`;
|
||||
}
|
||||
|
||||
let flags = [];
|
||||
if (!dryRun) flags.push('--upgrade');
|
||||
flags.push('--target');
|
||||
flags.push(prerelease ? 'greatest' : 'latest');
|
||||
flags.push(target);
|
||||
flags = addExtraFlags(EXTRA_FLAGS, flags, packageManager.retrievePackageJson());
|
||||
const check = spawnSync('npx', ['npm-check-updates@latest', '/storybook/', ...flags], {
|
||||
stdio: 'pipe',
|
||||
|
Loading…
x
Reference in New Issue
Block a user