@backstage/cli 0.36.0-next.1 → 0.36.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 (263) hide show
  1. package/CHANGELOG.md +110 -0
  2. package/config/eslint-factory.js +1 -0
  3. package/config/getJestEnvironment.js +7 -29
  4. package/config/jest-environment-jsdom/index.js +9 -43
  5. package/config/jest.js +7 -401
  6. package/config/jestCacheResultProcessor.cjs +10 -6
  7. package/config/jestCachingModuleLoader.js +11 -19
  8. package/config/jestFileTransform.js +11 -28
  9. package/config/jestRejectNetworkRequests.js +10 -53
  10. package/config/jestSucraseTransform.js +10 -70
  11. package/config/jestSwcTransform.js +10 -27
  12. package/config/jestYamlTransform.js +11 -24
  13. package/config/nodeTransform.cjs +10 -70
  14. package/config/nodeTransformHooks.mjs +4 -278
  15. package/config/webpack-public-path.js +10 -14
  16. package/dist/cli-internal/src/InternalCliModule.cjs.js +11 -0
  17. package/dist/cli-internal/src/InternalCommandNode.cjs.js +25 -0
  18. package/dist/cli-internal/src/knownPluginPackages.cjs.js +40 -0
  19. package/dist/index.cjs.js +21 -10
  20. package/dist/wiring/CliInitializer.cjs.js +61 -20
  21. package/dist/wiring/CommandGraph.cjs.js +81 -23
  22. package/dist/wiring/discoverCliModules.cjs.js +44 -0
  23. package/package.json +27 -154
  24. package/dist/modules/build/commands/buildWorkspace.cjs.js +0 -24
  25. package/dist/modules/build/commands/package/build/command.cjs.js +0 -89
  26. package/dist/modules/build/commands/package/build/index.cjs.js +0 -8
  27. package/dist/modules/build/commands/package/clean.cjs.js +0 -21
  28. package/dist/modules/build/commands/package/postpack.cjs.js +0 -15
  29. package/dist/modules/build/commands/package/prepack.cjs.js +0 -29
  30. package/dist/modules/build/commands/package/start/command.cjs.js +0 -23
  31. package/dist/modules/build/commands/package/start/index.cjs.js +0 -8
  32. package/dist/modules/build/commands/package/start/resolveLinkedWorkspace.cjs.js +0 -34
  33. package/dist/modules/build/commands/package/start/startBackend.cjs.js +0 -46
  34. package/dist/modules/build/commands/package/start/startFrontend.cjs.js +0 -50
  35. package/dist/modules/build/commands/package/start/startPackage.cjs.js +0 -53
  36. package/dist/modules/build/commands/repo/build.cjs.js +0 -114
  37. package/dist/modules/build/commands/repo/clean.cjs.js +0 -41
  38. package/dist/modules/build/commands/repo/start.cjs.js +0 -150
  39. package/dist/modules/build/index.cjs.js +0 -192
  40. package/dist/modules/build/lib/buildBackend.cjs.js +0 -81
  41. package/dist/modules/build/lib/buildFrontend.cjs.js +0 -50
  42. package/dist/modules/build/lib/builder/config.cjs.js +0 -257
  43. package/dist/modules/build/lib/builder/packager.cjs.js +0 -131
  44. package/dist/modules/build/lib/builder/plugins.cjs.js +0 -125
  45. package/dist/modules/build/lib/builder/types.cjs.js +0 -10
  46. package/dist/modules/build/lib/bundler/ConfigInjectingHtmlWebpackPlugin.cjs.js +0 -43
  47. package/dist/modules/build/lib/bundler/bundle.cjs.js +0 -189
  48. package/dist/modules/build/lib/bundler/config.cjs.js +0 -308
  49. package/dist/modules/build/lib/bundler/hasReactDomClient.cjs.js +0 -17
  50. package/dist/modules/build/lib/bundler/linkWorkspaces.cjs.js +0 -34
  51. package/dist/modules/build/lib/bundler/moduleFederation.cjs.js +0 -135
  52. package/dist/modules/build/lib/bundler/optimization.cjs.js +0 -68
  53. package/dist/modules/build/lib/bundler/packageDetection.cjs.js +0 -124
  54. package/dist/modules/build/lib/bundler/paths.cjs.js +0 -62
  55. package/dist/modules/build/lib/bundler/server.cjs.js +0 -231
  56. package/dist/modules/build/lib/bundler/transforms.cjs.js +0 -145
  57. package/dist/modules/build/lib/config.cjs.js +0 -94
  58. package/dist/modules/build/lib/entryPoints.cjs.js +0 -49
  59. package/dist/modules/build/lib/ipc/IpcServer.cjs.js +0 -60
  60. package/dist/modules/build/lib/ipc/ServerDataStore.cjs.js +0 -36
  61. package/dist/modules/build/lib/optionsParser.cjs.js +0 -37
  62. package/dist/modules/build/lib/packager/createDistWorkspace.cjs.js +0 -235
  63. package/dist/modules/build/lib/packager/productionPack.cjs.js +0 -160
  64. package/dist/modules/build/lib/publishing.cjs.js +0 -40
  65. package/dist/modules/build/lib/role.cjs.js +0 -24
  66. package/dist/modules/build/lib/runner/runBackend.cjs.js +0 -136
  67. package/dist/modules/build/lib/typeDistProject.cjs.js +0 -89
  68. package/dist/modules/build/lib/urls.cjs.js +0 -13
  69. package/dist/modules/config/commands/docs.cjs.js +0 -62
  70. package/dist/modules/config/commands/print.cjs.js +0 -80
  71. package/dist/modules/config/commands/schema.cjs.js +0 -55
  72. package/dist/modules/config/commands/validate.cjs.js +0 -49
  73. package/dist/modules/config/index.cjs.js +0 -51
  74. package/dist/modules/config/lib/config.cjs.js +0 -94
  75. package/dist/modules/create-github-app/commands/create-github-app/GithubCreateAppServer.cjs.js +0 -127
  76. package/dist/modules/create-github-app/commands/create-github-app/index.cjs.js +0 -115
  77. package/dist/modules/create-github-app/index.cjs.js +0 -27
  78. package/dist/modules/info/commands/info.cjs.js +0 -181
  79. package/dist/modules/info/index.cjs.js +0 -19
  80. package/dist/modules/lint/commands/package/lint.cjs.js +0 -46
  81. package/dist/modules/lint/commands/repo/lint.cjs.js +0 -212
  82. package/dist/modules/lint/index.cjs.js +0 -82
  83. package/dist/modules/lint/lib/optionsParser.cjs.js +0 -37
  84. package/dist/modules/maintenance/commands/repo/fix.cjs.js +0 -400
  85. package/dist/modules/maintenance/commands/repo/list-deprecations.cjs.js +0 -74
  86. package/dist/modules/maintenance/index.cjs.js +0 -42
  87. package/dist/modules/migrate/commands/packageExports.cjs.js +0 -15
  88. package/dist/modules/migrate/commands/packageLintConfigs.cjs.js +0 -77
  89. package/dist/modules/migrate/commands/packageRole.cjs.js +0 -57
  90. package/dist/modules/migrate/commands/packageScripts.cjs.js +0 -87
  91. package/dist/modules/migrate/commands/reactRouterDeps.cjs.js +0 -51
  92. package/dist/modules/migrate/commands/versions/bump.cjs.js +0 -373
  93. package/dist/modules/migrate/commands/versions/migrate.cjs.js +0 -112
  94. package/dist/modules/migrate/index.cjs.js +0 -82
  95. package/dist/modules/migrate/lib/utils.cjs.js +0 -44
  96. package/dist/modules/migrate/lib/versioning/packages.cjs.js +0 -71
  97. package/dist/modules/migrate/lib/versioning/yarn.cjs.js +0 -28
  98. package/dist/modules/new/commands/new.cjs.js +0 -60
  99. package/dist/modules/new/index.cjs.js +0 -68
  100. package/dist/modules/new/lib/codeowners/codeowners.cjs.js +0 -92
  101. package/dist/modules/new/lib/createNewPackage.cjs.js +0 -32
  102. package/dist/modules/new/lib/defaultTemplates.cjs.js +0 -17
  103. package/dist/modules/new/lib/execution/PortableTemplater.cjs.js +0 -89
  104. package/dist/modules/new/lib/execution/executePortableTemplate.cjs.js +0 -66
  105. package/dist/modules/new/lib/execution/installNewPackage.cjs.js +0 -127
  106. package/dist/modules/new/lib/execution/writeTemplateContents.cjs.js +0 -116
  107. package/dist/modules/new/lib/preparation/collectPortableTemplateInput.cjs.js +0 -157
  108. package/dist/modules/new/lib/preparation/loadPortableTemplate.cjs.js +0 -81
  109. package/dist/modules/new/lib/preparation/loadPortableTemplateConfig.cjs.js +0 -132
  110. package/dist/modules/new/lib/preparation/resolvePackageParams.cjs.js +0 -40
  111. package/dist/modules/new/lib/preparation/selectTemplateInteractively.cjs.js +0 -38
  112. package/dist/modules/new/lib/tasks.cjs.js +0 -51
  113. package/dist/modules/new/lib/types.cjs.js +0 -19
  114. package/dist/modules/new/lib/version.cjs.js +0 -91
  115. package/dist/modules/test/commands/package/test.cjs.js +0 -65
  116. package/dist/modules/test/commands/repo/test.cjs.js +0 -288
  117. package/dist/modules/test/index.cjs.js +0 -54
  118. package/dist/modules/translations/commands/export.cjs.js +0 -127
  119. package/dist/modules/translations/commands/import.cjs.js +0 -164
  120. package/dist/modules/translations/index.cjs.js +0 -24
  121. package/dist/modules/translations/lib/discoverPackages.cjs.js +0 -121
  122. package/dist/modules/translations/lib/extractTranslations.cjs.js +0 -71
  123. package/dist/modules/translations/lib/messageFilePath.cjs.js +0 -43
  124. package/dist/packages/backend-defaults/package.json.cjs.js +0 -6
  125. package/dist/packages/backend-plugin-api/package.json.cjs.js +0 -6
  126. package/dist/packages/backend-test-utils/package.json.cjs.js +0 -6
  127. package/dist/packages/catalog-client/package.json.cjs.js +0 -6
  128. package/dist/packages/cli/package.json.cjs.js +0 -156
  129. package/dist/packages/config/package.json.cjs.js +0 -6
  130. package/dist/packages/core-app-api/package.json.cjs.js +0 -6
  131. package/dist/packages/core-components/package.json.cjs.js +0 -6
  132. package/dist/packages/core-plugin-api/package.json.cjs.js +0 -6
  133. package/dist/packages/dev-utils/package.json.cjs.js +0 -6
  134. package/dist/packages/errors/package.json.cjs.js +0 -6
  135. package/dist/packages/frontend-defaults/package.json.cjs.js +0 -6
  136. package/dist/packages/frontend-plugin-api/package.json.cjs.js +0 -6
  137. package/dist/packages/frontend-plugin-api/src/routing/describeParentCallSite.cjs.js +0 -26
  138. package/dist/packages/frontend-test-utils/package.json.cjs.js +0 -6
  139. package/dist/packages/test-utils/package.json.cjs.js +0 -6
  140. package/dist/packages/theme/package.json.cjs.js +0 -6
  141. package/dist/packages/types/package.json.cjs.js +0 -6
  142. package/dist/plugins/auth-backend/package.json.cjs.js +0 -6
  143. package/dist/plugins/auth-backend-module-guest-provider/package.json.cjs.js +0 -6
  144. package/dist/plugins/catalog-node/package.json.cjs.js +0 -6
  145. package/dist/plugins/scaffolder-node/package.json.cjs.js +0 -6
  146. package/dist/plugins/scaffolder-node-test-utils/package.json.cjs.js +0 -6
  147. package/dist/wiring/CommandRegistry.cjs.js +0 -14
  148. package/dist/wiring/factory.cjs.js +0 -15
  149. package/dist/wiring/lazy.cjs.js +0 -22
  150. package/dist/wiring/types.cjs.js +0 -11
  151. package/templates/backend-plugin/.eslintrc.js.hbs +0 -1
  152. package/templates/backend-plugin/README.md.hbs +0 -28
  153. package/templates/backend-plugin/dev/index.ts.hbs +0 -60
  154. package/templates/backend-plugin/package.json.hbs +0 -44
  155. package/templates/backend-plugin/portable-template.yaml +0 -5
  156. package/templates/backend-plugin/src/index.ts.hbs +0 -1
  157. package/templates/backend-plugin/src/plugin.test.ts.hbs +0 -129
  158. package/templates/backend-plugin/src/plugin.ts.hbs +0 -32
  159. package/templates/backend-plugin/src/router.test.ts +0 -67
  160. package/templates/backend-plugin/src/router.ts +0 -51
  161. package/templates/backend-plugin/src/services/TodoListService.ts +0 -155
  162. package/templates/backend-plugin/src/setupTests.ts +0 -1
  163. package/templates/backend-plugin-module/.eslintrc.js.hbs +0 -1
  164. package/templates/backend-plugin-module/README.md.hbs +0 -5
  165. package/templates/backend-plugin-module/package.json.hbs +0 -34
  166. package/templates/backend-plugin-module/portable-template.yaml +0 -5
  167. package/templates/backend-plugin-module/src/index.ts.hbs +0 -8
  168. package/templates/backend-plugin-module/src/module.ts.hbs +0 -17
  169. package/templates/catalog-provider-module/.eslintrc.js.hbs +0 -1
  170. package/templates/catalog-provider-module/README.md.hbs +0 -5
  171. package/templates/catalog-provider-module/config.d.ts.hbs +0 -34
  172. package/templates/catalog-provider-module/package.json.hbs +0 -36
  173. package/templates/catalog-provider-module/portable-template.yaml +0 -9
  174. package/templates/catalog-provider-module/src/index.ts.hbs +0 -8
  175. package/templates/catalog-provider-module/src/module.ts.hbs +0 -29
  176. package/templates/catalog-provider-module/src/provider/readProviderConfigs.ts.hbs +0 -78
  177. package/templates/catalog-provider-module/src/provider/{{providerClass}}.test.ts.hbs +0 -18
  178. package/templates/catalog-provider-module/src/provider/{{providerClass}}.ts.hbs +0 -109
  179. package/templates/frontend-plugin/.eslintrc.js.hbs +0 -1
  180. package/templates/frontend-plugin/README.md.hbs +0 -13
  181. package/templates/frontend-plugin/dev/index.tsx.hbs +0 -11
  182. package/templates/frontend-plugin/package.json.hbs +0 -54
  183. package/templates/frontend-plugin/portable-template.yaml +0 -6
  184. package/templates/frontend-plugin/src/components/ExampleComponent/ExampleComponent.test.tsx.hbs +0 -28
  185. package/templates/frontend-plugin/src/components/ExampleComponent/ExampleComponent.tsx.hbs +0 -37
  186. package/templates/frontend-plugin/src/components/ExampleComponent/index.ts +0 -1
  187. package/templates/frontend-plugin/src/components/ExampleFetchComponent/ExampleFetchComponent.test.tsx.hbs +0 -19
  188. package/templates/frontend-plugin/src/components/ExampleFetchComponent/ExampleFetchComponent.tsx.hbs +0 -308
  189. package/templates/frontend-plugin/src/components/ExampleFetchComponent/index.ts +0 -1
  190. package/templates/frontend-plugin/src/index.ts.hbs +0 -1
  191. package/templates/frontend-plugin/src/plugin.test.ts.hbs +0 -7
  192. package/templates/frontend-plugin/src/plugin.ts.hbs +0 -22
  193. package/templates/frontend-plugin/src/routes.ts.hbs +0 -5
  194. package/templates/frontend-plugin/src/setupTests.ts +0 -1
  195. package/templates/new-frontend-plugin/.eslintrc.js.hbs +0 -1
  196. package/templates/new-frontend-plugin/README.md.hbs +0 -20
  197. package/templates/new-frontend-plugin/dev/index.tsx +0 -10
  198. package/templates/new-frontend-plugin/package.json.hbs +0 -49
  199. package/templates/new-frontend-plugin/portable-template.yaml +0 -5
  200. package/templates/new-frontend-plugin/src/components/ExampleComponent/ExampleComponent.test.tsx.hbs +0 -28
  201. package/templates/new-frontend-plugin/src/components/ExampleComponent/ExampleComponent.tsx.hbs +0 -37
  202. package/templates/new-frontend-plugin/src/components/ExampleComponent/index.ts +0 -1
  203. package/templates/new-frontend-plugin/src/components/ExampleFetchComponent/ExampleFetchComponent.test.tsx.hbs +0 -19
  204. package/templates/new-frontend-plugin/src/components/ExampleFetchComponent/ExampleFetchComponent.tsx.hbs +0 -308
  205. package/templates/new-frontend-plugin/src/components/ExampleFetchComponent/index.ts +0 -1
  206. package/templates/new-frontend-plugin/src/index.ts.hbs +0 -1
  207. package/templates/new-frontend-plugin/src/plugin.test.ts.hbs +0 -7
  208. package/templates/new-frontend-plugin/src/plugin.tsx.hbs +0 -25
  209. package/templates/new-frontend-plugin/src/routes.ts +0 -3
  210. package/templates/new-frontend-plugin/src/setupTests.ts +0 -1
  211. package/templates/new-frontend-plugin-module/.eslintrc.js.hbs +0 -1
  212. package/templates/new-frontend-plugin-module/README.md.hbs +0 -5
  213. package/templates/new-frontend-plugin-module/package.json.hbs +0 -35
  214. package/templates/new-frontend-plugin-module/portable-template.yaml +0 -5
  215. package/templates/new-frontend-plugin-module/src/index.ts.hbs +0 -1
  216. package/templates/new-frontend-plugin-module/src/module.tsx.hbs +0 -8
  217. package/templates/new-frontend-plugin-module/src/setupTests.ts +0 -1
  218. package/templates/node-library/.eslintrc.js.hbs +0 -1
  219. package/templates/node-library/README.md.hbs +0 -12
  220. package/templates/node-library/package.json.hbs +0 -29
  221. package/templates/node-library/portable-template.yaml +0 -3
  222. package/templates/node-library/src/index.ts.hbs +0 -1
  223. package/templates/node-library/src/setupTests.ts +0 -1
  224. package/templates/plugin-common-library/.eslintrc.js.hbs +0 -1
  225. package/templates/plugin-common-library/README.md.hbs +0 -5
  226. package/templates/plugin-common-library/package.json.hbs +0 -31
  227. package/templates/plugin-common-library/portable-template.yaml +0 -3
  228. package/templates/plugin-common-library/src/index.ts.hbs +0 -19
  229. package/templates/plugin-common-library/src/setupTests.ts +0 -1
  230. package/templates/plugin-node-library/.eslintrc.js.hbs +0 -1
  231. package/templates/plugin-node-library/README.md.hbs +0 -5
  232. package/templates/plugin-node-library/package.json.hbs +0 -30
  233. package/templates/plugin-node-library/portable-template.yaml +0 -3
  234. package/templates/plugin-node-library/src/index.ts.hbs +0 -18
  235. package/templates/plugin-node-library/src/setupTests.ts +0 -1
  236. package/templates/plugin-web-library/.eslintrc.js.hbs +0 -1
  237. package/templates/plugin-web-library/README.md.hbs +0 -5
  238. package/templates/plugin-web-library/package.json.hbs +0 -42
  239. package/templates/plugin-web-library/portable-template.yaml +0 -3
  240. package/templates/plugin-web-library/src/components/ExampleComponent/ExampleComponent.test.tsx +0 -17
  241. package/templates/plugin-web-library/src/components/ExampleComponent/ExampleComponent.tsx +0 -28
  242. package/templates/plugin-web-library/src/components/ExampleComponent/index.ts +0 -2
  243. package/templates/plugin-web-library/src/components/index.ts +0 -5
  244. package/templates/plugin-web-library/src/hooks/index.ts +0 -5
  245. package/templates/plugin-web-library/src/hooks/useExample/index.ts +0 -1
  246. package/templates/plugin-web-library/src/hooks/useExample/useExample.ts +0 -15
  247. package/templates/plugin-web-library/src/index.ts.hbs +0 -12
  248. package/templates/plugin-web-library/src/setupTests.ts +0 -1
  249. package/templates/scaffolder-backend-module/.eslintrc.js.hbs +0 -1
  250. package/templates/scaffolder-backend-module/README.md.hbs +0 -5
  251. package/templates/scaffolder-backend-module/package.json.hbs +0 -36
  252. package/templates/scaffolder-backend-module/portable-template.yaml +0 -6
  253. package/templates/scaffolder-backend-module/src/actions/example.test.ts +0 -24
  254. package/templates/scaffolder-backend-module/src/actions/example.ts +0 -39
  255. package/templates/scaffolder-backend-module/src/index.ts.hbs +0 -8
  256. package/templates/scaffolder-backend-module/src/module.ts +0 -21
  257. package/templates/web-library/.eslintrc.js.hbs +0 -1
  258. package/templates/web-library/README.md.hbs +0 -12
  259. package/templates/web-library/package.json.hbs +0 -30
  260. package/templates/web-library/portable-template.yaml +0 -3
  261. package/templates/web-library/src/index.ts.hbs +0 -1
  262. package/templates/web-library/src/setupTests.ts +0 -1
  263. /package/dist/{packages/opaque-internal → opaque-internal}/src/OpaqueType.cjs.js +0 -0
@@ -1,51 +0,0 @@
1
- 'use strict';
2
-
3
- var chalk = require('chalk');
4
- var ora = require('ora');
5
-
6
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
7
-
8
- var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
9
- var ora__default = /*#__PURE__*/_interopDefaultCompat(ora);
10
-
11
- const TASK_NAME_MAX_LENGTH = 14;
12
- class Task {
13
- static log(name = "") {
14
- process.stderr.write(`${chalk__default.default.green(name)}
15
- `);
16
- }
17
- static error(message = "") {
18
- process.stderr.write(`
19
- ${chalk__default.default.red(message)}
20
-
21
- `);
22
- }
23
- static section(name) {
24
- const title = chalk__default.default.green(`${name}:`);
25
- process.stderr.write(`
26
- ${title}
27
- `);
28
- }
29
- static exit(code = 0) {
30
- process.exit(code);
31
- }
32
- static async forItem(task, item, taskFunc) {
33
- const paddedTask = chalk__default.default.green(task.padEnd(TASK_NAME_MAX_LENGTH));
34
- const spinner = ora__default.default({
35
- prefixText: chalk__default.default.green(` ${paddedTask}${chalk__default.default.cyan(item)}`),
36
- spinner: "arc",
37
- color: "green"
38
- }).start();
39
- try {
40
- const result = await taskFunc();
41
- spinner.succeed();
42
- return result;
43
- } catch (error) {
44
- spinner.fail();
45
- throw error;
46
- }
47
- }
48
- }
49
-
50
- exports.Task = Task;
51
- //# sourceMappingURL=tasks.cjs.js.map
@@ -1,19 +0,0 @@
1
- 'use strict';
2
-
3
- const TEMPLATE_FILE_NAME = "portable-template.yaml";
4
- const TEMPLATE_ROLES = [
5
- "web-library",
6
- "node-library",
7
- "common-library",
8
- "plugin-web-library",
9
- "plugin-node-library",
10
- "plugin-common-library",
11
- "frontend-plugin",
12
- "frontend-plugin-module",
13
- "backend-plugin",
14
- "backend-plugin-module"
15
- ];
16
-
17
- exports.TEMPLATE_FILE_NAME = TEMPLATE_FILE_NAME;
18
- exports.TEMPLATE_ROLES = TEMPLATE_ROLES;
19
- //# sourceMappingURL=types.cjs.js.map
@@ -1,91 +0,0 @@
1
- 'use strict';
2
-
3
- var semver = require('semver');
4
- var _package$k = require('../../../packages/backend-plugin-api/package.json.cjs.js');
5
- var _package$j = require('../../../packages/backend-test-utils/package.json.cjs.js');
6
- var _package$i = require('../../../packages/catalog-client/package.json.cjs.js');
7
- var _package$h = require('../../../packages/cli/package.json.cjs.js');
8
- var _package$g = require('../../../packages/config/package.json.cjs.js');
9
- var _package$f = require('../../../packages/core-app-api/package.json.cjs.js');
10
- var _package$e = require('../../../packages/core-components/package.json.cjs.js');
11
- var _package$d = require('../../../packages/core-plugin-api/package.json.cjs.js');
12
- var _package$c = require('../../../packages/dev-utils/package.json.cjs.js');
13
- var _package$b = require('../../../packages/errors/package.json.cjs.js');
14
- var _package$a = require('../../../packages/frontend-defaults/package.json.cjs.js');
15
- var _package$9 = require('../../../packages/frontend-plugin-api/package.json.cjs.js');
16
- var _package$8 = require('../../../packages/frontend-test-utils/package.json.cjs.js');
17
- var _package$7 = require('../../../packages/test-utils/package.json.cjs.js');
18
- var _package$4 = require('../../../plugins/scaffolder-node/package.json.cjs.js');
19
- var _package$3 = require('../../../plugins/scaffolder-node-test-utils/package.json.cjs.js');
20
- var _package$2 = require('../../../plugins/auth-backend/package.json.cjs.js');
21
- var _package$1 = require('../../../plugins/auth-backend-module-guest-provider/package.json.cjs.js');
22
- var _package = require('../../../plugins/catalog-node/package.json.cjs.js');
23
- var _package$6 = require('../../../packages/theme/package.json.cjs.js');
24
- var _package$5 = require('../../../packages/types/package.json.cjs.js');
25
- var _package$l = require('../../../packages/backend-defaults/package.json.cjs.js');
26
-
27
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
28
-
29
- var semver__default = /*#__PURE__*/_interopDefaultCompat(semver);
30
-
31
- const packageVersions = {
32
- "@backstage/backend-defaults": _package$l.version,
33
- "@backstage/backend-plugin-api": _package$k.version,
34
- "@backstage/backend-test-utils": _package$j.version,
35
- "@backstage/catalog-client": _package$i.version,
36
- "@backstage/cli": _package$h.version,
37
- "@backstage/config": _package$g.version,
38
- "@backstage/core-app-api": _package$f.version,
39
- "@backstage/core-components": _package$e.version,
40
- "@backstage/core-plugin-api": _package$d.version,
41
- "@backstage/dev-utils": _package$c.version,
42
- "@backstage/errors": _package$b.version,
43
- "@backstage/frontend-defaults": _package$a.version,
44
- "@backstage/frontend-plugin-api": _package$9.version,
45
- "@backstage/frontend-test-utils": _package$8.version,
46
- "@backstage/test-utils": _package$7.version,
47
- "@backstage/theme": _package$6.version,
48
- "@backstage/types": _package$5.version,
49
- "@backstage/plugin-scaffolder-node": _package$4.version,
50
- "@backstage/plugin-scaffolder-node-test-utils": _package$3.version,
51
- "@backstage/plugin-auth-backend": _package$2.version,
52
- "@backstage/plugin-auth-backend-module-guest-provider": _package$1.version,
53
- "@backstage/plugin-catalog-node": _package.version
54
- };
55
- function createPackageVersionProvider(lockfile, options) {
56
- return (name, versionHint) => {
57
- const packageVersion = packageVersions[name];
58
- const lockfileEntries = lockfile?.get(name);
59
- const lockfileEntry = lockfileEntries?.find(
60
- (entry) => entry.range.startsWith("workspace:")
61
- );
62
- if (lockfileEntry) {
63
- return "workspace:^";
64
- }
65
- if (options?.preferBackstageProtocol && name.startsWith("@backstage/")) {
66
- return "backstage:^";
67
- }
68
- const targetVersion = versionHint || packageVersion;
69
- if (!targetVersion) {
70
- throw new Error(`No version available for package ${name}`);
71
- }
72
- const validRanges = lockfileEntries?.filter(
73
- (entry) => semver__default.default.satisfies(targetVersion, entry.range)
74
- );
75
- const highestRange = validRanges?.slice(-1)[0];
76
- if (highestRange?.range) {
77
- return highestRange?.range;
78
- }
79
- if (packageVersion) {
80
- return `^${packageVersion}`;
81
- }
82
- if (semver__default.default.parse(versionHint)?.prerelease.length) {
83
- return versionHint;
84
- }
85
- return versionHint?.match(/^[\d\.]+$/) ? `^${versionHint}` : versionHint;
86
- };
87
- }
88
-
89
- exports.createPackageVersionProvider = createPackageVersionProvider;
90
- exports.packageVersions = packageVersions;
91
- //# sourceMappingURL=version.cjs.js.map
@@ -1,65 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var cliCommon = require('@backstage/cli-common');
6
-
7
- function includesAnyOf(hayStack, ...needles) {
8
- for (const needle of needles) {
9
- if (hayStack.includes(needle)) {
10
- return true;
11
- }
12
- }
13
- return false;
14
- }
15
- var test = async (_opts, cmd) => {
16
- let parent = cmd;
17
- while (parent.parent) {
18
- parent = parent.parent;
19
- }
20
- const allArgs = parent.args;
21
- const args = allArgs.slice(allArgs.indexOf("test") + 1);
22
- if (!includesAnyOf(args, "-c", "--config")) {
23
- args.push("--config", cliCommon.findOwnPaths(__dirname).resolve("config/jest.js"));
24
- }
25
- if (!includesAnyOf(args, "--no-passWithNoTests", "--passWithNoTests=false")) {
26
- args.push("--passWithNoTests");
27
- }
28
- if (!process.env.CI && !args.includes("--coverage") && // explicitly no watching
29
- !includesAnyOf(args, "--no-watch", "--watch=false", "--watchAll=false") && // already watching
30
- !includesAnyOf(args, "--watch", "--watchAll")) {
31
- const isGitRepo = () => cliCommon.runCheck(["git", "rev-parse", "--is-inside-work-tree"]);
32
- const isMercurialRepo = () => cliCommon.runCheck(["hg", "--cwd", ".", "root"]);
33
- if (await isGitRepo() || await isMercurialRepo()) {
34
- args.push("--watch");
35
- } else {
36
- args.push("--watchAll");
37
- }
38
- }
39
- if (!process.env.NODE_ENV) {
40
- process.env.NODE_ENV = "test";
41
- }
42
- if (!process.env.TZ) {
43
- process.env.TZ = "UTC";
44
- }
45
- if (!process.env.NODE_OPTIONS?.includes("--node-snapshot")) {
46
- process.env.NODE_OPTIONS = `${process.env.NODE_OPTIONS ? `${process.env.NODE_OPTIONS} ` : ""}--no-node-snapshot`;
47
- }
48
- try {
49
- require.resolve("jest");
50
- } catch {
51
- console.error(
52
- [
53
- "No Jest installation found in this project.",
54
- "",
55
- "To support opt-in migration to Jest v30, the Backstage CLI now expects Jest to be installed as a devDependency.",
56
- "See the migration guide in the changelog for version options and their consequences."
57
- ].join("\n")
58
- );
59
- process.exit(1);
60
- }
61
- await require("jest").run(args);
62
- };
63
-
64
- exports.default = test;
65
- //# sourceMappingURL=test.cjs.js.map
@@ -1,288 +0,0 @@
1
- 'use strict';
2
-
3
- var os = require('node:os');
4
- var crypto = require('node:crypto');
5
- var yargs = require('yargs');
6
- var jestCli = require('jest-cli');
7
- var path = require('node:path');
8
- var cliNode = require('@backstage/cli-node');
9
- var cliCommon = require('@backstage/cli-common');
10
-
11
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
12
-
13
- var os__default = /*#__PURE__*/_interopDefaultCompat(os);
14
- var crypto__default = /*#__PURE__*/_interopDefaultCompat(crypto);
15
- var yargs__default = /*#__PURE__*/_interopDefaultCompat(yargs);
16
-
17
- async function readPackageTreeHashes(graph) {
18
- const pkgs = Array.from(graph.values()).map((pkg) => ({
19
- ...pkg,
20
- path: path.relative(cliCommon.targetPaths.rootDir, pkg.dir)
21
- }));
22
- const output = await cliCommon.runOutput([
23
- "git",
24
- "ls-tree",
25
- "--format=%(objectname)=%(path)",
26
- "HEAD",
27
- "--",
28
- ...pkgs.map((pkg) => pkg.path)
29
- ]);
30
- const map = new Map(
31
- output.trim().split(/\r?\n/).map((line) => {
32
- const [itemSha, ...itemPathParts] = line.split("=");
33
- const itemPath = itemPathParts.join("=");
34
- const pkg = pkgs.find((p) => p.path === itemPath);
35
- if (!pkg) {
36
- throw new Error(
37
- `Unexpectedly missing tree sha entry for path ${itemPath}`
38
- );
39
- }
40
- return [pkg.packageJson.name, itemSha];
41
- })
42
- );
43
- return (pkgName) => {
44
- const sha = map.get(pkgName);
45
- if (!sha) {
46
- throw new Error(`Tree sha not found for ${pkgName}`);
47
- }
48
- return sha;
49
- };
50
- }
51
- function createFlagFinder(args) {
52
- const flags = /* @__PURE__ */ new Set();
53
- for (const arg of args) {
54
- if (arg.startsWith("--no-")) {
55
- flags.add(`--${arg.slice("--no-".length)}`);
56
- } else if (arg.startsWith("--")) {
57
- flags.add(arg.split("=")[0]);
58
- } else if (arg.startsWith("-")) {
59
- const shortFlags = arg.slice(1).split("");
60
- for (const shortFlag of shortFlags) {
61
- flags.add(`-${shortFlag}`);
62
- }
63
- }
64
- }
65
- return (...findFlags) => {
66
- for (const flag of findFlags) {
67
- if (flags.has(flag)) {
68
- return true;
69
- }
70
- }
71
- return false;
72
- };
73
- }
74
- function removeOptionArg(args, option, size = 2) {
75
- let changed = false;
76
- do {
77
- changed = false;
78
- const index = args.indexOf(option);
79
- if (index >= 0) {
80
- changed = true;
81
- args.splice(index, size);
82
- }
83
- const indexEq = args.findIndex((arg) => arg.startsWith(`${option}=`));
84
- if (indexEq >= 0) {
85
- changed = true;
86
- args.splice(indexEq, 1);
87
- }
88
- } while (changed);
89
- }
90
- async function command(opts, cmd) {
91
- const testGlobal = global;
92
- let parent = cmd;
93
- while (parent.parent) {
94
- parent = parent.parent;
95
- }
96
- const allArgs = parent.args;
97
- const args = allArgs.slice(allArgs.indexOf("test") + 1);
98
- const hasFlags = createFlagFinder(args);
99
- const { _: parsedArgs } = await yargs__default.default(args).options(jestCli.yargsOptions).argv;
100
- if (!hasFlags("-c", "--config")) {
101
- args.push("--config", cliCommon.findOwnPaths(__dirname).resolve("config/jest.js"));
102
- }
103
- if (!hasFlags("--passWithNoTests")) {
104
- args.push("--passWithNoTests");
105
- }
106
- let isSingleWatchMode = args.includes("--watch");
107
- if (!opts.since && !process.env.CI && !hasFlags("--coverage", "--watch", "--watchAll")) {
108
- const isGitRepo = () => cliCommon.runCheck(["git", "rev-parse", "--is-inside-work-tree"]);
109
- const isMercurialRepo = () => cliCommon.runCheck(["hg", "--cwd", ".", "root"]);
110
- if (await isGitRepo() || await isMercurialRepo()) {
111
- isSingleWatchMode = true;
112
- args.push("--watch");
113
- } else {
114
- args.push("--watchAll");
115
- }
116
- }
117
- if (isSingleWatchMode && parsedArgs.length > 0) {
118
- testGlobal.__backstageCli_watchProjectFilter = {
119
- async filter(projectConfigs) {
120
- const selectedProjects2 = [];
121
- const usedArgs = /* @__PURE__ */ new Set();
122
- for (const project of projectConfigs) {
123
- for (const arg of parsedArgs) {
124
- if (cliCommon.isChildPath(project.rootDir, String(arg))) {
125
- selectedProjects2.push(project);
126
- usedArgs.add(arg);
127
- }
128
- }
129
- }
130
- if (usedArgs.size !== parsedArgs.length) {
131
- return projectConfigs;
132
- }
133
- return selectedProjects2;
134
- }
135
- };
136
- }
137
- if (!hasFlags("--workerIdleMemoryLimit")) {
138
- args.push("--workerIdleMemoryLimit=1000M");
139
- }
140
- if (os__default.default.cpus().length <= 3 && !hasFlags("-i", "--runInBand", "-w", "--maxWorkers")) {
141
- args.push("--maxWorkers=2");
142
- }
143
- if (opts.since) {
144
- removeOptionArg(args, "--since");
145
- }
146
- let packageGraph;
147
- async function getPackageGraph() {
148
- if (packageGraph) {
149
- return packageGraph;
150
- }
151
- const packages = await cliNode.PackageGraph.listTargetPackages();
152
- packageGraph = cliNode.PackageGraph.fromPackages(packages);
153
- return packageGraph;
154
- }
155
- let selectedProjects = void 0;
156
- if (opts.since && !hasFlags("--selectProjects")) {
157
- const graph = await getPackageGraph();
158
- const changedPackages = await graph.listChangedPackages({
159
- ref: opts.since,
160
- analyzeLockfile: true
161
- });
162
- selectedProjects = Array.from(
163
- graph.collectPackageNames(
164
- changedPackages.map((pkg) => pkg.name),
165
- (pkg) => pkg.allLocalDependents.keys()
166
- )
167
- );
168
- if (selectedProjects.length === 0) {
169
- console.log(`No packages changed since ${opts.since}`);
170
- return;
171
- }
172
- args.push("--selectProjects", ...selectedProjects);
173
- }
174
- if (!process.env.NODE_ENV) {
175
- process.env.NODE_ENV = "test";
176
- }
177
- if (!process.env.TZ) {
178
- process.env.TZ = "UTC";
179
- }
180
- if (!process.env.NODE_OPTIONS?.includes("--node-snapshot")) {
181
- process.env.NODE_OPTIONS = `${process.env.NODE_OPTIONS ? `${process.env.NODE_OPTIONS} ` : ""}--no-node-snapshot`;
182
- }
183
- if (args.includes("--jest-help")) {
184
- removeOptionArg(args, "--jest-help");
185
- args.push("--help");
186
- }
187
- if (opts.successCache) {
188
- removeOptionArg(args, "--successCache", 1);
189
- removeOptionArg(args, "--successCacheDir");
190
- if (parsedArgs.length > 0) {
191
- throw new Error(
192
- `The --successCache flag can not be combined with the following arguments: ${parsedArgs.join(
193
- ", "
194
- )}`
195
- );
196
- }
197
- if (args.includes("--shard")) {
198
- throw new Error(
199
- `The --successCache flag can not be combined with the --shard flag`
200
- );
201
- }
202
- const cache = cliNode.SuccessCache.create({
203
- name: "test",
204
- basePath: opts.successCacheDir
205
- });
206
- const graph = await getPackageGraph();
207
- const projectHashes = /* @__PURE__ */ new Map();
208
- const outputSuccessCache = new Array();
209
- testGlobal.__backstageCli_jestSuccessCache = {
210
- // This is called by `config/jest.js` after the project configs have been gathered
211
- async filterConfigs(projectConfigs, globalRootConfig) {
212
- const cacheEntries = await cache.read();
213
- const lockfile = await cliNode.Lockfile.load(
214
- cliCommon.targetPaths.resolveRoot("yarn.lock")
215
- );
216
- const getPackageTreeHash = await readPackageTreeHashes(graph);
217
- const baseHash = crypto__default.default.createHash("sha1");
218
- baseHash.update("v1");
219
- baseHash.update("\0");
220
- baseHash.update(process.version);
221
- baseHash.update("\0");
222
- baseHash.update(
223
- cliNode.SuccessCache.trimPaths(JSON.stringify(globalRootConfig))
224
- );
225
- const baseSha = baseHash.digest("hex");
226
- return projectConfigs.filter((project) => {
227
- const packageName = project.displayName;
228
- const pkg = graph.get(packageName);
229
- if (!pkg) {
230
- throw new Error(
231
- `Package ${packageName} not found in package graph`
232
- );
233
- }
234
- const hash = crypto__default.default.createHash("sha1");
235
- hash.update(baseSha);
236
- const packageTreeSha = getPackageTreeHash(packageName);
237
- hash.update(packageTreeSha);
238
- for (const [depName, depPkg] of pkg.allLocalDependencies) {
239
- const depHash = getPackageTreeHash(depPkg.name);
240
- hash.update(`${depName}:${depHash}`);
241
- }
242
- hash.update(cliNode.SuccessCache.trimPaths(JSON.stringify(project)));
243
- hash.update(lockfile.getDependencyTreeHash(packageName));
244
- const sha = hash.digest("hex");
245
- projectHashes.set(packageName, sha);
246
- if (cacheEntries.has(sha)) {
247
- if (!selectedProjects || selectedProjects.includes(packageName)) {
248
- console.log(`Skipped ${packageName} due to cache hit`);
249
- }
250
- outputSuccessCache.push(sha);
251
- return void 0;
252
- }
253
- return project;
254
- });
255
- },
256
- // This is called by `config/jestCacheResultProcess.cjs` after all tests have run
257
- async reportResults(results) {
258
- const successful = /* @__PURE__ */ new Set();
259
- const failed = /* @__PURE__ */ new Set();
260
- for (const testResult of results.testResults) {
261
- for (const [pkgName, pkg] of graph) {
262
- if (cliCommon.isChildPath(pkg.dir, testResult.testFilePath)) {
263
- if (testResult.testExecError || testResult.failureMessage || testResult.numFailingTests > 0) {
264
- failed.add(pkgName);
265
- successful.delete(pkgName);
266
- } else if (!failed.has(pkgName)) {
267
- successful.add(pkgName);
268
- }
269
- break;
270
- }
271
- }
272
- }
273
- for (const pkgName of successful) {
274
- const sha = projectHashes.get(pkgName);
275
- if (sha) {
276
- outputSuccessCache.push(sha);
277
- }
278
- }
279
- await cache.write(outputSuccessCache);
280
- }
281
- };
282
- }
283
- await jestCli.run(args);
284
- }
285
-
286
- exports.command = command;
287
- exports.createFlagFinder = createFlagFinder;
288
- //# sourceMappingURL=test.cjs.js.map
@@ -1,54 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var factory = require('../../wiring/factory.cjs.js');
6
- var commander = require('commander');
7
- var lazy = require('../../wiring/lazy.cjs.js');
8
-
9
- var index = factory.createCliPlugin({
10
- pluginId: "test",
11
- init: async (reg) => {
12
- reg.addCommand({
13
- path: ["repo", "test"],
14
- description: "Run tests, forwarding args to Jest, defaulting to watch mode",
15
- execute: async ({ args }) => {
16
- const command = new commander.Command();
17
- command.allowUnknownOption(true);
18
- command.allowExcessArguments(true);
19
- command.option(
20
- "--since <ref>",
21
- "Only test packages that changed since the specified ref"
22
- );
23
- command.option("--successCache", "Enable success caching");
24
- command.option(
25
- "--successCacheDir <path>",
26
- "Set the success cache location, (default: node_modules/.cache/backstage-cli)"
27
- );
28
- command.option(
29
- "--jest-help",
30
- "Show help for Jest CLI options, which are passed through"
31
- );
32
- command.action(lazy.lazy(() => import('./commands/repo/test.cjs.js'), "command"));
33
- await command.parseAsync(args, { from: "user" });
34
- }
35
- });
36
- reg.addCommand({
37
- path: ["package", "test"],
38
- description: "Run tests, forwarding args to Jest, defaulting to watch mode",
39
- execute: async ({ args }) => {
40
- const command = new commander.Command();
41
- command.allowUnknownOption(true);
42
- command.allowExcessArguments(true);
43
- command.helpOption("--backstage-cli-help");
44
- command.action(
45
- lazy.lazy(() => import('./commands/package/test.cjs.js'), "default")
46
- );
47
- await command.parseAsync(args, { from: "user" });
48
- }
49
- });
50
- }
51
- });
52
-
53
- exports.default = index;
54
- //# sourceMappingURL=index.cjs.js.map