@backstage/cli 0.13.1-next.1 → 0.14.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 (63) hide show
  1. package/CHANGELOG.md +88 -0
  2. package/config/eslint.backend.js +1 -12
  3. package/config/eslint.js +6 -17
  4. package/config/jest.js +4 -3
  5. package/config/jestSucraseTransform.js +60 -39
  6. package/dist/cjs/PackageGraph-d7b9d768.cjs.js +143 -0
  7. package/dist/cjs/backend-7919a693.cjs.js +36 -0
  8. package/dist/cjs/build-29fe454d.cjs.js +59 -0
  9. package/dist/cjs/{build-cda9d14b.cjs.js → build-30d6e823.cjs.js} +9 -4
  10. package/dist/cjs/build-8fe538f0.cjs.js +173 -0
  11. package/dist/cjs/{build-a0537ac0.cjs.js → build-ef788e26.cjs.js} +9 -4
  12. package/dist/cjs/buildBackend-1727e26d.cjs.js +84 -0
  13. package/dist/cjs/buildWorkspace-cdb5a92d.cjs.js +54 -0
  14. package/dist/cjs/bump-3e73eb63.cjs.js +348 -0
  15. package/dist/cjs/{build-0e234c9c.cjs.js → bundle-cfe3be2c.cjs.js} +10 -49
  16. package/dist/cjs/{bundle-82ebca5c.cjs.js → bundle-f5e5afd4.cjs.js} +16 -11
  17. package/dist/cjs/{clean-2a744d8e.cjs.js → clean-677131a4.cjs.js} +2 -2
  18. package/dist/cjs/{config-08b1d0e3.cjs.js → config-147bac17.cjs.js} +3 -3
  19. package/dist/cjs/{create-3c1059f8.cjs.js → create-95febe68.cjs.js} +4 -4
  20. package/dist/cjs/createDistWorkspace-59a08943.cjs.js +211 -0
  21. package/dist/cjs/{createPlugin-98d2404a.cjs.js → createPlugin-fd799616.cjs.js} +4 -4
  22. package/dist/cjs/{dev-35175ac8.cjs.js → dev-70024fd0.cjs.js} +8 -33
  23. package/dist/cjs/{diff-0f4d8b16.cjs.js → diff-4cf33d7e.cjs.js} +8 -8
  24. package/dist/cjs/{docs-1df9fa22.cjs.js → docs-1ce5cd6c.cjs.js} +7 -4
  25. package/dist/cjs/index-1823ab16.cjs.js +94 -0
  26. package/dist/cjs/{index-db3186f9.cjs.js → index-2b8588e8.cjs.js} +88 -59
  27. package/dist/cjs/{index-4fd2a731.cjs.js → index-9879526e.cjs.js} +2 -2
  28. package/dist/cjs/index-ba0436fb.cjs.js +125 -0
  29. package/dist/cjs/{info-0c58ae61.cjs.js → info-da6c4aef.cjs.js} +3 -3
  30. package/dist/cjs/{install-8bc1ba18.cjs.js → install-28e7640d.cjs.js} +4 -4
  31. package/dist/cjs/lint-985567f6.cjs.js +92 -0
  32. package/dist/cjs/{lint-9da50914.cjs.js → lint-a9e3c169.cjs.js} +3 -3
  33. package/dist/cjs/lint-ad2a1c74.cjs.js +35 -0
  34. package/dist/cjs/{build-f89d7092.cjs.js → oldBuild-a88f7903.cjs.js} +11 -6
  35. package/dist/cjs/{pack-8ef0a3ba.cjs.js → pack-b252bbb6.cjs.js} +2 -2
  36. package/dist/cjs/packageRole-5f116d95.cjs.js +54 -0
  37. package/dist/cjs/packageRoles-f375a99e.cjs.js +158 -0
  38. package/dist/cjs/packageScripts-890cd7af.cjs.js +97 -0
  39. package/dist/cjs/{packager-89d7686b.cjs.js → packager-8f82846e.cjs.js} +141 -58
  40. package/dist/cjs/{packages-fd09251d.cjs.js → packages-572642d7.cjs.js} +5 -4
  41. package/dist/cjs/parallel-d8e5bcbf.cjs.js +171 -0
  42. package/dist/cjs/{paths-f273ca03.cjs.js → paths-8e0b151d.cjs.js} +20 -19
  43. package/dist/cjs/{print-bd48d728.cjs.js → print-b7e68297.cjs.js} +7 -4
  44. package/dist/cjs/{run-448b5912.cjs.js → run-d3528c59.cjs.js} +2 -2
  45. package/dist/cjs/{schema-c5b2f512.cjs.js → schema-0d43bb71.cjs.js} +7 -4
  46. package/dist/cjs/{serve-32362ee1.cjs.js → serve-b7ae013f.cjs.js} +8 -8
  47. package/dist/cjs/{serve-b11d7c66.cjs.js → serve-cd62a6bb.cjs.js} +9 -9
  48. package/dist/cjs/{server-114c20ca.cjs.js → server-894abd58.cjs.js} +2 -2
  49. package/dist/cjs/svgrTemplate-b7a4ee52.cjs.js +21 -0
  50. package/dist/cjs/{tasks-f57f3a8c.cjs.js → tasks-f55f3d7e.cjs.js} +2 -2
  51. package/dist/cjs/{testCommand-a0ab3b2f.cjs.js → testCommand-f9b311fb.cjs.js} +11 -4
  52. package/dist/cjs/{validate-dfd64471.cjs.js → validate-cff0ae61.cjs.js} +7 -4
  53. package/dist/index.cjs.js +1 -1
  54. package/package.json +31 -22
  55. package/templates/default-backend-plugin/package.json.hbs +1 -1
  56. package/templates/default-plugin/package.json.hbs +1 -1
  57. package/dist/cjs/PackageGraph-7a0d3a83.cjs.js +0 -73
  58. package/dist/cjs/buildWorkspace-5494b433.cjs.js +0 -35
  59. package/dist/cjs/bump-ab6e31e7.cjs.js +0 -240
  60. package/dist/cjs/index-c868bb2d.cjs.js +0 -106
  61. package/dist/cjs/lint-f037ffc0.cjs.js +0 -29
  62. package/dist/cjs/parallel-7e32a8d0.cjs.js +0 -25
  63. package/dist/cjs/svgrTemplate-f19e974c.cjs.js +0 -25
