@backstage/cli 0.28.0-next.1 → 0.28.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.
Files changed (157) hide show
  1. package/CHANGELOG.md +78 -0
  2. package/config/jest.js +9 -1
  3. package/config/jestCacheResultProcessor.cjs +23 -0
  4. package/config/jestSwcTransform.js +4 -1
  5. package/dist/commands/build/buildBackend.cjs.js +65 -0
  6. package/dist/commands/build/buildFrontend.cjs.js +57 -0
  7. package/dist/commands/build/command.cjs.js +75 -0
  8. package/dist/commands/build/index.cjs.js +8 -0
  9. package/dist/commands/buildWorkspace.cjs.js +24 -0
  10. package/dist/commands/clean/clean.cjs.js +19 -0
  11. package/dist/{cjs/docs-BGyA6jwW.cjs.js → commands/config/docs.cjs.js} +4 -12
  12. package/dist/{cjs/print-Dd6aChXU.cjs.js → commands/config/print.cjs.js} +4 -12
  13. package/dist/{cjs/schema-D93FRhBL.cjs.js → commands/config/schema.cjs.js} +4 -12
  14. package/dist/commands/config/validate.cjs.js +19 -0
  15. package/dist/{cjs/index-j193pV_Y.cjs.js → commands/create-github-app/GithubCreateAppServer.cjs.js} +2 -110
  16. package/dist/commands/create-github-app/index.cjs.js +117 -0
  17. package/dist/commands/index.cjs.js +231 -0
  18. package/dist/{cjs/info-DuAv1Tsx.cjs.js → commands/info.cjs.js} +13 -17
  19. package/dist/{cjs/lint-BwiDJkjE.cjs.js → commands/lint.cjs.js} +10 -10
  20. package/dist/commands/migrate/packageExports.cjs.js +17 -0
  21. package/dist/{cjs/packageLintConfigs-DeUGBP17.cjs.js → commands/migrate/packageLintConfigs.cjs.js} +2 -10
  22. package/dist/{cjs/packageRole-Iuv9NRii.cjs.js → commands/migrate/packageRole.cjs.js} +5 -8
  23. package/dist/{cjs/packageScripts-DX6dilK6.cjs.js → commands/migrate/packageScripts.cjs.js} +1 -1
  24. package/dist/{cjs/reactRouterDeps-CR-hjviw.cjs.js → commands/migrate/reactRouterDeps.cjs.js} +1 -1
  25. package/dist/commands/new/new.cjs.js +101 -0
  26. package/dist/commands/pack.cjs.js +29 -0
  27. package/dist/commands/repo/build.cjs.js +113 -0
  28. package/dist/{cjs/clean-a6Q4k9Vm.cjs.js → commands/repo/clean.cjs.js} +5 -10
  29. package/dist/{cjs/fix-COitqgqm.cjs.js → commands/repo/fix.cjs.js} +8 -13
  30. package/dist/commands/repo/lint.cjs.js +205 -0
  31. package/dist/{cjs/list-deprecations-CtUaQgaP.cjs.js → commands/repo/list-deprecations.cjs.js} +7 -12
  32. package/dist/commands/repo/optionsParser.cjs.js +37 -0
  33. package/dist/commands/repo/test.cjs.js +277 -0
  34. package/dist/commands/start/command.cjs.js +48 -0
  35. package/dist/commands/start/index.cjs.js +8 -0
  36. package/dist/commands/start/startBackend.cjs.js +112 -0
  37. package/dist/commands/start/startFrontend.cjs.js +47 -0
  38. package/dist/{cjs/test-COxIko8N.cjs.js → commands/test.cjs.js} +6 -12
  39. package/dist/{cjs/bump-BHEh5ytx.cjs.js → commands/versions/bump.cjs.js} +21 -190
  40. package/dist/commands/versions/migrate.cjs.js +112 -0
  41. package/dist/index.cjs.js +29 -7
  42. package/dist/lib/builder/config.cjs.js +199 -0
  43. package/dist/lib/builder/packager.cjs.js +131 -0
  44. package/dist/lib/builder/plugins.cjs.js +71 -0
  45. package/dist/lib/builder/types.cjs.js +11 -0
  46. package/dist/lib/bundler/LinkedPackageResolvePlugin.cjs.js +47 -0
  47. package/dist/lib/bundler/backend.cjs.js +36 -0
  48. package/dist/{cjs/buildBackend-CkhZWCz1.cjs.js → lib/bundler/bundle.cjs.js} +31 -117
  49. package/dist/lib/bundler/config.cjs.js +491 -0
  50. package/dist/lib/bundler/hasReactDomClient.cjs.js +17 -0
  51. package/dist/lib/bundler/moduleFederation.cjs.js +28 -0
  52. package/dist/lib/bundler/optimization.cjs.js +67 -0
  53. package/dist/lib/bundler/packageDetection.cjs.js +117 -0
  54. package/dist/lib/bundler/paths.cjs.js +60 -0
  55. package/dist/lib/bundler/server.cjs.js +286 -0
  56. package/dist/lib/bundler/transforms.cjs.js +172 -0
  57. package/dist/lib/codeowners/codeowners.cjs.js +92 -0
  58. package/dist/{cjs/config-DBpmZirN.cjs.js → lib/config.cjs.js} +6 -6
  59. package/dist/{cjs/entryPoints-coip0t-x.cjs.js → lib/entryPoints.cjs.js} +1 -1
  60. package/dist/lib/errors.cjs.js +45 -0
  61. package/dist/lib/experimental/IpcServer.cjs.js +60 -0
  62. package/dist/lib/experimental/ServerDataStore.cjs.js +36 -0
  63. package/dist/lib/experimental/startBackendExperimental.cjs.js +128 -0
  64. package/dist/lib/new/FactoryRegistry.cjs.js +96 -0
  65. package/dist/lib/new/factories/backendModule.cjs.js +82 -0
  66. package/dist/lib/new/factories/backendPlugin.cjs.js +78 -0
  67. package/dist/lib/new/factories/common/prompts.cjs.js +57 -0
  68. package/dist/lib/new/factories/common/tasks.cjs.js +66 -0
  69. package/dist/lib/new/factories/common/util.cjs.js +16 -0
  70. package/dist/lib/new/factories/frontendPlugin.cjs.js +107 -0
  71. package/dist/lib/new/factories/index.cjs.js +24 -0
  72. package/dist/lib/new/factories/nodeLibraryPackage.cjs.js +57 -0
  73. package/dist/lib/new/factories/pluginCommon.cjs.js +58 -0
  74. package/dist/lib/new/factories/pluginNode.cjs.js +58 -0
  75. package/dist/lib/new/factories/pluginWeb.cjs.js +58 -0
  76. package/dist/lib/new/factories/scaffolderModule.cjs.js +90 -0
  77. package/dist/lib/new/factories/webLibraryPackage.cjs.js +57 -0
  78. package/dist/lib/new/types.cjs.js +8 -0
  79. package/dist/lib/packager/createDistWorkspace.cjs.js +219 -0
  80. package/dist/{cjs/productionPack-BxoMbBkH.cjs.js → lib/packager/productionPack.cjs.js} +8 -96
  81. package/dist/{cjs/parallel-BszNaKyc.cjs.js → lib/parallel.cjs.js} +2 -1
  82. package/dist/lib/paths.cjs.js +8 -0
  83. package/dist/{cjs/publishing-DQtsKTbc.cjs.js → lib/publishing.cjs.js} +1 -1
  84. package/dist/{cjs/role-BjiBExhi.cjs.js → lib/role.cjs.js} +3 -3
  85. package/dist/{cjs/run-CpZGNJQr.cjs.js → lib/run.cjs.js} +6 -5
  86. package/dist/{cjs/svgrTemplate-BTjBQ3by.cjs.js → lib/svgrTemplate.cjs.js} +1 -1
  87. package/dist/lib/tasks.cjs.js +188 -0
  88. package/dist/lib/typeDistProject.cjs.js +94 -0
  89. package/dist/lib/urls.cjs.js +13 -0
  90. package/dist/lib/version.cjs.js +94 -0
  91. package/dist/{cjs/yarn-6FNAgNBK.cjs.js → lib/versioning/Lockfile.cjs.js} +1 -31
  92. package/dist/lib/versioning/packages.cjs.js +75 -0
  93. package/dist/lib/yarn.cjs.js +34 -0
  94. package/dist/packages/backend-defaults/package.json.cjs.js +6 -0
  95. package/dist/packages/backend-plugin-api/package.json.cjs.js +6 -0
  96. package/dist/packages/backend-test-utils/package.json.cjs.js +6 -0
  97. package/dist/packages/catalog-client/package.json.cjs.js +6 -0
  98. package/dist/packages/cli/package.json.cjs.js +171 -0
  99. package/dist/packages/config/package.json.cjs.js +6 -0
  100. package/dist/packages/core-app-api/package.json.cjs.js +6 -0
  101. package/dist/packages/core-components/package.json.cjs.js +6 -0
  102. package/dist/packages/core-plugin-api/package.json.cjs.js +6 -0
  103. package/dist/packages/dev-utils/package.json.cjs.js +6 -0
  104. package/dist/packages/errors/package.json.cjs.js +6 -0
  105. package/dist/packages/test-utils/package.json.cjs.js +6 -0
  106. package/dist/packages/theme/package.json.cjs.js +6 -0
  107. package/dist/plugins/auth-backend/package.json.cjs.js +6 -0
  108. package/dist/plugins/auth-backend-module-guest-provider/package.json.cjs.js +6 -0
  109. package/dist/plugins/catalog-node/package.json.cjs.js +6 -0
  110. package/dist/plugins/scaffolder-node/package.json.cjs.js +6 -0
  111. package/dist/plugins/scaffolder-node-test-utils/package.json.cjs.js +6 -0
  112. package/package.json +55 -25
  113. package/templates/default-backend-plugin/README.md.hbs +22 -8
  114. package/templates/default-backend-plugin/dev/index.ts.hbs +60 -0
  115. package/templates/default-backend-plugin/package.json.hbs +5 -5
  116. package/templates/default-backend-plugin/src/index.ts.hbs +0 -1
  117. package/templates/default-backend-plugin/src/plugin.test.ts.hbs +85 -0
  118. package/templates/default-backend-plugin/src/plugin.ts.hbs +16 -14
  119. package/templates/default-backend-plugin/src/router.test.ts +67 -0
  120. package/templates/default-backend-plugin/src/router.ts +51 -0
  121. package/templates/default-backend-plugin/src/services/TodoListService/createTodoListService.ts +100 -0
  122. package/templates/default-backend-plugin/src/services/TodoListService/index.ts +1 -0
  123. package/templates/default-backend-plugin/src/services/TodoListService/types.ts +27 -0
  124. package/templates/scaffolder-module/package.json.hbs +3 -1
  125. package/templates/scaffolder-module/src/actions/example.test.ts +24 -0
  126. package/templates/scaffolder-module/src/actions/{example/example.ts → example.ts} +7 -3
  127. package/templates/scaffolder-module/src/index.ts.hbs +1 -1
  128. package/templates/scaffolder-module/src/{actions/example/module.ts → module.ts} +3 -3
  129. package/dist/cjs/build-CQdcGuBr.cjs.js +0 -194
  130. package/dist/cjs/buildWorkspace-CZPp9oRm.cjs.js +0 -53
  131. package/dist/cjs/clean-W6nxsHeK.cjs.js +0 -22
  132. package/dist/cjs/createDistWorkspace-DdHPGSMS.cjs.js +0 -576
  133. package/dist/cjs/index-BXv4Xa2e.cjs.js +0 -625
  134. package/dist/cjs/index-CGuAP7nv.cjs.js +0 -131
  135. package/dist/cjs/index-b1ouG3q6.cjs.js +0 -518
  136. package/dist/cjs/lint-Dsiocf9K.cjs.js +0 -91
  137. package/dist/cjs/moduleFederation-DmStnvEg.cjs.js +0 -910
  138. package/dist/cjs/new-CEnFhTT-.cjs.js +0 -1043
  139. package/dist/cjs/pack-XLRcGJqH.cjs.js +0 -34
  140. package/dist/cjs/packageExports-BJBwdvUH.cjs.js +0 -27
  141. package/dist/cjs/test-JcLI2pPM.cjs.js +0 -126
  142. package/dist/cjs/validate-CELljsEX.cjs.js +0 -28
  143. package/templates/default-backend-plugin/dev/index.ts +0 -9
  144. package/templates/default-backend-plugin/src/service/router.test.ts +0 -30
  145. package/templates/default-backend-plugin/src/service/router.ts +0 -28
  146. package/templates/scaffolder-module/src/actions/example/example.test.ts +0 -32
  147. package/templates/scaffolder-module/src/actions/example/index.ts +0 -7
  148. package/templates/scaffolder-module/src/actions/index.ts +0 -1
  149. /package/templates/default-backend-module/{.eslintrc.js → .eslintrc.js.hbs} +0 -0
  150. /package/templates/default-backend-plugin/{.eslintrc.js → .eslintrc.js.hbs} +0 -0
  151. /package/templates/default-common-plugin-package/{.eslintrc.js → .eslintrc.js.hbs} +0 -0
  152. /package/templates/default-node-plugin-package/{.eslintrc.js → .eslintrc.js.hbs} +0 -0
  153. /package/templates/default-plugin/{.eslintrc.js → .eslintrc.js.hbs} +0 -0
  154. /package/templates/default-react-plugin-package/{.eslintrc.js → .eslintrc.js.hbs} +0 -0
  155. /package/templates/node-library-package/{.eslintrc.js → .eslintrc.js.hbs} +0 -0
  156. /package/templates/scaffolder-module/{.eslintrc.js → .eslintrc.js.hbs} +0 -0
  157. /package/templates/web-library-package/{.eslintrc.js → .eslintrc.js.hbs} +0 -0
