@backstage/cli 0.26.10 → 0.26.11

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 (46) hide show
  1. package/CHANGELOG.md +31 -11
  2. package/dist/cjs/{Lockfile-D4_-Zt1R.cjs.js → Lockfile-BndFvzHc.cjs.js} +2 -3
  3. package/dist/cjs/{build-DqNJQwfi.cjs.js → build-DwlXzIpR.cjs.js} +8 -7
  4. package/dist/cjs/{buildBackend-CkHhmGwT.cjs.js → buildBackend-CrncxAY5.cjs.js} +52 -25
  5. package/dist/cjs/{buildWorkspace-B1RWQ6ul.cjs.js → buildWorkspace-D95Cv1QN.cjs.js} +4 -4
  6. package/dist/cjs/{bump-BRR_ZbPz.cjs.js → bump-b90k9Vrg.cjs.js} +17 -7
  7. package/dist/cjs/{clean-qeGg_VNa.cjs.js → clean-Bev614vS.cjs.js} +2 -2
  8. package/dist/cjs/{clean-CybCwTFp.cjs.js → clean-Cn9pRgoI.cjs.js} +2 -2
  9. package/dist/cjs/{codeowners-q_-vuPB4.cjs.js → codeowners-C_BzEYI6.cjs.js} +2 -2
  10. package/dist/cjs/{config-BA9NjlNo.cjs.js → config-EizsMYjy.cjs.js} +2 -2
  11. package/dist/cjs/{createDistWorkspace-w22TJUGQ.cjs.js → createDistWorkspace-CqCdLqOV.cjs.js} +3 -3
  12. package/dist/cjs/{createPlugin-w7MRnJOY.cjs.js → createPlugin-Dp_zJ1vU.cjs.js} +6 -6
  13. package/dist/cjs/{diff-BnJFJCFB.cjs.js → diff-SflPPir6.cjs.js} +3 -4
  14. package/dist/cjs/{docs-DQK3ZBEi.cjs.js → docs-B0MlNQaZ.cjs.js} +3 -3
  15. package/dist/cjs/{fix-Dkwr9aZE.cjs.js → fix-BoMIpogO.cjs.js} +2 -2
  16. package/dist/cjs/{index-Di-MwpF9.cjs.js → index-7vT98W4X.cjs.js} +49 -48
  17. package/dist/cjs/{index-B_4K0VX8.cjs.js → index-D6bTzT6C.cjs.js} +27 -9
  18. package/dist/cjs/{index-DujFSXx0.cjs.js → index-Do6EL2Yb.cjs.js} +6 -6
  19. package/dist/cjs/{index-Dvmq0_2_.cjs.js → index-JoytU5ZM.cjs.js} +2 -2
  20. package/dist/cjs/{index-B4l9SpsU.cjs.js → index-nl4fBJN1.cjs.js} +10 -10
  21. package/dist/cjs/{info-C0KjF2xZ.cjs.js → info-BRPLyhql.cjs.js} +4 -4
  22. package/dist/cjs/{install-B3ALW-AM.cjs.js → install-DBTY3GMv.cjs.js} +4 -4
  23. package/dist/cjs/{lint-DNX7ESQN.cjs.js → lint-6Ua9puez.cjs.js} +2 -2
  24. package/dist/cjs/{lint-CxLN2GhV.cjs.js → lint-CCzUmZcU.cjs.js} +4 -4
  25. package/dist/cjs/{lint-BEWL3EAz.cjs.js → lint-DmKqylEy.cjs.js} +2 -2
  26. package/dist/cjs/{list-deprecations-Bu6Aq1mk.cjs.js → list-deprecations-DNYfBnHZ.cjs.js} +2 -2
  27. package/dist/cjs/{new-DuNERJHc.cjs.js → new-WebKpNSz.cjs.js} +13 -7
  28. package/dist/cjs/{pack-B06J9pbM.cjs.js → pack-5if7U6_6.cjs.js} +2 -2
  29. package/dist/cjs/{packageDetection-DY8cx_zp.cjs.js → packageDetection-DlDcN5Ll.cjs.js} +89 -17
  30. package/dist/cjs/{packageExports-J3R27iwo.cjs.js → packageExports-Ddqkury2.cjs.js} +3 -3
  31. package/dist/cjs/{packageLintConfigs-CQk51IBo.cjs.js → packageLintConfigs-CrhcoEVX.cjs.js} +3 -3
  32. package/dist/cjs/{packageRole-CM3b9V4k.cjs.js → packageRole-CBF_rIK0.cjs.js} +2 -2
  33. package/dist/cjs/{packages-BmLKTXhU.cjs.js → packages-RRALGdRj.cjs.js} +3 -3
  34. package/dist/cjs/{print-B-qgWBYo.cjs.js → print-Caq1MMDY.cjs.js} +3 -3
  35. package/dist/cjs/{role-vsNdpTM1.cjs.js → role-DNHddFRX.cjs.js} +2 -2
  36. package/dist/cjs/{run-BnDCE_CR.cjs.js → run-Dyr28990.cjs.js} +2 -2
  37. package/dist/cjs/{schema-Nt4oH35S.cjs.js → schema-CXKpYRvf.cjs.js} +3 -3
  38. package/dist/cjs/{tasks-Dy-6nV0-.cjs.js → tasks-CMO3PrbZ.cjs.js} +27 -1
  39. package/dist/cjs/{test-DToaecWe.cjs.js → test-CTXtMelk.cjs.js} +3 -3
  40. package/dist/cjs/{test-C3R8Wqn8.cjs.js → test-CyF0ge7_.cjs.js} +3 -3
  41. package/dist/cjs/{validate-Cu6nnpSp.cjs.js → validate-CPunUthn.cjs.js} +3 -3
  42. package/dist/index.cjs.js +1 -1
  43. package/package.json +12 -11
  44. package/templates/default-backend-plugin/README.md.hbs +1 -1
  45. package/templates/default-backend-plugin/package.json.hbs +3 -5
  46. package/templates/default-plugin/src/components/ExampleComponent/ExampleComponent.test.tsx.hbs +2 -2
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var productionPack = require('./productionPack-BWU8WkGs.cjs.js');
4
- var index = require('./index-Di-MwpF9.cjs.js');
4
+ var index = require('./index-7vT98W4X.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-B06J9pbM.cjs.js.map
33
+ //# sourceMappingURL=pack-5if7U6_6.cjs.js.map
@@ -5,16 +5,17 @@ var webpack = require('webpack');
5
5
  var ESLintPlugin = require('eslint-webpack-plugin');
6
6
  var ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
7
7
  var HtmlWebpackPlugin = require('html-webpack-plugin');
8
+ var webpack$1 = require('@module-federation/enhanced/webpack');
8
9
  var cliCommon = require('@backstage/cli-common');
9
10
  var ModuleScopePlugin = require('react-dev-utils/ModuleScopePlugin');
10
11
  var runScriptWebpackPlugin = require('run-script-webpack-plugin');
11
- var index = require('./index-Di-MwpF9.cjs.js');
12
+ var index = require('./index-7vT98W4X.cjs.js');
12
13
  var fs = require('fs-extra');
13
14
  var getPackages = require('@manypkg/get-packages');
14
15
  var nodeExternals = require('webpack-node-externals');
15
16
  var pickBy = require('lodash/pickBy');
16
17
  var entryPoints = require('./entryPoints-CoHH4lBA.cjs.js');
17
- var run = require('./run-BnDCE_CR.cjs.js');
18
+ var run = require('./run-Dyr28990.cjs.js');
18
19
  var MiniCssExtractPlugin = require('mini-css-extract-plugin');
19
20
  var svgrTemplate = require('./svgrTemplate-BTjBQ3by.cjs.js');
20
21
  var ReactRefreshPlugin = require('@pmmmwh/react-refresh-webpack-plugin');
@@ -87,7 +88,14 @@ const optimization = (options) => {
87
88
  minimizer: [
88
89
  new EsbuildPlugin({
89
90
  target: "es2019",
90
- format: "iife"
91
+ format: "iife",
92
+ exclude: "remoteEntry.js"
93
+ }),
94
+ // Avoid iife wrapping of module federation remote entry as it breaks the variable assignment
95
+ new EsbuildPlugin({
96
+ target: "es2019",
97
+ format: void 0,
98
+ include: "remoteEntry.js"
91
99
  })
92
100
  ],
93
101
  runtimeChunk: "single",
@@ -372,18 +380,81 @@ async function createConfig(paths, options) {
372
380
  Buffer: ["buffer", "Buffer"]
373
381
  })
374
382
  );
