@backstage/cli 0.36.0-next.2 → 0.36.1-next.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 (276) hide show
  1. package/CHANGELOG.md +108 -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 -11
  20. package/dist/wiring/CliInitializer.cjs.js +61 -30
  21. package/dist/wiring/CommandGraph.cjs.js +81 -23
  22. package/dist/wiring/discoverCliModules.cjs.js +44 -0
  23. package/package.json +23 -156
  24. package/dist/modules/auth/commands/list.cjs.js +0 -23
  25. package/dist/modules/auth/commands/login.cjs.js +0 -316
  26. package/dist/modules/auth/commands/logout.cjs.js +0 -55
  27. package/dist/modules/auth/commands/printToken.cjs.js +0 -41
  28. package/dist/modules/auth/commands/select.cjs.js +0 -32
  29. package/dist/modules/auth/commands/show.cjs.js +0 -59
  30. package/dist/modules/auth/index.cjs.js +0 -44
  31. package/dist/modules/auth/lib/auth.cjs.js +0 -60
  32. package/dist/modules/auth/lib/http.cjs.js +0 -26
  33. package/dist/modules/auth/lib/localServer.cjs.js +0 -80
  34. package/dist/modules/auth/lib/pkce.cjs.js +0 -23
  35. package/dist/modules/auth/lib/prompt.cjs.js +0 -44
  36. package/dist/modules/auth/lib/secretStore.cjs.js +0 -81
  37. package/dist/modules/auth/lib/storage.cjs.js +0 -152
  38. package/dist/modules/build/commands/buildWorkspace.cjs.js +0 -53
  39. package/dist/modules/build/commands/package/build/command.cjs.js +0 -136
  40. package/dist/modules/build/commands/package/build/index.cjs.js +0 -10
  41. package/dist/modules/build/commands/package/clean.cjs.js +0 -21
  42. package/dist/modules/build/commands/package/postpack.cjs.js +0 -15
  43. package/dist/modules/build/commands/package/prepack.cjs.js +0 -29
  44. package/dist/modules/build/commands/package/start/command.cjs.js +0 -80
  45. package/dist/modules/build/commands/package/start/index.cjs.js +0 -10
  46. package/dist/modules/build/commands/package/start/resolveLinkedWorkspace.cjs.js +0 -34
  47. package/dist/modules/build/commands/package/start/startBackend.cjs.js +0 -46
  48. package/dist/modules/build/commands/package/start/startFrontend.cjs.js +0 -50
  49. package/dist/modules/build/commands/package/start/startPackage.cjs.js +0 -53
  50. package/dist/modules/build/commands/repo/build.cjs.js +0 -149
  51. package/dist/modules/build/commands/repo/clean.cjs.js +0 -41
  52. package/dist/modules/build/commands/repo/start.cjs.js +0 -199
  53. package/dist/modules/build/index.cjs.js +0 -68
  54. package/dist/modules/build/lib/buildBackend.cjs.js +0 -81
  55. package/dist/modules/build/lib/buildFrontend.cjs.js +0 -50
  56. package/dist/modules/build/lib/builder/config.cjs.js +0 -257
  57. package/dist/modules/build/lib/builder/packager.cjs.js +0 -131
  58. package/dist/modules/build/lib/builder/plugins.cjs.js +0 -125
  59. package/dist/modules/build/lib/builder/types.cjs.js +0 -10
  60. package/dist/modules/build/lib/bundler/ConfigInjectingHtmlWebpackPlugin.cjs.js +0 -43
  61. package/dist/modules/build/lib/bundler/bundle.cjs.js +0 -189
  62. package/dist/modules/build/lib/bundler/config.cjs.js +0 -308
  63. package/dist/modules/build/lib/bundler/hasReactDomClient.cjs.js +0 -17
  64. package/dist/modules/build/lib/bundler/linkWorkspaces.cjs.js +0 -34
  65. package/dist/modules/build/lib/bundler/moduleFederation.cjs.js +0 -135
  66. package/dist/modules/build/lib/bundler/optimization.cjs.js +0 -68
  67. package/dist/modules/build/lib/bundler/packageDetection.cjs.js +0 -124
  68. package/dist/modules/build/lib/bundler/paths.cjs.js +0 -62
  69. package/dist/modules/build/lib/bundler/server.cjs.js +0 -231
  70. package/dist/modules/build/lib/bundler/transforms.cjs.js +0 -145
  71. package/dist/modules/build/lib/config.cjs.js +0 -94
  72. package/dist/modules/build/lib/entryPoints.cjs.js +0 -49
  73. package/dist/modules/build/lib/ipc/IpcServer.cjs.js +0 -60
  74. package/dist/modules/build/lib/ipc/ServerDataStore.cjs.js +0 -36
  75. package/dist/modules/build/lib/optionsParser.cjs.js +0 -22
  76. package/dist/modules/build/lib/packager/createDistWorkspace.cjs.js +0 -235
  77. package/dist/modules/build/lib/packager/productionPack.cjs.js +0 -160
  78. package/dist/modules/build/lib/publishing.cjs.js +0 -40
  79. package/dist/modules/build/lib/role.cjs.js +0 -24
  80. package/dist/modules/build/lib/runner/runBackend.cjs.js +0 -136
  81. package/dist/modules/build/lib/typeDistProject.cjs.js +0 -89
  82. package/dist/modules/build/lib/urls.cjs.js +0 -13
  83. package/dist/modules/config/commands/docs.cjs.js +0 -63
  84. package/dist/modules/config/commands/print.cjs.js +0 -81
  85. package/dist/modules/config/commands/schema.cjs.js +0 -56
  86. package/dist/modules/config/commands/validate.cjs.js +0 -50
  87. package/dist/modules/config/index.cjs.js +0 -51
  88. package/dist/modules/config/lib/config.cjs.js +0 -94
  89. package/dist/modules/create-github-app/commands/create-github-app/GithubCreateAppServer.cjs.js +0 -127
  90. package/dist/modules/create-github-app/commands/create-github-app/index.cjs.js +0 -126
  91. package/dist/modules/create-github-app/index.cjs.js +0 -19
  92. package/dist/modules/info/commands/info.cjs.js +0 -182
  93. package/dist/modules/info/index.cjs.js +0 -19
  94. package/dist/modules/lint/commands/package/lint.cjs.js +0 -78
  95. package/dist/modules/lint/commands/repo/lint.cjs.js +0 -282
  96. package/dist/modules/lint/index.cjs.js +0 -24
  97. package/dist/modules/lint/lib/optionsParser.cjs.js +0 -22
  98. package/dist/modules/maintenance/commands/repo/fix.cjs.js +0 -426
  99. package/dist/modules/maintenance/commands/repo/list-deprecations.cjs.js +0 -90
  100. package/dist/modules/maintenance/index.cjs.js +0 -24
  101. package/dist/modules/migrate/commands/packageExports.cjs.js +0 -15
  102. package/dist/modules/migrate/commands/packageLintConfigs.cjs.js +0 -77
  103. package/dist/modules/migrate/commands/packageRole.cjs.js +0 -57
  104. package/dist/modules/migrate/commands/packageScripts.cjs.js +0 -87
  105. package/dist/modules/migrate/commands/reactRouterDeps.cjs.js +0 -51
  106. package/dist/modules/migrate/commands/versions/bump.cjs.js +0 -403
  107. package/dist/modules/migrate/commands/versions/migrate.cjs.js +0 -133
  108. package/dist/modules/migrate/index.cjs.js +0 -59
  109. package/dist/modules/migrate/lib/utils.cjs.js +0 -44
  110. package/dist/modules/migrate/lib/versioning/packages.cjs.js +0 -71
  111. package/dist/modules/migrate/lib/versioning/yarn.cjs.js +0 -28
  112. package/dist/modules/new/commands/new.cjs.js +0 -115
  113. package/dist/modules/new/index.cjs.js +0 -40
  114. package/dist/modules/new/lib/codeowners/codeowners.cjs.js +0 -92
  115. package/dist/modules/new/lib/createNewPackage.cjs.js +0 -32
  116. package/dist/modules/new/lib/defaultTemplates.cjs.js +0 -17
  117. package/dist/modules/new/lib/execution/PortableTemplater.cjs.js +0 -89
  118. package/dist/modules/new/lib/execution/executePortableTemplate.cjs.js +0 -66
  119. package/dist/modules/new/lib/execution/installNewPackage.cjs.js +0 -127
  120. package/dist/modules/new/lib/execution/writeTemplateContents.cjs.js +0 -116
  121. package/dist/modules/new/lib/preparation/collectPortableTemplateInput.cjs.js +0 -157
  122. package/dist/modules/new/lib/preparation/loadPortableTemplate.cjs.js +0 -81
  123. package/dist/modules/new/lib/preparation/loadPortableTemplateConfig.cjs.js +0 -132
  124. package/dist/modules/new/lib/preparation/resolvePackageParams.cjs.js +0 -40
  125. package/dist/modules/new/lib/preparation/selectTemplateInteractively.cjs.js +0 -38
  126. package/dist/modules/new/lib/tasks.cjs.js +0 -51
  127. package/dist/modules/new/lib/types.cjs.js +0 -19
  128. package/dist/modules/new/lib/version.cjs.js +0 -91
  129. package/dist/modules/test/commands/package/test.cjs.js +0 -59
  130. package/dist/modules/test/commands/repo/test.cjs.js +0 -299
  131. package/dist/modules/test/index.cjs.js +0 -24
  132. package/dist/modules/translations/commands/export.cjs.js +0 -128
  133. package/dist/modules/translations/commands/import.cjs.js +0 -165
  134. package/dist/modules/translations/index.cjs.js +0 -24
  135. package/dist/modules/translations/lib/discoverPackages.cjs.js +0 -121
  136. package/dist/modules/translations/lib/extractTranslations.cjs.js +0 -71
  137. package/dist/modules/translations/lib/messageFilePath.cjs.js +0 -43
  138. package/dist/packages/backend-defaults/package.json.cjs.js +0 -6
  139. package/dist/packages/backend-plugin-api/package.json.cjs.js +0 -6
  140. package/dist/packages/backend-test-utils/package.json.cjs.js +0 -6
  141. package/dist/packages/catalog-client/package.json.cjs.js +0 -6
  142. package/dist/packages/cli/package.json.cjs.js +0 -159
  143. package/dist/packages/config/package.json.cjs.js +0 -6
  144. package/dist/packages/core-app-api/package.json.cjs.js +0 -6
  145. package/dist/packages/core-components/package.json.cjs.js +0 -6
  146. package/dist/packages/core-plugin-api/package.json.cjs.js +0 -6
  147. package/dist/packages/dev-utils/package.json.cjs.js +0 -6
  148. package/dist/packages/errors/package.json.cjs.js +0 -6
  149. package/dist/packages/frontend-defaults/package.json.cjs.js +0 -6
  150. package/dist/packages/frontend-plugin-api/package.json.cjs.js +0 -6
  151. package/dist/packages/frontend-plugin-api/src/routing/describeParentCallSite.cjs.js +0 -26
  152. package/dist/packages/frontend-test-utils/package.json.cjs.js +0 -6
  153. package/dist/packages/test-utils/package.json.cjs.js +0 -6
  154. package/dist/packages/theme/package.json.cjs.js +0 -6
  155. package/dist/packages/types/package.json.cjs.js +0 -6
  156. package/dist/plugins/auth-backend/package.json.cjs.js +0 -6
  157. package/dist/plugins/auth-backend-module-guest-provider/package.json.cjs.js +0 -6
  158. package/dist/plugins/catalog-node/package.json.cjs.js +0 -6
  159. package/dist/plugins/scaffolder-node/package.json.cjs.js +0 -6
  160. package/dist/plugins/scaffolder-node-test-utils/package.json.cjs.js +0 -6
  161. package/dist/wiring/CommandRegistry.cjs.js +0 -14
  162. package/dist/wiring/factory.cjs.js +0 -15
  163. package/dist/wiring/types.cjs.js +0 -11
  164. package/templates/backend-plugin/.eslintrc.js.hbs +0 -1
  165. package/templates/backend-plugin/README.md.hbs +0 -28
  166. package/templates/backend-plugin/dev/index.ts.hbs +0 -60
  167. package/templates/backend-plugin/package.json.hbs +0 -44
  168. package/templates/backend-plugin/portable-template.yaml +0 -5
  169. package/templates/backend-plugin/src/index.ts.hbs +0 -1
  170. package/templates/backend-plugin/src/plugin.test.ts.hbs +0 -129
  171. package/templates/backend-plugin/src/plugin.ts.hbs +0 -32
  172. package/templates/backend-plugin/src/router.test.ts +0 -67
  173. package/templates/backend-plugin/src/router.ts +0 -51
  174. package/templates/backend-plugin/src/services/TodoListService.ts +0 -155
  175. package/templates/backend-plugin/src/setupTests.ts +0 -1
  176. package/templates/backend-plugin-module/.eslintrc.js.hbs +0 -1
  177. package/templates/backend-plugin-module/README.md.hbs +0 -5
  178. package/templates/backend-plugin-module/package.json.hbs +0 -34
  179. package/templates/backend-plugin-module/portable-template.yaml +0 -5
  180. package/templates/backend-plugin-module/src/index.ts.hbs +0 -8
  181. package/templates/backend-plugin-module/src/module.ts.hbs +0 -17
  182. package/templates/catalog-provider-module/.eslintrc.js.hbs +0 -1
  183. package/templates/catalog-provider-module/README.md.hbs +0 -5
  184. package/templates/catalog-provider-module/config.d.ts.hbs +0 -34
  185. package/templates/catalog-provider-module/package.json.hbs +0 -36
  186. package/templates/catalog-provider-module/portable-template.yaml +0 -9
  187. package/templates/catalog-provider-module/src/index.ts.hbs +0 -8
  188. package/templates/catalog-provider-module/src/module.ts.hbs +0 -29
  189. package/templates/catalog-provider-module/src/provider/readProviderConfigs.ts.hbs +0 -78
  190. package/templates/catalog-provider-module/src/provider/{{providerClass}}.test.ts.hbs +0 -18
  191. package/templates/catalog-provider-module/src/provider/{{providerClass}}.ts.hbs +0 -109
  192. package/templates/frontend-plugin/.eslintrc.js.hbs +0 -1
  193. package/templates/frontend-plugin/README.md.hbs +0 -13
  194. package/templates/frontend-plugin/dev/index.tsx.hbs +0 -11
  195. package/templates/frontend-plugin/package.json.hbs +0 -54
  196. package/templates/frontend-plugin/portable-template.yaml +0 -6
  197. package/templates/frontend-plugin/src/components/ExampleComponent/ExampleComponent.test.tsx.hbs +0 -28
  198. package/templates/frontend-plugin/src/components/ExampleComponent/ExampleComponent.tsx.hbs +0 -37
  199. package/templates/frontend-plugin/src/components/ExampleComponent/index.ts +0 -1
  200. package/templates/frontend-plugin/src/components/ExampleFetchComponent/ExampleFetchComponent.test.tsx.hbs +0 -19
  201. package/templates/frontend-plugin/src/components/ExampleFetchComponent/ExampleFetchComponent.tsx.hbs +0 -308
  202. package/templates/frontend-plugin/src/components/ExampleFetchComponent/index.ts +0 -1
  203. package/templates/frontend-plugin/src/index.ts.hbs +0 -1
  204. package/templates/frontend-plugin/src/plugin.test.ts.hbs +0 -7
  205. package/templates/frontend-plugin/src/plugin.ts.hbs +0 -22
  206. package/templates/frontend-plugin/src/routes.ts.hbs +0 -5
  207. package/templates/frontend-plugin/src/setupTests.ts +0 -1
  208. package/templates/new-frontend-plugin/.eslintrc.js.hbs +0 -1
  209. package/templates/new-frontend-plugin/README.md.hbs +0 -20
  210. package/templates/new-frontend-plugin/dev/index.tsx +0 -10
  211. package/templates/new-frontend-plugin/package.json.hbs +0 -49
  212. package/templates/new-frontend-plugin/portable-template.yaml +0 -5
  213. package/templates/new-frontend-plugin/src/components/ExampleComponent/ExampleComponent.test.tsx.hbs +0 -28
  214. package/templates/new-frontend-plugin/src/components/ExampleComponent/ExampleComponent.tsx.hbs +0 -37
  215. package/templates/new-frontend-plugin/src/components/ExampleComponent/index.ts +0 -1
  216. package/templates/new-frontend-plugin/src/components/ExampleFetchComponent/ExampleFetchComponent.test.tsx.hbs +0 -19
  217. package/templates/new-frontend-plugin/src/components/ExampleFetchComponent/ExampleFetchComponent.tsx.hbs +0 -308
  218. package/templates/new-frontend-plugin/src/components/ExampleFetchComponent/index.ts +0 -1
  219. package/templates/new-frontend-plugin/src/index.ts.hbs +0 -1
  220. package/templates/new-frontend-plugin/src/plugin.test.ts.hbs +0 -7
  221. package/templates/new-frontend-plugin/src/plugin.tsx.hbs +0 -25
  222. package/templates/new-frontend-plugin/src/routes.ts +0 -3
  223. package/templates/new-frontend-plugin/src/setupTests.ts +0 -1
  224. package/templates/new-frontend-plugin-module/.eslintrc.js.hbs +0 -1
  225. package/templates/new-frontend-plugin-module/README.md.hbs +0 -5
  226. package/templates/new-frontend-plugin-module/package.json.hbs +0 -35
  227. package/templates/new-frontend-plugin-module/portable-template.yaml +0 -5
  228. package/templates/new-frontend-plugin-module/src/index.ts.hbs +0 -1
  229. package/templates/new-frontend-plugin-module/src/module.tsx.hbs +0 -8
  230. package/templates/new-frontend-plugin-module/src/setupTests.ts +0 -1
  231. package/templates/node-library/.eslintrc.js.hbs +0 -1
  232. package/templates/node-library/README.md.hbs +0 -12
  233. package/templates/node-library/package.json.hbs +0 -29
  234. package/templates/node-library/portable-template.yaml +0 -3
  235. package/templates/node-library/src/index.ts.hbs +0 -1
  236. package/templates/node-library/src/setupTests.ts +0 -1
  237. package/templates/plugin-common-library/.eslintrc.js.hbs +0 -1
  238. package/templates/plugin-common-library/README.md.hbs +0 -5
  239. package/templates/plugin-common-library/package.json.hbs +0 -31
  240. package/templates/plugin-common-library/portable-template.yaml +0 -3
  241. package/templates/plugin-common-library/src/index.ts.hbs +0 -19
  242. package/templates/plugin-common-library/src/setupTests.ts +0 -1
  243. package/templates/plugin-node-library/.eslintrc.js.hbs +0 -1
  244. package/templates/plugin-node-library/README.md.hbs +0 -5
  245. package/templates/plugin-node-library/package.json.hbs +0 -30
  246. package/templates/plugin-node-library/portable-template.yaml +0 -3
  247. package/templates/plugin-node-library/src/index.ts.hbs +0 -18
  248. package/templates/plugin-node-library/src/setupTests.ts +0 -1
  249. package/templates/plugin-web-library/.eslintrc.js.hbs +0 -1
  250. package/templates/plugin-web-library/README.md.hbs +0 -5
  251. package/templates/plugin-web-library/package.json.hbs +0 -42
  252. package/templates/plugin-web-library/portable-template.yaml +0 -3
  253. package/templates/plugin-web-library/src/components/ExampleComponent/ExampleComponent.test.tsx +0 -17
  254. package/templates/plugin-web-library/src/components/ExampleComponent/ExampleComponent.tsx +0 -28
  255. package/templates/plugin-web-library/src/components/ExampleComponent/index.ts +0 -2
  256. package/templates/plugin-web-library/src/components/index.ts +0 -5
  257. package/templates/plugin-web-library/src/hooks/index.ts +0 -5
  258. package/templates/plugin-web-library/src/hooks/useExample/index.ts +0 -1
  259. package/templates/plugin-web-library/src/hooks/useExample/useExample.ts +0 -15
  260. package/templates/plugin-web-library/src/index.ts.hbs +0 -12
  261. package/templates/plugin-web-library/src/setupTests.ts +0 -1
  262. package/templates/scaffolder-backend-module/.eslintrc.js.hbs +0 -1
  263. package/templates/scaffolder-backend-module/README.md.hbs +0 -5
  264. package/templates/scaffolder-backend-module/package.json.hbs +0 -36
  265. package/templates/scaffolder-backend-module/portable-template.yaml +0 -6
  266. package/templates/scaffolder-backend-module/src/actions/example.test.ts +0 -24
  267. package/templates/scaffolder-backend-module/src/actions/example.ts +0 -39
  268. package/templates/scaffolder-backend-module/src/index.ts.hbs +0 -8
  269. package/templates/scaffolder-backend-module/src/module.ts +0 -21
  270. package/templates/web-library/.eslintrc.js.hbs +0 -1
  271. package/templates/web-library/README.md.hbs +0 -12
  272. package/templates/web-library/package.json.hbs +0 -30
  273. package/templates/web-library/portable-template.yaml +0 -3
  274. package/templates/web-library/src/index.ts.hbs +0 -1
  275. package/templates/web-library/src/setupTests.ts +0 -1
  276. /package/dist/{packages/opaque-internal → opaque-internal}/src/OpaqueType.cjs.js +0 -0
