@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 +20 -2
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +3 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/interactive.d.ts.map +1 -1
- package/dist/cli/interactive.js +36 -1
- package/dist/cli/interactive.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
[](https://github.com/zvitaly7/mf-toolkit/blob/main/LICENSE)
|
|
5
5
|
[](https://nodejs.org)
|
|
6
6
|
|
|
7
|
-
**
|
|
7
|
+
**Validate Module Federation `shared` config at build time.**
|
|
8
8
|
|
|
9
|
-
`shared` config
|
|
9
|
+
`shared` config errors are silent — mismatched 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.
|
package/dist/cli/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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
|
package/dist/cli/index.js.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/cli/interactive.js
CHANGED
|
@@ -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
|
|
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":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAa,EACb,KAA0B,EAC1B,MAAgB;IAEhB,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAErD,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,+CAA+C,CAAC,CAAC;IACpF,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,IAAI,EAAE;QACpC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAC/D,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAEd,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,6DAA6D,CAAC,CAAC;IAC7F,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC;IAErE,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,4EAA4E,CAAC,CAAC;IAC7G,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEtF,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,8DAA8D,CAAC,CAAC;IACjG,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;IAEpD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,kEAAkE,CAAC,CAAC;IAC/F,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,IAAI,EAAE;QACnC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QACvD,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,2EAA2E,CAAC,CAAC;IAC5G,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,CAAC,MAAM,GAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAW,CAAC,QAAQ,CAAC,SAAkB,CAAC;QACjF,CAAC,CAAE,SAA2C;QAC9C,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../src/cli/interactive.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED