@backstage/repo-tools 0.10.0-next.0 → 0.10.0-next.2

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 (37) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/{cjs/api-reports-B3Gt_Fej.cjs.js → commands/api-reports/api-extractor.cjs.js} +13 -103
  3. package/dist/commands/api-reports/api-reports.cjs.js +78 -0
  4. package/dist/commands/api-reports/generateTypeDeclarations.cjs.js +33 -0
  5. package/dist/commands/generate-catalog-info/codeowners.cjs.js +42 -0
  6. package/dist/{cjs/generate-catalog-info-DxKb-9Wh.cjs.js → commands/generate-catalog-info/generate-catalog-info.cjs.js} +22 -68
  7. package/dist/commands/generate-catalog-info/utils.cjs.js +30 -0
  8. package/dist/commands/index.cjs.js +159 -0
  9. package/dist/{cjs/knip-reports-028OuOct.cjs.js → commands/knip-reports/knip-extractor.cjs.js} +4 -40
  10. package/dist/commands/knip-reports/knip-reports.cjs.js +39 -0
  11. package/dist/{cjs/lint-legacy-backend-exports-CDxZ51l5.cjs.js → commands/lint-legacy-backend-exports/lint-legacy-backend-exports.cjs.js} +2 -4
  12. package/dist/{cjs/diff-zt06VUKR.cjs.js → commands/package/schema/openapi/diff.cjs.js} +4 -11
  13. package/dist/{cjs/fuzz-BGbvHwkB.cjs.js → commands/package/schema/openapi/fuzz.cjs.js} +4 -10
  14. package/dist/commands/package/schema/openapi/generate/client.cjs.js +86 -0
  15. package/dist/commands/package/schema/openapi/generate/index.cjs.js +27 -0
  16. package/dist/commands/package/schema/openapi/generate/server.cjs.js +56 -0
  17. package/dist/{cjs/init-wsIZc-Ys.cjs.js → commands/package/schema/openapi/init.cjs.js} +5 -11
  18. package/dist/commands/peer-deps/peer-deps.cjs.js +175 -0
  19. package/dist/commands/repo/schema/openapi/diff.cjs.js +81 -0
  20. package/dist/{cjs/fuzz-CRe0ewrD.cjs.js → commands/repo/schema/openapi/fuzz.cjs.js} +2 -4
  21. package/dist/{cjs/lint-DqMp4VN_.cjs.js → commands/repo/schema/openapi/lint.cjs.js} +3 -11
  22. package/dist/{cjs/test-5XE2uhir.cjs.js → commands/repo/schema/openapi/test.cjs.js} +6 -13
  23. package/dist/{cjs/verify-ARmbHOf8.cjs.js → commands/repo/schema/openapi/verify.cjs.js} +5 -10
  24. package/dist/{cjs/type-deps-DgJcEpV_.cjs.js → commands/type-deps/type-deps.cjs.js} +7 -2
  25. package/dist/{cjs/util-BhlP_S3V.cjs.js → commands/util.cjs.js} +1 -1
  26. package/dist/index.cjs.js +7 -186
  27. package/dist/lib/errors.cjs.js +42 -0
  28. package/dist/{cjs/exec-C0kCNRgF.cjs.js → lib/exec.cjs.js} +1 -1
  29. package/dist/{cjs/getPackageExportDetails-FkT40JIH.cjs.js → lib/getPackageExportDetails.cjs.js} +1 -1
  30. package/dist/{cjs/constants-Dwa51b6l.cjs.js → lib/openapi/constants.cjs.js} +1 -1
  31. package/dist/{cjs/helpers-ja_ryoK_.cjs.js → lib/openapi/helpers.cjs.js} +5 -3
  32. package/dist/{cjs/diff-DDkHPBWC.cjs.js → lib/openapi/optic/helpers.cjs.js} +2 -82
  33. package/dist/{cjs/paths-BvbxdT_S.cjs.js → lib/paths.cjs.js} +2 -1
  34. package/dist/{cjs/runner-DMC006Gs.cjs.js → lib/runner.cjs.js} +2 -2
  35. package/dist/package.json.cjs.js +6 -0
  36. package/package.json +10 -10
  37. package/dist/cjs/index-zZtTyIMm.cjs.js +0 -145
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var fs = require('fs-extra');
4
- var paths = require('./paths-BvbxdT_S.cjs.js');
5
- var constants = require('./constants-Dwa51b6l.cjs.js');
4
+ var paths = require('../paths.cjs.js');
5
+ var constants = require('./constants.cjs.js');
6
6
  var path = require('path');
