@backstage/cli-module-migrate 0.1.3 → 0.2.0-next.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @backstage/cli-module-migrate
2
2
 
3
+ ## 0.2.0-next.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 39deda4: **BREAKING**: The `versions:bump` command no longer bootstraps legacy proxy agents. Use Node.js built-in proxy support by setting `NODE_USE_ENV_PROXY=1` alongside your `HTTP_PROXY`/`HTTPS_PROXY`/`NO_PROXY` environment variables instead.
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies
12
+ - @backstage/cli-common@0.3.0-next.0
13
+ - @backstage/cli-node@0.3.4-next.0
14
+
3
15
  ## 0.1.3
4
16
 
5
17
  ### Patch Changes
@@ -23,7 +23,6 @@ var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
23
23
  var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
24
24
  var semver__default = /*#__PURE__*/_interopDefaultCompat(semver);
25
25
 
26
- cliCommon.bootstrapEnvProxyAgents();
27
26
  const DEP_TYPES = [
28
27
  "dependencies",
29
28
  "devDependencies",
@@ -1 +1 @@
1
- {"version":3,"file":"bump.cjs.js","sources":["../../../src/commands/versions/bump.ts"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {\n BACKSTAGE_JSON,\n bootstrapEnvProxyAgents,\n targetPaths,\n} from '@backstage/cli-common';\n\nbootstrapEnvProxyAgents();\n\nimport { env } from 'node:process';\nimport fs from 'fs-extra';\nimport chalk from 'chalk';\nimport { minimatch } from 'minimatch';\nimport semver from 'semver';\nimport { cli } from 'cleye';\nimport { isError, NotFoundError } from '@backstage/errors';\nimport { resolve as resolvePath } from 'node:path';\n\nimport {\n hasBackstageYarnPlugin,\n Lockfile,\n runConcurrentTasks,\n} from '@backstage/cli-node';\nimport {\n fetchPackageInfo,\n mapDependencies,\n YarnInfoInspectData,\n} from '../../lib/versioning/packages';\nimport {\n getManifestByReleaseLine,\n getManifestByVersion,\n ReleaseManifest,\n} from '@backstage/release-manifests';\nimport { migrateMovedPackages } from './migrate';\nimport { runYarnInstall } from '../../lib/utils';\nimport { run } from '@backstage/cli-common';\nimport type { CliCommandContext } from '@backstage/cli-node';\n\nconst DEP_TYPES = [\n 'dependencies',\n 'devDependencies',\n 'peerDependencies',\n 'optionalDependencies',\n];\n\nconst DEFAULT_PATTERN_GLOB = '@backstage/*';\n\ntype PkgVersionInfo = {\n range: string;\n target: string;\n name: string;\n location: string;\n};\n\nfunction extendsDefaultPattern(pattern: string): boolean {\n if (!pattern.endsWith('/*')) {\n return false;\n }\n\n return minimatch('@backstage/', pattern.slice(0, -1));\n}\n\nexport default async ({ args, info }: CliCommandContext) => {\n const {\n flags: { pattern: patternFlag, release, skipInstall, skipMigrate },\n } = cli(\n {\n name: info.usage,\n booleanFlagNegation: true,\n flags: {\n pattern: {\n type: String,\n description: 'Override glob for matching packages to upgrade',\n },\n release: {\n type: String,\n description: 'Bump to a specific Backstage release line or version',\n default: 'main',\n },\n skipInstall: {\n type: Boolean,\n description: 'Skips yarn install step',\n },\n skipMigrate: {\n type: Boolean,\n description: 'Skips migration of any moved packages',\n },\n },\n },\n undefined,\n args,\n );\n\n const lockfilePath = targetPaths.resolveRoot('yarn.lock');\n const lockfile = await Lockfile.load(lockfilePath);\n const yarnPluginEnabled = await hasBackstageYarnPlugin();\n\n let pattern = patternFlag;\n\n if (!pattern) {\n console.log(`Using default pattern glob ${DEFAULT_PATTERN_GLOB}`);\n pattern = DEFAULT_PATTERN_GLOB;\n } else if (pattern === '*') {\n throw new Error(`Rejected pattern '*', please use a more specific pattern`);\n } else {\n console.log(`Using custom pattern glob ${pattern}`);\n }\n\n let findTargetVersion: (name: string) => Promise<string>;\n let releaseManifest: ReleaseManifest;\n if (env.BACKSTAGE_MANIFEST_FILE) {\n // Use specific manifest file if provided\n releaseManifest = await fs.readJson(env.BACKSTAGE_MANIFEST_FILE);\n findTargetVersion = createStrictVersionFinder({\n releaseManifest,\n });\n } else if (semver.valid(release)) {\n // Specific release specified. Be strict when resolving versions\n releaseManifest = await getManifestByVersion({ version: release! });\n findTargetVersion = createStrictVersionFinder({\n releaseManifest,\n });\n } else {\n // Release line specified. Be lenient when resolving versions.\n if (release === 'next') {\n const next = await getManifestByReleaseLine({\n releaseLine: 'next',\n versionsBaseUrl: env.BACKSTAGE_VERSIONS_BASE_URL,\n });\n const main = await getManifestByReleaseLine({\n releaseLine: 'main',\n versionsBaseUrl: env.BACKSTAGE_VERSIONS_BASE_URL,\n });\n // Prefer manifest with the latest release version\n releaseManifest = semver.gt(next.releaseVersion, main.releaseVersion)\n ? next\n : main;\n } else {\n releaseManifest = await getManifestByReleaseLine({\n releaseLine: release!,\n versionsBaseUrl: env.BACKSTAGE_VERSIONS_BASE_URL,\n });\n }\n findTargetVersion = createVersionFinder({\n releaseLine: release,\n releaseManifest,\n });\n }\n\n if (yarnPluginEnabled) {\n console.log();\n console.log(\n `Updating yarn plugin to v${releaseManifest.releaseVersion}...`,\n );\n console.log();\n\n const yarnPluginUrl = env.BACKSTAGE_VERSIONS_BASE_URL\n ? `${env.BACKSTAGE_VERSIONS_BASE_URL}/v1/releases/${releaseManifest.releaseVersion}/yarn-plugin`\n : `https://versions.backstage.io/v1/releases/${releaseManifest.releaseVersion}/yarn-plugin`;\n\n await run(['yarn', 'plugin', 'import', yarnPluginUrl]).waitForExit();\n console.log();\n }\n\n // First we discover all Backstage dependencies within our own repo\n const dependencyMap = await mapDependencies(targetPaths.dir, pattern);\n\n // Next check with the package registry to see which dependency ranges we need to bump\n const versionBumps = new Map<string, PkgVersionInfo[]>();\n\n await runConcurrentTasks({\n concurrencyFactor: 4,\n items: dependencyMap.entries(),\n async worker([name, pkgs]) {\n let target: string;\n try {\n target = await findTargetVersion(name);\n } catch (error) {\n if (isError(error) && error.name === 'NotFoundError') {\n console.log(`Package info not found, ignoring package ${name}`);\n return;\n }\n throw error;\n }\n\n for (const pkg of pkgs) {\n versionBumps.set(\n pkg.name,\n (versionBumps.get(pkg.name) ?? []).concat({\n name,\n location: pkg.location,\n range: `^${target}`, // TODO(Rugvip): Option to use something else than ^?\n target,\n }),\n );\n }\n },\n });\n\n // Write all discovered version bumps to package.json in this repo\n if (versionBumps.size === 0) {\n console.log(chalk.green('All Backstage packages are up to date!'));\n } else {\n console.log(chalk.yellow('Some packages are outdated, updating'));\n console.log();\n\n const breakingUpdates = new Map<string, { from: string; to: string }>();\n await runConcurrentTasks({\n concurrencyFactor: 4,\n items: versionBumps.entries(),\n async worker([name, deps]) {\n const pkgPath = resolvePath(deps[0].location, 'package.json');\n const pkgJson = await fs.readJson(pkgPath);\n\n for (const dep of deps) {\n console.log(\n `${chalk.cyan('bumping')} ${dep.name} in ${chalk.cyan(\n name,\n )} to ${chalk.yellow(dep.range)}`,\n );\n\n for (const depType of DEP_TYPES) {\n if (depType in pkgJson && dep.name in pkgJson[depType]) {\n const oldRange = pkgJson[depType][dep.name];\n\n // backstage:^ are written to the lockfile as\n // backstage:<backstage-version>, so that updates to\n // backstage.json can be detected during yarn install. In order to\n // locate the corresponding lockfile entry for \"backstage:^\"\n // versions, we need to perform the same transformation.\n const oldLockfileRange = await asLockfileVersion(oldRange);\n\n const useBackstageRange =\n yarnPluginEnabled &&\n // Only use backstage:^ versions if the package is present in\n // the manifest for the release we're bumping to.\n releaseManifest.packages.find(\n ({ name: manifestPackageName }) =>\n dep.name === manifestPackageName,\n ) &&\n // Don't use backstage:^ versions for peerDependencies; they only\n // support npm and workspace: versions.\n depType !== 'peerDependencies';\n\n const newRange = useBackstageRange ? 'backstage:^' : dep.range;\n\n pkgJson[depType][dep.name] = newRange;\n\n // Check if the update was at least a pre-v1 minor or post-v1 major release\n const lockfileEntry = lockfile\n .get(dep.name)\n ?.find(entry => entry.range === oldLockfileRange);\n if (lockfileEntry) {\n const from = lockfileEntry.version;\n const to = dep.target;\n if (!semver.satisfies(to, `^${from}`)) {\n breakingUpdates.set(dep.name, { from, to });\n }\n }\n }\n }\n }\n\n await fs.writeJson(pkgPath, pkgJson, { spaces: 2 });\n },\n });\n\n console.log();\n\n // Do not update backstage.json when default pattern is not covered\n if (extendsDefaultPattern(pattern)) {\n await bumpBackstageJsonVersion(\n releaseManifest.releaseVersion,\n yarnPluginEnabled,\n );\n } else {\n console.log(\n chalk.yellow(\n `Skipping backstage.json update as custom pattern is used`,\n ),\n );\n }\n\n if (!skipInstall) {\n await runYarnInstall();\n } else {\n console.log();\n\n console.log(chalk.yellow(`Skipping yarn install`));\n }\n\n if (!skipMigrate) {\n console.log();\n\n const changed = await migrateMovedPackages({\n pattern: patternFlag,\n });\n\n if (changed && !skipInstall) {\n await runYarnInstall();\n }\n }\n\n if (breakingUpdates.size > 0) {\n console.log();\n console.log(\n chalk.yellow('⚠️ The following packages may have breaking changes:'),\n );\n console.log();\n\n for (const [name, { from, to }] of Array.from(\n breakingUpdates.entries(),\n ).sort()) {\n console.log(\n ` ${chalk.yellow(name)} : ${chalk.yellow(from)} ~> ${chalk.yellow(\n to,\n )}`,\n );\n\n let path;\n if (name.startsWith('@backstage/plugin-')) {\n path = `plugins/${name.replace('@backstage/plugin-', '')}`;\n } else if (name.startsWith('@backstage/')) {\n path = `packages/${name.replace('@backstage/', '')}`;\n }\n if (path) {\n // TODO(Rugvip): Grab these URLs and paths from package.json, possibly verify existence\n // Possibly invent new \"changelog\" field in package.json or some sh*t.\n console.log(\n ` https://github.com/backstage/backstage/blob/master/${path}/CHANGELOG.md`,\n );\n }\n console.log();\n }\n } else {\n console.log();\n }\n\n if (yarnPluginEnabled) {\n console.log();\n console.log(\n chalk.blue(\n `${chalk.bold(\n 'NOTE',\n )}: this bump used backstage:^ versions in package.json files, since the Backstage ` +\n `yarn plugin was detected in the repository. To migrate back to explicit npm versions, ` +\n `remove the plugin by running \"yarn plugin remove @yarnpkg/plugin-backstage\", then ` +\n `repeat this command.`,\n ),\n );\n console.log();\n }\n\n console.log(chalk.green('Version bump complete!'));\n }\n\n console.log();\n};\n\nexport function createStrictVersionFinder(options: {\n releaseManifest: ReleaseManifest;\n}) {\n const releasePackages = new Map(\n options.releaseManifest.packages.map(p => [p.name, p.version]),\n );\n return async function findTargetVersion(name: string) {\n console.log(`Checking for updates of ${name}`);\n const manifestVersion = releasePackages.get(name);\n if (manifestVersion) {\n return manifestVersion;\n }\n throw new NotFoundError(`Package ${name} not found in release manifest`);\n };\n}\n\nexport function createVersionFinder(options: {\n releaseLine?: string;\n packageInfoFetcher?: () => Promise<YarnInfoInspectData>;\n releaseManifest?: ReleaseManifest;\n}) {\n const {\n releaseLine = 'latest',\n packageInfoFetcher = fetchPackageInfo,\n releaseManifest,\n } = options;\n // The main release line is just an alias for latest\n const distTag = releaseLine === 'main' ? 'latest' : releaseLine;\n const found = new Map<string, string>();\n const releasePackages = new Map(\n releaseManifest?.packages.map(p => [p.name, p.version]),\n );\n return async function findTargetVersion(name: string) {\n const existing = found.get(name);\n if (existing) {\n return existing;\n }\n\n console.log(`Checking for updates of ${name}`);\n const manifestVersion = releasePackages.get(name);\n if (manifestVersion) {\n return manifestVersion;\n }\n\n const info = await packageInfoFetcher(name);\n const latestVersion = info['dist-tags'].latest;\n if (!latestVersion) {\n throw new Error(`No target 'latest' version found for ${name}`);\n }\n\n const taggedVersion = info['dist-tags'][distTag];\n if (distTag === 'latest' || !taggedVersion) {\n found.set(name, latestVersion);\n return latestVersion;\n }\n\n const latestVersionDateStr = info.time[latestVersion];\n const taggedVersionDateStr = info.time[taggedVersion];\n if (!latestVersionDateStr) {\n throw new Error(\n `No time available for version '${latestVersion}' of ${name}`,\n );\n }\n if (!taggedVersionDateStr) {\n throw new Error(\n `No time available for version '${taggedVersion}' of ${name}`,\n );\n }\n\n const latestVersionRelease = new Date(latestVersionDateStr).getTime();\n const taggedVersionRelease = new Date(taggedVersionDateStr).getTime();\n if (latestVersionRelease > taggedVersionRelease) {\n // Prefer latest version if it's newer.\n found.set(name, latestVersion);\n return latestVersion;\n }\n\n found.set(name, taggedVersion);\n return taggedVersion;\n };\n}\n\nfunction getBackstageJsonPath() {\n return targetPaths.resolveRoot(BACKSTAGE_JSON);\n}\n\nasync function getBackstageJson() {\n const backstageJsonPath = getBackstageJsonPath();\n return fs.readJSON(backstageJsonPath).catch(e => {\n if (e.code === 'ENOENT') {\n // gracefully continue in case the file doesn't exist\n return;\n }\n throw e;\n });\n}\n\nexport async function bumpBackstageJsonVersion(\n version: string,\n useYarnPlugin?: boolean,\n) {\n const backstageJson = await getBackstageJson();\n const prevVersion = backstageJson?.version;\n\n if (prevVersion === version) {\n return;\n }\n\n const { yellow, cyan, green } = chalk;\n if (prevVersion) {\n const from = encodeURIComponent(prevVersion);\n const to = encodeURIComponent(version);\n let link = `https://backstage.github.io/upgrade-helper/?from=${from}&to=${to}`;\n\n if (useYarnPlugin) {\n link += '&yarnPlugin=1';\n }\n\n console.log(\n yellow(\n `Upgraded from release ${green(prevVersion)} to ${green(\n version,\n )}, please review these template changes:`,\n ),\n );\n console.log();\n console.log(` ${cyan(link)}`);\n console.log();\n } else {\n console.log(\n yellow(\n `Your project is now at version ${version}, which has been written to ${BACKSTAGE_JSON}`,\n ),\n );\n }\n\n await fs.writeJson(\n getBackstageJsonPath(),\n { ...backstageJson, version },\n {\n spaces: 2,\n encoding: 'utf8',\n },\n );\n}\n\nasync function asLockfileVersion(version: string) {\n if (version === 'backstage:^') {\n return `backstage:${(await getBackstageJson())?.version}`;\n }\n\n return version;\n}\n"],"names":["bootstrapEnvProxyAgents","minimatch","cli","targetPaths","Lockfile","hasBackstageYarnPlugin","env","fs","semver","getManifestByVersion","getManifestByReleaseLine","run","mapDependencies","runConcurrentTasks","isError","chalk","resolvePath","runYarnInstall","migrateMovedPackages","NotFoundError","fetchPackageInfo","BACKSTAGE_JSON"],"mappings":"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"}
1
+ {"version":3,"file":"bump.cjs.js","sources":["../../../src/commands/versions/bump.ts"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { BACKSTAGE_JSON, run, targetPaths } from '@backstage/cli-common';\n\nimport { env } from 'node:process';\nimport fs from 'fs-extra';\nimport chalk from 'chalk';\nimport { minimatch } from 'minimatch';\nimport semver from 'semver';\nimport { cli } from 'cleye';\nimport { isError, NotFoundError } from '@backstage/errors';\nimport { resolve as resolvePath } from 'node:path';\n\nimport {\n hasBackstageYarnPlugin,\n Lockfile,\n runConcurrentTasks,\n} from '@backstage/cli-node';\nimport {\n fetchPackageInfo,\n mapDependencies,\n YarnInfoInspectData,\n} from '../../lib/versioning/packages';\nimport {\n getManifestByReleaseLine,\n getManifestByVersion,\n ReleaseManifest,\n} from '@backstage/release-manifests';\nimport { migrateMovedPackages } from './migrate';\nimport { runYarnInstall } from '../../lib/utils';\nimport type { CliCommandContext } from '@backstage/cli-node';\n\nconst DEP_TYPES = [\n 'dependencies',\n 'devDependencies',\n 'peerDependencies',\n 'optionalDependencies',\n];\n\nconst DEFAULT_PATTERN_GLOB = '@backstage/*';\n\ntype PkgVersionInfo = {\n range: string;\n target: string;\n name: string;\n location: string;\n};\n\nfunction extendsDefaultPattern(pattern: string): boolean {\n if (!pattern.endsWith('/*')) {\n return false;\n }\n\n return minimatch('@backstage/', pattern.slice(0, -1));\n}\n\nexport default async ({ args, info }: CliCommandContext) => {\n const {\n flags: { pattern: patternFlag, release, skipInstall, skipMigrate },\n } = cli(\n {\n name: info.usage,\n booleanFlagNegation: true,\n flags: {\n pattern: {\n type: String,\n description: 'Override glob for matching packages to upgrade',\n },\n release: {\n type: String,\n description: 'Bump to a specific Backstage release line or version',\n default: 'main',\n },\n skipInstall: {\n type: Boolean,\n description: 'Skips yarn install step',\n },\n skipMigrate: {\n type: Boolean,\n description: 'Skips migration of any moved packages',\n },\n },\n },\n undefined,\n args,\n );\n\n const lockfilePath = targetPaths.resolveRoot('yarn.lock');\n const lockfile = await Lockfile.load(lockfilePath);\n const yarnPluginEnabled = await hasBackstageYarnPlugin();\n\n let pattern = patternFlag;\n\n if (!pattern) {\n console.log(`Using default pattern glob ${DEFAULT_PATTERN_GLOB}`);\n pattern = DEFAULT_PATTERN_GLOB;\n } else if (pattern === '*') {\n throw new Error(`Rejected pattern '*', please use a more specific pattern`);\n } else {\n console.log(`Using custom pattern glob ${pattern}`);\n }\n\n let findTargetVersion: (name: string) => Promise<string>;\n let releaseManifest: ReleaseManifest;\n if (env.BACKSTAGE_MANIFEST_FILE) {\n // Use specific manifest file if provided\n releaseManifest = await fs.readJson(env.BACKSTAGE_MANIFEST_FILE);\n findTargetVersion = createStrictVersionFinder({\n releaseManifest,\n });\n } else if (semver.valid(release)) {\n // Specific release specified. Be strict when resolving versions\n releaseManifest = await getManifestByVersion({ version: release! });\n findTargetVersion = createStrictVersionFinder({\n releaseManifest,\n });\n } else {\n // Release line specified. Be lenient when resolving versions.\n if (release === 'next') {\n const next = await getManifestByReleaseLine({\n releaseLine: 'next',\n versionsBaseUrl: env.BACKSTAGE_VERSIONS_BASE_URL,\n });\n const main = await getManifestByReleaseLine({\n releaseLine: 'main',\n versionsBaseUrl: env.BACKSTAGE_VERSIONS_BASE_URL,\n });\n // Prefer manifest with the latest release version\n releaseManifest = semver.gt(next.releaseVersion, main.releaseVersion)\n ? next\n : main;\n } else {\n releaseManifest = await getManifestByReleaseLine({\n releaseLine: release!,\n versionsBaseUrl: env.BACKSTAGE_VERSIONS_BASE_URL,\n });\n }\n findTargetVersion = createVersionFinder({\n releaseLine: release,\n releaseManifest,\n });\n }\n\n if (yarnPluginEnabled) {\n console.log();\n console.log(\n `Updating yarn plugin to v${releaseManifest.releaseVersion}...`,\n );\n console.log();\n\n const yarnPluginUrl = env.BACKSTAGE_VERSIONS_BASE_URL\n ? `${env.BACKSTAGE_VERSIONS_BASE_URL}/v1/releases/${releaseManifest.releaseVersion}/yarn-plugin`\n : `https://versions.backstage.io/v1/releases/${releaseManifest.releaseVersion}/yarn-plugin`;\n\n await run(['yarn', 'plugin', 'import', yarnPluginUrl]).waitForExit();\n console.log();\n }\n\n // First we discover all Backstage dependencies within our own repo\n const dependencyMap = await mapDependencies(targetPaths.dir, pattern);\n\n // Next check with the package registry to see which dependency ranges we need to bump\n const versionBumps = new Map<string, PkgVersionInfo[]>();\n\n await runConcurrentTasks({\n concurrencyFactor: 4,\n items: dependencyMap.entries(),\n async worker([name, pkgs]) {\n let target: string;\n try {\n target = await findTargetVersion(name);\n } catch (error) {\n if (isError(error) && error.name === 'NotFoundError') {\n console.log(`Package info not found, ignoring package ${name}`);\n return;\n }\n throw error;\n }\n\n for (const pkg of pkgs) {\n versionBumps.set(\n pkg.name,\n (versionBumps.get(pkg.name) ?? []).concat({\n name,\n location: pkg.location,\n range: `^${target}`, // TODO(Rugvip): Option to use something else than ^?\n target,\n }),\n );\n }\n },\n });\n\n // Write all discovered version bumps to package.json in this repo\n if (versionBumps.size === 0) {\n console.log(chalk.green('All Backstage packages are up to date!'));\n } else {\n console.log(chalk.yellow('Some packages are outdated, updating'));\n console.log();\n\n const breakingUpdates = new Map<string, { from: string; to: string }>();\n await runConcurrentTasks({\n concurrencyFactor: 4,\n items: versionBumps.entries(),\n async worker([name, deps]) {\n const pkgPath = resolvePath(deps[0].location, 'package.json');\n const pkgJson = await fs.readJson(pkgPath);\n\n for (const dep of deps) {\n console.log(\n `${chalk.cyan('bumping')} ${dep.name} in ${chalk.cyan(\n name,\n )} to ${chalk.yellow(dep.range)}`,\n );\n\n for (const depType of DEP_TYPES) {\n if (depType in pkgJson && dep.name in pkgJson[depType]) {\n const oldRange = pkgJson[depType][dep.name];\n\n // backstage:^ are written to the lockfile as\n // backstage:<backstage-version>, so that updates to\n // backstage.json can be detected during yarn install. In order to\n // locate the corresponding lockfile entry for \"backstage:^\"\n // versions, we need to perform the same transformation.\n const oldLockfileRange = await asLockfileVersion(oldRange);\n\n const useBackstageRange =\n yarnPluginEnabled &&\n // Only use backstage:^ versions if the package is present in\n // the manifest for the release we're bumping to.\n releaseManifest.packages.find(\n ({ name: manifestPackageName }) =>\n dep.name === manifestPackageName,\n ) &&\n // Don't use backstage:^ versions for peerDependencies; they only\n // support npm and workspace: versions.\n depType !== 'peerDependencies';\n\n const newRange = useBackstageRange ? 'backstage:^' : dep.range;\n\n pkgJson[depType][dep.name] = newRange;\n\n // Check if the update was at least a pre-v1 minor or post-v1 major release\n const lockfileEntry = lockfile\n .get(dep.name)\n ?.find(entry => entry.range === oldLockfileRange);\n if (lockfileEntry) {\n const from = lockfileEntry.version;\n const to = dep.target;\n if (!semver.satisfies(to, `^${from}`)) {\n breakingUpdates.set(dep.name, { from, to });\n }\n }\n }\n }\n }\n\n await fs.writeJson(pkgPath, pkgJson, { spaces: 2 });\n },\n });\n\n console.log();\n\n // Do not update backstage.json when default pattern is not covered\n if (extendsDefaultPattern(pattern)) {\n await bumpBackstageJsonVersion(\n releaseManifest.releaseVersion,\n yarnPluginEnabled,\n );\n } else {\n console.log(\n chalk.yellow(\n `Skipping backstage.json update as custom pattern is used`,\n ),\n );\n }\n\n if (!skipInstall) {\n await runYarnInstall();\n } else {\n console.log();\n\n console.log(chalk.yellow(`Skipping yarn install`));\n }\n\n if (!skipMigrate) {\n console.log();\n\n const changed = await migrateMovedPackages({\n pattern: patternFlag,\n });\n\n if (changed && !skipInstall) {\n await runYarnInstall();\n }\n }\n\n if (breakingUpdates.size > 0) {\n console.log();\n console.log(\n chalk.yellow('⚠️ The following packages may have breaking changes:'),\n );\n console.log();\n\n for (const [name, { from, to }] of Array.from(\n breakingUpdates.entries(),\n ).sort()) {\n console.log(\n ` ${chalk.yellow(name)} : ${chalk.yellow(from)} ~> ${chalk.yellow(\n to,\n )}`,\n );\n\n let path;\n if (name.startsWith('@backstage/plugin-')) {\n path = `plugins/${name.replace('@backstage/plugin-', '')}`;\n } else if (name.startsWith('@backstage/')) {\n path = `packages/${name.replace('@backstage/', '')}`;\n }\n if (path) {\n // TODO(Rugvip): Grab these URLs and paths from package.json, possibly verify existence\n // Possibly invent new \"changelog\" field in package.json or some sh*t.\n console.log(\n ` https://github.com/backstage/backstage/blob/master/${path}/CHANGELOG.md`,\n );\n }\n console.log();\n }\n } else {\n console.log();\n }\n\n if (yarnPluginEnabled) {\n console.log();\n console.log(\n chalk.blue(\n `${chalk.bold(\n 'NOTE',\n )}: this bump used backstage:^ versions in package.json files, since the Backstage ` +\n `yarn plugin was detected in the repository. To migrate back to explicit npm versions, ` +\n `remove the plugin by running \"yarn plugin remove @yarnpkg/plugin-backstage\", then ` +\n `repeat this command.`,\n ),\n );\n console.log();\n }\n\n console.log(chalk.green('Version bump complete!'));\n }\n\n console.log();\n};\n\nexport function createStrictVersionFinder(options: {\n releaseManifest: ReleaseManifest;\n}) {\n const releasePackages = new Map(\n options.releaseManifest.packages.map(p => [p.name, p.version]),\n );\n return async function findTargetVersion(name: string) {\n console.log(`Checking for updates of ${name}`);\n const manifestVersion = releasePackages.get(name);\n if (manifestVersion) {\n return manifestVersion;\n }\n throw new NotFoundError(`Package ${name} not found in release manifest`);\n };\n}\n\nexport function createVersionFinder(options: {\n releaseLine?: string;\n packageInfoFetcher?: () => Promise<YarnInfoInspectData>;\n releaseManifest?: ReleaseManifest;\n}) {\n const {\n releaseLine = 'latest',\n packageInfoFetcher = fetchPackageInfo,\n releaseManifest,\n } = options;\n // The main release line is just an alias for latest\n const distTag = releaseLine === 'main' ? 'latest' : releaseLine;\n const found = new Map<string, string>();\n const releasePackages = new Map(\n releaseManifest?.packages.map(p => [p.name, p.version]),\n );\n return async function findTargetVersion(name: string) {\n const existing = found.get(name);\n if (existing) {\n return existing;\n }\n\n console.log(`Checking for updates of ${name}`);\n const manifestVersion = releasePackages.get(name);\n if (manifestVersion) {\n return manifestVersion;\n }\n\n const info = await packageInfoFetcher(name);\n const latestVersion = info['dist-tags'].latest;\n if (!latestVersion) {\n throw new Error(`No target 'latest' version found for ${name}`);\n }\n\n const taggedVersion = info['dist-tags'][distTag];\n if (distTag === 'latest' || !taggedVersion) {\n found.set(name, latestVersion);\n return latestVersion;\n }\n\n const latestVersionDateStr = info.time[latestVersion];\n const taggedVersionDateStr = info.time[taggedVersion];\n if (!latestVersionDateStr) {\n throw new Error(\n `No time available for version '${latestVersion}' of ${name}`,\n );\n }\n if (!taggedVersionDateStr) {\n throw new Error(\n `No time available for version '${taggedVersion}' of ${name}`,\n );\n }\n\n const latestVersionRelease = new Date(latestVersionDateStr).getTime();\n const taggedVersionRelease = new Date(taggedVersionDateStr).getTime();\n if (latestVersionRelease > taggedVersionRelease) {\n // Prefer latest version if it's newer.\n found.set(name, latestVersion);\n return latestVersion;\n }\n\n found.set(name, taggedVersion);\n return taggedVersion;\n };\n}\n\nfunction getBackstageJsonPath() {\n return targetPaths.resolveRoot(BACKSTAGE_JSON);\n}\n\nasync function getBackstageJson() {\n const backstageJsonPath = getBackstageJsonPath();\n return fs.readJSON(backstageJsonPath).catch(e => {\n if (e.code === 'ENOENT') {\n // gracefully continue in case the file doesn't exist\n return;\n }\n throw e;\n });\n}\n\nexport async function bumpBackstageJsonVersion(\n version: string,\n useYarnPlugin?: boolean,\n) {\n const backstageJson = await getBackstageJson();\n const prevVersion = backstageJson?.version;\n\n if (prevVersion === version) {\n return;\n }\n\n const { yellow, cyan, green } = chalk;\n if (prevVersion) {\n const from = encodeURIComponent(prevVersion);\n const to = encodeURIComponent(version);\n let link = `https://backstage.github.io/upgrade-helper/?from=${from}&to=${to}`;\n\n if (useYarnPlugin) {\n link += '&yarnPlugin=1';\n }\n\n console.log(\n yellow(\n `Upgraded from release ${green(prevVersion)} to ${green(\n version,\n )}, please review these template changes:`,\n ),\n );\n console.log();\n console.log(` ${cyan(link)}`);\n console.log();\n } else {\n console.log(\n yellow(\n `Your project is now at version ${version}, which has been written to ${BACKSTAGE_JSON}`,\n ),\n );\n }\n\n await fs.writeJson(\n getBackstageJsonPath(),\n { ...backstageJson, version },\n {\n spaces: 2,\n encoding: 'utf8',\n },\n );\n}\n\nasync function asLockfileVersion(version: string) {\n if (version === 'backstage:^') {\n return `backstage:${(await getBackstageJson())?.version}`;\n }\n\n return version;\n}\n"],"names":["minimatch","cli","targetPaths","Lockfile","hasBackstageYarnPlugin","env","fs","semver","getManifestByVersion","getManifestByReleaseLine","run","mapDependencies","runConcurrentTasks","isError","chalk","resolvePath","runYarnInstall","migrateMovedPackages","NotFoundError","fetchPackageInfo","BACKSTAGE_JSON"],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var name = "@backstage/cli-module-migrate";
6
- var version = "0.1.3";
6
+ var version = "0.2.0-next.0";
7
7
  var description = "CLI module for Backstage CLI";
8
8
  var backstage = {
9
9
  role: "cli-module"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@backstage/cli-module-migrate",
3
- "version": "0.1.3",
3
+ "version": "0.2.0-next.0",
4
4
  "description": "CLI module for Backstage CLI",
5
5
  "backstage": {
6
6
  "role": "cli-module"
@@ -33,10 +33,10 @@
33
33
  "test": "backstage-cli package test"
34
34
  },
35
35
  "dependencies": {
36
- "@backstage/cli-common": "^0.2.2",
37
- "@backstage/cli-node": "^0.3.3",
38
- "@backstage/errors": "^1.3.1",
39
- "@backstage/release-manifests": "^0.0.13",
36
+ "@backstage/cli-common": "0.3.0-next.0",
37
+ "@backstage/cli-node": "0.3.4-next.0",
38
+ "@backstage/errors": "1.3.1",
39
+ "@backstage/release-manifests": "0.0.13",
40
40
  "@manypkg/get-packages": "^1.1.3",
41
41
  "chalk": "^4.0.0",
42
42
  "cleye": "^2.6.0",
@@ -47,9 +47,9 @@
47
47
  "semver": "^7.5.3"
48
48
  },
49
49
  "devDependencies": {
50
- "@backstage/backend-test-utils": "^1.11.4",
51
- "@backstage/cli": "^0.36.3",
52
- "@backstage/test-utils": "^1.7.19",
50
+ "@backstage/backend-test-utils": "1.11.5-next.0",
51
+ "@backstage/cli": "0.36.4-next.2",
52
+ "@backstage/test-utils": "1.7.20-next.0",
53
53
  "@types/fs-extra": "^11.0.0",
54
54
  "@types/semver": "^7",
55
55
  "msw": "^1.0.0"