@backstage/cli 0.26.5-next.1 → 0.26.6-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 (46) hide show
  1. package/CHANGELOG.md +38 -6
  2. package/dist/cjs/{Lockfile-C7rtIlD6.cjs.js → Lockfile-BGMdDb8M.cjs.js} +54 -21
  3. package/dist/cjs/{build-D66oGHOO.cjs.js → build-oOoA6doT.cjs.js} +14 -17
  4. package/dist/cjs/{buildBackend-we2Ba62t.cjs.js → buildBackend-DCTPybGH.cjs.js} +8 -10
  5. package/dist/cjs/{buildWorkspace-C6qBqMwe.cjs.js → buildWorkspace-BZ9SFxD1.cjs.js} +5 -5
  6. package/dist/cjs/{bump-5cKD_8oo.cjs.js → bump-DrU2bDOA.cjs.js} +16 -21
  7. package/dist/cjs/{clean-CPw0dNE0.cjs.js → clean-CTXeO6EC.cjs.js} +3 -4
  8. package/dist/cjs/{clean-BsjbtMUW.cjs.js → clean-Xt20-SOd.cjs.js} +2 -2
  9. package/dist/cjs/{codeowners-DvK_j4Tq.cjs.js → codeowners-CmW2AVMp.cjs.js} +2 -2
  10. package/dist/cjs/{config-BuuxVw_w.cjs.js → config-Dr_8wy8K.cjs.js} +3 -4
  11. package/dist/cjs/{createDistWorkspace-DwUb2OGs.cjs.js → createDistWorkspace-DgvlH81m.cjs.js} +15 -25
  12. package/dist/cjs/{createPlugin-DOLMfwjD.cjs.js → createPlugin-DJh1uHOM.cjs.js} +7 -8
  13. package/dist/cjs/{diff-B-i5TSqo.cjs.js → diff-BFT2J47H.cjs.js} +2 -2
  14. package/dist/cjs/{docs-Bpn7hI2X.cjs.js → docs-DPxUZ_5M.cjs.js} +3 -3
  15. package/dist/cjs/{fix-5g9C20X3.cjs.js → fix-Ds21Csn8.cjs.js} +3 -4
  16. package/dist/cjs/{index-fxIvYG3M.cjs.js → index-C9SBzA6q.cjs.js} +38 -44
  17. package/dist/cjs/{index-B_1_hXOx.cjs.js → index-C9SFHBJ7.cjs.js} +160 -343
  18. package/dist/cjs/{index-DncCYByV.cjs.js → index-CIfGsnyl.cjs.js} +30 -63
  19. package/dist/cjs/{index-D_pjpDix.cjs.js → index-D262VPnW.cjs.js} +61 -68
  20. package/dist/cjs/{index-Cjmdbgff.cjs.js → index-zmkgRMEr.cjs.js} +9 -9
  21. package/dist/cjs/{info-BHiDvCg2.cjs.js → info-BJvAN-EV.cjs.js} +5 -6
  22. package/dist/cjs/{install-CK_D5n3K.cjs.js → install-iHbt_0aM.cjs.js} +8 -11
  23. package/dist/cjs/{lint-CNZy4apS.cjs.js → lint-BQoZALVi.cjs.js} +2 -2
  24. package/dist/cjs/{lint-LAlja4Wa.cjs.js → lint-DhdvUtZ-.cjs.js} +4 -4
  25. package/dist/cjs/{lint-B8OIZt3F.cjs.js → lint-ccLOCCQ7.cjs.js} +2 -2
  26. package/dist/cjs/{list-deprecations-DJvZCDiX.cjs.js → list-deprecations-DKQAIdF-.cjs.js} +2 -2
  27. package/dist/cjs/{new-CcqlZCp_.cjs.js → new-pqVZtq0L.cjs.js} +11 -19
  28. package/dist/cjs/{pack-BL0qUp0J.cjs.js → pack-Cb0EFwcV.cjs.js} +3 -3
  29. package/dist/cjs/{packageDetection-zhqJ-m-A.cjs.js → packageDetection-Cfl0g9oD.cjs.js} +15 -21
  30. package/dist/cjs/{packageExports-GUmRFcjL.cjs.js → packageExports-qb2FnJFt.cjs.js} +3 -3
  31. package/dist/cjs/{packageLintConfigs-s5Xf7QSi.cjs.js → packageLintConfigs-CZbCJdAI.cjs.js} +4 -5
  32. package/dist/cjs/{packageRole-D5JpCRDM.cjs.js → packageRole-C_eAxVdS.cjs.js} +2 -2
  33. package/dist/cjs/{packageScripts-CPnlPBBs.cjs.js → packageScripts-DX6dilK6.cjs.js} +10 -11
  34. package/dist/cjs/{packages-CHIGCvQ0.cjs.js → packages-C0iBE8_o.cjs.js} +6 -10
  35. package/dist/cjs/{print-CmGRME-Z.cjs.js → print-DKlinc6o.cjs.js} +3 -3
  36. package/dist/cjs/{productionPack-DotlEIE2.cjs.js → productionPack-BfVQNApa.cjs.js} +4 -6
  37. package/dist/cjs/{reactRouterDeps-BBKc6o07.cjs.js → reactRouterDeps-CR-hjviw.cjs.js} +2 -3
  38. package/dist/cjs/{role-DzCJuRau.cjs.js → role-ji3J4lHr.cjs.js} +3 -4
  39. package/dist/cjs/{run-C1b3EDE9.cjs.js → run-C1016vC-.cjs.js} +3 -4
  40. package/dist/cjs/{schema-C2_ScGGA.cjs.js → schema--27U4Pnd.cjs.js} +3 -3
  41. package/dist/cjs/{tasks-mGXy8WjR.cjs.js → tasks-Dy-6nV0-.cjs.js} +3 -3
  42. package/dist/cjs/{test-DIO_yILs.cjs.js → test-0Q9Uv4gn.cjs.js} +3 -3
  43. package/dist/cjs/{test-ByXbKy71.cjs.js → test-BlJ7hC1z.cjs.js} +3 -3
  44. package/dist/cjs/{validate-Dpae61Um.cjs.js → validate-DrFKUEDH.cjs.js} +3 -3
  45. package/dist/index.cjs.js +1 -1
  46. package/package.json +14 -14
package/CHANGELOG.md CHANGED
@@ -1,5 +1,41 @@
1
1
  # @backstage/cli
2
2
 
3
+ ## 0.26.6-next.0
4
+
5
+ ### Patch Changes
6
+
7
+ - 009da47: Fix `versions:check --fix` when `yarn.lock` has multiple joint versions in the same section
8
+ - 9ee948a: Bump `esbuild` target for package builds to `ES2022`.
9
+ - Updated dependencies
10
+ - @backstage/cli-node@0.2.6-next.0
11
+ - @backstage/config-loader@1.8.0
12
+ - @backstage/catalog-model@1.5.0
13
+ - @backstage/cli-common@0.1.13
14
+ - @backstage/config@1.2.0
15
+ - @backstage/errors@1.2.4
16
+ - @backstage/eslint-plugin@0.1.8
17
+ - @backstage/integration@1.11.0
18
+ - @backstage/release-manifests@0.0.11
19
+ - @backstage/types@1.1.1
20
+
21
+ ## 0.26.5
22
+
23
+ ### Patch Changes
24
+
25
+ - b8f1fc2: The `build-workspace` command no longer manually runs `yarn postpack`, relying instead on the fact that running `yarn pack` will automatically invoke the `postpack` script. No action is necessary if you are running the latest version of yarn 1, 3, or 4.
26
+ - fcd3462: Both the target and types library have been bumped from ES2021 to ES2022 in `@backstage/cli/config/tsconfig.json`.
27
+ - 0cc5ed3: Add support for `versions:migrate` to do code changes. Can be skipped with `--no-code-changes`
28
+ - f97ad04: Add preserveModules to rollup, which allows better async loading and tree-shaking in webpack
29
+ - 2a6f10d: The `versions:bump` command will no longer exit with a non-zero status if the version bump fails due to forbidden duplicate package installations. It will now also provide more information about how to troubleshoot such an error. The set of forbidden duplicates has also been expanded to include all `@backstage/*-app-api` packages.
30
+ - c5d7b40: Allow passing a `--require` argument through to the Node process during `package start`
31
+ - cc3c518: Fixed an issue causing the `repo fix` command to set an incorrect `workspace` property using Windows
32
+ - 812dff0: Add previously-missing semicolon in file templated by `backstage-cli new --select plugin`.
33
+ - f185603: Fixed the dynamic import of vite.
34
+ - Updated dependencies
35
+ - @backstage/catalog-model@1.5.0
36
+ - @backstage/eslint-plugin@0.1.8
37
+ - @backstage/integration@1.11.0
38
+
3
39
  ## 0.26.5-next.1
4
40
 
5
41
  ### Patch Changes
@@ -1628,9 +1664,7 @@
1628
1664
  - 1fe6823bb5: Updated dependency `eslint-plugin-jest` to `^27.0.0`.
1629
1665
 
1630
1666
  Note that this major update to the Jest plugin contains some breaking changes.
