@backstage/cli 0.13.2 → 0.15.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 +66 -0
- package/config/eslint.js +2 -2
- package/config/jest.js +8 -4
- package/config/jestSucraseTransform.js +60 -39
- package/dist/cjs/{PackageGraph-f7218931.cjs.js → PackageGraph-b00df225.cjs.js} +65 -2
- package/dist/cjs/{backend-93c17f0a.cjs.js → backend-1b05daee.cjs.js} +2 -2
- package/dist/cjs/{build-8188b3a4.cjs.js → build-83d881ea.cjs.js} +22 -22
- package/dist/cjs/{build-36589e8a.cjs.js → build-87df0d6b.cjs.js} +7 -6
- package/dist/cjs/{build-009e73a3.cjs.js → build-d4f2e2e8.cjs.js} +7 -6
- package/dist/cjs/{build-ba38de45.cjs.js → build-ff4f8608.cjs.js} +12 -10
- package/dist/cjs/{buildBackend-85df229c.cjs.js → buildBackend-aa0d412b.cjs.js} +20 -17
- package/dist/cjs/{buildWorkspace-44672ad9.cjs.js → buildWorkspace-e4801c14.cjs.js} +9 -9
- package/dist/cjs/{bump-9aca460c.cjs.js → bump-3800b988.cjs.js} +61 -15
- package/dist/cjs/{bundle-c676710a.cjs.js → bundle-09e400db.cjs.js} +11 -11
- package/dist/cjs/{bundle-c36a33a5.cjs.js → bundle-79d52b4b.cjs.js} +2 -2
- package/dist/cjs/{clean-fb5eabab.cjs.js → clean-a06b7d65.cjs.js} +2 -2
- package/dist/cjs/{config-2045332a.cjs.js → config-421162a7.cjs.js} +3 -3
- package/dist/cjs/{create-d576afd6.cjs.js → create-aa1a9a17.cjs.js} +4 -4
- package/dist/cjs/{createDistWorkspace-1949b495.cjs.js → createDistWorkspace-bb483aff.cjs.js} +15 -9
- package/dist/cjs/{createPlugin-6b9a37d7.cjs.js → createPlugin-f2839d53.cjs.js} +4 -4
- package/dist/cjs/{dev-a43bf6c5.cjs.js → dev-110686a9.cjs.js} +6 -6
- package/dist/cjs/{diff-8090cb39.cjs.js → diff-250bb472.cjs.js} +6 -2
- package/dist/cjs/{docs-8134e3d2.cjs.js → docs-6b34ee96.cjs.js} +7 -4
- package/dist/cjs/{index-0c3a82e2.cjs.js → index-5a2e8d49.cjs.js} +18 -18
- package/dist/cjs/{index-4605496f.cjs.js → index-87dfd82d.cjs.js} +69 -66
- package/dist/cjs/{index-603a246b.cjs.js → index-964b90f7.cjs.js} +17 -17
- package/dist/cjs/{index-a932d832.cjs.js → index-af637b8d.cjs.js} +2 -2
- package/dist/cjs/{info-9187be16.cjs.js → info-2072351a.cjs.js} +3 -3
- package/dist/cjs/{install-30028f72.cjs.js → install-5cc80412.cjs.js} +4 -4
- package/dist/cjs/{lint-d863cb88.cjs.js → lint-50ee052a.cjs.js} +2 -2
- package/dist/cjs/lint-dc4e7e6b.cjs.js +92 -0
- package/dist/cjs/{lint-753ca24f.cjs.js → lint-e407f973.cjs.js} +3 -3
- package/dist/cjs/{oldBuild-f1abef0d.cjs.js → oldBuild-638ec06b.cjs.js} +7 -6
- package/dist/cjs/{pack-a51c7cf8.cjs.js → pack-d77912d3.cjs.js} +2 -2
- package/dist/cjs/{packageRole-6f48a89c.cjs.js → packageRole-7767f94e.cjs.js} +3 -3
- package/dist/cjs/{packageRoles-a2eecabc.cjs.js → packageRoles-88676cde.cjs.js} +12 -12
- package/dist/cjs/packageScripts-7bf31577.cjs.js +97 -0
- package/dist/cjs/{packager-57263112.cjs.js → packager-60ad68c9.cjs.js} +34 -58
- package/dist/cjs/{packages-ef539958.cjs.js → packages-a5011251.cjs.js} +5 -4
- package/dist/cjs/parallel-d8e5bcbf.cjs.js +171 -0
- package/dist/cjs/{paths-2db88422.cjs.js → paths-6bb65aa4.cjs.js} +7 -31
- package/dist/cjs/{print-0be864a4.cjs.js → print-1ff6b34f.cjs.js} +7 -4
- package/dist/cjs/{run-43a2e0bb.cjs.js → run-5fdca9d5.cjs.js} +2 -2
- package/dist/cjs/{schema-899242a2.cjs.js → schema-2cd77098.cjs.js} +7 -4
- package/dist/cjs/{serve-b5a89a22.cjs.js → serve-8736e644.cjs.js} +9 -9
- package/dist/cjs/{serve-b69389e9.cjs.js → serve-f5d41d88.cjs.js} +9 -9
- package/dist/cjs/{server-d8c1f8fd.cjs.js → server-b7b23a16.cjs.js} +2 -2
- package/dist/cjs/svgrTemplate-b7a4ee52.cjs.js +21 -0
- package/dist/cjs/{tasks-096c80eb.cjs.js → tasks-eadc7947.cjs.js} +2 -2
- package/dist/cjs/{testCommand-1bd885b0.cjs.js → testCommand-e79b231e.cjs.js} +11 -4
- package/dist/cjs/{validate-e670ef09.cjs.js → validate-fc5936ef.cjs.js} +7 -4
- package/dist/index.cjs.js +1 -1
- package/package.json +30 -25
- package/templates/default-backend-plugin/package.json.hbs +1 -1
- package/templates/default-plugin/package.json.hbs +1 -1
- package/dist/cjs/packageScripts-69fbc72e.cjs.js +0 -61
- package/dist/cjs/parallel-e73a4058.cjs.js +0 -48
- package/dist/cjs/svgrTemplate-f19e974c.cjs.js +0 -25
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var zod = require('zod');
|
|
4
4
|
var fs = require('fs-extra');
|
|
5
|
-
var index = require('./index-
|
|
5
|
+
var index = require('./index-87dfd82d.cjs.js');
|
|
6
6
|
|
|
7
7
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
8
|
|
|
@@ -10,7 +10,7 @@ var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
|
|
|
10
10
|
|
|
11
11
|
const packageRoleInfos = [
|
|
12
12
|
{
|
|
13
|
-
role: "
|
|
13
|
+
role: "frontend",
|
|
14
14
|
platform: "web",
|
|
15
15
|
output: ["bundle"]
|
|
16
16
|
},
|
|
@@ -40,22 +40,22 @@ const packageRoleInfos = [
|
|
|
40
40
|
output: ["types", "esm", "cjs"]
|
|
41
41
|
},
|
|
42
42
|
{
|
|
43
|
-
role: "plugin
|
|
43
|
+
role: "frontend-plugin",
|
|
44
44
|
platform: "web",
|
|
45
45
|
output: ["types", "esm"]
|
|
46
46
|
},
|
|
47
47
|
{
|
|
48
|
-
role: "plugin-
|
|
48
|
+
role: "frontend-plugin-module",
|
|
49
49
|
platform: "web",
|
|
50
50
|
output: ["types", "esm"]
|
|
51
51
|
},
|
|
52
52
|
{
|
|
53
|
-
role: "plugin
|
|
53
|
+
role: "backend-plugin",
|
|
54
54
|
platform: "node",
|
|
55
55
|
output: ["types", "cjs"]
|
|
56
56
|
},
|
|
57
57
|
{
|
|
58
|
-
role: "plugin-
|
|
58
|
+
role: "backend-plugin-module",
|
|
59
59
|
platform: "node",
|
|
60
60
|
output: ["types", "cjs"]
|
|
61
61
|
}
|
|
@@ -115,22 +115,22 @@ function detectRoleFromPackage(pkgJson) {
|
|
|
115
115
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o;
|
|
116
116
|
const pkg = detectionSchema.parse(pkgJson);
|
|
117
117
|
if ((_b = (_a = pkg.scripts) == null ? void 0 : _a.start) == null ? void 0 : _b.includes("app:serve")) {
|
|
118
|
-
return "
|
|
118
|
+
return "frontend";
|
|
119
119
|
}
|
|
120
120
|
if ((_d = (_c = pkg.scripts) == null ? void 0 : _c.build) == null ? void 0 : _d.includes("backend:bundle")) {
|
|
121
121
|
return "backend";
|
|
122
122
|
}
|
|
123
123
|
if (((_e = pkg.name) == null ? void 0 : _e.includes("plugin-")) && ((_f = pkg.name) == null ? void 0 : _f.includes("-backend-module-"))) {
|
|
124
|
-
return "plugin-
|
|
124
|
+
return "backend-plugin-module";
|
|
125
125
|
}
|
|
126
126
|
if (((_g = pkg.name) == null ? void 0 : _g.includes("plugin-")) && ((_h = pkg.name) == null ? void 0 : _h.includes("-module-"))) {
|
|
127
|
-
return "plugin-
|
|
127
|
+
return "frontend-plugin-module";
|
|
128
128
|
}
|
|
129
129
|
if ((_j = (_i = pkg.scripts) == null ? void 0 : _i.start) == null ? void 0 : _j.includes("plugin:serve")) {
|
|
130
|
-
return "plugin
|
|
130
|
+
return "frontend-plugin";
|
|
131
131
|
}
|
|
132
132
|
if ((_l = (_k = pkg.scripts) == null ? void 0 : _k.start) == null ? void 0 : _l.includes("backend:dev")) {
|
|
133
|
-
return "plugin
|
|
133
|
+
return "backend-plugin";
|
|
134
134
|
}
|
|
135
135
|
const mainEntry = ((_m = pkg.publishConfig) == null ? void 0 : _m.main) || pkg.main;
|
|
136
136
|
const moduleEntry = ((_n = pkg.publishConfig) == null ? void 0 : _n.module) || pkg.module;
|
|
@@ -155,4 +155,4 @@ exports.detectRoleFromPackage = detectRoleFromPackage;
|
|
|
155
155
|
exports.findRoleFromCommand = findRoleFromCommand;
|
|
156
156
|
exports.getRoleFromPackage = getRoleFromPackage;
|
|
157
157
|
exports.getRoleInfo = getRoleInfo;
|
|
158
|
-
//# sourceMappingURL=packageRoles-
|
|
158
|
+
//# sourceMappingURL=packageRoles-88676cde.cjs.js.map
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var fs = require('fs-extra');
|
|
4
|
+
var path = require('path');
|
|
5
|
+
var PackageGraph = require('./PackageGraph-b00df225.cjs.js');
|
|
6
|
+
var packageRoles = require('./packageRoles-88676cde.cjs.js');
|
|
7
|
+
require('@manypkg/get-packages');
|
|
8
|
+
require('./index-87dfd82d.cjs.js');
|
|
9
|
+
require('commander');
|
|
10
|
+
require('chalk');
|
|
11
|
+
require('semver');
|
|
12
|
+
require('@backstage/cli-common');
|
|
13
|
+
require('@backstage/config/package.json');
|
|
14
|
+
require('@backstage/errors');
|
|
15
|
+
require('child_process');
|
|
16
|
+
require('util');
|
|
17
|
+
require('zod');
|
|
18
|
+
|
|
19
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
20
|
+
|
|
21
|
+
var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
|
|
22
|
+
|
|
23
|
+
const configArgPattern = /--config[=\s][^\s$]+/;
|
|
24
|
+
const noStartRoles = ["cli", "common-library"];
|
|
25
|
+
async function command() {
|
|
26
|
+
const packages = await PackageGraph.PackageGraph.listTargetPackages();
|
|
27
|
+
await Promise.all(packages.map(async ({ dir, packageJson }) => {
|
|
28
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i;
|
|
29
|
+
const role = packageRoles.getRoleFromPackage(packageJson);
|
|
30
|
+
if (!role) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const roleInfo = packageRoles.getRoleInfo(role);
|
|
34
|
+
const hasStart = !noStartRoles.includes(role);
|
|
35
|
+
const needsPack = !(roleInfo.output.includes("bundle") || role === "cli");
|
|
36
|
+
const scripts = (_a = packageJson.scripts) != null ? _a : {};
|
|
37
|
+
const startCmd = ["start"];
|
|
38
|
+
if ((_b = scripts.start) == null ? void 0 : _b.includes("--check")) {
|
|
39
|
+
startCmd.push("--check");
|
|
40
|
+
}
|
|
41
|
+
if ((_c = scripts.start) == null ? void 0 : _c.includes("--config")) {
|
|
42
|
+
startCmd.push(...(_d = scripts.start.match(configArgPattern)) != null ? _d : []);
|
|
43
|
+
}
|
|
44
|
+
const buildCmd = ["build"];
|
|
45
|
+
if ((_e = scripts.build) == null ? void 0 : _e.includes("--minify")) {
|
|
46
|
+
buildCmd.push("--minify");
|
|
47
|
+
}
|
|
48
|
+
if ((_f = scripts.build) == null ? void 0 : _f.includes("--experimental-type-build")) {
|
|
49
|
+
buildCmd.push("--experimental-type-build");
|
|
50
|
+
}
|
|
51
|
+
if ((_g = scripts.build) == null ? void 0 : _g.includes("--config")) {
|
|
52
|
+
buildCmd.push(...(_h = scripts.build.match(configArgPattern)) != null ? _h : []);
|
|
53
|
+
}
|
|
54
|
+
const testCmd = ["test"];
|
|
55
|
+
if ((_i = scripts.test) == null ? void 0 : _i.startsWith("backstage-cli test")) {
|
|
56
|
+
const args = scripts.test.slice("backstage-cli test".length).split(" ").filter(Boolean);
|
|
57
|
+
if (args.includes("--passWithNoTests")) {
|
|
58
|
+
args.splice(args.indexOf("--passWithNoTests"), 1);
|
|
59
|
+
}
|
|
60
|
+
testCmd.push(...args);
|
|
61
|
+
}
|
|
62
|
+
const expectedScripts = {
|
|
63
|
+
...hasStart && {
|
|
64
|
+
start: `backstage-cli package ${startCmd.join(" ")}`
|
|
65
|
+
},
|
|
66
|
+
build: `backstage-cli package ${buildCmd.join(" ")}`,
|
|
67
|
+
lint: "backstage-cli package lint",
|
|
68
|
+
test: `backstage-cli package ${testCmd.join(" ")}`,
|
|
69
|
+
clean: "backstage-cli package clean",
|
|
70
|
+
...needsPack && {
|
|
71
|
+
postpack: "backstage-cli package postpack",
|
|
72
|
+
prepack: "backstage-cli package prepack"
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
let changed = false;
|
|
76
|
+
const currentScripts = packageJson.scripts = packageJson.scripts || {};
|
|
77
|
+
for (const [name, value] of Object.entries(expectedScripts)) {
|
|
78
|
+
const currentScript = currentScripts[name];
|
|
79
|
+
const isMissing = !currentScript;
|
|
80
|
+
const isDifferent = currentScript !== value;
|
|
81
|
+
const isBackstageScript = currentScript == null ? void 0 : currentScript.includes("backstage-cli");
|
|
82
|
+
if (isMissing || isDifferent && isBackstageScript) {
|
|
83
|
+
changed = true;
|
|
84
|
+
currentScripts[name] = value;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
if (changed) {
|
|
88
|
+
console.log(`Updating scripts for ${packageJson.name}`);
|
|
89
|
+
await fs__default["default"].writeJson(path.resolve(dir, "package.json"), packageJson, {
|
|
90
|
+
spaces: 2
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
}));
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
exports.command = command;
|
|
97
|
+
//# sourceMappingURL=packageScripts-7bf31577.cjs.js.map
|
|
@@ -4,7 +4,7 @@ var fs = require('fs-extra');
|
|
|
4
4
|
var rollup = require('rollup');
|
|
5
5
|
var chalk = require('chalk');
|
|
6
6
|
var path = require('path');
|
|
7
|
-
var index = require('./index-
|
|
7
|
+
var index = require('./index-87dfd82d.cjs.js');
|
|
8
8
|
var peerDepsExternal = require('rollup-plugin-peer-deps-external');
|
|
9
9
|
var commonjs = require('@rollup/plugin-commonjs');
|
|
10
10
|
var resolve = require('@rollup/plugin-node-resolve');
|
|
@@ -15,10 +15,9 @@ var dts = require('rollup-plugin-dts');
|
|
|
15
15
|
var json = require('@rollup/plugin-json');
|
|
16
16
|
var yaml = require('@rollup/plugin-yaml');
|
|
17
17
|
var rollupPluginutils = require('rollup-pluginutils');
|
|
18
|
-
var svgrTemplate = require('./svgrTemplate-
|
|
19
|
-
var
|
|
20
|
-
var packageRoles = require('./packageRoles-
|
|
21
|
-
var parallel = require('./parallel-e73a4058.cjs.js');
|
|
18
|
+
var svgrTemplate = require('./svgrTemplate-b7a4ee52.cjs.js');
|
|
19
|
+
var parallel = require('./parallel-d8e5bcbf.cjs.js');
|
|
20
|
+
var packageRoles = require('./packageRoles-88676cde.cjs.js');
|
|
22
21
|
|
|
23
22
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
24
23
|
|
|
@@ -199,14 +198,13 @@ async function makeRollupConfigs(options) {
|
|
|
199
198
|
return configs;
|
|
200
199
|
}
|
|
201
200
|
|
|
202
|
-
function buildTypeDefinitionsWorker() {
|
|
201
|
+
async function buildTypeDefinitionsWorker(workerData, sendMessage) {
|
|
203
202
|
try {
|
|
204
203
|
require("@microsoft/api-extractor");
|
|
205
204
|
} catch (error) {
|
|
206
205
|
throw new Error("Failed to resolve @microsoft/api-extractor, it must best installed as a dependency of your project in order to use experimental type builds");
|
|
207
206
|
}
|
|
208
207
|
const { dirname } = require("path");
|
|
209
|
-
const { workerData, parentPort } = require("worker_threads");
|
|
210
208
|
const { entryPoints, workerConfigs, typescriptCompilerFolder } = workerData;
|
|
211
209
|
const apiExtractor = require("@microsoft/api-extractor");
|
|
212
210
|
const { Extractor, ExtractorConfig, CompilerState } = apiExtractor;
|
|
@@ -220,7 +218,6 @@ function buildTypeDefinitionsWorker() {
|
|
|
220
218
|
}
|
|
221
219
|
return old.call(this, path);
|
|
222
220
|
};
|
|
223
|
-
let success = true;
|
|
224
221
|
let compilerState;
|
|
225
222
|
for (const { extractorOptions, targetTypesDir } of workerConfigs) {
|
|
226
223
|
const extractorConfig = ExtractorConfig.prepare(extractorOptions);
|
|
@@ -237,21 +234,13 @@ function buildTypeDefinitionsWorker() {
|
|
|
237
234
|
showDiagnostics: false,
|
|
238
235
|
messageCallback: (message) => {
|
|
239
236
|
message.handled = true;
|
|
240
|
-
|
|
237
|
+
sendMessage({ message, targetTypesDir });
|
|
241
238
|
}
|
|
242
239
|
});
|
|
243
240
|
if (!extractorResult.succeeded) {
|
|
244
|
-
|
|
245
|
-
type: "done",
|
|
246
|
-
error: new Error(`Type definition build completed with ${extractorResult.errorCount} errors and ${extractorResult.warningCount} warnings`)
|
|
247
|
-
});
|
|
248
|
-
success = false;
|
|
249
|
-
break;
|
|
241
|
+
throw new Error(`Type definition build completed with ${extractorResult.errorCount} errors and ${extractorResult.warningCount} warnings`);
|
|
250
242
|
}
|
|
251
243
|
}
|
|
252
|
-
if (success) {
|
|
253
|
-
parentPort.postMessage({ type: "done" });
|
|
254
|
-
}
|
|
255
244
|
}
|
|
256
245
|
|
|
257
246
|
const ignoredMessages = /* @__PURE__ */ new Set(["tsdoc-undefined-tag", "ae-forgotten-export"]);
|
|
@@ -293,53 +282,40 @@ async function buildTypeDefinitions(targetDirs = [index.paths.targetDir]) {
|
|
|
293
282
|
const typescriptDir = index.paths.resolveTargetRoot("node_modules/typescript");
|
|
294
283
|
const hasTypescript = await fs__default["default"].pathExists(typescriptDir);
|
|
295
284
|
const typescriptCompilerFolder = hasTypescript ? typescriptDir : void 0;
|
|
296
|
-
|
|
297
|
-
|
|
285
|
+
await parallel.runWorkerThreads({
|
|
286
|
+
threadCount: 1,
|
|
298
287
|
workerData: {
|
|
299
288
|
entryPoints,
|
|
300
289
|
workerConfigs,
|
|
301
290
|
typescriptCompilerFolder
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
291
|
+
},
|
|
292
|
+
worker: buildTypeDefinitionsWorker,
|
|
293
|
+
onMessage: ({
|
|
294
|
+
message,
|
|
295
|
+
targetTypesDir
|
|
296
|
+
}) => {
|
|
297
|
+
if (ignoredMessages.has(message.messageId)) {
|
|
298
|
+
return;
|
|
309
299
|
}
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
} else if (data.type === "message") {
|
|
319
|
-
const { message, targetTypesDir } = data;
|
|
320
|
-
if (ignoredMessages.has(message.messageId)) {
|
|
321
|
-
return;
|
|
322
|
-
}
|
|
323
|
-
let text = `${message.text} (${message.messageId})`;
|
|
324
|
-
if (message.sourceFilePath) {
|
|
325
|
-
text += " at ";
|
|
326
|
-
text += path.relative(targetTypesDir, message.sourceFilePath);
|
|
327
|
-
if (message.sourceFileLine) {
|
|
328
|
-
text += `:${message.sourceFileLine}`;
|
|
329
|
-
if (message.sourceFileColumn) {
|
|
330
|
-
text += `:${message.sourceFileColumn}`;
|
|
331
|
-
}
|
|
300
|
+
let text = `${message.text} (${message.messageId})`;
|
|
301
|
+
if (message.sourceFilePath) {
|
|
302
|
+
text += " at ";
|
|
303
|
+
text += path.relative(targetTypesDir, message.sourceFilePath);
|
|
304
|
+
if (message.sourceFileLine) {
|
|
305
|
+
text += `:${message.sourceFileLine}`;
|
|
306
|
+
if (message.sourceFileColumn) {
|
|
307
|
+
text += `:${message.sourceFileColumn}`;
|
|
332
308
|
}
|
|
333
309
|
}
|
|
334
|
-
if (message.logLevel === "error") {
|
|
335
|
-
console.error(chalk__default["default"].red(`Error: ${text}`));
|
|
336
|
-
} else if (message.logLevel === "warning" || message.category === "Extractor") {
|
|
337
|
-
console.warn(`Warning: ${text}`);
|
|
338
|
-
} else {
|
|
339
|
-
console.log(text);
|
|
340
|
-
}
|
|
341
310
|
}
|
|
342
|
-
|
|
311
|
+
if (message.logLevel === "error") {
|
|
312
|
+
console.error(chalk__default["default"].red(`Error: ${text}`));
|
|
313
|
+
} else if (message.logLevel === "warning" || message.category === "Extractor") {
|
|
314
|
+
console.warn(`Warning: ${text}`);
|
|
315
|
+
} else {
|
|
316
|
+
console.log(text);
|
|
317
|
+
}
|
|
318
|
+
}
|
|
343
319
|
});
|
|
344
320
|
}
|
|
345
321
|
|
|
@@ -456,4 +432,4 @@ exports.Output = Output;
|
|
|
456
432
|
exports.buildPackage = buildPackage;
|
|
457
433
|
exports.buildPackages = buildPackages;
|
|
458
434
|
exports.getOutputsForRole = getOutputsForRole;
|
|
459
|
-
//# sourceMappingURL=packager-
|
|
435
|
+
//# sourceMappingURL=packager-60ad68c9.cjs.js.map
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
var minimatch = require('minimatch');
|
|
4
4
|
var getPackages = require('@manypkg/get-packages');
|
|
5
|
-
var run = require('./run-
|
|
6
|
-
var index = require('./index-
|
|
5
|
+
var run = require('./run-5fdca9d5.cjs.js');
|
|
6
|
+
var index = require('./index-87dfd82d.cjs.js');
|
|
7
7
|
|
|
8
8
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
9
9
|
|
|
@@ -28,7 +28,8 @@ async function fetchPackageInfo(name) {
|
|
|
28
28
|
}
|
|
29
29
|
async function mapDependencies(targetDir, pattern) {
|
|
30
30
|
var _a;
|
|
31
|
-
const { packages } = await getPackages.getPackages(targetDir);
|
|
31
|
+
const { packages, root } = await getPackages.getPackages(targetDir);
|
|
32
|
+
packages.push(root);
|
|
32
33
|
const dependencyMap = /* @__PURE__ */ new Map();
|
|
33
34
|
for (const pkg of packages) {
|
|
34
35
|
const deps = DEP_TYPES.flatMap((t) => {
|
|
@@ -50,4 +51,4 @@ async function mapDependencies(targetDir, pattern) {
|
|
|
50
51
|
|
|
51
52
|
exports.fetchPackageInfo = fetchPackageInfo;
|
|
52
53
|
exports.mapDependencies = mapDependencies;
|
|
53
|
-
//# sourceMappingURL=packages-
|
|
54
|
+
//# sourceMappingURL=packages-a5011251.cjs.js.map
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var os = require('os');
|
|
4
|
+
var worker_threads = require('worker_threads');
|
|
5
|
+
|
|
6
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
7
|
+
|
|
8
|
+
var os__default = /*#__PURE__*/_interopDefaultLegacy(os);
|
|
9
|
+
|
|
10
|
+
const defaultParallelism = Math.ceil(os__default["default"].cpus().length / 2);
|
|
11
|
+
const PARALLEL_ENV_VAR = "BACKSTAGE_CLI_BUILD_PARALLEL";
|
|
12
|
+
function parseParallelismOption(parallel) {
|
|
13
|
+
if (parallel === void 0 || parallel === null) {
|
|
14
|
+
return defaultParallelism;
|
|
15
|
+
} else if (typeof parallel === "boolean") {
|
|
16
|
+
return parallel ? defaultParallelism : 1;
|
|
17
|
+
} else if (typeof parallel === "number" && Number.isInteger(parallel)) {
|
|
18
|
+
if (parallel < 1) {
|
|
19
|
+
return 1;
|
|
20
|
+
}
|
|
21
|
+
return parallel;
|
|
22
|
+
} else if (typeof parallel === "string") {
|
|
23
|
+
if (parallel === "true") {
|
|
24
|
+
return parseParallelismOption(true);
|
|
25
|
+
} else if (parallel === "false") {
|
|
26
|
+
return parseParallelismOption(false);
|
|
27
|
+
}
|
|
28
|
+
const parsed = Number(parallel);
|
|
29
|
+
if (Number.isInteger(parsed)) {
|
|
30
|
+
return parseParallelismOption(parsed);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
throw Error(`Parallel option value '${parallel}' is not a boolean or integer`);
|
|
34
|
+
}
|
|
35
|
+
function getEnvironmentParallelism() {
|
|
36
|
+
return parseParallelismOption(process.env[PARALLEL_ENV_VAR]);
|
|
37
|
+
}
|
|
38
|
+
async function runParallelWorkers(options) {
|
|
39
|
+
const { parallelismFactor = 1, parallelismSetting, items, worker } = options;
|
|
40
|
+
const parallelism = parallelismSetting ? parseParallelismOption(parallelismSetting) : getEnvironmentParallelism();
|
|
41
|
+
const sharedIterator = items[Symbol.iterator]();
|
|
42
|
+
const sharedIterable = {
|
|
43
|
+
[Symbol.iterator]: () => sharedIterator
|
|
44
|
+
};
|
|
45
|
+
const workerCount = Math.max(Math.floor(parallelismFactor * parallelism), 1);
|
|
46
|
+
return Promise.all(Array(workerCount).fill(0).map(async () => {
|
|
47
|
+
for (const value of sharedIterable) {
|
|
48
|
+
await worker(value);
|
|
49
|
+
}
|
|
50
|
+
}));
|
|
51
|
+
}
|
|
52
|
+
async function runWorkerQueueThreads(options) {
|
|
53
|
+
const items = Array.from(options.items);
|
|
54
|
+
const {
|
|
55
|
+
workerFactory,
|
|
56
|
+
workerData,
|
|
57
|
+
threadCount = Math.min(getEnvironmentParallelism(), items.length)
|
|
58
|
+
} = options;
|
|
59
|
+
const iterator = items[Symbol.iterator]();
|
|
60
|
+
const results = new Array();
|
|
61
|
+
let itemIndex = 0;
|
|
62
|
+
await Promise.all(Array(threadCount).fill(0).map(async () => {
|
|
63
|
+
const thread = new worker_threads.Worker(`(${workerQueueThread})(${workerFactory})`, {
|
|
64
|
+
eval: true,
|
|
65
|
+
workerData
|
|
66
|
+
});
|
|
67
|
+
return new Promise((resolve, reject) => {
|
|
68
|
+
thread.on("message", (message) => {
|
|
69
|
+
if (message.type === "start" || message.type === "result") {
|
|
70
|
+
if (message.type === "result") {
|
|
71
|
+
results[message.index] = message.result;
|
|
72
|
+
}
|
|
73
|
+
const { value, done } = iterator.next();
|
|
74
|
+
if (done) {
|
|
75
|
+
thread.postMessage({ type: "done" });
|
|
76
|
+
} else {
|
|
77
|
+
thread.postMessage({
|
|
78
|
+
type: "item",
|
|
79
|
+
index: itemIndex,
|
|
80
|
+
item: value
|
|
81
|
+
});
|
|
82
|
+
itemIndex += 1;
|
|
83
|
+
}
|
|
84
|
+
} else if (message.type === "error") {
|
|
85
|
+
const error = new Error(message.error.message);
|
|
86
|
+
error.name = message.error.name;
|
|
87
|
+
error.stack = message.error.stack;
|
|
88
|
+
reject(error);
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
thread.on("error", reject);
|
|
92
|
+
thread.on("exit", (code) => {
|
|
93
|
+
if (code !== 0) {
|
|
94
|
+
reject(new Error(`Worker thread exited with code ${code}`));
|
|
95
|
+
} else {
|
|
96
|
+
resolve();
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
}));
|
|
101
|
+
return results;
|
|
102
|
+
}
|
|
103
|
+
function workerQueueThread(workerFuncFactory) {
|
|
104
|
+
const { parentPort, workerData } = require("worker_threads");
|
|
105
|
+
Promise.resolve().then(() => workerFuncFactory(workerData)).then((workerFunc) => {
|
|
106
|
+
parentPort.on("message", async (message) => {
|
|
107
|
+
if (message.type === "done") {
|
|
108
|
+
parentPort.close();
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
if (message.type === "item") {
|
|
112
|
+
try {
|
|
113
|
+
const result = await workerFunc(message.item);
|
|
114
|
+
parentPort.postMessage({
|
|
115
|
+
type: "result",
|
|
116
|
+
index: message.index,
|
|
117
|
+
result
|
|
118
|
+
});
|
|
119
|
+
} catch (error) {
|
|
120
|
+
parentPort.postMessage({ type: "error", error });
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
parentPort.postMessage({ type: "start" });
|
|
125
|
+
}, (error) => parentPort.postMessage({ type: "error", error }));
|
|
126
|
+
}
|
|
127
|
+
async function runWorkerThreads(options) {
|
|
128
|
+
const { worker, workerData, threadCount = 1, onMessage } = options;
|
|
129
|
+
return Promise.all(Array(threadCount).fill(0).map(async () => {
|
|
130
|
+
const thread = new worker_threads.Worker(`(${workerThread})(${worker})`, {
|
|
131
|
+
eval: true,
|
|
132
|
+
workerData
|
|
133
|
+
});
|
|
134
|
+
return new Promise((resolve, reject) => {
|
|
135
|
+
thread.on("message", (message) => {
|
|
136
|
+
if (message.type === "result") {
|
|
137
|
+
resolve(message.result);
|
|
138
|
+
} else if (message.type === "error") {
|
|
139
|
+
reject(message.error);
|
|
140
|
+
} else if (message.type === "message") {
|
|
141
|
+
onMessage == null ? void 0 : onMessage(message.message);
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
thread.on("error", reject);
|
|
145
|
+
thread.on("exit", (code) => {
|
|
146
|
+
reject(new Error(`Unexpected worker thread exit with code ${code}`));
|
|
147
|
+
});
|
|
148
|
+
});
|
|
149
|
+
}));
|
|
150
|
+
}
|
|
151
|
+
function workerThread(workerFunc) {
|
|
152
|
+
const { parentPort, workerData } = require("worker_threads");
|
|
153
|
+
const sendMessage = (message) => {
|
|
154
|
+
parentPort.postMessage({ type: "message", message });
|
|
155
|
+
};
|
|
156
|
+
workerFunc(workerData, sendMessage).then((result) => {
|
|
157
|
+
parentPort.postMessage({
|
|
158
|
+
type: "result",
|
|
159
|
+
index: 0,
|
|
160
|
+
result
|
|
161
|
+
});
|
|
162
|
+
}, (error) => {
|
|
163
|
+
parentPort.postMessage({ type: "error", error });
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
exports.getEnvironmentParallelism = getEnvironmentParallelism;
|
|
168
|
+
exports.runParallelWorkers = runParallelWorkers;
|
|
169
|
+
exports.runWorkerQueueThreads = runWorkerQueueThreads;
|
|
170
|
+
exports.runWorkerThreads = runWorkerThreads;
|
|
171
|
+
//# sourceMappingURL=parallel-d8e5bcbf.cjs.js.map
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var fs = require('fs-extra');
|
|
4
|
-
var chalk = require('chalk');
|
|
5
4
|
var path = require('path');
|
|
6
5
|
var ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
|
|
7
6
|
var HtmlWebpackPlugin = require('html-webpack-plugin');
|
|
@@ -12,16 +11,15 @@ var nodeExternals = require('webpack-node-externals');
|
|
|
12
11
|
var cliCommon = require('@backstage/cli-common');
|
|
13
12
|
var getPackages = require('@manypkg/get-packages');
|
|
14
13
|
var MiniCssExtractPlugin = require('mini-css-extract-plugin');
|
|
15
|
-
var svgrTemplate = require('./svgrTemplate-
|
|
16
|
-
var index = require('./index-
|
|
17
|
-
var run = require('./run-
|
|
14
|
+
var svgrTemplate = require('./svgrTemplate-b7a4ee52.cjs.js');
|
|
15
|
+
var index = require('./index-87dfd82d.cjs.js');
|
|
16
|
+
var run = require('./run-5fdca9d5.cjs.js');
|
|
18
17
|
var ESLintPlugin = require('eslint-webpack-plugin');
|
|
19
18
|
var pickBy = require('lodash/pickBy');
|
|
20
19
|
|
|
21
20
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
22
21
|
|
|
23
22
|
var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
|
|
24
|
-
var chalk__default = /*#__PURE__*/_interopDefaultLegacy(chalk);
|
|
25
23
|
var ForkTsCheckerWebpackPlugin__default = /*#__PURE__*/_interopDefaultLegacy(ForkTsCheckerWebpackPlugin);
|
|
26
24
|
var HtmlWebpackPlugin__default = /*#__PURE__*/_interopDefaultLegacy(HtmlWebpackPlugin);
|
|
27
25
|
var ModuleScopePlugin__default = /*#__PURE__*/_interopDefaultLegacy(ModuleScopePlugin);
|
|
@@ -276,34 +274,10 @@ async function createConfig(paths, options) {
|
|
|
276
274
|
plugins.push(new webpack__default["default"].EnvironmentPlugin({
|
|
277
275
|
APP_CONFIG: options.frontendAppConfigs
|
|
278
276
|
}));
|
|
279
|
-
const appParamDeprecationMsg = chalk__default["default"].red('DEPRECATION WARNING: using `app.<key>` in the index.html template is deprecated, use `config.getString("app.<key>")` instead.');
|
|
280
277
|
plugins.push(new HtmlWebpackPlugin__default["default"]({
|
|
281
278
|
template: paths.targetHtml,
|
|
282
279
|
templateParameters: {
|
|
283
280
|
publicPath: validBaseUrl.pathname.replace(/\/$/, ""),
|
|
284
|
-
app: {
|
|
285
|
-
get title() {
|
|
286
|
-
console.warn(appParamDeprecationMsg);
|
|
287
|
-
return frontendConfig.getString("app.title");
|
|
288
|
-
},
|
|
289
|
-
get baseUrl() {
|
|
290
|
-
console.warn(appParamDeprecationMsg);
|
|
291
|
-
return validBaseUrl.href;
|
|
292
|
-
},
|
|
293
|
-
get googleAnalyticsTrackingId() {
|
|
294
|
-
console.warn(appParamDeprecationMsg);
|
|
295
|
-
return frontendConfig.getOptionalString("app.googleAnalyticsTrackingId");
|
|
296
|
-
},
|
|
297
|
-
get datadogRum() {
|
|
298
|
-
console.warn(appParamDeprecationMsg);
|
|
299
|
-
return {
|
|
300
|
-
env: frontendConfig.getOptionalString("app.datadogRum.env"),
|
|
301
|
-
clientToken: frontendConfig.getOptionalString("app.datadogRum.clientToken"),
|
|
302
|
-
applicationId: frontendConfig.getOptionalString("app.datadogRum.applicationId"),
|
|
303
|
-
site: frontendConfig.getOptionalString("app.datadogRum.site")
|
|
304
|
-
};
|
|
305
|
-
}
|
|
306
|
-
},
|
|
307
281
|
config: frontendConfig
|
|
308
282
|
}
|
|
309
283
|
}));
|
|
@@ -315,7 +289,9 @@ async function createConfig(paths, options) {
|
|
|
315
289
|
try {
|
|
316
290
|
const { version: reactDomVersion } = require("react-dom/package.json");
|
|
317
291
|
if (reactDomVersion.startsWith("16.")) {
|
|
318
|
-
resolveAliases["react-dom"] = "@hot-loader/react-dom";
|
|
292
|
+
resolveAliases["react-dom"] = "@hot-loader/react-dom-v16";
|
|
293
|
+
} else {
|
|
294
|
+
resolveAliases["react-dom"] = "@hot-loader/react-dom-v17";
|
|
319
295
|
}
|
|
320
296
|
} catch (error) {
|
|
321
297
|
console.warn(`WARNING: Failed to read react-dom version, ${error}`);
|
|
@@ -517,4 +493,4 @@ exports.createBackendConfig = createBackendConfig;
|
|
|
517
493
|
exports.createConfig = createConfig;
|
|
518
494
|
exports.resolveBaseUrl = resolveBaseUrl;
|
|
519
495
|
exports.resolveBundlingPaths = resolveBundlingPaths;
|
|
520
|
-
//# sourceMappingURL=paths-
|
|
496
|
+
//# sourceMappingURL=paths-6bb65aa4.cjs.js.map
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
var yaml = require('yaml');
|
|
4
4
|
var config$1 = require('@backstage/config');
|
|
5
|
-
var config = require('./config-
|
|
5
|
+
var config = require('./config-421162a7.cjs.js');
|
|
6
6
|
require('@backstage/config-loader');
|
|
7
|
-
require('./index-
|
|
7
|
+
require('./index-87dfd82d.cjs.js');
|
|
8
8
|
require('commander');
|
|
9
9
|
require('chalk');
|
|
10
10
|
require('fs-extra');
|
|
@@ -13,7 +13,10 @@ require('@backstage/cli-common');
|
|
|
13
13
|
require('@backstage/config/package.json');
|
|
14
14
|
require('@backstage/errors');
|
|
15
15
|
require('@manypkg/get-packages');
|
|
16
|
-
require('./PackageGraph-
|
|
16
|
+
require('./PackageGraph-b00df225.cjs.js');
|
|
17
|
+
require('path');
|
|
18
|
+
require('child_process');
|
|
19
|
+
require('util');
|
|
17
20
|
|
|
18
21
|
var print = async (cmd) => {
|
|
19
22
|
const { schema, appConfigs } = await config.loadCliConfig({
|
|
@@ -59,4 +62,4 @@ function serializeConfigData(appConfigs, schema, visibility) {
|
|
|
59
62
|
}
|
|
60
63
|
|
|
61
64
|
exports["default"] = print;
|
|
62
|
-
//# sourceMappingURL=print-
|
|
65
|
+
//# sourceMappingURL=print-1ff6b34f.cjs.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var child_process = require('child_process');
|
|
4
|
-
var index = require('./index-
|
|
4
|
+
var index = require('./index-87dfd82d.cjs.js');
|
|
5
5
|
var util = require('util');
|
|
6
6
|
var errors = require('@backstage/errors');
|
|
7
7
|
|
|
@@ -78,4 +78,4 @@ async function waitForExit(child, name) {
|
|
|
78
78
|
exports.run = run;
|
|
79
79
|
exports.runCheck = runCheck;
|
|
80
80
|
exports.runPlain = runPlain;
|
|
81
|
-
//# sourceMappingURL=run-
|
|
81
|
+
//# sourceMappingURL=run-5fdca9d5.cjs.js.map
|