@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.
- package/CHANGELOG.md +38 -6
- package/dist/cjs/{Lockfile-C7rtIlD6.cjs.js → Lockfile-BGMdDb8M.cjs.js} +54 -21
- package/dist/cjs/{build-D66oGHOO.cjs.js → build-oOoA6doT.cjs.js} +14 -17
- package/dist/cjs/{buildBackend-we2Ba62t.cjs.js → buildBackend-DCTPybGH.cjs.js} +8 -10
- package/dist/cjs/{buildWorkspace-C6qBqMwe.cjs.js → buildWorkspace-BZ9SFxD1.cjs.js} +5 -5
- package/dist/cjs/{bump-5cKD_8oo.cjs.js → bump-DrU2bDOA.cjs.js} +16 -21
- package/dist/cjs/{clean-CPw0dNE0.cjs.js → clean-CTXeO6EC.cjs.js} +3 -4
- package/dist/cjs/{clean-BsjbtMUW.cjs.js → clean-Xt20-SOd.cjs.js} +2 -2
- package/dist/cjs/{codeowners-DvK_j4Tq.cjs.js → codeowners-CmW2AVMp.cjs.js} +2 -2
- package/dist/cjs/{config-BuuxVw_w.cjs.js → config-Dr_8wy8K.cjs.js} +3 -4
- package/dist/cjs/{createDistWorkspace-DwUb2OGs.cjs.js → createDistWorkspace-DgvlH81m.cjs.js} +15 -25
- package/dist/cjs/{createPlugin-DOLMfwjD.cjs.js → createPlugin-DJh1uHOM.cjs.js} +7 -8
- package/dist/cjs/{diff-B-i5TSqo.cjs.js → diff-BFT2J47H.cjs.js} +2 -2
- package/dist/cjs/{docs-Bpn7hI2X.cjs.js → docs-DPxUZ_5M.cjs.js} +3 -3
- package/dist/cjs/{fix-5g9C20X3.cjs.js → fix-Ds21Csn8.cjs.js} +3 -4
- package/dist/cjs/{index-fxIvYG3M.cjs.js → index-C9SBzA6q.cjs.js} +38 -44
- package/dist/cjs/{index-B_1_hXOx.cjs.js → index-C9SFHBJ7.cjs.js} +160 -343
- package/dist/cjs/{index-DncCYByV.cjs.js → index-CIfGsnyl.cjs.js} +30 -63
- package/dist/cjs/{index-D_pjpDix.cjs.js → index-D262VPnW.cjs.js} +61 -68
- package/dist/cjs/{index-Cjmdbgff.cjs.js → index-zmkgRMEr.cjs.js} +9 -9
- package/dist/cjs/{info-BHiDvCg2.cjs.js → info-BJvAN-EV.cjs.js} +5 -6
- package/dist/cjs/{install-CK_D5n3K.cjs.js → install-iHbt_0aM.cjs.js} +8 -11
- package/dist/cjs/{lint-CNZy4apS.cjs.js → lint-BQoZALVi.cjs.js} +2 -2
- package/dist/cjs/{lint-LAlja4Wa.cjs.js → lint-DhdvUtZ-.cjs.js} +4 -4
- package/dist/cjs/{lint-B8OIZt3F.cjs.js → lint-ccLOCCQ7.cjs.js} +2 -2
- package/dist/cjs/{list-deprecations-DJvZCDiX.cjs.js → list-deprecations-DKQAIdF-.cjs.js} +2 -2
- package/dist/cjs/{new-CcqlZCp_.cjs.js → new-pqVZtq0L.cjs.js} +11 -19
- package/dist/cjs/{pack-BL0qUp0J.cjs.js → pack-Cb0EFwcV.cjs.js} +3 -3
- package/dist/cjs/{packageDetection-zhqJ-m-A.cjs.js → packageDetection-Cfl0g9oD.cjs.js} +15 -21
- package/dist/cjs/{packageExports-GUmRFcjL.cjs.js → packageExports-qb2FnJFt.cjs.js} +3 -3
- package/dist/cjs/{packageLintConfigs-s5Xf7QSi.cjs.js → packageLintConfigs-CZbCJdAI.cjs.js} +4 -5
- package/dist/cjs/{packageRole-D5JpCRDM.cjs.js → packageRole-C_eAxVdS.cjs.js} +2 -2
- package/dist/cjs/{packageScripts-CPnlPBBs.cjs.js → packageScripts-DX6dilK6.cjs.js} +10 -11
- package/dist/cjs/{packages-CHIGCvQ0.cjs.js → packages-C0iBE8_o.cjs.js} +6 -10
- package/dist/cjs/{print-CmGRME-Z.cjs.js → print-DKlinc6o.cjs.js} +3 -3
- package/dist/cjs/{productionPack-DotlEIE2.cjs.js → productionPack-BfVQNApa.cjs.js} +4 -6
- package/dist/cjs/{reactRouterDeps-BBKc6o07.cjs.js → reactRouterDeps-CR-hjviw.cjs.js} +2 -3
- package/dist/cjs/{role-DzCJuRau.cjs.js → role-ji3J4lHr.cjs.js} +3 -4
- package/dist/cjs/{run-C1b3EDE9.cjs.js → run-C1016vC-.cjs.js} +3 -4
- package/dist/cjs/{schema-C2_ScGGA.cjs.js → schema--27U4Pnd.cjs.js} +3 -3
- package/dist/cjs/{tasks-mGXy8WjR.cjs.js → tasks-Dy-6nV0-.cjs.js} +3 -3
- package/dist/cjs/{test-DIO_yILs.cjs.js → test-0Q9Uv4gn.cjs.js} +3 -3
- package/dist/cjs/{test-ByXbKy71.cjs.js → test-BlJ7hC1z.cjs.js} +3 -3
- package/dist/cjs/{validate-Dpae61Um.cjs.js → validate-DrFKUEDH.cjs.js} +3 -3
- package/dist/index.cjs.js +1 -1
- 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
|
|
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
|
-
|
|
65
|
-
|
|
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 =
|
|
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
|
-
|
|
173
|
-
const query =
|
|
181
|
+
const simpleQuery = `${name}@${range}`;
|
|
182
|
+
const query = this.getEntryOf(name, range);
|
|
174
183
|
const existed = Boolean(this.data[query]);
|
|
175
|
-
|
|
176
|
-
|
|
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
|
-
|
|
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 =
|
|
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 (
|
|
224
|
+
if (oldVersions[query] !== oldVersion) {
|
|
192
225
|
throw new Error(
|
|
193
|
-
`Expected existing version data for ${query} to be ${oldVersion}, was ${
|
|
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 =
|
|
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-
|
|
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-
|
|
6
|
-
var index = require('./index-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
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:
|
|
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
|
-
|
|
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-
|
|
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-
|
|
12
|
+
require('./index-D262VPnW.cjs.js');
|
|
13
13
|
require('@manypkg/get-packages');
|
|
14
14
|
require('webpack-node-externals');
|
|
15
|
-
var packageDetection = require('./packageDetection-
|
|
15
|
+
var packageDetection = require('./packageDetection-Cfl0g9oD.cjs.js');
|
|
16
16
|
require('lodash/pickBy');
|
|
17
|
-
require('./run-
|
|
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-
|
|
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-
|
|
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
|
-
|
|
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
|
-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
11
|
-
var index = require('./index-
|
|
12
|
-
var Lockfile = require('./Lockfile-
|
|
13
|
-
var packages = require('./packages-
|
|
14
|
-
var lint = require('./lint-
|
|
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 (
|
|
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 =
|
|
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 (!
|
|
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
|
-
(
|
|
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
|
|
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 =
|
|
242
|
-
if (
|
|
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 =
|
|
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
|
|
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
|
|
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-
|
|
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-
|
|
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 =
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
-
|
|
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-
|
|
100
|
+
//# sourceMappingURL=config-Dr_8wy8K.cjs.js.map
|