@backstage/cli 0.28.0-next.0 → 0.28.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/config/jest.js +123 -69
  3. package/config/jestCacheResultProcessor.cjs +23 -0
  4. package/config/jestSwcTransform.js +4 -1
  5. package/dist/commands/build/buildBackend.cjs.js +65 -0
  6. package/dist/commands/build/buildFrontend.cjs.js +56 -0
  7. package/dist/commands/build/command.cjs.js +72 -0
  8. package/dist/commands/build/index.cjs.js +8 -0
  9. package/dist/commands/buildWorkspace.cjs.js +24 -0
  10. package/dist/commands/clean/clean.cjs.js +19 -0
  11. package/dist/{cjs/docs-CDE82fWG.cjs.js → commands/config/docs.cjs.js} +4 -12
  12. package/dist/{cjs/print-BX8-7Nzg.cjs.js → commands/config/print.cjs.js} +4 -12
  13. package/dist/{cjs/schema-Cabm6I6c.cjs.js → commands/config/schema.cjs.js} +4 -12
  14. package/dist/commands/config/validate.cjs.js +19 -0
  15. package/dist/{cjs/index-DVDDx3pk.cjs.js → commands/create-github-app/GithubCreateAppServer.cjs.js} +2 -110
  16. package/dist/commands/create-github-app/index.cjs.js +117 -0
  17. package/dist/commands/index.cjs.js +231 -0
  18. package/dist/{cjs/info-CB7ln5K_.cjs.js → commands/info.cjs.js} +13 -17
  19. package/dist/{cjs/lint-6_0f9f26.cjs.js → commands/lint.cjs.js} +10 -10
  20. package/dist/commands/migrate/packageExports.cjs.js +17 -0
  21. package/dist/{cjs/packageLintConfigs-BBvQehRd.cjs.js → commands/migrate/packageLintConfigs.cjs.js} +2 -10
  22. package/dist/{cjs/packageRole-CkpKfhJA.cjs.js → commands/migrate/packageRole.cjs.js} +5 -8
  23. package/dist/{cjs/packageScripts-DX6dilK6.cjs.js → commands/migrate/packageScripts.cjs.js} +1 -1
  24. package/dist/{cjs/reactRouterDeps-CR-hjviw.cjs.js → commands/migrate/reactRouterDeps.cjs.js} +1 -1
  25. package/dist/commands/new/new.cjs.js +101 -0
  26. package/dist/commands/pack.cjs.js +29 -0
  27. package/dist/commands/repo/build.cjs.js +113 -0
  28. package/dist/{cjs/clean-bdpRw-oZ.cjs.js → commands/repo/clean.cjs.js} +5 -10
  29. package/dist/{cjs/fix-BTjof5XT.cjs.js → commands/repo/fix.cjs.js} +8 -13
  30. package/dist/commands/repo/lint.cjs.js +193 -0
  31. package/dist/{cjs/list-deprecations-DFgQENam.cjs.js → commands/repo/list-deprecations.cjs.js} +7 -12
  32. package/dist/commands/repo/optionsParser.cjs.js +37 -0
  33. package/dist/commands/repo/test.cjs.js +274 -0
  34. package/dist/commands/start/command.cjs.js +48 -0
  35. package/dist/commands/start/index.cjs.js +8 -0
  36. package/dist/commands/start/startBackend.cjs.js +112 -0
  37. package/dist/commands/start/startFrontend.cjs.js +47 -0
  38. package/dist/{cjs/test-YJMOGqXG.cjs.js → commands/test.cjs.js} +6 -12
  39. package/dist/{cjs/bump-d9dS56p9.cjs.js → commands/versions/bump.cjs.js} +21 -190
  40. package/dist/commands/versions/migrate.cjs.js +112 -0
  41. package/dist/index.cjs.js +29 -7
  42. package/dist/lib/builder/config.cjs.js +199 -0
  43. package/dist/lib/builder/packager.cjs.js +131 -0
  44. package/dist/lib/builder/plugins.cjs.js +71 -0
  45. package/dist/lib/builder/types.cjs.js +11 -0
  46. package/dist/lib/bundler/LinkedPackageResolvePlugin.cjs.js +47 -0
  47. package/dist/lib/bundler/backend.cjs.js +36 -0
  48. package/dist/{cjs/buildBackend-DXvz7jvh.cjs.js → lib/bundler/bundle.cjs.js} +26 -113
  49. package/dist/lib/bundler/config.cjs.js +469 -0
  50. package/dist/lib/bundler/hasReactDomClient.cjs.js +13 -0
  51. package/dist/lib/bundler/moduleFederation.cjs.js +28 -0
  52. package/dist/lib/bundler/optimization.cjs.js +63 -0
  53. package/dist/lib/bundler/packageDetection.cjs.js +117 -0
  54. package/dist/lib/bundler/paths.cjs.js +60 -0
  55. package/dist/lib/bundler/server.cjs.js +246 -0
  56. package/dist/lib/bundler/transforms.cjs.js +171 -0
  57. package/dist/lib/codeowners/codeowners.cjs.js +92 -0
  58. package/dist/{cjs/config-nCB2LQK-.cjs.js → lib/config.cjs.js} +6 -6
  59. package/dist/{cjs/entryPoints-CoHH4lBA.cjs.js → lib/entryPoints.cjs.js} +4 -1
  60. package/dist/lib/errors.cjs.js +45 -0
  61. package/dist/lib/experimental/IpcServer.cjs.js +60 -0
  62. package/dist/lib/experimental/ServerDataStore.cjs.js +36 -0
  63. package/dist/lib/experimental/startBackendExperimental.cjs.js +128 -0
  64. package/dist/lib/new/FactoryRegistry.cjs.js +96 -0
  65. package/dist/lib/new/factories/backendModule.cjs.js +82 -0
  66. package/dist/lib/new/factories/backendPlugin.cjs.js +78 -0
  67. package/dist/lib/new/factories/common/prompts.cjs.js +57 -0
  68. package/dist/lib/new/factories/common/tasks.cjs.js +66 -0
  69. package/dist/lib/new/factories/common/util.cjs.js +16 -0
  70. package/dist/lib/new/factories/frontendPlugin.cjs.js +107 -0
  71. package/dist/lib/new/factories/index.cjs.js +24 -0
  72. package/dist/lib/new/factories/nodeLibraryPackage.cjs.js +57 -0
  73. package/dist/lib/new/factories/pluginCommon.cjs.js +58 -0
  74. package/dist/lib/new/factories/pluginNode.cjs.js +58 -0
  75. package/dist/lib/new/factories/pluginWeb.cjs.js +58 -0
  76. package/dist/lib/new/factories/scaffolderModule.cjs.js +90 -0
  77. package/dist/lib/new/factories/webLibraryPackage.cjs.js +57 -0
  78. package/dist/lib/new/types.cjs.js +8 -0
  79. package/dist/lib/packager/createDistWorkspace.cjs.js +219 -0
  80. package/dist/{cjs/productionPack-Dfl28j3c.cjs.js → lib/packager/productionPack.cjs.js} +8 -96
  81. package/dist/{cjs/parallel-BszNaKyc.cjs.js → lib/parallel.cjs.js} +2 -1
  82. package/dist/lib/paths.cjs.js +8 -0
  83. package/dist/{cjs/publishing-DQtsKTbc.cjs.js → lib/publishing.cjs.js} +1 -1
  84. package/dist/{cjs/role-e0emQj8q.cjs.js → lib/role.cjs.js} +3 -3
  85. package/dist/{cjs/run-HW3lfDbM.cjs.js → lib/run.cjs.js} +6 -5
  86. package/dist/{cjs/svgrTemplate-BTjBQ3by.cjs.js → lib/svgrTemplate.cjs.js} +1 -1
  87. package/dist/lib/tasks.cjs.js +188 -0
  88. package/dist/lib/typeDistProject.cjs.js +94 -0
  89. package/dist/lib/urls.cjs.js +13 -0
  90. package/dist/lib/version.cjs.js +86 -0
  91. package/dist/{cjs/yarn-6FNAgNBK.cjs.js → lib/versioning/Lockfile.cjs.js} +1 -31
  92. package/dist/lib/versioning/packages.cjs.js +75 -0
  93. package/dist/lib/yarn.cjs.js +34 -0
  94. package/dist/packages/backend-defaults/package.json.cjs.js +6 -0
  95. package/dist/packages/backend-plugin-api/package.json.cjs.js +6 -0
  96. package/dist/packages/backend-test-utils/package.json.cjs.js +6 -0
  97. package/dist/packages/cli/package.json.cjs.js +159 -0
  98. package/dist/packages/config/package.json.cjs.js +6 -0
  99. package/dist/packages/core-app-api/package.json.cjs.js +6 -0
  100. package/dist/packages/core-components/package.json.cjs.js +6 -0
  101. package/dist/packages/core-plugin-api/package.json.cjs.js +6 -0
  102. package/dist/packages/dev-utils/package.json.cjs.js +6 -0
  103. package/dist/packages/test-utils/package.json.cjs.js +6 -0
  104. package/dist/packages/theme/package.json.cjs.js +6 -0
  105. package/dist/plugins/auth-backend/package.json.cjs.js +6 -0
  106. package/dist/plugins/auth-backend-module-guest-provider/package.json.cjs.js +6 -0
  107. package/dist/plugins/scaffolder-node/package.json.cjs.js +6 -0
  108. package/package.json +23 -23
  109. package/dist/cjs/build-gNEKjjhr.cjs.js +0 -194
  110. package/dist/cjs/buildWorkspace-DLfI3EjD.cjs.js +0 -53
  111. package/dist/cjs/clean-Dpgqc3P2.cjs.js +0 -22
  112. package/dist/cjs/createDistWorkspace-DKzy-L-f.cjs.js +0 -576
  113. package/dist/cjs/index-7LxfekFu.cjs.js +0 -625
  114. package/dist/cjs/index-DsP5wbju.cjs.js +0 -131
  115. package/dist/cjs/index-v57xnvgT.cjs.js +0 -520
  116. package/dist/cjs/lint-DYO_SeK3.cjs.js +0 -91
  117. package/dist/cjs/moduleFederation-Dq0n1quT.cjs.js +0 -910
  118. package/dist/cjs/new-C0D_k25O.cjs.js +0 -1043
  119. package/dist/cjs/pack-D8AK7Uem.cjs.js +0 -34
  120. package/dist/cjs/packageExports-bg4mFuFZ.cjs.js +0 -27
  121. package/dist/cjs/test-5bQM0VRL.cjs.js +0 -126
  122. package/dist/cjs/validate-DKBlShmI.cjs.js +0 -28
  123. /package/templates/default-backend-module/{.eslintrc.js → .eslintrc.js.hbs} +0 -0
  124. /package/templates/default-backend-plugin/{.eslintrc.js → .eslintrc.js.hbs} +0 -0
  125. /package/templates/default-common-plugin-package/{.eslintrc.js → .eslintrc.js.hbs} +0 -0
  126. /package/templates/default-node-plugin-package/{.eslintrc.js → .eslintrc.js.hbs} +0 -0
  127. /package/templates/default-plugin/{.eslintrc.js → .eslintrc.js.hbs} +0 -0
  128. /package/templates/default-react-plugin-package/{.eslintrc.js → .eslintrc.js.hbs} +0 -0
  129. /package/templates/node-library-package/{.eslintrc.js → .eslintrc.js.hbs} +0 -0
  130. /package/templates/scaffolder-module/{.eslintrc.js → .eslintrc.js.hbs} +0 -0
  131. /package/templates/web-library-package/{.eslintrc.js → .eslintrc.js.hbs} +0 -0
