@backstage/cli 0.22.13-next.2 → 0.22.13

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 (47) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/dist/cjs/{build-61f12081.cjs.js → build-affb01b7.cjs.js} +15 -14
  3. package/dist/cjs/{buildBackend-0c9b8029.cjs.js → buildBackend-73e54dc3.cjs.js} +31 -25
  4. package/dist/cjs/{buildWorkspace-2a1f0741.cjs.js → buildWorkspace-ece5f9da.cjs.js} +4 -4
  5. package/dist/cjs/{bump-d649b42f.cjs.js → bump-1dddd386.cjs.js} +16 -8
  6. package/dist/cjs/{clean-9b51fff0.cjs.js → clean-55b54fa4.cjs.js} +2 -2
  7. package/dist/cjs/{clean-faf08223.cjs.js → clean-6675c657.cjs.js} +2 -2
  8. package/dist/cjs/{codeowners-8b7e308e.cjs.js → codeowners-3f8b7b3a.cjs.js} +2 -2
  9. package/dist/cjs/{config-d8ecdd2a.cjs.js → config-d08b981b.cjs.js} +2 -2
  10. package/dist/cjs/{createDistWorkspace-4ac62b5d.cjs.js → createDistWorkspace-cf86b976.cjs.js} +4 -4
  11. package/dist/cjs/{createPlugin-d62dc168.cjs.js → createPlugin-6c6fba51.cjs.js} +4 -4
  12. package/dist/cjs/{diff-a8ef52c5.cjs.js → diff-e5fd1f2e.cjs.js} +2 -2
  13. package/dist/cjs/{docs-fafae9f2.cjs.js → docs-ea167b53.cjs.js} +3 -3
  14. package/dist/cjs/fix-28974fe5.cjs.js +164 -0
  15. package/dist/cjs/{index-11ae10f6.cjs.js → index-2e2d5423.cjs.js} +14 -13
  16. package/dist/cjs/{index-96b0a17a.cjs.js → index-3a524c78.cjs.js} +2 -2
  17. package/dist/cjs/{index-a85fa658.cjs.js → index-904f60f5.cjs.js} +52 -37
  18. package/dist/cjs/{index-0b440be5.cjs.js → index-c8324a66.cjs.js} +52 -48
  19. package/dist/cjs/{index-0cfc54be.cjs.js → index-f1be1963.cjs.js} +3 -3
  20. package/dist/cjs/{info-0921439d.cjs.js → info-8566d7dc.cjs.js} +3 -3
  21. package/dist/cjs/{install-624b65bc.cjs.js → install-a9fa86c1.cjs.js} +4 -4
  22. package/dist/cjs/{lint-fce006ec.cjs.js → lint-05e9cbe5.cjs.js} +2 -2
  23. package/dist/cjs/{lint-55bd0e03.cjs.js → lint-3d9078c5.cjs.js} +2 -2
  24. package/dist/cjs/{lint-fe1ab2e4.cjs.js → lint-f6790ec9.cjs.js} +3 -3
  25. package/dist/cjs/{list-deprecations-2de96d4f.cjs.js → list-deprecations-fa56cd69.cjs.js} +2 -2
  26. package/dist/cjs/{new-4b4d19d6.cjs.js → new-5366c4b4.cjs.js} +4 -4
  27. package/dist/cjs/{pack-70a9f513.cjs.js → pack-d5376906.cjs.js} +2 -2
  28. package/dist/cjs/{paths-ca13b79a.cjs.js → packageDetection-0bcd55f4.cjs.js} +146 -58
  29. package/dist/cjs/packageExports-e23f69e2.cjs.js +26 -0
  30. package/dist/cjs/{packageLintConfigs-f0e77a42.cjs.js → packageLintConfigs-32bb66d9.cjs.js} +3 -3
  31. package/dist/cjs/{packageRole-9745f723.cjs.js → packageRole-d9549771.cjs.js} +2 -2
  32. package/dist/cjs/{packages-166b3872.cjs.js → packages-c1806837.cjs.js} +3 -3
  33. package/dist/cjs/{print-0b2a9205.cjs.js → print-b90121f3.cjs.js} +3 -3
  34. package/dist/cjs/{role-a3fe9702.cjs.js → role-672b48f1.cjs.js} +2 -2
  35. package/dist/cjs/{run-31011946.cjs.js → run-c66068ff.cjs.js} +2 -2
  36. package/dist/cjs/{schema-14cdc4b5.cjs.js → schema-33040c3b.cjs.js} +3 -3
  37. package/dist/cjs/{test-13508bc1.cjs.js → test-47a8be63.cjs.js} +3 -3
  38. package/dist/cjs/{test-d9b99821.cjs.js → test-afb4f363.cjs.js} +3 -3
  39. package/dist/cjs/{validate-19d89965.cjs.js → validate-7baeee87.cjs.js} +3 -3
  40. package/dist/index.cjs.js +1 -1
  41. package/package.json +20 -19
  42. package/templates/default-common-plugin-package/package.json.hbs +1 -0
  43. package/templates/default-plugin/package.json.hbs +1 -0
  44. package/templates/default-react-plugin-package/package.json.hbs +1 -0
  45. package/templates/web-library-package/package.json.hbs +1 -0
  46. package/dist/cjs/fix-3502b42a.cjs.js +0 -123
  47. package/dist/cjs/packageExports-50d8546d.cjs.js +0 -93
