@backstage/cli 0.36.0-next.2 → 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 (276) hide show
  1. package/CHANGELOG.md +95 -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 +27 -160
  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,131 +0,0 @@
1
- 'use strict';
2
-
3
- var fs = require('fs-extra');
4
- var rollup = require('rollup');
5
- var chalk = require('chalk');
6
- var path = require('node:path');
7
- var cliCommon = require('@backstage/cli-common');
8
- var config = require('./config.cjs.js');
9
- var types = require('./types.cjs.js');
10
- var cliNode = require('@backstage/cli-node');
11
-
12
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
13
-
14
- var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
15
- var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
16
-
17
- function formatErrorMessage(error) {
18
- let msg = "";
19
- if (error.code === "PLUGIN_ERROR") {
20
- if (error.plugin === "esbuild") {
21
- msg += `${error.message}`;
22
- if (error.errors?.length) {
23
- msg += `
24
-
25
- `;
26
- for (const { text, location } of error.errors) {
27
- const { line, column } = location;
28
- const path$1 = path.relative(cliCommon.targetPaths.dir, error.id);
29
- const loc = chalk__default.default.cyan(`${path$1}:${line}:${column}`);
30
- if (text === 'Unexpected "<"' && error.id.endsWith(".js")) {
31
- msg += `${loc}: ${text}, JavaScript files with JSX should use a .jsx extension`;
32
- } else {
33
- msg += `${loc}: ${text}`;
34
- }
35
- }
36
- }
37
- } else {
38
- msg += `(plugin ${error.plugin}) ${error}
39
- `;
40
- }
41
- } else {
42
- if (error.loc) {
43
- const file = `${cliCommon.targetPaths.resolve(error.loc.file || error.id)}`;
44
- const pos = `${error.loc.line}:${error.loc.column}`;
45
- msg += `${file} [${pos}]
46
- `;
47
- } else if (error.id) {
48
- msg += `${cliCommon.targetPaths.resolve(error.id)}
49
- `;
50
- }
51
- msg += `${error}
52
- `;
53
- if (error.url) {
54
- msg += `${chalk__default.default.cyan(error.url)}
55
- `;
56
- }
57
- if (error.frame) {
58
- msg += `${chalk__default.default.dim(error.frame)}
59
- `;
60
- }
61
- }
62
- return msg;
63
- }
64
- async function rollupBuild(config) {
65
- try {
66
- const bundle = await rollup.rollup(config);
67
- if (config.output) {
68
- for (const output of [config.output].flat()) {
69
- await bundle.generate(output);
70
- await bundle.write(output);
71
- }
72
- }
73
- } catch (error) {
74
- throw new Error(formatErrorMessage(error));
75
- }
76
- }
77
- const buildPackage = async (options) => {
78
- try {
79
- const { resolutions } = await fs__default.default.readJson(
80
- cliCommon.targetPaths.resolveRoot("package.json")
81
- );
82
- if (resolutions?.esbuild) {
83
- console.warn(
84
- chalk__default.default.red(
85
- 'Your root package.json contains a "resolutions" entry for "esbuild". This was included in older @backstage/create-app templates in order to work around build issues that have since been fixed. Please remove the entry and run `yarn install`'
86
- )
87
- );
88
- }
89
- } catch {
90
- }
91
- const rollupConfigs = await config.makeRollupConfigs(options);
92
- const targetDir = options.targetDir ?? cliCommon.targetPaths.dir;
93
- await fs__default.default.remove(path.resolve(targetDir, "dist"));
94
- const buildTasks = rollupConfigs.map(rollupBuild);
95
- await Promise.all(buildTasks);
96
- };
97
- const buildPackages = async (options) => {
98
- if (options.some((opt) => !opt.targetDir)) {
99
- throw new Error("targetDir must be set for all build options");
100
- }
101
- const rollupConfigs = await Promise.all(options.map(config.makeRollupConfigs));
102
- await Promise.all(
103
- options.map(({ targetDir }) => fs__default.default.remove(path.resolve(targetDir, "dist")))
104
- );
105
- const buildTasks = rollupConfigs.flat().map((opts) => () => rollupBuild(opts));
106
- await cliNode.runConcurrentTasks({
107
- items: buildTasks,
108
- worker: async (task) => task()
109
- });
110
- };
111
- function getOutputsForRole(role) {
112
- const outputs = /* @__PURE__ */ new Set();
113
- for (const output of cliNode.PackageRoles.getRoleInfo(role).output) {
114
- if (output === "cjs") {
115
- outputs.add(types.Output.cjs);
116
- }
117
- if (output === "esm") {
118
- outputs.add(types.Output.esm);
119
- }
120
- if (output === "types") {
121
- outputs.add(types.Output.types);
122
- }
123
- }
124
- return outputs;
125
- }
126
-
127
- exports.buildPackage = buildPackage;
128
- exports.buildPackages = buildPackages;
129
- exports.formatErrorMessage = formatErrorMessage;
130
- exports.getOutputsForRole = getOutputsForRole;
131
- //# sourceMappingURL=packager.cjs.js.map
@@ -1,125 +0,0 @@
1
- 'use strict';
2
-
3
- var fs = require('fs-extra');
4
- var postcss = require('postcss');
5
- var postcssImport = require('postcss-import');
6
- var path = require('node:path');
7
- var rollupPluginutils = require('rollup-pluginutils');
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 postcss__default = /*#__PURE__*/_interopDefaultCompat(postcss);
13
- var postcssImport__default = /*#__PURE__*/_interopDefaultCompat(postcssImport);
14
-
15
- function forwardFileImports(options) {
16
- const filter = rollupPluginutils.createFilter(options.include, options.exclude);
17
- const exportedFiles = /* @__PURE__ */ new Set();
18
- const generatedFor = /* @__PURE__ */ new Set();
19
- return {
20
- name: "forward-file-imports",
21
- async generateBundle(outputOptions, bundle, isWrite) {
22
- if (!isWrite) {
23
- return;
24
- }
25
- const dir = outputOptions.dir || path.dirname(outputOptions.file);
26
- if (generatedFor.has(dir)) {
27
- return;
28
- }
29
- for (const output of Object.values(bundle)) {
30
- if (output.type !== "chunk") {
31
- continue;
32
- }
33
- const chunk = output;
34
- if (!chunk.facadeModuleId) {
35
- continue;
36
- }
37
- generatedFor.add(dir);
38
- const srcRoot = path.dirname(chunk.facadeModuleId);
39
- await Promise.all(
40
- Array.from(exportedFiles).map(async (exportedFile) => {
41
- const outputPath = path.relative(srcRoot, exportedFile);
42
- const targetFile = path.resolve(dir, outputPath);
43
- await fs__default.default.ensureDir(path.dirname(targetFile));
44
- await fs__default.default.copyFile(exportedFile, targetFile);
45
- })
46
- );
47
- return;
48
- }
49
- },
50
- options(inputOptions) {
51
- const treeshake = inputOptions.treeshake;
52
- if (treeshake !== void 0 && typeof treeshake !== "object") {
53
- throw new Error(
54
- "Expected treeshake input config to be an object or not set"
55
- );
56
- }
57
- if (treeshake?.moduleSideEffects) {
58
- throw new Error("treeshake.moduleSideEffects must not be set");
59
- }
60
- const moduleSideEffects = (id) => {
61
- if (filter(id)) {
62
- return false;
63
- }
64
- return true;
65
- };
66
- const origExternal = inputOptions.external;
67
- const external = (id, importer, isResolved) => {
68
- if (typeof origExternal === "function" && origExternal(id, importer, isResolved)) {
69
- return true;
70
- }
71
- if (Array.isArray(origExternal) && origExternal.includes(id)) {
72
- return true;
73
- }
74
- if (!filter(id)) {
75
- return false;
76
- }
77
- if (!importer) {
78
- throw new Error(`Unknown importer of file module ${id}`);
79
- }
80
- const fullId = isResolved ? id : path.resolve(path.dirname(importer), id);
81
- exportedFiles.add(fullId);
82
- return true;
83
- };
84
- return {
85
- ...inputOptions,
86
- external,
87
- treeshake: { ...treeshake, moduleSideEffects }
88
- };
89
- }
90
- };
91
- }
92
- function cssEntryPoints(options) {
93
- const cssEntries = options.entryPoints.filter((ep) => ep.ext === ".css");
94
- const generatedFor = /* @__PURE__ */ new Set();
95
- return {
96
- name: "backstage-css-entry-points",
97
- async generateBundle(outputOptions, _bundle, isWrite) {
98
- if (!isWrite) {
99
- return;
100
- }
101
- const dir = outputOptions.dir || path.dirname(outputOptions.file);
102
- if (generatedFor.has(dir)) {
103
- return;
104
- }
105
- generatedFor.add(dir);
106
- for (const entryPoint of cssEntries) {
107
- const sourcePath = path.resolve(options.targetDir, entryPoint.path);
108
- const outputPath = entryPoint.path.replace(/^(\.\/)?src\//, "");
109
- const source = await fs__default.default.readFile(sourcePath, "utf8");
110
- const result = await postcss__default.default([postcssImport__default.default()]).process(source, {
111
- from: sourcePath
112
- });
113
- this.emitFile({
114
- type: "asset",
115
- fileName: outputPath,
116
- source: result.css
117
- });
118
- }
119
- }
120
- };
121
- }
122
-
123
- exports.cssEntryPoints = cssEntryPoints;
124
- exports.forwardFileImports = forwardFileImports;
125
- //# sourceMappingURL=plugins.cjs.js.map
@@ -1,10 +0,0 @@
1
- 'use strict';
2
-
3
- const Output = {
4
- esm: 0,
5
- cjs: 1,
6
- types: 2
7
- };
8
-
9
- exports.Output = Output;
10
- //# sourceMappingURL=types.cjs.js.map
@@ -1,43 +0,0 @@
1
- 'use strict';
2
-
3
- var HtmlWebpackPlugin = require('html-webpack-plugin');
4
-
5
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
6
-
7
- var HtmlWebpackPlugin__default = /*#__PURE__*/_interopDefaultCompat(HtmlWebpackPlugin);
8
-
9
- class ConfigInjectingHtmlWebpackPlugin extends HtmlWebpackPlugin__default.default {
10
- name = "ConfigInjectingHtmlWebpackPlugin";
11
- #getFrontendAppConfigs;
12
- constructor(options, getFrontendAppConfigs) {
13
- super(options);
14
- this.#getFrontendAppConfigs = getFrontendAppConfigs;
15
- }
16
- apply = (compiler) => {
17
- super.apply(compiler);
18
- compiler.hooks.compilation.tap(this.name, (compilation) => {
19
- const hooks = HtmlWebpackPlugin__default.default.getCompilationHooks(compilation);
20
- hooks.alterAssetTagGroups.tap(this.name, (ctx) => {
21
- if (ctx.plugin !== this) {
22
- return ctx;
23
- }
24
- return {
25
- ...ctx,
26
- headTags: [
27
- ...ctx.headTags,
28
- HtmlWebpackPlugin__default.default.createHtmlTagObject(
29
- "script",
30
- { type: "backstage.io/config" },
31
- `
32
- ${JSON.stringify(this.#getFrontendAppConfigs(), null, 2)}
33
- `
34
- )
35
- ]
36
- };
37
- });
38
- });
39
- };
40
- }
41
-
42
- exports.ConfigInjectingHtmlWebpackPlugin = ConfigInjectingHtmlWebpackPlugin;
43
- //# sourceMappingURL=ConfigInjectingHtmlWebpackPlugin.cjs.js.map
@@ -1,189 +0,0 @@
1
- 'use strict';
2
-
3
- var yn = require('yn');
4
- var fs = require('fs-extra');
5
- var path = require('node:path');
6
- var core = require('@rspack/core');
7
- var FileSizeReporter = require('react-dev-utils/FileSizeReporter');
8
- var formatWebpackMessages = require('react-dev-utils/formatWebpackMessages');
9
- var config = require('./config.cjs.js');
10
- var paths = require('./paths.cjs.js');
11
- var chalk = require('chalk');
12
- var packageDetection = require('./packageDetection.cjs.js');
13
- var moduleFederation = require('./moduleFederation.cjs.js');
14
-
15
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
16
-
17
- var yn__default = /*#__PURE__*/_interopDefaultCompat(yn);
18
- var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
19
- var formatWebpackMessages__default = /*#__PURE__*/_interopDefaultCompat(formatWebpackMessages);
20
- var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
21
-
22
- const WARN_AFTER_BUNDLE_GZIP_SIZE = 512 * 1024;
23
- const WARN_AFTER_CHUNK_GZIP_SIZE = 1024 * 1024;
24
- function applyContextToError(error, moduleName) {
25
- return `Failed to compile '${moduleName}':
26
- ${error}`;
27
- }
28
- async function buildBundle(options) {
29
- const { statsJsonEnabled, schema: configSchema, webpack } = options;
30
- const paths$1 = paths.resolveBundlingPaths(options);
31
- const publicPaths = await paths.resolveOptionalBundlingPaths({
32
- targetDir: options.targetDir,
33
- entry: "src/index-public-experimental",
34
- dist: "dist/public"
35
- });
36
- const commonConfigOptions = {
37
- ...options,
38
- checksEnabled: false,
39
- isDev: false,
40
- getFrontendAppConfigs: () => options.frontendAppConfigs
41
- };
42
- const configs = [];
43
- if (options.moduleFederationRemote) {
44
- configs.push(await config.createConfig(paths$1, commonConfigOptions));
45
- } else {
46
- const detectedModulesEntryPoint = await packageDetection.createDetectedModulesEntryPoint({
47
- config: options.fullConfig,
48
- targetPath: paths$1.targetPath
49
- });
50
- const moduleFederationSharedDependenciesEntryPoint = await moduleFederation.createRuntimeSharedDependenciesEntryPoint({
51
- targetPath: paths$1.targetPath
52
- });
53
- configs.push(
54
- await config.createConfig(paths$1, {
55
- ...commonConfigOptions,
56
- additionalEntryPoints: [
57
- ...detectedModulesEntryPoint,
58
- ...moduleFederationSharedDependenciesEntryPoint
59
- ],
60
- appMode: publicPaths ? "protected" : "public"
61
- })
62
- );
63
- if (publicPaths) {
64
- console.log(
65
- chalk__default.default.yellow(
66
- `\u26A0\uFE0F WARNING: The app /public entry point is an experimental feature that may receive immediate breaking changes.`
67
- )
68
- );
69
- configs.push(
70
- await config.createConfig(publicPaths, {
71
- ...commonConfigOptions,
72
- appMode: "public"
73
- })
74
- );
75
- }
76
- }
77
- const isCi = yn__default.default(process.env.CI, { default: false });
78
- const previousFileSizes = await FileSizeReporter.measureFileSizesBeforeBuild(paths$1.targetDist);
79
- const previousAuthSizes = publicPaths ? await FileSizeReporter.measureFileSizesBeforeBuild(publicPaths.targetDist) : void 0;
80
- await fs__default.default.emptyDir(paths$1.targetDist);
81
- if (paths$1.targetPublic) {
82
- await fs__default.default.copy(paths$1.targetPublic, paths$1.targetDist, {
83
- dereference: true,
84
- filter: (file) => file !== paths$1.targetHtml
85
- });
86
- if (publicPaths) {
87
- await fs__default.default.copy(paths$1.targetPublic, publicPaths.targetDist, {
88
- dereference: true,
89
- filter: (file) => file !== paths$1.targetHtml
90
- });
91
- }
92
- }
93
- if (configSchema) {
94
- await fs__default.default.writeJson(
95
- path.resolve(paths$1.targetDist, ".config-schema.json"),
96
- configSchema.serialize(),
97
- { spaces: 2 }
98
- );
99
- }
100
- if (webpack) {
101
- console.log(chalk__default.default.yellow(`\u26A0\uFE0F WARNING: Using legacy WebPack bundler`));
102
- }
103
- const { stats } = await build(configs, isCi, webpack);
104
- if (!stats) {
105
- throw new Error("No stats returned");
106
- }
107
- const [mainStats, authStats] = stats.stats;
108
- if (statsJsonEnabled) {
109
- await require("bfj").write(
110
- path.resolve(paths$1.targetDist, "bundle-stats.json"),
111
- mainStats.toJson()
112
- );
113
- }
114
- FileSizeReporter.printFileSizesAfterBuild(
115
- mainStats,
116
- previousFileSizes,
117
- paths$1.targetDist,
118
- WARN_AFTER_BUNDLE_GZIP_SIZE,
119
- WARN_AFTER_CHUNK_GZIP_SIZE
120
- );
121
- if (publicPaths && previousAuthSizes) {
122
- FileSizeReporter.printFileSizesAfterBuild(
123
- authStats,
124
- previousAuthSizes,
125
- publicPaths.targetDist,
126
- WARN_AFTER_BUNDLE_GZIP_SIZE,
127
- WARN_AFTER_CHUNK_GZIP_SIZE
128
- );
129
- }
130
- }
131
- async function build(configs, isCi, webpack) {
132
- const bundler = webpack ?? core.rspack;
133
- const stats = await new Promise((resolve, reject) => {
134
- bundler(configs, (err, buildStats) => {
135
- if (err) {
136
- if (err.message) {
137
- const { errors: errors2 } = formatWebpackMessages__default.default({
138
- errors: [err.message],
139
- warnings: new Array(),
140
- _showErrors: true,
141
- _showWarnings: true
142
- });
143
- throw new Error(errors2[0]);
144
- } else {
145
- reject(err);
146
- }
147
- } else {
148
- resolve(buildStats);
149
- }
150
- });
151
- });
152
- if (!stats) {
153
- throw new Error("Failed to compile: No stats provided");
154
- }
155
- const serializedStats = stats.toJson({
156
- all: false,
157
- warnings: true,
158
- errors: true
159
- });
160
- const { errors, warnings } = formatWebpackMessages__default.default({
161
- errors: serializedStats.errors,
162
- warnings: serializedStats.warnings
163
- });
164
- if (errors.length) {
165
- const errorWithContext = applyContextToError(
166
- errors[0],
167
- serializedStats.errors?.[0]?.moduleName ?? ""
168
- );
169
- throw new Error(errorWithContext);
170
- }
171
- if (isCi && warnings.length) {
172
- const warningsWithContext = warnings.map((warning, i) => {
173
- return applyContextToError(
174
- warning,
175
- serializedStats.warnings?.[i]?.moduleName ?? ""
176
- );
177
- });
178
- console.log(
179
- chalk__default.default.yellow(
180
- "\nTreating warnings as errors because process.env.CI = true.\n"
181
- )
182
- );
183
- throw new Error(warningsWithContext.join("\n\n"));
184
- }
185
- return { stats };
186
- }
187
-
188
- exports.buildBundle = buildBundle;
189
- //# sourceMappingURL=bundle.cjs.js.map