@backstage/cli 0.26.11-next.1 → 0.27.0-next.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.
- package/CHANGELOG.md +63 -0
- package/config/eslint-factory.js +1 -0
- package/dist/cjs/Lockfile-B4mqBkH6.cjs.js +86 -0
- package/dist/cjs/{build-fqzNfqa5.cjs.js → build-D5DoFqm6.cjs.js} +9 -13
- package/dist/cjs/{buildBackend-CrQ_GwBs.cjs.js → buildBackend-UK6nC6VL.cjs.js} +41 -38
- package/dist/cjs/{buildWorkspace-Bv-xt2y-.cjs.js → buildWorkspace-Z-hpJt9g.cjs.js} +4 -4
- package/dist/cjs/{bump-DG3jcOMS.cjs.js → bump-Qc4jNLOA.cjs.js} +7 -84
- package/dist/cjs/{clean-BGNU8ShE.cjs.js → clean-CB6dTqaG.cjs.js} +2 -2
- package/dist/cjs/{clean-83xjoKEJ.cjs.js → clean-DlsJGDLw.cjs.js} +2 -2
- package/dist/cjs/{codeowners-B-nGMoIG.cjs.js → codeowners-0MT7UP_S.cjs.js} +2 -2
- package/dist/cjs/{config-eLDUbNFK.cjs.js → config-B1bkp-HP.cjs.js} +43 -35
- package/dist/cjs/{createDistWorkspace-vhWGDizr.cjs.js → createDistWorkspace-0v54ePDJ.cjs.js} +3 -3
- package/dist/cjs/{createPlugin-B1qnN0IC.cjs.js → createPlugin-CUOGhq6P.cjs.js} +6 -6
- package/dist/cjs/{diff-BU6vhJMf.cjs.js → diff-BaiaASdN.cjs.js} +2 -2
- package/dist/cjs/{docs-GJmQNVkJ.cjs.js → docs-D8vejOxE.cjs.js} +3 -3
- package/dist/cjs/{fix-BhwlcHp_.cjs.js → fix-C7T4cvOB.cjs.js} +2 -2
- package/dist/cjs/{index-CTTm1_x6.cjs.js → index-1VtfY6wb.cjs.js} +4 -4
- package/dist/cjs/{index-CYI5nGsH.cjs.js → index-B8Ebu0mP.cjs.js} +38 -16
- package/dist/cjs/{index-DX-m2Ed0.cjs.js → index-BAcLy7dK.cjs.js} +48 -47
- package/dist/cjs/{index-pTrNn6sL.cjs.js → index-Bu7Vqly9.cjs.js} +50 -63
- package/dist/cjs/{index-D8nglRxA.cjs.js → index-F8W-9gIc.cjs.js} +2 -2
- package/dist/cjs/{info-CSiHnHqF.cjs.js → info-D_IhL0i0.cjs.js} +4 -4
- package/dist/cjs/{install-C6PA5oT4.cjs.js → install-DGaf_UuL.cjs.js} +5 -5
- package/dist/cjs/{lint-yikicfA4.cjs.js → lint-CRqMLZJ5.cjs.js} +2 -2
- package/dist/cjs/lint-Dkx_fBkS.cjs.js +10 -0
- package/dist/cjs/{lint-D0v-Gi6H.cjs.js → lint-EJvdRB7_.cjs.js} +2 -2
- package/dist/cjs/{list-deprecations-Coko6Rsb.cjs.js → list-deprecations-COfvNjrB.cjs.js} +2 -2
- package/dist/cjs/{packageDetection-B6lJYBh9.cjs.js → moduleFederation-CQZbFAit.cjs.js} +179 -38
- package/dist/cjs/{new-Da1kvXDQ.cjs.js → new-DB_oe66E.cjs.js} +6 -6
- package/dist/cjs/{pack-D8b4JM6B.cjs.js → pack-BcxxlYor.cjs.js} +2 -2
- package/dist/cjs/{packageExports-DDff9ia4.cjs.js → packageExports-FpoAU1Be.cjs.js} +3 -3
- package/dist/cjs/{packageLintConfigs-Bfvzg--7.cjs.js → packageLintConfigs-D7LMvTow.cjs.js} +3 -3
- package/dist/cjs/{packageRole-CXerjPpL.cjs.js → packageRole-BeuvccV9.cjs.js} +2 -2
- package/dist/cjs/{packages-BgyW9VKx.cjs.js → packages-DPPEGYIi.cjs.js} +3 -3
- package/dist/cjs/{print-C5tbwB1-.cjs.js → print-DuJqsJ2y.cjs.js} +3 -3
- package/dist/cjs/{role-BjmWpqH5.cjs.js → role-DAaP4LE5.cjs.js} +2 -2
- package/dist/cjs/{run-ClbD5HPt.cjs.js → run-CPcG7YxR.cjs.js} +2 -2
- package/dist/cjs/{schema-DbqftE60.cjs.js → schema-CR794PHv.cjs.js} +3 -3
- package/dist/cjs/{tasks-XfFuuYgf.cjs.js → tasks-4L8FqWEM.cjs.js} +2 -2
- package/dist/cjs/{test-BYKGLz-_.cjs.js → test-303IpaqN.cjs.js} +3 -3
- package/dist/cjs/{test-BEyXOT0e.cjs.js → test-y8AV0JOP.cjs.js} +3 -3
- package/dist/cjs/{validate-D4vVgxsi.cjs.js → validate-DZJIL6CK.cjs.js} +3 -3
- package/dist/index.cjs.js +1 -1
- package/package.json +12 -11
- package/templates/default-backend-plugin/package.json.hbs +0 -1
- package/templates/default-backend-plugin/src/service/router.ts +2 -3
- package/templates/default-plugin/src/components/ExampleComponent/ExampleComponent.test.tsx.hbs +2 -2
- package/dist/cjs/Lockfile-BndFvzHc.cjs.js +0 -221
- package/dist/cjs/lint-DqMGmvsS.cjs.js +0 -112
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,68 @@
|
|
|
1
1
|
# @backstage/cli
|
|
2
2
|
|
|
3
|
+
## 0.27.0-next.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 32a38e1: **BREAKING**: The lockfile (`yarn.lock`) dependency analysis and mutations have been removed from several commands.
|
|
8
|
+
|
|
9
|
+
The `versions:bump` command will no longer attempt to bump and deduplicate dependencies by modifying the lockfile, it will only update `package.json` files.
|
|
10
|
+
|
|
11
|
+
The `versions:check` command has been removed, since its only purpose was verification and mutation of the lockfile. We recommend using the `yarn dedupe` command instead, or the `yarn-deduplicate` package if you're using Yarn classic.
|
|
12
|
+
|
|
13
|
+
The check that was built into the `package start` command has been removed, it will no longer warn about lockfile mismatches.
|
|
14
|
+
|
|
15
|
+
The packages in the Backstage ecosystem handle package duplications much better now than when these CLI features were first introduced, so the need for these features has diminished. By removing them, we drastically reduce the integration between the Backstage CLI and Yarn, making it much easier to add support for other package managers in the future.
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- 7eb08a6: Add frontend-dynamic-container role to eslint config factory
|
|
20
|
+
- fbc7819: Use ES2022 in CLI bundler
|
|
21
|
+
- e53074f: Updated default backend plugin to use `RootConfigService` instead of `Config`. This also removes the dependency on `@backstage/config` as it's no longer used.
|
|
22
|
+
- ee2b0e5: The experimental module federation build now has the ability to force the use of development versions of `react` and `react-dom` by setting the `FORCE_REACT_DEVELOPMENT` flag.
|
|
23
|
+
- 239dffc: Remove usage of deprecated functionality from @backstage/config-loader
|
|
24
|
+
- 0eedec3: Add support for dynamic plugins via the EXPERIMENTAL_MODULE_FEDERATION environment variable when running `yarn start`.
|
|
25
|
+
- dc4fb4f: Fix for `repo build --all` not properly detecting the experimental public entry point.
|
|
26
|
+
- Updated dependencies
|
|
27
|
+
- @backstage/integration@1.14.0-next.0
|
|
28
|
+
- @backstage/config-loader@1.8.2-next.0
|
|
29
|
+
- @backstage/catalog-model@1.5.0
|
|
30
|
+
- @backstage/cli-common@0.1.14
|
|
31
|
+
- @backstage/cli-node@0.2.7
|
|
32
|
+
- @backstage/config@1.2.0
|
|
33
|
+
- @backstage/errors@1.2.4
|
|
34
|
+
- @backstage/eslint-plugin@0.1.8
|
|
35
|
+
- @backstage/release-manifests@0.0.11
|
|
36
|
+
- @backstage/types@1.1.1
|
|
37
|
+
|
|
38
|
+
## 0.26.11
|
|
39
|
+
|
|
40
|
+
### Patch Changes
|
|
41
|
+
|
|
42
|
+
- 133464c: Added experimental support for dynamic frontend plugin builds, enabled via setting `EXPERIMENTAL_MODULE_FEDERATION` for the app build, and using the `frontend-dynamic-container` package role to create a container. Both of these are experimental and will change in the future.
|
|
43
|
+
- e2e320c: - remove unused dependencies `winston` and `yn` from the template of backend plugins;
|
|
44
|
+
- update `msw` to version `2.3.1` in the template of backend plugins;
|
|
45
|
+
starting with v1 and switching later to v2 is tedious and not straight forward; it's easier to start with v2;
|
|
46
|
+
- 0540c5a: Updated the scaffolding output message for `plugin-common` in `backstage-cli`. Now, when executing `backstage-cli new` to create a new `plugin-common` package, the output message accurately reflects the action by displaying `Creating common plugin package...` instead of the previous, less accurate `Creating backend plugin...`.
|
|
47
|
+
- 7652db4: Only bootstrap global-agent if it's actually being used
|
|
48
|
+
- f0c0039: Fix issue with CLI that was preventing upgrading from 1.28
|
|
49
|
+
- d228862: Update default backend plugin created by the cli to use non-deprecated error handling middleware
|
|
50
|
+
- da90cce: Updated dependency `esbuild` to `^0.21.0`.
|
|
51
|
+
- a60d73b: Fix a few minor issues with the backend template that were causing failing linting checks in the main repo.
|
|
52
|
+
- 0510d98: Subpath export `package.json` should be of a unique name to avoid typescript resolution issues
|
|
53
|
+
- 4baac0c: The `backendPlugin` and `backendModule` factory now includes a step for automatically adding the new backend plugin/module to the `index.ts` file of the backend.
|
|
54
|
+
- Updated dependencies
|
|
55
|
+
- @backstage/cli-node@0.2.7
|
|
56
|
+
- @backstage/integration@1.13.0
|
|
57
|
+
- @backstage/config-loader@1.8.1
|
|
58
|
+
- @backstage/catalog-model@1.5.0
|
|
59
|
+
- @backstage/cli-common@0.1.14
|
|
60
|
+
- @backstage/config@1.2.0
|
|
61
|
+
- @backstage/errors@1.2.4
|
|
62
|
+
- @backstage/eslint-plugin@0.1.8
|
|
63
|
+
- @backstage/release-manifests@0.0.11
|
|
64
|
+
- @backstage/types@1.1.1
|
|
65
|
+
|
|
3
66
|
## 0.26.11-next.1
|
|
4
67
|
|
|
5
68
|
### Patch Changes
|
package/config/eslint-factory.js
CHANGED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var fs = require('fs-extra');
|
|
4
|
+
var parsers = require('@yarnpkg/parsers');
|
|
5
|
+
var lockfile = require('@yarnpkg/lockfile');
|
|
6
|
+
|
|
7
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
8
|
+
|
|
9
|
+
var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
|
|
10
|
+
|
|
11
|
+
const ENTRY_PATTERN = /^((?:@[^/]+\/)?[^@/]+)@(.+)$/;
|
|
12
|
+
const NEW_HEADER = `${[
|
|
13
|
+
`# This file is generated by running "yarn install" inside your project.
|
|
14
|
+
`,
|
|
15
|
+
`# Manual changes might be lost - proceed with caution!
|
|
16
|
+
`
|
|
17
|
+
].join(``)}
|
|
18
|
+
`;
|
|
19
|
+
const LEGACY_REGEX = /^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i;
|
|
20
|
+
const SPECIAL_OBJECT_KEYS = [
|
|
21
|
+
`__metadata`,
|
|
22
|
+
`version`,
|
|
23
|
+
`resolution`,
|
|
24
|
+
`dependencies`,
|
|
25
|
+
`peerDependencies`,
|
|
26
|
+
`dependenciesMeta`,
|
|
27
|
+
`peerDependenciesMeta`,
|
|
28
|
+
`binaries`
|
|
29
|
+
];
|
|
30
|
+
class Lockfile {
|
|
31
|
+
constructor(packages, data, legacy = false) {
|
|
32
|
+
this.packages = packages;
|
|
33
|
+
this.data = data;
|
|
34
|
+
this.legacy = legacy;
|
|
35
|
+
}
|
|
36
|
+
static async load(path) {
|
|
37
|
+
const lockfileContents = await fs__default.default.readFile(path, "utf8");
|
|
38
|
+
return Lockfile.parse(lockfileContents);
|
|
39
|
+
}
|
|
40
|
+
static parse(content) {
|
|
41
|
+
const legacy = LEGACY_REGEX.test(content);
|
|
42
|
+
let data;
|
|
43
|
+
try {
|
|
44
|
+
data = parsers.parseSyml(content);
|
|
45
|
+
} catch (err) {
|
|
46
|
+
throw new Error(`Failed yarn.lock parse, ${err}`);
|
|
47
|
+
}
|
|
48
|
+
const packages = /* @__PURE__ */ new Map();
|
|
49
|
+
for (const [key, value] of Object.entries(data)) {
|
|
50
|
+
if (SPECIAL_OBJECT_KEYS.includes(key)) continue;
|
|
51
|
+
const [, name, ranges] = ENTRY_PATTERN.exec(key) ?? [];
|
|
52
|
+
if (!name) {
|
|
53
|
+
throw new Error(`Failed to parse yarn.lock entry '${key}'`);
|
|
54
|
+
}
|
|
55
|
+
let queries = packages.get(name);
|
|
56
|
+
if (!queries) {
|
|
57
|
+
queries = [];
|
|
58
|
+
packages.set(name, queries);
|
|
59
|
+
}
|
|
60
|
+
for (let range of ranges.split(/\s*,\s*/)) {
|
|
61
|
+
if (range.startsWith(`${name}@`)) {
|
|
62
|
+
range = range.slice(`${name}@`.length);
|
|
63
|
+
}
|
|
64
|
+
if (range.startsWith("npm:")) {
|
|
65
|
+
range = range.slice("npm:".length);
|
|
66
|
+
}
|
|
67
|
+
queries.push({ range, version: value.version, dataKey: key });
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return new Lockfile(packages, data, legacy);
|
|
71
|
+
}
|
|
72
|
+
/** Get the entries for a single package in the lockfile */
|
|
73
|
+
get(name) {
|
|
74
|
+
return this.packages.get(name);
|
|
75
|
+
}
|
|
76
|
+
/** Returns the name of all packages available in the lockfile */
|
|
77
|
+
keys() {
|
|
78
|
+
return this.packages.keys();
|
|
79
|
+
}
|
|
80
|
+
toString() {
|
|
81
|
+
return this.legacy ? lockfile.stringify(this.data) : NEW_HEADER + parsers.stringifySyml(this.data);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
exports.Lockfile = Lockfile;
|
|
86
|
+
//# sourceMappingURL=Lockfile-B4mqBkH6.cjs.js.map
|
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
var chalk = require('chalk');
|
|
4
4
|
var path = require('path');
|
|
5
|
-
var createDistWorkspace = require('./createDistWorkspace-
|
|
6
|
-
var index = require('./index-
|
|
5
|
+
var createDistWorkspace = require('./createDistWorkspace-0v54ePDJ.cjs.js');
|
|
6
|
+
var index = require('./index-BAcLy7dK.cjs.js');
|
|
7
7
|
var cliNode = require('@backstage/cli-node');
|
|
8
8
|
var parallel = require('./parallel-BszNaKyc.cjs.js');
|
|
9
|
-
var buildBackend = require('./buildBackend-
|
|
9
|
+
var buildBackend = require('./buildBackend-UK6nC6VL.cjs.js');
|
|
10
10
|
require('fs-extra');
|
|
11
11
|
require('p-limit');
|
|
12
12
|
require('os');
|
|
13
13
|
require('tar');
|
|
14
14
|
require('lodash/partition');
|
|
15
|
-
require('./run-
|
|
15
|
+
require('./run-CPcG7YxR.cjs.js');
|
|
16
16
|
require('child_process');
|
|
17
17
|
require('util');
|
|
18
18
|
require('@backstage/errors');
|
|
@@ -38,28 +38,24 @@ require('webpack');
|
|
|
38
38
|
require('eslint-webpack-plugin');
|
|
39
39
|
require('fork-ts-checker-webpack-plugin');
|
|
40
40
|
require('html-webpack-plugin');
|
|
41
|
+
require('@module-federation/enhanced/webpack');
|
|
41
42
|
require('react-dev-utils/ModuleScopePlugin');
|
|
42
43
|
require('run-script-webpack-plugin');
|
|
44
|
+
require('@pmmmwh/react-refresh-webpack-plugin');
|
|
43
45
|
require('@manypkg/get-packages');
|
|
44
46
|
require('webpack-node-externals');
|
|
45
|
-
require('./
|
|
47
|
+
require('./moduleFederation-CQZbFAit.cjs.js');
|
|
46
48
|
require('lodash/pickBy');
|
|
47
49
|
require('mini-css-extract-plugin');
|
|
48
|
-
require('@pmmmwh/react-refresh-webpack-plugin');
|
|
49
50
|
require('yn');
|
|
50
51
|
require('@backstage/config');
|
|
51
52
|
require('chokidar');
|
|
52
53
|
require('p-queue');
|
|
53
54
|
require('react-dev-utils/FileSizeReporter');
|
|
54
55
|
require('react-dev-utils/formatWebpackMessages');
|
|
55
|
-
require('lodash/uniq');
|
|
56
56
|
require('react-dev-utils/openBrowser');
|
|
57
57
|
require('webpack-dev-server');
|
|
58
|
-
require('
|
|
59
|
-
require('@yarnpkg/lockfile');
|
|
60
|
-
require('minimatch');
|
|
61
|
-
require('./yarn-Ukl9MOS0.cjs.js');
|
|
62
|
-
require('./config-eLDUbNFK.cjs.js');
|
|
58
|
+
require('./config-B1bkp-HP.cjs.js');
|
|
63
59
|
require('@backstage/config-loader');
|
|
64
60
|
|
|
65
61
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
@@ -193,4 +189,4 @@ async function command(opts, cmd) {
|
|
|
193
189
|
}
|
|
194
190
|
|
|
195
191
|
exports.command = command;
|
|
196
|
-
//# sourceMappingURL=build-
|
|
192
|
+
//# sourceMappingURL=build-D5DoFqm6.cjs.js.map
|
|
@@ -3,47 +3,40 @@
|
|
|
3
3
|
var fs = require('fs-extra');
|
|
4
4
|
var path = require('path');
|
|
5
5
|
var webpack = require('webpack');
|
|
6
|
+
var chalk = require('chalk');
|
|
6
7
|
require('eslint-webpack-plugin');
|
|
7
8
|
require('fork-ts-checker-webpack-plugin');
|
|
8
9
|
require('html-webpack-plugin');
|
|
10
|
+
require('@module-federation/enhanced/webpack');
|
|
9
11
|
require('@backstage/cli-common');
|
|
10
12
|
require('react-dev-utils/ModuleScopePlugin');
|
|
11
13
|
require('run-script-webpack-plugin');
|
|
12
|
-
require('
|
|
14
|
+
require('@pmmmwh/react-refresh-webpack-plugin');
|
|
15
|
+
require('./index-BAcLy7dK.cjs.js');
|
|
13
16
|
require('@manypkg/get-packages');
|
|
14
17
|
require('webpack-node-externals');
|
|
15
|
-
var
|
|
18
|
+
var moduleFederation = require('./moduleFederation-CQZbFAit.cjs.js');
|
|
16
19
|
require('lodash/pickBy');
|
|
17
|
-
require('./run-
|
|
20
|
+
require('./run-CPcG7YxR.cjs.js');
|
|
18
21
|
require('mini-css-extract-plugin');
|
|
19
|
-
require('@pmmmwh/react-refresh-webpack-plugin');
|
|
20
22
|
var yn = require('yn');
|
|
21
23
|
var FileSizeReporter = require('react-dev-utils/FileSizeReporter');
|
|
22
24
|
var formatWebpackMessages = require('react-dev-utils/formatWebpackMessages');
|
|
23
|
-
var chalk = require('chalk');
|
|
24
|
-
require('@backstage/cli-node');
|
|
25
|
-
require('lodash/uniq');
|
|
26
25
|
require('react-dev-utils/openBrowser');
|
|
27
26
|
require('webpack-dev-server');
|
|
28
|
-
require('
|
|
29
|
-
require('@yarnpkg/parsers');
|
|
30
|
-
require('@yarnpkg/lockfile');
|
|
31
|
-
require('minimatch');
|
|
32
|
-
require('./yarn-Ukl9MOS0.cjs.js');
|
|
33
|
-
require('lodash/partition');
|
|
34
|
-
var config = require('./config-eLDUbNFK.cjs.js');
|
|
27
|
+
var config = require('./config-B1bkp-HP.cjs.js');
|
|
35
28
|
var parallel = require('./parallel-BszNaKyc.cjs.js');
|
|
36
29
|
var os = require('os');
|
|
37
30
|
var tar = require('tar');
|
|
38
|
-
var createDistWorkspace = require('./createDistWorkspace-
|
|
31
|
+
var createDistWorkspace = require('./createDistWorkspace-0v54ePDJ.cjs.js');
|
|
39
32
|
|
|
40
33
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
41
34
|
|
|
42
35
|
var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
|
|
43
36
|
var webpack__default = /*#__PURE__*/_interopDefaultCompat(webpack);
|
|
37
|
+
var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
|
|
44
38
|
var yn__default = /*#__PURE__*/_interopDefaultCompat(yn);
|
|
45
39
|
var formatWebpackMessages__default = /*#__PURE__*/_interopDefaultCompat(formatWebpackMessages);
|
|
46
|
-
var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
|
|
47
40
|
var os__default = /*#__PURE__*/_interopDefaultCompat(os);
|
|
48
41
|
var tar__default = /*#__PURE__*/_interopDefaultCompat(tar);
|
|
49
42
|
|
|
@@ -55,40 +48,46 @@ function applyContextToError(error, moduleName) {
|
|
|
55
48
|
}
|
|
56
49
|
async function buildBundle(options) {
|
|
57
50
|
const { statsJsonEnabled, schema: configSchema } = options;
|
|
58
|
-
const paths =
|
|
59
|
-
const publicPaths = await
|
|
51
|
+
const paths = moduleFederation.resolveBundlingPaths(options);
|
|
52
|
+
const publicPaths = await moduleFederation.resolveOptionalBundlingPaths({
|
|
53
|
+
targetDir: options.targetDir,
|
|
60
54
|
entry: "src/index-public-experimental",
|
|
61
55
|
dist: "dist/public"
|
|
62
56
|
});
|
|
63
|
-
const detectedModulesEntryPoint = await packageDetection.createDetectedModulesEntryPoint({
|
|
64
|
-
config: options.fullConfig,
|
|
65
|
-
targetPath: paths.targetPath
|
|
66
|
-
});
|
|
67
57
|
const commonConfigOptions = {
|
|
68
58
|
...options,
|
|
69
59
|
checksEnabled: false,
|
|
70
60
|
isDev: false,
|
|
71
61
|
getFrontendAppConfigs: () => options.frontendAppConfigs
|
|
72
62
|
};
|
|
73
|
-
const configs = [
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
console.log(
|
|
82
|
-
chalk__default.default.yellow(
|
|
83
|
-
`\u26A0\uFE0F WARNING: The app /public entry point is an experimental feature that may receive immediate breaking changes.`
|
|
84
|
-
)
|
|
85
|
-
);
|
|
63
|
+
const configs = [];
|
|
64
|
+
if (options.moduleFederation?.mode === "remote") {
|
|
65
|
+
configs.push(await moduleFederation.createConfig(paths, commonConfigOptions));
|
|
66
|
+
} else {
|
|
67
|
+
const detectedModulesEntryPoint = await moduleFederation.createDetectedModulesEntryPoint({
|
|
68
|
+
config: options.fullConfig,
|
|
69
|
+
targetPath: paths.targetPath
|
|
70
|
+
});
|
|
86
71
|
configs.push(
|
|
87
|
-
await
|
|
72
|
+
await moduleFederation.createConfig(paths, {
|
|
88
73
|
...commonConfigOptions,
|
|
89
|
-
|
|
74
|
+
additionalEntryPoints: detectedModulesEntryPoint,
|
|
75
|
+
appMode: publicPaths ? "protected" : "public"
|
|
90
76
|
})
|
|
91
77
|
);
|
|
78
|
+
if (publicPaths) {
|
|
79
|
+
console.log(
|
|
80
|
+
chalk__default.default.yellow(
|
|
81
|
+
`\u26A0\uFE0F WARNING: The app /public entry point is an experimental feature that may receive immediate breaking changes.`
|
|
82
|
+
)
|
|
83
|
+
);
|
|
84
|
+
configs.push(
|
|
85
|
+
await moduleFederation.createConfig(publicPaths, {
|
|
86
|
+
...commonConfigOptions,
|
|
87
|
+
appMode: "public"
|
|
88
|
+
})
|
|
89
|
+
);
|
|
90
|
+
}
|
|
92
91
|
}
|
|
93
92
|
const isCi = yn__default.default(process.env.CI, { default: false });
|
|
94
93
|
const previousFileSizes = await FileSizeReporter.measureFileSizesBeforeBuild(paths.targetDist);
|
|
@@ -207,6 +206,10 @@ async function buildFrontend(options) {
|
|
|
207
206
|
entry: "src/index",
|
|
208
207
|
parallelism: parallel.getEnvironmentParallelism(),
|
|
209
208
|
statsJsonEnabled: writeStats,
|
|
209
|
+
moduleFederation: moduleFederation.getModuleFederationOptions(
|
|
210
|
+
name,
|
|
211
|
+
options.isModuleFederationRemote
|
|
212
|
+
),
|
|
210
213
|
...await config.loadCliConfig({
|
|
211
214
|
args: configPaths,
|
|
212
215
|
fromPackage: name
|
|
@@ -260,4 +263,4 @@ async function buildBackend(options) {
|
|
|
260
263
|
|
|
261
264
|
exports.buildBackend = buildBackend;
|
|
262
265
|
exports.buildFrontend = buildFrontend;
|
|
263
|
-
//# sourceMappingURL=buildBackend-
|
|
266
|
+
//# sourceMappingURL=buildBackend-UK6nC6VL.cjs.js.map
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var fs = require('fs-extra');
|
|
4
|
-
var createDistWorkspace = require('./createDistWorkspace-
|
|
4
|
+
var createDistWorkspace = require('./createDistWorkspace-0v54ePDJ.cjs.js');
|
|
5
5
|
require('chalk');
|
|
6
6
|
require('path');
|
|
7
7
|
require('p-limit');
|
|
8
8
|
require('os');
|
|
9
9
|
require('tar');
|
|
10
10
|
require('lodash/partition');
|
|
11
|
-
require('./index-
|
|
11
|
+
require('./index-BAcLy7dK.cjs.js');
|
|
12
12
|
require('commander');
|
|
13
13
|
require('semver');
|
|
14
14
|
require('@backstage/cli-common');
|
|
15
15
|
require('@backstage/errors');
|
|
16
|
-
require('./run-
|
|
16
|
+
require('./run-CPcG7YxR.cjs.js');
|
|
17
17
|
require('child_process');
|
|
18
18
|
require('util');
|
|
19
19
|
require('rollup');
|
|
@@ -49,4 +49,4 @@ var buildWorkspace = async (dir, packages, options) => {
|
|
|
49
49
|
};
|
|
50
50
|
|
|
51
51
|
exports.default = buildWorkspace;
|
|
52
|
-
//# sourceMappingURL=buildWorkspace-
|
|
52
|
+
//# sourceMappingURL=buildWorkspace-Z-hpJt9g.cjs.js.map
|
|
@@ -5,18 +5,17 @@ var fs = require('fs-extra');
|
|
|
5
5
|
var chalk = require('chalk');
|
|
6
6
|
var ora = require('ora');
|
|
7
7
|
var semver = require('semver');
|
|
8
|
-
var minimatch = require('minimatch');
|
|
9
8
|
var errors = require('@backstage/errors');
|
|
10
9
|
var path = require('path');
|
|
11
|
-
var run = require('./run-
|
|
12
|
-
var index = require('./index-
|
|
13
|
-
var Lockfile = require('./Lockfile-
|
|
14
|
-
var packages = require('./packages-
|
|
15
|
-
var lint = require('./lint-DqMGmvsS.cjs.js');
|
|
10
|
+
var run = require('./run-CPcG7YxR.cjs.js');
|
|
11
|
+
var index = require('./index-BAcLy7dK.cjs.js');
|
|
12
|
+
var Lockfile = require('./Lockfile-B4mqBkH6.cjs.js');
|
|
13
|
+
var packages = require('./packages-DPPEGYIi.cjs.js');
|
|
16
14
|
var cliCommon = require('@backstage/cli-common');
|
|
17
15
|
var parallel = require('./parallel-BszNaKyc.cjs.js');
|
|
18
16
|
var releaseManifests = require('@backstage/release-manifests');
|
|
19
17
|
var cliNode = require('@backstage/cli-node');
|
|
18
|
+
var minimatch = require('minimatch');
|
|
20
19
|
var replace = require('replace-in-file');
|
|
21
20
|
|
|
22
21
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
@@ -180,7 +179,6 @@ var bump = async (opts) => {
|
|
|
180
179
|
}
|
|
181
180
|
const dependencyMap = await packages.mapDependencies(index.paths.targetDir, pattern);
|
|
182
181
|
const versionBumps = /* @__PURE__ */ new Map();
|
|
183
|
-
const unlocked = Array();
|
|
184
182
|
await parallel.runParallelWorkers({
|
|
185
183
|
parallelismFactor: 4,
|
|
186
184
|
items: dependencyMap.entries(),
|
|
@@ -209,58 +207,11 @@ var bump = async (opts) => {
|
|
|
209
207
|
}
|
|
210
208
|
}
|
|
211
209
|
});
|
|
212
|
-
|
|
213
|
-
await parallel.runParallelWorkers({
|
|
214
|
-
parallelismFactor: 4,
|
|
215
|
-
items: lockfile.keys(),
|
|
216
|
-
async worker(name) {
|
|
217
|
-
if (!filter(name)) {
|
|
218
|
-
return;
|
|
219
|
-
}
|
|
220
|
-
let target;
|
|
221
|
-
try {
|
|
222
|
-
target = await findTargetVersion(name);
|
|
223
|
-
} catch (error) {
|
|
224
|
-
if (errors.isError(error) && error.name === "NotFoundError") {
|
|
225
|
-
console.log(`Package info not found, ignoring package ${name}`);
|
|
226
|
-
return;
|
|
227
|
-
}
|
|
228
|
-
throw error;
|
|
229
|
-
}
|
|
230
|
-
for (const entry of lockfile.get(name) ?? []) {
|
|
231
|
-
if (!semver__default.default.satisfies(target, entry.range)) {
|
|
232
|
-
continue;
|
|
233
|
-
}
|
|
234
|
-
unlocked.push({ name, range: entry.range, target });
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
});
|
|
238
|
-
console.log();
|
|
239
|
-
if (versionBumps.size === 0 && unlocked.length === 0) {
|
|
210
|
+
if (versionBumps.size === 0) {
|
|
240
211
|
console.log(chalk__default.default.green("All Backstage packages are up to date!"));
|
|
241
212
|
} else {
|
|
242
213
|
console.log(chalk__default.default.yellow("Some packages are outdated, updating"));
|
|
243
214
|
console.log();
|
|
244
|
-
if (unlocked.length > 0) {
|
|
245
|
-
const removed = /* @__PURE__ */ new Set();
|
|
246
|
-
for (const { name, range, target } of unlocked) {
|
|
247
|
-
const existingEntry = lockfile.get(name)?.find((e) => e.range === range);
|
|
248
|
-
if (existingEntry?.version === target) {
|
|
249
|
-
continue;
|
|
250
|
-
}
|
|
251
|
-
const key = JSON.stringify({ name, range });
|
|
252
|
-
if (!removed.has(key)) {
|
|
253
|
-
removed.add(key);
|
|
254
|
-
console.log(
|
|
255
|
-
`${chalk__default.default.magenta("unlocking")} ${name}@${chalk__default.default.yellow(
|
|
256
|
-
range
|
|
257
|
-
)} ~> ${chalk__default.default.yellow(target)}`
|
|
258
|
-
);
|
|
259
|
-
lockfile.remove(name, range);
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
await lockfile.save(lockfilePath);
|
|
263
|
-
}
|
|
264
215
|
const breakingUpdates = /* @__PURE__ */ new Map();
|
|
265
216
|
await parallel.runParallelWorkers({
|
|
266
217
|
parallelismFactor: 4,
|
|
@@ -350,34 +301,6 @@ var bump = async (opts) => {
|
|
|
350
301
|
console.log(chalk__default.default.green("Version bump complete!"));
|
|
351
302
|
}
|
|
352
303
|
console.log();
|
|
353
|
-
const dedupLockfile = await Lockfile.Lockfile.load(lockfilePath);
|
|
354
|
-
const result = dedupLockfile.analyze({
|
|
355
|
-
filter,
|
|
356
|
-
localPackages: cliNode.PackageGraph.fromPackages(
|
|
357
|
-
await cliNode.PackageGraph.listTargetPackages()
|
|
358
|
-
)
|
|
359
|
-
});
|
|
360
|
-
const forbiddenNewRanges = result.newRanges.filter(
|
|
361
|
-
({ name }) => lint.forbiddenDuplicatesFilter(name)
|
|
362
|
-
);
|
|
363
|
-
if (forbiddenNewRanges.length > 0) {
|
|
364
|
-
console.log(chalk__default.default.yellow(" \u26A0\uFE0F Warning! \u26A0\uFE0F"));
|
|
365
|
-
console.log();
|
|
366
|
-
console.log(
|
|
367
|
-
chalk__default.default.yellow(
|
|
368
|
-
" The below package(s) have incompatible duplicate installations, likely due to a bad dependency in a plugin."
|
|
369
|
-
)
|
|
370
|
-
);
|
|
371
|
-
console.log(
|
|
372
|
-
chalk__default.default.yellow(
|
|
373
|
-
" You can investigate this by running `yarn why <package-name>`, and report the issue to the plugin maintainers."
|
|
374
|
-
)
|
|
375
|
-
);
|
|
376
|
-
console.log();
|
|
377
|
-
for (const { name } of forbiddenNewRanges) {
|
|
378
|
-
console.log(chalk__default.default.yellow(` ${name}`));
|
|
379
|
-
}
|
|
380
|
-
}
|
|
381
304
|
};
|
|
382
305
|
function createStrictVersionFinder(options) {
|
|
383
306
|
const releasePackages = new Map(
|
|
@@ -530,4 +453,4 @@ var bump$1 = /*#__PURE__*/Object.freeze({
|
|
|
530
453
|
|
|
531
454
|
exports.bump = bump$1;
|
|
532
455
|
exports.migrate = migrate$1;
|
|
533
|
-
//# sourceMappingURL=bump-
|
|
456
|
+
//# sourceMappingURL=bump-Qc4jNLOA.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-
|
|
4
|
+
var index = require('./index-BAcLy7dK.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-
|
|
22
|
+
//# sourceMappingURL=clean-CB6dTqaG.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-
|
|
8
|
+
var index = require('./index-BAcLy7dK.cjs.js');
|
|
9
9
|
require('commander');
|
|
10
10
|
require('chalk');
|
|
11
11
|
require('semver');
|
|
@@ -45,4 +45,4 @@ async function command() {
|
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
exports.command = command;
|
|
48
|
-
//# sourceMappingURL=clean-
|
|
48
|
+
//# sourceMappingURL=clean-DlsJGDLw.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-
|
|
5
|
+
var index = require('./index-BAcLy7dK.cjs.js');
|
|
6
6
|
|
|
7
7
|
function _interopDefaultCompat (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-
|
|
91
|
+
//# sourceMappingURL=codeowners-0MT7UP_S.cjs.js.map
|