@backstage/cli 0.9.0 → 0.10.2
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 +56 -0
- package/config/jest.js +6 -3
- package/config/jestSucraseTransform.js +5 -1
- package/dist/cjs/{Lockfile-80f0eec4.cjs.js → Lockfile-35661afa.cjs.js} +18 -18
- package/dist/cjs/{build-73b8edfc.cjs.js → build-88dedfeb.cjs.js} +9 -9
- package/dist/cjs/{build-5907bd33.cjs.js → build-bdcd371f.cjs.js} +8 -7
- package/dist/cjs/{build-7571e64b.cjs.js → build-cff6118b.cjs.js} +8 -7
- package/dist/cjs/{build-9e812f65.cjs.js → build-f7391d28.cjs.js} +23 -20
- package/dist/cjs/{buildWorkspace-779679cc.cjs.js → buildWorkspace-9b87177e.cjs.js} +6 -6
- package/dist/cjs/{bump-67695db2.cjs.js → bump-b25927fc.cjs.js} +36 -36
- package/dist/cjs/{bundle-561463d9.cjs.js → bundle-55979dfa.cjs.js} +15 -15
- package/dist/cjs/{clean-1156a89f.cjs.js → clean-0f54cc14.cjs.js} +6 -6
- package/dist/cjs/{config-10d49423.cjs.js → config-5ba91797.cjs.js} +7 -7
- package/dist/cjs/{create-b0f456f9.cjs.js → create-6d641d14.cjs.js} +41 -41
- package/dist/cjs/{createPlugin-2c95815c.cjs.js → createPlugin-6ac2d312.cjs.js} +31 -31
- package/dist/cjs/{dev-a04f9251.cjs.js → dev-cd429ce6.cjs.js} +8 -8
- package/dist/cjs/{diff-d009aa81.cjs.js → diff-1d56d594.cjs.js} +39 -32
- package/dist/cjs/{docs-d4bb9d0c.cjs.js → docs-e4d44819.cjs.js} +6 -6
- package/dist/cjs/{index-af2b13e0.cjs.js → index-3c84ba54.cjs.js} +15 -15
- package/dist/cjs/{index-25ca4442.cjs.js → index-6d614e80.cjs.js} +69 -71
- package/dist/cjs/{index-351d0371.cjs.js → index-fedaf3ca.cjs.js} +14 -14
- package/dist/cjs/{info-05aaf204.cjs.js → info-8f94b247.cjs.js} +6 -6
- package/dist/cjs/{install-5d8e8fe5.cjs.js → install-ca0d283c.cjs.js} +23 -23
- package/dist/cjs/{lint-85c90960.cjs.js → lint-011ecb5e.cjs.js} +5 -5
- package/dist/cjs/{lint-d1316de9.cjs.js → lint-95e6683a.cjs.js} +7 -7
- package/dist/cjs/{pack-58a2ab5d.cjs.js → pack-e560ac5d.cjs.js} +6 -6
- package/dist/cjs/{packager-b251454c.cjs.js → packager-ce66e788.cjs.js} +37 -35
- package/dist/cjs/{packages-4a2d7110.cjs.js → packages-9eb07d25.cjs.js} +5 -5
- package/dist/cjs/{paths-034708b3.cjs.js → paths-21a11756.cjs.js} +37 -37
- package/dist/cjs/{print-5d03aebd.cjs.js → print-f804a5cf.cjs.js} +5 -5
- package/dist/cjs/{removePlugin-c64823bb.cjs.js → removePlugin-706b2785.cjs.js} +30 -29
- package/dist/cjs/{run-924136d8.cjs.js → run-d553c76f.cjs.js} +5 -5
- package/dist/cjs/{schema-d59459da.cjs.js → schema-96e87e90.cjs.js} +5 -5
- package/dist/cjs/{serve-0f30d0fc.cjs.js → serve-58628236.cjs.js} +9 -9
- package/dist/cjs/{serve-28c83157.cjs.js → serve-7d0a208f.cjs.js} +15 -15
- package/dist/cjs/{server-652ec9a3.cjs.js → server-3261a34f.cjs.js} +6 -6
- package/dist/cjs/{svgrTemplate-2d0d15cf.cjs.js → svgrTemplate-f19e974c.cjs.js} +3 -3
- package/dist/cjs/{tasks-802f087f.cjs.js → tasks-0a4f957e.cjs.js} +29 -29
- package/dist/cjs/{testCommand-11d07d1b.cjs.js → testCommand-ee69f817.cjs.js} +4 -4
- package/dist/cjs/{validate-3cc188fa.cjs.js → validate-095aa31b.cjs.js} +4 -4
- package/dist/index.cjs.js +1 -1
- package/package.json +21 -22
- package/templates/default-backend-plugin/src/run.ts.hbs +1 -1
- package/templates/default-plugin/package.json.hbs +3 -2
- package/templates/default-plugin/src/routes.ts.hbs +1 -1
- package/dist/cjs/buildImage-7b597eb4.cjs.js +0 -77
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,61 @@
|
|
|
1
1
|
# @backstage/cli
|
|
2
2
|
|
|
3
|
+
## 0.10.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 25dfc2d483: Add support for `.cjs` and `.mjs` extensions in local and dependency modules.
|
|
8
|
+
|
|
9
|
+
## 0.10.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 0ebb05eee2: Add cli option to minify the generated code of a plugin or backend package
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
backstage-cli plugin:build --minify
|
|
17
|
+
backstage-cli backend:build --minify
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
- cd450844f6: Updated the frontend plugin template to put React dependencies in `peerDependencies` by default, as well as allowing both React v16 and v17. This change can be applied to existing plugins by running `yarn backstage-cli plugin:diff` within the plugin package directory.
|
|
21
|
+
|
|
22
|
+
## 0.10.0
|
|
23
|
+
|
|
24
|
+
### Minor Changes
|
|
25
|
+
|
|
26
|
+
- ea99ef5198: Remove the `backend:build-image` command from the CLI and added more deprecation warnings to other deprecated fields like `--lax` and `remove-plugin`
|
|
27
|
+
|
|
28
|
+
### Patch Changes
|
|
29
|
+
|
|
30
|
+
- e7230ef814: Bump react-dev-utils to v12
|
|
31
|
+
- 416b68675d: build(dependencies): bump `style-loader` from 1.2.1 to 3.3.1
|
|
32
|
+
- Updated dependencies
|
|
33
|
+
- @backstage/config-loader@0.8.1
|
|
34
|
+
|
|
35
|
+
## 0.9.1
|
|
36
|
+
|
|
37
|
+
### Patch Changes
|
|
38
|
+
|
|
39
|
+
- dde216acf4: Switch the default test coverage provider from the jest default one to `'v8'`, which provides much better coverage information when using the default Backstage test setup. This is considered a bug fix as the current coverage information is often very inaccurate.
|
|
40
|
+
- 719cc87d2f: Disable ES transforms in tests transformed by the `jestSucraseTransform.js`. This is not considered a breaking change since all code is already transpiled this way in the development setup.
|
|
41
|
+
- bab752e2b3: Change default port of backend from 7000 to 7007.
|
|
42
|
+
|
|
43
|
+
This is due to the AirPlay Receiver process occupying port 7000 and preventing local Backstage instances on MacOS to start.
|
|
44
|
+
|
|
45
|
+
You can change the port back to 7000 or any other value by providing an `app-config.yaml` with the following values:
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
backend:
|
|
49
|
+
listen: 0.0.0.0:7123
|
|
50
|
+
baseUrl: http://localhost:7123
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
More information can be found here: https://backstage.io/docs/conf/writing
|
|
54
|
+
|
|
55
|
+
- ee055cf6db: Update the default routes to use id instead of title
|
|
56
|
+
- Updated dependencies
|
|
57
|
+
- @backstage/errors@0.1.5
|
|
58
|
+
|
|
3
59
|
## 0.9.0
|
|
4
60
|
|
|
5
61
|
### Minor Changes
|
package/config/jest.js
CHANGED
|
@@ -95,20 +95,23 @@ async function getProjectConfig(targetPath, displayName) {
|
|
|
95
95
|
...(displayName && { displayName }),
|
|
96
96
|
rootDir: path.resolve(targetPath, 'src'),
|
|
97
97
|
coverageDirectory: path.resolve(targetPath, 'coverage'),
|
|
98
|
-
|
|
98
|
+
coverageProvider: 'v8',
|
|
99
|
+
collectCoverageFrom: ['**/*.{js,jsx,ts,tsx,mjs,cjs}', '!**/*.d.ts'],
|
|
99
100
|
moduleNameMapper: {
|
|
100
101
|
'\\.(css|less|scss|sss|styl)$': require.resolve('jest-css-modules'),
|
|
101
102
|
},
|
|
102
103
|
|
|
103
104
|
transform: {
|
|
104
|
-
'\\.(js|jsx|ts|tsx)$': require.resolve(
|
|
105
|
+
'\\.(js|jsx|ts|tsx|mjs|cjs)$': require.resolve(
|
|
106
|
+
'./jestSucraseTransform.js',
|
|
107
|
+
),
|
|
105
108
|
'\\.(bmp|gif|jpg|jpeg|png|frag|xml|svg|eot|woff|woff2|ttf)$':
|
|
106
109
|
require.resolve('./jestFileTransform.js'),
|
|
107
110
|
'\\.(yaml)$': require.resolve('jest-transform-yaml'),
|
|
108
111
|
},
|
|
109
112
|
|
|
110
113
|
// A bit more opinionated
|
|
111
|
-
testMatch: ['**/?(*.)test.{js,jsx,
|
|
114
|
+
testMatch: ['**/?(*.)test.{js,jsx,ts,tsx,mjs,cjs}'],
|
|
112
115
|
|
|
113
116
|
transformIgnorePatterns: [`/node_modules/(?:${transformIgnorePattern})/`],
|
|
114
117
|
};
|
|
@@ -46,7 +46,11 @@ function process(source, filePath) {
|
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
if (transforms) {
|
|
49
|
-
return transform(source, {
|
|
49
|
+
return transform(source, {
|
|
50
|
+
transforms,
|
|
51
|
+
filePath,
|
|
52
|
+
disableESTransforms: true,
|
|
53
|
+
}).code;
|
|
50
54
|
}
|
|
51
55
|
|
|
52
56
|
return source;
|
|
@@ -18,13 +18,13 @@ class Lockfile {
|
|
|
18
18
|
}
|
|
19
19
|
static async load(path) {
|
|
20
20
|
var _a;
|
|
21
|
-
const lockfileContents = await fs__default[
|
|
21
|
+
const lockfileContents = await fs__default["default"].readFile(path, "utf8");
|
|
22
22
|
const lockfile$1 = lockfile.parse(lockfileContents);
|
|
23
23
|
if (lockfile$1.type !== "success") {
|
|
24
24
|
throw new Error(`Failed yarn.lock parse with ${lockfile$1.type}`);
|
|
25
25
|
}
|
|
26
26
|
const data = lockfile$1.object;
|
|
27
|
-
const packages = new Map();
|
|
27
|
+
const packages = /* @__PURE__ */ new Map();
|
|
28
28
|
for (const [key, value] of Object.entries(data)) {
|
|
29
29
|
const [, name, range] = (_a = ENTRY_PATTERN.exec(key)) != null ? _a : [];
|
|
30
30
|
if (!name) {
|
|
@@ -35,7 +35,7 @@ class Lockfile {
|
|
|
35
35
|
queries = [];
|
|
36
36
|
packages.set(name, queries);
|
|
37
37
|
}
|
|
38
|
-
queries.push({range, version: value.version});
|
|
38
|
+
queries.push({ range, version: value.version });
|
|
39
39
|
}
|
|
40
40
|
return new Lockfile(path, packages, data);
|
|
41
41
|
}
|
|
@@ -47,7 +47,7 @@ class Lockfile {
|
|
|
47
47
|
}
|
|
48
48
|
analyze(options) {
|
|
49
49
|
var _a;
|
|
50
|
-
const {filter} = options != null ? options : {};
|
|
50
|
+
const { filter } = options != null ? options : {};
|
|
51
51
|
const result = {
|
|
52
52
|
invalidRanges: [],
|
|
53
53
|
newVersions: [],
|
|
@@ -57,19 +57,19 @@ class Lockfile {
|
|
|
57
57
|
if (filter && !filter(name)) {
|
|
58
58
|
continue;
|
|
59
59
|
}
|
|
60
|
-
const invalid = allEntries.filter((e) => !semver__default[
|
|
61
|
-
result.invalidRanges.push(...invalid.map(({range}) => ({name, range})));
|
|
62
|
-
const entries = allEntries.filter((e) => semver__default[
|
|
60
|
+
const invalid = allEntries.filter((e) => !semver__default["default"].validRange(e.range));
|
|
61
|
+
result.invalidRanges.push(...invalid.map(({ range }) => ({ name, range })));
|
|
62
|
+
const entries = allEntries.filter((e) => semver__default["default"].validRange(e.range));
|
|
63
63
|
if (entries.length < 2) {
|
|
64
64
|
continue;
|
|
65
65
|
}
|
|
66
|
-
const versions = Array.from(new Set(entries.map((e) => e.version))).sort((v1, v2) => semver__default[
|
|
66
|
+
const versions = Array.from(new Set(entries.map((e) => e.version))).sort((v1, v2) => semver__default["default"].rcompare(v1, v2));
|
|
67
67
|
if (versions.length < 2) {
|
|
68
68
|
continue;
|
|
69
69
|
}
|
|
70
|
-
const acceptedVersions = new Set();
|
|
71
|
-
for (const {version, range} of entries) {
|
|
72
|
-
const acceptedVersion = versions.find((v) => semver__default[
|
|
70
|
+
const acceptedVersions = /* @__PURE__ */ new Set();
|
|
71
|
+
for (const { version, range } of entries) {
|
|
72
|
+
const acceptedVersion = versions.find((v) => semver__default["default"].satisfies(v, range));
|
|
73
73
|
if (!acceptedVersion) {
|
|
74
74
|
throw new Error(`No existing version was accepted for range ${range}, searching through ${versions}, for package ${name}`);
|
|
75
75
|
}
|
|
@@ -86,13 +86,13 @@ class Lockfile {
|
|
|
86
86
|
if (acceptedVersions.size === 1) {
|
|
87
87
|
continue;
|
|
88
88
|
}
|
|
89
|
-
const maxVersion = Array.from(acceptedVersions).sort(semver__default[
|
|
90
|
-
const maxEntry = (_a = entries.filter((e) => semver__default[
|
|
89
|
+
const maxVersion = Array.from(acceptedVersions).sort(semver__default["default"].rcompare)[0];
|
|
90
|
+
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;
|
|
91
91
|
if (!maxEntry) {
|
|
92
92
|
throw new Error(`No entry found that satisfies max version '${maxVersion}'`);
|
|
93
93
|
}
|
|
94
|
-
for (const {version, range} of entries) {
|
|
95
|
-
if (semver__default[
|
|
94
|
+
for (const { version, range } of entries) {
|
|
95
|
+
if (semver__default["default"].satisfies(maxVersion, range)) {
|
|
96
96
|
continue;
|
|
97
97
|
}
|
|
98
98
|
result.newRanges.push({
|
|
@@ -119,7 +119,7 @@ class Lockfile {
|
|
|
119
119
|
}
|
|
120
120
|
replaceVersions(results) {
|
|
121
121
|
var _a;
|
|
122
|
-
for (const {name, range, oldVersion, newVersion} of results) {
|
|
122
|
+
for (const { name, range, oldVersion, newVersion } of results) {
|
|
123
123
|
const query = `${name}@${range}`;
|
|
124
124
|
const entryData = this.data[query];
|
|
125
125
|
if (!entryData) {
|
|
@@ -144,7 +144,7 @@ class Lockfile {
|
|
|
144
144
|
}
|
|
145
145
|
}
|
|
146
146
|
async save() {
|
|
147
|
-
await fs__default[
|
|
147
|
+
await fs__default["default"].writeFile(this.path, this.toString(), "utf8");
|
|
148
148
|
}
|
|
149
149
|
toString() {
|
|
150
150
|
return lockfile.stringify(this.data);
|
|
@@ -152,4 +152,4 @@ class Lockfile {
|
|
|
152
152
|
}
|
|
153
153
|
|
|
154
154
|
exports.Lockfile = Lockfile;
|
|
155
|
-
//# sourceMappingURL=Lockfile-
|
|
155
|
+
//# sourceMappingURL=Lockfile-35661afa.cjs.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var packager = require('./packager-
|
|
3
|
+
var packager = require('./packager-ce66e788.cjs.js');
|
|
4
4
|
require('fs-extra');
|
|
5
5
|
require('rollup');
|
|
6
6
|
require('chalk');
|
|
7
7
|
require('path');
|
|
8
|
-
require('./index-
|
|
8
|
+
require('./index-6d614e80.cjs.js');
|
|
9
9
|
require('commander');
|
|
10
10
|
require('semver');
|
|
11
11
|
require('@backstage/cli-common');
|
|
@@ -21,11 +21,11 @@ require('rollup-plugin-dts');
|
|
|
21
21
|
require('@rollup/plugin-json');
|
|
22
22
|
require('@rollup/plugin-yaml');
|
|
23
23
|
require('rollup-pluginutils');
|
|
24
|
-
require('./svgrTemplate-
|
|
24
|
+
require('./svgrTemplate-f19e974c.cjs.js');
|
|
25
25
|
|
|
26
26
|
var build = async (cmd) => {
|
|
27
|
-
let outputs = new Set();
|
|
28
|
-
const {outputs: outputsStr} = cmd;
|
|
27
|
+
let outputs = /* @__PURE__ */ new Set();
|
|
28
|
+
const { outputs: outputsStr } = cmd;
|
|
29
29
|
if (outputsStr) {
|
|
30
30
|
for (const output of outputsStr.split(",")) {
|
|
31
31
|
if (output in packager.Output) {
|
|
@@ -35,10 +35,10 @@ var build = async (cmd) => {
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
} else {
|
|
38
|
-
outputs = new Set([packager.Output.types, packager.Output.esm, packager.Output.cjs]);
|
|
38
|
+
outputs = /* @__PURE__ */ new Set([packager.Output.types, packager.Output.esm, packager.Output.cjs]);
|
|
39
39
|
}
|
|
40
|
-
await packager.buildPackage({outputs});
|
|
40
|
+
await packager.buildPackage({ outputs });
|
|
41
41
|
};
|
|
42
42
|
|
|
43
|
-
exports
|
|
44
|
-
//# sourceMappingURL=build-
|
|
43
|
+
exports["default"] = build;
|
|
44
|
+
//# sourceMappingURL=build-88dedfeb.cjs.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var packager = require('./packager-
|
|
3
|
+
var packager = require('./packager-ce66e788.cjs.js');
|
|
4
4
|
require('fs-extra');
|
|
5
5
|
require('rollup');
|
|
6
6
|
require('chalk');
|
|
7
7
|
require('path');
|
|
8
|
-
require('./index-
|
|
8
|
+
require('./index-6d614e80.cjs.js');
|
|
9
9
|
require('commander');
|
|
10
10
|
require('semver');
|
|
11
11
|
require('@backstage/cli-common');
|
|
@@ -21,13 +21,14 @@ require('rollup-plugin-dts');
|
|
|
21
21
|
require('@rollup/plugin-json');
|
|
22
22
|
require('@rollup/plugin-yaml');
|
|
23
23
|
require('rollup-pluginutils');
|
|
24
|
-
require('./svgrTemplate-
|
|
24
|
+
require('./svgrTemplate-f19e974c.cjs.js');
|
|
25
25
|
|
|
26
|
-
var build = async () => {
|
|
26
|
+
var build = async (cmd) => {
|
|
27
27
|
await packager.buildPackage({
|
|
28
|
-
outputs: new Set([packager.Output.
|
|
28
|
+
outputs: /* @__PURE__ */ new Set([packager.Output.cjs, packager.Output.types]),
|
|
29
|
+
minify: cmd.minify
|
|
29
30
|
});
|
|
30
31
|
};
|
|
31
32
|
|
|
32
|
-
exports
|
|
33
|
-
//# sourceMappingURL=build-
|
|
33
|
+
exports["default"] = build;
|
|
34
|
+
//# sourceMappingURL=build-bdcd371f.cjs.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var packager = require('./packager-
|
|
3
|
+
var packager = require('./packager-ce66e788.cjs.js');
|
|
4
4
|
require('fs-extra');
|
|
5
5
|
require('rollup');
|
|
6
6
|
require('chalk');
|
|
7
7
|
require('path');
|
|
8
|
-
require('./index-
|
|
8
|
+
require('./index-6d614e80.cjs.js');
|
|
9
9
|
require('commander');
|
|
10
10
|
require('semver');
|
|
11
11
|
require('@backstage/cli-common');
|
|
@@ -21,13 +21,14 @@ require('rollup-plugin-dts');
|
|
|
21
21
|
require('@rollup/plugin-json');
|
|
22
22
|
require('@rollup/plugin-yaml');
|
|
23
23
|
require('rollup-pluginutils');
|
|
24
|
-
require('./svgrTemplate-
|
|
24
|
+
require('./svgrTemplate-f19e974c.cjs.js');
|
|
25
25
|
|
|
26
|
-
var build = async () => {
|
|
26
|
+
var build = async (cmd) => {
|
|
27
27
|
await packager.buildPackage({
|
|
28
|
-
outputs: new Set([packager.Output.
|
|
28
|
+
outputs: /* @__PURE__ */ new Set([packager.Output.esm, packager.Output.types]),
|
|
29
|
+
minify: cmd.minify
|
|
29
30
|
});
|
|
30
31
|
};
|
|
31
32
|
|
|
32
|
-
exports
|
|
33
|
-
//# sourceMappingURL=build-
|
|
33
|
+
exports["default"] = build;
|
|
34
|
+
//# sourceMappingURL=build-cff6118b.cjs.js.map
|
|
@@ -12,24 +12,24 @@ require('@backstage/cli-common');
|
|
|
12
12
|
require('terser-webpack-plugin');
|
|
13
13
|
var parallel = require('./parallel-a4714c72.cjs.js');
|
|
14
14
|
require('mini-css-extract-plugin');
|
|
15
|
-
var index = require('./index-
|
|
16
|
-
require('./run-
|
|
15
|
+
var index = require('./index-6d614e80.cjs.js');
|
|
16
|
+
require('./run-d553c76f.cjs.js');
|
|
17
17
|
require('lodash/pickBy');
|
|
18
18
|
var yn = require('yn');
|
|
19
19
|
var FileSizeReporter = require('react-dev-utils/FileSizeReporter');
|
|
20
20
|
var formatWebpackMessages = require('react-dev-utils/formatWebpackMessages');
|
|
21
|
-
var paths = require('./paths-
|
|
21
|
+
var paths = require('./paths-21a11756.cjs.js');
|
|
22
22
|
var chalk = require('chalk');
|
|
23
23
|
require('webpack-dev-server');
|
|
24
24
|
require('react-dev-utils/openBrowser');
|
|
25
|
-
var config = require('./config-
|
|
25
|
+
var config = require('./config-5ba91797.cjs.js');
|
|
26
26
|
require('commander');
|
|
27
27
|
require('semver');
|
|
28
28
|
require('@backstage/config/package.json');
|
|
29
29
|
require('@backstage/errors');
|
|
30
30
|
require('child_process');
|
|
31
31
|
require('util');
|
|
32
|
-
require('./svgrTemplate-
|
|
32
|
+
require('./svgrTemplate-f19e974c.cjs.js');
|
|
33
33
|
require('@backstage/config-loader');
|
|
34
34
|
require('@backstage/config');
|
|
35
35
|
|
|
@@ -44,7 +44,7 @@ var chalk__default = /*#__PURE__*/_interopDefaultLegacy(chalk);
|
|
|
44
44
|
const WARN_AFTER_BUNDLE_GZIP_SIZE = 512 * 1024;
|
|
45
45
|
const WARN_AFTER_CHUNK_GZIP_SIZE = 1024 * 1024;
|
|
46
46
|
async function buildBundle(options) {
|
|
47
|
-
const {statsJsonEnabled, schema: configSchema} = options;
|
|
47
|
+
const { statsJsonEnabled, schema: configSchema } = options;
|
|
48
48
|
const paths$1 = paths.resolveBundlingPaths(options);
|
|
49
49
|
const config = await paths.createConfig(paths$1, {
|
|
50
50
|
...options,
|
|
@@ -52,21 +52,21 @@ async function buildBundle(options) {
|
|
|
52
52
|
isDev: false,
|
|
53
53
|
baseUrl: paths.resolveBaseUrl(options.frontendConfig)
|
|
54
54
|
});
|
|
55
|
-
const compiler = webpack__default[
|
|
56
|
-
const isCi = yn__default[
|
|
55
|
+
const compiler = webpack__default["default"](config);
|
|
56
|
+
const isCi = yn__default["default"](process.env.CI, { default: false });
|
|
57
57
|
const previousFileSizes = await FileSizeReporter.measureFileSizesBeforeBuild(paths$1.targetDist);
|
|
58
|
-
await fs__default[
|
|
58
|
+
await fs__default["default"].emptyDir(paths$1.targetDist);
|
|
59
59
|
if (paths$1.targetPublic) {
|
|
60
|
-
await fs__default[
|
|
60
|
+
await fs__default["default"].copy(paths$1.targetPublic, paths$1.targetDist, {
|
|
61
61
|
dereference: true,
|
|
62
62
|
filter: (file) => file !== paths$1.targetHtml
|
|
63
63
|
});
|
|
64
64
|
}
|
|
65
65
|
if (configSchema) {
|
|
66
|
-
await fs__default[
|
|
66
|
+
await fs__default["default"].writeJson(path.resolve(paths$1.targetDist, ".config-schema.json"), configSchema.serialize(), { spaces: 2 });
|
|
67
67
|
}
|
|
68
|
-
const {stats} = await build$1(compiler, isCi).catch((error) => {
|
|
69
|
-
console.log(chalk__default[
|
|
68
|
+
const { stats } = await build$1(compiler, isCi).catch((error) => {
|
|
69
|
+
console.log(chalk__default["default"].red("Failed to compile.\n"));
|
|
70
70
|
throw new Error(`Failed to compile.
|
|
71
71
|
${error.message || error}`);
|
|
72
72
|
});
|
|
@@ -84,7 +84,7 @@ async function build$1(compiler, isCi) {
|
|
|
84
84
|
compiler.run((err, buildStats) => {
|
|
85
85
|
if (err) {
|
|
86
86
|
if (err.message) {
|
|
87
|
-
const {errors: errors2} = formatWebpackMessages__default[
|
|
87
|
+
const { errors: errors2 } = formatWebpackMessages__default["default"]({
|
|
88
88
|
errors: [err.message],
|
|
89
89
|
warnings: new Array(),
|
|
90
90
|
_showErrors: true,
|
|
@@ -107,7 +107,7 @@ async function build$1(compiler, isCi) {
|
|
|
107
107
|
warnings: true,
|
|
108
108
|
errors: true
|
|
109
109
|
});
|
|
110
|
-
const {errors, warnings} = formatWebpackMessages__default[
|
|
110
|
+
const { errors, warnings } = formatWebpackMessages__default["default"]({
|
|
111
111
|
errors: (_a = serializedStats.errors) == null ? void 0 : _a.map((e) => e.message ? e.message : e),
|
|
112
112
|
warnings: (_b = serializedStats.warnings) == null ? void 0 : _b.map((e) => e.message ? e.message : e)
|
|
113
113
|
});
|
|
@@ -115,14 +115,17 @@ async function build$1(compiler, isCi) {
|
|
|
115
115
|
throw new Error(errors[0]);
|
|
116
116
|
}
|
|
117
117
|
if (isCi && warnings.length) {
|
|
118
|
-
console.log(chalk__default[
|
|
118
|
+
console.log(chalk__default["default"].yellow("\nTreating warnings as errors because process.env.CI = true.\n"));
|
|
119
119
|
throw new Error(warnings.join("\n\n"));
|
|
120
120
|
}
|
|
121
|
-
return {stats};
|
|
121
|
+
return { stats };
|
|
122
122
|
}
|
|
123
123
|
|
|
124
124
|
var build = async (cmd) => {
|
|
125
|
-
|
|
125
|
+
if (cmd.lax) {
|
|
126
|
+
console.warn(chalk__default["default"].yellow(`[DEPRECATED] - The --lax option is deprecated and will be removed in the future. Please open an issue towards https://github.com/backstage/backstage that describes your use-case if you need the flag to stay around.`));
|
|
127
|
+
}
|
|
128
|
+
const { name } = await fs__default["default"].readJson(index.paths.resolveTarget("package.json"));
|
|
126
129
|
await buildBundle({
|
|
127
130
|
entry: "src/index",
|
|
128
131
|
parallel: parallel.parseParallel(process.env[parallel.PARALLEL_ENV_VAR]),
|
|
@@ -135,5 +138,5 @@ var build = async (cmd) => {
|
|
|
135
138
|
});
|
|
136
139
|
};
|
|
137
140
|
|
|
138
|
-
exports
|
|
139
|
-
//# sourceMappingURL=build-
|
|
141
|
+
exports["default"] = build;
|
|
142
|
+
//# sourceMappingURL=build-f7391d28.cjs.js.map
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var fs = require('fs-extra');
|
|
4
|
-
var index = require('./index-
|
|
4
|
+
var index = require('./index-3c84ba54.cjs.js');
|
|
5
5
|
require('path');
|
|
6
6
|
require('os');
|
|
7
7
|
require('tar');
|
|
8
|
-
require('./index-
|
|
8
|
+
require('./index-6d614e80.cjs.js');
|
|
9
9
|
require('commander');
|
|
10
10
|
require('chalk');
|
|
11
11
|
require('semver');
|
|
12
12
|
require('@backstage/cli-common');
|
|
13
13
|
require('@backstage/config/package.json');
|
|
14
14
|
require('@backstage/errors');
|
|
15
|
-
require('./run-
|
|
15
|
+
require('./run-d553c76f.cjs.js');
|
|
16
16
|
require('child_process');
|
|
17
17
|
require('util');
|
|
18
18
|
|
|
@@ -21,7 +21,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
21
21
|
var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
|
|
22
22
|
|
|
23
23
|
var buildWorkspace = async (dir, _cmd, packages) => {
|
|
24
|
-
if (!await fs__default[
|
|
24
|
+
if (!await fs__default["default"].pathExists(dir)) {
|
|
25
25
|
throw new Error(`Target workspace directory doesn't exist, '${dir}'`);
|
|
26
26
|
}
|
|
27
27
|
await index.createDistWorkspace(packages, {
|
|
@@ -29,5 +29,5 @@ var buildWorkspace = async (dir, _cmd, packages) => {
|
|
|
29
29
|
});
|
|
30
30
|
};
|
|
31
31
|
|
|
32
|
-
exports
|
|
33
|
-
//# sourceMappingURL=buildWorkspace-
|
|
32
|
+
exports["default"] = buildWorkspace;
|
|
33
|
+
//# sourceMappingURL=buildWorkspace-9b87177e.cjs.js.map
|
|
@@ -5,11 +5,11 @@ var chalk = require('chalk');
|
|
|
5
5
|
var semver = require('semver');
|
|
6
6
|
var errors = require('@backstage/errors');
|
|
7
7
|
var path = require('path');
|
|
8
|
-
var run = require('./run-
|
|
9
|
-
var index = require('./index-
|
|
10
|
-
var Lockfile = require('./Lockfile-
|
|
11
|
-
var packages = require('./packages-
|
|
12
|
-
var lint = require('./lint-
|
|
8
|
+
var run = require('./run-d553c76f.cjs.js');
|
|
9
|
+
var index = require('./index-6d614e80.cjs.js');
|
|
10
|
+
var Lockfile = require('./Lockfile-35661afa.cjs.js');
|
|
11
|
+
var packages = require('./packages-9eb07d25.cjs.js');
|
|
12
|
+
var lint = require('./lint-95e6683a.cjs.js');
|
|
13
13
|
var cliCommon = require('@backstage/cli-common');
|
|
14
14
|
require('child_process');
|
|
15
15
|
require('util');
|
|
@@ -36,7 +36,7 @@ var bump = async () => {
|
|
|
36
36
|
const lockfile = await Lockfile.Lockfile.load(lockfilePath);
|
|
37
37
|
const findTargetVersion = createVersionFinder();
|
|
38
38
|
const dependencyMap = await packages.mapDependencies(index.paths.targetDir);
|
|
39
|
-
const versionBumps = new Map();
|
|
39
|
+
const versionBumps = /* @__PURE__ */ new Map();
|
|
40
40
|
const unlocked = Array();
|
|
41
41
|
await workerThreads(16, dependencyMap.entries(), async ([name, pkgs]) => {
|
|
42
42
|
var _a2, _b;
|
|
@@ -51,9 +51,9 @@ var bump = async () => {
|
|
|
51
51
|
throw error;
|
|
52
52
|
}
|
|
53
53
|
for (const pkg of pkgs) {
|
|
54
|
-
if (semver__default[
|
|
55
|
-
if (((_a2 = semver__default[
|
|
56
|
-
unlocked.push({name, range: pkg.range, target});
|
|
54
|
+
if (semver__default["default"].satisfies(target, pkg.range)) {
|
|
55
|
+
if (((_a2 = semver__default["default"].minVersion(pkg.range)) == null ? void 0 : _a2.version) !== target) {
|
|
56
|
+
unlocked.push({ name, range: pkg.range, target });
|
|
57
57
|
}
|
|
58
58
|
continue;
|
|
59
59
|
}
|
|
@@ -81,41 +81,41 @@ var bump = async () => {
|
|
|
81
81
|
throw error;
|
|
82
82
|
}
|
|
83
83
|
for (const entry of (_a2 = lockfile.get(name)) != null ? _a2 : []) {
|
|
84
|
-
if (!semver__default[
|
|
84
|
+
if (!semver__default["default"].satisfies(target, entry.range)) {
|
|
85
85
|
continue;
|
|
86
86
|
}
|
|
87
|
-
unlocked.push({name, range: entry.range, target});
|
|
87
|
+
unlocked.push({ name, range: entry.range, target });
|
|
88
88
|
}
|
|
89
89
|
});
|
|
90
90
|
console.log();
|
|
91
91
|
if (versionBumps.size === 0 && unlocked.length === 0) {
|
|
92
|
-
console.log(chalk__default[
|
|
92
|
+
console.log(chalk__default["default"].green("All Backstage packages are up to date!"));
|
|
93
93
|
} else {
|
|
94
|
-
console.log(chalk__default[
|
|
94
|
+
console.log(chalk__default["default"].yellow("Some packages are outdated, updating"));
|
|
95
95
|
console.log();
|
|
96
96
|
if (unlocked.length > 0) {
|
|
97
|
-
const removed = new Set();
|
|
98
|
-
for (const {name, range, target} of unlocked) {
|
|
97
|
+
const removed = /* @__PURE__ */ new Set();
|
|
98
|
+
for (const { name, range, target } of unlocked) {
|
|
99
99
|
const existingEntry = (_a = lockfile.get(name)) == null ? void 0 : _a.find((e) => e.range === range);
|
|
100
100
|
if ((existingEntry == null ? void 0 : existingEntry.version) === target) {
|
|
101
101
|
continue;
|
|
102
102
|
}
|
|
103
|
-
const key = JSON.stringify({name, range});
|
|
103
|
+
const key = JSON.stringify({ name, range });
|
|
104
104
|
if (!removed.has(key)) {
|
|
105
105
|
removed.add(key);
|
|
106
|
-
console.log(`${chalk__default[
|
|
106
|
+
console.log(`${chalk__default["default"].magenta("unlocking")} ${name}@${chalk__default["default"].yellow(range)} ~> ${chalk__default["default"].yellow(target)}`);
|
|
107
107
|
lockfile.remove(name, range);
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
await lockfile.save();
|
|
111
111
|
}
|
|
112
|
-
const breakingUpdates = new Map();
|
|
112
|
+
const breakingUpdates = /* @__PURE__ */ new Map();
|
|
113
113
|
await workerThreads(16, versionBumps.entries(), async ([name, deps]) => {
|
|
114
114
|
var _a2;
|
|
115
115
|
const pkgPath = path.resolve(deps[0].location, "package.json");
|
|
116
|
-
const pkgJson = await fs__default[
|
|
116
|
+
const pkgJson = await fs__default["default"].readJson(pkgPath);
|
|
117
117
|
for (const dep of deps) {
|
|
118
|
-
console.log(`${chalk__default[
|
|
118
|
+
console.log(`${chalk__default["default"].cyan("bumping")} ${dep.name} in ${chalk__default["default"].cyan(name)} to ${chalk__default["default"].yellow(dep.range)}`);
|
|
119
119
|
for (const depType of DEP_TYPES) {
|
|
120
120
|
if (depType in pkgJson && dep.name in pkgJson[depType]) {
|
|
121
121
|
const oldRange = pkgJson[depType][dep.name];
|
|
@@ -124,27 +124,27 @@ var bump = async () => {
|
|
|
124
124
|
if (lockfileEntry) {
|
|
125
125
|
const from = lockfileEntry.version;
|
|
126
126
|
const to = dep.target;
|
|
127
|
-
if (!semver__default[
|
|
128
|
-
breakingUpdates.set(dep.name, {from, to});
|
|
127
|
+
if (!semver__default["default"].satisfies(to, `^${from}`)) {
|
|
128
|
+
breakingUpdates.set(dep.name, { from, to });
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
133
|
}
|
|
134
|
-
await fs__default[
|
|
134
|
+
await fs__default["default"].writeJson(pkgPath, pkgJson, { spaces: 2 });
|
|
135
135
|
});
|
|
136
136
|
console.log();
|
|
137
137
|
await bumpBackstageJsonVersion();
|
|
138
138
|
console.log();
|
|
139
|
-
console.log(`Running ${chalk__default[
|
|
139
|
+
console.log(`Running ${chalk__default["default"].blue("yarn install")} to install new versions`);
|
|
140
140
|
console.log();
|
|
141
141
|
await run.run("yarn", ["install"]);
|
|
142
142
|
if (breakingUpdates.size > 0) {
|
|
143
143
|
console.log();
|
|
144
|
-
console.log(chalk__default[
|
|
144
|
+
console.log(chalk__default["default"].yellow("\u26A0\uFE0F The following packages may have breaking changes:"));
|
|
145
145
|
console.log();
|
|
146
|
-
for (const [name, {from, to}] of Array.from(breakingUpdates.entries()).sort()) {
|
|
147
|
-
console.log(` ${chalk__default[
|
|
146
|
+
for (const [name, { from, to }] of Array.from(breakingUpdates.entries()).sort()) {
|
|
147
|
+
console.log(` ${chalk__default["default"].yellow(name)} : ${chalk__default["default"].yellow(from)} ~> ${chalk__default["default"].yellow(to)}`);
|
|
148
148
|
let path;
|
|
149
149
|
if (name.startsWith("@backstage/plugin-")) {
|
|
150
150
|
path = `plugins/${name.replace("@backstage/plugin-", "")}`;
|
|
@@ -159,7 +159,7 @@ var bump = async () => {
|
|
|
159
159
|
} else {
|
|
160
160
|
console.log();
|
|
161
161
|
}
|
|
162
|
-
console.log(chalk__default[
|
|
162
|
+
console.log(chalk__default["default"].green("Version bump complete!"));
|
|
163
163
|
}
|
|
164
164
|
console.log();
|
|
165
165
|
const dedupLockfile = await Lockfile.Lockfile.load(lockfilePath);
|
|
@@ -169,13 +169,13 @@ var bump = async () => {
|
|
|
169
169
|
if (result.newVersions.length > 0) {
|
|
170
170
|
throw new Error("Duplicate versions present after package bump");
|
|
171
171
|
}
|
|
172
|
-
const forbiddenNewRanges = result.newRanges.filter(({name}) => lint.forbiddenDuplicatesFilter(name));
|
|
172
|
+
const forbiddenNewRanges = result.newRanges.filter(({ name }) => lint.forbiddenDuplicatesFilter(name));
|
|
173
173
|
if (forbiddenNewRanges.length > 0) {
|
|
174
174
|
throw new Error(`Version bump failed for ${forbiddenNewRanges.map((i) => i.name).join(", ")}`);
|
|
175
175
|
}
|
|
176
176
|
};
|
|
177
177
|
function createVersionFinder() {
|
|
178
|
-
const found = new Map();
|
|
178
|
+
const found = /* @__PURE__ */ new Map();
|
|
179
179
|
return async function findTargetVersion(name) {
|
|
180
180
|
const existing = found.get(name);
|
|
181
181
|
if (existing) {
|
|
@@ -193,19 +193,19 @@ function createVersionFinder() {
|
|
|
193
193
|
}
|
|
194
194
|
async function bumpBackstageJsonVersion() {
|
|
195
195
|
const backstageJsonPath = index.paths.resolveTargetRoot(cliCommon.BACKSTAGE_JSON);
|
|
196
|
-
const backstageJson = await fs__default[
|
|
196
|
+
const backstageJson = await fs__default["default"].readJSON(backstageJsonPath).catch((e) => {
|
|
197
197
|
if (e.code === "ENOENT") {
|
|
198
198
|
return;
|
|
199
199
|
}
|
|
200
200
|
throw e;
|
|
201
201
|
});
|
|
202
202
|
const info = await packages.fetchPackageInfo("@backstage/create-app");
|
|
203
|
-
const {latest} = info["dist-tags"];
|
|
203
|
+
const { latest } = info["dist-tags"];
|
|
204
204
|
if ((backstageJson == null ? void 0 : backstageJson.version) === latest) {
|
|
205
205
|
return;
|
|
206
206
|
}
|
|
207
|
-
console.log(chalk__default[
|
|
208
|
-
await fs__default[
|
|
207
|
+
console.log(chalk__default["default"].yellow(typeof backstageJson === "undefined" ? `Creating ${cliCommon.BACKSTAGE_JSON}` : `Bumping version in ${cliCommon.BACKSTAGE_JSON}`));
|
|
208
|
+
await fs__default["default"].writeJson(backstageJsonPath, { ...backstageJson, version: latest }, {
|
|
209
209
|
spaces: 2,
|
|
210
210
|
encoding: "utf8"
|
|
211
211
|
});
|
|
@@ -224,5 +224,5 @@ async function workerThreads(count, items, fn) {
|
|
|
224
224
|
}
|
|
225
225
|
|
|
226
226
|
exports.bumpBackstageJsonVersion = bumpBackstageJsonVersion;
|
|
227
|
-
exports
|
|
228
|
-
//# sourceMappingURL=bump-
|
|
227
|
+
exports["default"] = bump;
|
|
228
|
+
//# sourceMappingURL=bump-b25927fc.cjs.js.map
|