@backstage/repo-tools 0.17.0-next.2 → 0.17.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 CHANGED
@@ -1,5 +1,28 @@
1
1
  # @backstage/repo-tools
2
2
 
3
+ ## 0.17.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 0fbcf23: Added support for OpenAPI 3.1 to all `schema openapi` commands. The commands now auto-detect the OpenAPI version from the spec file and use the appropriate generator, supporting both OpenAPI 3.0.x and 3.1.x specifications.
8
+
9
+ ### Patch Changes
10
+
11
+ - 426edbe: Fixed `generate-catalog-info` command failing with "too many arguments" when invoked by lint-staged via the pre-commit hook.
12
+ - d5779e5: Updated the CLI report parser to support cleye-style help output, and strip ANSI escape codes from captured output.
13
+ - 6738cf0: build(deps): bump `minimatch` from 9.0.5 to 10.2.1
14
+ - 2a51546: Fixed prettier existence checks in OpenAPI commands to use `fs.pathExists` instead of checking the resolved path string, which was always truthy.
15
+ - 70fc178: Migrated from deprecated `findPaths` to `targetPaths` and `findOwnPaths` from `@backstage/cli-common`.
16
+ - de62a9d: Upgraded `commander` dependency from `^12.0.0` to `^14.0.3` across all CLI packages.
17
+ - a49a40d: Updated dependency `zod` to `^3.25.76 || ^4.0.0` & migrated to `/v3` or `/v4` imports.
18
+ - 18a946c: Updated `@microsoft/api-extractor` to `7.57.3` and added tests for `getTsDocConfig`
19
+ - Updated dependencies
20
+ - @backstage/backend-plugin-api@1.8.0
21
+ - @backstage/cli-node@0.3.0
22
+ - @backstage/cli-common@0.2.0
23
+ - @backstage/config-loader@1.10.9
24
+ - @backstage/catalog-model@1.7.7
25
+
3
26
  ## 0.17.0-next.2
4
27
 
5
28
  ### Patch Changes
@@ -101,7 +101,7 @@ async function runApiExtraction({
101
101
  fs__default.default.readdirSync(projectFolder).filter(
102
102
  (filename) => (
103
103
  // https://regex101.com/r/QDZIV0/2
104
- filename !== "knip-report.md" && !filename.endsWith(".sql.md") && // this has to temporarily match all old api report formats
104
+ filename !== "knip-report.md" && !filename.startsWith("cli-report") && !filename.endsWith(".sql.md") && // this has to temporarily match all old api report formats
105
105
  filename.match(/^.*?(api-)?report(-[^.-]+)?(.*?)\.md$/)
106
106
  )
107
107
  )
@@ -35,9 +35,10 @@ async function categorizePackageDirs(packageDirs) {
35
35
  if (pkgJson?.backstage?.inline) {
36
36
  return;
37
37
  }
38
- if (role === "cli") {
38
+ if (role === "cli" || role === "cli-module") {
39
39
  cliPackageDirs.push(dir);
40
- } else if (role !== "frontend" && role !== "backend") {
40
+ }
41
+ if (role !== "cli" && role !== "frontend" && role !== "backend") {
41
42
  tsPackageDirs.push(dir);
42
43
  }
43
44
  }
@@ -87,7 +87,12 @@ async function runCliExtraction({
87
87
  const fullDir = cliCommon.targetPaths.resolveRoot(packageDir);
88
88
  const pkgJson = await fs__default.default.readJson(path.resolve(fullDir, "package.json"));
89
89
  if (!pkgJson.bin) {
90
- throw new Error(`CLI Package in ${packageDir} has no bin field`);
90
+ if (pkgJson.backstage?.role === "cli") {
91
+ throw new Error(
92
+ `CLI package ${pkgJson.name} is missing a "bin" field in its package.json`
93
+ );
94
+ }
95
+ continue;
91
96
  }
92
97
  const models = new Array();
93
98
  if (typeof pkgJson.bin === "string") {
@@ -5,7 +5,7 @@ var globby = require('globby');
5
5
  var path = require('node:path');
6
6
  var crypto = require('node:crypto');
7
7
  var fs = require('fs-extra');
8
- var zod = require('zod');
8
+ var v3 = require('zod/v3');
9
9
  var constants = require('./constants.cjs.js');
10
10
 
11
11
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
@@ -14,11 +14,11 @@ var globby__default = /*#__PURE__*/_interopDefaultCompat(globby);
14
14
  var crypto__default = /*#__PURE__*/_interopDefaultCompat(crypto);
15
15
 
16
16
  const version = "1";
17
- const cacheEntrySchema = zod.z.object({
18
- hash: zod.z.string(),
19
- packageName: zod.z.string(),
20
- restoreTo: zod.z.string(),
21
- version: zod.z.string()
17
+ const cacheEntrySchema = v3.z.object({
18
+ hash: v3.z.string(),
19
+ packageName: v3.z.string(),
20
+ restoreTo: v3.z.string(),
21
+ version: v3.z.string()
22
22
  });
23
23
  class PackageDocsCache {
24
24
  // A map of package directory to package hash.
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "0.17.0-next.2";
3
+ var version = "0.17.0";
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/repo-tools",
3
- "version": "0.17.0-next.2",
3
+ "version": "0.17.0",
4
4
  "description": "CLI for Backstage repo tooling ",
5
5
  "backstage": {
6
6
  "role": "cli"
@@ -43,12 +43,12 @@
43
43
  "dependencies": {
44
44
  "@apidevtools/swagger-parser": "^10.1.0",
45
45
  "@apisyouwonthate/style-guide": "^1.4.0",
46
- "@backstage/backend-plugin-api": "1.8.0-next.1",
47
- "@backstage/catalog-model": "1.7.6",
48
- "@backstage/cli-common": "0.2.0-next.2",
49
- "@backstage/cli-node": "0.2.19-next.1",
50
- "@backstage/config-loader": "1.10.9-next.0",
51
- "@backstage/errors": "1.2.7",
46
+ "@backstage/backend-plugin-api": "^1.8.0",
47
+ "@backstage/catalog-model": "^1.7.7",
48
+ "@backstage/cli-common": "^0.2.0",
49
+ "@backstage/cli-node": "^0.3.0",
50
+ "@backstage/config-loader": "^1.10.9",
51
+ "@backstage/errors": "^1.2.7",
52
52
  "@electric-sql/pglite": "^0.3.0",
53
53
  "@manypkg/get-packages": "^1.1.3",
54
54
  "@microsoft/api-documenter": "^7.28.1",
@@ -84,12 +84,12 @@
84
84
  "tar": "^7.5.6",
85
85
  "ts-morph": "^24.0.0",
86
86
  "yaml-diff-patch": "^2.0.0",
87
- "zod": "^3.25.76"
87
+ "zod": "^3.25.76 || ^4.0.0"
88
88
  },
89
89
  "devDependencies": {
90
- "@backstage/backend-test-utils": "1.11.1-next.2",
91
- "@backstage/cli": "0.36.0-next.2",
92
- "@backstage/types": "1.2.2",
90
+ "@backstage/backend-test-utils": "^1.11.1",
91
+ "@backstage/cli": "^0.36.0",
92
+ "@backstage/types": "^1.2.2",
93
93
  "@types/is-glob": "^4.0.2",
94
94
  "@types/node": "^22.13.14",
95
95
  "@types/prettier": "^2.0.0",