diff --git a/.changeset/khaki-fireants-march.md b/.changeset/khaki-fireants-march.md new file mode 100644 index 0000000000..600f8eba9e --- /dev/null +++ b/.changeset/khaki-fireants-march.md @@ -0,0 +1,5 @@ +--- +'@backstage/cli': patch +--- + +add --alwaysPack as a replacement for the now-hidden --alwaysYarnPack diff --git a/packages/cli/cli-report.md b/packages/cli/cli-report.md index f164e5e1fc..e17af5a312 100644 --- a/packages/cli/cli-report.md +++ b/packages/cli/cli-report.md @@ -34,7 +34,7 @@ Commands: Usage: backstage-cli build-workspace [options] [packages...] Options: - --alwaysYarnPack + --alwaysPack -h, --help ``` diff --git a/packages/cli/src/commands/buildWorkspace.ts b/packages/cli/src/commands/buildWorkspace.ts index a20663fc32..159c347eb8 100644 --- a/packages/cli/src/commands/buildWorkspace.ts +++ b/packages/cli/src/commands/buildWorkspace.ts @@ -18,7 +18,7 @@ import fs from 'fs-extra'; import { createDistWorkspace } from '../lib/packager'; type Options = { - alwaysYarnPack?: boolean; + alwaysPack?: boolean; }; export default async (dir: string, packages: string[], options: Options) => { @@ -28,7 +28,7 @@ export default async (dir: string, packages: string[], options: Options) => { await createDistWorkspace(packages, { targetDir: dir, - alwaysYarnPack: options.alwaysYarnPack, + alwaysPack: options.alwaysPack, enableFeatureDetection: true, }); }; diff --git a/packages/cli/src/commands/index.ts b/packages/cli/src/commands/index.ts index a3060f2d67..369138cb1a 100644 --- a/packages/cli/src/commands/index.ts +++ b/packages/cli/src/commands/index.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { Command } from 'commander'; +import { Command, Option } from 'commander'; import { assertError } from '@backstage/errors'; import { exitWithError } from '../lib/errors'; @@ -375,8 +375,16 @@ export function registerCommands(program: Command) { program .command('build-workspace [packages...]') + .addOption( + new Option( + '--alwaysYarnPack', + 'Alias for --alwaysPack for backwards compatibility.', + ) + .implies({ alwaysPack: true }) + .hideHelp(true), + ) .option( - '--alwaysYarnPack', + '--alwaysPack', 'Force workspace output to be a result of running `yarn pack` on each package (warning: very slow)', ) .description('Builds a temporary dist workspace from the provided packages') diff --git a/packages/cli/src/lib/packager/createDistWorkspace.ts b/packages/cli/src/lib/packager/createDistWorkspace.ts index 2363023ddd..ea1682bc4f 100644 --- a/packages/cli/src/lib/packager/createDistWorkspace.ts +++ b/packages/cli/src/lib/packager/createDistWorkspace.ts @@ -103,7 +103,7 @@ type Options = { * workspace. This ensures correct workspace output at significant cost to * command performance. */ - alwaysYarnPack?: boolean; + alwaysPack?: boolean; /** * If set to true, the TypeScript feature detection will be enabled, which @@ -242,7 +242,7 @@ export async function createDistWorkspace( await moveToDistWorkspace( targetDir, targets, - Boolean(options.alwaysYarnPack), + Boolean(options.alwaysPack), Boolean(options.enableFeatureDetection), ); @@ -286,13 +286,13 @@ const FAST_PACK_SCRIPTS = [ async function moveToDistWorkspace( workspaceDir: string, localPackages: PackageGraphNode[], - alwaysYarnPack: boolean, + alwaysPack: boolean, enableFeatureDetection: boolean, ): Promise { const [fastPackPackages, slowPackPackages] = partition( localPackages, pkg => - !alwaysYarnPack && + !alwaysPack && FAST_PACK_SCRIPTS.includes(pkg.packageJson.scripts?.prepack), );