@@ -0,0 +1,94 @@
1
+ 'use strict';
2
+
3
+ var path = require('path');
4
+ var tsMorph = require('ts-morph');
5
+ var paths = require('./paths.cjs.js');
6
+
7
+ const createTypeDistProject = async () => {
8
+ return new tsMorph.Project({
9
+ tsConfigFilePath: paths.paths.resolveTargetRoot("tsconfig.json"),
10
+ skipAddingFilesFromTsConfig: true
11
+ });
12
+ };
13
+ const targetPackageRoles = [
14
+ "backend-plugin",
15
+ "backend-plugin-module",
16
+ "frontend-plugin",
17
+ "frontend-plugin-module",
18
+ "web-library",
19
+ "node-library"
20
+ ];
21
+ const targetFeatureTypes = [
22
+ "@backstage/BackendFeature",
23
+ "@backstage/BackstagePlugin",
24
+ "@backstage/FrontendPlugin",
25
+ "@backstage/FrontendModule"
26
+ ];
27
+ const getEntryPointDefaultFeatureType = (role, packageDir, project, entryPoint) => {
28
+ if (isTargetPackageRole(role)) {
29
+ const distPath = path.resolve(packageDir, entryPoint);
30
+ try {
31
+ const defaultFeatureType = getSourceFileDefaultFeatureType(
32
+ project.addSourceFileAtPath(distPath)
33
+ );
34
+ if (defaultFeatureType) {
35
+ return defaultFeatureType;
36
+ }
37
+ } catch (error) {
38
+ console.error(
39
+ `Failed to extract default feature type from ${distPath}, ${error}. Your package will publish fine but it may be missing metadata about its default feature.`
40
+ );
41
+ }
42
+ }
43
+ return null;
44
+ };
45
+ function getSourceFileDefaultFeatureType(sourceFile) {
46
+ for (const exportSymbol of sourceFile.getExportSymbols()) {
47
+ const declaration = exportSymbol.getDeclarations()[0];
48
+ const exportName = declaration.getSymbol()?.getName();
49
+ if (exportName !== "default") {
50
+ continue;
51
+ }
52
+ let exportType;
53
+ if (declaration) {
54
+ if (declaration.isKind(tsMorph.SyntaxKind.ExportAssignment)) {
55
+ exportType = declaration.getExpression().getType();
56
+ } else if (declaration.isKind(tsMorph.SyntaxKind.ExportSpecifier)) {
57
+ if (!declaration.isTypeOnly()) {
58
+ exportType = declaration.getType();
59
+ }
60
+ } else if (declaration.isKind(tsMorph.SyntaxKind.VariableDeclaration)) {
61
+ exportType = declaration.getType();
62
+ }
63
+ }
64
+ if (exportName && exportType) {
65
+ const $$type = getBackstagePackageFeature$$TypeFromType(exportType);
66
+ if ($$type) {
67
+ return $$type;
68
+ }
69
+ }
70
+ }
71
+ return null;
72
+ }
73
+ function getBackstagePackageFeature$$TypeFromType(type) {
74
+ const exportType = type.getTargetType() ?? type;
75
+ for (const property of exportType.getProperties()) {
76
+ if (property.getName() === "$$type") {
77
+ const $$type = property.getValueDeclaration()?.getText().match(/(\$\$type: '(?<type>.+)')/)?.groups?.type;
78
+ if ($$type && isTargetFeatureType($$type)) {
79
+ return $$type;
80
+ }
81
+ }
82
+ }
83
+ return null;
84
+ }
85
+ function isTargetPackageRole(role) {
86
+ return !!role && targetPackageRoles.includes(role);
87
+ }
88
+ function isTargetFeatureType(type) {
89
+ return !!type && targetFeatureTypes.includes(type);
90
+ }
91
+
92
+ exports.createTypeDistProject = createTypeDistProject;
93
+ exports.getEntryPointDefaultFeatureType = getEntryPointDefaultFeatureType;
94
+ //# sourceMappingURL=typeDistProject.cjs.js.map
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ function isValidUrl(url) {
4
+ try {
5
+ new URL(url);
6
+ return true;
7
+ } catch {
8
+ return false;
9
+ }
10
+ }
11
+
12
+ exports.isValidUrl = isValidUrl;
13
+ //# sourceMappingURL=urls.cjs.js.map
@@ -0,0 +1,94 @@
1
+ 'use strict';
2
+
3
+ var fs = require('fs-extra');
4
+ var semver = require('semver');
5
+ var paths = require('./paths.cjs.js');
6
+ var _package$1 = require('../packages/backend-plugin-api/package.json.cjs.js');
7
+ var _package$2 = require('../packages/backend-test-utils/package.json.cjs.js');
8
+ var _package$3 = require('../packages/catalog-client/package.json.cjs.js');
9
+ var _package$4 = require('../packages/cli/package.json.cjs.js');
10
+ var _package$5 = require('../packages/config/package.json.cjs.js');
11
+ var _package$6 = require('../packages/core-app-api/package.json.cjs.js');
12
+ var _package$7 = require('../packages/core-components/package.json.cjs.js');
13
+ var _package$8 = require('../packages/core-plugin-api/package.json.cjs.js');
14
+ var _package$9 = require('../packages/dev-utils/package.json.cjs.js');
15
+ var _package$a = require('../packages/errors/package.json.cjs.js');
16
+ var _package$b = require('../packages/test-utils/package.json.cjs.js');
17
+ var _package$d = require('../plugins/scaffolder-node/package.json.cjs.js');
18
+ var _package$e = require('../plugins/scaffolder-node-test-utils/package.json.cjs.js');
19
+ var _package$f = require('../plugins/auth-backend/package.json.cjs.js');
20
+ var _package$g = require('../plugins/auth-backend-module-guest-provider/package.json.cjs.js');
21
+ var _package$h = require('../plugins/catalog-node/package.json.cjs.js');
22
+ var _package$c = require('../packages/theme/package.json.cjs.js');
23
+ var _package = require('../packages/backend-defaults/package.json.cjs.js');
24
+
25
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
26
+
27
+ var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
28
+ var semver__default = /*#__PURE__*/_interopDefaultCompat(semver);
29
+
30
+ const packageVersions = {
31
+ "@backstage/backend-defaults": _package.version,
32
+ "@backstage/backend-plugin-api": _package$1.version,
33
+ "@backstage/backend-test-utils": _package$2.version,
34
+ "@backstage/catalog-client": _package$3.version,
35
+ "@backstage/cli": _package$4.version,
36
+ "@backstage/config": _package$5.version,
37
+ "@backstage/core-app-api": _package$6.version,
38
+ "@backstage/core-components": _package$7.version,
39
+ "@backstage/core-plugin-api": _package$8.version,
40
+ "@backstage/dev-utils": _package$9.version,
41
+ "@backstage/errors": _package$a.version,
42
+ "@backstage/test-utils": _package$b.version,
43
+ "@backstage/theme": _package$c.version,
44
+ "@backstage/plugin-scaffolder-node": _package$d.version,
45
+ "@backstage/plugin-scaffolder-node-test-utils": _package$e.version,
46
+ "@backstage/plugin-auth-backend": _package$f.version,
47
+ "@backstage/plugin-auth-backend-module-guest-provider": _package$g.version,
48
+ "@backstage/plugin-catalog-node": _package$h.version
49
+ };
50
+ function findVersion() {
51
+ const pkgContent = fs__default.default.readFileSync(paths.paths.resolveOwn("package.json"), "utf8");
52
+ return JSON.parse(pkgContent).version;
53
+ }
54
+ const version = findVersion();
55
+ fs__default.default.pathExistsSync(paths.paths.resolveOwn("src"));
56
+ function createPackageVersionProvider(lockfile) {
57
+ return (name, versionHint) => {
58
+ const packageVersion = packageVersions[name];
59
+ const targetVersion = versionHint || packageVersion;
60
+ if (!targetVersion) {
61
+ throw new Error(`No version available for package ${name}`);
62
+ }
63
+ const lockfileEntries = lockfile?.get(name);
64
+ if (name.startsWith("@types/") && lockfileEntries?.some((entry) => entry.range === "*")) {
65
+ return "*";
66
+ }
67
+ for (const specifier of ["^", "~", "*"]) {
68
+ const range = `workspace:${specifier}`;
69
+ if (lockfileEntries?.some((entry) => entry.range === range)) {
70
+ return range;
71
+ }
72
+ }
73
+ const validRanges = lockfileEntries?.filter(
74
+ (entry) => semver__default.default.satisfies(targetVersion, entry.range)
75
+ );
76
+ const highestRange = validRanges?.slice(-1)[0];
77
+ if (highestRange?.range) {
78
+ return highestRange?.range;
79
+ }
80
+ if (packageVersion) {
81
+ return `^${packageVersion}`;
82
+ }
83
+ if (semver__default.default.parse(versionHint)?.prerelease.length) {
84
+ return versionHint;
85
+ }
86
+ return versionHint?.match(/^[\d\.]+$/) ? `^${versionHint}` : versionHint;
87
+ };
88
+ }
89
+
90
+ exports.createPackageVersionProvider = createPackageVersionProvider;
91
+ exports.findVersion = findVersion;
92
+ exports.packageVersions = packageVersions;
93
+ exports.version = version;
94
+ //# sourceMappingURL=version.cjs.js.map
@@ -3,9 +3,6 @@
3
3
  var fs = require('fs-extra');
