@backstage/cli 0.35.4 → 0.35.5-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.
Files changed (77) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/index.cjs.js +1 -0
  3. package/dist/lib/cache/SuccessCache.cjs.js +2 -2
  4. package/dist/lib/typeDistProject.cjs.js +2 -2
  5. package/dist/lib/version.cjs.js +4 -3
  6. package/dist/lib/yarnPlugin.cjs.js +2 -2
  7. package/dist/modules/build/commands/package/build/command.cjs.js +7 -7
  8. package/dist/modules/build/commands/package/start/command.cjs.js +3 -3
  9. package/dist/modules/build/commands/package/start/startBackend.cjs.js +2 -2
  10. package/dist/modules/build/commands/package/start/startFrontend.cjs.js +3 -4
  11. package/dist/modules/build/commands/repo/build.cjs.js +6 -7
  12. package/dist/modules/build/commands/repo/start.cjs.js +3 -3
  13. package/dist/modules/build/lib/buildBackend.cjs.js +0 -2
  14. package/dist/modules/build/lib/buildFrontend.cjs.js +1 -4
  15. package/dist/modules/build/lib/builder/config.cjs.js +5 -5
  16. package/dist/modules/build/lib/builder/packager.cjs.js +7 -8
  17. package/dist/modules/build/lib/bundler/config.cjs.js +1 -2
  18. package/dist/modules/build/lib/bundler/hasReactDomClient.cjs.js +2 -2
  19. package/dist/modules/build/lib/bundler/linkWorkspaces.cjs.js +2 -2
  20. package/dist/modules/build/lib/bundler/moduleFederation.cjs.js +2 -2
  21. package/dist/modules/build/lib/bundler/packageDetection.cjs.js +2 -2
  22. package/dist/modules/build/lib/bundler/paths.cjs.js +8 -6
  23. package/dist/modules/build/lib/bundler/server.cjs.js +10 -10
  24. package/dist/modules/build/lib/packager/createDistWorkspace.cjs.js +9 -9
  25. package/dist/modules/build/lib/packager/productionPack.cjs.js +1 -1
  26. package/dist/{lib → modules/build/lib}/role.cjs.js +2 -2
  27. package/dist/modules/build/lib/runner/runBackend.cjs.js +2 -2
  28. package/dist/modules/config/lib/config.cjs.js +4 -4
  29. package/dist/modules/create-github-app/commands/create-github-app/index.cjs.js +2 -2
  30. package/dist/modules/info/commands/info.cjs.js +4 -5
  31. package/dist/modules/lint/commands/package/lint.cjs.js +4 -4
  32. package/dist/modules/lint/commands/repo/lint.cjs.js +8 -9
  33. package/dist/modules/maintenance/commands/package/clean.cjs.js +4 -4
  34. package/dist/modules/maintenance/commands/package/pack.cjs.js +5 -5
  35. package/dist/modules/maintenance/commands/repo/clean.cjs.js +3 -4
  36. package/dist/modules/maintenance/commands/repo/fix.cjs.js +7 -7
  37. package/dist/modules/maintenance/commands/repo/list-deprecations.cjs.js +4 -4
  38. package/dist/modules/migrate/commands/packageRole.cjs.js +2 -2
  39. package/dist/modules/migrate/commands/versions/bump.cjs.js +8 -9
  40. package/dist/modules/new/lib/codeowners/codeowners.cjs.js +2 -2
  41. package/dist/modules/new/lib/execution/PortableTemplater.cjs.js +2 -3
  42. package/dist/modules/new/lib/execution/installNewPackage.cjs.js +4 -4
  43. package/dist/modules/new/lib/execution/writeTemplateContents.cjs.js +1 -2
  44. package/dist/modules/new/lib/preparation/collectPortableTemplateInput.cjs.js +2 -2
  45. package/dist/modules/new/lib/preparation/loadPortableTemplate.cjs.js +2 -2
  46. package/dist/modules/new/lib/preparation/loadPortableTemplateConfig.cjs.js +2 -2
  47. package/dist/modules/test/commands/package/test.cjs.js +1 -2
  48. package/dist/modules/test/commands/repo/test.cjs.js +3 -4
  49. package/dist/modules/test/index.cjs.js +3 -1
  50. package/dist/modules/translations/commands/export.cjs.js +104 -0
  51. package/dist/modules/translations/commands/import.cjs.js +141 -0
  52. package/dist/modules/translations/index.cjs.js +59 -0
  53. package/dist/modules/translations/lib/discoverPackages.cjs.js +121 -0
  54. package/dist/modules/translations/lib/extractTranslations.cjs.js +71 -0
  55. package/dist/modules/translations/lib/messageFilePath.cjs.js +43 -0
  56. package/dist/packages/backend-defaults/package.json.cjs.js +1 -1
  57. package/dist/packages/backend-plugin-api/package.json.cjs.js +1 -1
  58. package/dist/packages/backend-test-utils/package.json.cjs.js +1 -1
  59. package/dist/packages/catalog-client/package.json.cjs.js +1 -1
  60. package/dist/packages/cli/package.json.cjs.js +5 -5
  61. package/dist/packages/core-app-api/package.json.cjs.js +1 -1
  62. package/dist/packages/core-components/package.json.cjs.js +1 -1
  63. package/dist/packages/core-plugin-api/package.json.cjs.js +1 -1
  64. package/dist/packages/dev-utils/package.json.cjs.js +1 -1
  65. package/dist/packages/frontend-defaults/package.json.cjs.js +1 -1
  66. package/dist/packages/frontend-plugin-api/package.json.cjs.js +1 -1
  67. package/dist/packages/frontend-test-utils/package.json.cjs.js +1 -1
  68. package/dist/packages/test-utils/package.json.cjs.js +1 -1
  69. package/dist/plugins/auth-backend/package.json.cjs.js +1 -1
  70. package/dist/plugins/auth-backend-module-guest-provider/package.json.cjs.js +1 -1
  71. package/dist/plugins/catalog-node/package.json.cjs.js +1 -1
  72. package/dist/plugins/scaffolder-node/package.json.cjs.js +1 -1
  73. package/dist/plugins/scaffolder-node-test-utils/package.json.cjs.js +1 -1
  74. package/package.json +33 -33
  75. package/dist/lib/parallel.cjs.js +0 -141
  76. package/dist/lib/paths.cjs.js +0 -8
  77. /package/dist/{lib → modules/build/lib}/entryPoints.cjs.js +0 -0
