@backstage/cli 0.0.0-nightly-20260119025541 → 0.0.0-nightly-20260123025240

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.
Files changed (27) hide show
  1. package/CHANGELOG.md +18 -6
  2. package/dist/modules/build/lib/buildBackend.cjs.js +20 -2
  3. package/dist/modules/build/lib/builder/config.cjs.js +10 -1
  4. package/dist/modules/build/lib/packager/createDistWorkspace.cjs.js +21 -3
  5. package/dist/modules/info/commands/info.cjs.js +123 -14
  6. package/dist/modules/info/index.cjs.js +15 -2
  7. package/dist/packages/backend-defaults/package.json.cjs.js +1 -1
  8. package/dist/packages/backend-plugin-api/package.json.cjs.js +1 -1
  9. package/dist/packages/backend-test-utils/package.json.cjs.js +1 -1
  10. package/dist/packages/cli/package.json.cjs.js +2 -2
  11. package/dist/packages/core-app-api/package.json.cjs.js +1 -1
  12. package/dist/packages/core-components/package.json.cjs.js +1 -1
  13. package/dist/packages/core-plugin-api/package.json.cjs.js +1 -1
  14. package/dist/packages/dev-utils/package.json.cjs.js +1 -1
  15. package/dist/packages/frontend-defaults/package.json.cjs.js +1 -1
  16. package/dist/packages/frontend-plugin-api/package.json.cjs.js +1 -1
  17. package/dist/packages/frontend-test-utils/package.json.cjs.js +1 -1
  18. package/dist/packages/test-utils/package.json.cjs.js +1 -1
  19. package/dist/plugins/auth-backend/package.json.cjs.js +1 -1
  20. package/dist/plugins/auth-backend-module-guest-provider/package.json.cjs.js +1 -1
  21. package/dist/plugins/catalog-node/package.json.cjs.js +1 -1
  22. package/dist/plugins/scaffolder-node/package.json.cjs.js +1 -1
  23. package/dist/plugins/scaffolder-node-test-utils/package.json.cjs.js +1 -1
  24. package/package.json +16 -16
  25. package/templates/node-library/package.json.hbs +1 -0
  26. package/templates/plugin-node-library/package.json.hbs +1 -0
  27. package/templates/scaffolder-backend-module/package.json.hbs +1 -0
package/CHANGELOG.md CHANGED
@@ -1,24 +1,36 @@
1
1
  # @backstage/cli
2
2
 
3
- ## 0.0.0-nightly-20260119025541
3
+ ## 0.0.0-nightly-20260123025240
4
4
 
5
5
  ### Patch Changes
6
6
 
7
- - 320c6a9: Bump `@swc/core` to support `ES2023` and `ES2024`
8
- - 4eeba9e: Upgrade `zod-validation-error` to version 4
9
- - 9ee5996: Bump minimum required `@swc/core` to avoid transpilation bug
7
+ - 4fc7bf0: Bump to tar v7
10
8
  - Updated dependencies
11
- - @backstage/integration@0.0.0-nightly-20260119025541
12
9
  - @backstage/catalog-model@1.7.6
13
- - @backstage/cli-common@0.1.16
10
+ - @backstage/cli-common@0.1.17
14
11
  - @backstage/cli-node@0.2.16
15
12
  - @backstage/config@1.3.6
16
13
  - @backstage/config-loader@1.10.7
17
14
  - @backstage/errors@1.2.7
18
15
  - @backstage/eslint-plugin@0.2.0
16
+ - @backstage/integration@1.19.2
19
17
  - @backstage/release-manifests@0.0.13
20
18
  - @backstage/types@1.2.2
21
19
 
20
+ ## 0.35.2
21
+
22
+ ### Patch Changes
23
+
24
+ - 320c6a9: Bump `@swc/core` to support `ES2023` and `ES2024`
25
+ - c0d7bf6: Added `--include` and `--format` options to `backstage-cli info` command for including additional packages via glob patterns and outputting as JSON or Text.
26
+ - f6a5d2f: Fixed CSS module class name collisions when running multiple versions of packages simultaneously by using content-based hashing for class name generation.
27
+ - 140cbc2: Added `@backstage/backend-test-utils` to backend package templates.
28
+ - 4eeba9e: Upgrade `zod-validation-error` to version 4
29
+ - 9ee5996: Bump minimum required `@swc/core` to avoid transpilation bug
30
+ - Updated dependencies
31
+ - @backstage/cli-common@0.1.17
32
+ - @backstage/integration@1.19.2
33
+
22
34
  ## 0.35.2-next.1
