@backstage/cli 0.18.0 → 0.18.1
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 +23 -0
- package/config/eslint-factory.js +1 -1
- package/dist/cjs/{Lockfile-48dc675e.cjs.js → Lockfile-72b7072e.cjs.js} +25 -9
- package/dist/cjs/{PackageGraph-1d7b086a.cjs.js → PackageGraph-7ea22294.cjs.js} +17 -9
- package/dist/cjs/{build-52ba70a2.cjs.js → build-688edcd3.cjs.js} +26 -15
- package/dist/cjs/{buildBackend-55985c84.cjs.js → buildBackend-ac6c633b.cjs.js} +61 -36
- package/dist/cjs/{buildWorkspace-d663903d.cjs.js → buildWorkspace-76f958f0.cjs.js} +7 -7
- package/dist/cjs/{bump-1a3769e9.cjs.js → bump-db89c0f3.cjs.js} +88 -33
- package/dist/cjs/{clean-9a8c294a.cjs.js → clean-68c34bfd.cjs.js} +2 -2
- package/dist/cjs/{config-de1bf46a.cjs.js → config-9d64a562.cjs.js} +15 -11
- package/dist/cjs/{create-b0ca2add.cjs.js → create-94a20b19.cjs.js} +80 -32
- package/dist/cjs/{createDistWorkspace-fc94c796.cjs.js → createDistWorkspace-0412df70.cjs.js} +137 -65
- package/dist/cjs/{createPlugin-4d7e1b01.cjs.js → createPlugin-02079f81.cjs.js} +69 -30
- package/dist/cjs/{diff-a561bee3.cjs.js → diff-f68eaf29.cjs.js} +68 -16
- package/dist/cjs/{docs-bd70b38e.cjs.js → docs-1527b730.cjs.js} +9 -5
- package/dist/cjs/{fix-47eb8dc4.cjs.js → fix-56a6d092.cjs.js} +17 -7
- package/dist/cjs/{index-27d57881.cjs.js → index-025feb83.cjs.js} +10 -10
- package/dist/cjs/{index-bb24147b.cjs.js → index-16fe1d27.cjs.js} +39 -12
- package/dist/cjs/{index-4f4a8498.cjs.js → index-4f8f2562.cjs.js} +58 -38
- package/dist/cjs/{index-7e13cc9d.cjs.js → index-b7ce30d9.cjs.js} +151 -50
- package/dist/cjs/{info-29f0ee36.cjs.js → info-88431720.cjs.js} +20 -6
- package/dist/cjs/{install-fea0e3f5.cjs.js → install-4d423030.cjs.js} +44 -17
- package/dist/cjs/{lint-0db8937c.cjs.js → lint-2fd53d5f.cjs.js} +4 -4
- package/dist/cjs/{lint-81a75364.cjs.js → lint-bd7b9e13.cjs.js} +37 -11
- package/dist/cjs/{lint-1711bbbb.cjs.js → lint-da011116.cjs.js} +5 -3
- package/dist/cjs/{list-deprecations-cea8fad3.cjs.js → list-deprecations-268e1d6b.cjs.js} +3 -3
- package/dist/cjs/{pack-8ab429c0.cjs.js → pack-ce12d4b7.cjs.js} +17 -11
- package/dist/cjs/packageLintConfigs-9f3b0766.cjs.js +83 -0
- package/dist/cjs/packageRole-582e0558.cjs.js +59 -0
- package/dist/cjs/{packageRoles-a310f84c.cjs.js → packageRoles-fec3121b.cjs.js} +5 -3
- package/dist/cjs/packageScripts-04ac9bc2.cjs.js +98 -0
- package/dist/cjs/{packages-ea5c38ec.cjs.js → packages-24759dcb.cjs.js} +17 -12
- package/dist/cjs/parallel-a8f6219c.cjs.js +187 -0
- package/dist/cjs/{paths-d98c9d0c.cjs.js → paths-13d8625f.cjs.js} +102 -57
- package/dist/cjs/{print-4cbe70e7.cjs.js → print-58fe18ba.cjs.js} +4 -4
- package/dist/cjs/{run-5e05ba2c.cjs.js → run-f4586ef6.cjs.js} +2 -2
- package/dist/cjs/{schema-2c842cbe.cjs.js → schema-65c31be1.cjs.js} +9 -5
- package/dist/cjs/{tasks-b054c9ce.cjs.js → tasks-16da761b.cjs.js} +29 -12
- package/dist/cjs/{test-b5969f53.cjs.js → test-464a46fe.cjs.js} +3 -3
- package/dist/cjs/{validate-8a03d402.cjs.js → validate-3231ba7d.cjs.js} +4 -4
- package/dist/index.cjs.js +1 -1
- package/package.json +12 -12
- package/dist/cjs/packageLintConfigs-77b71b79.cjs.js +0 -74
- package/dist/cjs/packageRole-d1e7c7d6.cjs.js +0 -53
- package/dist/cjs/packageScripts-6731503e.cjs.js +0 -96
- package/dist/cjs/parallel-8286d3fa.cjs.js +0 -171
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var fs = require('fs-extra');
|
|
4
|
-
var path = require('path');
|
|
5
|
-
var PackageGraph = require('./PackageGraph-1d7b086a.cjs.js');
|
|
6
|
-
var packageRoles = require('./packageRoles-a310f84c.cjs.js');
|
|
7
|
-
require('@manypkg/get-packages');
|
|
8
|
-
require('./index-7e13cc9d.cjs.js');
|
|
9
|
-
require('commander');
|
|
10
|
-
require('chalk');
|
|
11
|
-
require('semver');
|
|
12
|
-
require('@backstage/cli-common');
|
|
13
|
-
require('@backstage/errors');
|
|
14
|
-
require('child_process');
|
|
15
|
-
require('util');
|
|
16
|
-
require('zod');
|
|
17
|
-
|
|
18
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
19
|
-
|
|
20
|
-
var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
|
|
21
|
-
|
|
22
|
-
const configArgPattern = /--config[=\s][^\s$]+/;
|
|
23
|
-
const noStartRoles = ["cli", "common-library"];
|
|
24
|
-
async function command() {
|
|
25
|
-
const packages = await PackageGraph.PackageGraph.listTargetPackages();
|
|
26
|
-
await Promise.all(packages.map(async ({ dir, packageJson }) => {
|
|
27
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i;
|
|
28
|
-
const role = packageRoles.getRoleFromPackage(packageJson);
|
|
29
|
-
if (!role) {
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
const roleInfo = packageRoles.getRoleInfo(role);
|
|
33
|
-
const hasStart = !noStartRoles.includes(role);
|
|
34
|
-
const needsPack = !(roleInfo.output.includes("bundle") || role === "cli");
|
|
35
|
-
const scripts = (_a = packageJson.scripts) != null ? _a : {};
|
|
36
|
-
const startCmd = ["start"];
|
|
37
|
-
if ((_b = scripts.start) == null ? void 0 : _b.includes("--check")) {
|
|
38
|
-
startCmd.push("--check");
|
|
39
|
-
}
|
|
40
|
-
if ((_c = scripts.start) == null ? void 0 : _c.includes("--config")) {
|
|
41
|
-
startCmd.push(...(_d = scripts.start.match(configArgPattern)) != null ? _d : []);
|
|
42
|
-
}
|
|
43
|
-
const buildCmd = ["build"];
|
|
44
|
-
if ((_e = scripts.build) == null ? void 0 : _e.includes("--minify")) {
|
|
45
|
-
buildCmd.push("--minify");
|
|
46
|
-
}
|
|
47
|
-
if ((_f = scripts.build) == null ? void 0 : _f.includes("--experimental-type-build")) {
|
|
48
|
-
buildCmd.push("--experimental-type-build");
|
|
49
|
-
}
|
|
50
|
-
if ((_g = scripts.build) == null ? void 0 : _g.includes("--config")) {
|
|
51
|
-
buildCmd.push(...(_h = scripts.build.match(configArgPattern)) != null ? _h : []);
|
|
52
|
-
}
|
|
53
|
-
const testCmd = ["test"];
|
|
54
|
-
if ((_i = scripts.test) == null ? void 0 : _i.startsWith("backstage-cli test")) {
|
|
55
|
-
const args = scripts.test.slice("backstage-cli test".length).split(" ").filter(Boolean);
|
|
56
|
-
if (args.includes("--passWithNoTests")) {
|
|
57
|
-
args.splice(args.indexOf("--passWithNoTests"), 1);
|
|
58
|
-
}
|
|
59
|
-
testCmd.push(...args);
|
|
60
|
-
}
|
|
61
|
-
const expectedScripts = {
|
|
62
|
-
...hasStart && {
|
|
63
|
-
start: `backstage-cli package ${startCmd.join(" ")}`
|
|
64
|
-
},
|
|
65
|
-
build: `backstage-cli package ${buildCmd.join(" ")}`,
|
|
66
|
-
lint: "backstage-cli package lint",
|
|
67
|
-
test: `backstage-cli package ${testCmd.join(" ")}`,
|
|
68
|
-
clean: "backstage-cli package clean",
|
|
69
|
-
...needsPack && {
|
|
70
|
-
postpack: "backstage-cli package postpack",
|
|
71
|
-
prepack: "backstage-cli package prepack"
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
let changed = false;
|
|
75
|
-
const currentScripts = packageJson.scripts = packageJson.scripts || {};
|
|
76
|
-
for (const [name, value] of Object.entries(expectedScripts)) {
|
|
77
|
-
const currentScript = currentScripts[name];
|
|
78
|
-
const isMissing = !currentScript;
|
|
79
|
-
const isDifferent = currentScript !== value;
|
|
80
|
-
const isBackstageScript = currentScript == null ? void 0 : currentScript.includes("backstage-cli");
|
|
81
|
-
if (isMissing || isDifferent && isBackstageScript) {
|
|
82
|
-
changed = true;
|
|
83
|
-
currentScripts[name] = value;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
if (changed) {
|
|
87
|
-
console.log(`Updating scripts for ${packageJson.name}`);
|
|
88
|
-
await fs__default["default"].writeJson(path.resolve(dir, "package.json"), packageJson, {
|
|
89
|
-
spaces: 2
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
}));
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
exports.command = command;
|
|
96
|
-
//# sourceMappingURL=packageScripts-6731503e.cjs.js.map
|
|
@@ -1,171 +0,0 @@
|
|
|
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-8286d3fa.cjs.js.map
|