package/CHANGELOG.md CHANGED
@@ -1,5 +1,57 @@
1
1
  # @backstage/cli
2
2
 
3
+ ## 0.22.13
4
+
5
+ ### Patch Changes
6
+
7
+ - 04eabd21bee4: Added the ability to specify the listen address for the `--inspect` and `--inspect-brk` command. You can now set the `ip` and port of the `inspect` and `inspectBrk` by adding for example `--inspect=0.0.0.0:9229`
8
+ - 278d9326eb40: Added the ability to create a plain backend module with the `new` command.
9
+ - 4d5eeec52d80: Add ESM loader for the experimental backend start command.
10
+ - 3494c502aba7: Added a new `repo fix` command that fixes auto-fixable problems in all packages. Initially the command fixes package export declarations, as well as marks all non-bundled frontend packages as side-effect free. Marking packages as free of side-effects can drastically reduce the Webpack bundle size.
11
+ - f36113ca2305: Add experimental support for frontend package discovery.
12
+ - a23fce763c6a: Fixed a bug where package exports entry points could not be `.tsx` files.
13
+ - 8cec7664e146: Removed `@types/node` dependency
14
+ - ea779492ad88: Updated dependency `run-script-webpack-plugin` to `^0.2.0`.
15
+ - 4af4defcc114: When running `version:bump` it will now log duplicates instead of throwing an error
16
+ - 71d4368ae5cc: Added support for the `dev/index` entry point for backend plugins and modules.
17
+ - 956d226eeeee: Add `"sideEffects": false` to `package.json` in frontend package templates. This can be added to existing packages using the new `yarn fix` command.
18
+ - cd7331587eb3: Removed the experimental `package fix` command that was used to automatically add dependencies to `package.json`, but has since been replaced by the `no-undeclared-imports` rule from `@backstage/eslint-plugin`.
19
+ - 219b46ae1a50: Include default alpha export during package detection
20
+ - Updated dependencies
21
+ - @backstage/config@1.1.0
22
+ - @backstage/catalog-model@1.4.2
23
+ - @backstage/errors@1.2.2
24
+ - @backstage/integration@1.7.0
25
+ - @backstage/release-manifests@0.0.10
26
+ - @backstage/types@1.1.1
27
+ - @backstage/config-loader@1.5.0
28
+ - @backstage/cli-common@0.1.12
29
+ - @backstage/cli-node@0.1.4
30
+ - @backstage/eslint-plugin@0.1.3
31
+
32
+ ## 0.22.13-next.3
33
+
34
+ ### Patch Changes
35
+
36
+ - 4d5eeec52d80: Add ESM loader for the experimental backend start command.
37
+ - 3494c502aba7: Added a new `repo fix` command that fixes auto-fixable problems in all packages. Initially the command fixes package export declarations, as well as marks all non-bundled frontend packages as side-effect free. Marking packages as free of side-effects can drastically reduce the Webpack bundle size.
38
+ - f36113ca2305: Add experimental support for frontend package discovery.
39
+ - a23fce763c6a: Fixed a bug where package exports entry points could not be `.tsx` files.
40
+ - 4af4defcc114: When running `version:bump` it will now log duplicates instead of throwing an error
41
+ - 956d226eeeee: Add `"sideEffects": false` to `package.json` in frontend package templates. This can be added to existing packages using the new `yarn fix` command.
42
+ - cd7331587eb3: Removed the experimental `package fix` command that was used to automatically add dependencies to `package.json`, but has since been replaced by the `no-undeclared-imports` rule from `@backstage/eslint-plugin`.
43
+ - Updated dependencies
44
+ - @backstage/catalog-model@1.4.2-next.2
45
+ - @backstage/config@1.1.0-next.2
46
+ - @backstage/errors@1.2.2-next.0
47
+ - @backstage/integration@1.7.0-next.3
48
+ - @backstage/release-manifests@0.0.10-next.1
49
+ - @backstage/types@1.1.1-next.0
50
+ - @backstage/cli-common@0.1.12
51
+ - @backstage/cli-node@0.1.4-next.0
52
+ - @backstage/config-loader@1.5.0-next.3
53
+ - @backstage/eslint-plugin@0.1.3
54
+
3
55
  ## 0.22.13-next.2