23
35
 
24
36
  ### Patch Changes
@@ -12,9 +12,27 @@ var cliNode = require('@backstage/cli-node');
12
12
 
13
13
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
14
14
 
15
+ function _interopNamespaceCompat(e) {
16
+ if (e && typeof e === 'object' && 'default' in e) return e;
17
+ var n = Object.create(null);
18
+ if (e) {
19
+ Object.keys(e).forEach(function (k) {
20
+ if (k !== 'default') {
21
+ var d = Object.getOwnPropertyDescriptor(e, k);
22
+ Object.defineProperty(n, k, d.get ? d : {
23
+ enumerable: true,
24
+ get: function () { return e[k]; }
25
+ });
26
+ }
27
+ });
28
+ }
29
+ n.default = e;
30
+ return Object.freeze(n);
31
+ }
32
+
15
33
  var os__default = /*#__PURE__*/_interopDefaultCompat(os);
16
34
  var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
17
- var tar__default = /*#__PURE__*/_interopDefaultCompat(tar);
35
+ var tar__namespace = /*#__PURE__*/_interopNamespaceCompat(tar);
18
36
 
19
37
  const BUNDLE_FILE = "bundle.tar.gz";
20
38
  const SKELETON_FILE = "skeleton.tar.gz";
@@ -46,7 +64,7 @@ async function buildBackend(options) {
46
64
  path.resolve(tmpDir, SKELETON_FILE),
47
65
  path.resolve(distDir, SKELETON_FILE)
48
66
  );
