@backstage/cli 0.35.4-next.2 → 0.35.5-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 +55 -0
- package/dist/index.cjs.js +1 -0
- package/dist/lib/cache/SuccessCache.cjs.js +2 -2
- package/dist/lib/typeDistProject.cjs.js +2 -2
- package/dist/lib/version.cjs.js +4 -3
- package/dist/lib/yarnPlugin.cjs.js +2 -2
- package/dist/modules/build/commands/package/build/command.cjs.js +16 -8
- package/dist/modules/build/commands/package/start/command.cjs.js +3 -3
- package/dist/modules/build/commands/package/start/startBackend.cjs.js +2 -2
- package/dist/modules/build/commands/package/start/startFrontend.cjs.js +5 -7
- package/dist/modules/build/commands/repo/build.cjs.js +6 -7
- package/dist/modules/build/commands/repo/start.cjs.js +3 -3
- package/dist/modules/build/index.cjs.js +6 -0
- package/dist/modules/build/lib/buildBackend.cjs.js +0 -2
- package/dist/modules/build/lib/buildFrontend.cjs.js +4 -8
- package/dist/modules/build/lib/builder/config.cjs.js +5 -5
- package/dist/modules/build/lib/builder/packager.cjs.js +7 -8
- package/dist/modules/build/lib/bundler/bundle.cjs.js +9 -2
- package/dist/modules/build/lib/bundler/config.cjs.js +20 -78
- package/dist/modules/build/lib/bundler/hasReactDomClient.cjs.js +2 -2
- package/dist/modules/build/lib/bundler/linkWorkspaces.cjs.js +2 -2
- package/dist/modules/build/lib/bundler/moduleFederation.cjs.js +99 -16
- package/dist/modules/build/lib/bundler/packageDetection.cjs.js +2 -2
- package/dist/modules/build/lib/bundler/paths.cjs.js +8 -6
- package/dist/modules/build/lib/bundler/server.cjs.js +24 -14
- package/dist/modules/build/lib/packager/createDistWorkspace.cjs.js +9 -9
- package/dist/modules/build/lib/packager/productionPack.cjs.js +1 -1
- package/dist/{lib → modules/build/lib}/role.cjs.js +2 -2
- package/dist/modules/build/lib/runner/runBackend.cjs.js +2 -2
- package/dist/modules/config/lib/config.cjs.js +4 -4
- package/dist/modules/create-github-app/commands/create-github-app/index.cjs.js +2 -2
- package/dist/modules/info/commands/info.cjs.js +4 -5
- package/dist/modules/lint/commands/package/lint.cjs.js +4 -4
- package/dist/modules/lint/commands/repo/lint.cjs.js +8 -9
- package/dist/modules/maintenance/commands/package/clean.cjs.js +4 -4
- package/dist/modules/maintenance/commands/package/pack.cjs.js +5 -5
- package/dist/modules/maintenance/commands/repo/clean.cjs.js +3 -4
- package/dist/modules/maintenance/commands/repo/fix.cjs.js +7 -7
- package/dist/modules/maintenance/commands/repo/list-deprecations.cjs.js +4 -4
- package/dist/modules/migrate/commands/packageRole.cjs.js +2 -2
- package/dist/modules/migrate/commands/versions/bump.cjs.js +8 -9
- package/dist/modules/new/lib/codeowners/codeowners.cjs.js +2 -2
- package/dist/modules/new/lib/execution/PortableTemplater.cjs.js +2 -3
- package/dist/modules/new/lib/execution/installNewPackage.cjs.js +4 -4
- package/dist/modules/new/lib/execution/writeTemplateContents.cjs.js +1 -2
- package/dist/modules/new/lib/preparation/collectPortableTemplateInput.cjs.js +2 -2
- package/dist/modules/new/lib/preparation/loadPortableTemplate.cjs.js +2 -2
- package/dist/modules/new/lib/preparation/loadPortableTemplateConfig.cjs.js +2 -2
- package/dist/modules/test/commands/package/test.cjs.js +1 -2
- package/dist/modules/test/commands/repo/test.cjs.js +3 -4
- package/dist/modules/test/index.cjs.js +3 -1
- package/dist/modules/translations/commands/export.cjs.js +104 -0
- package/dist/modules/translations/commands/import.cjs.js +141 -0
- package/dist/modules/translations/index.cjs.js +59 -0
- package/dist/modules/translations/lib/discoverPackages.cjs.js +121 -0
- package/dist/modules/translations/lib/extractTranslations.cjs.js +71 -0
- package/dist/modules/translations/lib/messageFilePath.cjs.js +43 -0
- package/dist/packages/backend-defaults/package.json.cjs.js +1 -1
- package/dist/packages/backend-plugin-api/package.json.cjs.js +1 -1
- package/dist/packages/backend-test-utils/package.json.cjs.js +1 -1
- package/dist/packages/catalog-client/package.json.cjs.js +1 -1
- package/dist/packages/cli/package.json.cjs.js +7 -6
- package/dist/packages/core-app-api/package.json.cjs.js +1 -1
- package/dist/packages/core-components/package.json.cjs.js +1 -1
- package/dist/packages/core-plugin-api/package.json.cjs.js +1 -1
- package/dist/packages/dev-utils/package.json.cjs.js +1 -1
- package/dist/packages/frontend-defaults/package.json.cjs.js +1 -1
- package/dist/packages/frontend-plugin-api/package.json.cjs.js +1 -1
- package/dist/packages/frontend-test-utils/package.json.cjs.js +1 -1
- package/dist/packages/test-utils/package.json.cjs.js +1 -1
- package/dist/packages/theme/package.json.cjs.js +1 -1
- package/dist/plugins/auth-backend/package.json.cjs.js +1 -1
- package/dist/plugins/auth-backend-module-guest-provider/package.json.cjs.js +1 -1
- package/dist/plugins/catalog-node/package.json.cjs.js +1 -1
- package/dist/plugins/scaffolder-node/package.json.cjs.js +1 -1
- package/dist/plugins/scaffolder-node-test-utils/package.json.cjs.js +1 -1
- package/package.json +28 -27
- package/dist/lib/parallel.cjs.js +0 -141
- package/dist/lib/paths.cjs.js +0 -8
- /package/dist/{lib → modules/build/lib}/entryPoints.cjs.js +0 -0
|
@@ -6,7 +6,7 @@ var fs = require('fs-extra');
|
|
|
6
6
|
var chalk = require('chalk');
|
|
7
7
|
var yaml = require('yaml');
|
|
8
8
|
var inquirer = require('inquirer');
|
|
9
|
-
var
|
|
9
|
+
var cliCommon = require('@backstage/cli-common');
|
|
10
10
|
var GithubCreateAppServer = require('./GithubCreateAppServer.cjs.js');
|
|
11
11
|
var openBrowser = require('react-dev-utils/openBrowser');
|
|
12
12
|
|
|
@@ -51,7 +51,7 @@ var index = async (org) => {
|
|
|
51
51
|
const fileName = `github-app-${slug}-credentials.yaml`;
|
|
52
52
|
const content = `# Name: ${name}
|
|
53
53
|
${yaml.stringify(config)}`;
|
|
54
|
-
await fs__default.default.writeFile(
|
|
54
|
+
await fs__default.default.writeFile(cliCommon.targetPaths.resolveRoot(fileName), content);
|
|
55
55
|
console.log(`GitHub App configuration written to ${chalk__default.default.cyan(fileName)}`);
|
|
56
56
|
console.log(
|
|
57
57
|
chalk__default.default.yellow(
|
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var _package = require('../../../packages/cli/package.json.cjs.js');
|
|
6
6
|
var os = require('node:os');
|
|
7
7
|
var cliCommon = require('@backstage/cli-common');
|
|
8
|
-
var paths = require('../../../lib/paths.cjs.js');
|
|
9
8
|
var Lockfile = require('../../../lib/versioning/Lockfile.cjs.js');
|
|
10
9
|
var minimatch = require('minimatch');
|
|
11
10
|
require('@manypkg/get-packages');
|
|
@@ -34,8 +33,8 @@ function hasBackstageField(packageName, targetPath) {
|
|
|
34
33
|
var info = async (options) => {
|
|
35
34
|
await new Promise(async () => {
|
|
36
35
|
const yarnVersion = await cliCommon.runOutput(["yarn", "--version"]);
|
|
37
|
-
const isLocal = fs__default.default.existsSync(
|
|
38
|
-
const backstageFile =
|
|
36
|
+
const isLocal = fs__default.default.existsSync(cliCommon.findOwnPaths(__dirname).resolve("./src"));
|
|
37
|
+
const backstageFile = cliCommon.targetPaths.resolveRoot("backstage.json");
|
|
39
38
|
let backstageVersion = "N/A";
|
|
40
39
|
if (fs__default.default.existsSync(backstageFile)) {
|
|
41
40
|
try {
|
|
@@ -57,9 +56,9 @@ var info = async (options) => {
|
|
|
57
56
|
cli: { version: _package.version, local: isLocal },
|
|
58
57
|
backstage: backstageVersion
|
|
59
58
|
};
|
|
60
|
-
const lockfilePath =
|
|
59
|
+
const lockfilePath = cliCommon.targetPaths.resolveRoot("yarn.lock");
|
|
61
60
|
const lockfile = await Lockfile.Lockfile.load(lockfilePath);
|
|
62
|
-
const targetPath =
|
|
61
|
+
const targetPath = cliCommon.targetPaths.rootDir;
|
|
63
62
|
const workspacePackages = /* @__PURE__ */ new Map();
|
|
64
63
|
try {
|
|
65
64
|
const packages = await cliNode.PackageGraph.listTargetPackages();
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var fs = require('fs-extra');
|
|
6
|
-
var
|
|
6
|
+
var cliCommon = require('@backstage/cli-common');
|
|
7
7
|
var eslint = require('eslint');
|
|
8
8
|
|
|
9
9
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
@@ -12,7 +12,7 @@ var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
|
|
|
12
12
|
|
|
13
13
|
var lint = async (directories, opts) => {
|
|
14
14
|
const eslint$1 = new eslint.ESLint({
|
|
15
|
-
cwd:
|
|
15
|
+
cwd: cliCommon.targetPaths.dir,
|
|
16
16
|
fix: opts.fix,
|
|
17
17
|
extensions: ["js", "jsx", "ts", "tsx", "mjs", "cjs"]
|
|
18
18
|
});
|
|
@@ -27,12 +27,12 @@ var lint = async (directories, opts) => {
|
|
|
27
27
|
}
|
|
28
28
|
const formatter = await eslint$1.loadFormatter(opts.format);
|
|
29
29
|
if (opts.format === "eslint-formatter-friendly") {
|
|
30
|
-
process.chdir(
|
|
30
|
+
process.chdir(cliCommon.targetPaths.rootDir);
|
|
31
31
|
}
|
|
32
32
|
const resultText = await formatter.format(results);
|
|
33
33
|
if (resultText) {
|
|
34
34
|
if (opts.outputFile) {
|
|
35
|
-
await fs__default.default.writeFile(
|
|
35
|
+
await fs__default.default.writeFile(cliCommon.targetPaths.resolve(opts.outputFile), resultText);
|
|
36
36
|
} else {
|
|
37
37
|
console.log(resultText);
|
|
38
38
|
}
|
|
@@ -5,8 +5,7 @@ var fs = require('fs-extra');
|
|
|
5
5
|
var crypto = require('node:crypto');
|
|
6
6
|
var path = require('node:path');
|
|
7
7
|
var cliNode = require('@backstage/cli-node');
|
|
8
|
-
var
|
|
9
|
-
var parallel = require('../../../../lib/parallel.cjs.js');
|
|
8
|
+
var cliCommon = require('@backstage/cli-common');
|
|
10
9
|
var optionsParser = require('../../../../lib/optionsParser.cjs.js');
|
|
11
10
|
var SuccessCache = require('../../../../lib/cache/SuccessCache.cjs.js');
|
|
12
11
|
|
|
@@ -25,7 +24,7 @@ async function command(opts, cmd) {
|
|
|
25
24
|
const cache = new SuccessCache.SuccessCache("lint", opts.successCacheDir);
|
|
26
25
|
const cacheContext = opts.successCache ? {
|
|
27
26
|
entries: await cache.read(),
|
|
28
|
-
lockfile: await cliNode.Lockfile.load(
|
|
27
|
+
lockfile: await cliNode.Lockfile.load(cliCommon.targetPaths.resolveRoot("yarn.lock"))
|
|
29
28
|
} : void 0;
|
|
30
29
|
if (opts.since) {
|
|
31
30
|
const graph = cliNode.PackageGraph.fromPackages(packages);
|
|
@@ -36,7 +35,7 @@ async function command(opts, cmd) {
|
|
|
36
35
|
}
|
|
37
36
|
packages.sort((a, b) => depCount(b.packageJson) - depCount(a.packageJson));
|
|
38
37
|
if (opts.format === "eslint-formatter-friendly") {
|
|
39
|
-
process.chdir(
|
|
38
|
+
process.chdir(cliCommon.targetPaths.rootDir);
|
|
40
39
|
}
|
|
41
40
|
if (!process.env.FORCE_COLOR) {
|
|
42
41
|
process.env.FORCE_COLOR = "1";
|
|
@@ -47,7 +46,7 @@ async function command(opts, cmd) {
|
|
|
47
46
|
const lintOptions = parseLintScript(pkg.packageJson.scripts?.lint);
|
|
48
47
|
const base = {
|
|
49
48
|
fullDir: pkg.dir,
|
|
50
|
-
relativeDir: path.relative(
|
|
49
|
+
relativeDir: path.relative(cliCommon.targetPaths.rootDir, pkg.dir),
|
|
51
50
|
lintOptions,
|
|
52
51
|
parentHash: void 0
|
|
53
52
|
};
|
|
@@ -70,16 +69,16 @@ async function command(opts, cmd) {
|
|
|
70
69
|
};
|
|
71
70
|
})
|
|
72
71
|
);
|
|
73
|
-
const resultsList = await
|
|
72
|
+
const { results: resultsList } = await cliNode.runWorkerQueueThreads({
|
|
74
73
|
items: items.filter((item) => item.lintOptions),
|
|
75
74
|
// Filter out packages without lint script
|
|
76
|
-
|
|
75
|
+
context: {
|
|
77
76
|
fix: Boolean(opts.fix),
|
|
78
77
|
format: opts.format,
|
|
79
78
|
shouldCache: Boolean(cacheContext),
|
|
80
79
|
maxWarnings: opts.maxWarnings ?? -1,
|
|
81
80
|
successCache: cacheContext?.entries,
|
|
82
|
-
rootDir:
|
|
81
|
+
rootDir: cliCommon.targetPaths.rootDir
|
|
83
82
|
},
|
|
84
83
|
workerFactory: async ({
|
|
85
84
|
fix,
|
|
@@ -197,7 +196,7 @@ async function command(opts, cmd) {
|
|
|
197
196
|
errorOutput = JSON.stringify(mergedJsonResults, null, 2);
|
|
198
197
|
}
|
|
199
198
|
if (opts.outputFile && errorOutput) {
|
|
200
|
-
await fs__default.default.writeFile(
|
|
199
|
+
await fs__default.default.writeFile(cliCommon.targetPaths.resolveRoot(opts.outputFile), errorOutput);
|
|
201
200
|
}
|
|
202
201
|
if (cacheContext) {
|
|
203
202
|
await cache.write(outputSuccessCache);
|
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var fs = require('fs-extra');
|
|
6
|
-
var
|
|
6
|
+
var cliCommon = require('@backstage/cli-common');
|
|
7
7
|
|
|
8
8
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
9
9
|
|
|
10
10
|
var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
|
|
11
11
|
|
|
12
12
|
async function clean() {
|
|
13
|
-
await fs__default.default.remove(
|
|
14
|
-
await fs__default.default.remove(
|
|
15
|
-
await fs__default.default.remove(
|
|
13
|
+
await fs__default.default.remove(cliCommon.targetPaths.resolve("dist"));
|
|
14
|
+
await fs__default.default.remove(cliCommon.targetPaths.resolve("dist-types"));
|
|
15
|
+
await fs__default.default.remove(cliCommon.targetPaths.resolve("coverage"));
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
exports.default = clean;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var productionPack = require('../../../build/lib/packager/productionPack.cjs.js');
|
|
4
|
-
var
|
|
4
|
+
var cliCommon = require('@backstage/cli-common');
|
|
5
5
|
var fs = require('fs-extra');
|
|
6
6
|
var publishing = require('../../lib/publishing.cjs.js');
|
|
7
7
|
var typeDistProject = require('../../../../lib/typeDistProject.cjs.js');
|
|
@@ -12,16 +12,16 @@ var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
|
|
|
12
12
|
|
|
13
13
|
const pre = async () => {
|
|
14
14
|
publishing.publishPreflightCheck({
|
|
15
|
-
dir:
|
|
16
|
-
packageJson: await fs__default.default.readJson(
|
|
15
|
+
dir: cliCommon.targetPaths.dir,
|
|
16
|
+
packageJson: await fs__default.default.readJson(cliCommon.targetPaths.resolve("package.json"))
|
|
17
17
|
});
|
|
18
18
|
await productionPack.productionPack({
|
|
19
|
-
packageDir:
|
|
19
|
+
packageDir: cliCommon.targetPaths.dir,
|
|
20
20
|
featureDetectionProject: await typeDistProject.createTypeDistProject()
|
|
21
21
|
});
|
|
22
22
|
};
|
|
23
23
|
const post = async () => {
|
|
24
|
-
await productionPack.revertProductionPack(
|
|
24
|
+
await productionPack.revertProductionPack(cliCommon.targetPaths.dir);
|
|
25
25
|
};
|
|
26
26
|
|
|
27
27
|
exports.post = post;
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
var fs = require('fs-extra');
|
|
4
4
|
var path = require('node:path');
|
|
5
5
|
var cliNode = require('@backstage/cli-node');
|
|
6
|
-
var paths = require('../../../../lib/paths.cjs.js');
|
|
7
6
|
var cliCommon = require('@backstage/cli-common');
|
|
8
7
|
|
|
9
8
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
@@ -12,9 +11,9 @@ var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
|
|
|
12
11
|
|
|
13
12
|
async function command() {
|
|
14
13
|
const packages = await cliNode.PackageGraph.listTargetPackages();
|
|
15
|
-
await fs__default.default.remove(
|
|
16
|
-
await fs__default.default.remove(
|
|
17
|
-
await fs__default.default.remove(
|
|
14
|
+
await fs__default.default.remove(cliCommon.targetPaths.resolveRoot("dist"));
|
|
15
|
+
await fs__default.default.remove(cliCommon.targetPaths.resolveRoot("dist-types"));
|
|
16
|
+
await fs__default.default.remove(cliCommon.targetPaths.resolveRoot("coverage"));
|
|
18
17
|
await Promise.all(
|
|
19
18
|
Array.from(Array(10), async () => {
|
|
20
19
|
while (packages.length > 0) {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var cliNode = require('@backstage/cli-node');
|
|
4
4
|
var fs = require('fs-extra');
|
|
5
5
|
var path = require('node:path');
|
|
6
|
-
var
|
|
6
|
+
var cliCommon = require('@backstage/cli-common');
|
|
7
7
|
var publishing = require('../../lib/publishing.cjs.js');
|
|
8
8
|
|
|
9
9
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
@@ -18,7 +18,7 @@ async function readFixablePackages() {
|
|
|
18
18
|
function printPackageFixHint(packages) {
|
|
19
19
|
const changed = packages.filter((pkg) => pkg.changed);
|
|
20
20
|
if (changed.length > 0) {
|
|
21
|
-
const rootPkg = require(
|
|
21
|
+
const rootPkg = require(cliCommon.targetPaths.resolveRoot("package.json"));
|
|
22
22
|
const fixCmd = rootPkg.scripts?.fix === "backstage-cli repo fix" ? "fix" : "backstage-cli repo fix";
|
|
23
23
|
console.log(
|
|
24
24
|
`The following packages are out of sync, run 'yarn ${fixCmd}' to fix them:`
|
|
@@ -148,7 +148,7 @@ function fixSideEffects(pkg) {
|
|
|
148
148
|
pkg.changed = true;
|
|
149
149
|
}
|
|
150
150
|
function createRepositoryFieldFixer() {
|
|
151
|
-
const rootPkg = require(
|
|
151
|
+
const rootPkg = require(cliCommon.targetPaths.resolveRoot("package.json"));
|
|
152
152
|
const rootRepoField = rootPkg.repository;
|
|
153
153
|
if (!rootRepoField) {
|
|
154
154
|
return () => {
|
|
@@ -160,7 +160,7 @@ function createRepositoryFieldFixer() {
|
|
|
160
160
|
return (pkg) => {
|
|
161
161
|
const expectedPath = path.posix.join(
|
|
162
162
|
rootDir,
|
|
163
|
-
path.relative(
|
|
163
|
+
path.relative(cliCommon.targetPaths.rootDir, pkg.dir)
|
|
164
164
|
);
|
|
165
165
|
const repoField = pkg.packageJson.repository;
|
|
166
166
|
if (!repoField || typeof repoField === "string") {
|
|
@@ -234,7 +234,7 @@ function fixPluginId(pkg) {
|
|
|
234
234
|
const guessedPluginId = guessPluginId(role, pkg.packageJson.name);
|
|
235
235
|
if (!guessedPluginId && (role === "frontend-plugin" || role === "frontend-plugin-module" || role === "backend-plugin" || role === "backend-plugin-module")) {
|
|
236
236
|
const path$1 = path.relative(
|
|
237
|
-
|
|
237
|
+
cliCommon.targetPaths.rootDir,
|
|
238
238
|
path.resolve(pkg.dir, "package.json")
|
|
239
239
|
);
|
|
240
240
|
const msg = `Failed to guess plugin ID for "${pkg.packageJson.name}", please set the 'backstage.pluginId' field manually in "${path$1}"`;
|
|
@@ -305,7 +305,7 @@ function fixPluginPackages(pkg, repoPackages) {
|
|
|
305
305
|
return;
|
|
306
306
|
}
|
|
307
307
|
const path$1 = path.relative(
|
|
308
|
-
|
|
308
|
+
cliCommon.targetPaths.rootDir,
|
|
309
309
|
path.resolve(pkg.dir, "package.json")
|
|
310
310
|
);
|
|
311
311
|
const suggestedRole = role === "frontend-plugin-module" ? "web-library" : "node-library";
|
|
@@ -341,7 +341,7 @@ function fixPeerModules(pkg) {
|
|
|
341
341
|
return;
|
|
342
342
|
}
|
|
343
343
|
const packagePath = path.relative(
|
|
344
|
-
|
|
344
|
+
cliCommon.targetPaths.rootDir,
|
|
345
345
|
path.resolve(pkg.dir, "package.json")
|
|
346
346
|
);
|
|
347
347
|
if (role !== "backend-plugin" && role !== "frontend-plugin") {
|
|
@@ -4,7 +4,7 @@ var chalk = require('chalk');
|
|
|
4
4
|
var eslint = require('eslint');
|
|
5
5
|
var path = require('node:path');
|
|
6
6
|
var cliNode = require('@backstage/cli-node');
|
|
7
|
-
var
|
|
7
|
+
var cliCommon = require('@backstage/cli-common');
|
|
8
8
|
|
|
9
9
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
10
10
|
|
|
@@ -13,14 +13,14 @@ var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
|
|
|
13
13
|
async function command(opts) {
|
|
14
14
|
const packages = await cliNode.PackageGraph.listTargetPackages();
|
|
15
15
|
const eslint$1 = new eslint.ESLint({
|
|
16
|
-
cwd:
|
|
16
|
+
cwd: cliCommon.targetPaths.dir,
|
|
17
17
|
overrideConfig: {
|
|
18
18
|
plugins: ["deprecation"],
|
|
19
19
|
rules: {
|
|
20
20
|
"deprecation/deprecation": "error"
|
|
21
21
|
},
|
|
22
22
|
parserOptions: {
|
|
23
|
-
project: [
|
|
23
|
+
project: [cliCommon.targetPaths.resolveRoot("tsconfig.json")]
|
|
24
24
|
}
|
|
25
25
|
},
|
|
26
26
|
extensions: ["jsx", "ts", "tsx", "mjs", "cjs"]
|
|
@@ -37,7 +37,7 @@ async function command(opts) {
|
|
|
37
37
|
if (message.ruleId !== "deprecation/deprecation") {
|
|
38
38
|
continue;
|
|
39
39
|
}
|
|
40
|
-
const path$1 = path.relative(
|
|
40
|
+
const path$1 = path.relative(cliCommon.targetPaths.rootDir, result.filePath);
|
|
41
41
|
deprecations.push({
|
|
42
42
|
path: path$1,
|
|
43
43
|
message: message.message,
|
|
@@ -6,14 +6,14 @@ var fs = require('fs-extra');
|
|
|
6
6
|
var path = require('node:path');
|
|
7
7
|
var getPackages = require('@manypkg/get-packages');
|
|
8
8
|
var cliNode = require('@backstage/cli-node');
|
|
9
|
-
var
|
|
9
|
+
var cliCommon = require('@backstage/cli-common');
|
|
10
10
|
|
|
11
11
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
12
12
|
|
|
13
13
|
var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
|
|
14
14
|
|
|
15
15
|
var packageRole = async () => {
|
|
16
|
-
const { packages } = await getPackages.getPackages(
|
|
16
|
+
const { packages } = await getPackages.getPackages(cliCommon.targetPaths.dir);
|
|
17
17
|
await Promise.all(
|
|
18
18
|
packages.map(async ({ dir, packageJson: pkg }) => {
|
|
19
19
|
const { name } = pkg;
|
|
@@ -10,11 +10,10 @@ var minimatch = require('minimatch');
|
|
|
10
10
|
var semver = require('semver');
|
|
11
11
|
var errors = require('@backstage/errors');
|
|
12
12
|
var path = require('node:path');
|
|
13
|
-
var paths = require('../../../../lib/paths.cjs.js');
|
|
14
13
|
var yarnPlugin = require('../../../../lib/yarnPlugin.cjs.js');
|
|
15
14
|
var Lockfile = require('../../../../lib/versioning/Lockfile.cjs.js');
|
|
16
15
|
var packages = require('../../../../lib/versioning/packages.cjs.js');
|
|
17
|
-
var
|
|
16
|
+
var cliNode = require('@backstage/cli-node');
|
|
18
17
|
var releaseManifests = require('@backstage/release-manifests');
|
|
19
18
|
var migrate = require('./migrate.cjs.js');
|
|
20
19
|
var utils = require('../../lib/utils.cjs.js');
|
|
@@ -40,7 +39,7 @@ function extendsDefaultPattern(pattern) {
|
|
|
40
39
|
return minimatch.minimatch("@backstage/", pattern.slice(0, -1));
|
|
41
40
|
}
|
|
42
41
|
var bump = async (opts) => {
|
|
43
|
-
const lockfilePath =
|
|
42
|
+
const lockfilePath = cliCommon.targetPaths.resolveRoot("yarn.lock");
|
|
44
43
|
const lockfile = await Lockfile.Lockfile.load(lockfilePath);
|
|
45
44
|
const hasYarnPlugin = await yarnPlugin.getHasYarnPlugin();
|
|
46
45
|
let pattern = opts.pattern;
|
|
@@ -96,10 +95,10 @@ var bump = async (opts) => {
|
|
|
96
95
|
await cliCommon.run(["yarn", "plugin", "import", yarnPluginUrl]).waitForExit();
|
|
97
96
|
console.log();
|
|
98
97
|
}
|
|
99
|
-
const dependencyMap = await packages.mapDependencies(
|
|
98
|
+
const dependencyMap = await packages.mapDependencies(cliCommon.targetPaths.dir, pattern);
|
|
100
99
|
const versionBumps = /* @__PURE__ */ new Map();
|
|
101
|
-
await
|
|
102
|
-
|
|
100
|
+
await cliNode.runConcurrentTasks({
|
|
101
|
+
concurrencyFactor: 4,
|
|
103
102
|
items: dependencyMap.entries(),
|
|
104
103
|
async worker([name, pkgs]) {
|
|
105
104
|
let target;
|
|
@@ -132,8 +131,8 @@ var bump = async (opts) => {
|
|
|
132
131
|
console.log(chalk__default.default.yellow("Some packages are outdated, updating"));
|
|
133
132
|
console.log();
|
|
134
133
|
const breakingUpdates = /* @__PURE__ */ new Map();
|
|
135
|
-
await
|
|
136
|
-
|
|
134
|
+
await cliNode.runConcurrentTasks({
|
|
135
|
+
concurrencyFactor: 4,
|
|
137
136
|
items: versionBumps.entries(),
|
|
138
137
|
async worker([name, deps]) {
|
|
139
138
|
const pkgPath = path.resolve(deps[0].location, "package.json");
|
|
@@ -311,7 +310,7 @@ function createVersionFinder(options) {
|
|
|
311
310
|
};
|
|
312
311
|
}
|
|
313
312
|
function getBackstageJsonPath() {
|
|
314
|
-
return
|
|
313
|
+
return cliCommon.targetPaths.resolveRoot(cliCommon.BACKSTAGE_JSON);
|
|
315
314
|
}
|
|
316
315
|
async function getBackstageJson() {
|
|
317
316
|
const backstageJsonPath = getBackstageJsonPath();
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var fs = require('fs-extra');
|
|
4
4
|
var path = require('node:path');
|
|
5
|
-
var
|
|
5
|
+
var cliCommon = require('@backstage/cli-common');
|
|
6
6
|
|
|
7
7
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
8
8
|
|
|
@@ -50,7 +50,7 @@ async function addCodeownersEntry(ownedPath, ownerStr, codeownersFilePath) {
|
|
|
50
50
|
}
|
|
51
51
|
let filePath = codeownersFilePath;
|
|
52
52
|
if (!filePath) {
|
|
53
|
-
filePath = await getCodeownersFilePath(
|
|
53
|
+
filePath = await getCodeownersFilePath(cliCommon.targetPaths.rootDir);
|
|
54
54
|
if (!filePath) {
|
|
55
55
|
return false;
|
|
56
56
|
}
|
|
@@ -13,8 +13,7 @@ var Lockfile = require('../../../../lib/versioning/Lockfile.cjs.js');
|
|
|
13
13
|
require('minimatch');
|
|
14
14
|
require('@manypkg/get-packages');
|
|
15
15
|
require('@backstage/errors');
|
|
16
|
-
require('@backstage/cli-common');
|
|
17
|
-
var paths = require('../../../../lib/paths.cjs.js');
|
|
16
|
+
var cliCommon = require('@backstage/cli-common');
|
|
18
17
|
var version = require('../../../../lib/version.cjs.js');
|
|
19
18
|
var yarnPlugin = require('../../../../lib/yarnPlugin.cjs.js');
|
|
20
19
|
|
|
@@ -44,7 +43,7 @@ class PortableTemplater {
|
|
|
44
43
|
static async create(options = {}) {
|
|
45
44
|
let lockfile;
|
|
46
45
|
try {
|
|
47
|
-
lockfile = await Lockfile.Lockfile.load(
|
|
46
|
+
lockfile = await Lockfile.Lockfile.load(cliCommon.targetPaths.resolveRoot("yarn.lock"));
|
|
48
47
|
} catch {
|
|
49
48
|
}
|
|
50
49
|
const hasYarnPlugin = await yarnPlugin.getHasYarnPlugin();
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var fs = require('fs-extra');
|
|
4
4
|
var upperFirst = require('lodash/upperFirst');
|
|
5
5
|
var camelCase = require('lodash/camelCase');
|
|
6
|
-
var
|
|
6
|
+
var cliCommon = require('@backstage/cli-common');
|
|
7
7
|
var tasks = require('../tasks.cjs.js');
|
|
8
8
|
|
|
9
9
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
@@ -44,7 +44,7 @@ async function installNewPackage(input) {
|
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
async function addDependency(input, path) {
|
|
47
|
-
const pkgJsonPath =
|
|
47
|
+
const pkgJsonPath = cliCommon.targetPaths.resolveRoot(path);
|
|
48
48
|
const pkgJson = await fs__default.default.readJson(pkgJsonPath).catch((error) => {
|
|
49
49
|
if (error.code === "ENOENT") {
|
|
50
50
|
return void 0;
|
|
@@ -71,7 +71,7 @@ async function tryAddFrontendLegacy(input) {
|
|
|
71
71
|
"add-frontend-legacy can only be used for frontend plugins"
|
|
72
72
|
);
|
|
73
73
|
}
|
|
74
|
-
const appDefinitionPath =
|
|
74
|
+
const appDefinitionPath = cliCommon.targetPaths.resolveRoot("packages/app/src/App.tsx");
|
|
75
75
|
if (!await fs__default.default.pathExists(appDefinitionPath)) {
|
|
76
76
|
return;
|
|
77
77
|
}
|
|
@@ -101,7 +101,7 @@ async function tryAddFrontendLegacy(input) {
|
|
|
101
101
|
});
|
|
102
102
|
}
|
|
103
103
|
async function tryAddBackend(input) {
|
|
104
|
-
const backendIndexPath =
|
|
104
|
+
const backendIndexPath = cliCommon.targetPaths.resolveRoot(
|
|
105
105
|
"packages/backend/src/index.ts"
|
|
106
106
|
);
|
|
107
107
|
if (!await fs__default.default.pathExists(backendIndexPath)) {
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
var fs = require('fs-extra');
|
|
4
4
|
var path = require('node:path');
|
|
5
|
-
var paths = require('../../../../lib/paths.cjs.js');
|
|
6
5
|
var errors = require('@backstage/errors');
|
|
7
6
|
var cliNode = require('@backstage/cli-node');
|
|
8
7
|
var PortableTemplater = require('./PortableTemplater.cjs.js');
|
|
@@ -13,7 +12,7 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
|
|
|
13
12
|
var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
|
|
14
13
|
|
|
15
14
|
async function writeTemplateContents(template, input) {
|
|
16
|
-
const targetDir =
|
|
15
|
+
const targetDir = cliCommon.targetPaths.resolveRoot(input.packagePath);
|
|
17
16
|
if (await fs__default.default.pathExists(targetDir)) {
|
|
18
17
|
throw new errors.InputError(`Package '${input.packagePath}' already exists`);
|
|
19
18
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var inquirer = require('inquirer');
|
|
4
4
|
var codeowners = require('../codeowners/codeowners.cjs.js');
|
|
5
|
-
var
|
|
5
|
+
var cliCommon = require('@backstage/cli-common');
|
|
6
6
|
var resolvePackageParams = require('./resolvePackageParams.cjs.js');
|
|
7
7
|
|
|
8
8
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
@@ -11,7 +11,7 @@ var inquirer__default = /*#__PURE__*/_interopDefaultCompat(inquirer);
|
|
|
11
11
|
|
|
12
12
|
async function collectPortableTemplateInput(options) {
|
|
13
13
|
const { config, template, prefilledParams } = options;
|
|
14
|
-
const codeOwnersFilePath = await codeowners.getCodeownersFilePath(
|
|
14
|
+
const codeOwnersFilePath = await codeowners.getCodeownersFilePath(cliCommon.targetPaths.rootDir);
|
|
15
15
|
const prompts = getPromptsForRole(template.role);
|
|
16
16
|
if (codeOwnersFilePath) {
|
|
17
17
|
prompts.push(ownerPrompt());
|
|
@@ -5,7 +5,7 @@ var fs = require('fs-extra');
|
|
|
5
5
|
var recursiveReaddir = require('recursive-readdir');
|
|
6
6
|
var path = require('node:path');
|
|
7
7
|
var yaml = require('yaml');
|
|
8
|
-
var
|
|
8
|
+
var cliCommon = require('@backstage/cli-common');
|
|
9
9
|
var types = require('../types.cjs.js');
|
|
10
10
|
var errors = require('@backstage/errors');
|
|
11
11
|
var v3 = require('zod-validation-error/v3');
|
|
@@ -25,7 +25,7 @@ async function loadPortableTemplate(pointer) {
|
|
|
25
25
|
if (pointer.target.match(/https?:\/\//)) {
|
|
26
26
|
throw new Error("Remote templates are not supported yet");
|
|
27
27
|
}
|
|
28
|
-
const templateContent = await fs__default.default.readFile(
|
|
28
|
+
const templateContent = await fs__default.default.readFile(cliCommon.targetPaths.resolveRoot(pointer.target), "utf-8").catch((error) => {
|
|
29
29
|
throw new errors.ForwardedError(
|
|
30
30
|
`Failed to load template definition from '${pointer.target}'`,
|
|
31
31
|
error
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var fs = require('fs-extra');
|
|
4
4
|
var path = require('node:path');
|
|
5
|
-
var
|
|
5
|
+
var cliCommon = require('@backstage/cli-common');
|
|
6
6
|
var defaultTemplates = require('../defaultTemplates.cjs.js');
|
|
7
7
|
var types = require('../types.cjs.js');
|
|
8
8
|
var yaml = require('yaml');
|
|
@@ -48,7 +48,7 @@ function computePackageNamePluginInfix(packageNamePrefix, namePluginInfix) {
|
|
|
48
48
|
}
|
|
49
49
|
async function loadPortableTemplateConfig(options = {}) {
|
|
50
50
|
const { overrides = {} } = options;
|
|
51
|
-
const pkgPath = options.packagePath ??
|
|
51
|
+
const pkgPath = options.packagePath ?? cliCommon.targetPaths.resolveRoot("package.json");
|
|
52
52
|
const pkgJson = await fs__default.default.readJson(pkgPath);
|
|
53
53
|
const parsed = pkgJsonWithNewConfigSchema.safeParse(pkgJson);
|
|
54
54
|
if (!parsed.success) {
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var paths = require('../../../../lib/paths.cjs.js');
|
|
6
5
|
var cliCommon = require('@backstage/cli-common');
|
|
7
6
|
|
|
8
7
|
function includesAnyOf(hayStack, ...needles) {
|
|
@@ -21,7 +20,7 @@ var test = async (_opts, cmd) => {
|
|
|
21
20
|
const allArgs = parent.args;
|
|
22
21
|
const args = allArgs.slice(allArgs.indexOf("test") + 1);
|
|
23
22
|
if (!includesAnyOf(args, "-c", "--config")) {
|
|
24
|
-
args.push("--config",
|
|
23
|
+
args.push("--config", cliCommon.findOwnPaths(__dirname).resolve("config/jest.js"));
|
|
25
24
|
}
|
|
26
25
|
if (!includesAnyOf(args, "--no-passWithNoTests", "--passWithNoTests=false")) {
|
|
27
26
|
args.push("--passWithNoTests");
|
|
@@ -6,7 +6,6 @@ var yargs = require('yargs');
|
|
|
6
6
|
var jestCli = require('jest-cli');
|
|
7
7
|
var path = require('node:path');
|
|
8
8
|
var cliNode = require('@backstage/cli-node');
|
|
9
|
-
var paths = require('../../../../lib/paths.cjs.js');
|
|
10
9
|
var cliCommon = require('@backstage/cli-common');
|
|
11
10
|
var SuccessCache = require('../../../../lib/cache/SuccessCache.cjs.js');
|
|
12
11
|
|
|
@@ -19,7 +18,7 @@ var yargs__default = /*#__PURE__*/_interopDefaultCompat(yargs);
|
|
|
19
18
|
async function readPackageTreeHashes(graph) {
|
|
20
19
|
const pkgs = Array.from(graph.values()).map((pkg) => ({
|
|
21
20
|
...pkg,
|
|
22
|
-
path: path.relative(
|
|
21
|
+
path: path.relative(cliCommon.targetPaths.rootDir, pkg.dir)
|
|
23
22
|
}));
|
|
24
23
|
const output = await cliCommon.runOutput([
|
|
25
24
|
"git",
|
|
@@ -100,7 +99,7 @@ async function command(opts, cmd) {
|
|
|
100
99
|
const hasFlags = createFlagFinder(args);
|
|
101
100
|
const { _: parsedArgs } = await yargs__default.default(args).options(jestCli.yargsOptions).argv;
|
|
102
101
|
if (!hasFlags("-c", "--config")) {
|
|
103
|
-
args.push("--config",
|
|
102
|
+
args.push("--config", cliCommon.findOwnPaths(__dirname).resolve("config/jest.js"));
|
|
104
103
|
}
|
|
105
104
|
if (!hasFlags("--passWithNoTests")) {
|
|
106
105
|
args.push("--passWithNoTests");
|
|
@@ -211,7 +210,7 @@ async function command(opts, cmd) {
|
|
|
211
210
|
async filterConfigs(projectConfigs, globalRootConfig) {
|
|
212
211
|
const cacheEntries = await cache.read();
|
|
213
212
|
const lockfile = await cliNode.Lockfile.load(
|
|
214
|
-
|
|
213
|
+
cliCommon.targetPaths.resolveRoot("yarn.lock")
|
|
215
214
|
);
|
|
216
215
|
const getPackageTreeHash = await readPackageTreeHashes(graph);
|
|
217
216
|
const baseHash = crypto__default.default.createHash("sha1");
|
|
@@ -15,6 +15,7 @@ var index = factory.createCliPlugin({
|
|
|
15
15
|
execute: async ({ args }) => {
|
|
16
16
|
const command = new commander.Command();
|
|
17
17
|
command.allowUnknownOption(true);
|
|
18
|
+
command.allowExcessArguments(true);
|
|
18
19
|
command.option(
|
|
19
20
|
"--since <ref>",
|
|
20
21
|
"Only test packages that changed since the specified ref"
|
|
@@ -38,7 +39,8 @@ var index = factory.createCliPlugin({
|
|
|
38
39
|
execute: async ({ args }) => {
|
|
39
40
|
const command = new commander.Command();
|
|
40
41
|
command.allowUnknownOption(true);
|
|
41
|
-
command.
|
|
42
|
+
command.allowExcessArguments(true);
|
|
43
|
+
command.helpOption("--backstage-cli-help");
|
|
42
44
|
command.action(
|
|
43
45
|
lazy.lazy(() => import('./commands/package/test.cjs.js'), "default")
|
|
44
46
|
);
|