4
56
 
5
57
  ### Patch Changes
@@ -2,16 +2,16 @@
2
2
 
3
3
  var chalk = require('chalk');
4
4
  var path = require('path');
5
- var createDistWorkspace = require('./createDistWorkspace-4ac62b5d.cjs.js');
6
- var index = require('./index-0b440be5.cjs.js');
5
+ var createDistWorkspace = require('./createDistWorkspace-cf86b976.cjs.js');
6
+ var index = require('./index-c8324a66.cjs.js');
7
7
  var cliNode = require('@backstage/cli-node');
8
8
  var parallel = require('./parallel-a8f6219c.cjs.js');
9
- var buildBackend = require('./buildBackend-0c9b8029.cjs.js');
9
+ var buildBackend = require('./buildBackend-73e54dc3.cjs.js');
10
10
  require('fs-extra');
11
11
  require('os');
12
12
  require('tar');
13
13
  require('lodash/partition');
14
- require('./run-31011946.cjs.js');
14
+ require('./run-c66068ff.cjs.js');
15
15
  require('child_process');
16
16
  require('util');
17
17
  require('@backstage/errors');
@@ -34,30 +34,31 @@ require('semver');
34
34
  require('@backstage/cli-common');
35
35
  require('worker_threads');
36
36
  require('webpack');
37
+ require('eslint-webpack-plugin');
37
38
  require('fork-ts-checker-webpack-plugin');
38
39
  require('html-webpack-plugin');
39
40
  require('react-dev-utils/ModuleScopePlugin');
40
41
  require('run-script-webpack-plugin');
41
- require('webpack-node-externals');
42
42
  require('@manypkg/get-packages');
43
- require('./paths-ca13b79a.cjs.js');
43
+ require('webpack-node-externals');
44
+ require('./packageDetection-0bcd55f4.cjs.js');
45
+ require('lodash/pickBy');
44
46
  require('mini-css-extract-plugin');
45
47
  require('@pmmmwh/react-refresh-webpack-plugin');
46
- require('eslint-webpack-plugin');
47
- require('lodash/pickBy');
48
48
  require('yn');
49
+ require('chokidar');
49
50
  require('react-dev-utils/FileSizeReporter');
50
51
  require('react-dev-utils/formatWebpackMessages');
51
- require('webpack-dev-server');
52
- require('react-dev-utils/openBrowser');
53
52
  require('lodash/uniq');