49
- await tar__default.default.create(
67
+ await tar__namespace.create(
50
68
  {
51
69
  file: path.resolve(distDir, BUNDLE_FILE),
52
70
  cwd: tmpDir,
@@ -2,6 +2,7 @@
2
2
 
3
3
  var chalk = require('chalk');
4
4
  var fs = require('fs-extra');
5
+ var crypto = require('crypto');
5
6
  var path = require('path');
6
7
  var commonjs = require('@rollup/plugin-commonjs');
7
8
  var resolve = require('@rollup/plugin-node-resolve');
@@ -179,7 +180,15 @@ async function makeRollupConfigs(options) {
179
180
  include: /node_modules/,
180
181
  exclude: [/\/[^/]+\.(?:stories|test)\.[^/]+$/]
181
182
  }),
182
- postcss__default.default(),
183
+ postcss__default.default({
184
+ modules: {
185
+ generateScopedName(name, filename, css) {
186
+ const hash = crypto.createHash("md5").update(css).digest("hex").slice(0, 10);
187
+ const file = path.basename(filename, ".module.css");
188
+ return `${file}_${name}__${hash}`;
189
+ }
190
+ }
191
+ }),
183
192
  plugins.forwardFileImports({
184
193
  exclude: /\.icon\.svg$/,
185
194
  include: [
@@ -18,9 +18,27 @@ var typeDistProject = require('../../../../lib/typeDistProject.cjs.js');
18
18
 
19
19
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
20
20
 
21
+ function _interopNamespaceCompat(e) {
22
+ if (e && typeof e === 'object' && 'default' in e) return e;
23
+ var n = Object.create(null);
24
+ if (e) {
25
+ Object.keys(e).forEach(function (k) {
26
+ if (k !== 'default') {
27
+ var d = Object.getOwnPropertyDescriptor(e, k);
28
+ Object.defineProperty(n, k, d.get ? d : {
29
+ enumerable: true,
30
+ get: function () { return e[k]; }
31
+ });
32
+ }
33
+ });
34
+ }
35
+ n.default = e;
36
+ return Object.freeze(n);
37
+ }
38
+
21
39
  var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
22
40
  var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
23
- var tar__default = /*#__PURE__*/_interopDefaultCompat(tar);
41
+ var tar__namespace = /*#__PURE__*/_interopNamespaceCompat(tar);
24
42
  var partition__default = /*#__PURE__*/_interopDefaultCompat(partition);
25
43
 
26
44
  const UNSAFE_PACKAGES = [
@@ -130,7 +148,7 @@ async function createDistWorkspace(packageNames, options = {}) {
130
148
  const dir = path.relative(paths.paths.targetRoot, target.dir);
131
149
  return path.join(dir, "package.json");
132
150
  }).sort();
133
- await tar__default.default.create(
151
+ await tar__namespace.create(
134
152
  {
135
153
  file: path.resolve(targetDir, options.skeleton),
136
154
  cwd: targetDir,
@@ -175,7 +193,7 @@ async function moveToDistWorkspace(workspaceDir, localPackages, alwaysPack, enab
175
193
  const outputDir = path.relative(paths.paths.targetRoot, target.dir);
176
194
  const absoluteOutputPath = path.resolve(workspaceDir, outputDir);
177
195
  await fs__default.default.ensureDir(absoluteOutputPath);
178
- await tar__default.default.extract({
196
+ await tar__namespace.extract({
179
197
  file: archivePath,
180
198
  cwd: absoluteOutputPath,
181
199
  strip: 1
@@ -7,9 +7,10 @@ var os = require('os');
7
7
  var cliCommon = require('@backstage/cli-common');
8
8
  var paths = require('../../../lib/paths.cjs.js');
9
9
  var Lockfile = require('../../../lib/versioning/Lockfile.cjs.js');
10
- require('minimatch');
10
+ var minimatch = require('minimatch');
11
11
  require('@manypkg/get-packages');
12
12
  require('@backstage/errors');
13
+ var cliNode = require('@backstage/cli-node');
13
14
  var fs = require('fs-extra');
14
15
 
15
16
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
@@ -17,7 +18,20 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
17
18
  var os__default = /*#__PURE__*/_interopDefaultCompat(os);
18
19
  var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
19
20
 
20
- var info = async () => {
21
+ function tryReadPackageJson(packageName, targetPath) {
22
+ try {
23
+ return require(require.resolve(`${packageName}/package.json`, {
24
+ paths: [targetPath]
25
+ }));
26
+ } catch {
27
+ return void 0;
28
+ }
29
+ }
30
+ function hasBackstageField(packageName, targetPath) {
31
+ const pkg = tryReadPackageJson(packageName, targetPath);
32
+ return pkg?.backstage !== void 0;
33
+ }
34
+ var info = async (options) => {
21
35
  await new Promise(async () => {
22
36
  const yarnVersion = await cliCommon.runOutput(["yarn", "--version"]);
23
37
  const isLocal = fs__default.default.existsSync(paths.paths.resolveOwn("./src"));
@@ -28,24 +42,119 @@ var info = async () => {
28
42
  const backstageJson = await fs__default.default.readJSON(backstageFile);
29
43
  backstageVersion = backstageJson.version ?? "N/A";
30
44
  } catch (error) {
31
- console.warn('The "backstage.json" file is not in the expected format');
32
- console.log();
45
+ if (options.format !== "json") {
46
+ console.warn(
47
+ 'The "backstage.json" file is not in the expected format'
48
+ );
49
+ console.log();
50
+ }
33
51
  }
34
52
  }
35
- console.log(`OS: ${os__default.default.type} ${os__default.default.release} - ${os__default.default.platform}/${os__default.default.arch}`);
36
- console.log(`node: ${process.version}`);
37
- console.log(`yarn: ${yarnVersion}`);
53
+ const systemInfo = {
54
+ os: `${os__default.default.type} ${os__default.default.release} - ${os__default.default.platform}/${os__default.default.arch}`,
55
+ node: process.version,
56
+ yarn: yarnVersion,
57
+ cli: { version: _package.version, local: isLocal },
58
+ backstage: backstageVersion
59
+ };
60
+ const lockfilePath = paths.paths.resolveTargetRoot("yarn.lock");
61
+ const lockfile = await Lockfile.Lockfile.load(lockfilePath);
62
+ const targetPath = paths.paths.targetRoot;
63
+ const workspacePackages = /* @__PURE__ */ new Map();
64
+ try {
65
+ const packages = await cliNode.PackageGraph.listTargetPackages();
66
+ for (const pkg of packages) {
67
+ workspacePackages.set(pkg.packageJson.name, pkg.packageJson.version);
68
+ }
69
+ } catch {
70
+ }
71
+ const allPackages = [...lockfile.keys()];
72
+ const includePatterns = options.include || [];
73
+ const installedDeps = /* @__PURE__ */ new Set();
74
+ const localDeps = /* @__PURE__ */ new Set();
75
+ for (const pkg of allPackages) {
76
+ if (pkg.startsWith("@backstage/")) {
77
+ if (workspacePackages.has(pkg)) {
78
+ localDeps.add(pkg);
79
+ } else {
80
+ installedDeps.add(pkg);
81
+ }
82
+ }
83
+ }
84
+ for (const pattern of includePatterns) {
85
+ for (const pkg of allPackages) {
86
+ if (minimatch.minimatch(pkg, pattern)) {
87
+ if (workspacePackages.has(pkg)) {
88
+ localDeps.add(pkg);
89
+ } else {
90
+ installedDeps.add(pkg);
91
+ }
92
+ }
93
+ }
94
+ }
95
+ for (const pkg of allPackages) {
96
+ if (pkg.startsWith("@backstage/")) {
97
+ continue;
98
+ }
99
+ if (workspacePackages.has(pkg)) {
100
+ if (hasBackstageField(pkg, targetPath)) {
101
+ localDeps.add(pkg);
102
+ }
103
+ } else if (hasBackstageField(pkg, targetPath)) {
104
+ installedDeps.add(pkg);
105
+ }
106
+ }
107
+ const getVersions = (dep) => {
108
+ const entries = lockfile.get(dep);
109
+ if (!entries) {
110
+ return [{ version: "unknown" }];
111
+ }
112
+ const versions = [...new Set(entries.map((i) => i.version))];
113
+ return versions.map((v) => ({ version: v }));
114
+ };
115
+ const sortedInstalled = [...installedDeps].sort();
116
+ const sortedLocal = [...localDeps].sort();
117
+ if (options.format === "json") {
118
+ const output = {
119
+ system: systemInfo,
120
+ dependencies: Object.fromEntries(
121
+ sortedInstalled.map((dep) => [dep, getVersions(dep)])
122
+ ),
123
+ local: Object.fromEntries(
124
+ sortedLocal.map((dep) => [
125
+ dep,
126
+ [{ version: workspacePackages.get(dep) ?? "unknown" }]
127
+ ])
128
+ )
129
+ };
130
+ process.stdout.write(`${JSON.stringify(output, null, 2)}
131
+ `);
132
+ return;
133
+ }
134
+ console.log(`OS: ${systemInfo.os}`);
135
+ console.log(`node: ${systemInfo.node}`);
136
+ console.log(`yarn: ${systemInfo.yarn}`);
38
137
  console.log(`cli: ${_package.version} (${isLocal ? "local" : "installed"})`);
39
138
  console.log(`backstage: ${backstageVersion}`);
40
139
  console.log();
41
140
  console.log("Dependencies:");
42
- const lockfilePath = paths.paths.resolveTargetRoot("yarn.lock");
43
- const lockfile = await Lockfile.Lockfile.load(lockfilePath);
44
- const deps = [...lockfile.keys()].filter((n) => n.startsWith("@backstage/"));
45
- const maxLength = Math.max(...deps.map((d) => d.length));
46
- for (const dep of deps) {
47
- const versions = new Set(lockfile.get(dep).map((i) => i.version));
48
- console.log(` ${dep.padEnd(maxLength)} ${[...versions].join(", ")}`);
141
+ if (sortedInstalled.length > 0) {
142
+ const maxLength = Math.max(...sortedInstalled.map((d) => d.length));
143
+ for (const dep of sortedInstalled) {
144
+ const versions = getVersions(dep).map((v) => v.version).join(", ");
145
+ console.log(` ${dep.padEnd(maxLength)} ${versions}`);
146
+ }
147
+ } else {
148
+ console.log(" (no installed Backstage packages found)");
149
+ }
150
+ if (localDeps.size > 0) {
151
+ console.log();
152
+ console.log("Local:");
153
+ const maxLength = Math.max(...sortedLocal.map((d) => d.length));
154
+ for (const dep of sortedLocal) {
155
+ const version = workspacePackages.get(dep) ?? "unknown";
156
+ console.log(` ${dep.padEnd(maxLength)} ${version}`);
157
+ }
49
158
  }
50
159
  });
51
160
  };
@@ -17,8 +17,21 @@ var index = factory.createCliPlugin({
17
17
  path: ["info"],
18
18
  description: "Show helpful information for debugging and reporting bugs",
19
19
  execute: async ({ args }) => {
20
- yargs__default.default().parse(args);
21
- await lazy.lazy(() => import('./commands/info.cjs.js'), "default")(args);
20
+ const argv = await yargs__default.default().options({
21
+ include: {
22
+ type: "string",
23
+ array: true,
24
+ default: [],
25
+ description: "Glob patterns for additional packages to include (e.g., @spotify/backstage*)"
26
+ },
27
+ format: {
28
+ type: "string",
29
+ choices: ["text", "json"],
30
+ default: "text",
31
+ description: "Output format (text or json)"
32
+ }
33
+ }).help().parse(args);
34
+ await lazy.lazy(() => import('./commands/info.cjs.js'), "default")(argv);
22
35
  }
23
36
  });
24
37
  }
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "0.0.0-nightly-20260119025541";
3
+ var version = "0.0.0-nightly-20260123025240";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.cjs.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "0.0.0-nightly-20260119025541";
3
+ var version = "1.6.1";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.cjs.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "0.0.0-nightly-20260119025541";
3
+ var version = "0.0.0-nightly-20260123025240";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.cjs.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "0.0.0-nightly-20260119025541";
3
+ var version = "0.0.0-nightly-20260123025240";
4
4
  var dependencies = {
5
5
  "@backstage/catalog-model": "workspace:*",
6
6
  "@backstage/cli-common": "workspace:*",
@@ -88,7 +88,7 @@ var dependencies = {
88
88
  "style-loader": "^3.3.1",
89
89
  sucrase: "^3.20.2",
90
90
  "swc-loader": "^0.2.3",
91
- tar: "^6.1.12",
91
+ tar: "^7.5.6",
92
92
  "ts-checker-rspack-plugin": "^1.1.5",
93
93
  "ts-morph": "^24.0.0",
94
94
  undici: "^7.2.3",
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "0.0.0-nightly-20260119025541";
3
+ var version = "1.19.3";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.cjs.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "0.0.0-nightly-20260119025541";
3
+ var version = "0.18.5";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.cjs.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "0.0.0-nightly-20260119025541";
3
+ var version = "1.12.1";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.cjs.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "0.0.0-nightly-20260119025541";
3
+ var version = "0.0.0-nightly-20260123025240";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.cjs.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "0.0.0-nightly-20260119025541";
3
+ var version = "0.3.5";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.cjs.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "0.0.0-nightly-20260119025541";
3
+ var version = "0.13.3";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.cjs.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "0.0.0-nightly-20260119025541";
3
+ var version = "0.0.0-nightly-20260123025240";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.cjs.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "0.0.0-nightly-20260119025541";
3
+ var version = "1.7.14";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.cjs.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "0.0.0-nightly-20260119025541";
3
+ var version = "0.26.0";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.cjs.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "0.0.0-nightly-20260119025541";
3
+ var version = "0.2.15";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.cjs.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "0.0.0-nightly-20260119025541";
3
+ var version = "1.20.1";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.cjs.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "0.0.0-nightly-20260119025541";
3
+ var version = "0.0.0-nightly-20260123025240";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.cjs.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "0.0.0-nightly-20260119025541";
3
+ var version = "0.0.0-nightly-20260123025240";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.cjs.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@backstage/cli",
3
- "version": "0.0.0-nightly-20260119025541",
3
+ "version": "0.0.0-nightly-20260123025240",
4
4
  "description": "CLI for developing Backstage plugins and apps",
5
5
  "backstage": {
6
6
  "role": "cli"
@@ -48,13 +48,13 @@
48
48
  },
49
49
  "dependencies": {
50
50
  "@backstage/catalog-model": "1.7.6",
51
- "@backstage/cli-common": "0.1.16",
51
+ "@backstage/cli-common": "0.1.17",
52
52
  "@backstage/cli-node": "0.2.16",
53
53
  "@backstage/config": "1.3.6",
54
54
  "@backstage/config-loader": "1.10.7",
55
55
  "@backstage/errors": "1.2.7",
56
56
  "@backstage/eslint-plugin": "0.2.0",
57
- "@backstage/integration": "0.0.0-nightly-20260119025541",
57
+ "@backstage/integration": "1.19.2",
58
58
  "@backstage/release-manifests": "0.0.13",
59
59
  "@backstage/types": "1.2.2",
60
60
  "@manypkg/get-packages": "^1.1.3",
@@ -133,7 +133,7 @@
133
133
  "style-loader": "^3.3.1",
134
134
  "sucrase": "^3.20.2",
135
135
  "swc-loader": "^0.2.3",
136
- "tar": "^6.1.12",
136
+ "tar": "^7.5.6",
137
137
  "ts-checker-rspack-plugin": "^1.1.5",
138
138
  "ts-morph": "^24.0.0",
139
139
  "undici": "^7.2.3",
@@ -146,21 +146,21 @@
146
146
  "zod-validation-error": "^4.0.2"
147
147
  },
148
148
  "devDependencies": {
149
- "@backstage/backend-plugin-api": "0.0.0-nightly-20260119025541",
150
- "@backstage/backend-test-utils": "0.0.0-nightly-20260119025541",
149
+ "@backstage/backend-plugin-api": "1.6.1",
150
+ "@backstage/backend-test-utils": "0.0.0-nightly-20260123025240",
151
151
  "@backstage/catalog-client": "1.12.1",
152
152
  "@backstage/config": "1.3.6",
153
- "@backstage/core-app-api": "0.0.0-nightly-20260119025541",
154
- "@backstage/core-components": "0.0.0-nightly-20260119025541",
155
- "@backstage/core-plugin-api": "0.0.0-nightly-20260119025541",
156
- "@backstage/dev-utils": "0.0.0-nightly-20260119025541",
153
+ "@backstage/core-app-api": "1.19.3",
154
+ "@backstage/core-components": "0.18.5",
155
+ "@backstage/core-plugin-api": "1.12.1",
156
+ "@backstage/dev-utils": "0.0.0-nightly-20260123025240",
157
157
  "@backstage/errors": "1.2.7",
158
- "@backstage/plugin-auth-backend": "0.0.0-nightly-20260119025541",
159
- "@backstage/plugin-auth-backend-module-guest-provider": "0.0.0-nightly-20260119025541",
160
- "@backstage/plugin-catalog-node": "0.0.0-nightly-20260119025541",
161
- "@backstage/plugin-scaffolder-node": "0.0.0-nightly-20260119025541",
162
- "@backstage/plugin-scaffolder-node-test-utils": "0.0.0-nightly-20260119025541",
163
- "@backstage/test-utils": "0.0.0-nightly-20260119025541",
158
+ "@backstage/plugin-auth-backend": "0.26.0",
159
+ "@backstage/plugin-auth-backend-module-guest-provider": "0.2.15",
160
+ "@backstage/plugin-catalog-node": "1.20.1",
161
+ "@backstage/plugin-scaffolder-node": "0.0.0-nightly-20260123025240",
162
+ "@backstage/plugin-scaffolder-node-test-utils": "0.0.0-nightly-20260123025240",
163
+ "@backstage/test-utils": "1.7.14",
164
164
  "@backstage/theme": "0.7.1",
165
165
  "@jest/environment-jsdom-abstract": "^30.0.0",
166
166
  "@pmmmwh/react-refresh-webpack-plugin": "^0.6.0",
@@ -20,6 +20,7 @@
20
20
  "postpack": "backstage-cli package postpack"
21
21
  },
22
22
  "devDependencies": {
23
+ "@backstage/backend-test-utils": "{{versionQuery '@backstage/backend-test-utils'}}",
23
24
  "@backstage/cli": "{{versionQuery '@backstage/cli'}}"
24
25
  },
25
26
  "files": [
@@ -21,6 +21,7 @@
21
21
  "postpack": "backstage-cli package postpack"
22
22
  },
23
23
  "devDependencies": {
24
+ "@backstage/backend-test-utils": "{{versionQuery '@backstage/backend-test-utils'}}",
24
25
  "@backstage/cli": "{{versionQuery '@backstage/cli'}}"
25
26
  },
26
27
  "files": [
@@ -26,6 +26,7 @@
26
26
  "@backstage/plugin-scaffolder-node": "{{versionQuery '@backstage/plugin-scaffolder-node'}}"
27
27
  },
28
28
  "devDependencies": {
29
+ "@backstage/backend-test-utils": "{{versionQuery '@backstage/backend-test-utils'}}",
29
30
  "@backstage/cli": "{{versionQuery '@backstage/cli'}}",
30
31
  "@backstage/plugin-scaffolder-node-test-utils": "{{versionQuery '@backstage/plugin-scaffolder-node-test-utils'}}"
31
32
  },