375
- plugins.push(
376
- new HtmlWebpackPlugin__default.default({
377
- meta: {
378
- "backstage-app-mode": options?.appMode ?? "public"
379
- },
380
- template: paths.targetHtml,
381
- templateParameters: {
382
- publicPath,
383
- config: frontendConfig
384
- }
385
- })
386
- );
383
+ if (options.moduleFederation?.mode !== "remote") {
384
+ plugins.push(
385
+ new HtmlWebpackPlugin__default.default({
386
+ meta: {
387
+ "backstage-app-mode": options?.appMode ?? "public"
388
+ },
389
+ template: paths.targetHtml,
390
+ templateParameters: {
391
+ publicPath,
392
+ config: frontendConfig
393
+ }
394
+ })
395
+ );
396
+ }
397
+ if (options.moduleFederation) {
398
+ const isRemote = options.moduleFederation?.mode === "remote";
399
+ plugins.push(
400
+ new webpack$1.ModuleFederationPlugin({
401
+ ...isRemote && {
402
+ filename: "remoteEntry.js",
403
+ exposes: {
404
+ ".": paths.targetEntry
405
+ }
406
+ },
407
+ name: options.moduleFederation.name,
408
+ runtime: false,
409
+ shared: {
410
+ // React
411
+ react: {
412
+ singleton: true,
413
+ requiredVersion: "*",
414
+ eager: !isRemote
415
+ },
416
+ "react-dom": {
417
+ singleton: true,
418
+ requiredVersion: "*",
419
+ eager: !isRemote
420
+ },
421
+ // React Router
422
+ "react-router": {
423
+ singleton: true,
424
+ requiredVersion: "*",
425
+ eager: !isRemote
426
+ },
427
+ "react-router-dom": {
428
+ singleton: true,
429
+ requiredVersion: "*",
430
+ eager: !isRemote
431
+ },
432
+ // MUI v4
433
+ "@material-ui/core/styles": {
434
+ singleton: true,
435
+ requiredVersion: "*",
436
+ eager: !isRemote
437
+ },
438
+ "@material-ui/styles": {
439
+ singleton: true,
440
+ requiredVersion: "*",
441
+ eager: !isRemote
442
+ },
443
+ // MUI v5
444
+ "@mui/material/styles/": {
445
+ singleton: true,
446
+ requiredVersion: "*",
447
+ eager: !isRemote
448
+ },
449
+ "@emotion/react": {
450
+ singleton: true,
451
+ requiredVersion: "*",
452
+ eager: !isRemote
453
+ }
454
+ }
455
+ })
456
+ );
457
+ }
387
458
  const buildInfo = await readBuildInfo();
