@backstage/cli 0.10.4 → 0.12.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 (44) hide show
  1. package/CHANGELOG.md +192 -0
  2. package/config/eslint.js +4 -0
  3. package/dist/cjs/PackageGraph-7a0d3a83.cjs.js +73 -0
  4. package/dist/cjs/{build-ba4675b9.cjs.js → build-0c9d57c4.cjs.js} +5 -4
  5. package/dist/cjs/{build-16f16d70.cjs.js → build-14cbdf7a.cjs.js} +8 -4
  6. package/dist/cjs/{build-f3921423.cjs.js → build-4b751d39.cjs.js} +5 -4
  7. package/dist/cjs/{build-e7dbdd80.cjs.js → build-5edaf89e.cjs.js} +9 -8
  8. package/dist/cjs/{buildWorkspace-a573304e.cjs.js → buildWorkspace-2f199d77.cjs.js} +6 -4
  9. package/dist/cjs/{bump-0acacde9.cjs.js → bump-1eca6ea2.cjs.js} +21 -9
  10. package/dist/cjs/{bundle-8bcde9c4.cjs.js → bundle-5dd20114.cjs.js} +8 -6
  11. package/dist/cjs/{clean-f5d3a3ff.cjs.js → clean-d035fec9.cjs.js} +2 -2
  12. package/dist/cjs/{config-02308249.cjs.js → config-2b6069ac.cjs.js} +15 -29
  13. package/dist/cjs/{create-2c1328b1.cjs.js → create-569a6334.cjs.js} +6 -4
  14. package/dist/cjs/{createPlugin-33636b2b.cjs.js → createPlugin-903347a6.cjs.js} +6 -4
  15. package/dist/cjs/{dev-c74959e4.cjs.js → dev-652ccda8.cjs.js} +5 -6
  16. package/dist/cjs/{diff-d393a7d6.cjs.js → diff-43b96174.cjs.js} +2 -2
  17. package/dist/cjs/{docs-43abe831.cjs.js → docs-f35800a9.cjs.js} +5 -3
  18. package/dist/cjs/{index-f5dcae68.cjs.js → index-51d9773a.cjs.js} +2 -2
  19. package/dist/cjs/{index-d1f94b33.cjs.js → index-646d7f9b.cjs.js} +21 -38
  20. package/dist/cjs/{index-60792ea9.cjs.js → index-75ca54b4.cjs.js} +62 -61
  21. package/dist/cjs/{info-f260605b.cjs.js → info-2ab087b6.cjs.js} +5 -3
  22. package/dist/cjs/{install-db22d18d.cjs.js → install-5994c0d6.cjs.js} +6 -4
  23. package/dist/cjs/{lint-f4a40773.cjs.js → lint-8565466a.cjs.js} +5 -3
  24. package/dist/cjs/{lint-0c8dd45e.cjs.js → lint-e11ff942.cjs.js} +3 -3
  25. package/dist/cjs/pack-3f32c628.cjs.js +69 -0
  26. package/dist/cjs/{packager-ce069fd1.cjs.js → packager-1ced8d37.cjs.js} +101 -8
  27. package/dist/cjs/{packages-587c99dd.cjs.js → packages-c5e13db7.cjs.js} +15 -12
  28. package/dist/cjs/{parallel-a4714c72.cjs.js → parallel-7e32a8d0.cjs.js} +1 -5
  29. package/dist/cjs/{paths-8d6dfec1.cjs.js → paths-bff7a8ee.cjs.js} +30 -31
  30. package/dist/cjs/{print-5db03c66.cjs.js → print-4ef72f7a.cjs.js} +5 -3
  31. package/dist/cjs/{removePlugin-5984ee26.cjs.js → removePlugin-1319a40c.cjs.js} +3 -3
  32. package/dist/cjs/{run-8b1e277a.cjs.js → run-47e305d4.cjs.js} +2 -2
  33. package/dist/cjs/{schema-37d6a972.cjs.js → schema-f3813c61.cjs.js} +5 -3
  34. package/dist/cjs/{serve-aaec7087.cjs.js → serve-827f4da7.cjs.js} +11 -10
  35. package/dist/cjs/{serve-bfb3e982.cjs.js → serve-ae256aeb.cjs.js} +9 -9
  36. package/dist/cjs/{server-d9492b36.cjs.js → server-4137ea31.cjs.js} +2 -2
  37. package/dist/cjs/{tasks-94b21b51.cjs.js → tasks-28b41a2b.cjs.js} +2 -2
  38. package/dist/cjs/{testCommand-0c162b80.cjs.js → testCommand-c1337273.cjs.js} +3 -3
  39. package/dist/cjs/{validate-89d918a7.cjs.js → validate-2b813bb7.cjs.js} +7 -4
  40. package/dist/index.cjs.js +1 -1
  41. package/package.json +36 -27
  42. package/templates/default-backend-plugin/src/service/standaloneServer.ts.hbs +1 -1
  43. package/templates/default-plugin/src/components/ExampleFetchComponent/ExampleFetchComponent.tsx.hbs +1 -1
  44. package/dist/cjs/pack-f5669e4f.cjs.js +0 -42
