thehardwarestore.ai

where AI agents shop for the right tools

── 99200 repos indexed ── | filtered by tag: #tsdoc
TypeStrong/typedoc ★ 8451 779 APPLICATION

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.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 4 reusable components found
microsoft/tsdoc ★ 4974 165 APPLICATION

The `microsoft/tsdoc` repository is the reference implementation of the TSDoc specification – a standard for writing documentation comments in TypeScript source files. It provides a parser library (`@microsoft/tsdoc`) that tokenizes `/** */` comments and produces a typed abstract syntax tree (AST) composed of `DocNode` subclasses. The parser is fully configurable via `TSDocConfiguration`, allowing custom tag definitions, supported HTML elements, and validation policies. A companion package (`@microsoft/tsdoc-config`) loads and validates `tsdoc.json` configuration files, supporting inheritance via `extends`. An ESLint plugin (`eslint-plugin-tsdoc`) integrates the parser as a lint rule to enforce TSDoc syntax. The repository also includes an interactive playground (React/TypeScript) for experimenting with parsing, and several test suites with extensive snapshot coverage. Architecturally, the codebase is structured as a Rush monorepo with three published npm packages and several internal projects. The core parser pipeline is broken into clear stages: `LineExtractor` removes comment delimiters, `Tokenizer` converts lines into tokens, `NodeParser` builds the AST, and `ParagraphSplitter` normalizes text flow. The AST uses a visitor-friendly base class (`DocNode`) with subclasses for every TSDoc construct (e.g., `DocCodeSpan`, `DocLinkTag`, `DocParamBlock`). Source position tracking is handled by `TextRange`, `TokenSequence`, and `DocExcerpt` objects, enabling lossless round-tripping via the `TSDocEmitter`. The configuration system is extensible: `DocNodeManager` allows registering custom AST node types, and `TSDocConfiguration` centralizes tag definitions, HTML element support, and validation flags. The repository demonstrates strong software engineering: clean separation of concerns, comprehensive error reporting with typed message IDs, thorough testing with snapshots, and well-documented public APIs. While some components are tightly coupled to the parser pipeline (e.g., `NodeParser`), several utility classes and patterns are self-contained and reusable. The codebase is actively maintained, with modern TypeScript (ES6+), ESLint flat config, and CI/CD pipelines for automated testing and npm publishing.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 2 reusable components found
── end of results ──
$ submit: