@backstage/cli 0.13.0 → 0.13.2-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 (54) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/config/eslint.backend.js +1 -12
  3. package/config/eslint.js +6 -17
  4. package/dist/cjs/{PackageGraph-7a0d3a83.cjs.js → PackageGraph-96b2e6ef.cjs.js} +8 -1
  5. package/dist/cjs/backend-fb6d6170.cjs.js +36 -0
  6. package/dist/cjs/{build-c7b2ea88.cjs.js → build-8fd28a6d.cjs.js} +7 -3
  7. package/dist/cjs/{build-959e2ffa.cjs.js → build-93f627fc.cjs.js} +7 -3
  8. package/dist/cjs/build-9db9aaaf.cjs.js +173 -0
  9. package/dist/cjs/build-b3c69eff.cjs.js +57 -0
  10. package/dist/cjs/buildBackend-08cefb3c.cjs.js +83 -0
  11. package/dist/cjs/buildWorkspace-1323bee2.cjs.js +54 -0
  12. package/dist/cjs/{bump-d7017b61.cjs.js → bump-a85eb7bb.cjs.js} +74 -73
  13. package/dist/cjs/{build-b4301c17.cjs.js → bundle-4ce79bce.cjs.js} +10 -49
  14. package/dist/cjs/{bundle-a12319b7.cjs.js → bundle-b3d9e5ab.cjs.js} +15 -10
  15. package/dist/cjs/{clean-5638771f.cjs.js → clean-c50d4782.cjs.js} +2 -2
  16. package/dist/cjs/{config-199a492f.cjs.js → config-f2365900.cjs.js} +3 -3
  17. package/dist/cjs/{create-db02de74.cjs.js → create-7ad905e4.cjs.js} +4 -4
  18. package/dist/cjs/createDistWorkspace-f4c0276b.cjs.js +205 -0
  19. package/dist/cjs/{createPlugin-10786f3f.cjs.js → createPlugin-ba8c6df0.cjs.js} +4 -4
  20. package/dist/cjs/{dev-76979eca.cjs.js → dev-e8f4294f.cjs.js} +7 -32
  21. package/dist/cjs/{diff-49413933.cjs.js → diff-7c3a6378.cjs.js} +4 -8
  22. package/dist/cjs/{docs-701e1b43.cjs.js → docs-f72a2ec8.cjs.js} +4 -4
  23. package/dist/cjs/index-526e4dc9.cjs.js +94 -0
  24. package/dist/cjs/{index-34d6a6a3.cjs.js → index-8b03e1f7.cjs.js} +72 -47
  25. package/dist/cjs/{index-d5e2da99.cjs.js → index-c953b562.cjs.js} +2 -2
  26. package/dist/cjs/index-d7ee78c4.cjs.js +125 -0
  27. package/dist/cjs/{info-82d6df9a.cjs.js → info-92d051f2.cjs.js} +3 -3
  28. package/dist/cjs/{install-c1cc1699.cjs.js → install-1f10c477.cjs.js} +4 -4
  29. package/dist/cjs/lint-a49b0261.cjs.js +35 -0
  30. package/dist/cjs/{lint-90b05512.cjs.js → lint-cc10c98e.cjs.js} +3 -3
  31. package/dist/cjs/{build-411cb39c.cjs.js → oldBuild-e0886590.cjs.js} +9 -5
  32. package/dist/cjs/{pack-6d555709.cjs.js → pack-7da7f03b.cjs.js} +2 -2
  33. package/dist/cjs/packageRole-7bb8a760.cjs.js +54 -0
  34. package/dist/cjs/packageRoles-f4b169a7.cjs.js +158 -0
  35. package/dist/cjs/packageScripts-23016b48.cjs.js +61 -0
  36. package/dist/cjs/{packager-b384ddb4.cjs.js → packager-3bddd88f.cjs.js} +181 -74
  37. package/dist/cjs/{packages-deee570e.cjs.js → packages-08c02af1.cjs.js} +3 -3
  38. package/dist/cjs/parallel-e73a4058.cjs.js +48 -0
  39. package/dist/cjs/{paths-2c7f6dab.cjs.js → paths-f6ca70df.cjs.js} +19 -18
  40. package/dist/cjs/{print-e49ed821.cjs.js → print-43232f19.cjs.js} +4 -4
  41. package/dist/cjs/{run-596a22b2.cjs.js → run-8da8f918.cjs.js} +2 -2
  42. package/dist/cjs/{schema-cd5d09d2.cjs.js → schema-2c7e9598.cjs.js} +4 -4
  43. package/dist/cjs/{serve-948b0129.cjs.js → serve-01190cc4.cjs.js} +37 -20
  44. package/dist/cjs/{serve-a81d4924.cjs.js → serve-9c68f54d.cjs.js} +7 -7
  45. package/dist/cjs/{server-11842d16.cjs.js → server-937c32b4.cjs.js} +2 -2
  46. package/dist/cjs/{tasks-47ef8136.cjs.js → tasks-3a7eba1b.cjs.js} +2 -2
  47. package/dist/cjs/{testCommand-c91c3e8a.cjs.js → testCommand-5cdbf69c.cjs.js} +3 -3
  48. package/dist/cjs/{validate-ee0ea71a.cjs.js → validate-697fd284.cjs.js} +4 -4
  49. package/dist/index.cjs.js +1 -1
  50. package/package.json +12 -9
  51. package/dist/cjs/buildWorkspace-df8a4418.cjs.js +0 -35
  52. package/dist/cjs/index-de296eda.cjs.js +0 -106
  53. package/dist/cjs/lint-3a07e770.cjs.js +0 -29
  54. package/dist/cjs/parallel-7e32a8d0.cjs.js +0 -25
