@backstage/cli 0.36.0-next.2 → 0.36.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 +95 -0
- package/config/eslint-factory.js +1 -0
- package/config/getJestEnvironment.js +7 -29
- package/config/jest-environment-jsdom/index.js +9 -43
- package/config/jest.js +7 -401
- package/config/jestCacheResultProcessor.cjs +10 -6
- package/config/jestCachingModuleLoader.js +11 -19
- package/config/jestFileTransform.js +11 -28
- package/config/jestRejectNetworkRequests.js +10 -53
- package/config/jestSucraseTransform.js +10 -70
- package/config/jestSwcTransform.js +10 -27
- package/config/jestYamlTransform.js +11 -24
- package/config/nodeTransform.cjs +10 -70
- package/config/nodeTransformHooks.mjs +4 -278
- package/config/webpack-public-path.js +10 -14
- package/dist/cli-internal/src/InternalCliModule.cjs.js +11 -0
- package/dist/cli-internal/src/InternalCommandNode.cjs.js +25 -0
- package/dist/cli-internal/src/knownPluginPackages.cjs.js +40 -0
- package/dist/index.cjs.js +21 -11
- package/dist/wiring/CliInitializer.cjs.js +61 -30
- package/dist/wiring/CommandGraph.cjs.js +81 -23
- package/dist/wiring/discoverCliModules.cjs.js +44 -0
- package/package.json +27 -160
- package/dist/modules/auth/commands/list.cjs.js +0 -23
- package/dist/modules/auth/commands/login.cjs.js +0 -316
- package/dist/modules/auth/commands/logout.cjs.js +0 -55
- package/dist/modules/auth/commands/printToken.cjs.js +0 -41
- package/dist/modules/auth/commands/select.cjs.js +0 -32
- package/dist/modules/auth/commands/show.cjs.js +0 -59
- package/dist/modules/auth/index.cjs.js +0 -44
- package/dist/modules/auth/lib/auth.cjs.js +0 -60
- package/dist/modules/auth/lib/http.cjs.js +0 -26
- package/dist/modules/auth/lib/localServer.cjs.js +0 -80
- package/dist/modules/auth/lib/pkce.cjs.js +0 -23
- package/dist/modules/auth/lib/prompt.cjs.js +0 -44
- package/dist/modules/auth/lib/secretStore.cjs.js +0 -81
- package/dist/modules/auth/lib/storage.cjs.js +0 -152
- package/dist/modules/build/commands/buildWorkspace.cjs.js +0 -53
- package/dist/modules/build/commands/package/build/command.cjs.js +0 -136
- package/dist/modules/build/commands/package/build/index.cjs.js +0 -10
- package/dist/modules/build/commands/package/clean.cjs.js +0 -21
- package/dist/modules/build/commands/package/postpack.cjs.js +0 -15
- package/dist/modules/build/commands/package/prepack.cjs.js +0 -29
- package/dist/modules/build/commands/package/start/command.cjs.js +0 -80
- package/dist/modules/build/commands/package/start/index.cjs.js +0 -10
- package/dist/modules/build/commands/package/start/resolveLinkedWorkspace.cjs.js +0 -34
- package/dist/modules/build/commands/package/start/startBackend.cjs.js +0 -46
- package/dist/modules/build/commands/package/start/startFrontend.cjs.js +0 -50
- package/dist/modules/build/commands/package/start/startPackage.cjs.js +0 -53
- package/dist/modules/build/commands/repo/build.cjs.js +0 -149
- package/dist/modules/build/commands/repo/clean.cjs.js +0 -41
- package/dist/modules/build/commands/repo/start.cjs.js +0 -199
- package/dist/modules/build/index.cjs.js +0 -68
- package/dist/modules/build/lib/buildBackend.cjs.js +0 -81
- package/dist/modules/build/lib/buildFrontend.cjs.js +0 -50
- package/dist/modules/build/lib/builder/config.cjs.js +0 -257
- package/dist/modules/build/lib/builder/packager.cjs.js +0 -131
- package/dist/modules/build/lib/builder/plugins.cjs.js +0 -125
- package/dist/modules/build/lib/builder/types.cjs.js +0 -10
- package/dist/modules/build/lib/bundler/ConfigInjectingHtmlWebpackPlugin.cjs.js +0 -43
- package/dist/modules/build/lib/bundler/bundle.cjs.js +0 -189
- package/dist/modules/build/lib/bundler/config.cjs.js +0 -308
- package/dist/modules/build/lib/bundler/hasReactDomClient.cjs.js +0 -17
- package/dist/modules/build/lib/bundler/linkWorkspaces.cjs.js +0 -34
- package/dist/modules/build/lib/bundler/moduleFederation.cjs.js +0 -135
- package/dist/modules/build/lib/bundler/optimization.cjs.js +0 -68
- package/dist/modules/build/lib/bundler/packageDetection.cjs.js +0 -124
- package/dist/modules/build/lib/bundler/paths.cjs.js +0 -62
- package/dist/modules/build/lib/bundler/server.cjs.js +0 -231
- package/dist/modules/build/lib/bundler/transforms.cjs.js +0 -145
- package/dist/modules/build/lib/config.cjs.js +0 -94
- package/dist/modules/build/lib/entryPoints.cjs.js +0 -49
- package/dist/modules/build/lib/ipc/IpcServer.cjs.js +0 -60
- package/dist/modules/build/lib/ipc/ServerDataStore.cjs.js +0 -36
- package/dist/modules/build/lib/optionsParser.cjs.js +0 -22
- package/dist/modules/build/lib/packager/createDistWorkspace.cjs.js +0 -235
- package/dist/modules/build/lib/packager/productionPack.cjs.js +0 -160
- package/dist/modules/build/lib/publishing.cjs.js +0 -40
- package/dist/modules/build/lib/role.cjs.js +0 -24
- package/dist/modules/build/lib/runner/runBackend.cjs.js +0 -136
- package/dist/modules/build/lib/typeDistProject.cjs.js +0 -89
- package/dist/modules/build/lib/urls.cjs.js +0 -13
- package/dist/modules/config/commands/docs.cjs.js +0 -63
- package/dist/modules/config/commands/print.cjs.js +0 -81
- package/dist/modules/config/commands/schema.cjs.js +0 -56
- package/dist/modules/config/commands/validate.cjs.js +0 -50
- package/dist/modules/config/index.cjs.js +0 -51
- package/dist/modules/config/lib/config.cjs.js +0 -94
- package/dist/modules/create-github-app/commands/create-github-app/GithubCreateAppServer.cjs.js +0 -127
- package/dist/modules/create-github-app/commands/create-github-app/index.cjs.js +0 -126
- package/dist/modules/create-github-app/index.cjs.js +0 -19
- package/dist/modules/info/commands/info.cjs.js +0 -182
- package/dist/modules/info/index.cjs.js +0 -19
- package/dist/modules/lint/commands/package/lint.cjs.js +0 -78
- package/dist/modules/lint/commands/repo/lint.cjs.js +0 -282
- package/dist/modules/lint/index.cjs.js +0 -24
- package/dist/modules/lint/lib/optionsParser.cjs.js +0 -22
- package/dist/modules/maintenance/commands/repo/fix.cjs.js +0 -426
- package/dist/modules/maintenance/commands/repo/list-deprecations.cjs.js +0 -90
- package/dist/modules/maintenance/index.cjs.js +0 -24
- package/dist/modules/migrate/commands/packageExports.cjs.js +0 -15
- package/dist/modules/migrate/commands/packageLintConfigs.cjs.js +0 -77
- package/dist/modules/migrate/commands/packageRole.cjs.js +0 -57
- package/dist/modules/migrate/commands/packageScripts.cjs.js +0 -87
- package/dist/modules/migrate/commands/reactRouterDeps.cjs.js +0 -51
- package/dist/modules/migrate/commands/versions/bump.cjs.js +0 -403
- package/dist/modules/migrate/commands/versions/migrate.cjs.js +0 -133
- package/dist/modules/migrate/index.cjs.js +0 -59
- package/dist/modules/migrate/lib/utils.cjs.js +0 -44
- package/dist/modules/migrate/lib/versioning/packages.cjs.js +0 -71
- package/dist/modules/migrate/lib/versioning/yarn.cjs.js +0 -28
- package/dist/modules/new/commands/new.cjs.js +0 -115
- package/dist/modules/new/index.cjs.js +0 -40
- package/dist/modules/new/lib/codeowners/codeowners.cjs.js +0 -92
- package/dist/modules/new/lib/createNewPackage.cjs.js +0 -32
- package/dist/modules/new/lib/defaultTemplates.cjs.js +0 -17
- package/dist/modules/new/lib/execution/PortableTemplater.cjs.js +0 -89
- package/dist/modules/new/lib/execution/executePortableTemplate.cjs.js +0 -66
- package/dist/modules/new/lib/execution/installNewPackage.cjs.js +0 -127
- package/dist/modules/new/lib/execution/writeTemplateContents.cjs.js +0 -116
- package/dist/modules/new/lib/preparation/collectPortableTemplateInput.cjs.js +0 -157
- package/dist/modules/new/lib/preparation/loadPortableTemplate.cjs.js +0 -81
- package/dist/modules/new/lib/preparation/loadPortableTemplateConfig.cjs.js +0 -132
- package/dist/modules/new/lib/preparation/resolvePackageParams.cjs.js +0 -40
- package/dist/modules/new/lib/preparation/selectTemplateInteractively.cjs.js +0 -38
- package/dist/modules/new/lib/tasks.cjs.js +0 -51
- package/dist/modules/new/lib/types.cjs.js +0 -19
- package/dist/modules/new/lib/version.cjs.js +0 -91
- package/dist/modules/test/commands/package/test.cjs.js +0 -59
- package/dist/modules/test/commands/repo/test.cjs.js +0 -299
- package/dist/modules/test/index.cjs.js +0 -24
- package/dist/modules/translations/commands/export.cjs.js +0 -128
- package/dist/modules/translations/commands/import.cjs.js +0 -165
- package/dist/modules/translations/index.cjs.js +0 -24
- package/dist/modules/translations/lib/discoverPackages.cjs.js +0 -121
- package/dist/modules/translations/lib/extractTranslations.cjs.js +0 -71
- package/dist/modules/translations/lib/messageFilePath.cjs.js +0 -43
- package/dist/packages/backend-defaults/package.json.cjs.js +0 -6
- package/dist/packages/backend-plugin-api/package.json.cjs.js +0 -6
- package/dist/packages/backend-test-utils/package.json.cjs.js +0 -6
- package/dist/packages/catalog-client/package.json.cjs.js +0 -6
- package/dist/packages/cli/package.json.cjs.js +0 -159
- package/dist/packages/config/package.json.cjs.js +0 -6
- package/dist/packages/core-app-api/package.json.cjs.js +0 -6
- package/dist/packages/core-components/package.json.cjs.js +0 -6
- package/dist/packages/core-plugin-api/package.json.cjs.js +0 -6
- package/dist/packages/dev-utils/package.json.cjs.js +0 -6
- package/dist/packages/errors/package.json.cjs.js +0 -6
- package/dist/packages/frontend-defaults/package.json.cjs.js +0 -6
- package/dist/packages/frontend-plugin-api/package.json.cjs.js +0 -6
- package/dist/packages/frontend-plugin-api/src/routing/describeParentCallSite.cjs.js +0 -26
- package/dist/packages/frontend-test-utils/package.json.cjs.js +0 -6
- package/dist/packages/test-utils/package.json.cjs.js +0 -6
- package/dist/packages/theme/package.json.cjs.js +0 -6
- package/dist/packages/types/package.json.cjs.js +0 -6
- package/dist/plugins/auth-backend/package.json.cjs.js +0 -6
- package/dist/plugins/auth-backend-module-guest-provider/package.json.cjs.js +0 -6
- package/dist/plugins/catalog-node/package.json.cjs.js +0 -6
- package/dist/plugins/scaffolder-node/package.json.cjs.js +0 -6
- package/dist/plugins/scaffolder-node-test-utils/package.json.cjs.js +0 -6
- package/dist/wiring/CommandRegistry.cjs.js +0 -14
- package/dist/wiring/factory.cjs.js +0 -15
- package/dist/wiring/types.cjs.js +0 -11
- package/templates/backend-plugin/.eslintrc.js.hbs +0 -1
- package/templates/backend-plugin/README.md.hbs +0 -28
- package/templates/backend-plugin/dev/index.ts.hbs +0 -60
- package/templates/backend-plugin/package.json.hbs +0 -44
- package/templates/backend-plugin/portable-template.yaml +0 -5
- package/templates/backend-plugin/src/index.ts.hbs +0 -1
- package/templates/backend-plugin/src/plugin.test.ts.hbs +0 -129
- package/templates/backend-plugin/src/plugin.ts.hbs +0 -32
- package/templates/backend-plugin/src/router.test.ts +0 -67
- package/templates/backend-plugin/src/router.ts +0 -51
- package/templates/backend-plugin/src/services/TodoListService.ts +0 -155
- package/templates/backend-plugin/src/setupTests.ts +0 -1
- package/templates/backend-plugin-module/.eslintrc.js.hbs +0 -1
- package/templates/backend-plugin-module/README.md.hbs +0 -5
- package/templates/backend-plugin-module/package.json.hbs +0 -34
- package/templates/backend-plugin-module/portable-template.yaml +0 -5
- package/templates/backend-plugin-module/src/index.ts.hbs +0 -8
- package/templates/backend-plugin-module/src/module.ts.hbs +0 -17
- package/templates/catalog-provider-module/.eslintrc.js.hbs +0 -1
- package/templates/catalog-provider-module/README.md.hbs +0 -5
- package/templates/catalog-provider-module/config.d.ts.hbs +0 -34
- package/templates/catalog-provider-module/package.json.hbs +0 -36
- package/templates/catalog-provider-module/portable-template.yaml +0 -9
- package/templates/catalog-provider-module/src/index.ts.hbs +0 -8
- package/templates/catalog-provider-module/src/module.ts.hbs +0 -29
- package/templates/catalog-provider-module/src/provider/readProviderConfigs.ts.hbs +0 -78
- package/templates/catalog-provider-module/src/provider/{{providerClass}}.test.ts.hbs +0 -18
- package/templates/catalog-provider-module/src/provider/{{providerClass}}.ts.hbs +0 -109
- package/templates/frontend-plugin/.eslintrc.js.hbs +0 -1
- package/templates/frontend-plugin/README.md.hbs +0 -13
- package/templates/frontend-plugin/dev/index.tsx.hbs +0 -11
- package/templates/frontend-plugin/package.json.hbs +0 -54
- package/templates/frontend-plugin/portable-template.yaml +0 -6
- package/templates/frontend-plugin/src/components/ExampleComponent/ExampleComponent.test.tsx.hbs +0 -28
- package/templates/frontend-plugin/src/components/ExampleComponent/ExampleComponent.tsx.hbs +0 -37
- package/templates/frontend-plugin/src/components/ExampleComponent/index.ts +0 -1
- package/templates/frontend-plugin/src/components/ExampleFetchComponent/ExampleFetchComponent.test.tsx.hbs +0 -19
- package/templates/frontend-plugin/src/components/ExampleFetchComponent/ExampleFetchComponent.tsx.hbs +0 -308
- package/templates/frontend-plugin/src/components/ExampleFetchComponent/index.ts +0 -1
- package/templates/frontend-plugin/src/index.ts.hbs +0 -1
- package/templates/frontend-plugin/src/plugin.test.ts.hbs +0 -7
- package/templates/frontend-plugin/src/plugin.ts.hbs +0 -22
- package/templates/frontend-plugin/src/routes.ts.hbs +0 -5
- package/templates/frontend-plugin/src/setupTests.ts +0 -1
- package/templates/new-frontend-plugin/.eslintrc.js.hbs +0 -1
- package/templates/new-frontend-plugin/README.md.hbs +0 -20
- package/templates/new-frontend-plugin/dev/index.tsx +0 -10
- package/templates/new-frontend-plugin/package.json.hbs +0 -49
- package/templates/new-frontend-plugin/portable-template.yaml +0 -5
- package/templates/new-frontend-plugin/src/components/ExampleComponent/ExampleComponent.test.tsx.hbs +0 -28
- package/templates/new-frontend-plugin/src/components/ExampleComponent/ExampleComponent.tsx.hbs +0 -37
- package/templates/new-frontend-plugin/src/components/ExampleComponent/index.ts +0 -1
- package/templates/new-frontend-plugin/src/components/ExampleFetchComponent/ExampleFetchComponent.test.tsx.hbs +0 -19
- package/templates/new-frontend-plugin/src/components/ExampleFetchComponent/ExampleFetchComponent.tsx.hbs +0 -308
- package/templates/new-frontend-plugin/src/components/ExampleFetchComponent/index.ts +0 -1
- package/templates/new-frontend-plugin/src/index.ts.hbs +0 -1
- package/templates/new-frontend-plugin/src/plugin.test.ts.hbs +0 -7
- package/templates/new-frontend-plugin/src/plugin.tsx.hbs +0 -25
- package/templates/new-frontend-plugin/src/routes.ts +0 -3
- package/templates/new-frontend-plugin/src/setupTests.ts +0 -1
- package/templates/new-frontend-plugin-module/.eslintrc.js.hbs +0 -1
- package/templates/new-frontend-plugin-module/README.md.hbs +0 -5
- package/templates/new-frontend-plugin-module/package.json.hbs +0 -35
- package/templates/new-frontend-plugin-module/portable-template.yaml +0 -5
- package/templates/new-frontend-plugin-module/src/index.ts.hbs +0 -1
- package/templates/new-frontend-plugin-module/src/module.tsx.hbs +0 -8
- package/templates/new-frontend-plugin-module/src/setupTests.ts +0 -1
- package/templates/node-library/.eslintrc.js.hbs +0 -1
- package/templates/node-library/README.md.hbs +0 -12
- package/templates/node-library/package.json.hbs +0 -29
- package/templates/node-library/portable-template.yaml +0 -3
- package/templates/node-library/src/index.ts.hbs +0 -1
- package/templates/node-library/src/setupTests.ts +0 -1
- package/templates/plugin-common-library/.eslintrc.js.hbs +0 -1
- package/templates/plugin-common-library/README.md.hbs +0 -5
- package/templates/plugin-common-library/package.json.hbs +0 -31
- package/templates/plugin-common-library/portable-template.yaml +0 -3
- package/templates/plugin-common-library/src/index.ts.hbs +0 -19
- package/templates/plugin-common-library/src/setupTests.ts +0 -1
- package/templates/plugin-node-library/.eslintrc.js.hbs +0 -1
- package/templates/plugin-node-library/README.md.hbs +0 -5
- package/templates/plugin-node-library/package.json.hbs +0 -30
- package/templates/plugin-node-library/portable-template.yaml +0 -3
- package/templates/plugin-node-library/src/index.ts.hbs +0 -18
- package/templates/plugin-node-library/src/setupTests.ts +0 -1
- package/templates/plugin-web-library/.eslintrc.js.hbs +0 -1
- package/templates/plugin-web-library/README.md.hbs +0 -5
- package/templates/plugin-web-library/package.json.hbs +0 -42
- package/templates/plugin-web-library/portable-template.yaml +0 -3
- package/templates/plugin-web-library/src/components/ExampleComponent/ExampleComponent.test.tsx +0 -17
- package/templates/plugin-web-library/src/components/ExampleComponent/ExampleComponent.tsx +0 -28
- package/templates/plugin-web-library/src/components/ExampleComponent/index.ts +0 -2
- package/templates/plugin-web-library/src/components/index.ts +0 -5
- package/templates/plugin-web-library/src/hooks/index.ts +0 -5
- package/templates/plugin-web-library/src/hooks/useExample/index.ts +0 -1
- package/templates/plugin-web-library/src/hooks/useExample/useExample.ts +0 -15
- package/templates/plugin-web-library/src/index.ts.hbs +0 -12
- package/templates/plugin-web-library/src/setupTests.ts +0 -1
- package/templates/scaffolder-backend-module/.eslintrc.js.hbs +0 -1
- package/templates/scaffolder-backend-module/README.md.hbs +0 -5
- package/templates/scaffolder-backend-module/package.json.hbs +0 -36
- package/templates/scaffolder-backend-module/portable-template.yaml +0 -6
- package/templates/scaffolder-backend-module/src/actions/example.test.ts +0 -24
- package/templates/scaffolder-backend-module/src/actions/example.ts +0 -39
- package/templates/scaffolder-backend-module/src/index.ts.hbs +0 -8
- package/templates/scaffolder-backend-module/src/module.ts +0 -21
- package/templates/web-library/.eslintrc.js.hbs +0 -1
- package/templates/web-library/README.md.hbs +0 -12
- package/templates/web-library/package.json.hbs +0 -30
- package/templates/web-library/portable-template.yaml +0 -3
- package/templates/web-library/src/index.ts.hbs +0 -1
- package/templates/web-library/src/setupTests.ts +0 -1
- /package/dist/{packages/opaque-internal → opaque-internal}/src/OpaqueType.cjs.js +0 -0
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var cleye = require('cleye');
|
|
6
|
-
var fs = require('fs-extra');
|
|
7
|
-
var path = require('node:path');
|
|
8
|
-
var cliNode = require('@backstage/cli-node');
|
|
9
|
-
|
|
10
|
-
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
11
|
-
|
|
12
|
-
var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
|
|
13
|
-
|
|
14
|
-
const configArgPattern = /--config[=\s][^\s$]+/;
|
|
15
|
-
const noStartRoles = ["cli", "common-library"];
|
|
16
|
-
var packageScripts = async ({ args, info }) => {
|
|
17
|
-
cleye.cli({ help: info, booleanFlagNegation: true }, void 0, args);
|
|
18
|
-
const packages = await cliNode.PackageGraph.listTargetPackages();
|
|
19
|
-
await Promise.all(
|
|
20
|
-
packages.map(async ({ dir, packageJson }) => {
|
|
21
|
-
const role = cliNode.PackageRoles.getRoleFromPackage(packageJson);
|
|
22
|
-
if (!role) {
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
const roleInfo = cliNode.PackageRoles.getRoleInfo(role);
|
|
26
|
-
const hasStart = !noStartRoles.includes(role);
|
|
27
|
-
const needsPack = !(roleInfo.output.includes("bundle") || role === "cli");
|
|
28
|
-
const scripts = packageJson.scripts ?? {};
|
|
29
|
-
const startCmd = ["start"];
|
|
30
|
-
if (scripts.start?.includes("--check")) {
|
|
31
|
-
startCmd.push("--check");
|
|
32
|
-
}
|
|
33
|
-
if (scripts.start?.includes("--config")) {
|
|
34
|
-
startCmd.push(...scripts.start.match(configArgPattern) ?? []);
|
|
35
|
-
}
|
|
36
|
-
const buildCmd = ["build"];
|
|
37
|
-
if (scripts.build?.includes("--minify")) {
|
|
38
|
-
buildCmd.push("--minify");
|
|
39
|
-
}
|
|
40
|
-
if (scripts.build?.includes("--config")) {
|
|
41
|
-
buildCmd.push(...scripts.build.match(configArgPattern) ?? []);
|
|
42
|
-
}
|
|
43
|
-
const testCmd = ["test"];
|
|
44
|
-
if (scripts.test?.startsWith("backstage-cli test")) {
|
|
45
|
-
const testArgs = scripts.test.slice("backstage-cli test".length).split(" ").filter(Boolean);
|
|
46
|
-
if (testArgs.includes("--passWithNoTests")) {
|
|
47
|
-
testArgs.splice(testArgs.indexOf("--passWithNoTests"), 1);
|
|
48
|
-
}
|
|
49
|
-
testCmd.push(...testArgs);
|
|
50
|
-
}
|
|
51
|
-
const expectedScripts = {
|
|
52
|
-
...hasStart && {
|
|
53
|
-
start: `backstage-cli package ${startCmd.join(" ")}`
|
|
54
|
-
},
|
|
55
|
-
build: `backstage-cli package ${buildCmd.join(" ")}`,
|
|
56
|
-
lint: "backstage-cli package lint",
|
|
57
|
-
test: `backstage-cli package ${testCmd.join(" ")}`,
|
|
58
|
-
clean: "backstage-cli package clean",
|
|
59
|
-
...needsPack && {
|
|
60
|
-
postpack: "backstage-cli package postpack",
|
|
61
|
-
prepack: "backstage-cli package prepack"
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
let changed = false;
|
|
65
|
-
const currentScripts = packageJson.scripts = packageJson.scripts || {};
|
|
66
|
-
for (const [name, value] of Object.entries(expectedScripts)) {
|
|
67
|
-
const currentScript = currentScripts[name];
|
|
68
|
-
const isMissing = !currentScript;
|
|
69
|
-
const isDifferent = currentScript !== value;
|
|
70
|
-
const isBackstageScript = currentScript?.includes("backstage-cli");
|
|
71
|
-
if (isMissing || isDifferent && isBackstageScript) {
|
|
72
|
-
changed = true;
|
|
73
|
-
currentScripts[name] = value;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
if (changed) {
|
|
77
|
-
console.log(`Updating scripts for ${packageJson.name}`);
|
|
78
|
-
await fs__default.default.writeJson(path.resolve(dir, "package.json"), packageJson, {
|
|
79
|
-
spaces: 2
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
})
|
|
83
|
-
);
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
exports.default = packageScripts;
|
|
87
|
-
//# sourceMappingURL=packageScripts.cjs.js.map
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var cleye = require('cleye');
|
|
6
|
-
var fs = require('fs-extra');
|
|
7
|
-
var path = require('node:path');
|
|
8
|
-
var cliNode = require('@backstage/cli-node');
|
|
9
|
-
|
|
10
|
-
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
11
|
-
|
|
12
|
-
var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
|
|
13
|
-
|
|
14
|
-
const REACT_ROUTER_DEPS = ["react-router", "react-router-dom"];
|
|
15
|
-
const REACT_ROUTER_RANGE = "6.0.0-beta.0 || ^6.3.0";
|
|
16
|
-
var reactRouterDeps = async ({ args, info }) => {
|
|
17
|
-
cleye.cli({ help: info, booleanFlagNegation: true }, void 0, args);
|
|
18
|
-
const packages = await cliNode.PackageGraph.listTargetPackages();
|
|
19
|
-
await Promise.all(
|
|
20
|
-
packages.map(async ({ dir, packageJson }) => {
|
|
21
|
-
const role = cliNode.PackageRoles.getRoleFromPackage(packageJson);
|
|
22
|
-
if (role === "frontend") {
|
|
23
|
-
console.log(`Skipping ${packageJson.name}`);
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
let changed = false;
|
|
27
|
-
for (const depName of ["dependencies", "devDependencies"]) {
|
|
28
|
-
const depsCollection = packageJson[depName];
|
|
29
|
-
if (depsCollection) {
|
|
30
|
-
for (const key of Object.keys(depsCollection)) {
|
|
31
|
-
if (REACT_ROUTER_DEPS.includes(key)) {
|
|
32
|
-
delete depsCollection[key];
|
|
33
|
-
const peerDeps = packageJson.peerDependencies = packageJson.peerDependencies ?? {};
|
|
34
|
-
peerDeps[key] = REACT_ROUTER_RANGE;
|
|
35
|
-
changed = true;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
if (changed) {
|
|
41
|
-
console.log(`Updating dependencies for ${packageJson.name}`);
|
|
42
|
-
await fs__default.default.writeJson(path.resolve(dir, "package.json"), packageJson, {
|
|
43
|
-
spaces: 2
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
})
|
|
47
|
-
);
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
exports.default = reactRouterDeps;
|
|
51
|
-
//# sourceMappingURL=reactRouterDeps.cjs.js.map
|
|
@@ -1,403 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var cliCommon = require('@backstage/cli-common');
|
|
6
|
-
var node_process = require('node:process');
|
|
7
|
-
var fs = require('fs-extra');
|
|
8
|
-
var chalk = require('chalk');
|
|
9
|
-
var minimatch = require('minimatch');
|
|
10
|
-
var semver = require('semver');
|
|
11
|
-
var cleye = require('cleye');
|
|
12
|
-
var errors = require('@backstage/errors');
|
|
13
|
-
var path = require('node:path');
|
|
14
|
-
var cliNode = require('@backstage/cli-node');
|
|
15
|
-
var packages = require('../../lib/versioning/packages.cjs.js');
|
|
16
|
-
var releaseManifests = require('@backstage/release-manifests');
|
|
17
|
-
var migrate = require('./migrate.cjs.js');
|
|
18
|
-
var utils = require('../../lib/utils.cjs.js');
|
|
19
|
-
|
|
20
|
-
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
21
|
-
|
|
22
|
-
var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
|
|
23
|
-
var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
|
|
24
|
-
var semver__default = /*#__PURE__*/_interopDefaultCompat(semver);
|
|
25
|
-
|
|
26
|
-
cliCommon.bootstrapEnvProxyAgents();
|
|
27
|
-
const DEP_TYPES = [
|
|
28
|
-
"dependencies",
|
|
29
|
-
"devDependencies",
|
|
30
|
-
"peerDependencies",
|
|
31
|
-
"optionalDependencies"
|
|
32
|
-
];
|
|
33
|
-
const DEFAULT_PATTERN_GLOB = "@backstage/*";
|
|
34
|
-
function extendsDefaultPattern(pattern) {
|
|
35
|
-
if (!pattern.endsWith("/*")) {
|
|
36
|
-
return false;
|
|
37
|
-
}
|
|
38
|
-
return minimatch.minimatch("@backstage/", pattern.slice(0, -1));
|
|
39
|
-
}
|
|
40
|
-
var bump = async ({ args, info }) => {
|
|
41
|
-
const {
|
|
42
|
-
flags: { pattern: patternFlag, release, skipInstall, skipMigrate }
|
|
43
|
-
} = cleye.cli(
|
|
44
|
-
{
|
|
45
|
-
help: info,
|
|
46
|
-
booleanFlagNegation: true,
|
|
47
|
-
flags: {
|
|
48
|
-
pattern: {
|
|
49
|
-
type: String,
|
|
50
|
-
description: "Override glob for matching packages to upgrade"
|
|
51
|
-
},
|
|
52
|
-
release: {
|
|
53
|
-
type: String,
|
|
54
|
-
description: "Bump to a specific Backstage release line or version",
|
|
55
|
-
default: "main"
|
|
56
|
-
},
|
|
57
|
-
skipInstall: {
|
|
58
|
-
type: Boolean,
|
|
59
|
-
description: "Skips yarn install step"
|
|
60
|
-
},
|
|
61
|
-
skipMigrate: {
|
|
62
|
-
type: Boolean,
|
|
63
|
-
description: "Skips migration of any moved packages"
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
},
|
|
67
|
-
void 0,
|
|
68
|
-
args
|
|
69
|
-
);
|
|
70
|
-
const lockfilePath = cliCommon.targetPaths.resolveRoot("yarn.lock");
|
|
71
|
-
const lockfile = await cliNode.Lockfile.load(lockfilePath);
|
|
72
|
-
const yarnPluginEnabled = await cliNode.hasBackstageYarnPlugin();
|
|
73
|
-
let pattern = patternFlag;
|
|
74
|
-
if (!pattern) {
|
|
75
|
-
console.log(`Using default pattern glob ${DEFAULT_PATTERN_GLOB}`);
|
|
76
|
-
pattern = DEFAULT_PATTERN_GLOB;
|
|
77
|
-
} else if (pattern === "*") {
|
|
78
|
-
throw new Error(`Rejected pattern '*', please use a more specific pattern`);
|
|
79
|
-
} else {
|
|
80
|
-
console.log(`Using custom pattern glob ${pattern}`);
|
|
81
|
-
}
|
|
82
|
-
let findTargetVersion;
|
|
83
|
-
let releaseManifest;
|
|
84
|
-
if (node_process.env.BACKSTAGE_MANIFEST_FILE) {
|
|
85
|
-
releaseManifest = await fs__default.default.readJson(node_process.env.BACKSTAGE_MANIFEST_FILE);
|
|
86
|
-
findTargetVersion = createStrictVersionFinder({
|
|
87
|
-
releaseManifest
|
|
88
|
-
});
|
|
89
|
-
} else if (semver__default.default.valid(release)) {
|
|
90
|
-
releaseManifest = await releaseManifests.getManifestByVersion({ version: release });
|
|
91
|
-
findTargetVersion = createStrictVersionFinder({
|
|
92
|
-
releaseManifest
|
|
93
|
-
});
|
|
94
|
-
} else {
|
|
95
|
-
if (release === "next") {
|
|
96
|
-
const next = await releaseManifests.getManifestByReleaseLine({
|
|
97
|
-
releaseLine: "next",
|
|
98
|
-
versionsBaseUrl: node_process.env.BACKSTAGE_VERSIONS_BASE_URL
|
|
99
|
-
});
|
|
100
|
-
const main = await releaseManifests.getManifestByReleaseLine({
|
|
101
|
-
releaseLine: "main",
|
|
102
|
-
versionsBaseUrl: node_process.env.BACKSTAGE_VERSIONS_BASE_URL
|
|
103
|
-
});
|
|
104
|
-
releaseManifest = semver__default.default.gt(next.releaseVersion, main.releaseVersion) ? next : main;
|
|
105
|
-
} else {
|
|
106
|
-
releaseManifest = await releaseManifests.getManifestByReleaseLine({
|
|
107
|
-
releaseLine: release,
|
|
108
|
-
versionsBaseUrl: node_process.env.BACKSTAGE_VERSIONS_BASE_URL
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
findTargetVersion = createVersionFinder({
|
|
112
|
-
releaseLine: release,
|
|
113
|
-
releaseManifest
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
if (yarnPluginEnabled) {
|
|
117
|
-
console.log();
|
|
118
|
-
console.log(
|
|
119
|
-
`Updating yarn plugin to v${releaseManifest.releaseVersion}...`
|
|
120
|
-
);
|
|
121
|
-
console.log();
|
|
122
|
-
const yarnPluginUrl = node_process.env.BACKSTAGE_VERSIONS_BASE_URL ? `${node_process.env.BACKSTAGE_VERSIONS_BASE_URL}/v1/releases/${releaseManifest.releaseVersion}/yarn-plugin` : `https://versions.backstage.io/v1/releases/${releaseManifest.releaseVersion}/yarn-plugin`;
|
|
123
|
-
await cliCommon.run(["yarn", "plugin", "import", yarnPluginUrl]).waitForExit();
|
|
124
|
-
console.log();
|
|
125
|
-
}
|
|
126
|
-
const dependencyMap = await packages.mapDependencies(cliCommon.targetPaths.dir, pattern);
|
|
127
|
-
const versionBumps = /* @__PURE__ */ new Map();
|
|
128
|
-
await cliNode.runConcurrentTasks({
|
|
129
|
-
concurrencyFactor: 4,
|
|
130
|
-
items: dependencyMap.entries(),
|
|
131
|
-
async worker([name, pkgs]) {
|
|
132
|
-
let target;
|
|
133
|
-
try {
|
|
134
|
-
target = await findTargetVersion(name);
|
|
135
|
-
} catch (error) {
|
|
136
|
-
if (errors.isError(error) && error.name === "NotFoundError") {
|
|
137
|
-
console.log(`Package info not found, ignoring package ${name}`);
|
|
138
|
-
return;
|
|
139
|
-
}
|
|
140
|
-
throw error;
|
|
141
|
-
}
|
|
142
|
-
for (const pkg of pkgs) {
|
|
143
|
-
versionBumps.set(
|
|
144
|
-
pkg.name,
|
|
145
|
-
(versionBumps.get(pkg.name) ?? []).concat({
|
|
146
|
-
name,
|
|
147
|
-
location: pkg.location,
|
|
148
|
-
range: `^${target}`,
|
|
149
|
-
// TODO(Rugvip): Option to use something else than ^?
|
|
150
|
-
target
|
|
151
|
-
})
|
|
152
|
-
);
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
});
|
|
156
|
-
if (versionBumps.size === 0) {
|
|
157
|
-
console.log(chalk__default.default.green("All Backstage packages are up to date!"));
|
|
158
|
-
} else {
|
|
159
|
-
console.log(chalk__default.default.yellow("Some packages are outdated, updating"));
|
|
160
|
-
console.log();
|
|
161
|
-
const breakingUpdates = /* @__PURE__ */ new Map();
|
|
162
|
-
await cliNode.runConcurrentTasks({
|
|
163
|
-
concurrencyFactor: 4,
|
|
164
|
-
items: versionBumps.entries(),
|
|
165
|
-
async worker([name, deps]) {
|
|
166
|
-
const pkgPath = path.resolve(deps[0].location, "package.json");
|
|
167
|
-
const pkgJson = await fs__default.default.readJson(pkgPath);
|
|
168
|
-
for (const dep of deps) {
|
|
169
|
-
console.log(
|
|
170
|
-
`${chalk__default.default.cyan("bumping")} ${dep.name} in ${chalk__default.default.cyan(
|
|
171
|
-
name
|
|
172
|
-
)} to ${chalk__default.default.yellow(dep.range)}`
|
|
173
|
-
);
|
|
174
|
-
for (const depType of DEP_TYPES) {
|
|
175
|
-
if (depType in pkgJson && dep.name in pkgJson[depType]) {
|
|
176
|
-
const oldRange = pkgJson[depType][dep.name];
|
|
177
|
-
const oldLockfileRange = await asLockfileVersion(oldRange);
|
|
178
|
-
const useBackstageRange = yarnPluginEnabled && // Only use backstage:^ versions if the package is present in
|
|
179
|
-
// the manifest for the release we're bumping to.
|
|
180
|
-
releaseManifest.packages.find(
|
|
181
|
-
({ name: manifestPackageName }) => dep.name === manifestPackageName
|
|
182
|
-
) && // Don't use backstage:^ versions for peerDependencies; they only
|
|
183
|
-
// support npm and workspace: versions.
|
|
184
|
-
depType !== "peerDependencies";
|
|
185
|
-
const newRange = useBackstageRange ? "backstage:^" : dep.range;
|
|
186
|
-
pkgJson[depType][dep.name] = newRange;
|
|
187
|
-
const lockfileEntry = lockfile.get(dep.name)?.find((entry) => entry.range === oldLockfileRange);
|
|
188
|
-
if (lockfileEntry) {
|
|
189
|
-
const from = lockfileEntry.version;
|
|
190
|
-
const to = dep.target;
|
|
191
|
-
if (!semver__default.default.satisfies(to, `^${from}`)) {
|
|
192
|
-
breakingUpdates.set(dep.name, { from, to });
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
await fs__default.default.writeJson(pkgPath, pkgJson, { spaces: 2 });
|
|
199
|
-
}
|
|
200
|
-
});
|
|
201
|
-
console.log();
|
|
202
|
-
if (extendsDefaultPattern(pattern)) {
|
|
203
|
-
await bumpBackstageJsonVersion(
|
|
204
|
-
releaseManifest.releaseVersion,
|
|
205
|
-
yarnPluginEnabled
|
|
206
|
-
);
|
|
207
|
-
} else {
|
|
208
|
-
console.log(
|
|
209
|
-
chalk__default.default.yellow(
|
|
210
|
-
`Skipping backstage.json update as custom pattern is used`
|
|
211
|
-
)
|
|
212
|
-
);
|
|
213
|
-
}
|
|
214
|
-
if (!skipInstall) {
|
|
215
|
-
await utils.runYarnInstall();
|
|
216
|
-
} else {
|
|
217
|
-
console.log();
|
|
218
|
-
console.log(chalk__default.default.yellow(`Skipping yarn install`));
|
|
219
|
-
}
|
|
220
|
-
if (!skipMigrate) {
|
|
221
|
-
console.log();
|
|
222
|
-
const changed = await migrate.migrateMovedPackages({
|
|
223
|
-
pattern: patternFlag
|
|
224
|
-
});
|
|
225
|
-
if (changed && !skipInstall) {
|
|
226
|
-
await utils.runYarnInstall();
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
if (breakingUpdates.size > 0) {
|
|
230
|
-
console.log();
|
|
231
|
-
console.log(
|
|
232
|
-
chalk__default.default.yellow("\u26A0\uFE0F The following packages may have breaking changes:")
|
|
233
|
-
);
|
|
234
|
-
console.log();
|
|
235
|
-
for (const [name, { from, to }] of Array.from(
|
|
236
|
-
breakingUpdates.entries()
|
|
237
|
-
).sort()) {
|
|
238
|
-
console.log(
|
|
239
|
-
` ${chalk__default.default.yellow(name)} : ${chalk__default.default.yellow(from)} ~> ${chalk__default.default.yellow(
|
|
240
|
-
to
|
|
241
|
-
)}`
|
|
242
|
-
);
|
|
243
|
-
let path;
|
|
244
|
-
if (name.startsWith("@backstage/plugin-")) {
|
|
245
|
-
path = `plugins/${name.replace("@backstage/plugin-", "")}`;
|
|
246
|
-
} else if (name.startsWith("@backstage/")) {
|
|
247
|
-
path = `packages/${name.replace("@backstage/", "")}`;
|
|
248
|
-
}
|
|
249
|
-
if (path) {
|
|
250
|
-
console.log(
|
|
251
|
-
` https://github.com/backstage/backstage/blob/master/${path}/CHANGELOG.md`
|
|
252
|
-
);
|
|
253
|
-
}
|
|
254
|
-
console.log();
|
|
255
|
-
}
|
|
256
|
-
} else {
|
|
257
|
-
console.log();
|
|
258
|
-
}
|
|
259
|
-
if (yarnPluginEnabled) {
|
|
260
|
-
console.log();
|
|
261
|
-
console.log(
|
|
262
|
-
chalk__default.default.blue(
|
|
263
|
-
`${chalk__default.default.bold(
|
|
264
|
-
"NOTE"
|
|
265
|
-
)}: this bump used backstage:^ versions in package.json files, since the Backstage yarn plugin was detected in the repository. To migrate back to explicit npm versions, remove the plugin by running "yarn plugin remove @yarnpkg/plugin-backstage", then repeat this command.`
|
|
266
|
-
)
|
|
267
|
-
);
|
|
268
|
-
console.log();
|
|
269
|
-
}
|
|
270
|
-
console.log(chalk__default.default.green("Version bump complete!"));
|
|
271
|
-
}
|
|
272
|
-
console.log();
|
|
273
|
-
};
|
|
274
|
-
function createStrictVersionFinder(options) {
|
|
275
|
-
const releasePackages = new Map(
|
|
276
|
-
options.releaseManifest.packages.map((p) => [p.name, p.version])
|
|
277
|
-
);
|
|
278
|
-
return async function findTargetVersion(name) {
|
|
279
|
-
console.log(`Checking for updates of ${name}`);
|
|
280
|
-
const manifestVersion = releasePackages.get(name);
|
|
281
|
-
if (manifestVersion) {
|
|
282
|
-
return manifestVersion;
|
|
283
|
-
}
|
|
284
|
-
throw new errors.NotFoundError(`Package ${name} not found in release manifest`);
|
|
285
|
-
};
|
|
286
|
-
}
|
|
287
|
-
function createVersionFinder(options) {
|
|
288
|
-
const {
|
|
289
|
-
releaseLine = "latest",
|
|
290
|
-
packageInfoFetcher = packages.fetchPackageInfo,
|
|
291
|
-
releaseManifest
|
|
292
|
-
} = options;
|
|
293
|
-
const distTag = releaseLine === "main" ? "latest" : releaseLine;
|
|
294
|
-
const found = /* @__PURE__ */ new Map();
|
|
295
|
-
const releasePackages = new Map(
|
|
296
|
-
releaseManifest?.packages.map((p) => [p.name, p.version])
|
|
297
|
-
);
|
|
298
|
-
return async function findTargetVersion(name) {
|
|
299
|
-
const existing = found.get(name);
|
|
300
|
-
if (existing) {
|
|
301
|
-
return existing;
|
|
302
|
-
}
|
|
303
|
-
console.log(`Checking for updates of ${name}`);
|
|
304
|
-
const manifestVersion = releasePackages.get(name);
|
|
305
|
-
if (manifestVersion) {
|
|
306
|
-
return manifestVersion;
|
|
307
|
-
}
|
|
308
|
-
const info = await packageInfoFetcher(name);
|
|
309
|
-
const latestVersion = info["dist-tags"].latest;
|
|
310
|
-
if (!latestVersion) {
|
|
311
|
-
throw new Error(`No target 'latest' version found for ${name}`);
|
|
312
|
-
}
|
|
313
|
-
const taggedVersion = info["dist-tags"][distTag];
|
|
314
|
-
if (distTag === "latest" || !taggedVersion) {
|
|
315
|
-
found.set(name, latestVersion);
|
|
316
|
-
return latestVersion;
|
|
317
|
-
}
|
|
318
|
-
const latestVersionDateStr = info.time[latestVersion];
|
|
319
|
-
const taggedVersionDateStr = info.time[taggedVersion];
|
|
320
|
-
if (!latestVersionDateStr) {
|
|
321
|
-
throw new Error(
|
|
322
|
-
`No time available for version '${latestVersion}' of ${name}`
|
|
323
|
-
);
|
|
324
|
-
}
|
|
325
|
-
if (!taggedVersionDateStr) {
|
|
326
|
-
throw new Error(
|
|
327
|
-
`No time available for version '${taggedVersion}' of ${name}`
|
|
328
|
-
);
|
|
329
|
-
}
|
|
330
|
-
const latestVersionRelease = new Date(latestVersionDateStr).getTime();
|
|
331
|
-
const taggedVersionRelease = new Date(taggedVersionDateStr).getTime();
|
|
332
|
-
if (latestVersionRelease > taggedVersionRelease) {
|
|
333
|
-
found.set(name, latestVersion);
|
|
334
|
-
return latestVersion;
|
|
335
|
-
}
|
|
336
|
-
found.set(name, taggedVersion);
|
|
337
|
-
return taggedVersion;
|
|
338
|
-
};
|
|
339
|
-
}
|
|
340
|
-
function getBackstageJsonPath() {
|
|
341
|
-
return cliCommon.targetPaths.resolveRoot(cliCommon.BACKSTAGE_JSON);
|
|
342
|
-
}
|
|
343
|
-
async function getBackstageJson() {
|
|
344
|
-
const backstageJsonPath = getBackstageJsonPath();
|
|
345
|
-
return fs__default.default.readJSON(backstageJsonPath).catch((e) => {
|
|
346
|
-
if (e.code === "ENOENT") {
|
|
347
|
-
return;
|
|
348
|
-
}
|
|
349
|
-
throw e;
|
|
350
|
-
});
|
|
351
|
-
}
|
|
352
|
-
async function bumpBackstageJsonVersion(version, useYarnPlugin) {
|
|
353
|
-
const backstageJson = await getBackstageJson();
|
|
354
|
-
const prevVersion = backstageJson?.version;
|
|
355
|
-
if (prevVersion === version) {
|
|
356
|
-
return;
|
|
357
|
-
}
|
|
358
|
-
const { yellow, cyan, green } = chalk__default.default;
|
|
359
|
-
if (prevVersion) {
|
|
360
|
-
const from = encodeURIComponent(prevVersion);
|
|
361
|
-
const to = encodeURIComponent(version);
|
|
362
|
-
let link = `https://backstage.github.io/upgrade-helper/?from=${from}&to=${to}`;
|
|
363
|
-
if (useYarnPlugin) {
|
|
364
|
-
link += "&yarnPlugin=1";
|
|
365
|
-
}
|
|
366
|
-
console.log(
|
|
367
|
-
yellow(
|
|
368
|
-
`Upgraded from release ${green(prevVersion)} to ${green(
|
|
369
|
-
version
|
|
370
|
-
)}, please review these template changes:`
|
|
371
|
-
)
|
|
372
|
-
);
|
|
373
|
-
console.log();
|
|
374
|
-
console.log(` ${cyan(link)}`);
|
|
375
|
-
console.log();
|
|
376
|
-
} else {
|
|
377
|
-
console.log(
|
|
378
|
-
yellow(
|
|
379
|
-
`Your project is now at version ${version}, which has been written to ${cliCommon.BACKSTAGE_JSON}`
|
|
380
|
-
)
|
|
381
|
-
);
|
|
382
|
-
}
|
|
383
|
-
await fs__default.default.writeJson(
|
|
384
|
-
getBackstageJsonPath(),
|
|
385
|
-
{ ...backstageJson, version },
|
|
386
|
-
{
|
|
387
|
-
spaces: 2,
|
|
388
|
-
encoding: "utf8"
|
|
389
|
-
}
|
|
390
|
-
);
|
|
391
|
-
}
|
|
392
|
-
async function asLockfileVersion(version) {
|
|
393
|
-
if (version === "backstage:^") {
|
|
394
|
-
return `backstage:${(await getBackstageJson())?.version}`;
|
|
395
|
-
}
|
|
396
|
-
return version;
|
|
397
|
-
}
|
|
398
|
-
|
|
399
|
-
exports.bumpBackstageJsonVersion = bumpBackstageJsonVersion;
|
|
400
|
-
exports.createStrictVersionFinder = createStrictVersionFinder;
|
|
401
|
-
exports.createVersionFinder = createVersionFinder;
|
|
402
|
-
exports.default = bump;
|
|
403
|
-
//# sourceMappingURL=bump.cjs.js.map
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var cliNode = require('@backstage/cli-node');
|
|
6
|
-
var chalk = require('chalk');
|
|
7
|
-
var path = require('node:path');
|
|
8
|
-
var cleye = require('cleye');
|
|
9
|
-
var fs = require('fs-extra');
|
|
10
|
-
var minimatch = require('minimatch');
|
|
11
|
-
var utils = require('../../lib/utils.cjs.js');
|
|
12
|
-
var replace = require('replace-in-file');
|
|
13
|
-
|
|
14
|
-
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
15
|
-
|
|
16
|
-
var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
|
|
17
|
-
var replace__default = /*#__PURE__*/_interopDefaultCompat(replace);
|
|
18
|
-
|
|
19
|
-
var migrate = async ({ args, info }) => {
|
|
20
|
-
const {
|
|
21
|
-
flags: { pattern, skipCodeChanges }
|
|
22
|
-
} = cleye.cli(
|
|
23
|
-
{
|
|
24
|
-
help: info,
|
|
25
|
-
booleanFlagNegation: true,
|
|
26
|
-
flags: {
|
|
27
|
-
pattern: {
|
|
28
|
-
type: String,
|
|
29
|
-
description: "Override glob for matching packages to upgrade"
|
|
30
|
-
},
|
|
31
|
-
skipCodeChanges: {
|
|
32
|
-
type: Boolean,
|
|
33
|
-
description: "Skip code changes and only update package.json files"
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
|
-
void 0,
|
|
38
|
-
args
|
|
39
|
-
);
|
|
40
|
-
const changed = await migrateMovedPackages({
|
|
41
|
-
pattern,
|
|
42
|
-
skipCodeChanges
|
|
43
|
-
});
|
|
44
|
-
if (changed) {
|
|
45
|
-
await utils.runYarnInstall();
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
async function migrateMovedPackages(options) {
|
|
49
|
-
console.log(
|
|
50
|
-
"Checking for moved packages to the @backstage-community namespace..."
|
|
51
|
-
);
|
|
52
|
-
const packages = await cliNode.PackageGraph.listTargetPackages();
|
|
53
|
-
let didAnythingChange = false;
|
|
54
|
-
for (const pkg of packages) {
|
|
55
|
-
const pkgName = pkg.packageJson.name;
|
|
56
|
-
let didPackageChange = false;
|
|
57
|
-
const movedPackages = /* @__PURE__ */ new Map();
|
|
58
|
-
for (const depType of [
|
|
59
|
-
"dependencies",
|
|
60
|
-
"devDependencies",
|
|
61
|
-
"peerDependencies"
|
|
62
|
-
]) {
|
|
63
|
-
const depsObj = pkg.packageJson[depType];
|
|
64
|
-
if (!depsObj) {
|
|
65
|
-
continue;
|
|
66
|
-
}
|
|
67
|
-
for (const [depName, depVersion] of Object.entries(depsObj)) {
|
|
68
|
-
if (options?.pattern && !minimatch.minimatch(depName, options.pattern)) {
|
|
69
|
-
continue;
|
|
70
|
-
}
|
|
71
|
-
let packageInfo;
|
|
72
|
-
try {
|
|
73
|
-
packageInfo = await fs.readJson(
|
|
74
|
-
require.resolve(`${depName}/package.json`, {
|
|
75
|
-
paths: [pkg.dir]
|
|
76
|
-
})
|
|
77
|
-
);
|
|
78
|
-
} catch (ex) {
|
|
79
|
-
console.warn(
|
|
80
|
-
chalk__default.default.yellow(
|
|
81
|
-
`Could not find package.json for ${depName}@${depVersion} in ${pkgName} (${depType})`
|
|
82
|
-
)
|
|
83
|
-
);
|
|
84
|
-
continue;
|
|
85
|
-
}
|
|
86
|
-
const movedPackageName = packageInfo.backstage?.moved;
|
|
87
|
-
if (movedPackageName) {
|
|
88
|
-
movedPackages.set(depName, movedPackageName);
|
|
89
|
-
console.log(
|
|
90
|
-
chalk__default.default.yellow(
|
|
91
|
-
`Found a moved package ${depName}@${depVersion} -> ${movedPackageName} in ${pkgName} (${depType})`
|
|
92
|
-
)
|
|
93
|
-
);
|
|
94
|
-
didPackageChange = true;
|
|
95
|
-
didAnythingChange = true;
|
|
96
|
-
depsObj[movedPackageName] = depsObj[depName];
|
|
97
|
-
delete depsObj[depName];
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
if (didPackageChange) {
|
|
102
|
-
await fs.writeJson(path.resolve(pkg.dir, "package.json"), pkg.packageJson, {
|
|
103
|
-
spaces: 2
|
|
104
|
-
});
|
|
105
|
-
if (!options?.skipCodeChanges) {
|
|
106
|
-
const files = await replace__default.default({
|
|
107
|
-
files: path.join(pkg.dir, "src", "**"),
|
|
108
|
-
allowEmptyPaths: true,
|
|
109
|
-
processor: (content) => {
|
|
110
|
-
return Array.from(movedPackages.entries()).reduce(
|
|
111
|
-
(newContent, [oldName, newName]) => {
|
|
112
|
-
return newContent.replace(new RegExp(`"${oldName}"`, "g"), `"${newName}"`).replace(new RegExp(`'${oldName}'`, "g"), `'${newName}'`).replace(new RegExp(`${oldName}/`, "g"), `${newName}/`);
|
|
113
|
-
},
|
|
114
|
-
content
|
|
115
|
-
);
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
if (files.length > 0) {
|
|
119
|
-
console.log(
|
|
120
|
-
chalk__default.default.green(
|
|
121
|
-
`Updated ${files.length} files in ${pkgName} to use the new package names`
|
|
122
|
-
)
|
|
123
|
-
);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
return didAnythingChange;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
exports.default = migrate;
|
|
132
|
-
exports.migrateMovedPackages = migrateMovedPackages;
|
|
133
|
-
//# sourceMappingURL=migrate.cjs.js.map
|