@mf-toolkit/shared-inspector 0.5.0 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,9 +4,9 @@
4
4
  [![license](https://img.shields.io/npm/l/@mf-toolkit/shared-inspector?color=blue)](https://github.com/zvitaly7/mf-toolkit/blob/main/LICENSE)
5
5
  [![node](https://img.shields.io/node/v/@mf-toolkit/shared-inspector?color=339933&logo=node.js)](https://nodejs.org)
6
6
 
7
- **Stop debugging Module Federation in production.**
7
+ **Validate Module Federation `shared` config at build time.**
8
8
 
9
- `shared` config breaks in silencewrong versions ship, duplicate React copies can end up in the bundle, singleton negotiation fails, and teams get paged for "Invalid hook call" on Friday night. `shared-inspector` catches these mistakes at build time. Every finding comes with a risk score and a ready-to-paste fix.
9
+ `shared` config errors are silentmismatched versions, broken singleton negotiation, duplicate instances in the bundle. `shared-inspector` surfaces these issues before they reach production. Every finding includes a risk score and a ready-to-paste fix.
10
10
 
11
11
  ## The problem
12
12
 
@@ -556,6 +556,24 @@ Extends all `buildProjectManifest` options (except `name`, auto-resolved from co
556
556
  | `hostGaps` | 🟠 MEDIUM | Package used by 2+ MFs but not declared in `shared` by anyone |
557
557
  | `ghostShares` | 🟡 LOW | Package in `shared` of one MF, unused/unshared by all others |
558
558
 
559
+ ## How it works
560
+
561
+ Four steps, no magic:
562
+
563
+ 1. **Scan** — statically extracts import/require statements from source files
564
+ 2. **Normalize** — reads your declared `shared` config (explicit or auto-extracted from `ModuleFederationPlugin`)
565
+ 3. **Resolve** — reads installed versions from `node_modules` to detect `requiredVersion` drift
566
+ 4. **Cross-reference** — produces findings, a risk score, and optionally a `project-manifest.json` for federation analysis
567
+
568
+ No webpack build required. Runs in seconds on the source tree directly.
569
+
570
+ ## When not to use this tool
571
+
572
+ - You are not using Module Federation (webpack or rspack)
573
+ - Your `shared` config is intentionally empty or minimal by design
574
+ - You only need bundle size analysis — use [webpack-bundle-analyzer](https://github.com/webpack-contrib/webpack-bundle-analyzer) instead
575
+ - Your MF setup uses dynamic runtime sharing with non-standard orchestration that doesn't rely on the `shared` config
576
+
559
577
  ## Known limitations
560
578
 
561
579
  - **TypeScript path aliases without `tsconfigPath`**: aliased imports are treated as external package names.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAkBpD,wBAAsB,IAAI,CACxB,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAqC,EAC3D,MAAM,CAAC,EAAE,QAAQ,GAChB,OAAO,CAAC,MAAM,CAAC,CAuCjB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAkBpD,wBAAsB,IAAI,CACxB,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAqC,EAC3D,MAAM,CAAC,EAAE,QAAQ,GAChB,OAAO,CAAC,MAAM,CAAC,CA2CjB"}
package/dist/cli/index.js CHANGED
@@ -58,6 +58,9 @@ export async function main(argv, write = (s) => process.stdout.write(s), prompt)
58
58
  args = await runInteractive(args, write, prompt);
59
59
  rl?.close();
60
60
  }
61
+ if (args.command === 'federation') {
62
+ return runFederation(args, write);
63
+ }
61
64
  return runProject(args, write);
62
65
  }
63
66
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../src/cli/interactive.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGpD,wBAAsB,cAAc,CAClC,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,EAC1B,MAAM,EAAE,QAAQ,GACf,OAAO,CAAC,OAAO,CAAC,CAsClB;AAED,8EAA8E;AAC9E,wBAAsB,kBAAkB,IAAI,OAAO,CAAC;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC,CAO3F"}
1
+ {"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../src/cli/interactive.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGpD,wBAAsB,cAAc,CAClC,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,EAC1B,MAAM,EAAE,QAAQ,GACf,OAAO,CAAC,OAAO,CAAC,CAWlB;AAoFD,8EAA8E;AAC9E,wBAAsB,kBAAkB,IAAI,OAAO,CAAC;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC,CAO3F"}
@@ -1,6 +1,14 @@
1
1
  import { parseSharedValue } from './args.js';
2
2
  export async function runInteractive(args, write, prompt) {
3
3
  write('\n[MfSharedInspector] Interactive setup\n\n');
4
+ const modeRaw = await prompt('Analyse single project or multiple microfrontends? (project / federation, default: project): ');
5
+ const mode = modeRaw.trim().toLowerCase();
6
+ if (mode === 'federation') {
7
+ return runInteractiveFederation(args, write, prompt);
8
+ }
9
+ return runInteractiveProject(args, write, prompt);
10
+ }
11
+ async function runInteractiveProject(args, write, prompt) {
4
12
  const sourceDirsRaw = await prompt('Source directories to scan (default: ./src): ');
5
13
  args.sourceDirs = sourceDirsRaw.trim()
6
14
  ? sourceDirsRaw.split(',').map((s) => s.trim()).filter(Boolean)
@@ -15,12 +23,22 @@ export async function runInteractive(args, write, prompt) {
15
23
  args.workspacePackages = wsRaw.trim()
16
24
  ? wsRaw.split(',').map((s) => s.trim()).filter(Boolean)
17
25
  : [];
26
+ const kindRaw = await prompt('Project role — host / remote / unknown (default: unknown): ');
27
+ const kindVal = kindRaw.trim().toLowerCase();
28
+ args.kind = ['host', 'remote', 'unknown'].includes(kindVal)
29
+ ? kindVal
30
+ : undefined;
18
31
  const failOnRaw = await prompt('Fail build on findings — mismatch / unused / any / none (default: none): ');
19
32
  const failOnVal = failOnRaw.trim();
20
33
  args.failOn = ['mismatch', 'unused', 'any'].includes(failOnVal)
21
34
  ? failOnVal
22
35
  : undefined;
23
- const writeManifestRaw = await prompt('Write project-manifest.json? (y/N): ');
36
+ const minScoreRaw = await prompt('Minimum score threshold 0–100 (empty to skip): ');
37
+ const minScoreVal = Number(minScoreRaw.trim());
38
+ args.minScore = minScoreRaw.trim() && !isNaN(minScoreVal) ? minScoreVal : undefined;
39
+ const jsonRaw = await prompt('Output as JSON? (y/N): ');
40
+ args.json = jsonRaw.trim().toLowerCase() === 'y';
41
+ const writeManifestRaw = await prompt('Write project-manifest.json for federation analysis? (y/N): ');
24
42
  args.writeManifest = writeManifestRaw.trim().toLowerCase() === 'y';
25
43
  if (args.writeManifest) {
26
44
  const outputDirRaw = await prompt('Output directory for manifest (default: .): ');
@@ -29,6 +47,23 @@ export async function runInteractive(args, write, prompt) {
29
47
  write('\n');
30
48
  return args;
31
49
  }
50
+ async function runInteractiveFederation(args, write, prompt) {
51
+ args.command = 'federation';
52
+ const sourcesRaw = await prompt('Manifest files or URLs, space-separated: ');
53
+ args.manifestFiles = sourcesRaw.trim().split(/\s+/).filter(Boolean);
54
+ const failOnRaw = await prompt('Fail on findings — mismatch / unused / any / none (default: none): ');
55
+ const failOnVal = failOnRaw.trim();
56
+ args.failOn = ['mismatch', 'unused', 'any'].includes(failOnVal)
57
+ ? failOnVal
58
+ : undefined;
59
+ const minScoreRaw = await prompt('Minimum score threshold 0–100 (empty to skip): ');
60
+ const minScoreVal = Number(minScoreRaw.trim());
61
+ args.minScore = minScoreRaw.trim() && !isNaN(minScoreVal) ? minScoreVal : undefined;
62
+ const jsonRaw = await prompt('Output as JSON? (y/N): ');
63
+ args.json = jsonRaw.trim().toLowerCase() === 'y';
64
+ write('\n');
65
+ return args;
66
+ }
32
67
  /** Creates a readline-based PromptFn using Node built-ins (no extra deps). */
33
68
  export async function makeReadlinePrompt() {
34
69
  const { createInterface } = await import('node:readline/promises');
@@ -1 +1 @@
1
- {"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../src/cli/interactive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../src/cli/interactive.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mf-toolkit/shared-inspector",
3
- "version": "0.5.0",
3
+ "version": "0.5.2",
4
4
  "description": "Stop debugging Module Federation in production. Audit shared config at build time.",
5
5
  "author": "Vitaly Zheltko",
6
6
  "license": "MIT",