@@ -0,0 +1,131 @@
1
+ 'use strict';
2
+
3
+ var fs = require('fs-extra');
4
+ var rollup = require('rollup');
5
+ var chalk = require('chalk');
6
+ var path = require('path');
7
+ var paths = require('../paths.cjs.js');
8
+ var config = require('./config.cjs.js');
9
+ var types = require('./types.cjs.js');
10
+ var cliNode = require('@backstage/cli-node');
11
+ var parallel = require('../parallel.cjs.js');
12
+
13
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
14
+
15
+ var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
16
+ var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
17
+
18
+ function formatErrorMessage(error) {
19
+ let msg = "";
20
+ if (error.code === "PLUGIN_ERROR") {
21
+ if (error.plugin === "esbuild") {
22
+ msg += `${error.message}`;
23
+ if (error.errors?.length) {
24
+ msg += `
25
+
26
+ `;
27
+ for (const { text, location } of error.errors) {
28
+ const { line, column } = location;
29
+ const path$1 = path.relative(paths.paths.targetDir, error.id);
30
+ const loc = chalk__default.default.cyan(`${path$1}:${line}:${column}`);
31
+ if (text === 'Unexpected "<"' && error.id.endsWith(".js")) {
32
+ msg += `${loc}: ${text}, JavaScript files with JSX should use a .jsx extension`;
33
+ } else {
34
+ msg += `${loc}: ${text}`;
35
+ }
36
+ }
37
+ }
38
+ } else {
39
+ msg += `(plugin ${error.plugin}) ${error}
40
+ `;
41
+ }
42
+ } else {
43
+ if (error.loc) {
44
+ const file = `${paths.paths.resolveTarget(error.loc.file || error.id)}`;
45
+ const pos = `${error.loc.line}:${error.loc.column}`;
46
+ msg += `${file} [${pos}]
47
+ `;
48
+ } else if (error.id) {
49
+ msg += `${paths.paths.resolveTarget(error.id)}
50
+ `;
51
+ }
52
+ msg += `${error}
53
+ `;
54
+ if (error.url) {
55
+ msg += `${chalk__default.default.cyan(error.url)}
56
+ `;
57
+ }
58
+ if (error.frame) {
59
+ msg += `${chalk__default.default.dim(error.frame)}
60
+ `;
61
+ }
62
+ }
63
+ return msg;
64
+ }
65
+ async function rollupBuild(config) {
66
+ try {
67
+ const bundle = await rollup.rollup(config);
68
+ if (config.output) {
69
+ for (const output of [config.output].flat()) {
70
+ await bundle.generate(output);
71
+ await bundle.write(output);
72
+ }
73
+ }
74
+ } catch (error) {
75
+ throw new Error(formatErrorMessage(error));
76
+ }
77
+ }
78
+ const buildPackage = async (options) => {
79
+ try {
80
+ const { resolutions } = await fs__default.default.readJson(
81
+ paths.paths.resolveTargetRoot("package.json")
82
+ );
83
+ if (resolutions?.esbuild) {
84
+ console.warn(
85
+ chalk__default.default.red(
86
+ '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`'
87
+ )
88
+ );
89
+ }
90
+ } catch {
91
+ }
92
+ const rollupConfigs = await config.makeRollupConfigs(options);
93
+ await fs__default.default.remove(paths.paths.resolveTarget("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 parallel.runParallelWorkers({
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
@@ -0,0 +1,71 @@
1
+ 'use strict';
2
+
3
+ var fs = require('fs-extra');
4
+ var path = require('path');
5
+ var rollupPluginutils = require('rollup-pluginutils');
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
+ function forwardFileImports(options) {
12
+ const filter = rollupPluginutils.createFilter(options.include, options.exclude);
13
+ const exportedFiles = /* @__PURE__ */ new Set();
14
+ const generatedFor = /* @__PURE__ */ new Set();
15
+ return {
16
+ name: "forward-file-imports",
17
+ async generateBundle(outputOptions, bundle, isWrite) {
18
+ if (!isWrite) {
19
+ return;
20
+ }
21
+ const dir = outputOptions.dir || path.dirname(outputOptions.file);
22
+ if (generatedFor.has(dir)) {
23
+ return;
24
+ }
25
+ for (const output of Object.values(bundle)) {
26
+ if (output.type !== "chunk") {
27
+ continue;
28
+ }
29
+ const chunk = output;
30
+ if (!chunk.facadeModuleId) {
31
+ continue;
32
+ }
33
+ generatedFor.add(dir);
34
+ const srcRoot = path.dirname(chunk.facadeModuleId);
35
+ await Promise.all(
36
+ Array.from(exportedFiles).map(async (exportedFile) => {
37
+ const outputPath = path.relative(srcRoot, exportedFile);
38
+ const targetFile = path.resolve(dir, outputPath);
39
+ await fs__default.default.ensureDir(path.dirname(targetFile));
40
+ await fs__default.default.copyFile(exportedFile, targetFile);
41
+ })
42
+ );
43
+ return;
44
+ }
45
+ },
46
+ options(inputOptions) {
47
+ const origExternal = inputOptions.external;
48
+ const external = (id, importer, isResolved) => {
49
+ if (typeof origExternal === "function" && origExternal(id, importer, isResolved)) {
50
+ return true;
51
+ }
52
+ if (Array.isArray(origExternal) && origExternal.includes(id)) {
53
+ return true;
54
+ }
55
+ if (!filter(id)) {
56
+ return false;
57
+ }
58
+ if (!importer) {
59
+ throw new Error(`Unknown importer of file module ${id}`);
60
+ }
61
+ const fullId = isResolved ? id : path.resolve(path.dirname(importer), id);
62
+ exportedFiles.add(fullId);
63
+ return true;
64
+ };
65
+ return { ...inputOptions, external };
66
+ }
67
+ };
68
+ }
69
+
70
+ exports.forwardFileImports = forwardFileImports;
71
+ //# sourceMappingURL=plugins.cjs.js.map
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ var Output = /* @__PURE__ */ ((Output2) => {
4
+ Output2[Output2["esm"] = 0] = "esm";
5
+ Output2[Output2["cjs"] = 1] = "cjs";
6
+ Output2[Output2["types"] = 2] = "types";
7
+ return Output2;
8
+ })(Output || {});
9
+
10
+ exports.Output = Output;
11
+ //# sourceMappingURL=types.cjs.js.map
@@ -0,0 +1,47 @@
1
+ 'use strict';
2
+
3
+ var path = require('path');
4
+ var cliCommon = require('@backstage/cli-common');
5
+
6
+ class LinkedPackageResolvePlugin {
7
+ constructor(targetModules, packages) {
8
+ this.targetModules = targetModules;
9
+ this.packages = packages;
10
+ }
11
+ apply(resolver) {
12
+ resolver.hooks.resolve.tapAsync(
13
+ "LinkedPackageResolvePlugin",
14
+ (data, context, callback) => {
15
+ const pkg = this.packages.find(
16
+ (pkge) => data.path && cliCommon.isChildPath(pkge.dir, data.path)
17
+ );
18
+ if (!pkg) {
19
+ callback();
20
+ return;
21
+ }
22
+ const modulesLocation = path.resolve(
23
+ this.targetModules,
24
+ pkg.packageJson.name
25
+ );
26
+ const newContext = data.context?.issuer ? {
27
+ ...data.context,
28
+ issuer: data.context.issuer.replace(pkg.dir, modulesLocation)
29
+ } : data.context;
30
+ resolver.doResolve(
31
+ resolver.hooks.resolve,
32
+ {
33
+ ...data,
34
+ context: newContext,
35
+ path: data.path && data.path.replace(pkg.dir, modulesLocation)
36
+ },
37
+ `resolve ${data.request} in ${modulesLocation}`,
38
+ context,
39
+ callback
40
+ );
41
+ }
42
+ );
43
+ }
44
+ }
45
+
46
+ exports.LinkedPackageResolvePlugin = LinkedPackageResolvePlugin;
47
+ //# sourceMappingURL=LinkedPackageResolvePlugin.cjs.js.map
@@ -0,0 +1,36 @@
1
+ 'use strict';
2
+
3
+ var webpack = require('webpack');
4
+ var config = require('./config.cjs.js');
5
+ var paths = require('./paths.cjs.js');
6
+
7
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
8
+
9
+ var webpack__default = /*#__PURE__*/_interopDefaultCompat(webpack);
10
+
11
+ async function serveBackend(options) {
12
+ const paths$1 = paths.resolveBundlingPaths(options);
13
+ const config$1 = await config.createBackendConfig(paths$1, {
14
+ ...options,
15
+ isDev: true
16
+ });
17
+ process.env.NODE_ENV = "development";
18
+ const compiler = webpack__default.default(config$1, (err) => {
19
+ if (err) {
20
+ console.error(err);
21
+ } else console.log("Build succeeded");
22
+ });
23
+ const waitForExit = async () => {
24
+ for (const signal of ["SIGINT", "SIGTERM"]) {
25
+ process.on(signal, () => {
26
+ compiler.close(() => process.exit());
27
+ });
28
+ }
29
+ return new Promise(() => {
30
+ });
31
+ };
32
+ return waitForExit;
33
+ }
34
+
35
+ exports.serveBackend = serveBackend;
36
+ //# sourceMappingURL=backend.cjs.js.map
@@ -1,45 +1,23 @@
1
1
  'use strict';
2
2
 
3
+ var yn = require('yn');
3
4
  var fs = require('fs-extra');
4
5
  var path = require('path');
5
6
  var webpack = require('webpack');
6
- var chalk = require('chalk');
7
- require('eslint-webpack-plugin');
8
- require('fork-ts-checker-webpack-plugin');
9
- require('html-webpack-plugin');
10
- require('@module-federation/enhanced/webpack');
11
- require('@backstage/cli-common');
12
- require('react-dev-utils/ModuleScopePlugin');
13
- require('run-script-webpack-plugin');
14
- require('@pmmmwh/react-refresh-webpack-plugin');
15
- require('./index-v57xnvgT.cjs.js');
16
- require('@manypkg/get-packages');
17
- require('webpack-node-externals');
18
- var moduleFederation = require('./moduleFederation-Dq0n1quT.cjs.js');
19
- require('lodash/pickBy');
20
- require('./run-HW3lfDbM.cjs.js');
21
- require('mini-css-extract-plugin');
22
- var yn = require('yn');
23
7
  var FileSizeReporter = require('react-dev-utils/FileSizeReporter');
24
8
  var formatWebpackMessages = require('react-dev-utils/formatWebpackMessages');
25
- require('react-dev-utils/openBrowser');
26
- require('webpack-dev-server');
27
- var config = require('./config-nCB2LQK-.cjs.js');
28
- var parallel = require('./parallel-BszNaKyc.cjs.js');
29
- var os = require('os');
30
- var tar = require('tar');
31
- var createDistWorkspace = require('./createDistWorkspace-DKzy-L-f.cjs.js');
32
- var cliNode = require('@backstage/cli-node');
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');
33
13
 
34
14
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
35
15
 
16
+ var yn__default = /*#__PURE__*/_interopDefaultCompat(yn);
36
17
  var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
37
18
  var webpack__default = /*#__PURE__*/_interopDefaultCompat(webpack);
38
- var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
39
- var yn__default = /*#__PURE__*/_interopDefaultCompat(yn);
40
19
  var formatWebpackMessages__default = /*#__PURE__*/_interopDefaultCompat(formatWebpackMessages);
41
- var os__default = /*#__PURE__*/_interopDefaultCompat(os);
42
- var tar__default = /*#__PURE__*/_interopDefaultCompat(tar);
20
+ var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
43
21
 
44
22
  const WARN_AFTER_BUNDLE_GZIP_SIZE = 512 * 1024;
45
23
  const WARN_AFTER_CHUNK_GZIP_SIZE = 1024 * 1024;
@@ -49,8 +27,8 @@ function applyContextToError(error, moduleName) {
49
27
  }
50
28
  async function buildBundle(options) {
51
29
  const { statsJsonEnabled, schema: configSchema } = options;
52
- const paths = moduleFederation.resolveBundlingPaths(options);
53
- const publicPaths = await moduleFederation.resolveOptionalBundlingPaths({
30
+ const paths$1 = paths.resolveBundlingPaths(options);
31
+ const publicPaths = await paths.resolveOptionalBundlingPaths({
54
32
  targetDir: options.targetDir,
55
33
  entry: "src/index-public-experimental",
56
34
  dist: "dist/public"
@@ -63,14 +41,14 @@ async function buildBundle(options) {
63
41
  };
64
42
  const configs = [];
65
43
  if (options.moduleFederation?.mode === "remote") {
66
- configs.push(await moduleFederation.createConfig(paths, commonConfigOptions));
44
+ configs.push(await config.createConfig(paths$1, commonConfigOptions));
67
45
  } else {
68
- const detectedModulesEntryPoint = await moduleFederation.createDetectedModulesEntryPoint({
46
+ const detectedModulesEntryPoint = await packageDetection.createDetectedModulesEntryPoint({
69
47
  config: options.fullConfig,
70
- targetPath: paths.targetPath
48
+ targetPath: paths$1.targetPath
71
49
  });
72
50
  configs.push(
73
- await moduleFederation.createConfig(paths, {
51
+ await config.createConfig(paths$1, {
74
52
  ...commonConfigOptions,
75
53
  additionalEntryPoints: detectedModulesEntryPoint,
76
54
  appMode: publicPaths ? "protected" : "public"
@@ -83,7 +61,7 @@ async function buildBundle(options) {
83
61
  )
84
62
  );
85
63
  configs.push(
86
- await moduleFederation.createConfig(publicPaths, {
64
+ await config.createConfig(publicPaths, {
87
65
  ...commonConfigOptions,
88
66
  appMode: "public"
89
67
  })
@@ -91,24 +69,24 @@ async function buildBundle(options) {
91
69
  }
92
70
  }
93
71
  const isCi = yn__default.default(process.env.CI, { default: false });
94
- const previousFileSizes = await FileSizeReporter.measureFileSizesBeforeBuild(paths.targetDist);
72
+ const previousFileSizes = await FileSizeReporter.measureFileSizesBeforeBuild(paths$1.targetDist);
95
73
  const previousAuthSizes = publicPaths ? await FileSizeReporter.measureFileSizesBeforeBuild(publicPaths.targetDist) : void 0;
96
- await fs__default.default.emptyDir(paths.targetDist);
97
- if (paths.targetPublic) {
98
- await fs__default.default.copy(paths.targetPublic, paths.targetDist, {
74
+ await fs__default.default.emptyDir(paths$1.targetDist);
75
+ if (paths$1.targetPublic) {
76
+ await fs__default.default.copy(paths$1.targetPublic, paths$1.targetDist, {
99
77
  dereference: true,
100
- filter: (file) => file !== paths.targetHtml
78
+ filter: (file) => file !== paths$1.targetHtml
101
79
  });
102
80
  if (publicPaths) {
103
- await fs__default.default.copy(paths.targetPublic, publicPaths.targetDist, {
81
+ await fs__default.default.copy(paths$1.targetPublic, publicPaths.targetDist, {
104
82
  dereference: true,
105
- filter: (file) => file !== paths.targetHtml
83
+ filter: (file) => file !== paths$1.targetHtml
106
84
  });
107
85
  }
108
86
  }
109
87
  if (configSchema) {
110
88
  await fs__default.default.writeJson(
111
- path.resolve(paths.targetDist, ".config-schema.json"),
89
+ path.resolve(paths$1.targetDist, ".config-schema.json"),
112
90
  configSchema.serialize(),
113
91
  { spaces: 2 }
114
92
  );
@@ -120,14 +98,14 @@ async function buildBundle(options) {
120
98
  const [mainStats, authStats] = stats.stats;
121
99
  if (statsJsonEnabled) {
122
100
  await require("bfj").write(
123
- path.resolve(paths.targetDist, "bundle-stats.json"),
101
+ path.resolve(paths$1.targetDist, "bundle-stats.json"),
124
102
  mainStats.toJson()
125
103
  );
126
104
  }
127
105
  FileSizeReporter.printFileSizesAfterBuild(
128
106
  mainStats,
129
107
  previousFileSizes,
130
- paths.targetDist,
108
+ paths$1.targetDist,
131
109
  WARN_AFTER_BUNDLE_GZIP_SIZE,
132
110
  WARN_AFTER_CHUNK_GZIP_SIZE
133
111
  );
@@ -199,70 +177,5 @@ async function build(configs, isCi) {
199
177
  return { stats };
200
178
  }
201
179
 
202
- async function buildFrontend(options) {
203
- const { targetDir, writeStats, configPaths } = options;
204
- const { name } = await fs__default.default.readJson(path.resolve(targetDir, "package.json"));
205
- await buildBundle({
206
- targetDir,
207
- entry: "src/index",
208
- parallelism: parallel.getEnvironmentParallelism(),
209
- statsJsonEnabled: writeStats,
210
- moduleFederation: moduleFederation.getModuleFederationOptions(
211
- name,
212
- options.isModuleFederationRemote
213
- ),
214
- ...await config.loadCliConfig({
215
- args: configPaths,
216
- fromPackage: name
217
- })
218
- });
219
- }
220
-
221
- const BUNDLE_FILE = "bundle.tar.gz";
222
- const SKELETON_FILE = "skeleton.tar.gz";
223
- async function buildBackend(options) {
224
- const { targetDir, skipBuildDependencies, configPaths, minify } = options;
225
- const pkg = await fs__default.default.readJson(path.resolve(targetDir, "package.json"));
226
- await createDistWorkspace.buildPackage({
227
- targetDir,
228
- packageJson: pkg,
229
- outputs: /* @__PURE__ */ new Set([createDistWorkspace.Output.cjs]),
230
- minify,
231
- workspacePackages: await cliNode.PackageGraph.listTargetPackages()
232
- });
233
- const tmpDir = await fs__default.default.mkdtemp(path.resolve(os__default.default.tmpdir(), "backstage-bundle"));
234
- try {
235
- await createDistWorkspace.createDistWorkspace([pkg.name], {
236
- targetDir: tmpDir,
237
- configPaths,
238
- buildDependencies: !skipBuildDependencies,
239
- buildExcludes: [pkg.name],
240
- parallelism: parallel.getEnvironmentParallelism(),
241
- skeleton: SKELETON_FILE,
242
- minify
243
- });
244
- const distDir = path.resolve(targetDir, "dist");
245
- await fs__default.default.remove(distDir);
246
- await fs__default.default.mkdir(distDir);
247
- await fs__default.default.move(
248
- path.resolve(tmpDir, SKELETON_FILE),
249
- path.resolve(distDir, SKELETON_FILE)
250
- );
251
- await tar__default.default.create(
252
- {
253
- file: path.resolve(distDir, BUNDLE_FILE),
254
- cwd: tmpDir,
255
- portable: true,
256
- noMtime: true,
257
- gzip: true
258
- },
259
- [""]
260
- );
261
- } finally {
262
- await fs__default.default.remove(tmpDir);
263
- }
264
- }
265
-
266
- exports.buildBackend = buildBackend;
267
- exports.buildFrontend = buildFrontend;
268
- //# sourceMappingURL=buildBackend-DXvz7jvh.cjs.js.map
180
+ exports.buildBundle = buildBundle;
181
+ //# sourceMappingURL=bundle.cjs.js.map