@backstage/cli 0.35.4 → 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 +29 -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 +7 -7
- 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 +3 -4
- 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/lib/buildBackend.cjs.js +0 -2
- package/dist/modules/build/lib/buildFrontend.cjs.js +1 -4
- 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/config.cjs.js +1 -2
- 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 +2 -2
- 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 +10 -10
- 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 +5 -5
- 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/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 +33 -33
- 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 path = require('node:path');
|
|
|
6
6
|
var openBrowser = require('react-dev-utils/openBrowser');
|
|
7
7
|
var core = require('@rspack/core');
|
|
8
8
|
var devServer = require('@rspack/dev-server');
|
|
9
|
-
var
|
|
9
|
+
var cliCommon = require('@backstage/cli-common');
|
|
10
10
|
var config = require('../../../config/lib/config.cjs.js');
|
|
11
11
|
var config$1 = require('./config.cjs.js');
|
|
12
12
|
var packageDetection = require('./packageDetection.cjs.js');
|
|
@@ -20,8 +20,8 @@ var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
|
|
|
20
20
|
var openBrowser__default = /*#__PURE__*/_interopDefaultCompat(openBrowser);
|
|
21
21
|
|
|
22
22
|
async function serveBundle(options) {
|
|
23
|
-
const paths$
|
|
24
|
-
const targetPkg = await fs__default.default.readJson(paths$
|
|
23
|
+
const paths$1 = paths.resolveBundlingPaths(options);
|
|
24
|
+
const targetPkg = await fs__default.default.readJson(paths$1.targetPackageJson);
|
|
25
25
|
if (options.verifyVersions) {
|
|
26
26
|
if (targetPkg.dependencies?.["react-router"]?.includes("beta") || targetPkg.dependencies?.["react-router-dom"]?.includes("beta")) {
|
|
27
27
|
console.warn(
|
|
@@ -35,7 +35,7 @@ DEPRECATION WARNING: React Router Beta is deprecated and support for it will be
|
|
|
35
35
|
}
|
|
36
36
|
checkReactVersion();
|
|
37
37
|
const { name } = await fs__default.default.readJson(
|
|
38
|
-
path.resolve(options.targetDir ??
|
|
38
|
+
path.resolve(options.targetDir ?? cliCommon.targetPaths.dir, "package.json")
|
|
39
39
|
);
|
|
40
40
|
let devServer$1 = void 0;
|
|
41
41
|
let latestFrontendAppConfigs = [];
|
|
@@ -86,13 +86,13 @@ DEPRECATION WARNING: React Router Beta is deprecated and support for it will be
|
|
|
86
86
|
);
|
|
87
87
|
const detectedModulesEntryPoint = await packageDetection.createDetectedModulesEntryPoint({
|
|
88
88
|
config: fullConfig,
|
|
89
|
-
targetPath: paths$
|
|
89
|
+
targetPath: paths$1.targetPath,
|
|
90
90
|
watch() {
|
|
91
91
|
triggerReload();
|
|
92
92
|
}
|
|
93
93
|
});
|
|
94
94
|
const moduleFederationSharedDependenciesEntryPoint = await moduleFederation.createRuntimeSharedDependenciesEntryPoint({
|
|
95
|
-
targetPath: paths$
|
|
95
|
+
targetPath: paths$1.targetPath,
|
|
96
96
|
watch() {
|
|
97
97
|
triggerReload();
|
|
98
98
|
}
|
|
@@ -109,7 +109,7 @@ DEPRECATION WARNING: React Router Beta is deprecated and support for it will be
|
|
|
109
109
|
return latestFrontendAppConfigs;
|
|
110
110
|
}
|
|
111
111
|
};
|
|
112
|
-
const config$2 = await config$1.createConfig(paths$
|
|
112
|
+
const config$2 = await config$1.createConfig(paths$1, {
|
|
113
113
|
...commonConfigOptions,
|
|
114
114
|
additionalEntryPoints: [
|
|
115
115
|
...detectedModulesEntryPoint,
|
|
@@ -141,9 +141,9 @@ DEPRECATION WARNING: React Router Beta is deprecated and support for it will be
|
|
|
141
141
|
publicPath: config$2.output?.publicPath,
|
|
142
142
|
stats: "errors-warnings"
|
|
143
143
|
},
|
|
144
|
-
static: paths$
|
|
144
|
+
static: paths$1.targetPublic ? {
|
|
145
145
|
publicPath: config$2.output?.publicPath,
|
|
146
|
-
directory: paths$
|
|
146
|
+
directory: paths$1.targetPublic
|
|
147
147
|
} : void 0,
|
|
148
148
|
historyApiFallback: options.moduleFederationRemote ? false : {
|
|
149
149
|
// Paths with dots should still use the history fallback.
|
|
@@ -208,7 +208,7 @@ DEPRECATION WARNING: React Router Beta is deprecated and support for it will be
|
|
|
208
208
|
function checkReactVersion() {
|
|
209
209
|
try {
|
|
210
210
|
const reactPkgPath = require.resolve("react/package.json", {
|
|
211
|
-
paths: [
|
|
211
|
+
paths: [cliCommon.targetPaths.rootDir]
|
|
212
212
|
});
|
|
213
213
|
const reactPkg = require(reactPkgPath);
|
|
214
214
|
if (reactPkg.version.startsWith("16.")) {
|
|
@@ -6,14 +6,12 @@ var path = require('node:path');
|
|
|
6
6
|
var os = require('node:os');
|
|
7
7
|
var tar = require('tar');
|
|
8
8
|
var partition = require('lodash/partition');
|
|
9
|
-
var paths = require('../../../../lib/paths.cjs.js');
|
|
10
9
|
var cliCommon = require('@backstage/cli-common');
|
|
11
10
|
var _package = require('../../../../packages/cli/package.json.cjs.js');
|
|
12
11
|
var packager = require('../builder/packager.cjs.js');
|
|
13
12
|
var types = require('../builder/types.cjs.js');
|
|
14
13
|
var productionPack = require('./productionPack.cjs.js');
|
|
15
14
|
var cliNode = require('@backstage/cli-node');
|
|
16
|
-
var parallel = require('../../../../lib/parallel.cjs.js');
|
|
17
15
|
var typeDistProject = require('../../../../lib/typeDistProject.cjs.js');
|
|
18
16
|
|
|
19
17
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
@@ -111,7 +109,9 @@ async function createDistWorkspace(packageNames, options = {}) {
|
|
|
111
109
|
targetDir: pkg.dir,
|
|
112
110
|
packageJson: pkg.packageJson,
|
|
113
111
|
outputs,
|
|
114
|
-
logPrefix: `${chalk__default.default.cyan(
|
|
112
|
+
logPrefix: `${chalk__default.default.cyan(
|
|
113
|
+
path.relative(cliCommon.targetPaths.rootDir, pkg.dir)
|
|
114
|
+
)}: `,
|
|
115
115
|
minify: options.minify,
|
|
116
116
|
workspacePackages: packages
|
|
117
117
|
});
|
|
@@ -119,7 +119,7 @@ async function createDistWorkspace(packageNames, options = {}) {
|
|
|
119
119
|
}
|
|
120
120
|
await packager.buildPackages(standardBuilds);
|
|
121
121
|
if (customBuild.length > 0) {
|
|
122
|
-
await
|
|
122
|
+
await cliNode.runConcurrentTasks({
|
|
123
123
|
items: customBuild,
|
|
124
124
|
worker: async ({ name, dir, args }) => {
|
|
125
125
|
await cliCommon.run(["yarn", "run", "build", ...args || []], {
|
|
@@ -141,11 +141,11 @@ async function createDistWorkspace(packageNames, options = {}) {
|
|
|
141
141
|
for (const file of files) {
|
|
142
142
|
const src = typeof file === "string" ? file : file.src;
|
|
143
143
|
const dest = typeof file === "string" ? file : file.dest;
|
|
144
|
-
await fs__default.default.copy(
|
|
144
|
+
await fs__default.default.copy(cliCommon.targetPaths.resolveRoot(src), path.resolve(targetDir, dest));
|
|
145
145
|
}
|
|
146
146
|
if (options.skeleton) {
|
|
147
147
|
const skeletonFiles = targets.map((target) => {
|
|
148
|
-
const dir = path.relative(
|
|
148
|
+
const dir = path.relative(cliCommon.targetPaths.rootDir, target.dir);
|
|
149
149
|
return path.join(dir, "package.json");
|
|
150
150
|
}).sort();
|
|
151
151
|
await tar__namespace.create(
|
|
@@ -175,7 +175,7 @@ async function moveToDistWorkspace(workspaceDir, localPackages, alwaysPack, enab
|
|
|
175
175
|
await Promise.all(
|
|
176
176
|
fastPackPackages.map(async (target) => {
|
|
177
177
|
console.log(`Moving ${target.name} into dist workspace`);
|
|
178
|
-
const outputDir = path.relative(
|
|
178
|
+
const outputDir = path.relative(cliCommon.targetPaths.rootDir, target.dir);
|
|
179
179
|
const absoluteOutputPath = path.resolve(workspaceDir, outputDir);
|
|
180
180
|
await productionPack.productionPack({
|
|
181
181
|
packageDir: target.dir,
|
|
@@ -190,7 +190,7 @@ async function moveToDistWorkspace(workspaceDir, localPackages, alwaysPack, enab
|
|
|
190
190
|
await cliCommon.run(["yarn", "pack", "--filename", archivePath], {
|
|
191
191
|
cwd: target.dir
|
|
192
192
|
}).waitForExit();
|
|
193
|
-
const outputDir = path.relative(
|
|
193
|
+
const outputDir = path.relative(cliCommon.targetPaths.rootDir, target.dir);
|
|
194
194
|
const absoluteOutputPath = path.resolve(workspaceDir, outputDir);
|
|
195
195
|
await fs__default.default.ensureDir(absoluteOutputPath);
|
|
196
196
|
await tar__namespace.extract({
|
|
@@ -223,7 +223,7 @@ async function moveToDistWorkspace(workspaceDir, localPackages, alwaysPack, enab
|
|
|
223
223
|
for (const target of unsafePackages) {
|
|
224
224
|
await pack(target, `temp-package.tgz`);
|
|
225
225
|
}
|
|
226
|
-
await
|
|
226
|
+
await cliNode.runConcurrentTasks({
|
|
227
227
|
items: safePackages.map((target, index) => ({ target, index })),
|
|
228
228
|
worker: async ({ target, index }) => {
|
|
229
229
|
await pack(target, `temp-package-${index}.tgz`);
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var fs = require('fs-extra');
|
|
4
4
|
var npmPackList = require('npm-packlist');
|
|
5
5
|
var path = require('node:path');
|
|
6
|
-
var entryPoints = require('
|
|
6
|
+
var entryPoints = require('../entryPoints.cjs.js');
|
|
7
7
|
var typeDistProject = require('../../../../lib/typeDistProject.cjs.js');
|
|
8
8
|
|
|
9
9
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var fs = require('fs-extra');
|
|
4
|
-
var
|
|
4
|
+
var cliCommon = require('@backstage/cli-common');
|
|
5
5
|
var cliNode = require('@backstage/cli-node');
|
|
6
6
|
|
|
7
7
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
@@ -12,7 +12,7 @@ async function findRoleFromCommand(opts) {
|
|
|
12
12
|
if (opts.role) {
|
|
13
13
|
return cliNode.PackageRoles.getRoleInfo(opts.role)?.role;
|
|
14
14
|
}
|
|
15
|
-
const pkg = await fs__default.default.readJson(
|
|
15
|
+
const pkg = await fs__default.default.readJson(cliCommon.targetPaths.resolve("package.json"));
|
|
16
16
|
const info = cliNode.PackageRoles.getRoleFromPackage(pkg);
|
|
17
17
|
if (!info) {
|
|
18
18
|
throw new Error(`Target package must have 'backstage.role' set`);
|
|
@@ -7,7 +7,7 @@ var ServerDataStore = require('../ipc/ServerDataStore.cjs.js');
|
|
|
7
7
|
var debounce = require('lodash/debounce');
|
|
8
8
|
var node_url = require('node:url');
|
|
9
9
|
var path = require('node:path');
|
|
10
|
-
var
|
|
10
|
+
var cliCommon = require('@backstage/cli-common');
|
|
11
11
|
var spawn = require('cross-spawn');
|
|
12
12
|
|
|
13
13
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
@@ -86,7 +86,7 @@ async function runBackend(options) {
|
|
|
86
86
|
...process.env,
|
|
87
87
|
BACKSTAGE_CLI_LINKED_WORKSPACE: options.linkedWorkspace,
|
|
88
88
|
BACKSTAGE_CLI_CHANNEL: "1",
|
|
89
|
-
ESBK_TSCONFIG_PATH:
|
|
89
|
+
ESBK_TSCONFIG_PATH: cliCommon.targetPaths.resolveRoot("tsconfig.json")
|
|
90
90
|
},
|
|
91
91
|
serialization: "advanced"
|
|
92
92
|
}
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
var configLoader = require('@backstage/config-loader');
|
|
4
4
|
var config = require('@backstage/config');
|
|
5
|
-
var
|
|
5
|
+
var cliCommon = require('@backstage/cli-common');
|
|
6
6
|
var getPackages = require('@manypkg/get-packages');
|
|
7
7
|
var cliNode = require('@backstage/cli-node');
|
|
8
8
|
var path = require('node:path');
|
|
9
9
|
|
|
10
10
|
async function loadCliConfig(options) {
|
|
11
|
-
const targetDir = options.targetDir ??
|
|
11
|
+
const targetDir = options.targetDir ?? cliCommon.targetPaths.dir;
|
|
12
12
|
const { packages } = await getPackages.getPackages(targetDir);
|
|
13
13
|
let localPackageNames;
|
|
14
14
|
if (options.fromPackage) {
|
|
@@ -31,14 +31,14 @@ async function loadCliConfig(options) {
|
|
|
31
31
|
const schema = await configLoader.loadConfigSchema({
|
|
32
32
|
dependencies: localPackageNames,
|
|
33
33
|
// Include the package.json in the project root if it exists
|
|
34
|
-
packagePaths: [
|
|
34
|
+
packagePaths: [cliCommon.targetPaths.resolveRoot("package.json")],
|
|
35
35
|
noUndeclaredProperties: options.strict
|
|
36
36
|
});
|
|
37
37
|
const source = configLoader.ConfigSources.default({
|
|
38
38
|
allowMissingDefaultConfig: true,
|
|
39
39
|
substitutionFunc: options.mockEnv ? async (name) => process.env[name] || "x" : void 0,
|
|
40
40
|
watch: Boolean(options.watch),
|
|
41
|
-
rootDir:
|
|
41
|
+
rootDir: cliCommon.targetPaths.rootDir,
|
|
42
42
|
argv: options.args.flatMap((t) => ["--config", path.resolve(targetDir, t)])
|
|
43
43
|
});
|
|
44
44
|
const appConfigs = await new Promise((resolve, reject) => {
|
|
@@ -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
|
}
|