$ account TypeStrong
TypeDoc is a sophisticated documentation generator for TypeScript projects. It parses TypeScript source code using the TypeScript compiler API, extracts JSDoc/TSDoc comments, and produces both JSON model serializations and fully-featured HTML documentation sites with search, navigation, themes, and internationalization. The system operates as a CLI tool and a programmable library, featuring a plugin architecture with converter plugins, renderer plugins, and serialization components that hook into a well-defined event lifecycle. The architecture is modular: a converter transforms the TypeScript AST into an internal reflection model, the renderer produces output via themes and routers, and a serialization layer supports JSON round-tripping for caching and merging. The codebase demonstrates advanced TypeScript patterns including a custom JSX factory for rendering, a type model hierarchy with a visitor pattern, a comprehensive options system with declarative definitions and multiple readers, and a stable event system. There are no data/research elements; this is a pure application tool.
Fork TS Checker Webpack Plugin is a mature, production-grade webpack plugin that offloads TypeScript type checking to a separate process to avoid blocking the webpack build. The architecture is centered around a plugin class that integrates with webpack's compilation lifecycle via tapable hooks. On each compilation, it collects file changes and spawns two types of workers (via child_process RPC): one for computing TypeScript issues (syntactic, semantic, declaration, global diagnostics) and another for computing file dependencies. Workers use a controlled TypeScript system with an in-memory file system (memfs) for artifacts and a passive file system that delegates writes to memory for read-only modes. The plugin supports incremental watching, project references (solution builder), tracing, and various output modes (write-dts, write-tsbuildinfo, write-references). Configuration is flexible via cosmiconfig and validated with JSON schema. The codebase is well-structured with clear separation of concerns: hooks, formatters, issue filtering, RPC infrastructure, and file system abstractions. It includes extensive unit and end-to-end tests covering various TypeScript versions and webpack configurations. The plugin is actively maintained with a robust CI/CD pipeline and semantic release.