@backstage/cli 0.25.3-next.1 → 0.26.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 (52) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/bin/backstage-cli +1 -9
  3. package/config/nodeTransform.cjs +45 -0
  4. package/dist/cjs/{build-097231a6.cjs.js → build-dd1760ba.cjs.js} +10 -8
  5. package/dist/cjs/{buildBackend-9faeb9a8.cjs.js → buildBackend-93008edd.cjs.js} +12 -10
  6. package/dist/cjs/{buildWorkspace-4711ef80.cjs.js → buildWorkspace-537eb788.cjs.js} +5 -4
  7. package/dist/cjs/{bump-b2500dcb.cjs.js → bump-aee0496e.cjs.js} +5 -5
  8. package/dist/cjs/{clean-5e61034c.cjs.js → clean-6ccda488.cjs.js} +2 -2
  9. package/dist/cjs/{clean-5c0c60ef.cjs.js → clean-8a505ab4.cjs.js} +2 -2
  10. package/dist/cjs/{codeowners-9da8480c.cjs.js → codeowners-b305c16a.cjs.js} +2 -2
  11. package/dist/cjs/{config-743e28e5.cjs.js → config-9d068fb3.cjs.js} +2 -2
  12. package/dist/cjs/{createDistWorkspace-d4886c13.cjs.js → createDistWorkspace-521b8e20.cjs.js} +8 -6
  13. package/dist/cjs/{createPlugin-54fdb1d3.cjs.js → createPlugin-5b733848.cjs.js} +4 -4
  14. package/dist/cjs/{diff-03426926.cjs.js → diff-ffcf1ddd.cjs.js} +2 -2
  15. package/dist/cjs/{docs-6d10c4c0.cjs.js → docs-62f456dc.cjs.js} +3 -3
  16. package/dist/cjs/{fix-60cc33a8.cjs.js → fix-c9486e20.cjs.js} +2 -2
  17. package/dist/cjs/{index-802c6b4a.cjs.js → index-14d17c46.cjs.js} +11 -9
  18. package/dist/cjs/{index-1efc6aad.cjs.js → index-34be8e16.cjs.js} +2 -2
  19. package/dist/cjs/{index-e9ebc07b.cjs.js → index-7a73b7d7.cjs.js} +27 -17
  20. package/dist/cjs/{index-8d0019af.cjs.js → index-959685eb.cjs.js} +3 -3
  21. package/dist/cjs/{index-2b3c0e05.cjs.js → index-f42e533f.cjs.js} +78 -65
  22. package/dist/cjs/{info-21e41d11.cjs.js → info-ecbe826f.cjs.js} +3 -3
  23. package/dist/cjs/{install-4f8e4dc1.cjs.js → install-27e2fe5d.cjs.js} +4 -4
  24. package/dist/cjs/{lint-3c6db1ca.cjs.js → lint-748f9c9d.cjs.js} +2 -2
  25. package/dist/cjs/{lint-8977ab7b.cjs.js → lint-813542b6.cjs.js} +2 -2
  26. package/dist/cjs/{lint-c21cef97.cjs.js → lint-cadb3a1e.cjs.js} +3 -3
  27. package/dist/cjs/{list-deprecations-834a052d.cjs.js → list-deprecations-a9347f75.cjs.js} +2 -2
  28. package/dist/cjs/{new-ad50c0bc.cjs.js → new-7cca705d.cjs.js} +7 -7
  29. package/dist/cjs/{pack-4a0b6ad1.cjs.js → pack-7abdf1e1.cjs.js} +2 -2
  30. package/dist/cjs/{packageDetection-024933fa.cjs.js → packageDetection-8d19bd36.cjs.js} +6 -3
  31. package/dist/cjs/{packageExports-f6f1e11b.cjs.js → packageExports-84600a62.cjs.js} +3 -3
  32. package/dist/cjs/{packageLintConfigs-4ec9457f.cjs.js → packageLintConfigs-f1239915.cjs.js} +3 -3
  33. package/dist/cjs/{packageRole-dc0bc770.cjs.js → packageRole-b982f1e6.cjs.js} +2 -2
  34. package/dist/cjs/{packages-01fa34e6.cjs.js → packages-9e5204b8.cjs.js} +3 -3
  35. package/dist/cjs/{print-26058fce.cjs.js → print-33cb8274.cjs.js} +3 -3
  36. package/dist/cjs/{role-9130c935.cjs.js → role-26dc0550.cjs.js} +2 -2
  37. package/dist/cjs/{run-1310629a.cjs.js → run-8f756fce.cjs.js} +2 -2
  38. package/dist/cjs/{schema-c7d7e094.cjs.js → schema-13e89347.cjs.js} +3 -3
  39. package/dist/cjs/{test-549005a1.cjs.js → test-52dfdc79.cjs.js} +3 -3
  40. package/dist/cjs/{test-ba6f66b0.cjs.js → test-7076bd21.cjs.js} +3 -3
  41. package/dist/cjs/{validate-185054c8.cjs.js → validate-2e4a0b12.cjs.js} +3 -3
  42. package/dist/index.cjs.js +1 -1
  43. package/package.json +27 -23
  44. package/templates/default-backend-plugin/dev/index.ts +9 -0
  45. package/templates/default-backend-plugin/package.json.hbs +4 -0
  46. package/templates/default-backend-plugin/src/index.ts.hbs +2 -0
  47. package/templates/default-backend-plugin/src/plugin.ts.hbs +32 -0
  48. package/templates/default-backend-plugin/src/service/router.ts +3 -2
  49. package/templates/serve_index.html +1 -1
  50. package/templates/default-backend-plugin/src/index.ts +0 -1
  51. package/templates/default-backend-plugin/src/run.ts.hbs +0 -17
  52. package/templates/default-backend-plugin/src/service/standaloneServer.ts.hbs +0 -34
package/CHANGELOG.md CHANGED
@@ -1,5 +1,56 @@
1
1
  # @backstage/cli
2
2
 
3
+ ## 0.26.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 0d72065: The backend devlopment server transpilation has been replaced with a simplified solution based on SWC, which is already the transpiler used for tests. This fixed an issue where never versions of the `tsx` dependency had a new contract for signalling dependencies, breaking watch mode. This change fixed file watches as well as enables sourcemaps.
8
+
9
+ ### Patch Changes
10
+
11
+ - fe1a55e: Extend option to minify generated code to the `backend` package.
12
+ - b0875e5: Fixed a bug that could cause the `build-workspace` command to fail when invoked with `--alwaysYarnPack` enabled in environments with limited resources.
13
+ - bdf9ec1: New backend plugins with cli are now created using the new backend system
14
+ - cadbb82: Added a `EXPERIMENTAL_LAZY_COMPILATION` flag, which enables the experimental Webpack lazy compilation option in frontend builds.
15
+ - 999224f: Bump dependency `minimatch` to v9
16
+ - 1bd4596: Removed the `ts-node` dev dependency.
17
+ - 8dce287: Fix prettier issues on default plugins & module templates
18
+ - f86e34c: Removed unused `replace-in-file` dependency
19
+ - 2398c7c: Updated dependency `@spotify/prettier-config` to `^15.0.0`.
20
+ Updated dependency `@spotify/eslint-config-base` to `^15.0.0`.
21
+ Updated dependency `@spotify/eslint-config-react` to `^15.0.0`.
22
+ Updated dependency `@spotify/eslint-config-typescript` to `^15.0.0`.
23
+ - f4404e5: Add .ico import support
24
+ - f39dfd3: Tweak the descriptions of the CLI templates
25
+ - Updated dependencies
26
+ - @backstage/integration@1.9.1
27
+ - @backstage/config@1.2.0
28
+ - @backstage/errors@1.2.4
29
+ - @backstage/eslint-plugin@0.1.6
30
+ - @backstage/config-loader@1.7.0
31
+ - @backstage/cli-node@0.2.4
32
+ - @backstage/catalog-model@1.4.5
33
+ - @backstage/cli-common@0.1.13
34
+ - @backstage/release-manifests@0.0.11
35
+ - @backstage/types@1.1.1
36
+
37
+ ## 0.25.3-next.2
38
+
39
+ ### Patch Changes
40
+
41
+ - f39dfd3: Tweak the descriptions of the CLI templates
42
+ - Updated dependencies
43
+ - @backstage/integration@1.9.1-next.2
44
+ - @backstage/catalog-model@1.4.5-next.0
45
+ - @backstage/cli-common@0.1.13
46
+ - @backstage/cli-node@0.2.4-next.0
47
+ - @backstage/config@1.2.0-next.1
48
+ - @backstage/config-loader@1.7.0-next.1
49
+ - @backstage/errors@1.2.4-next.0
50
+ - @backstage/eslint-plugin@0.1.6-next.0
51
+ - @backstage/release-manifests@0.0.11
52
+ - @backstage/types@1.1.1
53
+
3
54
  ## 0.25.3-next.1
4
55
 
5
56
  ### Patch Changes
package/bin/backstage-cli CHANGED
@@ -24,14 +24,6 @@ const isLocal = require('fs').existsSync(path.resolve(__dirname, '../src'));
24
24
  if (!isLocal || process.env.BACKSTAGE_E2E_CLI_TEST) {
25
25
  require('..');
26
26
  } else {
27
- require('ts-node').register({
28
- transpileOnly: true,
29
- /* eslint-disable-next-line no-restricted-syntax */
30
- project: path.resolve(__dirname, '../../../tsconfig.json'),
31
- compilerOptions: {
32
- module: 'CommonJS',
33
- },
34
- });
35
-
27
+ require('@backstage/cli/config/nodeTransform.cjs');
36
28
  require('../src');
37
29
  }
@@ -0,0 +1,45 @@
1
+ /*
2
+ * Copyright 2024 The Backstage Authors
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ const { transformSync } = require('@swc/core');
18
+ const { addHook } = require('pirates');
19
+
20
+ addHook(
21
+ (code, filename) => {
22
+ const transformed = transformSync(code, {
23
+ filename,
24
+ sourceMaps: 'inline',
25
+ module: { type: 'commonjs' },
26
+ jsc: {
27
+ target: 'es2022',
28
+ parser: {
29
+ syntax: 'typescript',
30
+ },
31
+ },
32
+ });
33
+ process.send?.({ type: 'watch', path: filename });
34
+ return transformed.code;
35
+ },
36
+ { extensions: ['.ts', '.cts'], ignoreNodeModules: true },
37
+ );
38
+
39
+ addHook(
40
+ (code, filename) => {
41
+ process.send?.({ type: 'watch', path: filename });
42
+ return code;
43
+ },
44
+ { extensions: ['.js', '.cjs'], ignoreNodeModules: true },
45
+ );
@@ -2,16 +2,17 @@
2
2
 
3
3
  var chalk = require('chalk');
4
4
  var path = require('path');
5
- var createDistWorkspace = require('./createDistWorkspace-d4886c13.cjs.js');
6
- var index = require('./index-2b3c0e05.cjs.js');
5
+ var createDistWorkspace = require('./createDistWorkspace-521b8e20.cjs.js');
6
+ var index = require('./index-f42e533f.cjs.js');
7
7
  var cliNode = require('@backstage/cli-node');
8
8
  var parallel = require('./parallel-2d9d247e.cjs.js');
9
- var buildBackend = require('./buildBackend-9faeb9a8.cjs.js');
9
+ var buildBackend = require('./buildBackend-93008edd.cjs.js');
10
10
  require('fs-extra');
11
+ require('p-limit');
11
12
  require('os');
12
13
  require('tar');
13
14
  require('lodash/partition');
14
- require('./run-1310629a.cjs.js');
15
+ require('./run-8f756fce.cjs.js');
15
16
  require('child_process');
16
17
  require('util');
17
18
  require('@backstage/errors');
@@ -41,7 +42,7 @@ require('react-dev-utils/ModuleScopePlugin');
41
42
  require('run-script-webpack-plugin');
42
43
  require('@manypkg/get-packages');
43
44
  require('webpack-node-externals');
44
- require('./packageDetection-024933fa.cjs.js');
45
+ require('./packageDetection-8d19bd36.cjs.js');
45
46
  require('lodash/pickBy');
46
47
  require('mini-css-extract-plugin');
47
48
  require('@pmmmwh/react-refresh-webpack-plugin');
@@ -58,7 +59,7 @@ require('@yarnpkg/parsers');
58
59
  require('@yarnpkg/lockfile');
59
60
  require('minimatch');
60
61
  require('./yarn-6cd89e16.cjs.js');
61
- require('./config-743e28e5.cjs.js');
62
+ require('./config-9d068fb3.cjs.js');
62
63
  require('@backstage/config-loader');
63
64
 
64
65
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -186,7 +187,8 @@ async function command(opts, cmd) {
186
187
  }
187
188
  await buildBackend.buildBackend({
188
189
  targetDir: pkg.dir,
189
- skipBuildDependencies: true
190
+ skipBuildDependencies: true,
191
+ minify: buildOptions.minify
190
192
  });
191
193
  }
192
194
  });
@@ -194,4 +196,4 @@ async function command(opts, cmd) {
194
196
  }
195
197
 
196
198
  exports.command = command;
197
- //# sourceMappingURL=build-097231a6.cjs.js.map
199
+ //# sourceMappingURL=build-dd1760ba.cjs.js.map
@@ -9,12 +9,12 @@ require('html-webpack-plugin');
9
9
  require('@backstage/cli-common');
10
10
  require('react-dev-utils/ModuleScopePlugin');
11
11
  require('run-script-webpack-plugin');
12
- require('./index-2b3c0e05.cjs.js');
12
+ require('./index-f42e533f.cjs.js');
13
13
  require('@manypkg/get-packages');
14
14
  require('webpack-node-externals');
15
- var packageDetection = require('./packageDetection-024933fa.cjs.js');
15
+ var packageDetection = require('./packageDetection-8d19bd36.cjs.js');
16
16
  require('lodash/pickBy');
17
- require('./run-1310629a.cjs.js');
17
+ require('./run-8f756fce.cjs.js');
18
18
  require('mini-css-extract-plugin');
19
19
  require('@pmmmwh/react-refresh-webpack-plugin');
20
20
  var yn = require('yn');
@@ -31,11 +31,11 @@ require('@yarnpkg/lockfile');
31
31
  require('minimatch');
32
32
  require('./yarn-6cd89e16.cjs.js');
33
33
  require('lodash/partition');
34
- var config = require('./config-743e28e5.cjs.js');
34
+ var config = require('./config-9d068fb3.cjs.js');
35
35
  var parallel = require('./parallel-2d9d247e.cjs.js');
36
36
  var os = require('os');
37
37
  var tar = require('tar');
38
- var createDistWorkspace = require('./createDistWorkspace-d4886c13.cjs.js');
38
+ var createDistWorkspace = require('./createDistWorkspace-521b8e20.cjs.js');
39
39
 
40
40
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
41
41
 
@@ -212,12 +212,13 @@ async function buildFrontend(options) {
212
212
  const BUNDLE_FILE = "bundle.tar.gz";
213
213
  const SKELETON_FILE = "skeleton.tar.gz";
214
214
  async function buildBackend(options) {
215
- const { targetDir, skipBuildDependencies, configPaths } = options;
215
+ const { targetDir, skipBuildDependencies, configPaths, minify } = options;
216
216
  const pkg = await fs__default["default"].readJson(path.resolve(targetDir, "package.json"));
217
217
  await createDistWorkspace.buildPackage({
218
- targetDir: options.targetDir,
218
+ targetDir,
219
219
  packageJson: pkg,
220
- outputs: /* @__PURE__ */ new Set([createDistWorkspace.Output.cjs])
220
+ outputs: /* @__PURE__ */ new Set([createDistWorkspace.Output.cjs]),
221
+ minify
221
222
  });
222
223
  const tmpDir = await fs__default["default"].mkdtemp(path.resolve(os__default["default"].tmpdir(), "backstage-bundle"));
223
224
  try {
@@ -227,7 +228,8 @@ async function buildBackend(options) {
227
228
  buildDependencies: !skipBuildDependencies,
228
229
  buildExcludes: [pkg.name],
229
230
  parallelism: parallel.getEnvironmentParallelism(),
230
- skeleton: SKELETON_FILE
231
+ skeleton: SKELETON_FILE,
232
+ minify
231
233
  });
232
234
  const distDir = path.resolve(targetDir, "dist");
233
235
  await fs__default["default"].remove(distDir);
@@ -253,4 +255,4 @@ async function buildBackend(options) {
253
255
 
254
256
  exports.buildBackend = buildBackend;
255
257
  exports.buildFrontend = buildFrontend;
256
- //# sourceMappingURL=buildBackend-9faeb9a8.cjs.js.map
258
+ //# sourceMappingURL=buildBackend-93008edd.cjs.js.map
@@ -1,18 +1,19 @@
1
1
  'use strict';
2
2
 
3
3
  var fs = require('fs-extra');
4
- var createDistWorkspace = require('./createDistWorkspace-d4886c13.cjs.js');
4
+ var createDistWorkspace = require('./createDistWorkspace-521b8e20.cjs.js');
5
5
  require('chalk');
6
6
  require('path');
7
+ require('p-limit');
7
8
  require('os');
8
9
  require('tar');
9
10
  require('lodash/partition');
10
- require('./index-2b3c0e05.cjs.js');
11
+ require('./index-f42e533f.cjs.js');
11
12
  require('commander');
12
13
  require('semver');
13
14
  require('@backstage/cli-common');
14
15
  require('@backstage/errors');
15
- require('./run-1310629a.cjs.js');
16
+ require('./run-8f756fce.cjs.js');
16
17
  require('child_process');
17
18
  require('util');
18
19
  require('rollup');
@@ -48,4 +49,4 @@ var buildWorkspace = async (dir, packages, options) => {
48
49
  };
49
50
 
50
51
  exports["default"] = buildWorkspace;
51
- //# sourceMappingURL=buildWorkspace-4711ef80.cjs.js.map
52
+ //# sourceMappingURL=buildWorkspace-537eb788.cjs.js.map
@@ -7,11 +7,11 @@ var semver = require('semver');
7
7
  var minimatch = require('minimatch');
8
8
  var errors = require('@backstage/errors');
9
9
  var path = require('path');
10
- var run = require('./run-1310629a.cjs.js');
11
- var index = require('./index-2b3c0e05.cjs.js');
10
+ var run = require('./run-8f756fce.cjs.js');
11
+ var index = require('./index-f42e533f.cjs.js');
12
12
  var Lockfile = require('./Lockfile-eced6070.cjs.js');
13
- var packages = require('./packages-01fa34e6.cjs.js');
14
- var lint = require('./lint-c21cef97.cjs.js');
13
+ var packages = require('./packages-9e5204b8.cjs.js');
14
+ var lint = require('./lint-cadb3a1e.cjs.js');
15
15
  var cliCommon = require('@backstage/cli-common');
16
16
  var parallel = require('./parallel-2d9d247e.cjs.js');
17
17
  var releaseManifests = require('@backstage/release-manifests');
@@ -416,4 +416,4 @@ exports.bumpBackstageJsonVersion = bumpBackstageJsonVersion;
416
416
  exports.createStrictVersionFinder = createStrictVersionFinder;
417
417
  exports.createVersionFinder = createVersionFinder;
418
418
  exports["default"] = bump;
419
- //# sourceMappingURL=bump-b2500dcb.cjs.js.map
419
+ //# sourceMappingURL=bump-aee0496e.cjs.js.map
@@ -5,7 +5,7 @@ var fs = require('fs-extra');
5
5
  var path = require('path');
6
6
  var util = require('util');
7
7
  var cliNode = require('@backstage/cli-node');
8
- var index = require('./index-2b3c0e05.cjs.js');
8
+ var index = require('./index-f42e533f.cjs.js');
9
9
  require('commander');
10
10
  require('chalk');
11
11
  require('semver');
@@ -46,4 +46,4 @@ async function command() {
46
46
  }
47
47
 
48
48
  exports.command = command;
49
- //# sourceMappingURL=clean-5e61034c.cjs.js.map
49
+ //# sourceMappingURL=clean-6ccda488.cjs.js.map
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var fs = require('fs-extra');
4
- var index = require('./index-2b3c0e05.cjs.js');
4
+ var index = require('./index-f42e533f.cjs.js');
5
5
  require('commander');
6
6
  require('chalk');
7
7
  require('semver');
@@ -19,4 +19,4 @@ async function clean() {
19
19
  }
20
20
 
21
21
  exports["default"] = clean;
22
- //# sourceMappingURL=clean-5c0c60ef.cjs.js.map
22
+ //# sourceMappingURL=clean-8a505ab4.cjs.js.map
@@ -2,7 +2,7 @@
2
2
 
3
3
  var fs = require('fs-extra');
4
4
  var path = require('path');
5
- var index = require('./index-2b3c0e05.cjs.js');
5
+ var index = require('./index-f42e533f.cjs.js');
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -88,4 +88,4 @@ async function addCodeownersEntry(ownedPath, ownerStr, codeownersFilePath) {
88
88
  exports.addCodeownersEntry = addCodeownersEntry;
89
89
  exports.getCodeownersFilePath = getCodeownersFilePath;
90
90
  exports.parseOwnerIds = parseOwnerIds;
91
- //# sourceMappingURL=codeowners-9da8480c.cjs.js.map
91
+ //# sourceMappingURL=codeowners-b305c16a.cjs.js.map
@@ -2,7 +2,7 @@
2
2
 
3
3
  var configLoader = require('@backstage/config-loader');
4
4
  var config = require('@backstage/config');
5
- var index = require('./index-2b3c0e05.cjs.js');
5
+ var index = require('./index-f42e533f.cjs.js');
6
6
  var getPackages = require('@manypkg/get-packages');
7
7
  var cliNode = require('@backstage/cli-node');
8
8
 
@@ -98,4 +98,4 @@ async function loadCliConfig(options) {
98
98
 
99
99
  exports.isValidUrl = isValidUrl;
100
100
  exports.loadCliConfig = loadCliConfig;
101
- //# sourceMappingURL=config-743e28e5.cjs.js.map
101
+ //# sourceMappingURL=config-9d068fb3.cjs.js.map
@@ -3,11 +3,12 @@
3
3
  var chalk = require('chalk');
4
4
  var fs = require('fs-extra');
5
5
  var path = require('path');
6
+ var pLimit = require('p-limit');
6
7
  var os = require('os');
7
8
  var tar = require('tar');
8
9
  var partition = require('lodash/partition');
9
- var index = require('./index-2b3c0e05.cjs.js');
10
- var run = require('./run-1310629a.cjs.js');
10
+ var index = require('./index-f42e533f.cjs.js');
11
+ var run = require('./run-8f756fce.cjs.js');
11
12
  var rollup = require('rollup');
12
13
  var commonjs = require('@rollup/plugin-commonjs');
13
14
  var resolve = require('@rollup/plugin-node-resolve');
@@ -28,6 +29,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
28
29
 
29
30
  var chalk__default = /*#__PURE__*/_interopDefaultLegacy(chalk);
30
31
  var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
32
+ var pLimit__default = /*#__PURE__*/_interopDefaultLegacy(pLimit);
31
33
  var tar__default = /*#__PURE__*/_interopDefaultLegacy(tar);
32
34
  var partition__default = /*#__PURE__*/_interopDefaultLegacy(partition);
33
35
  var commonjs__default = /*#__PURE__*/_interopDefaultLegacy(commonjs);
@@ -438,8 +440,7 @@ async function createDistWorkspace(packageNames, options = {}) {
438
440
  packageJson: pkg.packageJson,
439
441
  outputs,
440
442
  logPrefix: `${chalk__default["default"].cyan(path.relative(index.paths.targetRoot, pkg.dir))}: `,
441
- // No need to detect these for the backend builds, we assume no minification or types
442
- minify: false
443
+ minify: options.minify
443
444
  });
444
445
  }
445
446
  }
@@ -553,9 +554,10 @@ async function moveToDistWorkspace(workspaceDir, localPackages, alwaysYarnPack)
553
554
  for (const target of unsafePackages) {
554
555
  await pack(target, `temp-package.tgz`);
555
556
  }
557
+ const limit = pLimit__default["default"](10);
556
558
  await Promise.all(
557
559
  safePackages.map(
558
- async (target, index) => pack(target, `temp-package-${index}.tgz`)
560
+ (target, index) => limit(() => pack(target, `temp-package-${index}.tgz`))
559
561
  )
560
562
  );
561
563
  }
@@ -565,4 +567,4 @@ exports.buildPackage = buildPackage;
565
567
  exports.buildPackages = buildPackages;
566
568
  exports.createDistWorkspace = createDistWorkspace;
567
569
  exports.getOutputsForRole = getOutputsForRole;
568
- //# sourceMappingURL=createDistWorkspace-d4886c13.cjs.js.map
570
+ //# sourceMappingURL=createDistWorkspace-521b8e20.cjs.js.map
@@ -10,14 +10,14 @@ var camelCase = require('lodash/camelCase');
10
10
  var upperFirst = require('lodash/upperFirst');
11
11
  var os = require('os');
12
12
  var errors = require('@backstage/errors');
13
- var codeowners = require('./codeowners-9da8480c.cjs.js');
14
- var index = require('./index-2b3c0e05.cjs.js');
13
+ var codeowners = require('./codeowners-b305c16a.cjs.js');
14
+ var index = require('./index-f42e533f.cjs.js');
15
15
  var tasks = require('./tasks-84de240c.cjs.js');
