A tsconfig with one extends line can carry strict mode, noUncheckedIndexedAccess and a baseUrl defined somewhere else entirely; this flattens all of it, so suggestions are made against the rules the build will actually enforce.
A resolver for TypeScript configuration. It follows the whole extends chain — your config, the monorepo base, the preset in node_modules — and reports the merged options that really govern a file, using the compiler's own resolution rather than a re-implementation. The running server answers with six tools.
- The effective compiler options for a given tsconfig, with the inheritance chain shown and enums rendered as readable strings instead of magic numbers
- A path alias mapped to the physical files it resolves to, with extension probing and every existing candidate listed
- Project references validated — whether each referenced package really has composite turned on
- A tree of what the compiler will emit per source file: compiled JavaScript, declarations and maps
- Module resolution run exactly as TypeScript runs it, for one import, with the path it lands on
- Files compiled by more than one tsconfig at once, with the option conflicts between those configs surfaced
Node, through the published npm package, and a project whose dependencies are installed — presets extended from node_modules have to be on disk to be resolved.
One command — npx -y tsconfig-inheritance-flattener-mcp