4
4
  var parsers = require('@yarnpkg/parsers');
5
5
  var lockfile = require('@yarnpkg/lockfile');
6
- var errors = require('@backstage/errors');
7
- var child_process = require('child_process');
8
- var util = require('util');
9
6
 
10
7
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
11
8
 
@@ -85,32 +82,5 @@ class Lockfile {
85
82
  }
86
83
  }
87
84
 
88
- const execFile = util.promisify(child_process.execFile);
89
- const versions = /* @__PURE__ */ new Map();
90
- function detectYarnVersion(dir) {
91
- const cwd = process.cwd();
92
- if (versions.has(cwd)) {
93
- return versions.get(cwd);
94
- }
95
- const promise = Promise.resolve().then(async () => {
96
- try {
97
- const { stdout } = await execFile("yarn", ["--version"], {
98
- shell: true,
99
- cwd
100
- });
101
- return stdout.trim().startsWith("1.") ? "classic" : "berry";
102
- } catch (error) {
103
- errors.assertError(error);
104
- if ("stderr" in error) {
105
- process.stderr.write(error.stderr);
106
- }
107
- throw new errors.ForwardedError("Failed to determine yarn version", error);
108
- }
109
- });
110
- versions.set(cwd, promise);
111
- return promise;
112
- }
113
-
114
85
  exports.Lockfile = Lockfile;
