@backstage/cli 0.26.11 → 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 +35 -0
- package/config/eslint-factory.js +1 -0
- package/dist/cjs/Lockfile-B4mqBkH6.cjs.js +86 -0
- package/dist/cjs/{build-DwlXzIpR.cjs.js → build-D5DoFqm6.cjs.js} +8 -13
- package/dist/cjs/{buildBackend-CrncxAY5.cjs.js → buildBackend-UK6nC6VL.cjs.js} +17 -41
- package/dist/cjs/{buildWorkspace-D95Cv1QN.cjs.js → buildWorkspace-Z-hpJt9g.cjs.js} +4 -4
- package/dist/cjs/{bump-b90k9Vrg.cjs.js → bump-Qc4jNLOA.cjs.js} +7 -84
- package/dist/cjs/{clean-Bev614vS.cjs.js → clean-CB6dTqaG.cjs.js} +2 -2
- package/dist/cjs/{clean-Cn9pRgoI.cjs.js → clean-DlsJGDLw.cjs.js} +2 -2
- package/dist/cjs/{codeowners-C_BzEYI6.cjs.js → codeowners-0MT7UP_S.cjs.js} +2 -2
- package/dist/cjs/{config-EizsMYjy.cjs.js → config-B1bkp-HP.cjs.js} +43 -35
- package/dist/cjs/{createDistWorkspace-CqCdLqOV.cjs.js → createDistWorkspace-0v54ePDJ.cjs.js} +3 -3
- package/dist/cjs/{createPlugin-Dp_zJ1vU.cjs.js → createPlugin-CUOGhq6P.cjs.js} +6 -6
- package/dist/cjs/{diff-SflPPir6.cjs.js → diff-BaiaASdN.cjs.js} +2 -2
- package/dist/cjs/{docs-B0MlNQaZ.cjs.js → docs-D8vejOxE.cjs.js} +3 -3
- package/dist/cjs/{fix-BoMIpogO.cjs.js → fix-C7T4cvOB.cjs.js} +2 -2
- package/dist/cjs/{index-Do6EL2Yb.cjs.js → index-1VtfY6wb.cjs.js} +4 -4
- package/dist/cjs/{index-D6bTzT6C.cjs.js → index-B8Ebu0mP.cjs.js} +19 -15
- package/dist/cjs/{index-7vT98W4X.cjs.js → index-BAcLy7dK.cjs.js} +47 -47
- package/dist/cjs/{index-nl4fBJN1.cjs.js → index-Bu7Vqly9.cjs.js} +49 -63
- package/dist/cjs/{index-JoytU5ZM.cjs.js → index-F8W-9gIc.cjs.js} +2 -2
- package/dist/cjs/{info-BRPLyhql.cjs.js → info-D_IhL0i0.cjs.js} +4 -4
- package/dist/cjs/{install-DBTY3GMv.cjs.js → install-DGaf_UuL.cjs.js} +5 -5
- package/dist/cjs/{lint-DmKqylEy.cjs.js → lint-CRqMLZJ5.cjs.js} +2 -2
- package/dist/cjs/lint-Dkx_fBkS.cjs.js +10 -0
- package/dist/cjs/{lint-6Ua9puez.cjs.js → lint-EJvdRB7_.cjs.js} +2 -2
- package/dist/cjs/{list-deprecations-DNYfBnHZ.cjs.js → list-deprecations-COfvNjrB.cjs.js} +2 -2
- package/dist/cjs/{packageDetection-DlDcN5Ll.cjs.js → moduleFederation-CQZbFAit.cjs.js} +94 -25
- package/dist/cjs/{new-WebKpNSz.cjs.js → new-DB_oe66E.cjs.js} +6 -6
- package/dist/cjs/{pack-5if7U6_6.cjs.js → pack-BcxxlYor.cjs.js} +2 -2
- package/dist/cjs/{packageExports-Ddqkury2.cjs.js → packageExports-FpoAU1Be.cjs.js} +3 -3
- package/dist/cjs/{packageLintConfigs-CrhcoEVX.cjs.js → packageLintConfigs-D7LMvTow.cjs.js} +3 -3
- package/dist/cjs/{packageRole-CBF_rIK0.cjs.js → packageRole-BeuvccV9.cjs.js} +2 -2
- package/dist/cjs/{packages-RRALGdRj.cjs.js → packages-DPPEGYIi.cjs.js} +3 -3
- package/dist/cjs/{print-Caq1MMDY.cjs.js → print-DuJqsJ2y.cjs.js} +3 -3
- package/dist/cjs/{role-DNHddFRX.cjs.js → role-DAaP4LE5.cjs.js} +2 -2
- package/dist/cjs/{run-Dyr28990.cjs.js → run-CPcG7YxR.cjs.js} +2 -2
- package/dist/cjs/{schema-CXKpYRvf.cjs.js → schema-CR794PHv.cjs.js} +3 -3
- package/dist/cjs/{tasks-CMO3PrbZ.cjs.js → tasks-4L8FqWEM.cjs.js} +2 -2
- package/dist/cjs/{test-CTXtMelk.cjs.js → test-303IpaqN.cjs.js} +3 -3
- package/dist/cjs/{test-CyF0ge7_.cjs.js → test-y8AV0JOP.cjs.js} +3 -3
- package/dist/cjs/{validate-CPunUthn.cjs.js → validate-DZJIL6CK.cjs.js} +3 -3
- package/dist/index.cjs.js +1 -1
- package/package.json +10 -10
- package/templates/default-backend-plugin/package.json.hbs +0 -1
- package/templates/default-backend-plugin/src/service/router.ts +2 -3
- package/dist/cjs/Lockfile-BndFvzHc.cjs.js +0 -221
- package/dist/cjs/lint-CCzUmZcU.cjs.js +0 -112
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var role = require('./role-
|
|
3
|
+
var role = require('./role-DAaP4LE5.cjs.js');
|
|
4
4
|
var fs = require('fs-extra');
|
|
5
|
-
var index = require('./index-
|
|
5
|
+
var index = require('./index-BAcLy7dK.cjs.js');
|
|
6
6
|
var webpack = require('webpack');
|
|
7
|
-
var
|
|
7
|
+
var moduleFederation = require('./moduleFederation-CQZbFAit.cjs.js');
|
|
8
8
|
require('yn');
|
|
9
9
|
var path = require('path');
|
|
10
10
|
require('react-dev-utils/FileSizeReporter');
|
|
11
11
|
require('react-dev-utils/formatWebpackMessages');
|
|
12
|
+
var chalk = require('chalk');
|
|
12
13
|
require('eslint-webpack-plugin');
|
|
13
14
|
require('fork-ts-checker-webpack-plugin');
|
|
14
15
|
require('html-webpack-plugin');
|
|
@@ -16,35 +17,26 @@ require('@module-federation/enhanced/webpack');
|
|
|
16
17
|
require('@backstage/cli-common');
|
|
17
18
|
require('react-dev-utils/ModuleScopePlugin');
|
|
18
19
|
require('run-script-webpack-plugin');
|
|
20
|
+
require('@pmmmwh/react-refresh-webpack-plugin');
|
|
19
21
|
require('@manypkg/get-packages');
|
|
20
22
|
require('webpack-node-externals');
|
|
21
23
|
require('lodash/pickBy');
|
|
22
|
-
require('./run-
|
|
24
|
+
require('./run-CPcG7YxR.cjs.js');
|
|
23
25
|
require('mini-css-extract-plugin');
|
|
24
|
-
require('@pmmmwh/react-refresh-webpack-plugin');
|
|
25
|
-
var chalk = require('chalk');
|
|
26
|
-
var cliNode = require('@backstage/cli-node');
|
|
27
|
-
var uniq = require('lodash/uniq');
|
|
28
26
|
var openBrowser = require('react-dev-utils/openBrowser');
|
|
29
27
|
var WebpackDevServer = require('webpack-dev-server');
|
|
30
|
-
require('semver');
|
|
31
|
-
require('@yarnpkg/parsers');
|
|
32
|
-
require('@yarnpkg/lockfile');
|
|
33
|
-
require('minimatch');
|
|
34
|
-
require('./yarn-Ukl9MOS0.cjs.js');
|
|
35
|
-
require('lodash/partition');
|
|
36
28
|
require('@backstage/config-loader');
|
|
37
29
|
require('@backstage/config');
|
|
30
|
+
require('@backstage/cli-node');
|
|
38
31
|
var chokidar = require('chokidar');
|
|
39
32
|
var ctrlcWindows = require('ctrlc-windows');
|
|
40
33
|
var errors = require('@backstage/errors');
|
|
41
34
|
var debounce = require('lodash/debounce');
|
|
42
35
|
var url = require('url');
|
|
43
36
|
var spawn = require('cross-spawn');
|
|
44
|
-
var
|
|
45
|
-
var config = require('./config-EizsMYjy.cjs.js');
|
|
46
|
-
var Lockfile = require('./Lockfile-BndFvzHc.cjs.js');
|
|
37
|
+
var config = require('./config-B1bkp-HP.cjs.js');
|
|
47
38
|
require('commander');
|
|
39
|
+
require('semver');
|
|
48
40
|
require('./entryPoints-CoHH4lBA.cjs.js');
|
|
49
41
|
require('./svgrTemplate-BTjBQ3by.cjs.js');
|
|
50
42
|
require('p-queue');
|
|
@@ -56,15 +48,14 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
|
|
|
56
48
|
var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
|
|
57
49
|
var webpack__default = /*#__PURE__*/_interopDefaultCompat(webpack);
|
|
58
50
|
var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
|
|
59
|
-
var uniq__default = /*#__PURE__*/_interopDefaultCompat(uniq);
|
|
60
51
|
var openBrowser__default = /*#__PURE__*/_interopDefaultCompat(openBrowser);
|
|
61
52
|
var WebpackDevServer__default = /*#__PURE__*/_interopDefaultCompat(WebpackDevServer);
|
|
62
53
|
var debounce__default = /*#__PURE__*/_interopDefaultCompat(debounce);
|
|
63
54
|
var spawn__default = /*#__PURE__*/_interopDefaultCompat(spawn);
|
|
64
55
|
|
|
65
56
|
async function serveBackend(options) {
|
|
66
|
-
const paths =
|
|
67
|
-
const config = await
|
|
57
|
+
const paths = moduleFederation.resolveBundlingPaths(options);
|
|
58
|
+
const config = await moduleFederation.createBackendConfig(paths, {
|
|
68
59
|
...options,
|
|
69
60
|
isDev: true
|
|
70
61
|
});
|
|
@@ -87,37 +78,9 @@ async function serveBackend(options) {
|
|
|
87
78
|
}
|
|
88
79
|
|
|
89
80
|
async function serveBundle(options) {
|
|
90
|
-
const paths =
|
|
81
|
+
const paths = moduleFederation.resolveBundlingPaths(options);
|
|
91
82
|
const targetPkg = await fs__default.default.readJson(paths.targetPackageJson);
|
|
92
83
|
if (options.verifyVersions) {
|
|
93
|
-
const lockfile = await Lockfile.Lockfile.load(
|
|
94
|
-
index.paths.resolveTargetRoot("yarn.lock")
|
|
95
|
-
);
|
|
96
|
-
const result = lockfile.analyze({
|
|
97
|
-
filter: lint.includedFilter,
|
|
98
|
-
localPackages: cliNode.PackageGraph.fromPackages(
|
|
99
|
-
await cliNode.PackageGraph.listTargetPackages()
|
|
100
|
-
)
|
|
101
|
-
});
|
|
102
|
-
const problemPackages = [...result.newVersions, ...result.newRanges].map(({ name: name2 }) => name2).filter(lint.forbiddenDuplicatesFilter);
|
|
103
|
-
if (problemPackages.length > 1) {
|
|
104
|
-
console.log(
|
|
105
|
-
chalk__default.default.yellow(
|
|
106
|
-
`\u26A0\uFE0F Some of the following packages may be outdated or have duplicate installations:
|
|
107
|
-
|
|
108
|
-
${uniq__default.default(problemPackages).join(", ")}
|
|
109
|
-
`
|
|
110
|
-
)
|
|
111
|
-
);
|
|
112
|
-
console.log(
|
|
113
|
-
chalk__default.default.yellow(
|
|
114
|
-
`\u26A0\uFE0F This can be resolved using the following command:
|
|
115
|
-
|
|
116
|
-
yarn backstage-cli versions:check --fix
|
|
117
|
-
`
|
|
118
|
-
)
|
|
119
|
-
);
|
|
120
|
-
}
|
|
121
84
|
if (targetPkg.dependencies?.["react-router"]?.includes("beta") || targetPkg.dependencies?.["react-router-dom"]?.includes("beta")) {
|
|
122
85
|
console.warn(
|
|
123
86
|
chalk__default.default.yellow(`
|
|
@@ -162,10 +125,12 @@ DEPRECATION WARNING: React Router Beta is deprecated and support for it will be
|
|
|
162
125
|
);
|
|
163
126
|
}
|
|
164
127
|
const { frontendConfig, fullConfig } = cliConfig;
|
|
165
|
-
const url =
|
|
166
|
-
const host =
|
|
167
|
-
|
|
168
|
-
|
|
128
|
+
const url = moduleFederation.resolveBaseUrl(frontendConfig, options.moduleFederation);
|
|
129
|
+
const { host, port } = moduleFederation.resolveEndpoint(
|
|
130
|
+
frontendConfig,
|
|
131
|
+
options.moduleFederation
|
|
132
|
+
);
|
|
133
|
+
const detectedModulesEntryPoint = await moduleFederation.createDetectedModulesEntryPoint({
|
|
169
134
|
config: fullConfig,
|
|
170
135
|
targetPath: paths.targetPath,
|
|
171
136
|
watch() {
|
|
@@ -183,9 +148,10 @@ DEPRECATION WARNING: React Router Beta is deprecated and support for it will be
|
|
|
183
148
|
return latestFrontendAppConfigs;
|
|
184
149
|
}
|
|
185
150
|
};
|
|
186
|
-
const config$1 = await
|
|
151
|
+
const config$1 = await moduleFederation.createConfig(paths, {
|
|
187
152
|
...commonConfigOptions,
|
|
188
|
-
additionalEntryPoints: detectedModulesEntryPoint
|
|
153
|
+
additionalEntryPoints: detectedModulesEntryPoint,
|
|
154
|
+
moduleFederation: options.moduleFederation
|
|
189
155
|
});
|
|
190
156
|
if (process.env.EXPERIMENTAL_VITE) {
|
|
191
157
|
const vite = require("vite");
|
|
@@ -201,7 +167,7 @@ DEPRECATION WARNING: React Router Beta is deprecated and support for it will be
|
|
|
201
167
|
"process.env.APP_CONFIG": JSON.stringify(cliConfig.frontendAppConfigs),
|
|
202
168
|
// This allows for conditional imports of react-dom/client, since there's no way
|
|
203
169
|
// to check for presence of it in source code without module resolution errors.
|
|
204
|
-
"process.env.HAS_REACT_DOM_CLIENT": JSON.stringify(
|
|
170
|
+
"process.env.HAS_REACT_DOM_CLIENT": JSON.stringify(moduleFederation.hasReactDomClient())
|
|
205
171
|
},
|
|
206
172
|
plugins: [
|
|
207
173
|
viteReact(),
|
|
@@ -227,7 +193,7 @@ DEPRECATION WARNING: React Router Beta is deprecated and support for it will be
|
|
|
227
193
|
root: paths.targetPath
|
|
228
194
|
});
|
|
229
195
|
} else {
|
|
230
|
-
const publicPaths = await
|
|
196
|
+
const publicPaths = await moduleFederation.resolveOptionalBundlingPaths({
|
|
231
197
|
entry: "src/index-public-experimental",
|
|
232
198
|
dist: "dist/public"
|
|
233
199
|
});
|
|
@@ -238,7 +204,7 @@ DEPRECATION WARNING: React Router Beta is deprecated and support for it will be
|
|
|
238
204
|
)
|
|
239
205
|
);
|
|
240
206
|
}
|
|
241
|
-
const compiler = publicPaths ? webpack__default.default([config$1, await
|
|
207
|
+
const compiler = publicPaths ? webpack__default.default([config$1, await moduleFederation.createConfig(publicPaths, commonConfigOptions)]) : webpack__default.default(config$1);
|
|
242
208
|
webpackServer = new WebpackDevServer__default.default(
|
|
243
209
|
{
|
|
244
210
|
hot: !process.env.CI,
|
|
@@ -250,7 +216,7 @@ DEPRECATION WARNING: React Router Beta is deprecated and support for it will be
|
|
|
250
216
|
publicPath: config$1.output?.publicPath,
|
|
251
217
|
directory: paths.targetPublic
|
|
252
218
|
} : void 0,
|
|
253
|
-
historyApiFallback: {
|
|
219
|
+
historyApiFallback: options.moduleFederation?.mode === "remote" ? false : {
|
|
254
220
|
// Paths with dots should still use the history fallback.
|
|
255
221
|
// See https://github.com/facebookincubator/create-react-app/issues/387.
|
|
256
222
|
disableDotRule: true,
|
|
@@ -270,7 +236,12 @@ DEPRECATION WARNING: React Router Beta is deprecated and support for it will be
|
|
|
270
236
|
// When the dev server is behind a proxy, the host and public hostname differ
|
|
271
237
|
allowedHosts: [url.hostname],
|
|
272
238
|
client: {
|
|
273
|
-
webSocketURL:
|
|
239
|
+
webSocketURL: { hostname: host, port }
|
|
240
|
+
},
|
|
241
|
+
headers: {
|
|
242
|
+
"Access-Control-Allow-Origin": "*",
|
|
243
|
+
"Access-Control-Allow-Methods": "GET, OPTIONS",
|
|
244
|
+
"Access-Control-Allow-Headers": "X-Requested-With, content-type, Authorization"
|
|
274
245
|
}
|
|
275
246
|
},
|
|
276
247
|
compiler
|
|
@@ -290,7 +261,9 @@ DEPRECATION WARNING: React Router Beta is deprecated and support for it will be
|
|
|
290
261
|
resolve();
|
|
291
262
|
}
|
|
292
263
|
});
|
|
293
|
-
|
|
264
|
+
if (!options.skipOpenBrowser) {
|
|
265
|
+
openBrowser__default.default(url.href);
|
|
266
|
+
}
|
|
294
267
|
const waitForExit = async () => {
|
|
295
268
|
for (const signal of ["SIGINT", "SIGTERM"]) {
|
|
296
269
|
process.on(signal, () => {
|
|
@@ -590,11 +563,17 @@ async function cleanDistAndServeBackend(options) {
|
|
|
590
563
|
}
|
|
591
564
|
|
|
592
565
|
async function startFrontend(options) {
|
|
566
|
+
const { name } = await fs.readJson(index.paths.resolveTarget("package.json"));
|
|
593
567
|
const waitForExit = await serveBundle({
|
|
594
568
|
entry: options.entry,
|
|
595
569
|
checksEnabled: options.checksEnabled,
|
|
596
570
|
configPaths: options.configPaths,
|
|
597
|
-
verifyVersions: options.verifyVersions
|
|
571
|
+
verifyVersions: options.verifyVersions,
|
|
572
|
+
skipOpenBrowser: options.skipOpenBrowser,
|
|
573
|
+
moduleFederation: moduleFederation.getModuleFederationOptions(
|
|
574
|
+
name,
|
|
575
|
+
options.isModuleFederationRemote
|
|
576
|
+
)
|
|
598
577
|
});
|
|
599
578
|
await waitForExit();
|
|
600
579
|
}
|
|
@@ -625,6 +604,13 @@ async function command(opts) {
|
|
|
625
604
|
case "frontend-plugin":
|
|
626
605
|
case "frontend-plugin-module":
|
|
627
606
|
return startFrontend({ entry: "dev/index", ...options });
|
|
607
|
+
case "frontend-dynamic-container":
|
|
608
|
+
return startFrontend({
|
|
609
|
+
entry: "src/index",
|
|
610
|
+
...options,
|
|
611
|
+
skipOpenBrowser: true,
|
|
612
|
+
isModuleFederationRemote: true
|
|
613
|
+
});
|
|
628
614
|
default:
|
|
629
615
|
throw new Error(
|
|
630
616
|
`Start command is not supported for package role '${role$1}'`
|
|
@@ -633,4 +619,4 @@ async function command(opts) {
|
|
|
633
619
|
}
|
|
634
620
|
|
|
635
621
|
exports.command = command;
|
|
636
|
-
//# sourceMappingURL=index-
|
|
622
|
+
//# sourceMappingURL=index-Bu7Vqly9.cjs.js.map
|
|
@@ -4,7 +4,7 @@ var fs = require('fs-extra');
|
|
|
4
4
|
var chalk = require('chalk');
|
|
5
5
|
var yaml = require('yaml');
|
|
6
6
|
var inquirer = require('inquirer');
|
|
7
|
-
var index$1 = require('./index-
|
|
7
|
+
var index$1 = require('./index-BAcLy7dK.cjs.js');
|
|
8
8
|
var crypto = require('crypto');
|
|
9
9
|
var openBrowser = require('react-dev-utils/openBrowser');
|
|
10
10
|
var request = require('@octokit/request');
|
|
@@ -224,4 +224,4 @@ async function verifyGithubOrg(org) {
|
|
|
224
224
|
}
|
|
225
225
|
|
|
226
226
|
exports.default = index;
|
|
227
|
-
//# sourceMappingURL=index-
|
|
227
|
+
//# sourceMappingURL=index-F8W-9gIc.cjs.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-BAcLy7dK.cjs.js');
|
|
4
4
|
var os = require('os');
|
|
5
|
-
var run = require('./run-
|
|
6
|
-
var Lockfile = require('./Lockfile-
|
|
5
|
+
var run = require('./run-CPcG7YxR.cjs.js');
|
|
6
|
+
var Lockfile = require('./Lockfile-B4mqBkH6.cjs.js');
|
|
7
7
|
require('minimatch');
|
|
8
8
|
require('@manypkg/get-packages');
|
|
9
9
|
require('chalk');
|
|
@@ -57,4 +57,4 @@ var info = async () => {
|
|
|
57
57
|
};
|
|
58
58
|
|
|
59
59
|
exports.default = info;
|
|
60
|
-
//# sourceMappingURL=info-
|
|
60
|
+
//# sourceMappingURL=info-D_IhL0i0.cjs.js.map
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var fs = require('fs-extra');
|
|
4
|
-
require('semver');
|
|
5
4
|
require('@yarnpkg/parsers');
|
|
6
5
|
require('@yarnpkg/lockfile');
|
|
7
|
-
var packages = require('./packages-
|
|
8
|
-
var index = require('./index-
|
|
6
|
+
var packages = require('./packages-DPPEGYIi.cjs.js');
|
|
7
|
+
var index = require('./index-BAcLy7dK.cjs.js');
|
|
9
8
|
var chalk = require('chalk');
|
|
10
9
|
var sortBy = require('lodash/sortBy');
|
|
11
10
|
var groupBy = require('lodash/groupBy');
|
|
12
|
-
var run = require('./run-
|
|
11
|
+
var run = require('./run-CPcG7YxR.cjs.js');
|
|
13
12
|
require('minimatch');
|
|
14
13
|
require('@manypkg/get-packages');
|
|
15
14
|
require('./yarn-Ukl9MOS0.cjs.js');
|
|
@@ -17,6 +16,7 @@ require('@backstage/errors');
|
|
|
17
16
|
require('child_process');
|
|
18
17
|
require('util');
|
|
19
18
|
require('commander');
|
|
19
|
+
require('semver');
|
|
20
20
|
require('@backstage/cli-common');
|
|
21
21
|
|
|
22
22
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
@@ -265,4 +265,4 @@ var install = async (pluginId, cmd) => {
|
|
|
265
265
|
};
|
|
266
266
|
|
|
267
267
|
exports.default = install;
|
|
268
|
-
//# sourceMappingURL=install-
|
|
268
|
+
//# sourceMappingURL=install-DGaf_UuL.cjs.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-BAcLy7dK.cjs.js');
|
|
4
4
|
var eslint = require('eslint');
|
|
5
5
|
require('commander');
|
|
6
6
|
require('chalk');
|
|
@@ -33,4 +33,4 @@ var lint = async (directories, opts) => {
|
|
|
33
33
|
};
|
|
34
34
|
|
|
35
35
|
exports.default = lint;
|
|
36
|
-
//# sourceMappingURL=lint-
|
|
36
|
+
//# sourceMappingURL=lint-CRqMLZJ5.cjs.js.map
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var chalk = require('chalk');
|
|
4
4
|
var path = require('path');
|
|
5
5
|
var cliNode = require('@backstage/cli-node');
|
|
6
|
-
var index = require('./index-
|
|
6
|
+
var index = require('./index-BAcLy7dK.cjs.js');
|
|
7
7
|
var parallel = require('./parallel-BszNaKyc.cjs.js');
|
|
8
8
|
require('commander');
|
|
9
9
|
require('fs-extra');
|
|
@@ -88,4 +88,4 @@ async function command(opts) {
|
|
|
88
88
|
}
|
|
89
89
|
|
|
90
90
|
exports.command = command;
|
|
91
|
-
//# sourceMappingURL=lint-
|
|
91
|
+
//# sourceMappingURL=lint-EJvdRB7_.cjs.js.map
|
|
@@ -4,7 +4,7 @@ var chalk = require('chalk');
|
|
|
4
4
|
var eslint = require('eslint');
|
|
5
5
|
var path = require('path');
|
|
6
6
|
var cliNode = require('@backstage/cli-node');
|
|
7
|
-
var index = require('./index-
|
|
7
|
+
var index = require('./index-BAcLy7dK.cjs.js');
|
|
8
8
|
require('commander');
|
|
9
9
|
require('fs-extra');
|
|
10
10
|
require('semver');
|
|
@@ -76,4 +76,4 @@ async function command(opts) {
|
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
exports.command = command;
|
|
79
|
-
//# sourceMappingURL=list-deprecations-
|
|
79
|
+
//# sourceMappingURL=list-deprecations-COfvNjrB.cjs.js.map
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var path = require('path');
|
|
4
|
+
var chalk = require('chalk');
|
|
4
5
|
var webpack = require('webpack');
|
|
5
6
|
var ESLintPlugin = require('eslint-webpack-plugin');
|
|
6
7
|
var ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
|
|
@@ -9,16 +10,16 @@ var webpack$1 = require('@module-federation/enhanced/webpack');
|
|
|
9
10
|
var cliCommon = require('@backstage/cli-common');
|
|
10
11
|
var ModuleScopePlugin = require('react-dev-utils/ModuleScopePlugin');
|
|
11
12
|
var runScriptWebpackPlugin = require('run-script-webpack-plugin');
|
|
12
|
-
var
|
|
13
|
+
var ReactRefreshPlugin = require('@pmmmwh/react-refresh-webpack-plugin');
|
|
14
|
+
var index = require('./index-BAcLy7dK.cjs.js');
|
|
13
15
|
var fs = require('fs-extra');
|
|
14
16
|
var getPackages = require('@manypkg/get-packages');
|
|
15
17
|
var nodeExternals = require('webpack-node-externals');
|
|
16
18
|
var pickBy = require('lodash/pickBy');
|
|
17
19
|
var entryPoints = require('./entryPoints-CoHH4lBA.cjs.js');
|
|
18
|
-
var run = require('./run-
|
|
20
|
+
var run = require('./run-CPcG7YxR.cjs.js');
|
|
19
21
|
var MiniCssExtractPlugin = require('mini-css-extract-plugin');
|
|
20
22
|
var svgrTemplate = require('./svgrTemplate-BTjBQ3by.cjs.js');
|
|
21
|
-
var ReactRefreshPlugin = require('@pmmmwh/react-refresh-webpack-plugin');
|
|
22
23
|
var yn = require('yn');
|
|
23
24
|
var config = require('@backstage/config');
|
|
24
25
|
var chokidar = require('chokidar');
|
|
@@ -26,16 +27,17 @@ var PQueue = require('p-queue');
|
|
|
26
27
|
|
|
27
28
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
28
29
|
|
|
30
|
+
var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
|
|
29
31
|
var webpack__default = /*#__PURE__*/_interopDefaultCompat(webpack);
|
|
30
32
|
var ESLintPlugin__default = /*#__PURE__*/_interopDefaultCompat(ESLintPlugin);
|
|
31
33
|
var ForkTsCheckerWebpackPlugin__default = /*#__PURE__*/_interopDefaultCompat(ForkTsCheckerWebpackPlugin);
|
|
32
34
|
var HtmlWebpackPlugin__default = /*#__PURE__*/_interopDefaultCompat(HtmlWebpackPlugin);
|
|
33
35
|
var ModuleScopePlugin__default = /*#__PURE__*/_interopDefaultCompat(ModuleScopePlugin);
|
|
36
|
+
var ReactRefreshPlugin__default = /*#__PURE__*/_interopDefaultCompat(ReactRefreshPlugin);
|
|
34
37
|
var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
|
|
35
38
|
var nodeExternals__default = /*#__PURE__*/_interopDefaultCompat(nodeExternals);
|
|
36
39
|
var pickBy__default = /*#__PURE__*/_interopDefaultCompat(pickBy);
|
|
37
40
|
var MiniCssExtractPlugin__default = /*#__PURE__*/_interopDefaultCompat(MiniCssExtractPlugin);
|
|
38
|
-
var ReactRefreshPlugin__default = /*#__PURE__*/_interopDefaultCompat(ReactRefreshPlugin);
|
|
39
41
|
var yn__default = /*#__PURE__*/_interopDefaultCompat(yn);
|
|
40
42
|
var chokidar__default = /*#__PURE__*/_interopDefaultCompat(chokidar);
|
|
41
43
|
var PQueue__default = /*#__PURE__*/_interopDefaultCompat(PQueue);
|
|
@@ -87,13 +89,13 @@ const optimization = (options) => {
|
|
|
87
89
|
minimize: !isDev,
|
|
88
90
|
minimizer: [
|
|
89
91
|
new EsbuildPlugin({
|
|
90
|
-
target: "
|
|
92
|
+
target: "ES2022",
|
|
91
93
|
format: "iife",
|
|
92
94
|
exclude: "remoteEntry.js"
|
|
93
95
|
}),
|
|
94
96
|
// Avoid iife wrapping of module federation remote entry as it breaks the variable assignment
|
|
95
97
|
new EsbuildPlugin({
|
|
96
|
-
target: "
|
|
98
|
+
target: "ES2022",
|
|
97
99
|
format: void 0,
|
|
98
100
|
include: "remoteEntry.js"
|
|
99
101
|
})
|
|
@@ -159,7 +161,7 @@ const transforms = (options) => {
|
|
|
159
161
|
loader: require.resolve("swc-loader"),
|
|
160
162
|
options: {
|
|
161
163
|
jsc: {
|
|
162
|
-
target: "
|
|
164
|
+
target: "ES2022",
|
|
163
165
|
externalHelpers: !isBackend,
|
|
164
166
|
parser: {
|
|
165
167
|
syntax: "typescript",
|
|
@@ -185,7 +187,7 @@ const transforms = (options) => {
|
|
|
185
187
|
loader: require.resolve("swc-loader"),
|
|
186
188
|
options: {
|
|
187
189
|
jsc: {
|
|
188
|
-
target: "
|
|
190
|
+
target: "ES2022",
|
|
189
191
|
externalHelpers: !isBackend,
|
|
190
192
|
parser: {
|
|
191
193
|
syntax: "ecmascript",
|
|
@@ -216,7 +218,7 @@ const transforms = (options) => {
|
|
|
216
218
|
loader: require.resolve("swc-loader"),
|
|
217
219
|
options: {
|
|
218
220
|
jsc: {
|
|
219
|
-
target: "
|
|
221
|
+
target: "es2022",
|
|
220
222
|
externalHelpers: !isBackend,
|
|
221
223
|
parser: {
|
|
222
224
|
syntax: "ecmascript",
|
|
@@ -286,15 +288,7 @@ const transforms = (options) => {
|
|
|
286
288
|
}
|
|
287
289
|
];
|
|
288
290
|
const plugins = new Array();
|
|
289
|
-
if (isDev) {
|
|
290
|
-
if (!isBackend) {
|
|
291
|
-
plugins.push(
|
|
292
|
-
new ReactRefreshPlugin__default.default({
|
|
293
|
-
overlay: { sockProtocol: "ws" }
|
|
294
|
-
})
|
|
295
|
-
);
|
|
296
|
-
}
|
|
297
|
-
} else {
|
|
291
|
+
if (!isDev) {
|
|
298
292
|
plugins.push(
|
|
299
293
|
new MiniCssExtractPlugin__default.default({
|
|
300
294
|
filename: "static/[name].[contenthash:8].css",
|
|
@@ -317,14 +311,22 @@ function hasReactDomClient() {
|
|
|
317
311
|
}
|
|
318
312
|
|
|
319
313
|
const BUILD_CACHE_ENV_VAR = "BACKSTAGE_CLI_EXPERIMENTAL_BUILD_CACHE";
|
|
320
|
-
function resolveBaseUrl(config) {
|
|
314
|
+
function resolveBaseUrl(config, moduleFederation) {
|
|
321
315
|
const baseUrl = config.getOptionalString("app.baseUrl");
|
|
316
|
+
const defaultBaseUrl = moduleFederation?.mode === "remote" ? `http://localhost:${process.env.PORT ?? "3000"}` : "http://localhost:3000";
|
|
322
317
|
try {
|
|
323
|
-
return new URL(baseUrl ?? "/",
|
|
318
|
+
return new URL(baseUrl ?? "/", defaultBaseUrl);
|
|
324
319
|
} catch (error) {
|
|
325
320
|
throw new Error(`Invalid app.baseUrl, ${error}`);
|
|
326
321
|
}
|
|
327
322
|
}
|
|
323
|
+
function resolveEndpoint(config, moduleFederation) {
|
|
324
|
+
const url = resolveBaseUrl(config, moduleFederation);
|
|
325
|
+
return {
|
|
326
|
+
host: config.getOptionalString("app.listen.host") ?? url.hostname,
|
|
327
|
+
port: config.getOptionalNumber("app.listen.port") ?? Number(url.port) ?? (url.protocol === "https:" ? 443 : 80)
|
|
328
|
+
};
|
|
329
|
+
}
|
|
328
330
|
async function readBuildInfo() {
|
|
329
331
|
const timestamp = Date.now();
|
|
330
332
|
let commit;
|
|
@@ -354,15 +356,36 @@ async function readBuildInfo() {
|
|
|
354
356
|
};
|
|
355
357
|
}
|
|
356
358
|
async function createConfig(paths, options) {
|
|
357
|
-
const {
|
|
359
|
+
const {
|
|
360
|
+
checksEnabled,
|
|
361
|
+
isDev,
|
|
362
|
+
frontendConfig,
|
|
363
|
+
moduleFederation,
|
|
364
|
+
publicSubPath = ""
|
|
365
|
+
} = options;
|
|
358
366
|
const { plugins, loaders } = transforms(options);
|
|
359
367
|
const { packages } = await getPackages.getPackages(index.paths.targetDir);
|
|
360
368
|
const externalPkgs = packages.filter((p) => !cliCommon.isChildPath(paths.root, p.dir));
|
|
361
|
-
const validBaseUrl = resolveBaseUrl(frontendConfig);
|
|
369
|
+
const validBaseUrl = resolveBaseUrl(frontendConfig, moduleFederation);
|
|
362
370
|
let publicPath = validBaseUrl.pathname.replace(/\/$/, "");
|
|
363
371
|
if (publicSubPath) {
|
|
364
372
|
publicPath = `${publicPath}${publicSubPath}`.replace("//", "/");
|
|
365
373
|
}
|
|
374
|
+
if (isDev) {
|
|
375
|
+
const { host, port } = resolveEndpoint(
|
|
376
|
+
options.frontendConfig,
|
|
377
|
+
options.moduleFederation
|
|
378
|
+
);
|
|
379
|
+
plugins.push(
|
|
380
|
+
new ReactRefreshPlugin__default.default({
|
|
381
|
+
overlay: {
|
|
382
|
+
sockProtocol: "ws",
|
|
383
|
+
sockHost: host,
|
|
384
|
+
sockPort: port
|
|
385
|
+
}
|
|
386
|
+
})
|
|
387
|
+
);
|
|
388
|
+
}
|
|
366
389
|
if (checksEnabled) {
|
|
367
390
|
plugins.push(
|
|
368
391
|
new ForkTsCheckerWebpackPlugin__default.default({
|
|
@@ -475,11 +498,37 @@ async function createConfig(paths, options) {
|
|
|
475
498
|
require.resolve("@pmmmwh/react-refresh-webpack-plugin/overlay/index.js"),
|
|
476
499
|
require.resolve("react-refresh")
|
|
477
500
|
];
|
|
501
|
+
const mode = isDev ? "development" : "production";
|
|
502
|
+
const optimization$1 = optimization(options);
|
|
503
|
+
if (mode === "production" && process.env.EXPERIMENTAL_MODULE_FEDERATION && process.env.FORCE_REACT_DEVELOPMENT) {
|
|
504
|
+
console.log(
|
|
505
|
+
chalk__default.default.yellow(
|
|
506
|
+
`\u26A0\uFE0F WARNING: Forcing react and react-dom into development mode. This build should not be used in production.`
|
|
507
|
+
)
|
|
508
|
+
);
|
|
509
|
+
const reactPackageDirs = [
|
|
510
|
+
`${path.dirname(require.resolve("react/package.json"))}/`,
|
|
511
|
+
`${path.dirname(require.resolve("react-dom/package.json"))}/`
|
|
512
|
+
];
|
|
513
|
+
optimization$1.nodeEnv = false;
|
|
514
|
+
plugins.push(
|
|
515
|
+
new webpack__default.default.DefinePlugin({
|
|
516
|
+
"process.env.NODE_ENV": webpack__default.default.DefinePlugin.runtimeValue(
|
|
517
|
+
({ module }) => {
|
|
518
|
+
if (reactPackageDirs.some((val) => module.resource.startsWith(val))) {
|
|
519
|
+
return '"development"';
|
|
520
|
+
}
|
|
521
|
+
return `"${mode}"`;
|
|
522
|
+
}
|
|
523
|
+
)
|
|
524
|
+
})
|
|
525
|
+
);
|
|
526
|
+
}
|
|
478
527
|
const withCache = yn__default.default(process.env[BUILD_CACHE_ENV_VAR], { default: false });
|
|
479
528
|
return {
|
|
480
|
-
mode
|
|
529
|
+
mode,
|
|
481
530
|
profile: false,
|
|
482
|
-
optimization: optimization
|
|
531
|
+
optimization: optimization$1,
|
|
483
532
|
bail: false,
|
|
484
533
|
performance: {
|
|
485
534
|
hints: false
|
|
@@ -809,11 +858,31 @@ async function createDetectedModulesEntryPoint(options) {
|
|
|
809
858
|
return [DETECTED_MODULES_MODULE_NAME];
|
|
810
859
|
}
|
|
811
860
|
|
|
861
|
+
function getModuleFederationOptions(name, isModuleFederationRemote) {
|
|
862
|
+
if (!isModuleFederationRemote && !process.env.EXPERIMENTAL_MODULE_FEDERATION) {
|
|
863
|
+
return void 0;
|
|
864
|
+
}
|
|
865
|
+
console.log(
|
|
866
|
+
chalk__default.default.yellow(
|
|
867
|
+
`\u26A0\uFE0F WARNING: Module federation is experimental and will receive immediate breaking changes in the future.`
|
|
868
|
+
)
|
|
869
|
+
);
|
|
870
|
+
return {
|
|
871
|
+
mode: isModuleFederationRemote ? "remote" : "host",
|
|
872
|
+
// The default output mode requires the name to be a usable as a code
|
|
873
|
+
// symbol, there might be better options here but for now we need to
|
|
874
|
+
// sanitize the name.
|
|
875
|
+
name: name.replaceAll("@", "").replaceAll("/", "__").replaceAll("-", "_")
|
|
876
|
+
};
|
|
877
|
+
}
|
|
878
|
+
|
|
812
879
|
exports.createBackendConfig = createBackendConfig;
|
|
813
880
|
exports.createConfig = createConfig;
|
|
814
881
|
exports.createDetectedModulesEntryPoint = createDetectedModulesEntryPoint;
|
|
882
|
+
exports.getModuleFederationOptions = getModuleFederationOptions;
|
|
815
883
|
exports.hasReactDomClient = hasReactDomClient;
|
|
816
884
|
exports.resolveBaseUrl = resolveBaseUrl;
|
|
817
885
|
exports.resolveBundlingPaths = resolveBundlingPaths;
|
|
886
|
+
exports.resolveEndpoint = resolveEndpoint;
|
|
818
887
|
exports.resolveOptionalBundlingPaths = resolveOptionalBundlingPaths;
|
|
819
|
-
//# sourceMappingURL=
|
|
888
|
+
//# sourceMappingURL=moduleFederation-CQZbFAit.cjs.js.map
|
|
@@ -7,14 +7,14 @@ 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-
|
|
11
|
-
var codeowners = require('./codeowners-
|
|
12
|
-
var tasks = require('./tasks-
|
|
13
|
-
var Lockfile = require('./Lockfile-
|
|
10
|
+
var index = require('./index-BAcLy7dK.cjs.js');
|
|
11
|
+
var codeowners = require('./codeowners-0MT7UP_S.cjs.js');
|
|
12
|
+
var tasks = require('./tasks-4L8FqWEM.cjs.js');
|
|
13
|
+
var Lockfile = require('./Lockfile-B4mqBkH6.cjs.js');
|
|
14
14
|
require('minimatch');
|
|
15
15
|
require('@manypkg/get-packages');
|
|
16
16
|
require('./yarn-Ukl9MOS0.cjs.js');
|
|
17
|
-
require('./run-
|
|
17
|
+
require('./run-CPcG7YxR.cjs.js');
|
|
18
18
|
var partition = require('lodash/partition');
|
|
19
19
|
var cliNode = require('@backstage/cli-node');
|
|
20
20
|
var errors = require('@backstage/errors');
|
|
@@ -775,4 +775,4 @@ var _new = async (opts) => {
|
|
|
775
775
|
};
|
|
776
776
|
|
|
777
777
|
exports.default = _new;
|
|
778
|
-
//# sourceMappingURL=new-
|
|
778
|
+
//# sourceMappingURL=new-DB_oe66E.cjs.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var productionPack = require('./productionPack-BWU8WkGs.cjs.js');
|
|
4
|
-
var index = require('./index-
|
|
4
|
+
var index = require('./index-BAcLy7dK.cjs.js');
|
|
5
5
|
var fs = require('fs-extra');
|
|
6
6
|
var publishing = require('./publishing-DQtsKTbc.cjs.js');
|
|
7
7
|
require('npm-packlist');
|
|
@@ -30,4 +30,4 @@ const post = async () => {
|
|
|
30
30
|
|
|
31
31
|
exports.post = post;
|
|
32
32
|
exports.pre = pre;
|
|
33
|
-
//# sourceMappingURL=pack-
|
|
33
|
+
//# sourceMappingURL=pack-BcxxlYor.cjs.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var fix = require('./fix-
|
|
3
|
+
var fix = require('./fix-C7T4cvOB.cjs.js');
|
|
4
4
|
require('@backstage/cli-node');
|
|
5
5
|
require('fs-extra');
|
|
6
6
|
require('path');
|
|
7
|
-
require('./index-
|
|
7
|
+
require('./index-BAcLy7dK.cjs.js');
|
|
8
8
|
require('commander');
|
|
9
9
|
require('chalk');
|
|
10
10
|
require('semver');
|
|
@@ -24,4 +24,4 @@ async function command() {
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
exports.command = command;
|
|
27
|
-
//# sourceMappingURL=packageExports-
|
|
27
|
+
//# sourceMappingURL=packageExports-FpoAU1Be.cjs.js.map
|