@backstage/cli 0.17.2-next.2 → 0.18.0-next.1

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 (51) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/dist/cjs/{PackageGraph-53dd0b3a.cjs.js → PackageGraph-7e994333.cjs.js} +2 -2
  3. package/dist/cjs/{build-b640fbb1.cjs.js → build-358f7340.cjs.js} +18 -20
  4. package/dist/cjs/{bundle-2865badd.cjs.js → buildBackend-40a0db49.cjs.js} +76 -5
  5. package/dist/cjs/{buildWorkspace-1318ef7c.cjs.js → buildWorkspace-113c2556.cjs.js} +6 -7
  6. package/dist/cjs/{bump-a2a67632.cjs.js → bump-8012d58d.cjs.js} +5 -5
  7. package/dist/cjs/{clean-b88c06d7.cjs.js → clean-51f7e960.cjs.js} +2 -2
  8. package/dist/cjs/{config-c55d76c2.cjs.js → config-c574e8ff.cjs.js} +3 -3
  9. package/dist/cjs/{create-3481627f.cjs.js → create-cdb38353.cjs.js} +4 -4
  10. package/dist/cjs/{packager-e7ca33b6.cjs.js → createDistWorkspace-fb33ba17.cjs.js} +206 -6
  11. package/dist/cjs/{createPlugin-4a6dad5f.cjs.js → createPlugin-68c996ad.cjs.js} +4 -4
  12. package/dist/cjs/{diff-dd85d694.cjs.js → diff-fc217aa9.cjs.js} +2 -2
  13. package/dist/cjs/{docs-347465a8.cjs.js → docs-6c75c5e0.cjs.js} +4 -4
  14. package/dist/cjs/{fix-edf6ddd5.cjs.js → fix-ffae9892.cjs.js} +3 -3
  15. package/dist/cjs/{index-04607cda.cjs.js → index-85d34e34.cjs.js} +99 -15
  16. package/dist/cjs/{index-8425c7e9.cjs.js → index-996aef8d.cjs.js} +23 -25
  17. package/dist/cjs/{index-c808cf0d.cjs.js → index-9f937162.cjs.js} +45 -34
  18. package/dist/cjs/{index-484b5764.cjs.js → index-a8f4ed57.cjs.js} +51 -62
  19. package/dist/cjs/{info-bdf9500e.cjs.js → info-ed12f647.cjs.js} +3 -3
  20. package/dist/cjs/{install-f2c69ceb.cjs.js → install-0dfffa1e.cjs.js} +4 -4
  21. package/dist/cjs/{lint-78966a2b.cjs.js → lint-00f4c9e7.cjs.js} +2 -2
  22. package/dist/cjs/{lint-31191dbb.cjs.js → lint-2c60616f.cjs.js} +3 -3
  23. package/dist/cjs/{lint-842c16ad.cjs.js → lint-a9a1f30c.cjs.js} +3 -3
  24. package/dist/cjs/{list-deprecations-0ca97f41.cjs.js → list-deprecations-29b99689.cjs.js} +3 -3
  25. package/dist/cjs/{pack-063fc0e4.cjs.js → pack-9cd16c4d.cjs.js} +2 -2
  26. package/dist/cjs/{packageLintConfigs-a9450c0f.cjs.js → packageLintConfigs-b0372a12.cjs.js} +4 -4
  27. package/dist/cjs/{packageRole-d53a079d.cjs.js → packageRole-35b363ad.cjs.js} +3 -3
  28. package/dist/cjs/{packageRoles-7963d6c3.cjs.js → packageRoles-c5b78d5d.cjs.js} +2 -2
  29. package/dist/cjs/{packageScripts-cb877166.cjs.js → packageScripts-80a80019.cjs.js} +4 -4
  30. package/dist/cjs/{packages-75064d97.cjs.js → packages-e5e2a455.cjs.js} +3 -3
  31. package/dist/cjs/{paths-5b55d04b.cjs.js → paths-d615bab6.cjs.js} +3 -3
  32. package/dist/cjs/{print-22734527.cjs.js → print-240a7bcf.cjs.js} +4 -4
  33. package/dist/cjs/{run-b1683a19.cjs.js → run-94261248.cjs.js} +2 -2
  34. package/dist/cjs/{schema-fa0c5bc6.cjs.js → schema-4e5c9ed3.cjs.js} +4 -4
  35. package/dist/cjs/{tasks-4a4c19ec.cjs.js → tasks-c599c124.cjs.js} +2 -2
  36. package/dist/cjs/{test-40d397f6.cjs.js → test-873bb0fc.cjs.js} +3 -3
  37. package/dist/cjs/{validate-07fe3595.cjs.js → validate-dc3ecade.cjs.js} +4 -4
  38. package/dist/index.cjs.js +1 -1
  39. package/package.json +14 -14
  40. package/dist/cjs/backend-33948fed.cjs.js +0 -35
  41. package/dist/cjs/build-0a70fea8.cjs.js +0 -58
  42. package/dist/cjs/build-48f61d5c.cjs.js +0 -38
  43. package/dist/cjs/build-de048feb.cjs.js +0 -38
  44. package/dist/cjs/buildBackend-bfab5262.cjs.js +0 -86
  45. package/dist/cjs/bundle-729219a4.cjs.js +0 -75
  46. package/dist/cjs/createDistWorkspace-176d2203.cjs.js +0 -215
  47. package/dist/cjs/dev-695d205e.cjs.js +0 -44
  48. package/dist/cjs/oldBuild-11077a74.cjs.js +0 -51
  49. package/dist/cjs/serve-38e4427f.cjs.js +0 -56
  50. package/dist/cjs/serve-569da697.cjs.js +0 -97
  51. package/dist/cjs/server-f78129b4.cjs.js +0 -76