16
16
  var Lockfile = require('./Lockfile-eced6070.cjs.js');
17
17
  require('minimatch');
18
18
  require('@manypkg/get-packages');
19
19
  require('./yarn-6cd89e16.cjs.js');
20
- require('./run-1310629a.cjs.js');
20
+ require('./run-8f756fce.cjs.js');
21
21
  require('commander');
22
22
  require('semver');
23
23
  require('@backstage/cli-common');
@@ -276,4 +276,4 @@ exports.addPluginExtensionToApp = addPluginExtensionToApp;
276
276
  exports.capitalize = capitalize;
277
277
  exports["default"] = createPlugin;
278
278
  exports.movePlugin = movePlugin;
279
- //# sourceMappingURL=createPlugin-54fdb1d3.cjs.js.map
279
+ //# sourceMappingURL=createPlugin-5b733848.cjs.js.map
@@ -7,7 +7,7 @@ var path = require('path');
7
7
  var inquirer = require('inquirer');
8
8
  var handlebars = require('handlebars');
9
9
  var recursive = require('recursive-readdir');
10
- var index = require('./index-2b3c0e05.cjs.js');
10
+ var index = require('./index-f42e533f.cjs.js');
11
11
  require('commander');
12
12
  require('semver');
13
13
  require('@backstage/cli-common');
@@ -434,4 +434,4 @@ async function readPluginData() {
434
434
  }
435
435
 
436
436
  exports["default"] = diff;
437
- //# sourceMappingURL=diff-03426926.cjs.js.map
437
+ //# sourceMappingURL=diff-ffcf1ddd.cjs.js.map
@@ -2,9 +2,9 @@
2
2
 
3
3
  var configLoader = require('@backstage/config-loader');
4
4
  var openBrowser = require('react-dev-utils/openBrowser');
5
- var config = require('./config-743e28e5.cjs.js');
5
+ var config = require('./config-9d068fb3.cjs.js');
6
6
  require('@backstage/config');
7
- require('./index-2b3c0e05.cjs.js');
7
+ require('./index-f42e533f.cjs.js');
8
8
  require('commander');
9
9
  require('chalk');
10
10
  require('fs-extra');
@@ -34,4 +34,4 @@ var docs = async (opts) => {
34
34
  };
35
35
 
36
36
  exports["default"] = docs;
