@backstage/cli 0.30.0-next.0 → 0.30.0-next.2

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,43 @@
1
1
  # @backstage/cli
2
2
 
3
+ ## 0.30.0-next.2
4
+
5
+ ### Patch Changes
6
+
7
+ - f17ef61: The `versions:bump` command will now reject `*` as a pattern.
8
+ - 86c72c1: The packing process when running `build-workspace` with the `--alwaysYarnPack` flag now respects the `BACKSTAGE_CLI_BUILD_PARALLEL` environment variable, defaulting parallel work limits based on CPU availability.
9
+ - 2167afc: Treat static file assets as always being free from side effects in package builds.
10
+ - f54eed0: Fixed an issue where default feature type information wasn't being added to package.json/exports before publishing if exports didn't exist beforehand
11
+ - 9638f6d: Only allow pass through of `.mjs` in Jest transform if static ESM is supported.
12
+ - Updated dependencies
13
+ - @backstage/cli-node@0.2.13-next.1
14
+ - @backstage/catalog-model@1.7.3
15
+ - @backstage/cli-common@0.1.15
16
+ - @backstage/config@1.3.2
17
+ - @backstage/config-loader@1.9.6-next.0
18
+ - @backstage/errors@1.2.7
19
+ - @backstage/eslint-plugin@0.1.10
20
+ - @backstage/integration@1.16.1
21
+ - @backstage/release-manifests@0.0.12
22
+ - @backstage/types@1.2.1
23
+
24
+ ## 0.30.0-next.1
25
+
26
+ ### Patch Changes
27
+
28
+ - 207f88f: Fixed the file path pattern of many static assets output as part of the frontend build process, where there was an extra `.` before the extension, leading to names like `image-af7946b..png`.
29
+ - Updated dependencies
30
+ - @backstage/catalog-model@1.7.3
31
+ - @backstage/cli-common@0.1.15
32
+ - @backstage/cli-node@0.2.13-next.0
33
+ - @backstage/config@1.3.2
34
+ - @backstage/config-loader@1.9.6-next.0
35
+ - @backstage/errors@1.2.7
36
+ - @backstage/eslint-plugin@0.1.10
37
+ - @backstage/integration@1.16.1
38
+ - @backstage/release-manifests@0.0.12
39
+ - @backstage/types@1.2.1
40
+
3
41
  ## 0.30.0-next.0
4
42
 
5
43
  ### Minor Changes
@@ -29,7 +29,7 @@ function createTransformer(config) {
29
29
  }
30
30
 
31
31
  // Skip transformation of .mjs files, they should only be used if ESM support is available
32
- if (filePath.endsWith('.mjs')) {
32
+ if (jestOptions.supportsStaticESM && filePath.endsWith('.mjs')) {
33
33
  return { code: source };
34
34
  }
35
35
 
@@ -54,6 +54,8 @@ var bump = async (opts) => {
54
54
  if (!pattern) {
55
55
  console.log(`Using default pattern glob ${DEFAULT_PATTERN_GLOB}`);
56
56
  pattern = DEFAULT_PATTERN_GLOB;
57
+ } else if (pattern === "*") {
58
+ throw new Error(`Rejected pattern '*', please use a more specific pattern`);
57
59
  } else {
58
60
  console.log(`Using custom pattern glob ${pattern}`);
59
61
  }
@@ -44,6 +44,21 @@ function forwardFileImports(options) {
44
44
  }
45
45
  },
46
46
  options(inputOptions) {
47
+ const treeshake = inputOptions.treeshake;
48
+ if (treeshake !== void 0 && typeof treeshake !== "object") {
49
+ throw new Error(
50
+ "Expected treeshake input config to be an object or not set"
51
+ );
52
+ }
53
+ if (treeshake?.moduleSideEffects) {
54
+ throw new Error("treeshake.moduleSideEffects must not be set");
55
+ }
56
+ const moduleSideEffects = (id) => {
57
+ if (filter(id)) {
58
+ return false;
59
+ }
60
+ return true;
61
+ };
47
62
  const origExternal = inputOptions.external;
48
63
  const external = (id, importer, isResolved) => {
49
64
  if (typeof origExternal === "function" && origExternal(id, importer, isResolved)) {
@@ -62,7 +77,11 @@ function forwardFileImports(options) {
62
77
  exportedFiles.add(fullId);
63
78
  return true;
64
79
  };
65
- return { ...inputOptions, external };
80
+ return {
81
+ ...inputOptions,
82
+ external,
83
+ treeshake: { ...treeshake, moduleSideEffects }
84
+ };
66
85
  }
67
86
  };
68
87
  }
@@ -116,7 +116,7 @@ const transforms = (options) => {
116
116
  ],
117
117
  type: "asset/resource",
118
118
  generator: {
119
- filename: "static/[name].[hash:8].[ext]"
119
+ filename: "static/[name].[hash:8][ext]"
120
120
  }
121
121
  },