@@ -6,7 +6,7 @@ var path = require('node:path');
6
6
  var openBrowser = require('react-dev-utils/openBrowser');
7
7
  var core = require('@rspack/core');
8
8
  var devServer = require('@rspack/dev-server');
9
- var paths$1 = require('../../../../lib/paths.cjs.js');
9
+ var cliCommon = require('@backstage/cli-common');
10
10
  var config = require('../../../config/lib/config.cjs.js');
11
11
  var config$1 = require('./config.cjs.js');
12
12
  var packageDetection = require('./packageDetection.cjs.js');
@@ -20,8 +20,8 @@ var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
20
20
  var openBrowser__default = /*#__PURE__*/_interopDefaultCompat(openBrowser);
21
21
 
22
22
  async function serveBundle(options) {
23
- const paths$2 = paths.resolveBundlingPaths(options);
24
- const targetPkg = await fs__default.default.readJson(paths$2.targetPackageJson);
23
+ const paths$1 = paths.resolveBundlingPaths(options);
24
+ const targetPkg = await fs__default.default.readJson(paths$1.targetPackageJson);
25
25
  if (options.verifyVersions) {
26
26
  if (targetPkg.dependencies?.["react-router"]?.includes("beta") || targetPkg.dependencies?.["react-router-dom"]?.includes("beta")) {
27
27
  console.warn(
@@ -35,7 +35,7 @@ DEPRECATION WARNING: React Router Beta is deprecated and support for it will be
35
35
  }
36
36
  checkReactVersion();
37
37
  const { name } = await fs__default.default.readJson(
38
- path.resolve(options.targetDir ?? paths$1.paths.targetDir, "package.json")
38
+ path.resolve(options.targetDir ?? cliCommon.targetPaths.dir, "package.json")
39
39
  );
40
40
  let devServer$1 = void 0;
41
41
  let latestFrontendAppConfigs = [];
@@ -86,13 +86,13 @@ DEPRECATION WARNING: React Router Beta is deprecated and support for it will be
86
86
  );
87
87
  const detectedModulesEntryPoint = await packageDetection.createDetectedModulesEntryPoint({
88
88
  config: fullConfig,
89
- targetPath: paths$2.targetPath,
89
+ targetPath: paths$1.targetPath,
90
90
  watch() {
91
91
  triggerReload();
92
92
  }
93
93
  });
94
94
  const moduleFederationSharedDependenciesEntryPoint = await moduleFederation.createRuntimeSharedDependenciesEntryPoint({
95
- targetPath: paths$2.targetPath,
95
+ targetPath: paths$1.targetPath,
96
96
  watch() {
97
97
  triggerReload();
98
98
  }
@@ -109,7 +109,7 @@ DEPRECATION WARNING: React Router Beta is deprecated and support for it will be
109
109
  return latestFrontendAppConfigs;
110
110
  }
111
111
  };
112
- const config$2 = await config$1.createConfig(paths$2, {
112
+ const config$2 = await config$1.createConfig(paths$1, {
113
113
  ...commonConfigOptions,
114
114
  additionalEntryPoints: [
115
115
  ...detectedModulesEntryPoint,
@@ -141,9 +141,9 @@ DEPRECATION WARNING: React Router Beta is deprecated and support for it will be
141
141
  publicPath: config$2.output?.publicPath,
142
142
  stats: "errors-warnings"
143
143
  },
144
- static: paths$2.targetPublic ? {
144
+ static: paths$1.targetPublic ? {
145
145
  publicPath: config$2.output?.publicPath,
146
- directory: paths$2.targetPublic
146
+ directory: paths$1.targetPublic
147
147
  } : void 0,
148
148
  historyApiFallback: options.moduleFederationRemote ? false : {
149
149
  // Paths with dots should still use the history fallback.
@@ -208,7 +208,7 @@ DEPRECATION WARNING: React Router Beta is deprecated and support for it will be
208
208
  function checkReactVersion() {
209
209
  try {
210
210
  const reactPkgPath = require.resolve("react/package.json", {
211
- paths: [paths$1.paths.targetRoot]
211
+ paths: [cliCommon.targetPaths.rootDir]
212
212
  });
213
213
  const reactPkg = require(reactPkgPath);
214
214
  if (reactPkg.version.startsWith("16.")) {
@@ -6,14 +6,12 @@ var path = require('node:path');
6
6
  var os = require('node:os');
7
7
  var tar = require('tar');
8
8
  var partition = require('lodash/partition');
9
- var paths = require('../../../../lib/paths.cjs.js');
10
9
  var cliCommon = require('@backstage/cli-common');
11
10
  var _package = require('../../../../packages/cli/package.json.cjs.js');
12
11
  var packager = require('../builder/packager.cjs.js');
13
12
  var types = require('../builder/types.cjs.js');
14
13
  var productionPack = require('./productionPack.cjs.js');
15
14
  var cliNode = require('@backstage/cli-node');
16
- var parallel = require('../../../../lib/parallel.cjs.js');
17
15
  var typeDistProject = require('../../../../lib/typeDistProject.cjs.js');
18
16
 
19
17
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
@@ -111,7 +109,9 @@ async function createDistWorkspace(packageNames, options = {}) {
111
109
  targetDir: pkg.dir,
112
110
  packageJson: pkg.packageJson,
113
111
  outputs,
114
- logPrefix: `${chalk__default.default.cyan(path.relative(paths.paths.targetRoot, pkg.dir))}: `,
112
+ logPrefix: `${chalk__default.default.cyan(
113
+ path.relative(cliCommon.targetPaths.rootDir, pkg.dir)
114
+ )}: `,
115
115
  minify: options.minify,
116
116
  workspacePackages: packages
117
117
  });
@@ -119,7 +119,7 @@ async function createDistWorkspace(packageNames, options = {}) {
119
119
  }
120
120
  await packager.buildPackages(standardBuilds);
121
121
  if (customBuild.length > 0) {
122
- await parallel.runParallelWorkers({
122
+ await cliNode.runConcurrentTasks({
123
123
  items: customBuild,
124
124
  worker: async ({ name, dir, args }) => {
125
125
  await cliCommon.run(["yarn", "run", "build", ...args || []], {
@@ -141,11 +141,11 @@ async function createDistWorkspace(packageNames, options = {}) {
141
141
  for (const file of files) {
142
142
  const src = typeof file === "string" ? file : file.src;
143
143
  const dest = typeof file === "string" ? file : file.dest;
144
- await fs__default.default.copy(paths.paths.resolveTargetRoot(src), path.resolve(targetDir, dest));
144
+ await fs__default.default.copy(cliCommon.targetPaths.resolveRoot(src), path.resolve(targetDir, dest));
145
145
  }
146
146
  if (options.skeleton) {
147
147
  const skeletonFiles = targets.map((target) => {
148
- const dir = path.relative(paths.paths.targetRoot, target.dir);
148
+ const dir = path.relative(cliCommon.targetPaths.rootDir, target.dir);
149
149
  return path.join(dir, "package.json");
150
150
  }).sort();
151
151
  await tar__namespace.create(
@@ -175,7 +175,7 @@ async function moveToDistWorkspace(workspaceDir, localPackages, alwaysPack, enab
175
175
  await Promise.all(
176
176
  fastPackPackages.map(async (target) => {
177
177
  console.log(`Moving ${target.name} into dist workspace`);
178
- const outputDir = path.relative(paths.paths.targetRoot, target.dir);
178
+ const outputDir = path.relative(cliCommon.targetPaths.rootDir, target.dir);
179
179
  const absoluteOutputPath = path.resolve(workspaceDir, outputDir);
180
180
  await productionPack.productionPack({
181
181
  packageDir: target.dir,
@@ -190,7 +190,7 @@ async function moveToDistWorkspace(workspaceDir, localPackages, alwaysPack, enab
190
190
  await cliCommon.run(["yarn", "pack", "--filename", archivePath], {
191
191
  cwd: target.dir
192
192
  }).waitForExit();
193
- const outputDir = path.relative(paths.paths.targetRoot, target.dir);
193
+ const outputDir = path.relative(cliCommon.targetPaths.rootDir, target.dir);
194
194
  const absoluteOutputPath = path.resolve(workspaceDir, outputDir);
195
195
  await fs__default.default.ensureDir(absoluteOutputPath);
196
196
  await tar__namespace.extract({
@@ -223,7 +223,7 @@ async function moveToDistWorkspace(workspaceDir, localPackages, alwaysPack, enab
223
223
  for (const target of unsafePackages) {
224
224
  await pack(target, `temp-package.tgz`);
225
225
  }
226
- await parallel.runParallelWorkers({
226
+ await cliNode.runConcurrentTasks({
227
227
  items: safePackages.map((target, index) => ({ target, index })),
228
228
  worker: async ({ target, index }) => {
229
229
  await pack(target, `temp-package-${index}.tgz`);
@@ -3,7 +3,7 @@
3
3
  var fs = require('fs-extra');
4
4
  var npmPackList = require('npm-packlist');
5
5
  var path = require('node:path');
6
- var entryPoints = require('../../../../lib/entryPoints.cjs.js');
6
+ var entryPoints = require('../entryPoints.cjs.js');
7
7
  var typeDistProject = require('../../../../lib/typeDistProject.cjs.js');
8
8
 
9
9
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var fs = require('fs-extra');
4
- var paths = require('./paths.cjs.js');
4
+ var cliCommon = require('@backstage/cli-common');
5
5
  var cliNode = require('@backstage/cli-node');
6
6
 
7
7
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
@@ -12,7 +12,7 @@ async function findRoleFromCommand(opts) {
12
12
  if (opts.role) {
13
13
  return cliNode.PackageRoles.getRoleInfo(opts.role)?.role;
14
14
  }
15
- const pkg = await fs__default.default.readJson(paths.paths.resolveTarget("package.json"));
15
+ const pkg = await fs__default.default.readJson(cliCommon.targetPaths.resolve("package.json"));
16
16
  const info = cliNode.PackageRoles.getRoleFromPackage(pkg);
17
17
  if (!info) {
18
18
  throw new Error(`Target package must have 'backstage.role' set`);
@@ -7,7 +7,7 @@ var ServerDataStore = require('../ipc/ServerDataStore.cjs.js');
7
7
  var debounce = require('lodash/debounce');
8
8
  var node_url = require('node:url');
9
9
  var path = require('node:path');
10
- var paths = require('../../../../lib/paths.cjs.js');
10
+ var cliCommon = require('@backstage/cli-common');
11
11
  var spawn = require('cross-spawn');
12
12
 
13
13
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
@@ -86,7 +86,7 @@ async function runBackend(options) {
86
86
  ...process.env,
87
87
  BACKSTAGE_CLI_LINKED_WORKSPACE: options.linkedWorkspace,
88
88
  BACKSTAGE_CLI_CHANNEL: "1",
89
- ESBK_TSCONFIG_PATH: paths.paths.resolveTargetRoot("tsconfig.json")
89
+ ESBK_TSCONFIG_PATH: cliCommon.targetPaths.resolveRoot("tsconfig.json")
90
90
  },
91
91
  serialization: "advanced"
92
92
  }
@@ -2,13 +2,13 @@
2
2
 
3
3
  var configLoader = require('@backstage/config-loader');
4
4
  var config = require('@backstage/config');
5
- var paths = require('../../../lib/paths.cjs.js');
5
+ var cliCommon = require('@backstage/cli-common');
6
6
  var getPackages = require('@manypkg/get-packages');
7
7
  var cliNode = require('@backstage/cli-node');
8
8
  var path = require('node:path');
9
9
 
10
10
  async function loadCliConfig(options) {
11
- const targetDir = options.targetDir ?? paths.paths.targetDir;
11
+ const targetDir = options.targetDir ?? cliCommon.targetPaths.dir;
12
12
  const { packages } = await getPackages.getPackages(targetDir);
13
13
  let localPackageNames;
14
14
  if (options.fromPackage) {
@@ -31,14 +31,14 @@ async function loadCliConfig(options) {
31
31
  const schema = await configLoader.loadConfigSchema({
32
32
  dependencies: localPackageNames,
33
33
  // Include the package.json in the project root if it exists
34
- packagePaths: [paths.paths.resolveTargetRoot("package.json")],
34
+ packagePaths: [cliCommon.targetPaths.resolveRoot("package.json")],
35
35
  noUndeclaredProperties: options.strict
36
36
  });
37
37
  const source = configLoader.ConfigSources.default({
38
38
  allowMissingDefaultConfig: true,
39
39
  substitutionFunc: options.mockEnv ? async (name) => process.env[name] || "x" : void 0,
40
40
  watch: Boolean(options.watch),
41
- rootDir: paths.paths.targetRoot,
41
+ rootDir: cliCommon.targetPaths.rootDir,
42
42
  argv: options.args.flatMap((t) => ["--config", path.resolve(targetDir, t)])
43
43
  });
44
44
  const appConfigs = await new Promise((resolve, reject) => {
@@ -6,7 +6,7 @@ var fs = require('fs-extra');
6
6
  var chalk = require('chalk');
7
7
  var yaml = require('yaml');
8
8
  var inquirer = require('inquirer');
9
- var paths = require('../../../../lib/paths.cjs.js');
9
+ var cliCommon = require('@backstage/cli-common');
10
10
  var GithubCreateAppServer = require('./GithubCreateAppServer.cjs.js');
11
11
  var openBrowser = require('react-dev-utils/openBrowser');
12
12
 
@@ -51,7 +51,7 @@ var index = async (org) => {
51
51
  const fileName = `github-app-${slug}-credentials.yaml`;
52
52
  const content = `# Name: ${name}
53
53
  ${yaml.stringify(config)}`;
54
- await fs__default.default.writeFile(paths.paths.resolveTargetRoot(fileName), content);
54
+ await fs__default.default.writeFile(cliCommon.targetPaths.resolveRoot(fileName), content);
55
55
  console.log(`GitHub App configuration written to ${chalk__default.default.cyan(fileName)}`);
56
56
  console.log(
57
57
  chalk__default.default.yellow(
@@ -5,7 +5,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _package = require('../../../packages/cli/package.json.cjs.js');
6
6
  var os = require('node:os');
7
7
  var cliCommon = require('@backstage/cli-common');
8
- var paths = require('../../../lib/paths.cjs.js');
9
8
  var Lockfile = require('../../../lib/versioning/Lockfile.cjs.js');
10
9
  var minimatch = require('minimatch');
11
10
  require('@manypkg/get-packages');
@@ -34,8 +33,8 @@ function hasBackstageField(packageName, targetPath) {
34
33
  var info = async (options) => {
35
34
  await new Promise(async () => {
36
35
  const yarnVersion = await cliCommon.runOutput(["yarn", "--version"]);
37
- const isLocal = fs__default.default.existsSync(paths.paths.resolveOwn("./src"));
38
- const backstageFile = paths.paths.resolveTargetRoot("backstage.json");
36
+ const isLocal = fs__default.default.existsSync(cliCommon.findOwnPaths(__dirname).resolve("./src"));
37
+ const backstageFile = cliCommon.targetPaths.resolveRoot("backstage.json");
39
38
  let backstageVersion = "N/A";
40
39
  if (fs__default.default.existsSync(backstageFile)) {
41
40
  try {
@@ -57,9 +56,9 @@ var info = async (options) => {
57
56
  cli: { version: _package.version, local: isLocal },
58
57
  backstage: backstageVersion
59
58
  };
60
- const lockfilePath = paths.paths.resolveTargetRoot("yarn.lock");
59
+ const lockfilePath = cliCommon.targetPaths.resolveRoot("yarn.lock");
61
60
  const lockfile = await Lockfile.Lockfile.load(lockfilePath);
62
- const targetPath = paths.paths.targetRoot;
61
+ const targetPath = cliCommon.targetPaths.rootDir;
63
62
  const workspacePackages = /* @__PURE__ */ new Map();
64
63
  try {
65
64
  const packages = await cliNode.PackageGraph.listTargetPackages();
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var fs = require('fs-extra');
6
- var paths = require('../../../../lib/paths.cjs.js');
6
+ var cliCommon = require('@backstage/cli-common');
7
7
  var eslint = require('eslint');
8
8
 
9
9
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
@@ -12,7 +12,7 @@ var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
12
12
 
13
13
  var lint = async (directories, opts) => {
14
14
  const eslint$1 = new eslint.ESLint({
15
- cwd: paths.paths.targetDir,
15
+ cwd: cliCommon.targetPaths.dir,
16
16
  fix: opts.fix,
17
17
  extensions: ["js", "jsx", "ts", "tsx", "mjs", "cjs"]
18
18
  });
@@ -27,12 +27,12 @@ var lint = async (directories, opts) => {
27
27
  }
28
28
  const formatter = await eslint$1.loadFormatter(opts.format);
29
29
  if (opts.format === "eslint-formatter-friendly") {
30
- process.chdir(paths.paths.targetRoot);
30
+ process.chdir(cliCommon.targetPaths.rootDir);
31
31
  }
32
32
  const resultText = await formatter.format(results);
33
33
  if (resultText) {
34
34
  if (opts.outputFile) {
35
- await fs__default.default.writeFile(paths.paths.resolveTarget(opts.outputFile), resultText);
35
+ await fs__default.default.writeFile(cliCommon.targetPaths.resolve(opts.outputFile), resultText);
36
36
  } else {
37
37
  console.log(resultText);
38
38
  }
@@ -5,8 +5,7 @@ var fs = require('fs-extra');
5
5
  var crypto = require('node:crypto');
6
6
  var path = require('node:path');
7
7
  var cliNode = require('@backstage/cli-node');
8
- var paths = require('../../../../lib/paths.cjs.js');
9
- var parallel = require('../../../../lib/parallel.cjs.js');
8
+ var cliCommon = require('@backstage/cli-common');
10
9
  var optionsParser = require('../../../../lib/optionsParser.cjs.js');
11
10
  var SuccessCache = require('../../../../lib/cache/SuccessCache.cjs.js');
12
11
 
@@ -25,7 +24,7 @@ async function command(opts, cmd) {
25
24
  const cache = new SuccessCache.SuccessCache("lint", opts.successCacheDir);
26
25
  const cacheContext = opts.successCache ? {
27
26
  entries: await cache.read(),
28
- lockfile: await cliNode.Lockfile.load(paths.paths.resolveTargetRoot("yarn.lock"))
27
+ lockfile: await cliNode.Lockfile.load(cliCommon.targetPaths.resolveRoot("yarn.lock"))
29
28
  } : void 0;
30
29
  if (opts.since) {
31
30
  const graph = cliNode.PackageGraph.fromPackages(packages);
@@ -36,7 +35,7 @@ async function command(opts, cmd) {
36
35
  }
37
36
  packages.sort((a, b) => depCount(b.packageJson) - depCount(a.packageJson));
38
37
  if (opts.format === "eslint-formatter-friendly") {
39
- process.chdir(paths.paths.targetRoot);
38
+ process.chdir(cliCommon.targetPaths.rootDir);
40
39
  }
41
40
  if (!process.env.FORCE_COLOR) {
42
41
  process.env.FORCE_COLOR = "1";
@@ -47,7 +46,7 @@ async function command(opts, cmd) {
47
46
  const lintOptions = parseLintScript(pkg.packageJson.scripts?.lint);
48
47
  const base = {
49
48
  fullDir: pkg.dir,
50
- relativeDir: path.relative(paths.paths.targetRoot, pkg.dir),
49
+ relativeDir: path.relative(cliCommon.targetPaths.rootDir, pkg.dir),
51
50
  lintOptions,
52
51
  parentHash: void 0
53
52
  };
@@ -70,16 +69,16 @@ async function command(opts, cmd) {
70
69
  };
71
70
  })
72
71
  );
73
- const resultsList = await parallel.runWorkerQueueThreads({
72
+ const { results: resultsList } = await cliNode.runWorkerQueueThreads({
74
73
  items: items.filter((item) => item.lintOptions),
75
74
  // Filter out packages without lint script
76
- workerData: {
75
+ context: {
77
76
  fix: Boolean(opts.fix),
78
77
  format: opts.format,
79
78
  shouldCache: Boolean(cacheContext),
80
79
  maxWarnings: opts.maxWarnings ?? -1,
81
80
  successCache: cacheContext?.entries,
82
- rootDir: paths.paths.targetRoot
81
+ rootDir: cliCommon.targetPaths.rootDir
83
82
  },
84
83
  workerFactory: async ({
85
84
  fix,
@@ -197,7 +196,7 @@ async function command(opts, cmd) {
197
196
  errorOutput = JSON.stringify(mergedJsonResults, null, 2);
198
197
  }
199
198
  if (opts.outputFile && errorOutput) {
200
- await fs__default.default.writeFile(paths.paths.resolveTargetRoot(opts.outputFile), errorOutput);
199
+ await fs__default.default.writeFile(cliCommon.targetPaths.resolveRoot(opts.outputFile), errorOutput);
201
200
  }
202
201
  if (cacheContext) {
203
202
  await cache.write(outputSuccessCache);
@@ -3,16 +3,16 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var fs = require('fs-extra');
6
- var paths = require('../../../../lib/paths.cjs.js');
6
+ var cliCommon = require('@backstage/cli-common');
7
7
 
8
8
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
9
9
 
10
10
  var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
11
11
 
12
12
  async function clean() {
13
- await fs__default.default.remove(paths.paths.resolveTarget("dist"));
14
- await fs__default.default.remove(paths.paths.resolveTarget("dist-types"));
15
- await fs__default.default.remove(paths.paths.resolveTarget("coverage"));
13
+ await fs__default.default.remove(cliCommon.targetPaths.resolve("dist"));
14
+ await fs__default.default.remove(cliCommon.targetPaths.resolve("dist-types"));
15
+ await fs__default.default.remove(cliCommon.targetPaths.resolve("coverage"));
16
16
  }
17
17
 
18
18
  exports.default = clean;
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var productionPack = require('../../../build/lib/packager/productionPack.cjs.js');
4
- var paths = require('../../../../lib/paths.cjs.js');
4
+ var cliCommon = require('@backstage/cli-common');
5
5
  var fs = require('fs-extra');
6
6
  var publishing = require('../../lib/publishing.cjs.js');
7
7
  var typeDistProject = require('../../../../lib/typeDistProject.cjs.js');
@@ -12,16 +12,16 @@ var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
12
12
 
13
13
  const pre = async () => {
14
14
  publishing.publishPreflightCheck({
15
- dir: paths.paths.targetDir,
16
- packageJson: await fs__default.default.readJson(paths.paths.resolveTarget("package.json"))
15
+ dir: cliCommon.targetPaths.dir,
16
+ packageJson: await fs__default.default.readJson(cliCommon.targetPaths.resolve("package.json"))
17
17
  });
18
18
  await productionPack.productionPack({
19
- packageDir: paths.paths.targetDir,
19
+ packageDir: cliCommon.targetPaths.dir,
20
20
  featureDetectionProject: await typeDistProject.createTypeDistProject()
21
21
  });
22
22
  };
23
23
  const post = async () => {
24
- await productionPack.revertProductionPack(paths.paths.targetDir);
24
+ await productionPack.revertProductionPack(cliCommon.targetPaths.dir);
25
25
  };
26
26
 
27
27
  exports.post = post;
@@ -3,7 +3,6 @@
3
3
  var fs = require('fs-extra');
4
4
  var path = require('node:path');
5
5
  var cliNode = require('@backstage/cli-node');
6
- var paths = require('../../../../lib/paths.cjs.js');
7
6
  var cliCommon = require('@backstage/cli-common');
8
7
 
9
8
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
@@ -12,9 +11,9 @@ var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
12
11
 
13
12
  async function command() {
14
13
  const packages = await cliNode.PackageGraph.listTargetPackages();
15
- await fs__default.default.remove(paths.paths.resolveTargetRoot("dist"));
16
- await fs__default.default.remove(paths.paths.resolveTargetRoot("dist-types"));
17
- await fs__default.default.remove(paths.paths.resolveTargetRoot("coverage"));
14
+ await fs__default.default.remove(cliCommon.targetPaths.resolveRoot("dist"));
15
+ await fs__default.default.remove(cliCommon.targetPaths.resolveRoot("dist-types"));
16
+ await fs__default.default.remove(cliCommon.targetPaths.resolveRoot("coverage"));
18
17
  await Promise.all(
19
18
  Array.from(Array(10), async () => {
20
19
  while (packages.length > 0) {
@@ -3,7 +3,7 @@
3
3
  var cliNode = require('@backstage/cli-node');
4
4
  var fs = require('fs-extra');
5
5
  var path = require('node:path');
6
- var paths = require('../../../../lib/paths.cjs.js');
6
+ var cliCommon = require('@backstage/cli-common');
7
7
  var publishing = require('../../lib/publishing.cjs.js');
8
8
 
9
9
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
@@ -18,7 +18,7 @@ async function readFixablePackages() {
18
18
  function printPackageFixHint(packages) {
19
19
  const changed = packages.filter((pkg) => pkg.changed);
20
20
  if (changed.length > 0) {
21
- const rootPkg = require(paths.paths.resolveTargetRoot("package.json"));
21
+ const rootPkg = require(cliCommon.targetPaths.resolveRoot("package.json"));
22
22
  const fixCmd = rootPkg.scripts?.fix === "backstage-cli repo fix" ? "fix" : "backstage-cli repo fix";
23
23
  console.log(
24
24
  `The following packages are out of sync, run 'yarn ${fixCmd}' to fix them:`
@@ -148,7 +148,7 @@ function fixSideEffects(pkg) {
148
148
  pkg.changed = true;
149
149
  }
150
150
  function createRepositoryFieldFixer() {
151
- const rootPkg = require(paths.paths.resolveTargetRoot("package.json"));
151
+ const rootPkg = require(cliCommon.targetPaths.resolveRoot("package.json"));
152
152
  const rootRepoField = rootPkg.repository;
153
153
  if (!rootRepoField) {
154
154
  return () => {
@@ -160,7 +160,7 @@ function createRepositoryFieldFixer() {
160
160
  return (pkg) => {
161
161
  const expectedPath = path.posix.join(
162
162
  rootDir,
163
- path.relative(paths.paths.targetRoot, pkg.dir)
163
+ path.relative(cliCommon.targetPaths.rootDir, pkg.dir)
164
164
  );
165
165
  const repoField = pkg.packageJson.repository;
166
166
  if (!repoField || typeof repoField === "string") {
@@ -234,7 +234,7 @@ function fixPluginId(pkg) {
234
234
  const guessedPluginId = guessPluginId(role, pkg.packageJson.name);
235
235
  if (!guessedPluginId && (role === "frontend-plugin" || role === "frontend-plugin-module" || role === "backend-plugin" || role === "backend-plugin-module")) {
236
236
  const path$1 = path.relative(
237
- paths.paths.targetRoot,
237
+ cliCommon.targetPaths.rootDir,
238
238
  path.resolve(pkg.dir, "package.json")
239
239
  );
240
240
  const msg = `Failed to guess plugin ID for "${pkg.packageJson.name}", please set the 'backstage.pluginId' field manually in "${path$1}"`;
@@ -305,7 +305,7 @@ function fixPluginPackages(pkg, repoPackages) {
305
305
  return;
306
306
  }
307
307
  const path$1 = path.relative(
308
- paths.paths.targetRoot,
308
+ cliCommon.targetPaths.rootDir,
309
309
  path.resolve(pkg.dir, "package.json")
310
310
  );
311
311
  const suggestedRole = role === "frontend-plugin-module" ? "web-library" : "node-library";
@@ -341,7 +341,7 @@ function fixPeerModules(pkg) {
341
341
  return;
342
342
  }
343
343
  const packagePath = path.relative(
344
- paths.paths.targetRoot,
344
+ cliCommon.targetPaths.rootDir,
345
345
  path.resolve(pkg.dir, "package.json")
346
346
  );
347
347
  if (role !== "backend-plugin" && role !== "frontend-plugin") {
@@ -4,7 +4,7 @@ var chalk = require('chalk');
4
4
  var eslint = require('eslint');
5
5
  var path = require('node:path');
6
6
  var cliNode = require('@backstage/cli-node');
7
- var paths = require('../../../../lib/paths.cjs.js');
7
+ var cliCommon = require('@backstage/cli-common');
8
8
 
9
9
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
10
10
 
@@ -13,14 +13,14 @@ var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
13
13
  async function command(opts) {
14
14
  const packages = await cliNode.PackageGraph.listTargetPackages();
15
15
  const eslint$1 = new eslint.ESLint({
16
- cwd: paths.paths.targetDir,
16
+ cwd: cliCommon.targetPaths.dir,
17
17
  overrideConfig: {
18
18
  plugins: ["deprecation"],
19
19
  rules: {
20
20
  "deprecation/deprecation": "error"
21
21
  },
22
22
  parserOptions: {
23
- project: [paths.paths.resolveTargetRoot("tsconfig.json")]
23
+ project: [cliCommon.targetPaths.resolveRoot("tsconfig.json")]
24
24
  }
25
25
  },
26
26
  extensions: ["jsx", "ts", "tsx", "mjs", "cjs"]
@@ -37,7 +37,7 @@ async function command(opts) {
37
37
  if (message.ruleId !== "deprecation/deprecation") {
38
38
  continue;
39
39
  }
40
- const path$1 = path.relative(paths.paths.targetRoot, result.filePath);
40
+ const path$1 = path.relative(cliCommon.targetPaths.rootDir, result.filePath);
41
41
  deprecations.push({
42
42
  path: path$1,
43
43
  message: message.message,
@@ -6,14 +6,14 @@ var fs = require('fs-extra');
6
6
  var path = require('node:path');
7
7
  var getPackages = require('@manypkg/get-packages');
8
8
  var cliNode = require('@backstage/cli-node');
9
- var paths = require('../../../lib/paths.cjs.js');
9
+ var cliCommon = require('@backstage/cli-common');
10
10
 
11
11
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
12
12
 
13
13
  var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
14
14
 
15
15
  var packageRole = async () => {
16
- const { packages } = await getPackages.getPackages(paths.paths.targetDir);
16
+ const { packages } = await getPackages.getPackages(cliCommon.targetPaths.dir);
17
17
  await Promise.all(
18
18
  packages.map(async ({ dir, packageJson: pkg }) => {
19
19
  const { name } = pkg;
@@ -10,11 +10,10 @@ var minimatch = require('minimatch');
10
10
  var semver = require('semver');
11
11
  var errors = require('@backstage/errors');
12
12
  var path = require('node:path');
13
- var paths = require('../../../../lib/paths.cjs.js');
14
13
  var yarnPlugin = require('../../../../lib/yarnPlugin.cjs.js');
15
14
  var Lockfile = require('../../../../lib/versioning/Lockfile.cjs.js');
16
15
  var packages = require('../../../../lib/versioning/packages.cjs.js');
17
- var parallel = require('../../../../lib/parallel.cjs.js');
16
+ var cliNode = require('@backstage/cli-node');
18
17
  var releaseManifests = require('@backstage/release-manifests');
19
18
  var migrate = require('./migrate.cjs.js');
20
19
  var utils = require('../../lib/utils.cjs.js');
@@ -40,7 +39,7 @@ function extendsDefaultPattern(pattern) {
40
39
  return minimatch.minimatch("@backstage/", pattern.slice(0, -1));
41
40
  }
42
41
  var bump = async (opts) => {
43
- const lockfilePath = paths.paths.resolveTargetRoot("yarn.lock");
42
+ const lockfilePath = cliCommon.targetPaths.resolveRoot("yarn.lock");
44
43
  const lockfile = await Lockfile.Lockfile.load(lockfilePath);
45
44
  const hasYarnPlugin = await yarnPlugin.getHasYarnPlugin();
46
45
  let pattern = opts.pattern;
@@ -96,10 +95,10 @@ var bump = async (opts) => {
96
95
  await cliCommon.run(["yarn", "plugin", "import", yarnPluginUrl]).waitForExit();
97
96
  console.log();
98
97
  }
99
- const dependencyMap = await packages.mapDependencies(paths.paths.targetDir, pattern);
98
+ const dependencyMap = await packages.mapDependencies(cliCommon.targetPaths.dir, pattern);
100
99
  const versionBumps = /* @__PURE__ */ new Map();
101
- await parallel.runParallelWorkers({
102
- parallelismFactor: 4,
100
+ await cliNode.runConcurrentTasks({
101
+ concurrencyFactor: 4,
103
102
  items: dependencyMap.entries(),
104
103
  async worker([name, pkgs]) {
105
104
  let target;
@@ -132,8 +131,8 @@ var bump = async (opts) => {
132
131
  console.log(chalk__default.default.yellow("Some packages are outdated, updating"));
133
132
  console.log();
134
133
  const breakingUpdates = /* @__PURE__ */ new Map();
135
- await parallel.runParallelWorkers({
136
- parallelismFactor: 4,
134
+ await cliNode.runConcurrentTasks({
135
+ concurrencyFactor: 4,
137
136
  items: versionBumps.entries(),
138
137
  async worker([name, deps]) {
139
138
  const pkgPath = path.resolve(deps[0].location, "package.json");
@@ -311,7 +310,7 @@ function createVersionFinder(options) {
311
310
  };
312
311
  }
313
312
  function getBackstageJsonPath() {
314
- return paths.paths.resolveTargetRoot(cliCommon.BACKSTAGE_JSON);
313
+ return cliCommon.targetPaths.resolveRoot(cliCommon.BACKSTAGE_JSON);
315
314
  }
316
315
  async function getBackstageJson() {
317
316
  const backstageJsonPath = getBackstageJsonPath();
@@ -2,7 +2,7 @@
2
2
 
3
3
  var fs = require('fs-extra');
4
4
  var path = require('node:path');
5
- var paths = require('../../../../lib/paths.cjs.js');
5
+ var cliCommon = require('@backstage/cli-common');
6
6
 
7
7
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
8
8
 
@@ -50,7 +50,7 @@ async function addCodeownersEntry(ownedPath, ownerStr, codeownersFilePath) {
50
50
  }
51
51
  let filePath = codeownersFilePath;
52
52
  if (!filePath) {
53
- filePath = await getCodeownersFilePath(paths.paths.targetRoot);
53
+ filePath = await getCodeownersFilePath(cliCommon.targetPaths.rootDir);
54
54
  if (!filePath) {
55
55
  return false;
56
56
  }