388
459
  plugins.push(
389
460
  new webpack__default.default.DefinePlugin({
@@ -448,8 +519,9 @@ async function createConfig(paths, options) {
448
519
  rules: loaders
449
520
  },
450
521
  output: {
522
+ uniqueName: options.moduleFederation?.name,
451
523
  path: paths.targetDist,
452
- publicPath: `${publicPath}/`,
524
+ publicPath: options.moduleFederation?.mode === "remote" ? "auto" : `${publicPath}/`,
453
525
  filename: isDev ? "[name].js" : "static/[name].[fullhash:8].js",
454
526
  chunkFilename: isDev ? "[name].chunk.js" : "static/[name].[chunkhash:8].chunk.js",
455
527
  ...isDev ? {
@@ -744,4 +816,4 @@ exports.hasReactDomClient = hasReactDomClient;
744
816
  exports.resolveBaseUrl = resolveBaseUrl;
745
817
  exports.resolveBundlingPaths = resolveBundlingPaths;
746
818
  exports.resolveOptionalBundlingPaths = resolveOptionalBundlingPaths;
747
- //# sourceMappingURL=packageDetection-DY8cx_zp.cjs.js.map
819
+ //# sourceMappingURL=packageDetection-DlDcN5Ll.cjs.js.map
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var fix = require('./fix-Dkwr9aZE.cjs.js');
3
+ var fix = require('./fix-BoMIpogO.cjs.js');
4
4
  require('@backstage/cli-node');
5
5
  require('fs-extra');
6
6
  require('path');
7
- require('./index-Di-MwpF9.cjs.js');
7
+ require('./index-7vT98W4X.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-J3R27iwo.cjs.js.map
27
+ //# sourceMappingURL=packageExports-Ddqkury2.cjs.js.map
@@ -3,9 +3,9 @@
3
3
  var fs = require('fs-extra');
4
4
  var path = require('path');
5
5
  var cliNode = require('@backstage/cli-node');
6
- var run = require('./run-BnDCE_CR.cjs.js');
6
+ var run = require('./run-Dyr28990.cjs.js');
7
7
  require('child_process');
8
- require('./index-Di-MwpF9.cjs.js');
8
+ require('./index-7vT98W4X.cjs.js');
9
9
  require('commander');
10
10
  require('chalk');
11
11
  require('semver');
@@ -78,4 +78,4 @@ async function command() {
78
78
  }
79
79
 
80
80
  exports.command = command;
81
- //# sourceMappingURL=packageLintConfigs-CQk51IBo.cjs.js.map
81
+ //# sourceMappingURL=packageLintConfigs-CrhcoEVX.cjs.js.map
@@ -4,7 +4,7 @@ var fs = require('fs-extra');
4
4
  var path = require('path');
5
5
  var getPackages = require('@manypkg/get-packages');
6
6
  var cliNode = require('@backstage/cli-node');
7
- var index = require('./index-Di-MwpF9.cjs.js');
7
+ var index = require('./index-7vT98W4X.cjs.js');
8
8
  require('commander');
9
9
  require('chalk');
10
10
  require('semver');
@@ -55,4 +55,4 @@ var packageRole = async () => {
55
55
  };
56
56
 
57
57
  exports.default = packageRole;
58
- //# sourceMappingURL=packageRole-CM3b9V4k.cjs.js.map
58
+ //# sourceMappingURL=packageRole-CBF_rIK0.cjs.js.map
@@ -2,9 +2,9 @@
2
2
 
3
3
  var minimatch = require('minimatch');
4
4
  var getPackages = require('@manypkg/get-packages');
5
- var index = require('./index-Di-MwpF9.cjs.js');
5
+ var index = require('./index-7vT98W4X.cjs.js');
6
6
  var yarn = require('./yarn-Ukl9MOS0.cjs.js');
7
- var run = require('./run-BnDCE_CR.cjs.js');
7
+ var run = require('./run-Dyr28990.cjs.js');
8
8
 
9
9
  const DEP_TYPES = [
10
10
  "dependencies",
@@ -72,4 +72,4 @@ async function mapDependencies(targetDir, pattern) {
72
72
 
73
73
  exports.fetchPackageInfo = fetchPackageInfo;
74
74
  exports.mapDependencies = mapDependencies;
75
- //# sourceMappingURL=packages-BmLKTXhU.cjs.js.map
75
+ //# sourceMappingURL=packages-RRALGdRj.cjs.js.map
@@ -2,9 +2,9 @@
2
2
 
3
3
  var yaml = require('yaml');
4
4
  var config$1 = require('@backstage/config');
5
- var config = require('./config-BA9NjlNo.cjs.js');
5
+ var config = require('./config-EizsMYjy.cjs.js');
6
6
  require('@backstage/config-loader');
7
- require('./index-Di-MwpF9.cjs.js');
7
+ require('./index-7vT98W4X.cjs.js');
8
8
  require('commander');
9
9
  require('chalk');
10
10
  require('fs-extra');
@@ -58,4 +58,4 @@ function serializeConfigData(appConfigs, schema, visibility) {
58
58
  }
59
59
 
60
60
  exports.default = print;
61
- //# sourceMappingURL=print-B-qgWBYo.cjs.js.map
61
+ //# sourceMappingURL=print-Caq1MMDY.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-Di-MwpF9.cjs.js');
4
+ var index = require('./index-7vT98W4X.cjs.js');
5
5
  var cliNode = require('@backstage/cli-node');
6
6
 
7
7
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
@@ -21,4 +21,4 @@ async function findRoleFromCommand(opts) {
21
21
  }
22
22
 
23
23
  exports.findRoleFromCommand = findRoleFromCommand;
24
- //# sourceMappingURL=role-vsNdpTM1.cjs.js.map
24
+ //# sourceMappingURL=role-DNHddFRX.cjs.js.map
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var child_process = require('child_process');
4
- var index = require('./index-Di-MwpF9.cjs.js');
4
+ var index = require('./index-7vT98W4X.cjs.js');
5
5
  var util = require('util');
6
6
  var errors = require('@backstage/errors');
7
7
 
@@ -78,4 +78,4 @@ exports.execFile = execFile;
78
78
  exports.run = run;
79
79
  exports.runCheck = runCheck;
80
80
  exports.runPlain = runPlain;
81
- //# sourceMappingURL=run-BnDCE_CR.cjs.js.map
81
+ //# sourceMappingURL=run-Dyr28990.cjs.js.map
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  var yaml = require('yaml');
4
- var config = require('./config-BA9NjlNo.cjs.js');
4
+ var config = require('./config-EizsMYjy.cjs.js');
5
5
  var configLoader = require('@backstage/config-loader');
6
6
  require('@backstage/config');
7
- require('./index-Di-MwpF9.cjs.js');
7
+ require('./index-7vT98W4X.cjs.js');
8
8
  require('commander');
9
9
  require('chalk');
10
10
  require('fs-extra');
@@ -42,4 +42,4 @@ var schema = async (opts) => {
42
42
  };
43
43
 
44
44
  exports.default = schema;
45
- //# sourceMappingURL=schema-Nt4oH35S.cjs.js.map
45
+ //# sourceMappingURL=schema-CXKpYRvf.cjs.js.map
@@ -9,6 +9,7 @@ var path = require('path');
9
9
  var recursive = require('recursive-readdir');
10
10
  var child_process = require('child_process');
11
11
  var errors = require('@backstage/errors');
12
+ var index = require('./index-7vT98W4X.cjs.js');
12
13
 
13
14
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
14
15
 
@@ -155,8 +156,33 @@ async function addPackageDependency(path, options) {
155
156
  throw new Error(`Failed to add package dependencies, ${error}`);
156
157
  }
157
158
  }
159
+ async function addToBackend(name, options) {
160
+ if (await fs__default.default.pathExists(index.paths.resolveTargetRoot("packages/backend"))) {
161
+ await Task.forItem("backend", `adding ${options.type}`, async () => {
162
+ const backendFilePath = index.paths.resolveTargetRoot(
163
+ "packages/backend/src/index.ts"
164
+ );
165
+ if (!await fs__default.default.pathExists(backendFilePath)) {
166
+ return;
167
+ }
168
+ const content = await fs__default.default.readFile(backendFilePath, "utf8");
169
+ const lines = content.split("\n");
170
+ const backendAddLine = `backend.add(import('${name}'));`;
171
+ const backendStartIndex = lines.findIndex(
172
+ (line) => line.match(/backend.start/)
173
+ );
174
+ if (backendStartIndex !== -1) {
175
+ const [indentation] = lines[backendStartIndex].match(/^\s*/);
176
+ lines.splice(backendStartIndex, 0, `${indentation}${backendAddLine}`);
177
+ const newContent = lines.join("\n");
178
+ await fs__default.default.writeFile(backendFilePath, newContent, "utf8");
179
+ }
180
+ });
181
+ }
182
+ }
158
183
 
159
184
  exports.Task = Task;
160
185
  exports.addPackageDependency = addPackageDependency;
186
+ exports.addToBackend = addToBackend;
161
187
  exports.templatingTask = templatingTask;
162
- //# sourceMappingURL=tasks-Dy-6nV0-.cjs.js.map
188
+ //# sourceMappingURL=tasks-CMO3PrbZ.cjs.js.map
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Di-MwpF9.cjs.js');
4
- var run = require('./run-BnDCE_CR.cjs.js');
3
+ var index = require('./index-7vT98W4X.cjs.js');
4
+ var run = require('./run-Dyr28990.cjs.js');
5
5
  require('commander');
6
6
  require('chalk');
7
7
  require('fs-extra');
@@ -56,4 +56,4 @@ var test = async (_opts, cmd) => {
56
56
  };
57
57
 
58
58
  exports.default = test;
59
- //# sourceMappingURL=test-DToaecWe.cjs.js.map
59
+ //# sourceMappingURL=test-CTXtMelk.cjs.js.map
@@ -2,8 +2,8 @@
2
2
 
3
3
  var os = require('os');
4
4
  var cliNode = require('@backstage/cli-node');
5
- var index = require('./index-Di-MwpF9.cjs.js');
6
- var run = require('./run-BnDCE_CR.cjs.js');
5
+ var index = require('./index-7vT98W4X.cjs.js');
6
+ var run = require('./run-Dyr28990.cjs.js');
7
7
  require('commander');
8
8
  require('chalk');
9
9
  require('fs-extra');
@@ -123,4 +123,4 @@ async function command(opts, cmd) {
123
123
 
124
124
  exports.command = command;
125
125
  exports.createFlagFinder = createFlagFinder;
126
- //# sourceMappingURL=test-C3R8Wqn8.cjs.js.map
126
+ //# sourceMappingURL=test-CyF0ge7_.cjs.js.map
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var config = require('./config-BA9NjlNo.cjs.js');
3
+ var config = require('./config-EizsMYjy.cjs.js');
4
4
  require('@backstage/config-loader');
5
5
  require('@backstage/config');
6
- require('./index-Di-MwpF9.cjs.js');
6
+ require('./index-7vT98W4X.cjs.js');
7
7
  require('commander');
8
8
  require('chalk');
9
9
  require('fs-extra');
@@ -25,4 +25,4 @@ var validate = async (opts) => {
25
25
  };
26
26
 
27
27
  exports.default = validate;
28
- //# sourceMappingURL=validate-Cu6nnpSp.cjs.js.map
28
+ //# sourceMappingURL=validate-CPunUthn.cjs.js.map
package/dist/index.cjs.js CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('commander');
4
4
  require('chalk');
5
- require('./cjs/index-Di-MwpF9.cjs.js');
5
+ require('./cjs/index-7vT98W4X.cjs.js');
6
6
  require('fs-extra');
7
7
  require('semver');
8
8
  require('@backstage/cli-common');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@backstage/cli",
3
- "version": "0.26.10",
3
+ "version": "0.26.11",
4
4
  "description": "CLI for developing Backstage plugins and apps",
5
5
  "backstage": {
6
6
  "role": "cli"
@@ -44,15 +44,16 @@
44
44
  "dependencies": {
45
45
  "@backstage/catalog-model": "^1.5.0",
46
46
  "@backstage/cli-common": "^0.1.14",
47
- "@backstage/cli-node": "^0.2.6",
47
+ "@backstage/cli-node": "^0.2.7",
48
48
  "@backstage/config": "^1.2.0",
49
49
  "@backstage/config-loader": "^1.8.1",
50
50
  "@backstage/errors": "^1.2.4",
51
51
  "@backstage/eslint-plugin": "^0.1.8",
52
- "@backstage/integration": "^1.12.0",
52
+ "@backstage/integration": "^1.13.0",
53
53
  "@backstage/release-manifests": "^0.0.11",
54
54
  "@backstage/types": "^1.1.1",
55
55
  "@manypkg/get-packages": "^1.1.3",
56
+ "@module-federation/enhanced": "^0.1.19",
56
57
  "@octokit/graphql": "^5.0.0",
57
58
  "@octokit/graphql-schema": "^13.7.0",
58
59
  "@octokit/oauth-app": "^4.2.0",
@@ -90,7 +91,7 @@
90
91
  "css-loader": "^6.5.1",
91
92
  "ctrlc-windows": "^2.1.0",
92
93
  "diff": "^5.0.0",
93
- "esbuild": "^0.20.0",
94
+ "esbuild": "^0.21.0",
94
95
  "esbuild-loader": "^4.0.0",
95
96
  "eslint": "^8.6.0",
96
97
  "eslint-config-prettier": "^9.0.0",
@@ -155,15 +156,15 @@
155
156
  "zod": "^3.22.4"
156
157
  },
157
158
  "devDependencies": {
158
- "@backstage/backend-common": "^0.23.2",
159
- "@backstage/backend-plugin-api": "^0.6.21",
160
- "@backstage/backend-test-utils": "^0.4.3",
159
+ "@backstage/backend-common": "^0.23.3",
160
+ "@backstage/backend-plugin-api": "^0.7.0",
161
+ "@backstage/backend-test-utils": "^0.4.4",
161
162
  "@backstage/config": "^1.2.0",
162
- "@backstage/core-app-api": "^1.13.0",
163
- "@backstage/core-components": "^0.14.8",
163
+ "@backstage/core-app-api": "^1.14.0",
164
+ "@backstage/core-components": "^0.14.9",
164
165
  "@backstage/core-plugin-api": "^1.9.3",
165
- "@backstage/dev-utils": "^1.0.34",
166
- "@backstage/test-utils": "^1.5.7",
166
+ "@backstage/dev-utils": "^1.0.35",
167
+ "@backstage/test-utils": "^1.5.8",
167
168
  "@backstage/theme": "^0.5.6",
168
169
  "@types/cross-spawn": "^6.0.2",
169
170
  "@types/diff": "^5.0.0",
@@ -11,4 +11,4 @@ start` in the root directory, and then navigating to [/{{id}}/health](http://loc
11
11
 
12
12
  You can also serve the plugin in isolation by running `yarn start` in the plugin directory.
13
13
  This method of serving the plugin provides quicker iteration speed and a faster startup and hot reloads.
14
- It is only meant for local development, and the setup for it can be found inside the [/dev](/dev) directory.
14
+ It is only meant for local development, and the setup for it can be found inside the [/dev](./dev) directory.
@@ -32,21 +32,19 @@
32
32
  "@backstage/backend-defaults": "{{versionQuery '@backstage/backend-defaults'}}",
33
33
  "@backstage/backend-plugin-api": "{{versionQuery '@backstage/backend-plugin-api'}}",
34
34
  "@backstage/config": "{{versionQuery '@backstage/config'}}",
35
- "@types/express": "{{versionQuery '@types/express' '4.17.6'}}",
36
35
  "express": "{{versionQuery 'express' '4.17.1'}}",
37
36
  "express-promise-router": "{{versionQuery 'express-promise-router' '4.1.0'}}",
38
- "winston": "{{versionQuery 'winston' '3.2.1'}}",
39
- "node-fetch": "{{versionQuery 'node-fetch' '2.6.7'}}",
40
- "yn": "{{versionQuery 'yn' '4.0.0'}}"
37
+ "node-fetch": "{{versionQuery 'node-fetch' '2.6.7'}}"
41
38
  },
42
39
  "devDependencies": {
43
40
  "@backstage/backend-test-utils": "{{versionQuery '@backstage/backend-test-utils'}}",
44
41
  "@backstage/cli": "{{versionQuery '@backstage/cli'}}",
45
42
  "@backstage/plugin-auth-backend": "{{versionQuery '@backstage/plugin-auth-backend'}}",
46
43
  "@backstage/plugin-auth-backend-module-guest-provider": "{{versionQuery '@backstage/plugin-auth-backend-module-guest-provider'}}",
44
+ "@types/express": "{{versionQuery '@types/express' '4.17.6'}}",
47
45
  "@types/supertest": "{{versionQuery '@types/supertest' '2.0.12'}}",
48
46
  "supertest": "{{versionQuery 'supertest' '6.2.4'}}",
49
- "msw": "{{versionQuery 'msw' '1.0.0'}}"
47
+ "msw": "{{versionQuery 'msw' '2.3.1'}}"
50
48
  },
51
49
  "files": [
52
50
  "dist"
@@ -4,14 +4,14 @@ import { rest } from 'msw';
4
4
  import { setupServer } from 'msw/node';
5
5
  import { screen } from '@testing-library/react';
6
6
  import {
7
- setupRequestMockHandlers,
7
+ registerMswTestHooks,
8
8
  renderInTestApp,
9
9
  } from '@backstage/test-utils';
10
10
 
11
11
  describe('ExampleComponent', () => {
12
12
  const server = setupServer();
13
13
  // Enable sane handlers for network requests
14
- setupRequestMockHandlers(server);
14
+ registerMswTestHooks(server);
15
15
 
16
16
  // setup mock response
17
17
  beforeEach(() => {