eslint-plugin-typedoc
v2.0.3
Published
ESLint rules for TypeDoc documentation quality, validation, and autofix workflows.
Maintainers
Readme
eslint-plugin-typedoc
ESLint rules for TypeDoc documentation quality, validation, and autofix workflows.
Oxlint: Compatible with Oxlint 1.80.0 across all 31 rules and seven presets; the JavaScript plugin API remains alpha, so the release gate reruns ESLint/Oxlint conformance coverage.
Why this plugin
eslint-plugin-typedoc integrates TypeDoc-focused checks directly into ESLint so API documentation issues appear in the same feedback loop as code quality issues.
It helps teams:
- enforce exported API documentation coverage,
- validate TypeDoc tags and inline links,
- catch TypeDoc config mistakes early,
- adopt stricter documentation standards gradually via presets.
Installation
npm install --save-dev eslint-plugin-typedoc typedocFlat config usage
import typedocPlugin from "eslint-plugin-typedoc";
export default [
typedocPlugin.configs.recommended,
{
rules: {
"typedoc/require-param-tags": "error",
},
},
];Presets
typedoc.configs.minimaltypedoc.configs.recommendedtypedoc.configs.markdowntypedoc.configs.tsdoctypedoc.configs.jsdoctypedoc.configs.stricttypedoc.configs.all
If you want configurable enforcement for required comments, required tags, or broader comment-policy auditing, pair this plugin with eslint-plugin-tsdoc-require-2.
See docs:
docs/rules/presets/index.md- Docusaurus rules reference: https://nick2bad4u.github.io/eslint-plugin-typedoc/docs/rules/overview
Rules
Fixlegend:🔧= autofixable💡= suggestions available—= report only
Preset keylegend:
| Rule | Fix | Preset key |
| ------------------------------------------------------------------------------------------------------------------------------------------------------ | :-: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| no-duplicate-param-tags | — | 🔵 🟠 🟣 |
| no-duplicate-type-param-tags | — | 🔵 🟠 🟣 |
| no-empty-example-tag | — | 🔵 📝 📗 📘 🟠 🟣 |
| no-empty-private-remarks-tag | — | 🟠 🟣 |
| no-empty-remarks-tag | — | 🔵 📝 📗 🟠 🟣 |
| no-empty-see-tag | — | 🔵 📗 📘 🟠 🟣 |
| no-extra-param-tags | — | 🔵 🟠 🟣 |
| no-extra-type-param-tags | — | 🟠 🟣 |
| no-malformed-inline-links | 💡 | 🟢 🔵 📝 📗 📘 🟠 🟣 |
| no-unknown-tags | 🔧 | 🟢 🔵 📝 📗 📘 🟠 🟣 |
| prefer-package-documentation-tag | 🔧 | 🔵 📝 📗 🟠 🟣 |
| prefer-type-param-tag | 🔧 | 🔵 📗 🟠 🟣 |
| require-code-fence-language | 🔧 | 📝 🟠 🟣 |
| require-default-value-tag | 🔧 | 🟠 🟣 |
| require-deprecated-tag-description | — | 🔵 📝 📗 📘 🟠 🟣 |
| require-example-tag | 💡 | 📝 🟠 🟣 |
| require-exported-doc-comment | 💡 | 🟢 🔵 📝 🟠 🟣 |
| require-exported-doc-comment-description | — | 🔵 📝 🟠 🟣 |
| require-package-documentation | 💡 | 📝 🟠 🟣 |
| require-package-documentation-description | — | 📝 🟠 🟣 |
| require-param-tag-description | — | 🟠 🟣 |
| require-param-tags | 💡 | 🟠 🟣 |
| require-returns-description | — | 🟠 🟣 |
| require-returns-tag | 💡 | 🟠 🟣 |
| require-see-tag-link | — | 🟠 🟣 |
| require-since-tag-description | — | 📗 🟠 🟣 |
| require-throws-description | — | 🟠 🟣 |
| require-throws-tag | 💡 | 🟠 🟣 |
| require-type-param-tag-description | — | 🟠 🟣 |
| require-type-param-tags | 💡 | 🟠 🟣 |
| typedoc-config-requires-options | 🔧 | 🟢 🔵 📝 🟠 🟣 |
Development workflow
npm run build
npm test
npm run typecheck
npm run sync:readme-rules-table:write
npm run sync:presets-rules-matrix -- --writeLicense
MIT