54
- require('./config-d8ecdd2a.cjs.js');
55
- require('@backstage/config-loader');
56
- require('@backstage/config');
53
+ require('react-dev-utils/openBrowser');
54
+ require('webpack-dev-server');
57
55
  require('@yarnpkg/parsers');
58
56
  require('@yarnpkg/lockfile');
59
57
  require('minimatch');
60
58
  require('./yarn-6cd89e16.cjs.js');
59
+ require('./config-d08b981b.cjs.js');
60
+ require('@backstage/config-loader');
61
+ require('@backstage/config');
61
62
 
62
63
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
63
64
 
@@ -193,4 +194,4 @@ async function command(opts, cmd) {
193
194
  }
194
195
 
195
196
  exports.command = command;
196
- //# sourceMappingURL=build-61f12081.cjs.js.map
197
+ //# sourceMappingURL=build-affb01b7.cjs.js.map
@@ -3,39 +3,40 @@
3
3
  var fs = require('fs-extra');
4
4
  var path = require('path');
5
5
  var webpack = require('webpack');
6
+ require('eslint-webpack-plugin');
6
7
  require('fork-ts-checker-webpack-plugin');
7
8
  require('html-webpack-plugin');
9
+ require('@backstage/cli-common');
8
10
  require('react-dev-utils/ModuleScopePlugin');
9
11
  require('run-script-webpack-plugin');
10
- require('webpack-node-externals');
11
- require('@backstage/cli-common');
12
+ require('./index-c8324a66.cjs.js');
12
13
  require('@manypkg/get-packages');
13
- var paths = require('./paths-ca13b79a.cjs.js');
14
+ require('webpack-node-externals');
15
+ var packageDetection = require('./packageDetection-0bcd55f4.cjs.js');
16
+ require('lodash/pickBy');
17
+ require('./run-c66068ff.cjs.js');
14
18
  require('mini-css-extract-plugin');
15
19
  require('@pmmmwh/react-refresh-webpack-plugin');
16
- require('./index-0b440be5.cjs.js');
17
- require('./run-31011946.cjs.js');
18
- require('eslint-webpack-plugin');
19
- require('lodash/pickBy');
20
20
  var yn = require('yn');
21
21
  var FileSizeReporter = require('react-dev-utils/FileSizeReporter');
22
22
  var formatWebpackMessages = require('react-dev-utils/formatWebpackMessages');
23
23
  var chalk = require('chalk');
24
- require('webpack-dev-server');
25
- require('react-dev-utils/openBrowser');
26
- require('lodash/uniq');
27
- var config = require('./config-d8ecdd2a.cjs.js');
28
24
  require('@backstage/cli-node');
25
+ require('lodash/uniq');
26
+ require('react-dev-utils/openBrowser');
27
+ require('webpack-dev-server');
29
28
  require('semver');
30
29
  require('@yarnpkg/parsers');
31
30
  require('@yarnpkg/lockfile');
32
31
  require('minimatch');
33
32
  require('./yarn-6cd89e16.cjs.js');
34
33
  require('lodash/partition');
34
+ var config = require('./config-d08b981b.cjs.js');
35
+ require('chokidar');
35
36
  var parallel = require('./parallel-a8f6219c.cjs.js');
36
37
  var os = require('os');
37
38
  var tar = require('tar');
38
- var createDistWorkspace = require('./createDistWorkspace-4ac62b5d.cjs.js');
39
+ var createDistWorkspace = require('./createDistWorkspace-cf86b976.cjs.js');
39
40
 
40
41
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
41
42
 
@@ -55,26 +56,31 @@ function applyContextToError(error, moduleName) {
55
56
  }