@@ -1,47 +1,21 @@
1
1
  'use strict';
2
2
 
3
+ var yn = require('yn');
3
4
  var fs = require('fs-extra');
4
- var webpack = require('webpack');
5
- var chalk = require('chalk');
6
5
  var path = 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
- var paths = require('./paths-f273ca03.cjs.js');
15
- require('mini-css-extract-plugin');
16
- var index = require('./index-db3186f9.cjs.js');
17
- require('./run-448b5912.cjs.js');
18
- require('eslint-webpack-plugin');
19
- require('lodash/pickBy');
20
- var yn = require('yn');
6
+ var webpack = require('webpack');
21
7
  var FileSizeReporter = require('react-dev-utils/FileSizeReporter');
22
8
  var formatWebpackMessages = require('react-dev-utils/formatWebpackMessages');
23
- require('webpack-dev-server');
24
- require('react-dev-utils/openBrowser');
25
- var parallel = require('./parallel-7e32a8d0.cjs.js');
26
- var config = require('./config-08b1d0e3.cjs.js');
27
- require('./svgrTemplate-f19e974c.cjs.js');
28
- require('commander');
29
- require('semver');
30
- require('@backstage/config/package.json');
31
- require('@backstage/errors');
32
- require('child_process');
33
- require('util');
34
- require('@backstage/config-loader');
35
- require('@backstage/config');
36
- require('./PackageGraph-7a0d3a83.cjs.js');
9
+ var paths = require('./paths-8e0b151d.cjs.js');
10
+ var chalk = require('chalk');
37
11
 
38
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
39
13
 
14
+ var yn__default = /*#__PURE__*/_interopDefaultLegacy(yn);
40
15
  var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
41
16
  var webpack__default = /*#__PURE__*/_interopDefaultLegacy(webpack);
42
- var chalk__default = /*#__PURE__*/_interopDefaultLegacy(chalk);
43
- var yn__default = /*#__PURE__*/_interopDefaultLegacy(yn);
44
17
  var formatWebpackMessages__default = /*#__PURE__*/_interopDefaultLegacy(formatWebpackMessages);
18
+ var chalk__default = /*#__PURE__*/_interopDefaultLegacy(chalk);
45
19
 
46
20
  const WARN_AFTER_BUNDLE_GZIP_SIZE = 512 * 1024;
47
21
  const WARN_AFTER_CHUNK_GZIP_SIZE = 1024 * 1024;