@@ -1,160 +0,0 @@
1
- 'use strict';
2
-
3
- var fs = require('fs-extra');
4
- var npmPackList = require('npm-packlist');
5
- var path = require('node:path');
6
- var entryPoints = require('../entryPoints.cjs.js');
7
- var typeDistProject = require('../typeDistProject.cjs.js');
8
-
9
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
10
-
11
- var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
12
- var npmPackList__default = /*#__PURE__*/_interopDefaultCompat(npmPackList);
13
-
14
- const PKG_PATH = "package.json";
15
- const PKG_BACKUP_PATH = "package.json-prepack";
16
- const SKIPPED_KEYS = ["access", "registry", "tag"];
17
- const SCRIPT_EXTS = [".js", ".jsx", ".ts", ".tsx"];
18
- async function productionPack(options) {
19
- const { packageDir, targetDir } = options;
20
- const pkgPath = path.resolve(packageDir, PKG_PATH);
21
- const pkgContent = await fs__default.default.readFile(pkgPath, "utf8");
22
- const pkg = JSON.parse(pkgContent);
23
- if (!targetDir) {
24
- await fs__default.default.writeFile(PKG_BACKUP_PATH, pkgContent);
25
- }
26
- await rewriteEntryPoints(pkg, packageDir, options.featureDetectionProject);
27
- const publishConfig = pkg.publishConfig ?? {};
28
- for (const key of Object.keys(publishConfig)) {
29
- if (!SKIPPED_KEYS.includes(key)) {
30
- pkg[key] = publishConfig[key];
31
- }
32
- }
33
- if (pkg.bundled) {
34
- delete pkg.dependencies;
35
- delete pkg.devDependencies;
36
- delete pkg.peerDependencies;
37
- delete pkg.optionalDependencies;
38
- }
39
- if (targetDir) {
40
- const filePaths = await npmPackList__default.default({
41
- path: packageDir,
42
- // This makes sure we use the updated package.json when listing files
43
- packageJsonCache: /* @__PURE__ */ new Map([
44
- [path.resolve(packageDir, PKG_PATH), pkg]
45
- ])
46
- // Seems like this parameter type is wrong,
47
- });
48
- await fs__default.default.ensureDir(targetDir);
49
- for (const filePath of filePaths.sort()) {
50
- const target = path.resolve(targetDir, filePath);
51
- if (filePath === PKG_PATH) {
52
- await fs__default.default.writeJson(target, pkg, { encoding: "utf8", spaces: 2 });
53
- } else {
54
- await fs__default.default.copy(path.resolve(packageDir, filePath), target);
55
- }
56
- }
57
- } else {
58
- await fs__default.default.writeJson(pkgPath, pkg, { encoding: "utf8", spaces: 2 });
59
- }
60
- }
61
- async function revertProductionPack(packageDir) {
62
- try {
63
- await fs__default.default.move(PKG_BACKUP_PATH, PKG_PATH, { overwrite: true });
64
- const pkg = await fs__default.default.readJson(PKG_PATH);
65
- const entryPoints$1 = entryPoints.readEntryPoints(pkg);
66
- for (const entryPoint of entryPoints$1) {
67
- if (entryPoint.mount !== "." && SCRIPT_EXTS.includes(entryPoint.ext)) {
68
- await fs__default.default.remove(path.resolve(packageDir, entryPoint.name));
69
- }
70
- }
71
- } catch (error) {
72
- console.warn(
73
- `Failed to restore package.json, ${error}. Your package will be fine but you may have ended up with some garbage in the repo.`
74
- );
75
- }
76
- }
77
- const EXPORT_MAP = {
78
- import: ".esm.js",
79
- require: ".cjs.js",
80
- types: ".d.ts"
81
- };
82
- async function rewriteEntryPoints(pkg, packageDir, featureDetectionProject) {
83
- const distPath = path.resolve(packageDir, "dist");
84
- if (!await fs__default.default.pathExists(distPath)) {
85
- return void 0;
86
- }
87
- const distFiles = await fs__default.default.readdir(distPath);
88
- const outputExports = {};
89
- const entryPoints$1 = entryPoints.readEntryPoints(pkg);
90
- if (pkg.typesVersions) {
91
- pkg.typesVersions = void 0;
92
- }
93
- for (const entryPoint of entryPoints$1) {
94
- if (!SCRIPT_EXTS.includes(entryPoint.ext)) {
95
- outputExports[entryPoint.mount] = entryPoint.path.replace(
96
- /^(\.\/)?src\//,
97
- "./dist/"
98
- );
99
- continue;
100
- }
101
- let exp = {};
102
- for (const [key, ext] of Object.entries(EXPORT_MAP)) {
103
- const name = `${entryPoint.name}${ext}`;
104
- if (distFiles.includes(name)) {
105
- exp[key] = `./${path.posix.join(`dist`, name)}`;
106
- }
107
- }
108
- if (exp.types) {
109
- if (!pkg.typesVersions) {
110
- pkg.typesVersions = { "*": {} };
111
- }
112
- if (entryPoint.name !== "index") {
113
- pkg.typesVersions["*"][entryPoint.name] = [
114
- `dist/${entryPoint.name}.d.ts`
115
- ];
116
- }
117
- }
118
- exp.default = exp.require ?? exp.import;
119
- if (exp.types && featureDetectionProject) {
120
- const defaultFeatureType = pkg.backstage?.role && typeDistProject.getEntryPointDefaultFeatureType(
121
- pkg.backstage?.role,
122
- packageDir,
123
- featureDetectionProject,
124
- exp.types
125
- );
126
- if (defaultFeatureType) {
127
- exp = { backstage: defaultFeatureType, ...exp };
128
- pkg.backstage = pkg.backstage ?? {};
129
- pkg.backstage.features = pkg.backstage.features ?? {};
130
- pkg.backstage.features[entryPoint.mount] = defaultFeatureType;
131
- }
132
- }
133
- if (entryPoint.mount === ".") {
134
- if (exp.default) {
135
- pkg.main = exp.default;
136
- }
137
- if (exp.import) {
138
- pkg.module = exp.import;
139
- }
140
- if (exp.types) {
141
- pkg.types = exp.types;
142
- }
143
- }
144
- if (Object.keys(exp).length > 0) {
145
- outputExports[entryPoint.mount] = exp;
146
- }
147
- }
148
- if (pkg.typesVersions?.["*"]) {
149
- pkg.typesVersions["*"]["package.json"] = ["package.json"];
150
- }
151
- if (pkg.exports) {
152
- pkg.exports = outputExports;
153
- pkg.exports["./package.json"] = "./package.json";
154
- }
155
- return void 0;
156
- }
157
-
158
- exports.productionPack = productionPack;
159
- exports.revertProductionPack = revertProductionPack;
160
- //# sourceMappingURL=productionPack.cjs.js.map
@@ -1,40 +0,0 @@
1
- 'use strict';
2
-
3
- function publishPreflightCheck(pkg) {
4
- const { name, backstage } = pkg.packageJson;
5
- if (!backstage || !name) {
6
- return;
7
- }
8
- const { role } = backstage;
9
- if (role === "backend-plugin" || role === "backend-plugin-module" || role === "frontend-plugin") {
10
- if (!backstage.pluginId) {
11
- throw new Error(
12
- `Plugin package ${name} is missing a backstage.pluginId, please run 'backstage-cli repo fix --publish'`
13
- );
14
- }
15
- }
16
- if (role === "backend-plugin" || role === "frontend-plugin") {
17
- if (!backstage.pluginPackages) {
18
- throw new Error(
19
- `Plugin package ${name} is missing a backstage.pluginPackages, please run 'backstage-cli repo fix --publish'`
20
- );
21
- }
22
- }
23
- if (backstage.pluginId && (role === "common-library" || role === "node-library" || role === "web-library")) {
24
- if (!backstage.pluginPackages) {
25
- throw new Error(
26
- `Plugin library package ${name} is missing a backstage.pluginPackages, please run 'backstage-cli repo fix --publish'`
27
- );
28
- }
29
- }
30
- if (role === "backend-plugin-module" || role === "frontend-plugin-module") {
31
- if (backstage.pluginId && !backstage.pluginPackage) {
32
- throw new Error(
33
- `Plugin module package ${name} is missing a backstage.pluginPackage, please run 'backstage-cli repo fix --publish'`
34
- );
35
- }
36
- }
37
- }
38
-
39
- exports.publishPreflightCheck = publishPreflightCheck;
40
- //# sourceMappingURL=publishing.cjs.js.map
@@ -1,24 +0,0 @@
1
- 'use strict';
2
-
3
- var fs = require('fs-extra');
4
- var cliCommon = require('@backstage/cli-common');
5
- var cliNode = require('@backstage/cli-node');
6
-
7
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
8
-
9
- var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
10
-
11
- async function findRoleFromCommand(opts) {
12
- if (opts.role) {
13
- return cliNode.PackageRoles.getRoleInfo(opts.role).role;
14
- }
15
- const pkg = await fs__default.default.readJson(cliCommon.targetPaths.resolve("package.json"));
16
- const info = cliNode.PackageRoles.getRoleFromPackage(pkg);
17
- if (!info) {
18
- throw new Error(`Target package must have 'backstage.role' set`);
19
- }
20
- return info;
21
- }
22
-
23
- exports.findRoleFromCommand = findRoleFromCommand;
24
- //# sourceMappingURL=role.cjs.js.map
@@ -1,136 +0,0 @@
1
- 'use strict';
2
-
3
- var chokidar = require('chokidar');
4
- var ctrlcWindows = require('ctrlc-windows');
5
- var IpcServer = require('../ipc/IpcServer.cjs.js');
6
- var ServerDataStore = require('../ipc/ServerDataStore.cjs.js');
7
- var debounce = require('lodash/debounce');
8
- var node_url = require('node:url');
9
- var path = require('node:path');
10
- var cliCommon = require('@backstage/cli-common');
11
- var spawn = require('cross-spawn');
12
-
13
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
14
-
15
- var debounce__default = /*#__PURE__*/_interopDefaultCompat(debounce);
16
- var spawn__default = /*#__PURE__*/_interopDefaultCompat(spawn);
17
-
18
- const loaderArgs = [
19
- "--enable-source-maps",
20
- "--require",
21
- require.resolve("@backstage/cli/config/nodeTransform.cjs")
22
- // TODO: Support modules, although there's currently no way to load them since import() is transpiled tp require()
23
- ];
24
- async function runBackend(options) {
25
- const envEnv = process.env;
26
- if (!envEnv.NODE_ENV) {
27
- envEnv.NODE_ENV = "development";
28
- }
29
- const server = new IpcServer.IpcServer();
30
- ServerDataStore.ServerDataStore.bind(server);
31
- let exiting = false;
32
- let firstStart = true;
33
- let child;
34
- let watcher = void 0;
35
- let shutdownPromise = void 0;
36
- const watchedPaths = /* @__PURE__ */ new Set();
37
- const restart = debounce__default.default(async () => {
38
- if (firstStart) {
39
- firstStart = false;
40
- } else {
41
- console.log();
42
- console.log("Change detected, restarting the development server...");
43
- console.log();
44
- }
45
- if (shutdownPromise) {
46
- return;
47
- }
48
- if (child && !child.killed && child.exitCode === null) {
49
- shutdownPromise = new Promise((resolve) => child.once("exit", resolve));
50
- if (process.platform === "win32" && child.pid) {
51
- ctrlcWindows.ctrlc(child.pid);
52
- } else {
53
- child.kill();
54
- }
55
- await shutdownPromise;
56
- shutdownPromise = void 0;
57
- }
58
- if (exiting) {
59
- return;
60
- }
61
- const optionArgs = new Array();
62
- if (options.inspectEnabled) {
63
- const inspect = typeof options.inspectEnabled === "string" ? `--inspect=${options.inspectEnabled}` : "--inspect";
64
- optionArgs.push(inspect);
65
- } else if (options.inspectBrkEnabled) {
66
- const inspect = typeof options.inspectBrkEnabled === "string" ? `--inspect-brk=${options.inspectBrkEnabled}` : "--inspect-brk";
67
- optionArgs.push(inspect);
68
- }
69
- if (options.require) {
70
- const requires = [options.require].flat();
71
- for (const r of requires) {
72
- optionArgs.push(`--require=${r}`);
73
- }
74
- }
75
- if (!envEnv.NODE_OPTIONS?.includes("--node-snapshot")) {
76
- optionArgs.push("--no-node-snapshot");
77
- }
78
- const userArgs = process.argv.slice(["node", "backstage-cli", "package", "start"].length).filter((arg) => !optionArgs.includes(arg));
79
- child = spawn__default.default(
80
- process.execPath,
81
- [...loaderArgs, ...optionArgs, options.entry, ...userArgs],
82
- {
83
- stdio: ["ignore", "inherit", "inherit", "ipc"],
84
- cwd: options.targetDir,
85
- env: {
86
- ...process.env,
87
- BACKSTAGE_CLI_LINKED_WORKSPACE: options.linkedWorkspace,
88
- BACKSTAGE_CLI_CHANNEL: "1",
89
- ESBK_TSCONFIG_PATH: cliCommon.targetPaths.resolveRoot("tsconfig.json")
90
- },
91
- serialization: "advanced"
92
- }
93
- );
94
- server.addChild(child);
95
- child.on("message", (data) => {
96
- if (!watcher) {
97
- return;
98
- }
99
- if (typeof data === "object" && data?.type === "watch") {
100
- let path$1 = data.path;
101
- if (path$1.startsWith("file:")) {
102
- path$1 = node_url.fileURLToPath(path$1);
103
- }
104
- if (path.isAbsolute(path$1) && !watchedPaths.has(path$1)) {
105
- watchedPaths.add(path$1);
106
- watcher.add(path$1);
107
- }
108
- }
109
- });
110
- }, 100);
111
- restart();
112
- watcher = chokidar.watch(["./package.json"], {
113
- cwd: process.cwd(),
114
- ignoreInitial: true,
115
- ignorePermissionErrors: true
116
- }).on("all", restart);
117
- process.stdin.on("data", restart);
118
- const exitPromise = new Promise((resolveExitPromise) => {
119
- async function handleSignal(signal) {
120
- exiting = true;
121
- if (child && child.exitCode === null) {
122
- await new Promise((resolve) => {
123
- child.on("close", resolve);
124
- child.kill(signal);
125
- });
126
- }
127
- resolveExitPromise();
128
- }
129
- process.once("SIGINT", handleSignal);
130
- process.once("SIGTERM", handleSignal);
131
- });
132
- return () => exitPromise;
133
- }
134
-
135
- exports.runBackend = runBackend;
136
- //# sourceMappingURL=runBackend.cjs.js.map
@@ -1,89 +0,0 @@
1
- 'use strict';
2
-
3
- var cliNode = require('@backstage/cli-node');
4
- var path = require('node:path');
5
- var tsMorph = require('ts-morph');
6
- var cliCommon = require('@backstage/cli-common');
7
-
8
- const createTypeDistProject = async () => {
9
- return new tsMorph.Project({
10
- tsConfigFilePath: cliCommon.targetPaths.resolveRoot("tsconfig.json"),
11
- skipAddingFilesFromTsConfig: true
12
- });
13
- };
14
- const targetPackageRoles = [
15
- "backend-plugin",
16
- "backend-plugin-module",
17
- "frontend-plugin",
18
- "frontend-plugin-module",
19
- "web-library",
20
- "node-library"
21
- ];
22
- const getEntryPointDefaultFeatureType = (role, packageDir, project, entryPoint) => {
23
- if (isTargetPackageRole(role)) {
24
- const distPath = path.resolve(packageDir, entryPoint);
25
- try {
26
- const defaultFeatureType = getSourceFileDefaultFeatureType(
27
- project.addSourceFileAtPath(distPath)
28
- );
29
- if (defaultFeatureType) {
30
- return defaultFeatureType;
31
- }
32
- } catch (error) {
33
- console.error(
34
- `Failed to extract default feature type from ${distPath}, ${error}. Your package will publish fine but it may be missing metadata about its default feature.`
35
- );
36
- }
37
- }
38
- return null;
39
- };
40
- function getSourceFileDefaultFeatureType(sourceFile) {
41
- for (const exportSymbol of sourceFile.getExportSymbols()) {
42
- const declaration = exportSymbol.getDeclarations()[0];
43
- const exportName = declaration.getSymbol()?.getName();
44
- if (exportName !== "default") {
45
- continue;
46
- }
47
- let exportType;
48
- if (declaration) {
49
- if (declaration.isKind(tsMorph.SyntaxKind.ExportAssignment)) {
50
- exportType = declaration.getExpression().getType();
51
- } else if (declaration.isKind(tsMorph.SyntaxKind.ExportSpecifier)) {
52
- if (!declaration.isTypeOnly()) {
53
- exportType = declaration.getType();
54
- }
55
- } else if (declaration.isKind(tsMorph.SyntaxKind.VariableDeclaration)) {
56
- exportType = declaration.getType();
57
- }
58
- }
59
- if (exportName && exportType) {
60
- const $$type = getBackstagePackageFeature$$TypeFromType(exportType);
61
- if ($$type) {
62
- return $$type;
63
- }
64
- }
65
- }
66
- return null;
67
- }
68
- function getBackstagePackageFeature$$TypeFromType(type) {
69
- const exportType = type.getTargetType() ?? type;
70
- for (const property of exportType.getProperties()) {
71
- if (property.getName() === "$$type") {
72
- const $$type = property.getValueDeclaration()?.getText().match(/(\$\$type: '(?<type>.+)')/)?.groups?.type;
73
- if ($$type && isTargetFeatureType($$type)) {
74
- return $$type;
75
- }
76
- }
77
- }
78
- return null;
79
- }
80
- function isTargetPackageRole(role) {
81
- return !!role && targetPackageRoles.includes(role);
82
- }
83
- function isTargetFeatureType(type) {
84
- return !!type && cliNode.packageFeatureType.includes(type);
85
- }
86
-
87
- exports.createTypeDistProject = createTypeDistProject;
88
- exports.getEntryPointDefaultFeatureType = getEntryPointDefaultFeatureType;
89
- //# sourceMappingURL=typeDistProject.cjs.js.map
@@ -1,13 +0,0 @@
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
@@ -1,63 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var cleye = require('cleye');
6
- var configLoader = require('@backstage/config-loader');
7
- var openBrowser = require('react-dev-utils/openBrowser');
8
- var chalk = require('chalk');
9
- var config = require('../lib/config.cjs.js');
10
-
11
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
12
-
13
- var openBrowser__default = /*#__PURE__*/_interopDefaultCompat(openBrowser);
14
- var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
15
-
16
- const DOCS_URL = "https://config.backstage.io";
17
- var docs = async ({ args, info }) => {
18
- const {
19
- flags: { package: pkg }
20
- } = cleye.cli(
21
- {
22
- help: info,
23
- booleanFlagNegation: true,
24
- flags: {
25
- package: {
26
- type: String,
27
- description: "Only include the schema that applies to the given package"
28
- }
29
- }
30
- },
31
- void 0,
32
- args
33
- );
34
- const { schema: appSchemas } = await config.loadCliConfig({
35
- args: [],
36
- fromPackage: pkg,
37
- mockEnv: true
38
- });
39
- const schema = configLoader.mergeConfigSchemas(
40
- appSchemas.serialize().schemas.map(
41
- (_) => _.value
42
- )
43
- );
44
- const url = `${DOCS_URL}#schema=${JSON.stringify(schema)}`;
45
- console.log();
46
- console.log(
47
- chalk__default.default.cyan(
48
- "Opening configuration reference documentation in your browser..."
49
- )
50
- );
51
- console.log(` ${chalk__default.default.cyan(url)}`);
52
- console.log();
53
- const opened = openBrowser__default.default(url);
54
- if (!opened) {
55
- console.log(
56
- chalk__default.default.yellow("\u26A0\uFE0F WARNING: Unable to open browser automatically.")
57
- );
58
- console.log(chalk__default.default.yellow("Please open the URL manually in your browser."));
59
- }
60
- };
61
-
62
- exports.default = docs;
63
- //# sourceMappingURL=docs.cjs.js.map
@@ -1,81 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var cleye = require('cleye');
6
- var YAML = require('yaml');
7
- var config$1 = require('@backstage/config');
8
- var config = require('../lib/config.cjs.js');
9
-
10
- var print = async ({ args, info }) => {
11
- const {
12
- flags: { config: config$1, lax, frontend, withSecrets, format, package: pkg }
13
- } = cleye.cli(
14
- {
15
- help: info,
16
- booleanFlagNegation: true,
17
- flags: {
18
- package: { type: String, description: "Package to print config for" },
19
- lax: {
20
- type: Boolean,
21
- description: "Do not require environment variables to be set"
22
- },
23
- frontend: { type: Boolean, description: "Only print frontend config" },
24
- withSecrets: {
25
- type: Boolean,
26
- description: "Include secrets in the output"
27
- },
28
- format: { type: String, description: "Output format (yaml or json)" },
29
- config: {
30
- type: [String],
31
- description: "Config files to load instead of app-config.yaml"
32
- }
33
- }
34
- },
35
- void 0,
36
- args
37
- );
38
- const { schema, appConfigs } = await config.loadCliConfig({
39
- args: config$1,
40
- fromPackage: pkg,
41
- mockEnv: lax,
42
- fullVisibility: !frontend
43
- });
44
- const visibility = getVisibilityOption(frontend, withSecrets);
45
- const data = serializeConfigData(appConfigs, schema, visibility);
46
- if (format === "json") {
47
- process.stdout.write(`${JSON.stringify(data, null, 2)}
48
- `);
49
- } else {
50
- process.stdout.write(`${YAML.stringify(data)}
51
- `);
52
- }
53
- };
54
- function getVisibilityOption(frontend, withSecrets) {
55
- if (frontend && withSecrets) {
56
- throw new Error("Not allowed to combine frontend and secret config");
57
- }
58
- if (frontend) {
59
- return "frontend";
60
- } else if (withSecrets) {
61
- return "secret";
62
- }
63
- return "backend";
64
- }
65
- function serializeConfigData(appConfigs, schema, visibility) {
66
- if (visibility === "frontend") {
67
- const frontendConfigs = schema.process(appConfigs, {
68
- visibility: ["frontend"]
69
- });
70
- return config$1.ConfigReader.fromConfigs(frontendConfigs).get();
71
- } else if (visibility === "secret") {
72
- return config$1.ConfigReader.fromConfigs(appConfigs).get();
73
- }
74
- const sanitizedConfigs = schema.process(appConfigs, {
75
- valueTransform: (value, context) => context.visibility === "secret" ? "<secret>" : value
76
- });
77
- return config$1.ConfigReader.fromConfigs(sanitizedConfigs).get();
78
- }
79
-
80
- exports.default = print;
81
- //# sourceMappingURL=print.cjs.js.map
@@ -1,56 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var cleye = require('cleye');
6
- var YAML = require('yaml');
7
- var config = require('../lib/config.cjs.js');
8
- var configLoader = require('@backstage/config-loader');
9
-
10
- var schema = async ({ args, info }) => {
11
- const {
12
- flags: { merge, format, package: pkg }
13
- } = cleye.cli(
14
- {
15
- help: info,
16
- booleanFlagNegation: true,
17
- flags: {
18
- package: { type: String, description: "Package to print schema for" },
19
- format: { type: String, description: "Output format (yaml or json)" },
20
- merge: {
21
- type: Boolean,
22
- description: "Merge all schemas into a single schema"
23
- }
24
- }
25
- },
26
- void 0,
27
- args
28
- );
29
- const { schema } = await config.loadCliConfig({
30
- args: [],
31
- fromPackage: pkg,
32
- mockEnv: true
33
- });
34
- let configSchema;
35
- if (merge) {
36
- configSchema = configLoader.mergeConfigSchemas(
37
- schema.serialize().schemas.map(
38
- (_) => _.value
39
- )
40
- );
41
- configSchema.title = "Application Configuration Schema";
42
- configSchema.description = "This is the schema describing the structure of the app-config.yaml configuration file.";
43
- } else {
44
- configSchema = schema.serialize();
45
- }
46
- if (format === "json") {
47
- process.stdout.write(`${JSON.stringify(configSchema, null, 2)}
48
- `);
49
- } else {
50
- process.stdout.write(`${YAML.stringify(configSchema)}
51
- `);
52
- }
53
- };
54
-
55
- exports.default = schema;
56
- //# sourceMappingURL=schema.cjs.js.map