package/CHANGELOG.md CHANGED
@@ -1,5 +1,43 @@
1
1
  # @backstage/cli
2
2
 
3
+ ## 0.13.2-next.0
4
+
5
+ ### Patch Changes
6
+
7
+ - bbbaa8ed61: The `plugin:diff` command no longer validates the existence of any of the files within `dev/` or `src/`.
8
+ - eaf67f0578: Introduced initial support for an experimental `backstage.role` field in package.json, as well as experimental and hidden `migrate` and `script` sub-commands. We do not recommend usage of any of these additions yet.
9
+ - d59b90852a: The experimental types build enabled by `--experimental-type-build` now runs in a separate worker thread.
10
+ - 50a19ff8dd: The file path printed by the default lint formatter is now relative to the repository root, rather than the individual package.
11
+ - 63181dee79: Tweaked frontend bundling configuration to avoid leaking declarations into global scope.
12
+ - fae2aee878: Removed the `import/no-duplicates` lint rule from the frontend and backend ESLint configurations. This rule is quite expensive to execute and only provides a purely cosmetic benefit, so we opted to remove it from the set of default rules. If you would like to keep this rule you can add it back in your local ESLint configuration:
13
+
14
+ ```js
15
+ 'import/no-duplicates': 'warn'
16
+ ```
17
+
18
+ - b906f98119: Rather than calling `yarn pack`, the `build-workspace` and `backend-bundle` commands now move files directly whenever possible. This cuts out several `yarn` invocations and speeds the packing process up by several orders of magnitude.
19
+ - d0c71e2aa4: Switched the `lint` command to invoke ESLint directly through its Node.js API rather than spawning a new process.
20
+ - d59b90852a: Introduced an experimental and hidden `repo` sub-command, that contains commands that operate on an entire monorepo rather than individual packages.
21
+
22
+ ## 0.13.1
23
+
24
+ ### Patch Changes
25
+
26
+ - 5bd0ce9e62: chore(deps): bump `inquirer` from 7.3.3 to 8.2.0
27
+ - 80f510caee: Log warning if unable to parse yarn.lock
28
+
29
+ ## 0.13.1-next.1
30
+
31
+ ### Patch Changes
32
+
33
+ - 5bd0ce9e62: chore(deps): bump `inquirer` from 7.3.3 to 8.2.0
34
+
35
+ ## 0.13.1-next.0
36
+
37
+ ### Patch Changes
38
+
39
+ - 80f510caee: Log warning if unable to parse yarn.lock
40
+
3
41
  ## 0.13.0