7
7
 
8
8
  const getPathToFile = async (directory, filename) => {
@@ -24,7 +24,9 @@ const getPathToCurrentOpenApiSpec = async () => {
24
24
  return await assertExists(await getRelativePathToFile(constants.YAML_SCHEMA_PATH));
25
25
  };
26
26
 
27
+ exports.assertExists = assertExists;
27
28
  exports.getPathToCurrentOpenApiSpec = getPathToCurrentOpenApiSpec;
29
+ exports.getPathToFile = getPathToFile;
28
30
  exports.getPathToOpenApiSpec = getPathToOpenApiSpec;
29
31
  exports.getRelativePathToFile = getRelativePathToFile;
30
- //# sourceMappingURL=helpers-ja_ryoK_.cjs.js.map
32
+ //# sourceMappingURL=helpers.cjs.js.map
@@ -1,15 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var cliNode = require('@backstage/cli-node');
4
- var exec = require('./exec-C0kCNRgF.cjs.js');
5
3
  var openapiUtilities = require('@useoptic/openapi-utilities');
6
- var paths = require('./paths-BvbxdT_S.cjs.js');
7
- var constants = require('./constants-Dwa51b6l.cjs.js');
8
- require('util');
9
- require('child_process');
10
- require('@backstage/cli-common');
11
- require('minimatch');
12
- require('path');
13
4
 
14
5
  const getChecksLabel = (results, severity) => {
15
6
  const totalChecks = results.length;
@@ -184,76 +175,5 @@ ${breakages.map(getBreakagesRow).join("\n")}
184
175
  `;
185
176
  };
186
177
 
187
- function cleanUpApiName(e) {
188
- e.apiName = e.apiName.replace(paths.paths.targetDir, "").replace(constants.YAML_SCHEMA_PATH, "");
189
- }
190
- async function command(opts) {
191
- let packages = await cliNode.PackageGraph.listTargetPackages();
192
- let since = "";
193
- if (opts.since) {
194
- const { stdout: sinceRaw } = await exec.exec("git", ["rev-parse", opts.since]);
195
- since = sinceRaw.toString().trim();
196
- const { stdout: changedFilesRaw } = await exec.exec("git", [
197
- "diff",
198
- "--name-only",
199
- since
200
- ]);
201
- const changedFiles = changedFilesRaw.toString().trim();
202
- const changedOpenApiSpecs = changedFiles.split("\n").filter((e) => e.endsWith(constants.YAML_SCHEMA_PATH)).map((e) => paths.paths.resolveTarget(e));
203
- packages = packages.filter(
204
- (pkg) => changedOpenApiSpecs.some((e) => e.startsWith(`${pkg.dir}/`))
205
- );
206
- }
207
- const checkablePackages = packages.filter((e) => e.packageJson.scripts?.diff);
208
- try {
209
- const outputs = {
210
- completed: [],
211
- failed: [],
212
- noop: [],
213
- warning: [],
214
- severity: 0
215
- };
216
- for (const pkg of checkablePackages) {
217
- const sinceCommands = since ? ["--since", since] : [];
218
- const { stdout } = await exec.exec(
219
- "yarn",
220
- ["diff", "--ignore", "--json", ...sinceCommands],
221
- {
222
- cwd: pkg.dir
223
- }
224
- );
225
- const result = JSON.parse(stdout.toString());
226
- outputs.completed.push(...result.completed ?? []);
227
- outputs.failed.push(...result.failed ?? []);
228
- outputs.noop.push(...result.noop ?? []);
229
- }
230
- for (const pkg of packages.filter((e) => !e.packageJson.scripts?.diff)) {
231
- outputs.warning?.push({
232
- apiName: `${pkg.dir}/`,
233
- warning: "No diff script found in package.json"
234
- });
235
- }
236
- outputs.completed.forEach(cleanUpApiName);
237
- outputs.failed.forEach(cleanUpApiName);
238
- outputs.noop.forEach(cleanUpApiName);
239
- outputs.warning?.forEach(cleanUpApiName);
240
- const { stdout: currentSha } = await exec.exec("git", ["rev-parse", "HEAD"]);
241
- console.log(
242
- generateCompareSummaryMarkdown(
243
- { sha: currentSha.toString().trim() },
244
- outputs,
245
- { verbose: true }
246
- )
247
- );
248
- const failed = outputs.failed.length > 0;
249
- if (failed) {
250
- throw new Error("Some checks failed");
251
- }
252
- } catch (err) {
253
- console.error(err);
254
- process.exit(1);
255
- }
256
- }
257
-
258
- exports.command = command;
259
- //# sourceMappingURL=diff-DDkHPBWC.cjs.js.map
178
+ exports.generateCompareSummaryMarkdown = generateCompareSummaryMarkdown;
179
+ //# sourceMappingURL=helpers.cjs.js.map
@@ -44,6 +44,7 @@ function isChildPath(base, path$1) {
44
44
  return !outsideBase && !differentDrive;
45
45
  }
46
46
 
47
+ exports.isChildPath = isChildPath;
47
48
  exports.paths = paths;
48
49
  exports.resolvePackagePaths = resolvePackagePaths;
49
- //# sourceMappingURL=paths-BvbxdT_S.cjs.js.map
50
+ //# sourceMappingURL=paths.cjs.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var paths = require('./paths-BvbxdT_S.cjs.js');
3
+ var paths = require('./paths.cjs.js');
4
4
  var pLimit = require('p-limit');
5
5
  var path = require('path');
6
6
  var portFinder = require('portfinder');
@@ -45,4 +45,4 @@ async function runner(paths$1, command, options) {
45
45
  }
46
46
 
47
47
  exports.runner = runner;
48
- //# sourceMappingURL=runner-DMC006Gs.cjs.js.map
48
+ //# sourceMappingURL=runner.cjs.js.map
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var version = "0.10.0-next.2";
4
+
5
+ exports.version = version;
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.10.0-next.0",
3
+ "version": "0.10.0-next.2",
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.0.1-next.0",
47
- "@backstage/catalog-model": "^1.7.0",
48
- "@backstage/cli-common": "^0.1.14",
49
- "@backstage/cli-node": "^0.2.8",
50
- "@backstage/config-loader": "^1.9.1",
51
- "@backstage/errors": "^1.2.4",
46
+ "@backstage/backend-plugin-api": "1.0.1-next.1",
47
+ "@backstage/catalog-model": "1.7.0",
48
+ "@backstage/cli-common": "0.1.14",
49
+ "@backstage/cli-node": "0.2.9-next.0",
50
+ "@backstage/config-loader": "1.9.1",
51
+ "@backstage/errors": "1.2.4",
52
52
  "@manypkg/get-packages": "^1.1.3",
53
53
  "@microsoft/api-documenter": "^7.25.7",
54
54
  "@microsoft/api-extractor": "^7.47.2",
@@ -77,9 +77,9 @@
77
77
  "yaml-diff-patch": "^2.0.0"
78
78
  },
79
79
  "devDependencies": {
80
- "@backstage/backend-test-utils": "^1.0.1-next.0",
81
- "@backstage/cli": "^0.28.0-next.0",
82
- "@backstage/types": "^1.1.1",
80
+ "@backstage/backend-test-utils": "1.0.1-next.2",
81
+ "@backstage/cli": "0.28.0-next.2",
82
+ "@backstage/types": "1.1.1",
83
83
  "@types/is-glob": "^4.0.2",
84
84
  "@types/node": "^18.17.8",
85
85
  "@types/prettier": "^2.0.0"
@@ -1,145 +0,0 @@
1
- 'use strict';
2
-
3
- var chalk = require('chalk');
4
- var path = require('path');
5
- var constants = require('./constants-Dwa51b6l.cjs.js');
6
- var paths = require('./paths-BvbxdT_S.cjs.js');
7
- var fs = require('fs-extra');
8
- var exec$1 = require('./exec-C0kCNRgF.cjs.js');
9
- var backendPluginApi = require('@backstage/backend-plugin-api');
10
- var helpers = require('./helpers-ja_ryoK_.cjs.js');
11
- var YAML = require('js-yaml');
12
- var util = require('util');
13
- var child_process = require('child_process');
14
- require('@backstage/cli-common');
15
- require('@backstage/cli-node');
16
- require('minimatch');
17
-
18
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
19
-
20
- var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
21
- var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
22
- var YAML__default = /*#__PURE__*/_interopDefaultCompat(YAML);
23
-
24
- async function generate$1(outputDirectory, clientAdditionalProperties) {
25
- const resolvedOpenapiPath = await helpers.getPathToCurrentOpenApiSpec();
26
- const resolvedOutputDirectory = paths.paths.resolveTargetRoot(
27
- outputDirectory,
28
- constants.OUTPUT_PATH
29
- );
30
- const additionalProperties = clientAdditionalProperties ? `--additional-properties=${clientAdditionalProperties}` : "";
31
- fs.mkdirpSync(resolvedOutputDirectory);
32
- await fs__default.default.mkdirp(resolvedOutputDirectory);
33
- await fs__default.default.writeFile(
34
- path.resolve(resolvedOutputDirectory, ".openapi-generator-ignore"),
35
- constants.OPENAPI_IGNORE_FILES.join("\n")
36
- );
37
- await exec$1.exec(
38
- "node",
39
- [
40
- backendPluginApi.resolvePackagePath("@openapitools/openapi-generator-cli", "main.js"),
41
- "generate",
42
- "-i",
43
- resolvedOpenapiPath,
44
- "-o",
45
- resolvedOutputDirectory,
46
- "-g",
47
- "typescript",
48
- "-c",
49
- backendPluginApi.resolvePackagePath(
50
- "@backstage/repo-tools",
51
- "templates/typescript-backstage.yaml"
52
- ),
53
- "--generator-key",
54
- "v3.0",
55
- additionalProperties
56
- ],
57
- {
58
- maxBuffer: Number.MAX_VALUE,
59
- cwd: backendPluginApi.resolvePackagePath("@backstage/repo-tools"),
60
- env: {
61
- ...process.env
62
- }
63
- }
64
- );
65
- await exec$1.exec(
66
- `yarn backstage-cli package lint --fix ${resolvedOutputDirectory}`
67
- );
68
- const prettier = paths.paths.resolveTargetRoot("node_modules/.bin/prettier");
69
- if (prettier) {
70
- await exec$1.exec(`${prettier} --write ${resolvedOutputDirectory}`);
71
- }
72
- fs__default.default.removeSync(path.resolve(resolvedOutputDirectory, ".openapi-generator-ignore"));
73
- fs__default.default.rmSync(path.resolve(resolvedOutputDirectory, ".openapi-generator"), {
74
- recursive: true,
75
- force: true
76
- });
77
- }
78
- async function command$2(outputPackage, clientAdditionalProperties) {
79
- try {
80
- await generate$1(outputPackage, clientAdditionalProperties);
81
- console.log(
82
- chalk__default.default.green(`Generated client in ${outputPackage}/${constants.OUTPUT_PATH}`)
83
- );
84
- } catch (err) {
85
- console.log();
86
- console.log(chalk__default.default.red(`Client generation failed:`));
87
- console.log(err);
88
- process.exit(1);
89
- }
90
- }
91
-
92
- const exec = util.promisify(child_process.exec);
93
- async function generate() {
94
- const openapiPath = await helpers.getPathToCurrentOpenApiSpec();
95
- const yaml = YAML__default.default.load(await fs__default.default.readFile(openapiPath, "utf8"));
96
- const tsPath = paths.paths.resolveTarget(constants.TS_SCHEMA_PATH);
97
- await fs__default.default.writeFile(
98
- tsPath,
99
- `//
100
-
101
- // ******************************************************************
102
- // * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. *
103
- // ******************************************************************
104
- import {createValidatedOpenApiRouter} from '@backstage/backend-openapi-utils';
105
- export const spec = ${JSON.stringify(yaml, null, 2)} as const;
106
- export const createOpenApiRouter = async (
107
- options?: Parameters<typeof createValidatedOpenApiRouter>['1'],
108
- ) => createValidatedOpenApiRouter<typeof spec>(spec, options);
109
- `
110
- );
111
- await exec(`yarn backstage-cli package lint --fix ${tsPath}`);
112
- if (await paths.paths.resolveTargetRoot("node_modules/.bin/prettier")) {
113
- await exec(`yarn prettier --write ${tsPath}`, {
114
- cwd: paths.paths.targetRoot
115
- });
116
- }
117
- }
118
- async function command$1() {
119
- try {
120
- await generate();
121
- console.log(chalk__default.default.green("Generated all files."));
122
- } catch (err) {
123
- console.log(chalk__default.default.red(`OpenAPI server stub generation failed.`));
124
- console.log(err.message);
125
- process.exit(1);
126
- }
127
- }
128
-
129
- async function command(opts) {
130
- if (!opts.clientPackage && !opts.server) {
131
- console.log(
132
- chalk__default.default.red("Either --client-package or --server must be defined.")
133
- );
134
- process.exit(1);
135
- }
136
- if (opts.clientPackage) {
137
- await command$2(opts.clientPackage, opts.clientAdditionalProperties);
138
- }
139
- if (opts.server) {
140
- await command$1();
141
- }
142
- }
143
-
144
- exports.command = command;
145
- //# sourceMappingURL=index-zZtTyIMm.cjs.js.map