package/CHANGELOG.md CHANGED
@@ -1,5 +1,55 @@
1
1
  # @backstage/cli
2
2
 
3
+ ## 0.18.0-next.1
4
+
5
+ ### Minor Changes
6
+
7
+ - 96a82d9791: **BREAKING**: Removed the following deprecated package commands:
8
+
9
+ - `app:build` - Use `package build` instead
10
+ - `app:serve` - Use `package start` instead
11
+ - `backend:build` - Use `package build` instead
12
+ - `backend:bundle` - Use `package build` instead
13
+ - `backend:dev` - Use `package start` instead
14
+ - `plugin:build` - Use `package build` instead
15
+ - `plugin:serve` - Use `package start` instead
16
+ - `build` - Use `package build` instead
17
+ - `lint` - Use `package lint` instead
18
+ - `prepack` - Use `package prepack` instead
19
+ - `postpack` - Use `package postpack` instead
20
+
21
+ In order to replace these you need to have [migrated to using package roles](https://backstage.io/docs/tutorials/package-role-migration).
22
+
23
+ ### Patch Changes
24
+
25
+ - 86640214f0: Upgrade `@rollup/plugin-node-resolve` to `^13.0.6`
26
+ - e661242844: Updated dependency `run-script-webpack-plugin` to `^0.1.0`.
27
+ - Updated dependencies
28
+ - @backstage/errors@1.1.0-next.0
29
+ - @backstage/config-loader@1.1.3-next.0
30
+
31
+ ## 0.17.3-next.0
32
+
33
+ ### Patch Changes
34
+
35
+ - d2256c0384: Fix `webpack-dev-server` deprecations.
36
+
37
+ ## 0.17.2
38
+
39
+ ### Patch Changes
40
+
41
+ - 026cfe525a: Fix the public path configuration of the frontend app build so that a trailing `/` is always appended when needed.
42
+ - 4f73352608: Updated Lockfile to support new versions of yarn as well as the legacy 1 version
43
+ - b8970b8941: Improved the `create-github-app` permissions selection prompt by converting it into a multi-select with clearer descriptions. The `members` permission is now also included in the list which is required for ingesting user data into the catalog.
44
+ - bd58365d09: Updated dependency `run-script-webpack-plugin` to `^0.0.14`.
45
+ - 9002ebd76b: Updated dependency `@rollup/plugin-commonjs` to `^22.0.0`.
46
+ - 8f7b1835df: Updated dependency `msw` to `^0.41.0`.
47
+ - 1a33e8b287: Updated dependency `minimatch` to `5.1.0`.
48
+ - 6de866ea74: Added console warning to frontend start when the `app.baseUrl` and `backend.baseUrl` are identical
49
+ - Updated dependencies
50
+ - @backstage/config-loader@1.1.2
51
+ - @backstage/release-manifests@0.0.4
52
+
3
53
  ## 0.17.2-next.2
4
54
 
5
55
  ### Patch Changes
@@ -2,7 +2,7 @@
2
2
 
3
3
  var path = require('path');
4
4
  var getPackages = require('@manypkg/get-packages');
5
- var index = require('./index-484b5764.cjs.js');
5
+ var index = require('./index-a8f4ed57.cjs.js');
6
6
  var errors = require('@backstage/errors');
7
7
  var child_process = require('child_process');
8
8
  var util = require('util');
@@ -158,4 +158,4 @@ class PackageGraph extends Map {
158
158
  }
159
159
 
160
160
  exports.PackageGraph = PackageGraph;
161
- //# sourceMappingURL=PackageGraph-53dd0b3a.cjs.js.map
161
+ //# sourceMappingURL=PackageGraph-7e994333.cjs.js.map
@@ -2,13 +2,20 @@
2
2
 
3
3
  var chalk = require('chalk');
4
4
  var path = require('path');
5
- var packager = require('./packager-e7ca33b6.cjs.js');
6
- var PackageGraph = require('./PackageGraph-53dd0b3a.cjs.js');
5
+ var createDistWorkspace = require('./createDistWorkspace-fb33ba17.cjs.js');
6
+ var PackageGraph = require('./PackageGraph-7e994333.cjs.js');
7
7
  var parallel = require('./parallel-8286d3fa.cjs.js');
8
- var index = require('./index-484b5764.cjs.js');
9
- var packageRoles = require('./packageRoles-7963d6c3.cjs.js');
10
- var buildBackend = require('./buildBackend-bfab5262.cjs.js');
8
+ var index = require('./index-a8f4ed57.cjs.js');
9
+ var packageRoles = require('./packageRoles-c5b78d5d.cjs.js');
10
+ var buildBackend = require('./buildBackend-40a0db49.cjs.js');
11
11
  require('fs-extra');
12
+ require('os');
13
+ require('tar');
14
+ require('lodash/partition');
15
+ require('./run-94261248.cjs.js');
16
+ require('child_process');
17
+ require('util');
18
+ require('@backstage/errors');
12
19
  require('rollup');
13
20
  require('@rollup/plugin-commonjs');
14
21
  require('@rollup/plugin-node-resolve');
@@ -20,11 +27,8 @@ require('@rollup/plugin-json');
20
27
  require('@rollup/plugin-yaml');
21
28
  require('rollup-pluginutils');
22
29
  require('./svgrTemplate-550efce6.cjs.js');
30
+ require('npm-packlist');
23
31
  require('@manypkg/get-packages');
24
- require('@backstage/errors');
25
- require('child_process');
26
- require('util');
27
- require('os');
28
32
  require('worker_threads');
29
33
  require('commander');
30
34
  require('semver');
@@ -36,24 +40,18 @@ require('html-webpack-plugin');
36
40
  require('react-dev-utils/ModuleScopePlugin');
37
41
  require('run-script-webpack-plugin');
38
42
  require('webpack-node-externals');
39
- require('./paths-5b55d04b.cjs.js');
43
+ require('./paths-d615bab6.cjs.js');
40
44
  require('mini-css-extract-plugin');
41
- require('./run-b1683a19.cjs.js');
42
45
  require('eslint-webpack-plugin');
43
46
  require('lodash/pickBy');
44
- require('./bundle-2865badd.cjs.js');
45
47
  require('yn');
46
48
  require('react-dev-utils/FileSizeReporter');
47
49
  require('react-dev-utils/formatWebpackMessages');
48
50
  require('webpack-dev-server');
49
51
  require('react-dev-utils/openBrowser');
50
- require('./config-c55d76c2.cjs.js');
52
+ require('./config-c574e8ff.cjs.js');
51
53
  require('@backstage/config-loader');
52
54
  require('@backstage/config');
53
- require('tar');
54
- require('./createDistWorkspace-176d2203.cjs.js');
55
- require('lodash/partition');
56
- require('npm-packlist');
57
55
 
58
56
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
59
57
 
@@ -116,7 +114,7 @@ async function command(opts, cmd) {
116
114
  backends.push(pkg);
117
115
  return [];
118
116
  }
119
- const outputs = packager.getOutputsForRole(role);
117
+ const outputs = createDistWorkspace.getOutputsForRole(role);
120
118
  if (outputs.size === 0) {
121
119
  console.warn(`Ignored ${pkg.packageJson.name} because it has no output`);
122
120
  return [];
@@ -135,7 +133,7 @@ async function command(opts, cmd) {
135
133
  };
136
134
  });
