Changelog
Fix: ESLint No Longer Required
Fixed CLI crash when eslint is not installed. Previously, runningnpx mint-tsdocs in a project without eslint would crash with Cannot find module 'eslint' — even for commands like init or generate that don’t use eslint. Now eslint is fully optional.ESLint Integration is Now Optional
Thelint command’s ESLint integration (eslint-plugin-tsdoc) is now an opt-in feature with smart auto-detection:lint.eslint.enabled | eslint installed | Behavior |
|---|---|---|
true | yes | Runs ESLint with tsdoc plugin |
true | no | Error with install command |
| not set (default) | yes | Auto-detects and runs ESLint |
| not set (default) | no | Hint with install command |
false | either | Silent skip |
mint-tsdocs init:- Auto-detects if eslint is already installed and enables it
- If not installed, prompts with an explanation of what ESLint adds
- Offers to install
eslint,eslint-plugin-tsdoc, and@typescript-eslint/parserautomatically
lint.eslint.enabled now defaults to undefined (auto-detect) instead of true. Projects that relied on eslint being enabled by default should add "lint": { "eslint": { "enabled": true } } to their config — but this was already broken for npx users, so the practical impact is zero.Dependencies
eslint,eslint-plugin-tsdoc, and@typescript-eslint/parserare now declared as optional peer dependencies
Critical Fix: Module System
Fixed CLI not loading - Converted from ES modules to CommonJS to resolve “Cannot find module” errors. The project was configured for ES modules but TypeScript wasn’t adding .js extensions to imports, causing Node.js to fail at runtime.New Features
Type-Safe Link Components
- RefLink & PageLink - Components with dual validation (compile-time + runtime)
- IDE autocomplete: Auto-generates
ValidRefs.d.tsandValidPages.d.tswith TypeScript union types - Compile-time safety: Type-safe target selection with IntelliSense
- Runtime validation: Highlights broken links with
broken-linkCSS class - Visual feedback: Invalid links display with title tooltip for easy debugging
- SSR-safe: Validation only runs client-side
- IDE autocomplete: Auto-generates

TypeInfo Generation System
- Auto-generates
TypeInfo.jsxcontaining structured type information for all API items- Provides TypeTree-compatible data with IDE autocomplete support
- Includes TypeScript declaration file (
TypeInfo.d.ts) for VSCode IntelliSense - Enables documentation authors to reference type information programmatically in MDX files
- Supports nested property analysis for complex object types
New Components
-
Preview Component - Showcase documentation examples with style
- Bordered container with customizable title header
- Dark mode support with Tailwind CSS theming
- Code block aesthetic styling
- Perfect for wrapping TypeTree and other component demonstrations
-
Feature Component - Highlight features in documentation
- Icon support with customizable styling
- Card grid layouts
- Flexible content organization
New CLI Commands
coveragecommand - Calculate TSDoc coverage with filtering, grouping, and threshold support- Reports by file, module, or API kind
- Set minimum coverage requirements
- Track documentation completeness

lintcommand - Check documentation quality and find issues- Validates TSDoc comments
- Finds broken references
- Checks for missing documentation

Major Improvements
Enhanced CLI Experience
-
Verbose Mode - Added
--verbose/-vflag to control detailed output- Component installation shows summary by default
- Detailed per-file logs only in verbose mode
- Cleaner output for most use cases
-
Improved Linting - Inverted
--no-lintto--lintflag- Warnings disabled by default (errors always shown)
- Opt-in to see API Extractor warnings
- Less noisy output during generation
-
Better Warning Display
- File location (file:line:column) added to all warnings
- Warnings grouped by source file
- Color-coded syntax highlighting (Nord theme)
- Line numbers, identifiers, and TSDoc tags highlighted
- Auto-wraps to terminal width
-
New
configCommand - Replaces deprecatedshow configshow stats→ usecoverageinsteadshow config→ useconfiginstead- Deprecated commands still work with warnings
Code Quality
-
Reusable Issue Display - Created
IssueDisplayUtilsfor consistent formatting -
Enhanced Lint Command - Collects warnings from all sources:
- API Extractor (TSDoc syntax, invalid tags, reference errors)
- API Model analysis (missing docs, params, returns)
- ESLint with tsdoc-plugin (when installed)
- Improved Snippets - Better type checking and generation
- Refactored Services - Extracted common command subtasks for better maintainability
Documentation & Validation
-
Node Validation - Added validation to prevent invalid node creation:
- DocTable: Rejects empty header arrays
- DocExpandable: Rejects empty titles
- Better error messages
-
Fixed TSDoc Registration - Corrected package name (
mint-tsdocsinstead of@micrososft/mint-tsdocs) -
Comprehensive JSDoc - Added detailed documentation to:
- All markdown emitter methods
- Custom node classes
- Validation requirements
Internal Changes
- Switched from picocolors to chalk for true color (24-bit RGB) support
- Simplified filename sanitization logic (~2x faster)
- Removed excessive debug logging
- Better code organization with extracted helper methods
Initial Release
- Core documentation generation from TypeScript API Extractor models
- Mintlify-compatible MDX output with frontmatter
- LiquidJS-based template system with customization support
- Navigation integration with
docs.json - Custom TSDoc nodes for tables, headings, note boxes, and expandables
- Caching system for type analysis and API resolution
- CLI with
init,generate, andcustomizecommands - TypeTree component for rendering type hierarchies