37
- //# sourceMappingURL=docs-6d10c4c0.cjs.js.map
37
+ //# sourceMappingURL=docs-62f456dc.cjs.js.map
@@ -3,7 +3,7 @@
3
3
  var cliNode = require('@backstage/cli-node');
4
4
  var fs = require('fs-extra');
5
5
  var path = require('path');
6
- var index = require('./index-2b3c0e05.cjs.js');
6
+ var index = require('./index-f42e533f.cjs.js');
7
7
  require('commander');
8
8
  require('chalk');
9
9
  require('semver');
@@ -208,4 +208,4 @@ exports.fixSideEffects = fixSideEffects;
208
208
  exports.printPackageFixHint = printPackageFixHint;
209
209
  exports.readFixablePackages = readFixablePackages;
210
210
  exports.writeFixedPackages = writeFixedPackages;
211
- //# sourceMappingURL=fix-60cc33a8.cjs.js.map
211
+ //# sourceMappingURL=fix-c9486e20.cjs.js.map
@@ -1,18 +1,19 @@
1
1
  'use strict';
2
2
 
3
- var createDistWorkspace = require('./createDistWorkspace-d4886c13.cjs.js');
4
- var role = require('./role-9130c935.cjs.js');
3
+ var createDistWorkspace = require('./createDistWorkspace-521b8e20.cjs.js');
4
+ var role = require('./role-26dc0550.cjs.js');
5
5
  var cliNode = require('@backstage/cli-node');
6
- var index = require('./index-2b3c0e05.cjs.js');
7
- var buildBackend = require('./buildBackend-9faeb9a8.cjs.js');
8
- var config = require('./config-743e28e5.cjs.js');
6
+ var index = require('./index-f42e533f.cjs.js');
7
+ var buildBackend = require('./buildBackend-93008edd.cjs.js');
8
+ var config = require('./config-9d068fb3.cjs.js');
9
9
  require('chalk');
10
10
  require('fs-extra');
11
11
  require('path');
12
+ require('p-limit');
12
13
  require('os');
13
14
  require('tar');
14
15
  require('lodash/partition');
15
- require('./run-1310629a.cjs.js');
16
+ require('./run-8f756fce.cjs.js');
16
17
  require('child_process');
17
18
  require('util');
18
19
  require('@backstage/errors');
@@ -43,7 +44,7 @@ require('react-dev-utils/ModuleScopePlugin');
43
44
  require('run-script-webpack-plugin');
44
45
  require('@manypkg/get-packages');
45
46
  require('webpack-node-externals');
46
- require('./packageDetection-024933fa.cjs.js');
47
+ require('./packageDetection-8d19bd36.cjs.js');
47
48
  require('lodash/pickBy');
48
49
  require('mini-css-extract-plugin');
49
50
  require('@pmmmwh/react-refresh-webpack-plugin');
@@ -81,7 +82,8 @@ async function command(opts) {
81
82
  return buildBackend.buildBackend({
82
83
  targetDir: index.paths.targetDir,
83
84
  configPaths,
84
- skipBuildDependencies: Boolean(opts.skipBuildDependencies)
85
+ skipBuildDependencies: Boolean(opts.skipBuildDependencies),
86
+ minify: Boolean(opts.minify)
85
87
  });
86
88
  }
87
89
  const roleInfo = cliNode.PackageRoles.getRoleInfo(role$1);
@@ -102,4 +104,4 @@ async function command(opts) {
102
104
  }
103
105
 
104
106
  exports.command = command;
105
- //# sourceMappingURL=index-802c6b4a.cjs.js.map
107
+ //# sourceMappingURL=index-14d17c46.cjs.js.map
@@ -4,7 +4,7 @@ var fs = require('fs-extra');
4
4
  var chalk = require('chalk');
5
5
  var yaml = require('yaml');
6
6
  var inquirer = require('inquirer');
7
- var index$1 = require('./index-2b3c0e05.cjs.js');
7
+ var index$1 = require('./index-f42e533f.cjs.js');
8
8
  var crypto = require('crypto');
9
9
  var openBrowser = require('react-dev-utils/openBrowser');
10
10
  var request = require('@octokit/request');
@@ -230,4 +230,4 @@ async function verifyGithubOrg(org) {
230
230
  }
231
231
 
232
232
  exports["default"] = index;
233
- //# sourceMappingURL=index-1efc6aad.cjs.js.map
233
+ //# sourceMappingURL=index-34be8e16.cjs.js.map
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var role = require('./role-9130c935.cjs.js');
3
+ var role = require('./role-26dc0550.cjs.js');
4
4
  var fs = require('fs-extra');
5
- var index = require('./index-2b3c0e05.cjs.js');
5
+ var index = require('./index-f42e533f.cjs.js');
6
6
  var webpack = require('webpack');