122
122
  {
@@ -3,7 +3,6 @@
3
3
  var chalk = require('chalk');
4
4
  var fs = require('fs-extra');
5
5
  var path = require('path');
6
- var pLimit = require('p-limit');
7
6
  var os = require('os');
8
7
  var tar = require('tar');
9
8
  var partition = require('lodash/partition');
@@ -21,7 +20,6 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
21
20
 
22
21
  var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
23
22
  var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
24
- var pLimit__default = /*#__PURE__*/_interopDefaultCompat(pLimit);
25
23
  var tar__default = /*#__PURE__*/_interopDefaultCompat(tar);
26
24
  var partition__default = /*#__PURE__*/_interopDefaultCompat(partition);
27
25
 
@@ -207,12 +205,12 @@ async function moveToDistWorkspace(workspaceDir, localPackages, alwaysPack, enab
207
205
  for (const target of unsafePackages) {
208
206
  await pack(target, `temp-package.tgz`);
209
207
  }
210
- const limit = pLimit__default.default(10);
211
- await Promise.all(
212
- safePackages.map(
213
- (target, index) => limit(() => pack(target, `temp-package-${index}.tgz`))
214
- )
215
- );
208
+ await parallel.runParallelWorkers({
209
+ items: safePackages.map((target, index) => ({ target, index })),
210
+ worker: async ({ target, index }) => {
211
+ await pack(target, `temp-package-${index}.tgz`);
212
+ }
213
+ });
216
214
  }
217
215
 
218
216
  exports.createDistWorkspace = createDistWorkspace;
@@ -120,6 +120,9 @@ async function rewriteEntryPoints(pkg, packageDir, featureDetectionProject) {
120
120
  );
121
121
  if (defaultFeatureType) {
122
122
  exp = { backstage: defaultFeatureType, ...exp };
123
+ pkg.backstage = pkg.backstage ?? {};
124
+ pkg.backstage.features = pkg.backstage.features ?? {};
125
+ pkg.backstage.features[entryPoint.mount] = defaultFeatureType;
123
126
  }
124
127
  }