137
135
  console.log("Building packages");
138
- await packager.buildPackages(options);
136
+ await createDistWorkspace.buildPackages(options);
139
137
  if (opts.all) {
140
138
  console.log("Building apps");
141
139
  await parallel.runParallelWorkers({
@@ -176,4 +174,4 @@ async function command(opts, cmd) {
176
174
  }
177
175
 
178
176
  exports.command = command;
179
- //# sourceMappingURL=build-b640fbb1.cjs.js.map
177
+ //# sourceMappingURL=build-358f7340.cjs.js.map
@@ -1,21 +1,42 @@
1
1
  'use strict';
2
2
 
3
- var yn = require('yn');
4
3
  var fs = require('fs-extra');
5
4
  var path = require('path');
6
5
  var webpack = require('webpack');
6
+ require('fork-ts-checker-webpack-plugin');
7
+ require('html-webpack-plugin');
8
+ require('react-dev-utils/ModuleScopePlugin');
9
+ require('run-script-webpack-plugin');
10
+ require('webpack-node-externals');
11
+ require('@backstage/cli-common');
12
+ require('@manypkg/get-packages');
13
+ var paths = require('./paths-d615bab6.cjs.js');
14
+ require('mini-css-extract-plugin');
15
+ require('./index-a8f4ed57.cjs.js');
16
+ require('./run-94261248.cjs.js');
17
+ require('eslint-webpack-plugin');
18
+ require('lodash/pickBy');
19
+ var yn = require('yn');
7
20
  var FileSizeReporter = require('react-dev-utils/FileSizeReporter');
8
21
  var formatWebpackMessages = require('react-dev-utils/formatWebpackMessages');
9
- var paths = require('./paths-5b55d04b.cjs.js');
10
22
  var chalk = require('chalk');
23
+ require('webpack-dev-server');
24
+ require('react-dev-utils/openBrowser');
25
+ var parallel = require('./parallel-8286d3fa.cjs.js');
26
+ var config = require('./config-c574e8ff.cjs.js');
27
+ var os = require('os');
28
+ var tar = require('tar');
29
+ var createDistWorkspace = require('./createDistWorkspace-fb33ba17.cjs.js');
11
30
 
12
31
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
32
 
14
- var yn__default = /*#__PURE__*/_interopDefaultLegacy(yn);
15
33
  var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
16
34
  var webpack__default = /*#__PURE__*/_interopDefaultLegacy(webpack);
35
+ var yn__default = /*#__PURE__*/_interopDefaultLegacy(yn);
17
36
  var formatWebpackMessages__default = /*#__PURE__*/_interopDefaultLegacy(formatWebpackMessages);
18
37
  var chalk__default = /*#__PURE__*/_interopDefaultLegacy(chalk);
38
+ var os__default = /*#__PURE__*/_interopDefaultLegacy(os);
39
+ var tar__default = /*#__PURE__*/_interopDefaultLegacy(tar);
19
40
 
20
41
  const WARN_AFTER_BUNDLE_GZIP_SIZE = 512 * 1024;
21
42
  const WARN_AFTER_CHUNK_GZIP_SIZE = 1024 * 1024;
@@ -97,5 +118,55 @@ async function build(compiler, isCi) {
97
118
  return { stats };
98
119
  }
99
120
 
100
- exports.buildBundle = buildBundle;
101
- //# sourceMappingURL=bundle-2865badd.cjs.js.map
121
+ async function buildFrontend(options) {
122
+ const { targetDir, writeStats, configPaths } = options;
123
+ const { name } = await fs__default["default"].readJson(path.resolve(targetDir, "package.json"));
124
+ await buildBundle({
125
+ targetDir,
126
+ entry: "src/index",
127
+ parallelism: parallel.getEnvironmentParallelism(),
128
+ statsJsonEnabled: writeStats,
129
+ ...await config.loadCliConfig({
130
+ args: configPaths,
131
+ fromPackage: name
132
+ })
133
+ });
134
+ }
135
+
136
+ const BUNDLE_FILE = "bundle.tar.gz";
137
+ const SKELETON_FILE = "skeleton.tar.gz";
138
+ async function buildBackend(options) {
139
+ const { targetDir, skipBuildDependencies } = options;
140
+ const pkg = await fs__default["default"].readJson(path.resolve(targetDir, "package.json"));
141
+ await createDistWorkspace.buildPackage({
142
+ targetDir: options.targetDir,
143
+ outputs: /* @__PURE__ */ new Set([createDistWorkspace.Output.cjs])
144
+ });
145
+ const tmpDir = await fs__default["default"].mkdtemp(path.resolve(os__default["default"].tmpdir(), "backstage-bundle"));
146
+ try {
147
+ await createDistWorkspace.createDistWorkspace([pkg.name], {
148
+ targetDir: tmpDir,
149
+ buildDependencies: !skipBuildDependencies,
150
+ buildExcludes: [pkg.name],
151
+ parallelism: parallel.getEnvironmentParallelism(),
152
+ skeleton: SKELETON_FILE
153
+ });
154
+ const distDir = path.resolve(targetDir, "dist");
155
+ await fs__default["default"].remove(distDir);
156
+ await fs__default["default"].mkdir(distDir);
157
+ await fs__default["default"].move(path.resolve(tmpDir, SKELETON_FILE), path.resolve(distDir, SKELETON_FILE));
158
+ await tar__default["default"].create({
159
+ file: path.resolve(distDir, BUNDLE_FILE),
160
+ cwd: tmpDir,
161
+ portable: true,
162
+ noMtime: true,
163
+ gzip: true
164
+ }, [""]);
165
+ } finally {
166
+ await fs__default["default"].remove(tmpDir);
167
+ }
168
+ }
169
+
170
+ exports.buildBackend = buildBackend;
171
+ exports.buildFrontend = buildFrontend;
172
+ //# sourceMappingURL=buildBackend-40a0db49.cjs.js.map
@@ -1,23 +1,22 @@
1
1
  'use strict';
2
2
 
3
3
  var fs = require('fs-extra');
4
- var createDistWorkspace = require('./createDistWorkspace-176d2203.cjs.js');
4
+ var createDistWorkspace = require('./createDistWorkspace-fb33ba17.cjs.js');
5
5
  require('chalk');
6
6
  require('path');
7
7
  require('os');
8
8
  require('tar');
9
9
  require('lodash/partition');
10
- require('./index-484b5764.cjs.js');
10
+ require('./index-a8f4ed57.cjs.js');
11
11
  require('commander');
12
12
  require('semver');
13
13
  require('@backstage/cli-common');
14
14
  require('@backstage/errors');
15
- require('./run-b1683a19.cjs.js');
15
+ require('./run-94261248.cjs.js');
16
16
  require('child_process');
17
17
  require('util');
18
- require('./PackageGraph-53dd0b3a.cjs.js');
18
+ require('./PackageGraph-7e994333.cjs.js');
19
19
  require('@manypkg/get-packages');
20
- require('./packager-e7ca33b6.cjs.js');
21
20
  require('rollup');
22
21
  require('@rollup/plugin-commonjs');
23
22
  require('@rollup/plugin-node-resolve');
@@ -31,7 +30,7 @@ require('rollup-pluginutils');
31
30
  require('./svgrTemplate-550efce6.cjs.js');
32
31
  require('./parallel-8286d3fa.cjs.js');
33
32
  require('worker_threads');
34
- require('./packageRoles-7963d6c3.cjs.js');
33
+ require('./packageRoles-c5b78d5d.cjs.js');
35
34
  require('zod');
36
35
  require('npm-packlist');
37
36
 
@@ -49,4 +48,4 @@ var buildWorkspace = async (dir, packages) => {
49
48
  };
50
49
 
51
50
  exports["default"] = buildWorkspace;
52
- //# sourceMappingURL=buildWorkspace-1318ef7c.cjs.js.map
51
+ //# sourceMappingURL=buildWorkspace-113c2556.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-b1683a19.cjs.js');
11
- var index = require('./index-484b5764.cjs.js');
10
+ var run = require('./run-94261248.cjs.js');
11
+ var index = require('./index-a8f4ed57.cjs.js');
12
12
  var Lockfile = require('./Lockfile-48dc675e.cjs.js');
13
- var packages = require('./packages-75064d97.cjs.js');
14
- var lint = require('./lint-31191dbb.cjs.js');
13
+ var packages = require('./packages-e5e2a455.cjs.js');
14
+ var lint = require('./lint-2c60616f.cjs.js');
15
15
  var cliCommon = require('@backstage/cli-common');
16
16
  var parallel = require('./parallel-8286d3fa.cjs.js');
17
17
  var releaseManifests = require('@backstage/release-manifests');
@@ -346,4 +346,4 @@ exports.bumpBackstageJsonVersion = bumpBackstageJsonVersion;
346
346
  exports.createStrictVersionFinder = createStrictVersionFinder;
347
347
  exports.createVersionFinder = createVersionFinder;
348
348
  exports["default"] = bump;
349
- //# sourceMappingURL=bump-a2a67632.cjs.js.map
349
+ //# sourceMappingURL=bump-8012d58d.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-484b5764.cjs.js');
4
+ var index = require('./index-a8f4ed57.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-b88c06d7.cjs.js.map
22
+ //# sourceMappingURL=clean-51f7e960.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-484b5764.cjs.js');
5
+ var index = require('./index-a8f4ed57.cjs.js');
6
6
  var getPackages = require('@manypkg/get-packages');
7
- var PackageGraph = require('./PackageGraph-53dd0b3a.cjs.js');
7
+ var PackageGraph = require('./PackageGraph-7e994333.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-c55d76c2.cjs.js.map
79
+ //# sourceMappingURL=config-c574e8ff.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-484b5764.cjs.js');
11
- var tasks = require('./tasks-4a4c19ec.cjs.js');
10
+ var index = require('./index-a8f4ed57.cjs.js');
11
+ var tasks = require('./tasks-c599c124.cjs.js');
12
12
  var Lockfile = require('./Lockfile-48dc675e.cjs.js');
13
13
  require('minimatch');
14
14
  require('@manypkg/get-packages');
15
- require('./run-b1683a19.cjs.js');
15
+ require('./run-94261248.cjs.js');
16
16
  var partition = require('lodash/partition');
17
17
  var errors = require('@backstage/errors');
18
18
  require('commander');
@@ -481,4 +481,4 @@ var create = async (opts) => {
481
481
  };
482
482
 
483
483
  exports["default"] = create;
484
- //# sourceMappingURL=create-3481627f.cjs.js.map
484
+ //# sourceMappingURL=create-cdb38353.cjs.js.map
@@ -1,10 +1,15 @@
1
1
  'use strict';
2
2
 
3
- var fs = require('fs-extra');
4
- var rollup = require('rollup');
5
3
  var chalk = require('chalk');
4
+ var fs = require('fs-extra');
6
5
  var path = require('path');
7
- var index = require('./index-484b5764.cjs.js');
6
+ var os = require('os');
7
+ var tar = require('tar');
8
+ var partition = require('lodash/partition');
9
+ var index = require('./index-a8f4ed57.cjs.js');
10
+ var run = require('./run-94261248.cjs.js');
11
+ var PackageGraph = require('./PackageGraph-7e994333.cjs.js');
12
+ var rollup = require('rollup');
8
13
  var commonjs = require('@rollup/plugin-commonjs');
9
14
  var resolve = require('@rollup/plugin-node-resolve');
10
15
  var postcss = require('rollup-plugin-postcss');
@@ -16,12 +21,15 @@ var yaml = require('@rollup/plugin-yaml');
16
21
  var rollupPluginutils = require('rollup-pluginutils');
17
22
  var svgrTemplate = require('./svgrTemplate-550efce6.cjs.js');
18
23
  var parallel = require('./parallel-8286d3fa.cjs.js');
19
- var packageRoles = require('./packageRoles-7963d6c3.cjs.js');
24
+ var packageRoles = require('./packageRoles-c5b78d5d.cjs.js');
25
+ var npmPackList = require('npm-packlist');
20
26
 
21
27
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
22
28
 
23
- var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
24
29
  var chalk__default = /*#__PURE__*/_interopDefaultLegacy(chalk);
30
+ var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
31
+ var tar__default = /*#__PURE__*/_interopDefaultLegacy(tar);
32
+ var partition__default = /*#__PURE__*/_interopDefaultLegacy(partition);
25
33
  var commonjs__default = /*#__PURE__*/_interopDefaultLegacy(commonjs);
26
34
  var resolve__default = /*#__PURE__*/_interopDefaultLegacy(resolve);
27
35
  var postcss__default = /*#__PURE__*/_interopDefaultLegacy(postcss);
@@ -30,6 +38,7 @@ var svgr__default = /*#__PURE__*/_interopDefaultLegacy(svgr);
30
38
  var dts__default = /*#__PURE__*/_interopDefaultLegacy(dts);
31
39
  var json__default = /*#__PURE__*/_interopDefaultLegacy(json);
32
40
  var yaml__default = /*#__PURE__*/_interopDefaultLegacy(yaml);
41
+ var npmPackList__default = /*#__PURE__*/_interopDefaultLegacy(npmPackList);
33
42
 
34
43
  function forwardFileImports(options) {
35
44
  const filter = rollupPluginutils.createFilter(options.include, options.exclude);
@@ -444,8 +453,199 @@ function getOutputsForRole(role) {
444
453
  return outputs;
445
454
  }
446
455
 
456
+ const SKIPPED_KEYS = ["access", "registry", "tag", "alphaTypes", "betaTypes"];
457
+ function resolveEntrypoint(pkg, name) {
458
+ const targetEntry = pkg.publishConfig[name] || pkg[name];
459
+ return targetEntry && path.join("..", targetEntry);
460
+ }
461
+ async function writeReleaseStageEntrypoint(pkg, stage, targetDir) {
462
+ await fs__default["default"].ensureDir(path.resolve(targetDir, stage));
463
+ await fs__default["default"].writeJson(path.resolve(targetDir, stage, "package.json"), {
464
+ name: pkg.name,
465
+ version: pkg.version,
466
+ main: resolveEntrypoint(pkg, "main"),
467
+ module: resolveEntrypoint(pkg, "module"),
468
+ browser: resolveEntrypoint(pkg, "browser"),
469
+ types: path.join("..", pkg.publishConfig[`${stage}Types`])
470
+ }, { encoding: "utf8", spaces: 2 });
471
+ }
472
+ async function copyPackageDist(packageDir, targetDir) {
473
+ var _a;
474
+ const pkgPath = path.resolve(packageDir, "package.json");
475
+ const pkgContent = await fs__default["default"].readFile(pkgPath, "utf8");
476
+ const pkg = JSON.parse(pkgContent);
477
+ const publishConfig = (_a = pkg.publishConfig) != null ? _a : {};
478
+ for (const key of Object.keys(publishConfig)) {
479
+ if (!SKIPPED_KEYS.includes(key)) {
480
+ pkg[key] = publishConfig[key];
481
+ }
482
+ }
483
+ if (pkg.bundled) {
484
+ delete pkg.dependencies;
485
+ delete pkg.devDependencies;
486
+ delete pkg.peerDependencies;
487
+ delete pkg.optionalDependencies;
488
+ }
489
+ await fs__default["default"].writeJson(pkgPath, pkg, { encoding: "utf8", spaces: 2 });
490
+ const filePaths = await npmPackList__default["default"]({ path: packageDir });
491
+ await fs__default["default"].ensureDir(targetDir);
492
+ for (const filePath of filePaths.sort()) {
493
+ await fs__default["default"].copy(path.resolve(packageDir, filePath), path.resolve(targetDir, filePath));
494
+ }
495
+ if (publishConfig.alphaTypes) {
496
+ await writeReleaseStageEntrypoint(pkg, "alpha", targetDir);
497
+ }
498
+ if (publishConfig.betaTypes) {
499
+ await writeReleaseStageEntrypoint(pkg, "beta", targetDir);
500
+ }
501
+ await fs__default["default"].writeFile(pkgPath, pkgContent, "utf8");
502
+ }
503
+
504
+ const UNSAFE_PACKAGES = [
505
+ ...Object.keys(index.dependencies),
506
+ ...Object.keys(index.devDependencies)
507
+ ];
508
+ async function createDistWorkspace(packageNames, options = {}) {
509
+ var _a, _b, _c, _d, _e;
510
+ const targetDir = (_a = options.targetDir) != null ? _a : await fs__default["default"].mkdtemp(path.resolve(os.tmpdir(), "dist-workspace"));
511
+ const packages = await PackageGraph.PackageGraph.listTargetPackages();
512
+ const packageGraph = PackageGraph.PackageGraph.fromPackages(packages);
513
+ const targetNames = packageGraph.collectPackageNames(packageNames, (node) => {
514
+ if (node.packageJson.bundled) {
515
+ return void 0;
516
+ }
517
+ return node.publishedLocalDependencies.keys();
518
+ });
519
+ const targets = Array.from(targetNames).map((name) => packageGraph.get(name));
520
+ if (options.buildDependencies) {
521
+ const exclude = (_b = options.buildExcludes) != null ? _b : [];
522
+ const toBuild = new Set(targets.map((_) => _.name).filter((name) => !exclude.includes(name)));
523
+ const standardBuilds = new Array();
524
+ const customBuild = new Array();
525
+ for (const pkg of packages) {
526
+ if (!toBuild.has(pkg.packageJson.name)) {
527
+ continue;
528
+ }
529
+ const role = (_c = pkg.packageJson.backstage) == null ? void 0 : _c.role;
530
+ if (!role) {
531
+ console.warn(`Building ${pkg.packageJson.name} separately because it has no role`);
532
+ customBuild.push(pkg.packageJson.name);
533
+ continue;
534
+ }
535
+ const buildScript = (_d = pkg.packageJson.scripts) == null ? void 0 : _d.build;
536
+ if (!buildScript) {
537
+ customBuild.push(pkg.packageJson.name);
538
+ continue;
539
+ }
540
+ if (!buildScript.startsWith("backstage-cli package build")) {
541
+ console.warn(`Building ${pkg.packageJson.name} separately because it has a custom build script, '${buildScript}'`);
542
+ customBuild.push(pkg.packageJson.name);
543
+ continue;
544
+ }
545
+ if (packageRoles.getRoleInfo(role).output.includes("bundle")) {
546
+ console.warn(`Building ${pkg.packageJson.name} separately because it is a bundled package`);
547
+ customBuild.push(pkg.packageJson.name);
548
+ continue;
549
+ }
550
+ const outputs = getOutputsForRole(role);
551
+ outputs.delete(Output.types);
552
+ if (outputs.size > 0) {
553
+ standardBuilds.push({
554
+ targetDir: pkg.dir,
555
+ outputs,
556
+ logPrefix: `${chalk__default["default"].cyan(path.relative(index.paths.targetRoot, pkg.dir))}: `,
557
+ minify: false,
558
+ useApiExtractor: false
559
+ });
560
+ }
561
+ }
562
+ await buildPackages(standardBuilds);
563
+ if (customBuild.length > 0) {
564
+ const scopeArgs = customBuild.flatMap((name) => ["--scope", name]);
565
+ const lernaArgs = options.parallelism && Number.isInteger(options.parallelism) ? ["--concurrency", options.parallelism.toString()] : [];
566
+ await run.run("yarn", ["lerna", ...lernaArgs, "run", ...scopeArgs, "build"], {
567
+ cwd: index.paths.targetRoot
568
+ });
569
+ }
570
+ }
571
+ await moveToDistWorkspace(targetDir, targets);
572
+ const files = (_e = options.files) != null ? _e : ["yarn.lock", "package.json"];
573
+ for (const file of files) {
574
+ const src = typeof file === "string" ? file : file.src;
575
+ const dest = typeof file === "string" ? file : file.dest;
576
+ await fs__default["default"].copy(index.paths.resolveTargetRoot(src), path.resolve(targetDir, dest));
577
+ }
578
+ if (options.skeleton) {
579
+ const skeletonFiles = targets.map((target) => {
580
+ const dir = path.relative(index.paths.targetRoot, target.dir);
581
+ return path.join(dir, "package.json");
582
+ });
583
+ await tar__default["default"].create({
584
+ file: path.resolve(targetDir, options.skeleton),
585
+ cwd: targetDir,
586
+ portable: true,
587
+ noMtime: true,
588
+ gzip: options.skeleton.endsWith(".gz")
589
+ }, skeletonFiles);
590
+ }
591
+ return targetDir;
592
+ }
593
+ const FAST_PACK_SCRIPTS = [
594
+ void 0,
595
+ "backstage-cli prepack",
596
+ "backstage-cli package prepack"
597
+ ];
598
+ async function moveToDistWorkspace(workspaceDir, localPackages) {
599
+ const [fastPackPackages, slowPackPackages] = partition__default["default"](localPackages, (pkg) => {
600
+ var _a;
601
+ return FAST_PACK_SCRIPTS.includes((_a = pkg.packageJson.scripts) == null ? void 0 : _a.prepack);
602
+ });
603
+ await Promise.all(fastPackPackages.map(async (target) => {
604
+ console.log(`Moving ${target.name} into dist workspace`);
605
+ const outputDir = path.relative(index.paths.targetRoot, target.dir);
606
+ const absoluteOutputPath = path.resolve(workspaceDir, outputDir);
607
+ await copyPackageDist(target.dir, absoluteOutputPath);
608
+ }));
609
+ async function pack(target, archive) {
610
+ var _a, _b;
611
+ console.log(`Repacking ${target.name} into dist workspace`);
612
+ const archivePath = path.resolve(workspaceDir, archive);
613
+ await run.run("yarn", ["pack", "--filename", archivePath], {
614
+ cwd: target.dir
615
+ });
616
+ if ((_b = (_a = target.packageJson) == null ? void 0 : _a.scripts) == null ? void 0 : _b.postpack) {
617
+ await run.run("yarn", ["postpack"], { cwd: target.dir });
618
+ }
619
+ const outputDir = path.relative(index.paths.targetRoot, target.dir);
620
+ const absoluteOutputPath = path.resolve(workspaceDir, outputDir);
621
+ await fs__default["default"].ensureDir(absoluteOutputPath);
622
+ await tar__default["default"].extract({
623
+ file: archivePath,
624
+ cwd: absoluteOutputPath,
625
+ strip: 1
626
+ });
627
+ await fs__default["default"].remove(archivePath);
628
+ if (target.packageJson.bundled) {
629
+ const pkgJson = await fs__default["default"].readJson(path.resolve(absoluteOutputPath, "package.json"));
630
+ delete pkgJson.dependencies;
631
+ delete pkgJson.devDependencies;
632
+ delete pkgJson.peerDependencies;
633
+ delete pkgJson.optionalDependencies;
634
+ await fs__default["default"].writeJson(path.resolve(absoluteOutputPath, "package.json"), pkgJson, {
635
+ spaces: 2
636
+ });
637
+ }
638
+ }
639
+ const [unsafePackages, safePackages] = partition__default["default"](slowPackPackages, (p) => UNSAFE_PACKAGES.includes(p.name));
640
+ for (const target of unsafePackages) {
641
+ await pack(target, `temp-package.tgz`);
642
+ }
643
+ await Promise.all(safePackages.map(async (target, index) => pack(target, `temp-package-${index}.tgz`)));
644
+ }
645
+
447
646
  exports.Output = Output;
448
647
  exports.buildPackage = buildPackage;
449
648
  exports.buildPackages = buildPackages;
649
+ exports.createDistWorkspace = createDistWorkspace;
450
650
  exports.getOutputsForRole = getOutputsForRole;
451
- //# sourceMappingURL=packager-e7ca33b6.cjs.js.map
651
+ //# sourceMappingURL=createDistWorkspace-fb33ba17.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-4a4c19ec.cjs.js');
14
- var index = require('./index-484b5764.cjs.js');
13
+ var tasks = require('./tasks-c599c124.cjs.js');
14
+ var index = require('./index-a8f4ed57.cjs.js');
15
15
  var Lockfile = require('./Lockfile-48dc675e.cjs.js');
16
16
  require('minimatch');
17
17
  require('@manypkg/get-packages');
18
- require('./run-b1683a19.cjs.js');
18
+ require('./run-94261248.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-4a6dad5f.cjs.js.map
237
+ //# sourceMappingURL=createPlugin-68c996ad.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-484b5764.cjs.js');
10
+ var index = require('./index-a8f4ed57.cjs.js');
11
11
  require('commander');
12
12
  require('semver');
13
13
  require('@backstage/cli-common');
@@ -380,4 +380,4 @@ async function readPluginData() {
380
380
  }
381
381
 
382
382
  exports["default"] = diff;
383
- //# sourceMappingURL=diff-dd85d694.cjs.js.map
383
+ //# sourceMappingURL=diff-fc217aa9.cjs.js.map