1631
- This means that some of your tests may start seeing some new lint errors. [Read
1632
- about them
1633
- here](https://github.com/jest-community/eslint-plugin-jest/blob/main/CHANGELOG.md#2700-2022-08-28).
1667
+ This means that some of your tests may start seeing some new lint errors. [Read about them here](https://github.com/jest-community/eslint-plugin-jest/blob/main/CHANGELOG.md#2700-2022-08-28).
1634
1668
 
1635
1669
  These are mostly possible to fix automatically. You can try to run `yarn backstage-cli repo lint --fix` in your repo root to have most or all of them
1636
1670
  corrected.
@@ -1764,9 +1798,7 @@
1764
1798
  - 1fe6823bb5: Updated dependency `eslint-plugin-jest` to `^27.0.0`.
1765
1799
 
1766
1800
  Note that this major update to the Jest plugin contains some breaking changes.
1767
- This means that some of your tests may start seeing some new lint errors. [Read
1768
- about them
1769
- here](https://github.com/jest-community/eslint-plugin-jest/blob/main/CHANGELOG.md#2700-2022-08-28).
1801
+ This means that some of your tests may start seeing some new lint errors. [Read about them here](https://github.com/jest-community/eslint-plugin-jest/blob/main/CHANGELOG.md#2700-2022-08-28).
1770
1802
 
1771
1803
  These are mostly possible to fix automatically. You can try to run `yarn backstage-cli repo lint --fix` in your repo root to have most or all of them
1772
1804
  corrected.
@@ -39,8 +39,23 @@ class Lockfile {
39
39
  const lockfileContents = await fs__default.default.readFile(path, "utf8");
40
40
  return Lockfile.parse(lockfileContents);
41
41
  }
42
+ static #getRangesFromDataKey(key) {
43
+ const [, name, ranges] = key.match(ENTRY_PATTERN) ?? [];
44
+ if (!name) {
45
+ throw new Error(`Failed to parse yarn.lock entry '${key}'`);
46
+ }
47
+ return ranges.split(/\s*,\s*/).map((rangePart) => {
48
+ let range = rangePart;
49
+ if (range.startsWith(`${name}@`)) {
50
+ range = range.slice(`${name}@`.length);
51
+ }
52
+ if (range.startsWith("npm:")) {
53
+ range = range.slice("npm:".length);
54
+ }
55
+ return range;
56
+ });
57
+ }
42
58
  static parse(content) {
43
- var _a;
44
59
  const legacy = LEGACY_REGEX.test(content);
45
60
  let data;
46
61
  try {
@@ -52,7 +67,7 @@ class Lockfile {
52
67
  for (const [key, value] of Object.entries(data)) {
53
68
  if (SPECIAL_OBJECT_KEYS.includes(key))
54
69
  continue;
55
- const [, name, ranges] = (_a = ENTRY_PATTERN.exec(key)) != null ? _a : [];
70
+ const [, name] = ENTRY_PATTERN.exec(key) ?? [];
56
71
  if (!name) {
57
72
  throw new Error(`Failed to parse yarn.lock entry '${key}'`);
58
73
  }
@@ -61,13 +76,8 @@ class Lockfile {
61
76
  queries = [];
62
77
  packages.set(name, queries);
63
78
  }
64
- for (let range of ranges.split(/\s*,\s*/)) {
65
- if (range.startsWith(`${name}@`)) {
66
- range = range.slice(`${name}@`.length);
67
- }
68
- if (range.startsWith("npm:")) {
69
- range = range.slice("npm:".length);
70
- }
79
+ const ranges = Lockfile.#getRangesFromDataKey(key);
80
+ for (const range of ranges) {
71
81
  queries.push({ range, version: value.version, dataKey: key });
72
82
  }
73
83
  }
@@ -83,7 +93,6 @@ class Lockfile {
83
93
  }
84
94
  /** Analyzes the lockfile to identify possible actions and warnings for the entries */
85
95
  analyze(options) {
86
- var _a;
87
96
  const { filter, localPackages } = options;
88
97
  const result = {
89
98
  invalidRanges: [],
@@ -147,7 +156,7 @@ class Lockfile {
147
156
  continue;
148
157
  }
149
158
  const maxVersion = Array.from(acceptedVersions).sort(semver__default.default.rcompare)[0];
150
- const maxEntry = (_a = entries.filter((e) => semver__default.default.satisfies(maxVersion, e.range)).map((e) => ({ e, min: semver__default.default.minVersion(e.range) })).filter((p) => p.min).sort((a, b) => semver__default.default.rcompare(a.min, b.min))[0]) == null ? void 0 : _a.e;
159
+ const maxEntry = entries.filter((e) => semver__default.default.satisfies(maxVersion, e.range)).map((e) => ({ e, min: semver__default.default.minVersion(e.range) })).filter((p) => p.min).sort((a, b) => semver__default.default.rcompare(a.min, b.min))[0]?.e;
151
160
  if (!maxEntry) {
152
161
  throw new Error(
153
162
  `No entry found that satisfies max version '${maxVersion}'`
@@ -169,28 +178,52 @@ class Lockfile {
169
178
  return result;
170
179
  }
171
180
  remove(name, range) {
172
- var _a;
173
- const query = `${name}@${range}`;
181
+ const simpleQuery = `${name}@${range}`;
182
+ const query = this.getEntryOf(name, range);
174
183
  const existed = Boolean(this.data[query]);
175
- delete this.data[query];
176
- const newEntries = (_a = this.packages.get(name)) == null ? void 0 : _a.filter((e) => e.range !== range);
184
+ if (simpleQuery === query) {
185
+ delete this.data[query];
186
+ } else {
187
+ const newRanges = Lockfile.#getRangesFromDataKey(query).filter(
188
+ (q) => q !== simpleQuery
189
+ );
190
+ const newQuery = newRanges.join(", ");
191
+ const entry = this.data[query];
192
+ delete this.data[query];
193
+ this.data[newQuery] = entry;
194
+ this.packages.get(name)?.forEach((q) => {
195
+ if (q.dataKey === query) {
196
+ q.dataKey = newQuery;
197
+ }
198
+ });
199
+ }
200
+ const newEntries = this.packages.get(name)?.filter((e) => e.range !== range);
177
201
  if (newEntries) {
178
202
  this.packages.set(name, newEntries);
179
203
  }
180
204
  return existed;
181
205
  }
206
+ getEntryOf(name, range) {
207
+ const query = this.packages.get(name)?.find((q) => q.range === range);
208
+ if (!query) {
209
+ throw new Error(`No entry data for ${name}@${range}`);
210
+ }
211
+ return query.dataKey;
212
+ }
182
213
  /** Modifies the lockfile by bumping packages to the suggested versions */
183
214
  replaceVersions(results) {
184
- var _a;
215
+ const oldVersions = Object.fromEntries(
216
+ Object.entries(this.data).map(([key, val]) => [key, val.version])
217
+ );
185
218
  for (const { name, range, oldVersion, newVersion } of results) {
186
- const query = `${name}@${range}`;
219
+ const query = this.getEntryOf(name, range);
187
220
  const entryData = this.data[query];
188
221
  if (!entryData) {
189
222
  throw new Error(`No entry data for ${query}`);
190
223
  }
191
- if (entryData.version !== oldVersion) {
224
+ if (oldVersions[query] !== oldVersion) {
192
225
  throw new Error(
193
- `Expected existing version data for ${query} to be ${oldVersion}, was ${entryData.version}`
226
+ `Expected existing version data for ${query} to be ${oldVersion}, was ${oldVersions[query]}`
194
227
  );
195
228
  }
196
229
  const matchingEntry = Object.entries(this.data).find(
@@ -202,7 +235,7 @@ class Lockfile {
202
235
  );
203
236
  }
204
237
  this.data[query] = matchingEntry[1];
205
- const entry = (_a = this.packages.get(name)) == null ? void 0 : _a.find((e) => e.range === range);
238
+ const entry = this.packages.get(name)?.find((e) => e.range === range);
206
239
  if (!entry) {
207
240
  throw new Error(`No entry data for ${query}`);
208
241
  }
@@ -223,4 +256,4 @@ class Lockfile {
223
256
  }
224
257
 
225
258
  exports.Lockfile = Lockfile;
226
- //# sourceMappingURL=Lockfile-C7rtIlD6.cjs.js.map
259
+ //# sourceMappingURL=Lockfile-BGMdDb8M.cjs.js.map
@@ -2,17 +2,17 @@
2
2
 
3
3
  var chalk = require('chalk');
4
4
  var path = require('path');
5
- var createDistWorkspace = require('./createDistWorkspace-DwUb2OGs.cjs.js');
6
- var index = require('./index-D_pjpDix.cjs.js');
5
+ var createDistWorkspace = require('./createDistWorkspace-DgvlH81m.cjs.js');
6
+ var index = require('./index-D262VPnW.cjs.js');
7
7
  var cliNode = require('@backstage/cli-node');
8
8
  var parallel = require('./parallel-BszNaKyc.cjs.js');
9
- var buildBackend = require('./buildBackend-we2Ba62t.cjs.js');
9
+ var buildBackend = require('./buildBackend-DCTPybGH.cjs.js');
10
10
  require('fs-extra');
11
11
  require('p-limit');
12
12
  require('os');
13
13
  require('tar');
14
14
  require('lodash/partition');
15
- require('./run-C1b3EDE9.cjs.js');
15
+ require('./run-C1016vC-.cjs.js');
16
16
  require('child_process');
17
17
  require('util');
18
18
  require('@backstage/errors');
@@ -28,7 +28,7 @@ require('@rollup/plugin-yaml');
28
28
  require('rollup-pluginutils');
29
29
  require('./svgrTemplate-BTjBQ3by.cjs.js');
30
30
  require('./entryPoints-CoHH4lBA.cjs.js');
31
- require('./productionPack-DotlEIE2.cjs.js');
31
+ require('./productionPack-BfVQNApa.cjs.js');
32
32
  require('npm-packlist');
33
33
  require('commander');
34
34
  require('semver');
@@ -42,7 +42,7 @@ require('react-dev-utils/ModuleScopePlugin');
42
42
  require('run-script-webpack-plugin');
43
43
  require('@manypkg/get-packages');
44
44
  require('webpack-node-externals');
45
- require('./packageDetection-zhqJ-m-A.cjs.js');
45
+ require('./packageDetection-Cfl0g9oD.cjs.js');
46
46
  require('lodash/pickBy');
47
47
  require('mini-css-extract-plugin');
48
48
  require('@pmmmwh/react-refresh-webpack-plugin');
@@ -59,7 +59,7 @@ require('@yarnpkg/parsers');
59
59
  require('@yarnpkg/lockfile');
60
60
  require('minimatch');
61
61
  require('./yarn-Ukl9MOS0.cjs.js');
62
- require('./config-BuuxVw_w.cjs.js');
62
+ require('./config-Dr_8wy8K.cjs.js');
63
63
  require('@backstage/config-loader');
64
64
 
65
65
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
@@ -73,7 +73,7 @@ function createScriptOptionsParser(anyCmd, commandPath) {
73
73
  }
74
74
  let targetCmd = rootCmd;
75
75
  for (const name of commandPath) {
76
- targetCmd = targetCmd == null ? void 0 : targetCmd.commands.find((c) => c.name() === name);
76
+ targetCmd = targetCmd?.commands.find((c) => c.name() === name);
77
77
  }
78
78
  if (!targetCmd) {
79
79
  throw new Error(
@@ -116,8 +116,7 @@ async function command(opts, cmd) {
116
116
  const backends = new Array();
117
117
  const parseBuildScript = createScriptOptionsParser(cmd, ["package", "build"]);
118
118
  const options = packages.flatMap((pkg) => {
119
- var _a, _b, _c;
120
- const role = (_b = (_a = pkg.packageJson.backstage) == null ? void 0 : _a.role) != null ? _b : cliNode.PackageRoles.detectRoleFromPackage(pkg.packageJson);
119
+ const role = pkg.packageJson.backstage?.role ?? cliNode.PackageRoles.detectRoleFromPackage(pkg.packageJson);
121
120
  if (!role) {
122
121
  console.warn(`Ignored ${pkg.packageJson.name} because it has no role`);
123
122
  return [];
@@ -134,7 +133,7 @@ async function command(opts, cmd) {
134
133
  console.warn(`Ignored ${pkg.packageJson.name} because it has no output`);
135
134
  return [];
136
135
  }
137
- const buildOptions = parseBuildScript((_c = pkg.packageJson.scripts) == null ? void 0 : _c.build);
136
+ const buildOptions = parseBuildScript(pkg.packageJson.scripts?.build);
138
137
  if (!buildOptions) {
139
138
  console.warn(
140
139
  `Ignored ${pkg.packageJson.name} because it does not have a matching build script`
@@ -157,8 +156,7 @@ async function command(opts, cmd) {
157
156
  items: apps,
158
157
  parallelismFactor: 1 / 2,
159
158
  worker: async (pkg) => {
160
- var _a, _b;
161
- const buildOptions = parseBuildScript((_a = pkg.packageJson.scripts) == null ? void 0 : _a.build);
159
+ const buildOptions = parseBuildScript(pkg.packageJson.scripts?.build);
162
160
  if (!buildOptions) {
163
161
  console.warn(
164
162
  `Ignored ${pkg.packageJson.name} because it does not have a matching build script`
@@ -167,7 +165,7 @@ async function command(opts, cmd) {
167
165
  }
168
166
  await buildBackend.buildFrontend({
169
167
  targetDir: pkg.dir,
170
- configPaths: (_b = buildOptions.config) != null ? _b : [],
168
+ configPaths: buildOptions.config ?? [],
171
169
  writeStats: Boolean(buildOptions.stats)
172
170
  });
173
171
  }
@@ -177,8 +175,7 @@ async function command(opts, cmd) {
177
175
  items: backends,
178
176
  parallelismFactor: 1 / 2,
179
177
  worker: async (pkg) => {
180
- var _a;
181
- const buildOptions = parseBuildScript((_a = pkg.packageJson.scripts) == null ? void 0 : _a.build);
178
+ const buildOptions = parseBuildScript(pkg.packageJson.scripts?.build);
182
179
  if (!buildOptions) {
183
180
  console.warn(
184
181
  `Ignored ${pkg.packageJson.name} because it does not have a matching build script`
@@ -196,4 +193,4 @@ async function command(opts, cmd) {
196
193
  }
197
194
 
198
195
  exports.command = command;
199
- //# sourceMappingURL=build-D66oGHOO.cjs.js.map
196
+ //# sourceMappingURL=build-oOoA6doT.cjs.js.map
@@ -9,12 +9,12 @@ require('html-webpack-plugin');
9
9
  require('@backstage/cli-common');
10
10
  require('react-dev-utils/ModuleScopePlugin');
11
11
  require('run-script-webpack-plugin');
12
- require('./index-D_pjpDix.cjs.js');
12
+ require('./index-D262VPnW.cjs.js');
13
13
  require('@manypkg/get-packages');
14
14
  require('webpack-node-externals');
15
- var packageDetection = require('./packageDetection-zhqJ-m-A.cjs.js');
15
+ var packageDetection = require('./packageDetection-Cfl0g9oD.cjs.js');
16
16
  require('lodash/pickBy');
17
- require('./run-C1b3EDE9.cjs.js');
17
+ require('./run-C1016vC-.cjs.js');
18
18
  require('mini-css-extract-plugin');
19
19
  require('@pmmmwh/react-refresh-webpack-plugin');
20
20
  var yn = require('yn');
@@ -31,11 +31,11 @@ require('@yarnpkg/lockfile');
31
31
  require('minimatch');
32
32
  require('./yarn-Ukl9MOS0.cjs.js');
33
33
  require('lodash/partition');
34
- var config = require('./config-BuuxVw_w.cjs.js');
34
+ var config = require('./config-Dr_8wy8K.cjs.js');
35
35
  var parallel = require('./parallel-BszNaKyc.cjs.js');
36
36
  var os = require('os');
37
37
  var tar = require('tar');
38
- var createDistWorkspace = require('./createDistWorkspace-DwUb2OGs.cjs.js');
38
+ var createDistWorkspace = require('./createDistWorkspace-DgvlH81m.cjs.js');
39
39
 
40
40
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
41
41
 
@@ -142,7 +142,6 @@ async function buildBundle(options) {
142
142
  }
143
143
  }
144
144
  async function build(configs, isCi) {
145
- var _a, _b, _c;
146
145
  const stats = await new Promise(
147
146
  (resolve, reject) => {
148
147
  webpack__default.default(configs, (err, buildStats) => {
@@ -179,16 +178,15 @@ async function build(configs, isCi) {
179
178
  if (errors.length) {
180
179
  const errorWithContext = applyContextToError(
181
180
  errors[0],
182
- (_c = (_b = (_a = serializedStats.errors) == null ? void 0 : _a[0]) == null ? void 0 : _b.moduleName) != null ? _c : ""
181
+ serializedStats.errors?.[0]?.moduleName ?? ""
183
182
  );
184
183
  throw new Error(errorWithContext);
185
184
  }
186
185
  if (isCi && warnings.length) {
187
186
  const warningsWithContext = warnings.map((warning, i) => {
188
- var _a2, _b2, _c2;
189
187
  return applyContextToError(
190
188
  warning,
191
- (_c2 = (_b2 = (_a2 = serializedStats.warnings) == null ? void 0 : _a2[i]) == null ? void 0 : _b2.moduleName) != null ? _c2 : ""
189
+ serializedStats.warnings?.[i]?.moduleName ?? ""
192
190
  );
193
191
  });
194
192
  console.log(
@@ -262,4 +260,4 @@ async function buildBackend(options) {
262
260
 
263
261
  exports.buildBackend = buildBackend;
264
262
  exports.buildFrontend = buildFrontend;
265
- //# sourceMappingURL=buildBackend-we2Ba62t.cjs.js.map
263
+ //# sourceMappingURL=buildBackend-DCTPybGH.cjs.js.map
@@ -1,19 +1,19 @@
1
1
  'use strict';
2
2
 
3
3
  var fs = require('fs-extra');
4
- var createDistWorkspace = require('./createDistWorkspace-DwUb2OGs.cjs.js');
4
+ var createDistWorkspace = require('./createDistWorkspace-DgvlH81m.cjs.js');
5
5
  require('chalk');
6
6
  require('path');
7
7
  require('p-limit');
8
8
  require('os');
9
9
  require('tar');
10
10
  require('lodash/partition');
11
- require('./index-D_pjpDix.cjs.js');
11
+ require('./index-D262VPnW.cjs.js');
12
12
  require('commander');
13
13
  require('semver');
14
14
  require('@backstage/cli-common');
15
15
  require('@backstage/errors');
16
- require('./run-C1b3EDE9.cjs.js');
16
+ require('./run-C1016vC-.cjs.js');
17
17
  require('child_process');
18
18
  require('util');
19
19
  require('rollup');
@@ -31,7 +31,7 @@ require('./entryPoints-CoHH4lBA.cjs.js');
31
31
  require('@backstage/cli-node');
32
32
  require('./parallel-BszNaKyc.cjs.js');
33
33
  require('worker_threads');
34
- require('./productionPack-DotlEIE2.cjs.js');
34
+ require('./productionPack-BfVQNApa.cjs.js');
35
35
  require('npm-packlist');
36
36
 
37
37
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
@@ -49,4 +49,4 @@ var buildWorkspace = async (dir, packages, options) => {
49
49
  };
50
50
 
51
51
  exports.default = buildWorkspace;
52
- //# sourceMappingURL=buildWorkspace-C6qBqMwe.cjs.js.map
52
+ //# sourceMappingURL=buildWorkspace-BZ9SFxD1.cjs.js.map
@@ -7,11 +7,11 @@ var semver = require('semver');
7
7
  var minimatch = require('minimatch');
8
8
  var errors = require('@backstage/errors');
9
9
  var path = require('path');
10
- var run = require('./run-C1b3EDE9.cjs.js');
11
- var index = require('./index-D_pjpDix.cjs.js');
12
- var Lockfile = require('./Lockfile-C7rtIlD6.cjs.js');
13
- var packages = require('./packages-CHIGCvQ0.cjs.js');
14
- var lint = require('./lint-LAlja4Wa.cjs.js');
10
+ var run = require('./run-C1016vC-.cjs.js');
11
+ var index = require('./index-D262VPnW.cjs.js');
12
+ var Lockfile = require('./Lockfile-BGMdDb8M.cjs.js');
13
+ var packages = require('./packages-C0iBE8_o.cjs.js');
14
+ var lint = require('./lint-DhdvUtZ-.cjs.js');
15
15
  var cliCommon = require('@backstage/cli-common');
16
16
  var parallel = require('./parallel-BszNaKyc.cjs.js');
17
17
  var releaseManifests = require('@backstage/release-manifests');
@@ -37,7 +37,6 @@ var migrate = async (options) => {
37
37
  }
38
38
  };
39
39
  async function migrateMovedPackages(options) {
40
- var _a;
41
40
  console.log(
42
41
  "Checking for moved packages to the @backstage-community namespace..."
43
42
  );
@@ -57,7 +56,7 @@ async function migrateMovedPackages(options) {
57
56
  continue;
58
57
  }
59
58
  for (const [depName, depVersion] of Object.entries(depsObj)) {
60
- if ((options == null ? void 0 : options.pattern) && !minimatch.minimatch(depName, options.pattern)) {
59
+ if (options?.pattern && !minimatch.minimatch(depName, options.pattern)) {
61
60
  continue;
62
61
  }
63
62
  let packageInfo;
@@ -75,7 +74,7 @@ async function migrateMovedPackages(options) {
75
74
  );
76
75
  continue;
77
76
  }
78
- const movedPackageName = (_a = packageInfo.backstage) == null ? void 0 : _a.moved;
77
+ const movedPackageName = packageInfo.backstage?.moved;
79
78
  if (movedPackageName) {
80
79
  movedPackages.set(depName, movedPackageName);
81
80
  console.log(
@@ -94,7 +93,7 @@ async function migrateMovedPackages(options) {
94
93
  await fs.writeJson(path.resolve(pkg.dir, "package.json"), pkg.packageJson, {
95
94
  spaces: 2
96
95
  });
97
- if (!(options == null ? void 0 : options.skipCodeChanges)) {
96
+ if (!options?.skipCodeChanges) {
98
97
  const files = await replace__default.default({
99
98
  files: path.join(pkg.dir, "src", "**"),
100
99
  allowEmptyPaths: true,
@@ -134,7 +133,6 @@ const DEP_TYPES = [
134
133
  ];
135
134
  const DEFAULT_PATTERN_GLOB = "@backstage/*";
136
135
  var bump = async (opts) => {
137
- var _a;
138
136
  const lockfilePath = index.paths.resolveTargetRoot("yarn.lock");
139
137
  const lockfile = await Lockfile.Lockfile.load(lockfilePath);
140
138
  let pattern = opts.pattern;
@@ -177,7 +175,6 @@ var bump = async (opts) => {
177
175
  parallelismFactor: 4,
178
176
  items: dependencyMap.entries(),
179
177
  async worker([name, pkgs]) {
180
- var _a2;
181
178
  let target;
182
179
  try {
183
180
  target = await findTargetVersion(name);
@@ -191,7 +188,7 @@ var bump = async (opts) => {
191
188
  for (const pkg of pkgs) {
192
189
  versionBumps.set(
193
190
  pkg.name,
194
- ((_a2 = versionBumps.get(pkg.name)) != null ? _a2 : []).concat({
191
+ (versionBumps.get(pkg.name) ?? []).concat({
195
192
  name,
196
193
  location: pkg.location,
197
194
  range: `^${target}`,
@@ -207,7 +204,6 @@ var bump = async (opts) => {
207
204
  parallelismFactor: 4,
208
205
  items: lockfile.keys(),
209
206
  async worker(name) {
210
- var _a2;
211
207
  if (!filter(name)) {
212
208
  return;
213
209
  }
@@ -221,7 +217,7 @@ var bump = async (opts) => {
221
217
  }
222
218
  throw error;
223
219
  }
224
- for (const entry of (_a2 = lockfile.get(name)) != null ? _a2 : []) {
220
+ for (const entry of lockfile.get(name) ?? []) {
225
221
  if (!semver__default.default.satisfies(target, entry.range)) {
226
222
  continue;
227
223
  }
@@ -238,8 +234,8 @@ var bump = async (opts) => {
238
234
  if (unlocked.length > 0) {
239
235
  const removed = /* @__PURE__ */ new Set();
240
236
  for (const { name, range, target } of unlocked) {
241
- const existingEntry = (_a = lockfile.get(name)) == null ? void 0 : _a.find((e) => e.range === range);
242
- if ((existingEntry == null ? void 0 : existingEntry.version) === target) {
237
+ const existingEntry = lockfile.get(name)?.find((e) => e.range === range);
238
+ if (existingEntry?.version === target) {
243
239
  continue;
244
240
  }
245
241
  const key = JSON.stringify({ name, range });
@@ -260,7 +256,6 @@ var bump = async (opts) => {
260
256
  parallelismFactor: 4,
261
257
  items: versionBumps.entries(),
262
258
  async worker([name, deps]) {
263
- var _a2;
264
259
  const pkgPath = path.resolve(deps[0].location, "package.json");
265
260
  const pkgJson = await fs__default.default.readJson(pkgPath);
266
261
  for (const dep of deps) {
@@ -273,7 +268,7 @@ var bump = async (opts) => {
273
268
  if (depType in pkgJson && dep.name in pkgJson[depType]) {
274
269
  const oldRange = pkgJson[depType][dep.name];
275
270
  pkgJson[depType][dep.name] = dep.range;
276
- const lockfileEntry = (_a2 = lockfile.get(dep.name)) == null ? void 0 : _a2.find((entry) => entry.range === oldRange);
271
+ const lockfileEntry = lockfile.get(dep.name)?.find((entry) => entry.range === oldRange);
277
272
  if (lockfileEntry) {
278
273
  const from = lockfileEntry.version;
279
274
  const to = dep.target;
@@ -396,7 +391,7 @@ function createVersionFinder(options) {
396
391
  const distTag = releaseLine === "main" ? "latest" : releaseLine;
397
392
  const found = /* @__PURE__ */ new Map();
398
393
  const releasePackages = new Map(
399
- releaseManifest == null ? void 0 : releaseManifest.packages.map((p) => [p.name, p.version])
394
+ releaseManifest?.packages.map((p) => [p.name, p.version])
400
395
  );
401
396
  return async function findTargetVersion(name) {
402
397
  const existing = found.get(name);
@@ -448,7 +443,7 @@ async function bumpBackstageJsonVersion(version) {
448
443
  }
449
444
  throw e;
450
445
  });
451
- const prevVersion = backstageJson == null ? void 0 : backstageJson.version;
446
+ const prevVersion = backstageJson?.version;
452
447
  if (prevVersion === version) {
453
448
  return;
454
449
  }
@@ -525,4 +520,4 @@ var bump$1 = /*#__PURE__*/Object.freeze({
525
520
 
526
521
  exports.bump = bump$1;
527
522
  exports.migrate = migrate$1;
528
- //# sourceMappingURL=bump-5cKD_8oo.cjs.js.map
523
+ //# sourceMappingURL=bump-DrU2bDOA.cjs.js.map
@@ -5,7 +5,7 @@ var fs = require('fs-extra');
5
5
  var path = require('path');
6
6
  var util = require('util');
7
7
  var cliNode = require('@backstage/cli-node');
8
- var index = require('./index-D_pjpDix.cjs.js');
8
+ var index = require('./index-D262VPnW.cjs.js');
9
9
  require('commander');
10
10
  require('chalk');
11
11
  require('semver');
@@ -24,10 +24,9 @@ async function command() {
24
24
  await fs__default.default.remove(index.paths.resolveTargetRoot("coverage"));
25
25
  await Promise.all(
26
26
  Array.from(Array(10), async () => {
27
- var _a;
28
27
  while (packages.length > 0) {
29
28
  const pkg = packages.pop();
30
- const cleanScript = (_a = pkg.packageJson.scripts) == null ? void 0 : _a.clean;
29
+ const cleanScript = pkg.packageJson.scripts?.clean;
31
30
  if (cleanScript === "backstage-cli clean" || cleanScript === "backstage-cli package clean") {
32
31
  await fs__default.default.remove(path.resolve(pkg.dir, "dist"));
33
32
  await fs__default.default.remove(path.resolve(pkg.dir, "dist-types"));
@@ -46,4 +45,4 @@ async function command() {
46
45
  }
47
46
 
48
47
  exports.command = command;
49
- //# sourceMappingURL=clean-CPw0dNE0.cjs.js.map
48
+ //# sourceMappingURL=clean-CTXeO6EC.cjs.js.map
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var fs = require('fs-extra');
4
- var index = require('./index-D_pjpDix.cjs.js');
4
+ var index = require('./index-D262VPnW.cjs.js');
5
5
  require('commander');
6
6
  require('chalk');
7
7
  require('semver');
@@ -19,4 +19,4 @@ async function clean() {
19
19
  }
20
20
 
21
21
  exports.default = clean;
22
- //# sourceMappingURL=clean-BsjbtMUW.cjs.js.map
22
+ //# sourceMappingURL=clean-Xt20-SOd.cjs.js.map
@@ -2,7 +2,7 @@
2
2
 
3
3
  var fs = require('fs-extra');
4
4
  var path = require('path');
5
- var index = require('./index-D_pjpDix.cjs.js');
5
+ var index = require('./index-D262VPnW.cjs.js');
6
6
 
7
7
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
8
8
 
@@ -88,4 +88,4 @@ async function addCodeownersEntry(ownedPath, ownerStr, codeownersFilePath) {
88
88
  exports.addCodeownersEntry = addCodeownersEntry;
89
89
  exports.getCodeownersFilePath = getCodeownersFilePath;
90
90
  exports.parseOwnerIds = parseOwnerIds;
91
- //# sourceMappingURL=codeowners-DvK_j4Tq.cjs.js.map
91
+ //# sourceMappingURL=codeowners-CmW2AVMp.cjs.js.map
@@ -2,7 +2,7 @@
2
2
 
3
3
  var configLoader = require('@backstage/config-loader');
4
4
  var config = require('@backstage/config');
5
- var index = require('./index-D_pjpDix.cjs.js');
5
+ var index = require('./index-D262VPnW.cjs.js');
6
6
  var getPackages = require('@manypkg/get-packages');
7
7
  var cliNode = require('@backstage/cli-node');
8
8
 
@@ -53,14 +53,13 @@ async function loadCliConfig(options) {
53
53
  configTargets,
54
54
  watch: options.watch && {
55
55
  onChange(newAppConfigs) {
56
- var _a;
57
56
  const newFrontendAppConfigs = schema.process(newAppConfigs, {
58
57
  visibility: options.fullVisibility ? ["frontend", "backend", "secret"] : ["frontend"],
59
58
  withFilteredKeys: options.withFilteredKeys,
60
59
  withDeprecatedKeys: options.withDeprecatedKeys,
61
60
  ignoreSchemaErrors: !options.strict
62
61
  });
63
- (_a = options.watch) == null ? void 0 : _a.call(options, newFrontendAppConfigs);
62
+ options.watch?.(newFrontendAppConfigs);
64
63
  }
65
64
  }
66
65
  });
@@ -98,4 +97,4 @@ async function loadCliConfig(options) {
98
97
 
99
98
  exports.isValidUrl = isValidUrl;
100
99
  exports.loadCliConfig = loadCliConfig;
101
- //# sourceMappingURL=config-BuuxVw_w.cjs.js.map
100
+ //# sourceMappingURL=config-Dr_8wy8K.cjs.js.map