4
42
 
5
43
  ### Minor Changes
@@ -54,11 +54,10 @@ module.exports = {
54
54
  'no-console': 0, // Permitted in console programs
55
55
  'new-cap': ['error', { capIsNew: false }], // Because Express constructs things e.g. like 'const r = express.Router()'
56
56
  'import/newline-after-import': 'error',
57
- 'import/no-duplicates': 'warn',
58
57
  'import/no-extraneous-dependencies': [
59
58
  'error',
60
59
  {
61
- devDependencies: false,
60
+ devDependencies: ['**/*.test.*', 'src/setupTests.*', 'dev/**'],
62
61
  optionalDependencies: true,
63
62
  peerDependencies: true,
64
63
  bundledDependencies: true,
@@ -97,16 +96,6 @@ module.exports = {
97
96
  {
98
97
  files: ['*.test.*', 'src/setupTests.*', 'dev/**'],
99
98
  rules: {
100
- // Tests are allowed to import dev dependencies
101
- 'import/no-extraneous-dependencies': [
102
- 'error',
103
- {
104
- devDependencies: true,
105
- optionalDependencies: true,
106
- peerDependencies: true,
107
- bundledDependencies: true,
108
- },
109
- ],
110
99
  'no-restricted-syntax': ['error', ...globalRestrictedSyntax],
111
100
  },
112
101
  },
package/config/eslint.js CHANGED
@@ -49,11 +49,15 @@ module.exports = {
49
49
  '@typescript-eslint/no-redeclare': 'error',
50
50
  'no-undef': 'off',
51
51
  'import/newline-after-import': 'error',
52
- 'import/no-duplicates': 'warn',
53
52
  'import/no-extraneous-dependencies': [
54
53
  'error',
55
54
  {
56
- devDependencies: false,
55
+ devDependencies: [
56
+ '**/*.test.*',
57
+ '**/*.stories.*',
58
+ 'src/setupTests.*',
59
+ 'dev/**',
60
+ ],
57
61
  optionalDependencies: true,
58
62
  peerDependencies: true,
59
63
  bundledDependencies: true,
@@ -101,20 +105,5 @@ module.exports = {
101
105
  'no-undef': 'off',
102
106
  },
103
107
  },
104
- {
105
- files: ['*.test.*', '*.stories.*', 'src/setupTests.*', 'dev/**'],
106
- rules: {
107
- // Tests are allowed to import dev dependencies
108
- 'import/no-extraneous-dependencies': [
109
- 'error',
110
- {
111
- devDependencies: true,
112
- optionalDependencies: true,
113
- peerDependencies: true,
114
- bundledDependencies: true,
115
- },
116
- ],
117
- },
118
- },
119
108
  ],
120
109
  };
@@ -1,6 +1,13 @@
1
1
  'use strict';
2
2
 
3
+ var getPackages = require('@manypkg/get-packages');
4
+ var index = require('./index-8b03e1f7.cjs.js');
5
+
3
6
  class PackageGraph extends Map {
7
+ static async listTargetPackages() {
8
+ const { packages } = await getPackages.getPackages(index.paths.targetDir);
9
+ return packages;
10
+ }
4
11
  static fromPackages(packages) {
5
12
  const graph = new PackageGraph();
6
13
  for (const pkg of packages) {
@@ -70,4 +77,4 @@ class PackageGraph extends Map {
70
77
  }
71
78
 
72
79
  exports.PackageGraph = PackageGraph;
73
- //# sourceMappingURL=PackageGraph-7a0d3a83.cjs.js.map
80
+ //# sourceMappingURL=PackageGraph-96b2e6ef.cjs.js.map
@@ -0,0 +1,36 @@
1
+ 'use strict';
2
+
3
+ var webpack = require('webpack');
4
+ var paths = require('./paths-f6ca70df.cjs.js');
5
+
6
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
7
+
8
+ var webpack__default = /*#__PURE__*/_interopDefaultLegacy(webpack);
9
+
10
+ async function serveBackend(options) {
11
+ const paths$1 = paths.resolveBundlingPaths(options);
12
+ const config = await paths.createBackendConfig(paths$1, {
13
+ ...options,
14
+ isDev: true
15
+ });
16
+ const compiler = webpack__default["default"](config, (err) => {
17
+ if (err) {
18
+ console.error(err);
19
+ } else
20
+ console.log("Build succeeded");
21
+ });
22
+ const waitForExit = async () => {
23
+ for (const signal of ["SIGINT", "SIGTERM"]) {
24
+ process.on(signal, () => {
25
+ compiler.close(() => console.log("Stopped watcher"));
26
+ process.exit();
27
+ });
28
+ }
29
+ return new Promise(() => {
30
+ });
31
+ };
32
+ return waitForExit;
33
+ }
34
+
35
+ exports.serveBackend = serveBackend;
36
+ //# sourceMappingURL=backend-fb6d6170.cjs.js.map
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var packager = require('./packager-b384ddb4.cjs.js');
3
+ var packager = require('./packager-3bddd88f.cjs.js');
4
4
  require('fs-extra');
5
5
  require('rollup');
6
6
  require('chalk');
7
7
  require('path');
8
- require('./index-34d6a6a3.cjs.js');
8
+ require('./index-8b03e1f7.cjs.js');
9
9
  require('commander');
10
10
  require('semver');
11
11
  require('@backstage/cli-common');
@@ -22,6 +22,10 @@ require('@rollup/plugin-json');
22
22
  require('@rollup/plugin-yaml');
23
23
  require('rollup-pluginutils');
24
24
  require('./svgrTemplate-f19e974c.cjs.js');
25
+ require('worker_threads');
26
+ require('./packageRoles-f4b169a7.cjs.js');
27
+ require('zod');
28
+ require('./parallel-e73a4058.cjs.js');
25
29
 
26
30
  var build = async (cmd) => {
27
31
  await packager.buildPackage({
@@ -32,4 +36,4 @@ var build = async (cmd) => {
32
36
  };
33
37
 
34
38
  exports["default"] = build;
35
- //# sourceMappingURL=build-c7b2ea88.cjs.js.map
39
+ //# sourceMappingURL=build-8fd28a6d.cjs.js.map
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var packager = require('./packager-b384ddb4.cjs.js');
3
+ var packager = require('./packager-3bddd88f.cjs.js');
4
4
  require('fs-extra');
5
5
  require('rollup');
6
6
  require('chalk');
7
7
  require('path');
8
- require('./index-34d6a6a3.cjs.js');
8
+ require('./index-8b03e1f7.cjs.js');
9
9
  require('commander');
10
10
  require('semver');
11
11
  require('@backstage/cli-common');
@@ -22,6 +22,10 @@ require('@rollup/plugin-json');
22
22
  require('@rollup/plugin-yaml');
23
23
  require('rollup-pluginutils');
24
24
  require('./svgrTemplate-f19e974c.cjs.js');
25
+ require('worker_threads');
26
+ require('./packageRoles-f4b169a7.cjs.js');
27
+ require('zod');
28
+ require('./parallel-e73a4058.cjs.js');
25
29
 
26
30
  var build = async (cmd) => {
27
31
  await packager.buildPackage({
@@ -32,4 +36,4 @@ var build = async (cmd) => {
32
36
  };
33
37
 
34
38
  exports["default"] = build;
35
- //# sourceMappingURL=build-959e2ffa.cjs.js.map
39
+ //# sourceMappingURL=build-93f627fc.cjs.js.map
@@ -0,0 +1,173 @@
1
+ 'use strict';
2
+
3
+ var chalk = require('chalk');
4
+ var path = require('path');
5
+ var packager = require('./packager-3bddd88f.cjs.js');
6
+ var PackageGraph = require('./PackageGraph-96b2e6ef.cjs.js');
7
+ var parallel = require('./parallel-e73a4058.cjs.js');
8
+ var index = require('./index-8b03e1f7.cjs.js');
9
+ var packageRoles = require('./packageRoles-f4b169a7.cjs.js');
10
+ var buildBackend = require('./buildBackend-08cefb3c.cjs.js');
11
+ require('fs-extra');
12
+ require('rollup');
13
+ require('rollup-plugin-peer-deps-external');
14
+ require('@rollup/plugin-commonjs');
15
+ require('@rollup/plugin-node-resolve');
16
+ require('rollup-plugin-postcss');
17
+ require('rollup-plugin-esbuild');
18
+ require('@svgr/rollup');
19
+ require('rollup-plugin-dts');
20
+ require('@rollup/plugin-json');
21
+ require('@rollup/plugin-yaml');
22
+ require('rollup-pluginutils');
23
+ require('./svgrTemplate-f19e974c.cjs.js');
24
+ require('worker_threads');
25
+ require('@manypkg/get-packages');
26
+ require('commander');
27
+ require('semver');
28
+ require('@backstage/cli-common');
29
+ require('@backstage/config/package.json');
30
+ require('@backstage/errors');
31
+ require('zod');
32
+ require('webpack');
33
+ require('fork-ts-checker-webpack-plugin');
34
+ require('html-webpack-plugin');
35
+ require('react-dev-utils/ModuleScopePlugin');
36
+ require('run-script-webpack-plugin');
37
+ require('webpack-node-externals');
38
+ require('./paths-f6ca70df.cjs.js');
39
+ require('mini-css-extract-plugin');
40
+ require('./run-8da8f918.cjs.js');
41
+ require('child_process');
42
+ require('util');
43
+ require('eslint-webpack-plugin');
44
+ require('lodash/pickBy');
45
+ require('./bundle-4ce79bce.cjs.js');
46
+ require('yn');
47
+ require('react-dev-utils/FileSizeReporter');
48
+ require('react-dev-utils/formatWebpackMessages');
49
+ require('webpack-dev-server');
50
+ require('react-dev-utils/openBrowser');
51
+ require('./config-f2365900.cjs.js');
52
+ require('@backstage/config-loader');
53
+ require('@backstage/config');
54
+ require('os');
55
+ require('tar');
56
+ require('./createDistWorkspace-f4c0276b.cjs.js');
57
+ require('lodash/partition');
58
+ require('npm-packlist');
59
+
60
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
61
+
62
+ var chalk__default = /*#__PURE__*/_interopDefaultLegacy(chalk);
63
+
64
+ function createScriptOptionsParser(anyCmd, commandPath) {
65
+ let rootCmd = anyCmd;
66
+ while (rootCmd.parent) {
67
+ rootCmd = rootCmd.parent;
68
+ }
69
+ let targetCmd = rootCmd;
70
+ for (const name of commandPath) {
71
+ targetCmd = targetCmd == null ? void 0 : targetCmd.commands.find((c) => c.name() === name);
72
+ }
73
+ if (!targetCmd) {
74
+ throw new Error(`Could not find script command '${commandPath.join(" ")}'`);
75
+ }
76
+ const cmd = targetCmd;
77
+ const expectedScript = `backstage-cli ${commandPath.join(" ")}`;
78
+ return (scriptStr) => {
79
+ if (!scriptStr || !scriptStr.startsWith(expectedScript)) {
80
+ return void 0;
81
+ }
82
+ const argsStr = scriptStr.slice(expectedScript.length).trim();
83
+ const currentOpts = cmd._optionValues;
84
+ const currentStore = cmd._storeOptionsAsProperties;
85
+ const result = {};
86
+ cmd._storeOptionsAsProperties = false;
87
+ cmd._optionValues = result;
88
+ cmd.parseOptions(argsStr.split(" "));
89
+ cmd._storeOptionsAsProperties = currentOpts;
90
+ cmd._optionValues = currentStore;
91
+ return result;
92
+ };
93
+ }
94
+ async function command(cmd) {
95
+ const packages = await PackageGraph.PackageGraph.listTargetPackages();
96
+ const apps = new Array();
97
+ const backends = new Array();
98
+ const parseBuildScript = createScriptOptionsParser(cmd, ["script", "build"]);
99
+ const options = packages.flatMap((pkg) => {
100
+ var _a, _b, _c;
101
+ const role = (_b = (_a = pkg.packageJson.backstage) == null ? void 0 : _a.role) != null ? _b : packageRoles.detectRoleFromPackage(pkg.packageJson);
102
+ if (!role) {
103
+ console.warn(`Ignored ${pkg.packageJson.name} because it has no role`);
104
+ return [];
105
+ }
106
+ if (role === "app") {
107
+ apps.push(pkg);
108
+ return [];
109
+ } else if (role === "backend") {
110
+ backends.push(pkg);
111
+ return [];
112
+ }
113
+ const outputs = packager.getOutputsForRole(role);
114
+ if (outputs.size === 0) {
115
+ console.warn(`Ignored ${pkg.packageJson.name} because it has no output`);
116
+ return [];
117
+ }
118
+ const buildOptions = parseBuildScript((_c = pkg.packageJson.scripts) == null ? void 0 : _c.build);
119
+ if (!buildOptions) {
120
+ console.warn(`Ignored ${pkg.packageJson.name} because it does not have a matching build script`);
121
+ return [];
122
+ }
123
+ return {
124
+ targetDir: pkg.dir,
125
+ outputs,
126
+ logPrefix: `${chalk__default["default"].cyan(path.relative(index.paths.targetRoot, pkg.dir))}: `,
127
+ minify: buildOptions.minify,
128
+ useApiExtractor: buildOptions.experimentalTypeBuild
129
+ };
130
+ });
131
+ console.log("Building packages");
132
+ await packager.buildPackages(options);
133
+ if (cmd.all) {
134
+ console.log("Building apps");
135
+ await parallel.runParallelWorkers({
136
+ items: apps,
137
+ parallelismFactor: 1 / 2,
138
+ worker: async (pkg) => {
139
+ var _a, _b;
140
+ const buildOptions = parseBuildScript((_a = pkg.packageJson.scripts) == null ? void 0 : _a.build);
141
+ if (!buildOptions) {
142
+ console.warn(`Ignored ${pkg.packageJson.name} because it does not have a matching build script`);
143
+ return;
144
+ }
145
+ await buildBackend.buildApp({
146
+ targetDir: pkg.dir,
147
+ configPaths: (_b = buildOptions.config) != null ? _b : [],
148
+ writeStats: Boolean(buildOptions.stats)
149
+ });
150
+ }
151
+ });
152
+ console.log("Building backends");
153
+ await parallel.runParallelWorkers({
154
+ items: backends,
155
+ parallelismFactor: 1 / 2,
156
+ worker: async (pkg) => {
157
+ var _a;
158
+ const buildOptions = parseBuildScript((_a = pkg.packageJson.scripts) == null ? void 0 : _a.build);
159
+ if (!buildOptions) {
160
+ console.warn(`Ignored ${pkg.packageJson.name} because it does not have a matching build script`);
161
+ return;
162
+ }
163
+ await buildBackend.buildBackend({
164
+ targetDir: pkg.dir,
165
+ skipBuildDependencies: true
166
+ });
167
+ }
168
+ });
169
+ }
170
+ }
171
+
172
+ exports.command = command;
173
+ //# sourceMappingURL=build-9db9aaaf.cjs.js.map
@@ -0,0 +1,57 @@
1
+ 'use strict';
2
+
3
+ var fs = require('fs-extra');
4
+ require('webpack');
5
+ require('chalk');
6
+ require('path');
7
+ require('fork-ts-checker-webpack-plugin');
8
+ require('html-webpack-plugin');
9
+ require('react-dev-utils/ModuleScopePlugin');
10
+ require('run-script-webpack-plugin');
11
+ require('webpack-node-externals');
12
+ require('@backstage/cli-common');
13
+ require('@manypkg/get-packages');
14
+ require('./paths-f6ca70df.cjs.js');
15
+ require('mini-css-extract-plugin');
16
+ var index = require('./index-8b03e1f7.cjs.js');
17
+ require('./run-8da8f918.cjs.js');
18
+ require('eslint-webpack-plugin');
19
+ require('lodash/pickBy');
20
+ var bundle = require('./bundle-4ce79bce.cjs.js');
21
+ require('webpack-dev-server');
22
+ require('react-dev-utils/openBrowser');
23
+ var parallel = require('./parallel-e73a4058.cjs.js');
24
+ var config = require('./config-f2365900.cjs.js');
25
+ require('./svgrTemplate-f19e974c.cjs.js');
26
+ require('commander');
27
+ require('semver');
28
+ require('@backstage/config/package.json');
29
+ require('@backstage/errors');
30
+ require('child_process');
31
+ require('util');
32
+ require('yn');
33
+ require('react-dev-utils/FileSizeReporter');
34
+ require('react-dev-utils/formatWebpackMessages');
35
+ require('@backstage/config-loader');
36
+ require('@backstage/config');
37
+ require('./PackageGraph-96b2e6ef.cjs.js');
38
+
39
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
40
+
41
+ var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
42
+
43
+ var build = async (cmd) => {
44
+ const { name } = await fs__default["default"].readJson(index.paths.resolveTarget("package.json"));
45
+ await bundle.buildBundle({
46
+ entry: "src/index",
47
+ parallelism: parallel.getEnvironmentParallelism(),
48
+ statsJsonEnabled: cmd.stats,
49
+ ...await config.loadCliConfig({
50
+ args: cmd.config,
51
+ fromPackage: name
52
+ })
53
+ });
54
+ };
55
+
56
+ exports["default"] = build;
57
+ //# sourceMappingURL=build-b3c69eff.cjs.js.map
@@ -0,0 +1,83 @@
1
+ 'use strict';
2
+
3
+ var fs = require('fs-extra');
4
+ var path = require('path');
5
+ require('webpack');
6
+ require('chalk');
7
+ require('fork-ts-checker-webpack-plugin');
8
+ require('html-webpack-plugin');
9
+ require('react-dev-utils/ModuleScopePlugin');
10
+ require('run-script-webpack-plugin');
11
+ require('webpack-node-externals');
12
+ require('@backstage/cli-common');
13
+ require('@manypkg/get-packages');
14
+ require('./paths-f6ca70df.cjs.js');
15
+ require('mini-css-extract-plugin');
16
+ require('./index-8b03e1f7.cjs.js');
17
+ require('./run-8da8f918.cjs.js');
18
+ require('eslint-webpack-plugin');
19
+ require('lodash/pickBy');
20
+ var bundle = require('./bundle-4ce79bce.cjs.js');
21
+ require('webpack-dev-server');
22
+ require('react-dev-utils/openBrowser');
23
+ var parallel = require('./parallel-e73a4058.cjs.js');
24
+ var config = require('./config-f2365900.cjs.js');
25
+ var os = require('os');
26
+ var tar = require('tar');
27
+ var createDistWorkspace = require('./createDistWorkspace-f4c0276b.cjs.js');
28
+ var packager = require('./packager-3bddd88f.cjs.js');
29
+
30
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
31
+
32
+ var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
33
+ var os__default = /*#__PURE__*/_interopDefaultLegacy(os);
34
+ var tar__default = /*#__PURE__*/_interopDefaultLegacy(tar);
35
+
36
+ async function buildApp(options) {
37
+ const { targetDir, writeStats, configPaths } = options;
38
+ const { name } = await fs__default["default"].readJson(path.resolve(targetDir, "package.json"));
39
+ await bundle.buildBundle({
40
+ targetDir,
41
+ entry: "src/index",
42
+ parallelism: parallel.getEnvironmentParallelism(),
43
+ statsJsonEnabled: writeStats,
44
+ ...await config.loadCliConfig({
45
+ args: configPaths,
46
+ fromPackage: name
47
+ })
48
+ });
49
+ }
50
+
51
+ const BUNDLE_FILE = "bundle.tar.gz";
52
+ const SKELETON_FILE = "skeleton.tar.gz";
53
+ async function buildBackend(options) {
54
+ const { targetDir, skipBuildDependencies } = options;
55
+ const pkg = await fs__default["default"].readJson(path.resolve(targetDir, "package.json"));
56
+ await packager.buildPackage({ outputs: /* @__PURE__ */ new Set([packager.Output.cjs]) });
57
+ const tmpDir = await fs__default["default"].mkdtemp(path.resolve(os__default["default"].tmpdir(), "backstage-bundle"));
58
+ try {
59
+ await createDistWorkspace.createDistWorkspace([pkg.name], {
60
+ targetDir: tmpDir,
61
+ buildDependencies: !skipBuildDependencies,
62
+ buildExcludes: [pkg.name],
63
+ parallelism: parallel.getEnvironmentParallelism(),
64
+ skeleton: SKELETON_FILE
65
+ });
66
+ await fs__default["default"].remove(targetDir);
67
+ await fs__default["default"].mkdir(targetDir);
68
+ await fs__default["default"].move(path.resolve(tmpDir, SKELETON_FILE), path.resolve(targetDir, SKELETON_FILE));
69
+ await tar__default["default"].create({
70
+ file: path.resolve(targetDir, BUNDLE_FILE),
71
+ cwd: tmpDir,
72
+ portable: true,
73
+ noMtime: true,
74
+ gzip: true
75
+ }, [""]);
76
+ } finally {
77
+ await fs__default["default"].remove(tmpDir);
78
+ }
79
+ }
80
+
81
+ exports.buildApp = buildApp;
82
+ exports.buildBackend = buildBackend;
83
+ //# sourceMappingURL=buildBackend-08cefb3c.cjs.js.map
@@ -0,0 +1,54 @@
1
+ 'use strict';
2
+
3
+ var fs = require('fs-extra');
4
+ var createDistWorkspace = require('./createDistWorkspace-f4c0276b.cjs.js');
5
+ require('chalk');
6
+ require('path');
7
+ require('os');
8
+ require('tar');
9
+ require('lodash/partition');
10
+ require('./index-8b03e1f7.cjs.js');
11
+ require('commander');
12
+ require('semver');
13
+ require('@backstage/cli-common');
14
+ require('@backstage/config/package.json');
15
+ require('@backstage/errors');
16
+ require('./run-8da8f918.cjs.js');
17
+ require('child_process');
18
+ require('util');
19
+ require('./PackageGraph-96b2e6ef.cjs.js');
20
+ require('@manypkg/get-packages');
21
+ require('./packager-3bddd88f.cjs.js');
22
+ require('rollup');
23
+ require('rollup-plugin-peer-deps-external');
24
+ require('@rollup/plugin-commonjs');
25
+ require('@rollup/plugin-node-resolve');
26
+ require('rollup-plugin-postcss');
27
+ require('rollup-plugin-esbuild');
28
+ require('@svgr/rollup');
29
+ require('rollup-plugin-dts');
30
+ require('@rollup/plugin-json');
31
+ require('@rollup/plugin-yaml');
32
+ require('rollup-pluginutils');
33
+ require('./svgrTemplate-f19e974c.cjs.js');
34
+ require('worker_threads');
35
+ require('./packageRoles-f4b169a7.cjs.js');
36
+ require('zod');
37
+ require('./parallel-e73a4058.cjs.js');
38
+ require('npm-packlist');
39
+
40
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
41
+
42
+ var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
43
+
44
+ var buildWorkspace = async (dir, _cmd, packages) => {
45
+ if (!await fs__default["default"].pathExists(dir)) {
46
+ throw new Error(`Target workspace directory doesn't exist, '${dir}'`);
47
+ }
48
+ await createDistWorkspace.createDistWorkspace(packages, {
49
+ targetDir: dir
50
+ });
51
+ };
52
+
53
+ exports["default"] = buildWorkspace;
54
+ //# sourceMappingURL=buildWorkspace-1323bee2.cjs.js.map