mf-type-check
Step 1: Call the mf-context Skill (pass $ARGUMENTS) to collect MFContext.
Step 2: Serialize MFContext to JSON and pass it to the check script via the --context argument:
node scripts/type-check.js --context '<MFContext-JSON>'
Process each item in the output results array and follow the action plan based on the scenario field:
Scenario: TYPE_GENERATION_FAILED (Problem 1 — Producer type files not generated)
The producer failed to generate type files (TYPE-001 error).
If enhancedVersion > 2.0.1 (result field canReadDiagnostics: true):
- Read
.mf/diagnostics/latest.jsonto get full error info and the temporary TS config path - Use the temp TS config path with
npx tsc --project <tmp-tsconfig>to reproduce errors - Fix the TS errors revealed. Refer to FAQ: https://module-federation.io/guide/troubleshooting/type.md
- Offer
"skipLibCheck": trueas a temporary workaround if errors are complex
If enhancedVersion <= 2.0.1 (result field canReadDiagnostics: false):
- Ask the user to run
npx mf dtsand paste the terminal output (which includes the temp TS config path) - Or ask them to copy the error message that contains the temp TS config path
- Once the temp TS config path is known, run
npx tsc --project <tmp-tsconfig>to reproduce and fix errors - Offer
"skipLibCheck": trueas a temporary workaround
Scenario: TYPES_NOT_PULLED (Problem 2 — Consumer not pulling remote types)
The @mf-types folder is missing. Remote types have not been downloaded.
- Call
mf-module-infoskill with the remote module name to retrieve the type file URL (@mf-types.zip)- If no URL returned: the producer has not configured the type file URL or has not generated types. Guide them to enable
dtsin the@module-federation/enhancedplugin config, then revisit Problem 1 - If URL found: attempt to fetch it (or ask the user to verify in browser)
- URL inaccessible: try fetching the
remoteEntryURLremoteEntryunreachable: producer deployment is broken or URL is misconfigured; ask user to verify deploymentremoteEntryreachable: type file generation failed or wasn't deployed; ask user to provide local producer path and proceed to Problem 1
- URL accessible: types were generated and deployed; the issue is in tsconfig — proceed to Problem 3
- URL inaccessible: try fetching the
- If no URL returned: the producer has not configured the type file URL or has not generated types. Guide them to enable
Scenario: TSCONFIG_PATHS_MISSING (Problem 3 — tsconfig not configured for remote types)
The @mf-types folder exists but TypeScript cannot find the types because tsconfig.json is missing the paths mapping.
- Open
tsconfig.jsonand add the following tocompilerOptions.paths:{ "compilerOptions": { "paths": { "*": ["./@mf-types/*"] } } } - If
pathsalready exists, merge the new entry without overwriting existing mappings - After updating, run
npx tsc --noEmitto verify the type errors are resolved
Scenario: ENV_INCOMPLETE (Missing tsconfig or TypeScript)
TYPE-001 · warning — tsconfig.json missing
tsconfig.jsonnot found in the project root- Advise the user to create
tsconfig.jsonand configure producer type paths inpaths
TYPE-001 · warning — typescript dependency missing
typescriptnot installed independencies/devDependencies- Prompt the user to install:
pnpm add -D typescript
This Skill performs configuration and dependency-level checks. It runs
npx tsconly when guided by a valid temp TS config path. It never runstscblindly against the entire project.