115
- exports.detectYarnVersion = detectYarnVersion;
116
- //# sourceMappingURL=yarn-6FNAgNBK.cjs.js.map
86
+ //# sourceMappingURL=Lockfile.cjs.js.map
@@ -0,0 +1,75 @@
1
+ 'use strict';
2
+
3
+ var minimatch = require('minimatch');
4
+ var getPackages = require('@manypkg/get-packages');
5
+ var errors = require('../errors.cjs.js');
6
+ var yarn = require('../yarn.cjs.js');
7
+ var run = require('../run.cjs.js');
8
+
9
+ const DEP_TYPES = [
10
+ "dependencies",
11
+ "devDependencies",
12
+ "peerDependencies",
13
+ "optionalDependencies"
14
+ ];
15
+ async function fetchPackageInfo(name) {
16
+ const yarnVersion = await yarn.detectYarnVersion();
17
+ const cmd = yarnVersion === "classic" ? ["info"] : ["npm", "info"];
18
+ try {
19
+ const { stdout: output } = await run.execFile(
20
+ "yarn",
21
+ [...cmd, "--json", name],
22
+ { shell: true }
23
+ );
24
+ if (!output) {
25
+ throw new errors.NotFoundError(
26
+ `No package information found for package ${name}`
27
+ );
28
+ }
29
+ if (yarnVersion === "berry") {
30
+ return JSON.parse(output);
31
+ }
32
+ const info = JSON.parse(output);
33
+ if (info.type !== "inspect") {
34
+ throw new Error(`Received unknown yarn info for ${name}, ${output}`);
35
+ }
36
+ return info.data;
37
+ } catch (error) {
38
+ if (yarnVersion === "classic") {
39
+ throw error;
40
+ }
41
+ if (error?.stdout.includes("Response Code: 404")) {
42
+ throw new errors.NotFoundError(
43
+ `No package information found for package ${name}`
44
+ );
45
+ }
46
+ throw error;
47
+ }
48
+ }
49
+ async function mapDependencies(targetDir, pattern) {
50
+ const { packages, root } = await getPackages.getPackages(targetDir);
51
+ packages.push(root);
52
+ const dependencyMap = /* @__PURE__ */ new Map();
53
+ for (const pkg of packages) {
54
+ const deps = DEP_TYPES.flatMap(
55
+ (t) => Object.entries(pkg.packageJson[t] ?? {})
56
+ );
57
+ for (const [name, range] of deps) {
58
+ if (minimatch.minimatch(name, pattern)) {
59
+ dependencyMap.set(
60
+ name,
61
+ (dependencyMap.get(name) ?? []).concat({
62
+ range,
63
+ name: pkg.packageJson.name,
64
+ location: pkg.dir
65
+ })
66
+ );
67
+ }
68
+ }
69
+ }
70
+ return dependencyMap;
71
+ }
72
+
73
+ exports.fetchPackageInfo = fetchPackageInfo;
74
+ exports.mapDependencies = mapDependencies;
75
+ //# sourceMappingURL=packages.cjs.js.map
@@ -0,0 +1,34 @@
1
+ 'use strict';
2
+
3
+ var errors = require('@backstage/errors');
4
+ var child_process = require('child_process');
5
+ var util = require('util');
6
+
7
+ const execFile = util.promisify(child_process.execFile);
8
+ const versions = /* @__PURE__ */ new Map();
9
+ function detectYarnVersion(dir) {
10
+ const cwd = process.cwd();
11
+ if (versions.has(cwd)) {
12
+ return versions.get(cwd);
13
+ }
14
+ const promise = Promise.resolve().then(async () => {
15
+ try {
16
+ const { stdout } = await execFile("yarn", ["--version"], {
17
+ shell: true,
18
+ cwd
19
+ });
20
+ return stdout.trim().startsWith("1.") ? "classic" : "berry";
21
+ } catch (error) {
22
+ errors.assertError(error);
23
+ if ("stderr" in error) {
24
+ process.stderr.write(error.stderr);
25
+ }
26
+ throw new errors.ForwardedError("Failed to determine yarn version", error);
27
+ }
28
+ });
29
+ versions.set(cwd, promise);
30
+ return promise;
31
+ }
32
+
33
+ exports.detectYarnVersion = detectYarnVersion;
34
+ //# sourceMappingURL=yarn.cjs.js.map
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var version = "0.5.1";
4
+
5
+ exports.version = version;
6
+ //# sourceMappingURL=package.json.cjs.js.map
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var version = "1.0.1";
4
+
5
+ exports.version = version;
6
+ //# sourceMappingURL=package.json.cjs.js.map
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var version = "1.0.1";
4
+
5
+ exports.version = version;
6
+ //# sourceMappingURL=package.json.cjs.js.map
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var version = "1.7.1";
4
+
5
+ exports.version = version;
6
+ //# sourceMappingURL=package.json.cjs.js.map
@@ -0,0 +1,171 @@
1
+ 'use strict';
2
+
3
+ var version = "0.28.0";
4
+ var dependencies = {
5
+ "@backstage/catalog-model": "workspace:^",
6
+ "@backstage/cli-common": "workspace:^",
7
+ "@backstage/cli-node": "workspace:^",
8
+ "@backstage/config": "workspace:^",
9
+ "@backstage/config-loader": "workspace:^",
10
+ "@backstage/errors": "workspace:^",
11
+ "@backstage/eslint-plugin": "workspace:^",
12
+ "@backstage/integration": "workspace:^",
13
+ "@backstage/release-manifests": "workspace:^",
14
+ "@backstage/types": "workspace:^",
15
+ "@manypkg/get-packages": "^1.1.3",
16
+ "@module-federation/enhanced": "^0.6.0",
17
+ "@octokit/graphql": "^5.0.0",
18
+ "@octokit/graphql-schema": "^13.7.0",
19
+ "@octokit/oauth-app": "^4.2.0",
20
+ "@octokit/request": "^6.0.0",
21
+ "@pmmmwh/react-refresh-webpack-plugin": "^0.5.7",
22
+ "@rollup/plugin-commonjs": "^26.0.0",
23
+ "@rollup/plugin-json": "^6.0.0",
24
+ "@rollup/plugin-node-resolve": "^15.0.0",
25
+ "@rollup/plugin-yaml": "^4.0.0",
26
+ "@spotify/eslint-config-base": "^15.0.0",
27
+ "@spotify/eslint-config-react": "^15.0.0",
28
+ "@spotify/eslint-config-typescript": "^15.0.0",
29
+ "@sucrase/webpack-loader": "^2.0.0",
30
+ "@svgr/core": "6.5.x",
31
+ "@svgr/plugin-jsx": "6.5.x",
32
+ "@svgr/plugin-svgo": "6.5.x",
33
+ "@svgr/rollup": "6.5.x",
34
+ "@svgr/webpack": "6.5.x",
35
+ "@swc/core": "^1.3.46",
36
+ "@swc/helpers": "^0.5.0",
37
+ "@swc/jest": "^0.2.22",
38
+ "@types/jest": "^29.5.11",
39
+ "@types/webpack-env": "^1.15.2",
40
+ "@typescript-eslint/eslint-plugin": "^6.12.0",
41
+ "@typescript-eslint/parser": "^6.7.2",
42
+ "@yarnpkg/lockfile": "^1.1.0",
43
+ "@yarnpkg/parsers": "^3.0.0",
44
+ bfj: "^8.0.0",
45
+ buffer: "^6.0.3",
46
+ chalk: "^4.0.0",
47
+ chokidar: "^3.3.1",
48
+ commander: "^12.0.0",
49
+ "cross-fetch": "^4.0.0",
50
+ "cross-spawn": "^7.0.3",
51
+ "css-loader": "^6.5.1",
52
+ "ctrlc-windows": "^2.1.0",
53
+ esbuild: "^0.24.0",
54
+ "esbuild-loader": "^4.0.0",
55
+ eslint: "^8.6.0",
56
+ "eslint-config-prettier": "^9.0.0",
57
+ "eslint-formatter-friendly": "^7.0.0",
58
+ "eslint-plugin-deprecation": "^2.0.0",
59
+ "eslint-plugin-import": "^2.25.4",
60
+ "eslint-plugin-jest": "^28.0.0",
61
+ "eslint-plugin-jsx-a11y": "^6.5.1",
62
+ "eslint-plugin-react": "^7.28.0",
63
+ "eslint-plugin-react-hooks": "^4.3.0",
64
+ "eslint-plugin-unused-imports": "^3.0.0",
65
+ "eslint-webpack-plugin": "^4.0.0",
66
+ express: "^4.17.1",
67
+ "fork-ts-checker-webpack-plugin": "^9.0.0",
68
+ "fs-extra": "^11.2.0",
69
+ "git-url-parse": "^15.0.0",
70
+ glob: "^7.1.7",
71
+ "global-agent": "^3.0.0",
72
+ globby: "^11.1.0",
73
+ handlebars: "^4.7.3",
74
+ "html-webpack-plugin": "^5.3.1",
75
+ inquirer: "^8.2.0",
76
+ jest: "^29.7.0",
77
+ "jest-cli": "^29.7.0",
78
+ "jest-css-modules": "^2.1.0",
79
+ "jest-environment-jsdom": "^29.0.2",
80
+ "jest-runtime": "^29.0.2",
81
+ "json-schema": "^0.4.0",
82
+ lodash: "^4.17.21",
83
+ "mini-css-extract-plugin": "^2.4.2",
84
+ minimatch: "^9.0.0",
85
+ "node-fetch": "^2.7.0",
86
+ "node-libs-browser": "^2.2.1",
87
+ "npm-packlist": "^5.0.0",
88
+ ora: "^5.3.0",
89
+ "p-limit": "^3.1.0",
90
+ "p-queue": "^6.6.2",
91
+ pirates: "^4.0.6",
92
+ postcss: "^8.1.0",
93
+ process: "^0.11.10",
94
+ "raw-loader": "^4.0.2",
95
+ "react-dev-utils": "^12.0.0-next.60",
96
+ "react-refresh": "^0.14.0",
97
+ "recursive-readdir": "^2.2.2",
98
+ "replace-in-file": "^7.1.0",
99
+ rollup: "^4.0.0",
100
+ "rollup-plugin-dts": "^6.1.0",
101
+ "rollup-plugin-esbuild": "^6.1.1",
102
+ "rollup-plugin-postcss": "^4.0.0",
103
+ "rollup-pluginutils": "^2.8.2",
104
+ "run-script-webpack-plugin": "^0.2.0",
105
+ semver: "^7.5.3",
106
+ "style-loader": "^3.3.1",
107
+ sucrase: "^3.20.2",
108
+ "swc-loader": "^0.2.3",
109
+ tar: "^6.1.12",
110
+ "terser-webpack-plugin": "^5.1.3",
111
+ "ts-morph": "^23.0.0",
112
+ util: "^0.12.3",
113
+ webpack: "^5.70.0",
114
+ "webpack-dev-server": "^5.0.0",
115
+ "webpack-node-externals": "^3.0.0",
116
+ yaml: "^2.0.0",
117
+ yargs: "^16.2.0",
118
+ "yml-loader": "^2.1.0",
119
+ yn: "^4.0.0",
120
+ zod: "^3.22.4"
121
+ };
122
+ var devDependencies = {
123
+ "@backstage/backend-common": "^0.25.0",
124
+ "@backstage/backend-plugin-api": "workspace:^",
125
+ "@backstage/backend-test-utils": "workspace:^",
126
+ "@backstage/catalog-client": "workspace:^",
127
+ "@backstage/config": "workspace:^",
128
+ "@backstage/core-app-api": "workspace:^",
129
+ "@backstage/core-components": "workspace:^",
130
+ "@backstage/core-plugin-api": "workspace:^",
131
+ "@backstage/dev-utils": "workspace:^",
132
+ "@backstage/errors": "workspace:^",
133
+ "@backstage/plugin-auth-backend": "workspace:^",
134
+ "@backstage/plugin-auth-backend-module-guest-provider": "workspace:^",
135
+ "@backstage/plugin-catalog-node": "workspace:^",
136
+ "@backstage/plugin-scaffolder-node": "workspace:^",
137
+ "@backstage/plugin-scaffolder-node-test-utils": "workspace:^",
138
+ "@backstage/test-utils": "workspace:^",
139
+ "@backstage/theme": "workspace:^",
140
+ "@rspack/core": "^1.0.10",
141
+ "@rspack/dev-server": "^1.0.9",
142
+ "@rspack/plugin-react-refresh": "^1.0.0",
143
+ "@types/cross-spawn": "^6.0.2",
144
+ "@types/ejs": "^3.1.3",
145
+ "@types/express": "^4.17.6",
146
+ "@types/fs-extra": "^11.0.0",
147
+ "@types/http-proxy": "^1.17.4",
148
+ "@types/inquirer": "^8.1.3",
149
+ "@types/node": "^18.17.8",
150
+ "@types/npm-packlist": "^3.0.0",
151
+ "@types/recursive-readdir": "^2.2.0",
152
+ "@types/rollup-plugin-peer-deps-external": "^2.2.0",
153
+ "@types/rollup-plugin-postcss": "^3.1.4",
154
+ "@types/svgo": "^2.6.2",
155
+ "@types/tar": "^6.1.1",
156
+ "@types/terser-webpack-plugin": "^5.0.4",
157
+ "@types/webpack-sources": "^3.2.3",
158
+ "@types/yarnpkg__lockfile": "^1.1.4",
159
+ "@vitejs/plugin-react": "^4.3.1",
160
+ del: "^7.0.0",
161
+ msw: "^1.0.0",
162
+ nodemon: "^3.0.1",
163
+ vite: "^5.0.0",
164
+ "vite-plugin-html": "^3.2.2",
165
+ "vite-plugin-node-polyfills": "^0.22.0"
166
+ };
167
+
168
+ exports.dependencies = dependencies;
169
+ exports.devDependencies = devDependencies;
170
+ exports.version = version;
171
+ //# sourceMappingURL=package.json.cjs.js.map
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var version = "1.2.0";
4
+
5
+ exports.version = version;
6
+ //# sourceMappingURL=package.json.cjs.js.map
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var version = "1.15.1";
4
+
5
+ exports.version = version;
6
+ //# sourceMappingURL=package.json.cjs.js.map
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var version = "0.15.1";
4
+
5
+ exports.version = version;
6
+ //# sourceMappingURL=package.json.cjs.js.map
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var version = "1.10.0";
4
+
5
+ exports.version = version;
6
+ //# sourceMappingURL=package.json.cjs.js.map
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var version = "1.1.2";
4
+
5
+ exports.version = version;
6
+ //# sourceMappingURL=package.json.cjs.js.map
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var version = "1.2.4";
4
+
5
+ exports.version = version;
6
+ //# sourceMappingURL=package.json.cjs.js.map
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var version = "1.7.0";
4
+
5
+ exports.version = version;
6
+ //# sourceMappingURL=package.json.cjs.js.map
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var version = "0.6.0";
4
+
5
+ exports.version = version;
6
+ //# sourceMappingURL=package.json.cjs.js.map
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var version = "0.23.1";
4
+
5
+ exports.version = version;
6
+ //# sourceMappingURL=package.json.cjs.js.map
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var version = "0.2.1";
4
+
5
+ exports.version = version;
6
+ //# sourceMappingURL=package.json.cjs.js.map
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var version = "1.13.1";
4
+
5
+ exports.version = version;
6
+ //# sourceMappingURL=package.json.cjs.js.map
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var version = "0.5.0";
4
+
5
+ exports.version = version;
6
+ //# sourceMappingURL=package.json.cjs.js.map
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var version = "0.1.13";
4
+
5
+ exports.version = version;
6
+ //# sourceMappingURL=package.json.cjs.js.map