7
- var packageDetection = require('./packageDetection-024933fa.cjs.js');
7
+ var packageDetection = require('./packageDetection-8d19bd36.cjs.js');
8
8
  require('yn');
9
9
  var path = require('path');
10
10
  require('react-dev-utils/FileSizeReporter');
@@ -18,7 +18,7 @@ require('run-script-webpack-plugin');
18
18
  require('@manypkg/get-packages');
19
19
  require('webpack-node-externals');
20
20
  require('lodash/pickBy');
21
- require('./run-1310629a.cjs.js');
21
+ require('./run-8f756fce.cjs.js');
22
22
  require('mini-css-extract-plugin');
23
23
  require('@pmmmwh/react-refresh-webpack-plugin');
24
24
  var chalk = require('chalk');
@@ -40,8 +40,8 @@ var errors = require('@backstage/errors');
40
40
  var debounce = require('lodash/debounce');
41
41
  var url = require('url');
42
42
  var spawn = require('cross-spawn');
43
- var lint = require('./lint-c21cef97.cjs.js');
44
- var config = require('./config-743e28e5.cjs.js');
43
+ var lint = require('./lint-cadb3a1e.cjs.js');
44
+ var config = require('./config-9d068fb3.cjs.js');
45
45
  var Lockfile = require('./Lockfile-eced6070.cjs.js');
46
46
  require('commander');
47
47
  require('./entryPoints-0cc55995.cjs.js');
@@ -464,14 +464,11 @@ class ServerDataStore {
464
464
  }
465
465
  }
466
466
 
467
- const [nodeMajor, nodeMinor] = process.versions.node.split(".").map(Number);
468
- const supportsModuleLoaderRegister = nodeMajor > 20 || nodeMajor === 20 && nodeMinor >= 6 || nodeMajor === 18 && nodeMinor >= 19;
469
467
  const loaderArgs = [
468
+ "--enable-source-maps",
470
469
  "--require",
471
- require.resolve("tsx/preflight"),
472
- supportsModuleLoaderRegister ? "--import" : "--loader",
473
- url.pathToFileURL(require.resolve("tsx")).toString()
474
- // Windows prefers a URL here
470
+ require.resolve("@backstage/cli/config/nodeTransform.cjs")
471
+ // TODO: Support modules, although there's currently no way to load them since import() is transpiled tp require()
475
472
  ];
476
473
  async function startBackendExperimental(options) {
477
474
  const envEnv = process.env;
@@ -481,10 +478,19 @@ async function startBackendExperimental(options) {
481
478
  const server = new IpcServer();
482
479
  ServerDataStore.bind(server);
483
480
  let exiting = false;
481
+ let firstStart = true;
484
482
  let child;
485
483
  let watcher = void 0;
486
484
  let shutdownPromise = void 0;
485
+ const watchedPaths = /* @__PURE__ */ new Set();
487
486
  const restart = debounce__default["default"](async () => {
487
+ if (firstStart) {
488
+ firstStart = false;
489
+ } else {
490
+ console.log();
491
+ console.log("Change detected, restarting the development server...");
492
+ console.log();
493
+ }
488
494
  if (shutdownPromise) {
489
495
  return;
490
496
  }
@@ -525,19 +531,23 @@ async function startBackendExperimental(options) {
525
531
  );
526
532
  server.addChild(child);
527
533
  child.on("message", (data) => {
528
- if (typeof data === "object" && (data == null ? void 0 : data.type) === "dependency") {
534
+ if (!watcher) {
535
+ return;
536
+ }
537
+ if (typeof data === "object" && (data == null ? void 0 : data.type) === "watch") {
529
538
  let path$1 = data.path;
530
539
  if (path$1.startsWith("file:")) {
531
540
  path$1 = url.fileURLToPath(path$1);
532
541
  }
533
- if (path.isAbsolute(path$1)) {
534
- watcher == null ? void 0 : watcher.add(path$1);
542
+ if (path.isAbsolute(path$1) && !watchedPaths.has(path$1)) {
543
+ watchedPaths.add(path$1);
544
+ watcher.add(path$1);
535
545
  }
536
546
  }
537
547
  });
538
548
  }, 100);
539
549
  restart();
540
- watcher = chokidar.watch([], {
550
+ watcher = chokidar.watch(["./package.json"], {
541
551
  cwd: process.cwd(),
542
552
  ignoreInitial: true,
543
553
  ignorePermissionErrors: true
@@ -667,4 +677,4 @@ async function command(opts) {
667
677
  }
668
678
 
669
679
  exports.command = command;
670
- //# sourceMappingURL=index-e9ebc07b.cjs.js.map
680
+ //# sourceMappingURL=index-7a73b7d7.cjs.js.map