56
57
  async function buildBundle(options) {
57
58
  const { statsJsonEnabled, schema: configSchema } = options;
58
- const paths$1 = paths.resolveBundlingPaths(options);
59
- const config = await paths.createConfig(paths$1, {
59
+ const paths = packageDetection.resolveBundlingPaths(options);
60
+ const detectedModulesEntryPoint = await packageDetection.createDetectedModulesEntryPoint({
61
+ config: options.fullConfig,
62
+ targetPath: paths.targetPath
63
+ });
64
+ const config = await packageDetection.createConfig(paths, {
60
65
  ...options,
61
66
  checksEnabled: false,
62
67
  isDev: false,
63
- baseUrl: paths.resolveBaseUrl(options.frontendConfig),
64
- getFrontendAppConfigs: () => options.frontendAppConfigs
68
+ baseUrl: packageDetection.resolveBaseUrl(options.frontendConfig),
69
+ getFrontendAppConfigs: () => options.frontendAppConfigs,
70
+ additionalEntryPoints: detectedModulesEntryPoint
65
71
  });
66
72
  const isCi = yn__default["default"](process.env.CI, { default: false });
67
- const previousFileSizes = await FileSizeReporter.measureFileSizesBeforeBuild(paths$1.targetDist);
68
- await fs__default["default"].emptyDir(paths$1.targetDist);
69
- if (paths$1.targetPublic) {
70
- await fs__default["default"].copy(paths$1.targetPublic, paths$1.targetDist, {
73
+ const previousFileSizes = await FileSizeReporter.measureFileSizesBeforeBuild(paths.targetDist);
74
+ await fs__default["default"].emptyDir(paths.targetDist);
75
+ if (paths.targetPublic) {
76
+ await fs__default["default"].copy(paths.targetPublic, paths.targetDist, {
71
77
  dereference: true,
72
- filter: (file) => file !== paths$1.targetHtml
78
+ filter: (file) => file !== paths.targetHtml
73
79
  });
74
80
  }
75
81
  if (configSchema) {
76
82
  await fs__default["default"].writeJson(
77
- path.resolve(paths$1.targetDist, ".config-schema.json"),
83
+ path.resolve(paths.targetDist, ".config-schema.json"),
78
84
  configSchema.serialize(),
79
85
  { spaces: 2 }
80
86
  );
@@ -85,14 +91,14 @@ async function buildBundle(options) {
85
91
  }
86
92
  if (statsJsonEnabled) {
87
93
  await require("bfj").write(
88
- path.resolve(paths$1.targetDist, "bundle-stats.json"),
94
+ path.resolve(paths.targetDist, "bundle-stats.json"),
89
95
  stats.toJson()
90
96
  );
91
97
  }
92
98
  FileSizeReporter.printFileSizesAfterBuild(
93
99
  stats,
94
100
  previousFileSizes,
95
- paths$1.targetDist,
101
+ paths.targetDist,
96
102
  WARN_AFTER_BUNDLE_GZIP_SIZE,
97
103
  WARN_AFTER_CHUNK_GZIP_SIZE
98
104
  );
@@ -216,4 +222,4 @@ async function buildBackend(options) {
216
222
 
217
223
  exports.buildBackend = buildBackend;
218
224
  exports.buildFrontend = buildFrontend;
219
- //# sourceMappingURL=buildBackend-0c9b8029.cjs.js.map
225
+ //# sourceMappingURL=buildBackend-73e54dc3.cjs.js.map
@@ -1,18 +1,18 @@
1
1
  'use strict';
2
2
 
3
3
  var fs = require('fs-extra');
4
- var createDistWorkspace = require('./createDistWorkspace-4ac62b5d.cjs.js');
4
+ var createDistWorkspace = require('./createDistWorkspace-cf86b976.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-0b440be5.cjs.js');
10
+ require('./index-c8324a66.cjs.js');
11
11
  require('commander');
12
12
  require('semver');
13
13
  require('@backstage/cli-common');
14
14
  require('@backstage/errors');
15
- require('./run-31011946.cjs.js');
15
+ require('./run-c66068ff.cjs.js');
16
16
  require('child_process');
17
17
  require('util');
18
18
  require('rollup');
@@ -48,4 +48,4 @@ var buildWorkspace = async (dir, packages, options) => {
48
48
  };
49
49
 
50
50
  exports["default"] = buildWorkspace;
51
- //# sourceMappingURL=buildWorkspace-2a1f0741.cjs.js.map
51
+ //# sourceMappingURL=buildWorkspace-ece5f9da.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-31011946.cjs.js');
11
- var index = require('./index-0b440be5.cjs.js');
10
+ var run = require('./run-c66068ff.cjs.js');
11
+ var index = require('./index-c8324a66.cjs.js');
12
12
  var Lockfile = require('./Lockfile-eced6070.cjs.js');
13
- var packages = require('./packages-166b3872.cjs.js');
14
- var lint = require('./lint-fe1ab2e4.cjs.js');
13
+ var packages = require('./packages-c1806837.cjs.js');
14
+ var lint = require('./lint-f6790ec9.cjs.js');
15
15
  var cliCommon = require('@backstage/cli-common');
16
16
  var parallel = require('./parallel-a8f6219c.cjs.js');
17
17
  var releaseManifests = require('@backstage/release-manifests');
@@ -253,9 +253,6 @@ var bump = async (opts) => {
253
253
  await cliNode.PackageGraph.listTargetPackages()
254
254
  )
255
255
  });
256
- if (result.newVersions.length > 0) {
257
- throw new Error("Duplicate versions present after package bump");
258
- }
259
256
  const forbiddenNewRanges = result.newRanges.filter(
260
257
  ({ name }) => lint.forbiddenDuplicatesFilter(name)
261
258
  );
@@ -264,6 +261,17 @@ var bump = async (opts) => {
264
261
  `Version bump failed for ${forbiddenNewRanges.map((i) => i.name).join(", ")}`
265
262
  );
266
263
  }
264
+ const allowedDuplicates = result.newRanges.filter(
265
+ ({ name }) => !lint.forbiddenDuplicatesFilter(name)
266
+ );
267
+ if (allowedDuplicates.length > 0) {
268
+ console.log(
269
+ chalk__default["default"].yellow(
270
+ "The following packages have duplicates but have been allowed:"
271
+ )
272
+ );
273
+ console.log(chalk__default["default"].yellow(allowedDuplicates.map((i) => i.name).join(", ")));
274
+ }
267
275
  };
268
276
  function createStrictVersionFinder(options) {
269
277
  const releasePackages = new Map(
@@ -409,4 +417,4 @@ exports.bumpBackstageJsonVersion = bumpBackstageJsonVersion;
409
417
  exports.createStrictVersionFinder = createStrictVersionFinder;
410
418
  exports.createVersionFinder = createVersionFinder;
411
419
  exports["default"] = bump;
412
- //# sourceMappingURL=bump-d649b42f.cjs.js.map
420
+ //# sourceMappingURL=bump-1dddd386.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-0b440be5.cjs.js');
8
+ var index = require('./index-c8324a66.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-9b51fff0.cjs.js.map
49
+ //# sourceMappingURL=clean-55b54fa4.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-0b440be5.cjs.js');
4
+ var index = require('./index-c8324a66.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-faf08223.cjs.js.map
22
+ //# sourceMappingURL=clean-6675c657.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-0b440be5.cjs.js');
5
+ var index = require('./index-c8324a66.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-8b7e308e.cjs.js.map
91
+ //# sourceMappingURL=codeowners-3f8b7b3a.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-0b440be5.cjs.js');
5
+ var index = require('./index-c8324a66.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-d8ecdd2a.cjs.js.map
101
+ //# sourceMappingURL=config-d08b981b.cjs.js.map
@@ -6,8 +6,8 @@ var path = require('path');
6
6
  var os = require('os');
7
7
  var tar = require('tar');
8
8
  var partition = require('lodash/partition');
9
- var index = require('./index-0b440be5.cjs.js');
10
- var run = require('./run-31011946.cjs.js');
9
+ var index = require('./index-c8324a66.cjs.js');
10
+ var run = require('./run-c66068ff.cjs.js');
11
11
  var rollup = require('rollup');
12
12
  var commonjs = require('@rollup/plugin-commonjs');
13
13
  var resolve = require('@rollup/plugin-node-resolve');
@@ -215,7 +215,7 @@ async function makeRollupConfigs(options) {
215
215
  index.paths.resolveTargetRoot(
216
216
  "dist-types",
217
217
  path.relative(index.paths.targetRoot, targetDir),
218
- e.path.replace(/\.ts$/, ".d.ts")
218
+ e.path.replace(/\.(?:ts|tsx)$/, ".d.ts")
219
219
  )
220
220
  ])
221
221
  );
@@ -712,4 +712,4 @@ exports.buildPackage = buildPackage;
712
712
  exports.buildPackages = buildPackages;
713
713
  exports.createDistWorkspace = createDistWorkspace;
714
714
  exports.getOutputsForRole = getOutputsForRole;
715
- //# sourceMappingURL=createDistWorkspace-4ac62b5d.cjs.js.map
715
+ //# sourceMappingURL=createDistWorkspace-cf86b976.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-8b7e308e.cjs.js');
14
- var index = require('./index-0b440be5.cjs.js');
13
+ var codeowners = require('./codeowners-3f8b7b3a.cjs.js');
14
+ var index = require('./index-c8324a66.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-31011946.cjs.js');
20
+ require('./run-c66068ff.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-d62dc168.cjs.js.map
279
+ //# sourceMappingURL=createPlugin-6c6fba51.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-0b440be5.cjs.js');
10
+ var index = require('./index-c8324a66.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-a8ef52c5.cjs.js.map
437
+ //# sourceMappingURL=diff-e5fd1f2e.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-d8ecdd2a.cjs.js');
5
+ var config = require('./config-d08b981b.cjs.js');
6
6
  require('@backstage/config');
7
- require('./index-0b440be5.cjs.js');
7
+ require('./index-c8324a66.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-fafae9f2.cjs.js.map
37
+ //# sourceMappingURL=docs-ea167b53.cjs.js.map
@@ -0,0 +1,164 @@
1
+ 'use strict';
2
+
3
+ var cliNode = require('@backstage/cli-node');
4
+ var fs = require('fs-extra');
5
+ var path = require('path');
6
+ var index = require('./index-c8324a66.cjs.js');
7
+ require('commander');
8
+ require('chalk');
9
+ require('semver');
10
+ require('@backstage/cli-common');
11
+ require('@backstage/errors');
12
+
13
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
+
15
+ var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
16
+
17
+ async function readFixablePackages() {
18
+ const packages = await cliNode.PackageGraph.listTargetPackages();
19
+ return packages.map((pkg) => ({ ...pkg, changed: false }));
20
+ }
21
+ function printPackageFixHint(packages) {
22
+ var _a;
23
+ const changed = packages.filter((pkg) => pkg.changed);
24
+ if (changed.length > 0) {
25
+ const rootPkg = require(index.paths.resolveTargetRoot("package.json"));
26
+ const fixCmd = ((_a = rootPkg.scripts) == null ? void 0 : _a.fix) === "backstage-cli repo fix" ? "fix" : "backstage-cli repo fix";
27
+ console.log(
28
+ `The following packages are out of sync, run 'yarn ${fixCmd}' to fix them:`
29
+ );
30
+ for (const pkg of changed) {
31
+ console.log(` ${pkg.packageJson.name}`);
32
+ }
33
+ return true;
34
+ }
35
+ return false;
36
+ }
37
+ async function writeFixedPackages(packages) {
38
+ await Promise.all(
39
+ packages.map(async (pkg) => {
40
+ if (!pkg.changed) {
41
+ return;
42
+ }
43
+ await fs__default["default"].writeJson(
44
+ path.resolve(pkg.dir, "package.json"),
45
+ pkg.packageJson,
46
+ {
47
+ spaces: 2
48
+ }
49
+ );
50
+ })
51
+ );
52
+ }
53
+ function trimRelative(path) {
54
+ if (path.startsWith("./")) {
55
+ return path.slice(2);
56
+ }
57
+ return path;
58
+ }
59
+ function fixPackageExports(pkg) {
60
+ let { exports: exp } = pkg.packageJson;
61
+ if (!exp) {
62
+ return;
63
+ }
64
+ if (Array.isArray(exp)) {
65
+ throw new Error("Unexpected array in package.json exports field");
66
+ }
67
+ if (typeof exp === "string") {
68
+ pkg.changed = true;
69
+ exp = { ".": exp };
70
+ pkg.packageJson.exports = exp;
71
+ } else if (typeof exp !== "object") {
72
+ return;
73
+ }
74
+ if (!exp["./package.json"]) {
75
+ pkg.changed = true;
76
+ exp["./package.json"] = "./package.json";
77
+ }
78
+ const existingTypesVersions = JSON.stringify(pkg.packageJson.typesVersions);
79
+ const typeEntries = {};
80
+ for (const [path, value] of Object.entries(exp)) {
81
+ if (path === ".") {
82
+ continue;
83
+ }
84
+ const newPath = trimRelative(path);
85
+ if (typeof value === "string") {
86
+ typeEntries[newPath] = [trimRelative(value)];
87
+ } else if (value && typeof value === "object" && !Array.isArray(value)) {
88
+ if (typeof value.types === "string") {
89
+ typeEntries[newPath] = [trimRelative(value.types)];
90
+ } else if (typeof value.default === "string") {
91
+ typeEntries[newPath] = [trimRelative(value.default)];
92
+ }
93
+ }
94
+ }
95
+ const typesVersions = { "*": typeEntries };
96
+ if (existingTypesVersions !== JSON.stringify(typesVersions)) {
97
+ const newPkgEntries = Object.entries(pkg.packageJson).filter(
98
+ ([name]) => name !== "typesVersions"
99
+ );
100
+ newPkgEntries.splice(
101
+ newPkgEntries.findIndex(([name]) => name === "exports") + 1,
102
+ 0,
103
+ ["typesVersions", typesVersions]
104
+ );
105
+ pkg.packageJson = Object.fromEntries(newPkgEntries);
106
+ pkg.changed = true;
107
+ }
108
+ const publishConfig = pkg.packageJson.publishConfig;
109
+ if (publishConfig) {
110
+ for (const field of ["main", "module", "browser", "types"]) {
111
+ if (publishConfig[field]) {
112
+ delete publishConfig[field];
113
+ pkg.changed = true;
114
+ }
115
+ }
116
+ }
117
+ }
118
+ function fixSideEffects(pkg) {
119
+ const role = cliNode.PackageRoles.getRoleFromPackage(pkg.packageJson);
120
+ if (!role) {
121
+ return;
122
+ }
123
+ const roleInfo = cliNode.PackageRoles.getRoleInfo(role);
124
+ if (roleInfo.platform === "node") {
125
+ return;
126
+ }
127
+ if (roleInfo.output.length === 1 && roleInfo.output[0] === "bundle") {
128
+ return;
129
+ }
130
+ if ("sideEffects" in pkg.packageJson) {
131
+ return;
132
+ }
133
+ const pkgEntries = Object.entries(pkg.packageJson);
134
+ pkgEntries.splice(
135
+ // Place it just above the scripts field
136
+ pkgEntries.findIndex(([name]) => name === "scripts"),
137
+ 0,
138
+ ["sideEffects", false]
139
+ );
140
+ pkg.packageJson = Object.fromEntries(pkgEntries);
141
+ pkg.changed = true;
142
+ }
143
+ async function command(opts) {
144
+ const packages = await readFixablePackages();
145
+ for (const pkg of packages) {
146
+ fixPackageExports(pkg);
147
+ fixSideEffects(pkg);
148
+ }
149
+ if (opts.check) {
150
+ if (printPackageFixHint(packages)) {
151
+ process.exit(1);
152
+ }
153
+ } else {
154
+ await writeFixedPackages(packages);
155
+ }
156
+ }
157
+
158
+ exports.command = command;
159
+ exports.fixPackageExports = fixPackageExports;
160
+ exports.fixSideEffects = fixSideEffects;
161
+ exports.printPackageFixHint = printPackageFixHint;
162
+ exports.readFixablePackages = readFixablePackages;
163
+ exports.writeFixedPackages = writeFixedPackages;
164
+ //# sourceMappingURL=fix-28974fe5.cjs.js.map