package/CHANGELOG.md CHANGED
@@ -1,5 +1,197 @@
1
1
  # @backstage/cli
2
2
 
3
+ ## 0.12.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 08fa6a604a: Removed the `typescript` dependency from the Backstage CLI in order to decouple the TypeScript version in Backstage projects. To keep using a specific TypeScript version, be sure to add an explicit dependency in your root `package.json`:
8
+
9
+ ```json
10
+ "dependencies": {
11
+ ...
12
+ "typescript": "~4.5.4",
13
+ }
14
+ ```
15
+
16
+ We recommend using a `~` version range since TypeScript releases do not adhere to semver.
17
+
18
+ It may be the case that you end up with errors if you upgrade the TypeScript version. This is because there was a change to TypeScript not long ago that defaulted the type of errors caught in `catch` blocks to `unknown`. You can work around this by adding `"useUnknownInCatchVariables": false` to the `"compilerOptions"` in your `tsconfig.json`:
19
+
20
+ ```json
21
+ "compilerOptions": {
22
+ ...
23
+ "useUnknownInCatchVariables": false
24
+ }
25
+ ```
26
+
27
+ Another option is to use the utilities from `@backstage/errors` to assert the type of errors caught in `catch` blocks:
28
+
29
+ ```ts
30
+ import { assertError, isError } from '@backstage/errors';
31
+
32
+ try {
33
+ ...
34
+ } catch (error) {
35
+ assertError(error);
36
+ ...
37
+ // OR
38
+ if (isError(error)) {
39
+ ...
40
+ }
41
+ }
42
+ ```
43
+
44
+ Yet another issue you might run into when upgrading TypeScript is incompatibilities in the types from `react-use`. The error you would run into looks something like this:
45
+
46
+ ```plain
47
+ node_modules/react-use/lib/usePermission.d.ts:1:54 - error TS2304: Cannot find name 'DevicePermissionDescriptor'.
48
+
49
+ 1 declare type PermissionDesc = PermissionDescriptor | DevicePermissionDescriptor | MidiPermissionDescriptor | PushPermissionDescriptor;
50
+ ```
51
+
52
+ If you encounter this error, the simplest fix is to replace full imports of `react-use` with more specific ones. For example, the following:
53
+
54
+ ```ts
55
+ import { useAsync } from 'react-use';
56
+ ```
57
+
58
+ Would be converted into this:
59
+
60
+ ```ts
61
+ import useAsync from 'react-use/lib/useAsync';
62
+ ```
63
+
64
+ ### Patch Changes
65
+
66
+ - 6e34e2cfbf: Introduce `--deprecated` option to `config:check` to log all deprecated app configuration properties
67
+
68
+ ```sh
69
+ $ yarn backstage-cli config:check --lax --deprecated
70
+ config:check --lax --deprecated
71
+ Loaded config from app-config.yaml
72
+ The configuration key 'catalog.processors.githubOrg' of app-config.yaml is deprecated and may be removed soon. Configure a GitHub integration instead.
73
+ ```
74
+
75
+ - f2fe4d240b: Switched to only apply `@hot-loader/react-dom` [Webpack aliasing](https://github.com/hot-loader/react-dom/tree/master/source#webpack) when using React 16.
76
+ - 2a42d573d2: Introduced a new `--experimental-type-build` option to the various package build commands. This option switches the type definition build to be executed using API Extractor rather than a `rollup` plugin. In order for this experimental switch to work, you must also have `@microsoft/api-extractor` installed within your project, as it is an optional peer dependency.
77
+
78
+ The biggest difference between the existing mode and the experimental one is that rather than just building a single `dist/index.d.ts` file, API Extractor will output `index.d.ts`, `index.beta.d.ts`, and `index.alpha.d.ts`, all in the `dist` directory. Each of these files will have exports from more unstable release stages stripped, meaning that `index.d.ts` will omit all exports marked with `@alpha` or `@beta`, while `index.beta.d.ts` will omit all exports marked with `@alpha`.
79
+
80
+ In addition, the `prepack` command now has support for `alphaTypes` and `betaTypes` fields in the `publishConfig` of `package.json`. These optional fields can be pointed to `dist/types.alpha.d.ts` and `dist/types.beta.d.ts` respectively, which will cause `<name>/alpha` and `<name>/beta` entry points to be generated for the package. See the [`@backstage/catalog-model`](https://github.com/backstage/backstage/blob/master/packages/catalog-model/package.json) package for an example of how this can be used in practice.
81
+
82
+ - Updated dependencies
83
+ - @backstage/config@0.1.13
84
+ - @backstage/config-loader@0.9.3
85
+
86
+ ## 0.12.0-next.0
87
+
88
+ ### Minor Changes
89
+
90
+ - 08fa6a604a: Removed the `typescript` dependency from the Backstage CLI in order to decouple the TypeScript version in Backstage projects. To keep using a specific TypeScript version, be sure to add an explicit dependency in your root `package.json`:
91
+
92
+ ```json
93
+ "dependencies": {
94
+ ...
95
+ "typescript": "~4.5.4",
96
+ }
97
+ ```
98
+
99
+ We recommend using a `~` version range since TypeScript releases do not adhere to semver.
100
+
101
+ It may be the case that you end up with errors if you upgrade the TypeScript version. This is because there was a change to TypeScript not long ago that defaulted the type of errors caught in `catch` blocks to `unknown`. You can work around this by adding `"useUnknownInCatchVariables": false` to the `"compilerOptions"` in your `tsconfig.json`:
102
+
103
+ ```json
104
+ "compilerOptions": {
105
+ ...
106
+ "useUnknownInCatchVariables": false
107
+ }
108
+ ```
109
+
110
+ Another option is to use the utilities from `@backstage/errors` to assert the type of errors caught in `catch` blocks:
111
+
112
+ ```ts
113
+ import { assertError, isError } from '@backstage/errors';
114
+
115
+ try {
116
+ ...
117
+ } catch (error) {
118
+ assertError(error);
119
+ ...
120
+ // OR
121
+ if (isError(error)) {
122
+ ...
123
+ }
124
+ }
125
+ ```
126
+
127
+ ### Patch Changes
128
+
129
+ - 6e34e2cfbf: Introduce `--deprecated` option to `config:check` to log all deprecated app configuration properties
130
+
131
+ ```sh
132
+ $ yarn backstage-cli config:check --lax --deprecated
133
+ config:check --lax --deprecated
134
+ Loaded config from app-config.yaml
135
+ The configuration key 'catalog.processors.githubOrg' of app-config.yaml is deprecated and may be removed soon. Configure a GitHub integration instead.
136
+ ```
137
+
138
+ - 2a42d573d2: Introduced a new `--experimental-type-build` option to the various package build commands. This option switches the type definition build to be executed using API Extractor rather than a `rollup` plugin. In order for this experimental switch to work, you must also have `@microsoft/api-extractor` installed within your project, as it is an optional peer dependency.
139
+
140
+ The biggest difference between the existing mode and the experimental one is that rather than just building a single `dist/index.d.ts` file, API Extractor will output `index.d.ts`, `index.beta.d.ts`, and `index.alpha.d.ts`, all in the `dist` directory. Each of these files will have exports from more unstable release stages stripped, meaning that `index.d.ts` will omit all exports marked with `@alpha` or `@beta`, while `index.beta.d.ts` will omit all exports marked with `@alpha`.
141
+
142
+ In addition, the `prepack` command now has support for `alphaTypes` and `betaTypes` fields in the `publishConfig` of `package.json`. These optional fields can be pointed to `dist/types.alpha.d.ts` and `dist/types.beta.d.ts` respectively, which will cause `<name>/alpha` and `<name>/beta` entry points to be generated for the package. See the [`@backstage/catalog-model`](https://github.com/backstage/backstage/blob/master/packages/catalog-model/package.json) package for an example of how this can be used in practice.
143
+
144
+ - Updated dependencies
145
+ - @backstage/config@0.1.13-next.0
146
+ - @backstage/config-loader@0.9.3-next.0
147
+
148
+ ## 0.11.0
149
+
150
+ ### Minor Changes
151
+
152
+ - 14e980acee: ESLint upgraded to version 8 and all it's plugins updated to newest version.
153
+
154
+ If you use any custom plugins for ESLint please check compatibility.
155
+
156
+ ```diff
157
+ - "@typescript-eslint/eslint-plugin": "^v4.33.0",
158
+ - "@typescript-eslint/parser": "^v4.28.3",
159
+ + "@typescript-eslint/eslint-plugin": "^5.9.0",
160
+ + "@typescript-eslint/parser": "^5.9.0",
161
+ - "eslint": "^7.30.0",
162
+ + "eslint": "^8.6.0",
163
+ - "eslint-plugin-import": "^2.20.2",
164
+ - "eslint-plugin-jest": "^24.1.0",
165
+ - "eslint-plugin-jsx-a11y": "^6.2.1",
166
+ + "eslint-plugin-import": "^2.25.4",
167
+ + "eslint-plugin-jest": "^25.3.4",
168
+ + "eslint-plugin-jsx-a11y": "^6.5.1",
169
+ - "eslint-plugin-react": "^7.12.4",
170
+ - "eslint-plugin-react-hooks": "^4.0.0",
171
+ + "eslint-plugin-react": "^7.28.0",
172
+ + "eslint-plugin-react-hooks": "^4.3.0",
173
+ ```
174
+
175
+ Please consult changelogs from packages if you find any problems.
176
+
177
+ ### Patch Changes
178
+
179
+ - f302d24d34: Switch Webpack minification to use `esbuild` instead of `terser`.
180
+ - bee7082094: Update `config/eslint.js` to forbid imports of `@material-ui/icons/` as well.
181
+ - 7946418729: Switched to using `@manypkg/get-packages` to list monorepo packages, which provides better support for different kind of monorepo setups.
182
+ - Updated dependencies
183
+ - @backstage/config@0.1.12
184
+ - @backstage/errors@0.2.0
185
+ - @backstage/config-loader@0.9.2
186
+
187
+ ## 0.10.5
188
+
189
+ ### Patch Changes
190
+
191
+ - 37123b4851: Bump `css-loader` from `5.2.6` to `6.5.1`
192
+ - 9534391ae4: Add --pattern option to override matching glob patterns for backstage versioning
193
+ - 4ce51ab0f1: Internal refactor of the `react-use` imports to use `react-use/lib/*` instead.
194
+
3
195
  ## 0.10.4
4
196
 
5
197
  ### Patch Changes
package/config/eslint.js CHANGED
@@ -80,6 +80,10 @@ module.exports = {
80
80
  name: '@material-ui/icons',
81
81
  message: "Please import '@material-ui/icons/<Icon>' instead.",
82
82
  },
83
+ {
84
+ name: '@material-ui/icons/', // because this is possible too ._.
85
+ message: "Please import '@material-ui/icons/<Icon>' instead.",
86
+ },
83
87
  ...require('module').builtinModules,
84
88
  ],
85
89
  // Avoid cross-package imports
@@ -0,0 +1,73 @@
1
+ 'use strict';
2
+
3
+ class PackageGraph extends Map {
4
+ static fromPackages(packages) {
5
+ const graph = new PackageGraph();
6
+ for (const pkg of packages) {
7
+ const name = pkg.packageJson.name;
8
+ const existingPkg = graph.get(name);
9
+ if (existingPkg) {
10
+ throw new Error(`Duplicate package name '${name}' at ${pkg.dir} and ${existingPkg.dir}`);
11
+ }
12
+ graph.set(name, {
13
+ name,
14
+ dir: pkg.dir,
15
+ packageJson: pkg.packageJson,
16
+ allLocalDependencies: /* @__PURE__ */ new Map(),
17
+ publishedLocalDependencies: /* @__PURE__ */ new Map(),
18
+ localDependencies: /* @__PURE__ */ new Map(),
19
+ localDevDependencies: /* @__PURE__ */ new Map(),
20
+ localOptionalDependencies: /* @__PURE__ */ new Map()
21
+ });
22
+ }
23
+ for (const node of graph.values()) {
24
+ for (const depName of Object.keys(node.packageJson.dependencies || {})) {
25
+ const depPkg = graph.get(depName);
26
+ if (depPkg) {
27
+ node.allLocalDependencies.set(depName, depPkg);
28
+ node.publishedLocalDependencies.set(depName, depPkg);
29
+ node.localDependencies.set(depName, depPkg);
30
+ }
31
+ }
32
+ for (const depName of Object.keys(node.packageJson.devDependencies || {})) {
33
+ const depPkg = graph.get(depName);
34
+ if (depPkg) {
35
+ node.allLocalDependencies.set(depName, depPkg);
36
+ node.localDevDependencies.set(depName, depPkg);
37
+ }
38
+ }
39
+ for (const depName of Object.keys(node.packageJson.optionalDependencies || {})) {
40
+ const depPkg = graph.get(depName);
41
+ if (depPkg) {
42
+ node.allLocalDependencies.set(depName, depPkg);
43
+ node.publishedLocalDependencies.set(depName, depPkg);
44
+ node.localOptionalDependencies.set(depName, depPkg);
45
+ }
46
+ }
47
+ }
48
+ return graph;
49
+ }
50
+ collectPackageNames(startingPackageNames, collectFn) {
51
+ const targets = /* @__PURE__ */ new Set();
52
+ const searchNames = startingPackageNames.slice();
53
+ while (searchNames.length) {
54
+ const name = searchNames.pop();
55
+ if (targets.has(name)) {
56
+ continue;
57
+ }
58
+ const node = this.get(name);
59
+ if (!node) {
60
+ throw new Error(`Package '${name}' not found`);
61
+ }
62
+ targets.add(name);
63
+ const collected = collectFn(node);
64
+ if (collected) {
65
+ searchNames.push(...collected);
66
+ }
67
+ }
68
+ return targets;
69
+ }
70
+ }
71
+
72
+ exports.PackageGraph = PackageGraph;
73
+ //# sourceMappingURL=PackageGraph-7a0d3a83.cjs.js.map
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var packager = require('./packager-ce069fd1.cjs.js');
3
+ var packager = require('./packager-1ced8d37.cjs.js');
4
4
  require('fs-extra');
5
5
  require('rollup');
6
6
  require('chalk');
7
7
  require('path');
8
- require('./index-60792ea9.cjs.js');
8
+ require('./index-75ca54b4.cjs.js');
9
9
  require('commander');
10
10
  require('semver');
11
11
  require('@backstage/cli-common');
@@ -26,9 +26,10 @@ require('./svgrTemplate-f19e974c.cjs.js');
26
26
  var build = async (cmd) => {
27
27
  await packager.buildPackage({
28
28
  outputs: /* @__PURE__ */ new Set([packager.Output.esm, packager.Output.types]),
29
- minify: cmd.minify
29
+ minify: cmd.minify,
30
+ useApiExtractor: cmd.experimentalTypeBuild
30
31
  });
31
32
  };
32
33
 
33
34
  exports["default"] = build;
34
- //# sourceMappingURL=build-ba4675b9.cjs.js.map
35
+ //# sourceMappingURL=build-0c9d57c4.cjs.js.map
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var packager = require('./packager-ce069fd1.cjs.js');
3
+ var packager = require('./packager-1ced8d37.cjs.js');
4
4
  require('fs-extra');
5
5
  require('rollup');
6
6
  require('chalk');
7
7
  require('path');
8
- require('./index-60792ea9.cjs.js');
8
+ require('./index-75ca54b4.cjs.js');
9
9
  require('commander');
10
10
  require('semver');
11
11
  require('@backstage/cli-common');
@@ -37,8 +37,12 @@ var build = async (cmd) => {
37
37
  } else {
38
38
  outputs = /* @__PURE__ */ new Set([packager.Output.types, packager.Output.esm, packager.Output.cjs]);
39
39
  }
40
- await packager.buildPackage({ outputs, minify: cmd.minify });
40
+ await packager.buildPackage({
41
+ outputs,
42
+ minify: cmd.minify,
43
+ useApiExtractor: cmd.experimentalTypeBuild
44
+ });
41
45
  };
42
46
 
43
47
  exports["default"] = build;
44
- //# sourceMappingURL=build-16f16d70.cjs.js.map
48
+ //# sourceMappingURL=build-14cbdf7a.cjs.js.map
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var packager = require('./packager-ce069fd1.cjs.js');
3
+ var packager = require('./packager-1ced8d37.cjs.js');
4
4
  require('fs-extra');
5
5
  require('rollup');
6
6
  require('chalk');
7
7
  require('path');
8
- require('./index-60792ea9.cjs.js');
8
+ require('./index-75ca54b4.cjs.js');
9
9
  require('commander');
10
10
  require('semver');
11
11
  require('@backstage/cli-common');
@@ -26,9 +26,10 @@ require('./svgrTemplate-f19e974c.cjs.js');
26
26
  var build = async (cmd) => {
27
27
  await packager.buildPackage({
28
28
  outputs: /* @__PURE__ */ new Set([packager.Output.cjs, packager.Output.types]),
29
- minify: cmd.minify
29
+ minify: cmd.minify,
30
+ useApiExtractor: cmd.experimentalTypeBuild
30
31
  });
31
32
  };
32
33
 
33
34
  exports["default"] = build;
34
- //# sourceMappingURL=build-f3921423.cjs.js.map
35
+ //# sourceMappingURL=build-4b751d39.cjs.js.map
@@ -10,28 +10,29 @@ require('react-dev-utils/ModuleScopePlugin');
10
10
  require('run-script-webpack-plugin');
11
11
  require('webpack-node-externals');
12
12
  require('@backstage/cli-common');
13
- require('terser-webpack-plugin');
14
- var parallel = require('./parallel-a4714c72.cjs.js');
13
+ require('@manypkg/get-packages');
14
+ var paths = require('./paths-bff7a8ee.cjs.js');
15
15
  require('mini-css-extract-plugin');
16
- var index = require('./index-60792ea9.cjs.js');
17
- require('./run-8b1e277a.cjs.js');
16
+ var index = require('./index-75ca54b4.cjs.js');
17
+ require('./run-47e305d4.cjs.js');
18
18
  require('lodash/pickBy');
19
19
  var yn = require('yn');
20
20
  var FileSizeReporter = require('react-dev-utils/FileSizeReporter');
21
21
  var formatWebpackMessages = require('react-dev-utils/formatWebpackMessages');
22
- var paths = require('./paths-8d6dfec1.cjs.js');
23
22
  require('webpack-dev-server');
24
23
  require('react-dev-utils/openBrowser');
25
- var config = require('./config-02308249.cjs.js');
24
+ var parallel = require('./parallel-7e32a8d0.cjs.js');
25
+ var config = require('./config-2b6069ac.cjs.js');
26
+ require('./svgrTemplate-f19e974c.cjs.js');
26
27
  require('commander');
27
28
  require('semver');
28
29
  require('@backstage/config/package.json');
29
30
  require('@backstage/errors');
30
31
  require('child_process');
31
32
  require('util');
32
- require('./svgrTemplate-f19e974c.cjs.js');
33
33
  require('@backstage/config-loader');
34
34
  require('@backstage/config');
35
+ require('./PackageGraph-7a0d3a83.cjs.js');
35
36
 
36
37
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
37
38
 
@@ -139,4 +140,4 @@ var build = async (cmd) => {
139
140
  };
140
141
 
141
142
  exports["default"] = build;
142
- //# sourceMappingURL=build-e7dbdd80.cjs.js.map
143
+ //# sourceMappingURL=build-5edaf89e.cjs.js.map
@@ -1,20 +1,22 @@
1
1
  'use strict';
2
2
 
3
3
  var fs = require('fs-extra');
4
- var index = require('./index-d1f94b33.cjs.js');
4
+ var index = require('./index-646d7f9b.cjs.js');
5
5
  require('path');
6
6
  require('os');
7
7
  require('tar');
8
- require('./index-60792ea9.cjs.js');
8
+ require('./index-75ca54b4.cjs.js');
9
9
  require('commander');
10
10
  require('chalk');
11
11
  require('semver');
12
12
  require('@backstage/cli-common');
13
13
  require('@backstage/config/package.json');
14
14
  require('@backstage/errors');
15
- require('./run-8b1e277a.cjs.js');
15
+ require('./run-47e305d4.cjs.js');
16
16
  require('child_process');
17
17
  require('util');
18
+ require('@manypkg/get-packages');
19
+ require('./PackageGraph-7a0d3a83.cjs.js');
18
20
 
19
21
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
20
22
 
@@ -30,4 +32,4 @@ var buildWorkspace = async (dir, _cmd, packages) => {
30
32
  };
31
33
 
32
34
  exports["default"] = buildWorkspace;
33
- //# sourceMappingURL=buildWorkspace-a573304e.cjs.js.map
35
+ //# sourceMappingURL=buildWorkspace-2f199d77.cjs.js.map
@@ -3,19 +3,21 @@
3
3
  var fs = require('fs-extra');
4
4
  var chalk = require('chalk');
5
5
  var semver = require('semver');
6
+ var minimatch = require('minimatch');
6
7
  var errors = require('@backstage/errors');
7
8
  var path = require('path');
8
- var run = require('./run-8b1e277a.cjs.js');
9
- var index = require('./index-60792ea9.cjs.js');
9
+ var run = require('./run-47e305d4.cjs.js');
10
+ var index = require('./index-75ca54b4.cjs.js');
10
11
  var Lockfile = require('./Lockfile-35661afa.cjs.js');
11
- var packages = require('./packages-587c99dd.cjs.js');
12
- var lint = require('./lint-f4a40773.cjs.js');
12
+ var packages = require('./packages-c5e13db7.cjs.js');
13
+ var lint = require('./lint-8565466a.cjs.js');
13
14
  var cliCommon = require('@backstage/cli-common');
14
15
  require('child_process');
15
16
  require('util');
16
17
  require('commander');
17
18
  require('@backstage/config/package.json');
18
19
  require('@yarnpkg/lockfile');
20
+ require('@manypkg/get-packages');
19
21
  require('lodash/partition');
20
22
 
21
23
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -23,6 +25,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
23
25
  var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
24
26
  var chalk__default = /*#__PURE__*/_interopDefaultLegacy(chalk);
25
27
  var semver__default = /*#__PURE__*/_interopDefaultLegacy(semver);
28
+ var minimatch__default = /*#__PURE__*/_interopDefaultLegacy(minimatch);
26
29
 
27
30
  const DEP_TYPES = [
28
31
  "dependencies",
@@ -30,12 +33,20 @@ const DEP_TYPES = [
30
33
  "peerDependencies",
31
34
  "optionalDependencies"
32
35
  ];
33
- var bump = async () => {
36
+ const DEFAULT_PATTERN_GLOB = "@backstage/*";
37
+ var bump = async (cmd) => {
34
38
  var _a;
35
39
  const lockfilePath = index.paths.resolveTargetRoot("yarn.lock");
36
40
  const lockfile = await Lockfile.Lockfile.load(lockfilePath);
41
+ let pattern = cmd.pattern;
42
+ if (!pattern) {
43
+ console.log(`Using default pattern glob ${DEFAULT_PATTERN_GLOB}`);
44
+ pattern = DEFAULT_PATTERN_GLOB;
45
+ } else {
46
+ console.log(`Using custom pattern glob ${pattern}`);
47
+ }
37
48
  const findTargetVersion = createVersionFinder();
38
- const dependencyMap = await packages.mapDependencies(index.paths.targetDir);
49
+ const dependencyMap = await packages.mapDependencies(index.paths.targetDir, pattern);
39
50
  const versionBumps = /* @__PURE__ */ new Map();
40
51
  const unlocked = Array();
41
52
  await workerThreads(16, dependencyMap.entries(), async ([name, pkgs]) => {
@@ -65,9 +76,10 @@ var bump = async () => {
65
76
  }));
66
77
  }
67
78
  });
79
+ const filter = (name) => minimatch__default["default"](name, pattern);
68
80
  await workerThreads(16, lockfile.keys(), async (name) => {
69
81
  var _a2;
70
- if (!lint.includedFilter(name)) {
82
+ if (!filter(name)) {
71
83
  return;
72
84
  }
73
85
  let target;
@@ -164,7 +176,7 @@ var bump = async () => {
164
176
  console.log();
165
177
  const dedupLockfile = await Lockfile.Lockfile.load(lockfilePath);
166
178
  const result = dedupLockfile.analyze({
167
- filter: lint.includedFilter
179
+ filter
168
180
  });
169
181
  if (result.newVersions.length > 0) {
170
182
  throw new Error("Duplicate versions present after package bump");
@@ -225,4 +237,4 @@ async function workerThreads(count, items, fn) {
225
237
 
226
238
  exports.bumpBackstageJsonVersion = bumpBackstageJsonVersion;
227
239
  exports["default"] = bump;
228
- //# sourceMappingURL=bump-0acacde9.cjs.js.map
240
+ //# sourceMappingURL=bump-1eca6ea2.cjs.js.map
@@ -4,14 +4,16 @@ 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-d1f94b33.cjs.js');
8
- var index = require('./index-60792ea9.cjs.js');
9
- var parallel = require('./parallel-a4714c72.cjs.js');
10
- var packager = require('./packager-ce069fd1.cjs.js');
11
- require('./run-8b1e277a.cjs.js');
7
+ var index$1 = require('./index-646d7f9b.cjs.js');
8
+ var index = require('./index-75ca54b4.cjs.js');
9
+ var parallel = require('./parallel-7e32a8d0.cjs.js');
10
+ var packager = require('./packager-1ced8d37.cjs.js');
11
+ require('./run-47e305d4.cjs.js');
12
12
  require('child_process');
13
13
  require('util');
14
14
  require('@backstage/errors');
15
+ require('@manypkg/get-packages');
16
+ require('./PackageGraph-7a0d3a83.cjs.js');
15
17
  require('commander');
16
18
  require('chalk');
17
19
  require('semver');
@@ -67,4 +69,4 @@ var bundle = async (cmd) => {
67
69
  };
68
70
 
69
71
  exports["default"] = bundle;
70
- //# sourceMappingURL=bundle-8bcde9c4.cjs.js.map
72
+ //# sourceMappingURL=bundle-5dd20114.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-60792ea9.cjs.js');
4
+ var index = require('./index-75ca54b4.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-f5d3a3ff.cjs.js.map
23
+ //# sourceMappingURL=clean-d035fec9.cjs.js.map
@@ -2,7 +2,9 @@
2
2
 
3
3
  var configLoader = require('@backstage/config-loader');
4
4
  var config = require('@backstage/config');
5
- var index = require('./index-60792ea9.cjs.js');
5
+ var index = require('./index-75ca54b4.cjs.js');
6
+ var getPackages = require('@manypkg/get-packages');
7
+ var PackageGraph = require('./PackageGraph-7a0d3a83.cjs.js');
6
8
 
7
9
  function isValidUrl(url) {
8
10
  try {
@@ -20,18 +22,22 @@ async function loadCliConfig(options) {
20
22
  configTargets.push({ path: index.paths.resolveTarget(arg) });
21
23
  }
22
24
  });
23
- const { Project } = require("@lerna/project");
24
- const project = new Project(index.paths.targetDir);
25
- const packages = await project.getPackages();
25
+ const { packages } = await getPackages.getPackages(index.paths.targetDir);
26
26
  let localPackageNames;
27
27
  if (options.fromPackage) {
28
28
  if (packages.length) {
29
- localPackageNames = findPackages(packages, options.fromPackage);
29
+ const graph = PackageGraph.PackageGraph.fromPackages(packages);
30
+ localPackageNames = Array.from(graph.collectPackageNames([options.fromPackage], (node) => {
31
+ if (node.name === "@backstage/cli") {
32
+ return void 0;
33
+ }
34
+ return node.localDependencies.keys();
35
+ }));
30
36
  } else {
31
37
  localPackageNames = [options.fromPackage];
32
38
  }
33
39
  } else {
34
- localPackageNames = packages.map((p) => p.name);
40
+ localPackageNames = packages.map((p) => p.packageJson.name);
35
41
  }
36
42
  const schema = await configLoader.loadConfigSchema({
37
43
  dependencies: localPackageNames,
@@ -47,7 +53,8 @@ async function loadCliConfig(options) {
47
53
  try {
48
54
  const frontendAppConfigs = schema.process(appConfigs, {
49
55
  visibility: options.fullVisibility ? ["frontend", "backend", "secret"] : ["frontend"],
50
- withFilteredKeys: options.withFilteredKeys
56
+ withFilteredKeys: options.withFilteredKeys,
57
+ withDeprecatedKeys: options.withDeprecatedKeys
51
58
  });
52
59
  const frontendConfig = config.ConfigReader.fromConfigs(frontendAppConfigs);
53
60
  return {
@@ -67,27 +74,6 @@ async function loadCliConfig(options) {
67
74
  throw error;
68
75
  }
69
76
  }
70
- function findPackages(packages, fromPackage) {
71
- const { PackageGraph } = require("@lerna/package-graph");
72
- const graph = new PackageGraph(packages);
73
- const targets = /* @__PURE__ */ new Set();
74
- const searchNames = [fromPackage];
75
- while (searchNames.length) {
76
- const name = searchNames.pop();
77
- if (targets.has(name)) {
78
- continue;
79
- }
80
- const node = graph.get(name);
81
- if (!node) {
82
- throw new Error(`Package '${name}' not found`);
83
- }
84
- targets.add(name);
85
- if (name !== "@backstage/cli") {
86
- searchNames.push(...node.localDependencies.keys());
87
- }
88
- }
89
- return Array.from(targets);
90
- }
91
77
 
92
78
  exports.loadCliConfig = loadCliConfig;
93
- //# sourceMappingURL=config-02308249.cjs.js.map
79
+ //# sourceMappingURL=config-2b6069ac.cjs.js.map
@@ -7,10 +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-60792ea9.cjs.js');
11
- var tasks = require('./tasks-94b21b51.cjs.js');
10
+ var index = require('./index-75ca54b4.cjs.js');
11
+ var tasks = require('./tasks-28b41a2b.cjs.js');
12
12
  var Lockfile = require('./Lockfile-35661afa.cjs.js');
13
- require('./run-8b1e277a.cjs.js');
13
+ require('minimatch');
14
+ require('@manypkg/get-packages');
15
+ require('./run-47e305d4.cjs.js');
14
16
  var partition = require('lodash/partition');
15
17
  var errors = require('@backstage/errors');
16
18
  require('commander');
@@ -480,4 +482,4 @@ var create = async (cmd) => {
480
482
  };
481
483
 
482
484
  exports["default"] = create;
483
- //# sourceMappingURL=create-2c1328b1.cjs.js.map
485
+ //# sourceMappingURL=create-569a6334.cjs.js.map