@@ -67,7 +41,7 @@ async function buildBundle(options) {
67
41
  if (configSchema) {
68
42
  await fs__default["default"].writeJson(path.resolve(paths$1.targetDist, ".config-schema.json"), configSchema.serialize(), { spaces: 2 });
69
43
  }
70
- const { stats } = await build$1(compiler, isCi).catch((error) => {
44
+ const { stats } = await build(compiler, isCi).catch((error) => {
71
45
  console.log(chalk__default["default"].red("Failed to compile.\n"));
72
46
  throw new Error(`Failed to compile.
73
47
  ${error.message || error}`);
@@ -80,7 +54,7 @@ ${error.message || error}`);
80
54
  }
81
55
  FileSizeReporter.printFileSizesAfterBuild(stats, previousFileSizes, paths$1.targetDist, WARN_AFTER_BUNDLE_GZIP_SIZE, WARN_AFTER_CHUNK_GZIP_SIZE);
82
56
  }
83
- async function build$1(compiler, isCi) {
57
+ async function build(compiler, isCi) {
84
58
  var _a, _b;
85
59
  const stats = await new Promise((resolve, reject) => {
86
60
  compiler.run((err, buildStats) => {
@@ -123,18 +97,5 @@ async function build$1(compiler, isCi) {
123
97
  return { stats };
124
98
  }
125
99
 
126
- var build = async (cmd) => {
127
- const { name } = await fs__default["default"].readJson(index.paths.resolveTarget("package.json"));
128
- await buildBundle({
129
- entry: "src/index",
130
- parallel: parallel.parseParallel(process.env[parallel.PARALLEL_ENV_VAR]),
131
- statsJsonEnabled: cmd.stats,
132
- ...await config.loadCliConfig({
133
- args: cmd.config,
134
- fromPackage: name
135
- })
136
- });
137
- };
138
-
139
- exports["default"] = build;
140
- //# sourceMappingURL=build-0e234c9c.cjs.js.map
100
+ exports.buildBundle = buildBundle;
101
+ //# sourceMappingURL=bundle-cfe3be2c.cjs.js.map
@@ -4,21 +4,26 @@ var os = require('os');
4
4
  var fs = require('fs-extra');
5
5
  var path = require('path');
6
6
  var tar = require('tar');
7
- var index$1 = require('./index-c868bb2d.cjs.js');
8
- var index = require('./index-db3186f9.cjs.js');
9
- var parallel = require('./parallel-7e32a8d0.cjs.js');
10
- var packager = require('./packager-89d7686b.cjs.js');
11
- require('./run-448b5912.cjs.js');
7
+ var createDistWorkspace = require('./createDistWorkspace-59a08943.cjs.js');
8
+ var index = require('./index-2b8588e8.cjs.js');
9
+ var parallel = require('./parallel-d8e5bcbf.cjs.js');
10
+ var packager = require('./packager-8f82846e.cjs.js');
11
+ require('chalk');
12
+ require('lodash/partition');
13
+ require('./run-d3528c59.cjs.js');
12
14
  require('child_process');
13
15
  require('util');
14
16
  require('@backstage/errors');
17
+ require('./PackageGraph-d7b9d768.cjs.js');
15
18
  require('@manypkg/get-packages');
16
- require('./PackageGraph-7a0d3a83.cjs.js');
19
+ require('npm-packlist');
20
+ require('./packageRoles-f375a99e.cjs.js');
21
+ require('zod');
17
22
  require('commander');
18
- require('chalk');
19
23
  require('semver');
20
24
  require('@backstage/cli-common');
21
25
  require('@backstage/config/package.json');
26
+ require('worker_threads');
22
27
  require('rollup');
23
28
  require('rollup-plugin-peer-deps-external');
24
29
  require('@rollup/plugin-commonjs');
@@ -30,7 +35,7 @@ require('rollup-plugin-dts');
30
35
  require('@rollup/plugin-json');
31
36
  require('@rollup/plugin-yaml');
32
37
  require('rollup-pluginutils');
33
- require('./svgrTemplate-f19e974c.cjs.js');
38
+ require('./svgrTemplate-b7a4ee52.cjs.js');
34
39
 
35
40
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
36
41
 
@@ -46,11 +51,11 @@ var bundle = async (cmd) => {
46
51
  await packager.buildPackage({ outputs: /* @__PURE__ */ new Set([packager.Output.cjs]) });
47
52
  const tmpDir = await fs__default["default"].mkdtemp(path.resolve(os__default["default"].tmpdir(), "backstage-bundle"));
48
53
  try {
49
- await index$1.createDistWorkspace([pkg.name], {
54
+ await createDistWorkspace.createDistWorkspace([pkg.name], {
50
55
  targetDir: tmpDir,
51
56
  buildDependencies: Boolean(cmd.buildDependencies),
52
57
  buildExcludes: [pkg.name],
53
- parallel: parallel.parseParallel(process.env[parallel.PARALLEL_ENV_VAR]),
58
+ parallelism: parallel.getEnvironmentParallelism(),
54
59
  skeleton: SKELETON_FILE
55
60
  });
56
61
  await fs__default["default"].remove(targetDir);
@@ -69,4 +74,4 @@ var bundle = async (cmd) => {
69
74
  };
70
75
 
71
76
  exports["default"] = bundle;
72
- //# sourceMappingURL=bundle-82ebca5c.cjs.js.map
77
+ //# sourceMappingURL=bundle-f5e5afd4.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-db3186f9.cjs.js');
4
+ var index = require('./index-2b8588e8.cjs.js');
5
5
  require('commander');
6
6
  require('chalk');
7
7
  require('semver');
@@ -20,4 +20,4 @@ async function clean() {
20
20
  }
21
21
 
22
22
  exports["default"] = clean;
23
- //# sourceMappingURL=clean-2a744d8e.cjs.js.map
23
+ //# sourceMappingURL=clean-677131a4.cjs.js.map
@@ -2,9 +2,9 @@
2
2
 
3
3
  var configLoader = require('@backstage/config-loader');
4
4
  var config = require('@backstage/config');
5
- var index = require('./index-db3186f9.cjs.js');
5
+ var index = require('./index-2b8588e8.cjs.js');
6
6
  var getPackages = require('@manypkg/get-packages');
7
- var PackageGraph = require('./PackageGraph-7a0d3a83.cjs.js');
7
+ var PackageGraph = require('./PackageGraph-d7b9d768.cjs.js');
8
8
 
9
9
  function isValidUrl(url) {
10
10
  try {
@@ -76,4 +76,4 @@ async function loadCliConfig(options) {
76
76
  }
77
77
 
78
78
  exports.loadCliConfig = loadCliConfig;
79
- //# sourceMappingURL=config-08b1d0e3.cjs.js.map
79
+ //# sourceMappingURL=config-147bac17.cjs.js.map
@@ -7,12 +7,12 @@ var chalk = require('chalk');
7
7
  var inquirer = require('inquirer');
8
8
  var camelCase = require('lodash/camelCase');
9
9
  var upperFirst = require('lodash/upperFirst');
10
- var index = require('./index-db3186f9.cjs.js');
11
- var tasks = require('./tasks-f57f3a8c.cjs.js');
10
+ var index = require('./index-2b8588e8.cjs.js');
11
+ var tasks = require('./tasks-f55f3d7e.cjs.js');
12
12
  var Lockfile = require('./Lockfile-35661afa.cjs.js');
13
13
  require('minimatch');
14
14
  require('@manypkg/get-packages');
15
- require('./run-448b5912.cjs.js');
15
+ require('./run-d3528c59.cjs.js');
16
16
  var partition = require('lodash/partition');
17
17
  var errors = require('@backstage/errors');
18
18
  require('commander');
@@ -482,4 +482,4 @@ var create = async (cmd) => {
482
482
  };
483
483
 
484
484
  exports["default"] = create;
485
- //# sourceMappingURL=create-3c1059f8.cjs.js.map
485
+ //# sourceMappingURL=create-95febe68.cjs.js.map
@@ -0,0 +1,211 @@
1
+ 'use strict';
2
+
3
+ var chalk = require('chalk');
4
+ var fs = require('fs-extra');
5
+ var path = require('path');
6
+ var os = require('os');
7
+ var tar = require('tar');
8
+ var partition = require('lodash/partition');
9
+ var index = require('./index-2b8588e8.cjs.js');
10
+ var run = require('./run-d3528c59.cjs.js');
11
+ var PackageGraph = require('./PackageGraph-d7b9d768.cjs.js');
12
+ var packager = require('./packager-8f82846e.cjs.js');
13
+ var npmPackList = require('npm-packlist');
14
+ var packageRoles = require('./packageRoles-f375a99e.cjs.js');
15
+
16
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
+
18
+ var chalk__default = /*#__PURE__*/_interopDefaultLegacy(chalk);
19
+ var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
20
+ var tar__default = /*#__PURE__*/_interopDefaultLegacy(tar);
21
+ var partition__default = /*#__PURE__*/_interopDefaultLegacy(partition);
22
+ var npmPackList__default = /*#__PURE__*/_interopDefaultLegacy(npmPackList);
23
+
24
+ const SKIPPED_KEYS = ["access", "registry", "tag", "alphaTypes", "betaTypes"];
25
+ async function writeReleaseStageEntrypoint(pkg, stage, targetDir) {
26
+ await fs__default["default"].ensureDir(path.resolve(targetDir, stage));
27
+ await fs__default["default"].writeJson(path.resolve(targetDir, stage, "package.json"), {
28
+ name: pkg.name,
29
+ version: pkg.version,
30
+ main: (pkg.publishConfig.main || pkg.main) && "..",
31
+ module: (pkg.publishConfig.module || pkg.module) && "..",
32
+ browser: (pkg.publishConfig.browser || pkg.browser) && "..",
33
+ types: path.join("..", pkg.publishConfig[`${stage}Types`])
34
+ }, { encoding: "utf8", spaces: 2 });
35
+ }
36
+ async function copyPackageDist(packageDir, targetDir) {
37
+ var _a;
38
+ const pkgPath = path.resolve(packageDir, "package.json");
39
+ const pkgContent = await fs__default["default"].readFile(pkgPath, "utf8");
40
+ const pkg = JSON.parse(pkgContent);
41
+ const publishConfig = (_a = pkg.publishConfig) != null ? _a : {};
42
+ for (const key of Object.keys(publishConfig)) {
43
+ if (!SKIPPED_KEYS.includes(key)) {
44
+ pkg[key] = publishConfig[key];
45
+ }
46
+ }
47
+ if (pkg.bundled) {
48
+ delete pkg.dependencies;
49
+ delete pkg.devDependencies;
50
+ delete pkg.peerDependencies;
51
+ delete pkg.optionalDependencies;
52
+ }
53
+ await fs__default["default"].writeJson(pkgPath, pkg, { encoding: "utf8", spaces: 2 });
54
+ const filePaths = await npmPackList__default["default"]({ path: packageDir });
55
+ await fs__default["default"].ensureDir(targetDir);
56
+ for (const filePath of filePaths.sort()) {
57
+ await fs__default["default"].copy(path.resolve(packageDir, filePath), path.resolve(targetDir, filePath));
58
+ }
59
+ if (publishConfig.alphaTypes) {
60
+ await writeReleaseStageEntrypoint(pkg, "alpha", targetDir);
61
+ }
62
+ if (publishConfig.betaTypes) {
63
+ await writeReleaseStageEntrypoint(pkg, "beta", targetDir);
64
+ }
65
+ await fs__default["default"].writeFile(pkgPath, pkgContent, "utf8");
66
+ }
67
+
68
+ const UNSAFE_PACKAGES = [
69
+ ...Object.keys(index.dependencies),
70
+ ...Object.keys(index.devDependencies)
71
+ ];
72
+ async function createDistWorkspace(packageNames, options = {}) {
73
+ var _a, _b, _c, _d, _e;
74
+ const targetDir = (_a = options.targetDir) != null ? _a : await fs__default["default"].mkdtemp(path.resolve(os.tmpdir(), "dist-workspace"));
75
+ const packages = await PackageGraph.PackageGraph.listTargetPackages();
76
+ const packageGraph = PackageGraph.PackageGraph.fromPackages(packages);
77
+ const targetNames = packageGraph.collectPackageNames(packageNames, (node) => {
78
+ if (node.packageJson.bundled) {
79
+ return void 0;
80
+ }
81
+ return node.publishedLocalDependencies.keys();
82
+ });
83
+ const targets = Array.from(targetNames).map((name) => packageGraph.get(name));
84
+ if (options.buildDependencies) {
85
+ const exclude = (_b = options.buildExcludes) != null ? _b : [];
86
+ const toBuild = new Set(targets.map((_) => _.name).filter((name) => !exclude.includes(name)));
87
+ const standardBuilds = new Array();
88
+ const customBuild = new Array();
89
+ for (const pkg of packages) {
90
+ if (!toBuild.has(pkg.packageJson.name)) {
91
+ continue;
92
+ }
93
+ const role = (_c = pkg.packageJson.backstage) == null ? void 0 : _c.role;
94
+ if (!role) {
95
+ console.warn(`Building ${pkg.packageJson.name} separately because it has no role`);
96
+ customBuild.push(pkg.packageJson.name);
97
+ continue;
98
+ }
99
+ const buildScript = (_d = pkg.packageJson.scripts) == null ? void 0 : _d.build;
100
+ if (!buildScript) {
101
+ customBuild.push(pkg.packageJson.name);
102
+ continue;
103
+ }
104
+ if (!buildScript.startsWith("backstage-cli package build")) {
105
+ console.warn(`Building ${pkg.packageJson.name} separately because it has a custom build script, '${buildScript}'`);
106
+ customBuild.push(pkg.packageJson.name);
107
+ continue;
108
+ }
109
+ if (packageRoles.getRoleInfo(role).output.includes("bundle")) {
110
+ console.warn(`Building ${pkg.packageJson.name} separately because it is a bundled package`);
111
+ customBuild.push(pkg.packageJson.name);
112
+ continue;
113
+ }
114
+ const outputs = packager.getOutputsForRole(role);
115
+ outputs.delete(packager.Output.types);
116
+ if (outputs.size > 0) {
117
+ standardBuilds.push({
118
+ targetDir: pkg.dir,
119
+ outputs,
120
+ logPrefix: `${chalk__default["default"].cyan(path.relative(index.paths.targetRoot, pkg.dir))}: `,
121
+ minify: false,
122
+ useApiExtractor: false
123
+ });
124
+ }
125
+ }
126
+ await packager.buildPackages(standardBuilds);
127
+ if (customBuild.length > 0) {
128
+ const scopeArgs = customBuild.flatMap((name) => ["--scope", name]);
129
+ const lernaArgs = options.parallelism && Number.isInteger(options.parallelism) ? ["--concurrency", options.parallelism.toString()] : [];
130
+ await run.run("yarn", ["lerna", ...lernaArgs, "run", ...scopeArgs, "build"], {
131
+ cwd: index.paths.targetRoot
132
+ });
133
+ }
134
+ }
135
+ await moveToDistWorkspace(targetDir, targets);
136
+ const files = (_e = options.files) != null ? _e : ["yarn.lock", "package.json"];
137
+ for (const file of files) {
138
+ const src = typeof file === "string" ? file : file.src;
139
+ const dest = typeof file === "string" ? file : file.dest;
140
+ await fs__default["default"].copy(index.paths.resolveTargetRoot(src), path.resolve(targetDir, dest));
141
+ }
142
+ if (options.skeleton) {
143
+ const skeletonFiles = targets.map((target) => {
144
+ const dir = path.relative(index.paths.targetRoot, target.dir);
145
+ return path.join(dir, "package.json");
146
+ });
147
+ await tar__default["default"].create({
148
+ file: path.resolve(targetDir, options.skeleton),
149
+ cwd: targetDir,
150
+ portable: true,
151
+ noMtime: true,
152
+ gzip: options.skeleton.endsWith(".gz")
153
+ }, skeletonFiles);
154
+ }
155
+ return targetDir;
156
+ }
157
+ const FAST_PACK_SCRIPTS = [
158
+ void 0,
159
+ "backstage-cli prepack",
160
+ "backstage-cli package prepack"
161
+ ];
162
+ async function moveToDistWorkspace(workspaceDir, localPackages) {
163
+ const [fastPackPackages, slowPackPackages] = partition__default["default"](localPackages, (pkg) => {
164
+ var _a;
165
+ return FAST_PACK_SCRIPTS.includes((_a = pkg.packageJson.scripts) == null ? void 0 : _a.prepack);
166
+ });
167
+ await Promise.all(fastPackPackages.map(async (target) => {
168
+ console.log(`Moving ${target.name} into dist workspace`);
169
+ const outputDir = path.relative(index.paths.targetRoot, target.dir);
170
+ const absoluteOutputPath = path.resolve(workspaceDir, outputDir);
171
+ await copyPackageDist(target.dir, absoluteOutputPath);
172
+ }));
173
+ async function pack(target, archive) {
174
+ var _a, _b;
175
+ console.log(`Repacking ${target.name} into dist workspace`);
176
+ const archivePath = path.resolve(workspaceDir, archive);
177
+ await run.run("yarn", ["pack", "--filename", archivePath], {
178
+ cwd: target.dir
179
+ });
180
+ if ((_b = (_a = target.packageJson) == null ? void 0 : _a.scripts) == null ? void 0 : _b.postpack) {
181
+ await run.run("yarn", ["postpack"], { cwd: target.dir });
182
+ }
183
+ const outputDir = path.relative(index.paths.targetRoot, target.dir);
184
+ const absoluteOutputPath = path.resolve(workspaceDir, outputDir);
185
+ await fs__default["default"].ensureDir(absoluteOutputPath);
186
+ await tar__default["default"].extract({
187
+ file: archivePath,
188
+ cwd: absoluteOutputPath,
189
+ strip: 1
190
+ });
191
+ await fs__default["default"].remove(archivePath);
192
+ if (target.packageJson.bundled) {
193
+ const pkgJson = await fs__default["default"].readJson(path.resolve(absoluteOutputPath, "package.json"));
194
+ delete pkgJson.dependencies;
195
+ delete pkgJson.devDependencies;
196
+ delete pkgJson.peerDependencies;
197
+ delete pkgJson.optionalDependencies;
198
+ await fs__default["default"].writeJson(path.resolve(absoluteOutputPath, "package.json"), pkgJson, {
199
+ spaces: 2
200
+ });
201
+ }
202
+ }
203
+ const [unsafePackages, safePackages] = partition__default["default"](slowPackPackages, (p) => UNSAFE_PACKAGES.includes(p.name));
204
+ for (const target of unsafePackages) {
205
+ await pack(target, `temp-package.tgz`);
206
+ }
207
+ await Promise.all(safePackages.map(async (target, index) => pack(target, `temp-package-${index}.tgz`)));
208
+ }
209
+
210
+ exports.createDistWorkspace = createDistWorkspace;
211
+ //# sourceMappingURL=createDistWorkspace-59a08943.cjs.js.map
@@ -10,12 +10,12 @@ 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 tasks = require('./tasks-f57f3a8c.cjs.js');
14
- var index = require('./index-db3186f9.cjs.js');
13
+ var tasks = require('./tasks-f55f3d7e.cjs.js');
14
+ var index = require('./index-2b8588e8.cjs.js');
15
15
  var Lockfile = require('./Lockfile-35661afa.cjs.js');
16
16
  require('minimatch');
17
17
  require('@manypkg/get-packages');
18
- require('./run-448b5912.cjs.js');
18
+ require('./run-d3528c59.cjs.js');
19
19
  require('handlebars');
20
20
  require('ora');
21
21
  require('recursive-readdir');
@@ -234,4 +234,4 @@ exports.addPluginExtensionToApp = addPluginExtensionToApp;
234
234
  exports.capitalize = capitalize;
235
235
  exports["default"] = createPlugin;
236
236
  exports.movePlugin = movePlugin;
237
- //# sourceMappingURL=createPlugin-98d2404a.cjs.js.map
237
+ //# sourceMappingURL=createPlugin-fd799616.cjs.js.map
@@ -1,15 +1,16 @@
1
1
  'use strict';
2
2
 
3
3
  var fs = require('fs-extra');
4
- var index = require('./index-db3186f9.cjs.js');
5
- var webpack = require('webpack');
6
- var paths = require('./paths-f273ca03.cjs.js');
4
+ var index = require('./index-2b8588e8.cjs.js');
5
+ var backend = require('./backend-7919a693.cjs.js');
7
6
  require('commander');
8
7
  require('chalk');
9
8
  require('semver');
10
9
  require('@backstage/cli-common');
11
10
  require('@backstage/config/package.json');
12
11
  require('@backstage/errors');
12
+ require('webpack');
13
+ require('./paths-8e0b151d.cjs.js');
13
14
  require('path');
14
15
  require('fork-ts-checker-webpack-plugin');
15
16
  require('html-webpack-plugin');
@@ -18,8 +19,8 @@ require('run-script-webpack-plugin');
18
19
  require('webpack-node-externals');
19
20
  require('@manypkg/get-packages');
20
21
  require('mini-css-extract-plugin');
21
- require('./svgrTemplate-f19e974c.cjs.js');
22
- require('./run-448b5912.cjs.js');
22
+ require('./svgrTemplate-b7a4ee52.cjs.js');
23
+ require('./run-d3528c59.cjs.js');
23
24
  require('child_process');
24
25
  require('util');
25
26
  require('eslint-webpack-plugin');
@@ -28,36 +29,10 @@ require('lodash/pickBy');
28
29
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
29
30
 
30
31
  var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
31
- var webpack__default = /*#__PURE__*/_interopDefaultLegacy(webpack);
32
-
33
- async function serveBackend(options) {
34
- const paths$1 = paths.resolveBundlingPaths(options);
35
- const config = await paths.createBackendConfig(paths$1, {
36
- ...options,
37
- isDev: true
38
- });
39
- const compiler = webpack__default["default"](config, (err) => {
40
- if (err) {
41
- console.error(err);
42
- } else
43
- console.log("Build succeeded");
44
- });
45
- const waitForExit = async () => {
46
- for (const signal of ["SIGINT", "SIGTERM"]) {
47
- process.on(signal, () => {
48
- compiler.close(() => console.log("Stopped watcher"));
49
- process.exit();
50
- });
51
- }
52
- return new Promise(() => {
53
- });
54
- };
55
- return waitForExit;
56
- }
57
32
 
58
33
  var dev = async (cmd) => {
59
34
  await fs__default["default"].remove(index.paths.resolveTarget("dist"));
60
- const waitForExit = await serveBackend({
35
+ const waitForExit = await backend.serveBackend({
61
36
  entry: "src/index",
62
37
  checksEnabled: cmd.check,
63
38
  inspectEnabled: cmd.inspect,
@@ -67,4 +42,4 @@ var dev = async (cmd) => {
67
42
  };
68
43
 
69
44
  exports["default"] = dev;
70
- //# sourceMappingURL=dev-35175ac8.cjs.js.map
45
+ //# sourceMappingURL=dev-70024fd0.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-db3186f9.cjs.js');
10
+ var index = require('./index-2b8588e8.cjs.js');
11
11
  require('commander');
12
12
  require('semver');
13
13
  require('@backstage/cli-common');
@@ -124,6 +124,10 @@ class PackageJsonHandler {
124
124
  if (!pkgScripts) {
125
125
  return;
126
126
  }
127
+ const hasNewScript = Object.values(targetScripts).some((script) => String(script).includes("backstage-cli package "));
128
+ if (hasNewScript) {
129
+ return;
130
+ }
127
131
  for (const key of Object.keys(pkgScripts)) {
128
132
  await this.syncField(key, pkgScripts, targetScripts, "scripts");
129
133
  }
@@ -326,15 +330,11 @@ const fileHandlers = [
326
330
  handler: handlers.packageJson
327
331
  },
328
332
  {
329
- patterns: ["src/routes.ts"],
330
- handler: handlers.skip
331
- },
332
- {
333
- patterns: [".eslintrc.js", /^(src|dev)\/[^/]+$/],
333
+ patterns: [".eslintrc.js"],
334
334
  handler: handlers.exists
335
335
  },
336
336
  {
337
- patterns: ["README.md", "tsconfig.json", /^src\//],
337
+ patterns: ["README.md", "tsconfig.json", /^src\//, /^dev\//],
338
338
  handler: handlers.skip
339
339
  }
340
340
  ];
@@ -381,4 +381,4 @@ async function readPluginData() {
381
381
  }
382
382
 
383
383
  exports["default"] = diff;
384
- //# sourceMappingURL=diff-0f4d8b16.cjs.js.map
384
+ //# sourceMappingURL=diff-4cf33d7e.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-08b1d0e3.cjs.js');
5
+ var config = require('./config-147bac17.cjs.js');
6
6
  require('@backstage/config');
7
- require('./index-db3186f9.cjs.js');
7
+ require('./index-2b8588e8.cjs.js');
8
8
  require('commander');
9
9
  require('chalk');
10
10
  require('fs-extra');
@@ -13,7 +13,10 @@ require('@backstage/cli-common');
13
13
  require('@backstage/config/package.json');
14
14
  require('@backstage/errors');
15
15
  require('@manypkg/get-packages');
16
- require('./PackageGraph-7a0d3a83.cjs.js');
16
+ require('./PackageGraph-d7b9d768.cjs.js');
17
+ require('path');
18
+ require('child_process');
19
+ require('util');
17
20
 
18
21
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
19
22
 
@@ -31,4 +34,4 @@ var docs = async (cmd) => {
31
34
  };
32
35
 
33
36
  exports["default"] = docs;
34
- //# sourceMappingURL=docs-1df9fa22.cjs.js.map
37
+ //# sourceMappingURL=docs-1ce5cd6c.cjs.js.map