125
128
  if (entryPoint.mount === ".") {
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var cliNode = require('@backstage/cli-node');
3
4
  var path = require('path');
4
5
  var tsMorph = require('ts-morph');
5
6
  var paths = require('./paths.cjs.js');
@@ -18,12 +19,6 @@ const targetPackageRoles = [
18
19
  "web-library",
19
20
  "node-library"
20
21
  ];
21
- const targetFeatureTypes = [
22
- "@backstage/BackendFeature",
23
- "@backstage/BackstagePlugin",
24
- "@backstage/FrontendPlugin",
25
- "@backstage/FrontendModule"
26
- ];
27
22
  const getEntryPointDefaultFeatureType = (role, packageDir, project, entryPoint) => {
28
23
  if (isTargetPackageRole(role)) {
29
24
  const distPath = path.resolve(packageDir, entryPoint);
@@ -86,7 +81,7 @@ function isTargetPackageRole(role) {
86
81
  return !!role && targetPackageRoles.includes(role);
87
82
  }
88
83
  function isTargetFeatureType(type) {
89
- return !!type && targetFeatureTypes.includes(type);
84
+ return !!type && cliNode.packageFeatureType.includes(type);
90
85
  }
91
86
 
92
87
  exports.createTypeDistProject = createTypeDistProject;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "0.8.0-next.0";
3
+ var version = "0.8.0-next.2";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.cjs.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "1.2.0-next.0";
3
+ var version = "1.2.0-next.1";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.cjs.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "1.3.0-next.0";
3
+ var version = "1.3.0-next.2";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.cjs.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "0.30.0-next.0";
3
+ var version = "0.30.0-next.2";
4
4
  var dependencies = {
5
5
  "@backstage/catalog-model": "workspace:^",
6
6
  "@backstage/cli-common": "workspace:^",
@@ -85,7 +85,6 @@ var dependencies = {
85
85
  "node-libs-browser": "^2.2.1",
86
86
  "npm-packlist": "^5.0.0",
87
87
  ora: "^5.3.0",
88
- "p-limit": "^3.1.0",
89
88
  "p-queue": "^6.6.2",
90
89
  pirates: "^4.0.6",
91
90
  postcss: "^8.1.0",
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "1.15.4";
3
+ var version = "1.15.5-next.0";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.cjs.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "0.16.3";
3
+ var version = "0.16.4-next.1";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.cjs.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "1.10.3";
3
+ var version = "1.10.4-next.0";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.cjs.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "1.1.7-next.0";
3
+ var version = "1.1.7-next.2";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.cjs.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "1.7.4";
3
+ var version = "1.7.5-next.0";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.cjs.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "0.6.3";
3
+ var version = "0.6.4-next.0";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.cjs.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "0.24.3-next.0";
3
+ var version = "0.24.3-next.2";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.cjs.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "0.2.5-next.0";
3
+ var version = "0.2.5-next.1";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.cjs.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "1.15.2-next.0";
3
+ var version = "1.16.0-next.2";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.cjs.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "0.7.0-next.0";
3
+ var version = "0.7.0-next.1";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.cjs.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "0.1.19-next.0";
3
+ var version = "0.1.19-next.2";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.cjs.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@backstage/cli",
3
- "version": "0.30.0-next.0",
3
+ "version": "0.30.0-next.2",
4
4
  "description": "CLI for developing Backstage plugins and apps",
5
5
  "backstage": {
6
6
  "role": "cli"
@@ -49,7 +49,7 @@
49
49
  "dependencies": {
50
50
  "@backstage/catalog-model": "1.7.3",
51
51
  "@backstage/cli-common": "0.1.15",
52
- "@backstage/cli-node": "0.2.13-next.0",
52
+ "@backstage/cli-node": "0.2.13-next.1",
53
53
  "@backstage/config": "1.3.2",
54
54
  "@backstage/config-loader": "1.9.6-next.0",
55
55
  "@backstage/errors": "1.2.7",
@@ -130,7 +130,6 @@
130
130
  "node-libs-browser": "^2.2.1",
131
131
  "npm-packlist": "^5.0.0",
132
132
  "ora": "^5.3.0",
133
- "p-limit": "^3.1.0",
134
133
  "p-queue": "^6.6.2",
135
134
  "pirates": "^4.0.6",
136
135
  "postcss": "^8.1.0",
@@ -163,22 +162,22 @@
163
162
  "zod": "^3.22.4"
164
163
  },
165
164
  "devDependencies": {
166
- "@backstage/backend-plugin-api": "1.2.0-next.0",
167
- "@backstage/backend-test-utils": "1.3.0-next.0",
165
+ "@backstage/backend-plugin-api": "1.2.0-next.1",
166
+ "@backstage/backend-test-utils": "1.3.0-next.2",
168
167
  "@backstage/catalog-client": "1.9.1",
169
168
  "@backstage/config": "1.3.2",
170
- "@backstage/core-app-api": "1.15.4",
171
- "@backstage/core-components": "0.16.3",
172
- "@backstage/core-plugin-api": "1.10.3",
173
- "@backstage/dev-utils": "1.1.7-next.0",
169
+ "@backstage/core-app-api": "1.15.5-next.0",
170
+ "@backstage/core-components": "0.16.4-next.1",
171
+ "@backstage/core-plugin-api": "1.10.4-next.0",
172
+ "@backstage/dev-utils": "1.1.7-next.2",
174
173
  "@backstage/errors": "1.2.7",
175
- "@backstage/plugin-auth-backend": "0.24.3-next.0",
176
- "@backstage/plugin-auth-backend-module-guest-provider": "0.2.5-next.0",
177
- "@backstage/plugin-catalog-node": "1.15.2-next.0",
178
- "@backstage/plugin-scaffolder-node": "0.7.0-next.0",
179
- "@backstage/plugin-scaffolder-node-test-utils": "0.1.19-next.0",
180
- "@backstage/test-utils": "1.7.4",
181
- "@backstage/theme": "0.6.3",
174
+ "@backstage/plugin-auth-backend": "0.24.3-next.2",
175
+ "@backstage/plugin-auth-backend-module-guest-provider": "0.2.5-next.1",
176
+ "@backstage/plugin-catalog-node": "1.16.0-next.2",
177
+ "@backstage/plugin-scaffolder-node": "0.7.0-next.1",
178
+ "@backstage/plugin-scaffolder-node-test-utils": "0.1.19-next.2",
179
+ "@backstage/test-utils": "1.7.5-next.0",
180
+ "@backstage/theme": "0.6.4-next.0",
182
181
  "@rspack/core": "^1.0.10",
183
182
  "@rspack/dev-server": "^1.0.9",
184
183
  "@rspack/plugin-react-refresh": "^1.0.0",