eslint-plugin-tsdoc-require-2 1.0.6 → 1.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +111 -36
- package/dist/internal/require-tag-factory.cjs +58 -9
- package/dist/internal/require-tag-factory.d.ts +5 -2
- package/dist/internal/require-tag-factory.d.ts.map +1 -1
- package/dist/internal/require-tag-factory.js +58 -9
- package/dist/internal/require-tag-factory.js.map +1 -1
- package/dist/plugin.cjs +146 -17
- package/dist/plugin.d.ts +2 -0
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +142 -16
- package/dist/plugin.js.map +1 -1
- package/dist/rules/require-tag-rules.cjs +121 -25
- package/dist/rules/require-tag-rules.d.ts +5 -30
- package/dist/rules/require-tag-rules.d.ts.map +1 -1
- package/dist/rules/require-tag-rules.js +93 -0
- package/dist/rules/require-tag-rules.js.map +1 -1
- package/dist/rules/require.cjs +59 -16
- package/dist/rules/require.d.ts +3 -1
- package/dist/rules/require.d.ts.map +1 -1
- package/dist/rules/require.js +59 -16
- package/dist/rules/require.js.map +1 -1
- package/dist/rules/required-tags/require-abstract.cjs +32 -0
- package/dist/rules/required-tags/require-abstract.d.ts +5 -0
- package/dist/rules/required-tags/require-abstract.d.ts.map +1 -0
- package/dist/rules/required-tags/require-abstract.js +30 -0
- package/dist/rules/required-tags/require-abstract.js.map +1 -0
- package/dist/rules/required-tags/require-alpha.cjs +0 -1
- package/dist/rules/required-tags/require-alpha.d.ts.map +1 -1
- package/dist/rules/required-tags/require-alpha.js +1 -2
- package/dist/rules/required-tags/require-alpha.js.map +1 -1
- package/dist/rules/required-tags/require-author.cjs +32 -0
- package/dist/rules/required-tags/require-author.d.ts +5 -0
- package/dist/rules/required-tags/require-author.d.ts.map +1 -0
- package/dist/rules/required-tags/require-author.js +30 -0
- package/dist/rules/required-tags/require-author.js.map +1 -0
- package/dist/rules/required-tags/require-beta.cjs +0 -1
- package/dist/rules/required-tags/require-beta.d.ts.map +1 -1
- package/dist/rules/required-tags/require-beta.js +1 -2
- package/dist/rules/required-tags/require-beta.js.map +1 -1
- package/dist/rules/required-tags/require-category.cjs +32 -0
- package/dist/rules/required-tags/require-category.d.ts +5 -0
- package/dist/rules/required-tags/require-category.d.ts.map +1 -0
- package/dist/rules/required-tags/require-category.js +30 -0
- package/dist/rules/required-tags/require-category.js.map +1 -0
- package/dist/rules/required-tags/require-class.cjs +32 -0
- package/dist/rules/required-tags/require-class.d.ts +5 -0
- package/dist/rules/required-tags/require-class.d.ts.map +1 -0
- package/dist/rules/required-tags/require-class.js +30 -0
- package/dist/rules/required-tags/require-class.js.map +1 -0
- package/dist/rules/required-tags/require-decorator.cjs +0 -1
- package/dist/rules/required-tags/require-decorator.d.ts.map +1 -1
- package/dist/rules/required-tags/require-decorator.js +1 -2
- package/dist/rules/required-tags/require-decorator.js.map +1 -1
- package/dist/rules/required-tags/require-default-value.cjs +0 -1
- package/dist/rules/required-tags/require-default-value.d.ts.map +1 -1
- package/dist/rules/required-tags/require-default-value.js +1 -2
- package/dist/rules/required-tags/require-default-value.js.map +1 -1
- package/dist/rules/required-tags/require-deprecated.cjs +0 -1
- package/dist/rules/required-tags/require-deprecated.d.ts.map +1 -1
- package/dist/rules/required-tags/require-deprecated.js +1 -2
- package/dist/rules/required-tags/require-deprecated.js.map +1 -1
- package/dist/rules/required-tags/require-document.cjs +32 -0
- package/dist/rules/required-tags/require-document.d.ts +5 -0
- package/dist/rules/required-tags/require-document.d.ts.map +1 -0
- package/dist/rules/required-tags/require-document.js +30 -0
- package/dist/rules/required-tags/require-document.js.map +1 -0
- package/dist/rules/required-tags/require-enum.cjs +32 -0
- package/dist/rules/required-tags/require-enum.d.ts +5 -0
- package/dist/rules/required-tags/require-enum.d.ts.map +1 -0
- package/dist/rules/required-tags/require-enum.js +30 -0
- package/dist/rules/required-tags/require-enum.js.map +1 -0
- package/dist/rules/required-tags/require-event-property.cjs +0 -1
- package/dist/rules/required-tags/require-event-property.d.ts.map +1 -1
- package/dist/rules/required-tags/require-event-property.js +1 -2
- package/dist/rules/required-tags/require-event-property.js.map +1 -1
- package/dist/rules/required-tags/require-event.cjs +32 -0
- package/dist/rules/required-tags/require-event.d.ts +5 -0
- package/dist/rules/required-tags/require-event.d.ts.map +1 -0
- package/dist/rules/required-tags/require-event.js +30 -0
- package/dist/rules/required-tags/require-event.js.map +1 -0
- package/dist/rules/required-tags/require-example.cjs +0 -1
- package/dist/rules/required-tags/require-example.d.ts.map +1 -1
- package/dist/rules/required-tags/require-example.js +1 -2
- package/dist/rules/required-tags/require-example.js.map +1 -1
- package/dist/rules/required-tags/require-expand.cjs +32 -0
- package/dist/rules/required-tags/require-expand.d.ts +5 -0
- package/dist/rules/required-tags/require-expand.d.ts.map +1 -0
- package/dist/rules/required-tags/require-expand.js +30 -0
- package/dist/rules/required-tags/require-expand.js.map +1 -0
- package/dist/rules/required-tags/require-experimental.cjs +0 -1
- package/dist/rules/required-tags/require-experimental.d.ts.map +1 -1
- package/dist/rules/required-tags/require-experimental.js +1 -2
- package/dist/rules/required-tags/require-experimental.js.map +1 -1
- package/dist/rules/required-tags/require-function.cjs +32 -0
- package/dist/rules/required-tags/require-function.d.ts +5 -0
- package/dist/rules/required-tags/require-function.d.ts.map +1 -0
- package/dist/rules/required-tags/require-function.js +30 -0
- package/dist/rules/required-tags/require-function.js.map +1 -0
- package/dist/rules/required-tags/require-group.cjs +32 -0
- package/dist/rules/required-tags/require-group.d.ts +5 -0
- package/dist/rules/required-tags/require-group.d.ts.map +1 -0
- package/dist/rules/required-tags/require-group.js +30 -0
- package/dist/rules/required-tags/require-group.js.map +1 -0
- package/dist/rules/required-tags/require-hidden.cjs +32 -0
- package/dist/rules/required-tags/require-hidden.d.ts +5 -0
- package/dist/rules/required-tags/require-hidden.d.ts.map +1 -0
- package/dist/rules/required-tags/require-hidden.js +30 -0
- package/dist/rules/required-tags/require-hidden.js.map +1 -0
- package/dist/rules/required-tags/require-hideconstructor.cjs +32 -0
- package/dist/rules/required-tags/require-hideconstructor.d.ts +5 -0
- package/dist/rules/required-tags/require-hideconstructor.d.ts.map +1 -0
- package/dist/rules/required-tags/require-hideconstructor.js +30 -0
- package/dist/rules/required-tags/require-hideconstructor.js.map +1 -0
- package/dist/rules/required-tags/require-ignore.cjs +32 -0
- package/dist/rules/required-tags/require-ignore.d.ts +5 -0
- package/dist/rules/required-tags/require-ignore.d.ts.map +1 -0
- package/dist/rules/required-tags/require-ignore.js +30 -0
- package/dist/rules/required-tags/require-ignore.js.map +1 -0
- package/dist/rules/required-tags/require-import.cjs +32 -0
- package/dist/rules/required-tags/require-import.d.ts +5 -0
- package/dist/rules/required-tags/require-import.d.ts.map +1 -0
- package/dist/rules/required-tags/require-import.js +30 -0
- package/dist/rules/required-tags/require-import.js.map +1 -0
- package/dist/rules/required-tags/require-include.cjs +32 -0
- package/dist/rules/required-tags/require-include.d.ts +5 -0
- package/dist/rules/required-tags/require-include.d.ts.map +1 -0
- package/dist/rules/required-tags/require-include.js +30 -0
- package/dist/rules/required-tags/require-include.js.map +1 -0
- package/dist/rules/required-tags/require-inherit-doc.cjs +0 -1
- package/dist/rules/required-tags/require-inherit-doc.d.ts.map +1 -1
- package/dist/rules/required-tags/require-inherit-doc.js +1 -2
- package/dist/rules/required-tags/require-inherit-doc.js.map +1 -1
- package/dist/rules/required-tags/require-inline.cjs +32 -0
- package/dist/rules/required-tags/require-inline.d.ts +5 -0
- package/dist/rules/required-tags/require-inline.d.ts.map +1 -0
- package/dist/rules/required-tags/require-inline.js +30 -0
- package/dist/rules/required-tags/require-inline.js.map +1 -0
- package/dist/rules/required-tags/require-interface.cjs +32 -0
- package/dist/rules/required-tags/require-interface.d.ts +5 -0
- package/dist/rules/required-tags/require-interface.d.ts.map +1 -0
- package/dist/rules/required-tags/require-interface.js +30 -0
- package/dist/rules/required-tags/require-interface.js.map +1 -0
- package/dist/rules/required-tags/require-internal.cjs +0 -1
- package/dist/rules/required-tags/require-internal.d.ts.map +1 -1
- package/dist/rules/required-tags/require-internal.js +1 -2
- package/dist/rules/required-tags/require-internal.js.map +1 -1
- package/dist/rules/required-tags/require-label.cjs +0 -1
- package/dist/rules/required-tags/require-label.d.ts.map +1 -1
- package/dist/rules/required-tags/require-label.js +1 -2
- package/dist/rules/required-tags/require-label.js.map +1 -1
- package/dist/rules/required-tags/require-license.cjs +32 -0
- package/dist/rules/required-tags/require-license.d.ts +5 -0
- package/dist/rules/required-tags/require-license.d.ts.map +1 -0
- package/dist/rules/required-tags/require-license.js +30 -0
- package/dist/rules/required-tags/require-license.js.map +1 -0
- package/dist/rules/required-tags/require-link.cjs +0 -1
- package/dist/rules/required-tags/require-link.d.ts.map +1 -1
- package/dist/rules/required-tags/require-link.js +1 -2
- package/dist/rules/required-tags/require-link.js.map +1 -1
- package/dist/rules/required-tags/require-merge-module-with.cjs +32 -0
- package/dist/rules/required-tags/require-merge-module-with.d.ts +5 -0
- package/dist/rules/required-tags/require-merge-module-with.d.ts.map +1 -0
- package/dist/rules/required-tags/require-merge-module-with.js +30 -0
- package/dist/rules/required-tags/require-merge-module-with.js.map +1 -0
- package/dist/rules/required-tags/require-module.cjs +32 -0
- package/dist/rules/required-tags/require-module.d.ts +5 -0
- package/dist/rules/required-tags/require-module.d.ts.map +1 -0
- package/dist/rules/required-tags/require-module.js +30 -0
- package/dist/rules/required-tags/require-module.js.map +1 -0
- package/dist/rules/required-tags/require-namespace.cjs +32 -0
- package/dist/rules/required-tags/require-namespace.d.ts +5 -0
- package/dist/rules/required-tags/require-namespace.d.ts.map +1 -0
- package/dist/rules/required-tags/require-namespace.js +30 -0
- package/dist/rules/required-tags/require-namespace.js.map +1 -0
- package/dist/rules/required-tags/require-overload.cjs +32 -0
- package/dist/rules/required-tags/require-overload.d.ts +5 -0
- package/dist/rules/required-tags/require-overload.d.ts.map +1 -0
- package/dist/rules/required-tags/require-overload.js +30 -0
- package/dist/rules/required-tags/require-overload.js.map +1 -0
- package/dist/rules/required-tags/require-override.cjs +0 -1
- package/dist/rules/required-tags/require-override.d.ts.map +1 -1
- package/dist/rules/required-tags/require-override.js +1 -2
- package/dist/rules/required-tags/require-override.js.map +1 -1
- package/dist/rules/required-tags/require-package-documentation.cjs +0 -1
- package/dist/rules/required-tags/require-package-documentation.d.ts.map +1 -1
- package/dist/rules/required-tags/require-package-documentation.js +1 -2
- package/dist/rules/required-tags/require-package-documentation.js.map +1 -1
- package/dist/rules/required-tags/require-param.cjs +0 -1
- package/dist/rules/required-tags/require-param.d.ts.map +1 -1
- package/dist/rules/required-tags/require-param.js +1 -2
- package/dist/rules/required-tags/require-param.js.map +1 -1
- package/dist/rules/required-tags/require-primary-export.cjs +32 -0
- package/dist/rules/required-tags/require-primary-export.d.ts +5 -0
- package/dist/rules/required-tags/require-primary-export.d.ts.map +1 -0
- package/dist/rules/required-tags/require-primary-export.js +30 -0
- package/dist/rules/required-tags/require-primary-export.js.map +1 -0
- package/dist/rules/required-tags/require-private-remarks.cjs +0 -1
- package/dist/rules/required-tags/require-private-remarks.d.ts.map +1 -1
- package/dist/rules/required-tags/require-private-remarks.js +1 -2
- package/dist/rules/required-tags/require-private-remarks.js.map +1 -1
- package/dist/rules/required-tags/require-private.cjs +32 -0
- package/dist/rules/required-tags/require-private.d.ts +5 -0
- package/dist/rules/required-tags/require-private.d.ts.map +1 -0
- package/dist/rules/required-tags/require-private.js +30 -0
- package/dist/rules/required-tags/require-private.js.map +1 -0
- package/dist/rules/required-tags/require-property.cjs +32 -0
- package/dist/rules/required-tags/require-property.d.ts +5 -0
- package/dist/rules/required-tags/require-property.d.ts.map +1 -0
- package/dist/rules/required-tags/require-property.js +30 -0
- package/dist/rules/required-tags/require-property.js.map +1 -0
- package/dist/rules/required-tags/require-protected.cjs +32 -0
- package/dist/rules/required-tags/require-protected.d.ts +5 -0
- package/dist/rules/required-tags/require-protected.d.ts.map +1 -0
- package/dist/rules/required-tags/require-protected.js +30 -0
- package/dist/rules/required-tags/require-protected.js.map +1 -0
- package/dist/rules/required-tags/require-public.cjs +0 -1
- package/dist/rules/required-tags/require-public.d.ts.map +1 -1
- package/dist/rules/required-tags/require-public.js +1 -2
- package/dist/rules/required-tags/require-public.js.map +1 -1
- package/dist/rules/required-tags/require-readonly.cjs +0 -1
- package/dist/rules/required-tags/require-readonly.d.ts.map +1 -1
- package/dist/rules/required-tags/require-readonly.js +1 -2
- package/dist/rules/required-tags/require-readonly.js.map +1 -1
- package/dist/rules/required-tags/require-remarks.cjs +0 -1
- package/dist/rules/required-tags/require-remarks.d.ts.map +1 -1
- package/dist/rules/required-tags/require-remarks.js +1 -2
- package/dist/rules/required-tags/require-remarks.js.map +1 -1
- package/dist/rules/required-tags/require-returns.cjs +0 -1
- package/dist/rules/required-tags/require-returns.d.ts.map +1 -1
- package/dist/rules/required-tags/require-returns.js +1 -2
- package/dist/rules/required-tags/require-returns.js.map +1 -1
- package/dist/rules/required-tags/require-sealed.cjs +0 -1
- package/dist/rules/required-tags/require-sealed.d.ts.map +1 -1
- package/dist/rules/required-tags/require-sealed.js +1 -2
- package/dist/rules/required-tags/require-sealed.js.map +1 -1
- package/dist/rules/required-tags/require-see.cjs +0 -1
- package/dist/rules/required-tags/require-see.d.ts.map +1 -1
- package/dist/rules/required-tags/require-see.js +1 -2
- package/dist/rules/required-tags/require-see.js.map +1 -1
- package/dist/rules/required-tags/require-since.cjs +32 -0
- package/dist/rules/required-tags/require-since.d.ts +5 -0
- package/dist/rules/required-tags/require-since.d.ts.map +1 -0
- package/dist/rules/required-tags/require-since.js +30 -0
- package/dist/rules/required-tags/require-since.js.map +1 -0
- package/dist/rules/required-tags/require-sort-strategy.cjs +32 -0
- package/dist/rules/required-tags/require-sort-strategy.d.ts +5 -0
- package/dist/rules/required-tags/require-sort-strategy.d.ts.map +1 -0
- package/dist/rules/required-tags/require-sort-strategy.js +30 -0
- package/dist/rules/required-tags/require-sort-strategy.js.map +1 -0
- package/dist/rules/required-tags/require-summary.cjs +32 -0
- package/dist/rules/required-tags/require-summary.d.ts +5 -0
- package/dist/rules/required-tags/require-summary.d.ts.map +1 -0
- package/dist/rules/required-tags/require-summary.js +30 -0
- package/dist/rules/required-tags/require-summary.js.map +1 -0
- package/dist/rules/required-tags/require-template.cjs +32 -0
- package/dist/rules/required-tags/require-template.d.ts +5 -0
- package/dist/rules/required-tags/require-template.d.ts.map +1 -0
- package/dist/rules/required-tags/require-template.js +30 -0
- package/dist/rules/required-tags/require-template.js.map +1 -0
- package/dist/rules/required-tags/require-throws.cjs +0 -1
- package/dist/rules/required-tags/require-throws.d.ts.map +1 -1
- package/dist/rules/required-tags/require-throws.js +1 -2
- package/dist/rules/required-tags/require-throws.js.map +1 -1
- package/dist/rules/required-tags/require-type-param.cjs +0 -1
- package/dist/rules/required-tags/require-type-param.d.ts.map +1 -1
- package/dist/rules/required-tags/require-type-param.js +1 -2
- package/dist/rules/required-tags/require-type-param.js.map +1 -1
- package/dist/rules/required-tags/require-use-declared-type.cjs +32 -0
- package/dist/rules/required-tags/require-use-declared-type.d.ts +5 -0
- package/dist/rules/required-tags/require-use-declared-type.d.ts.map +1 -0
- package/dist/rules/required-tags/require-use-declared-type.js +30 -0
- package/dist/rules/required-tags/require-use-declared-type.js.map +1 -0
- package/dist/rules/required-tags/require-virtual.cjs +0 -1
- package/dist/rules/required-tags/require-virtual.d.ts.map +1 -1
- package/dist/rules/required-tags/require-virtual.js +1 -2
- package/dist/rules/required-tags/require-virtual.js.map +1 -1
- package/dist/rules/restrict-tags.cjs +416 -0
- package/dist/rules/restrict-tags.d.ts +17 -0
- package/dist/rules/restrict-tags.d.ts.map +1 -0
- package/dist/rules/restrict-tags.js +414 -0
- package/dist/rules/restrict-tags.js.map +1 -0
- package/docs/rules/getting-started.md +97 -0
- package/docs/rules/index.md +61 -0
- package/docs/rules/presets/all.md +100 -0
- package/docs/rules/presets/detailed.md +41 -0
- package/docs/rules/presets/index.md +156 -0
- package/docs/rules/presets/jsdoc.md +43 -0
- package/docs/rules/presets/packages.md +41 -0
- package/docs/rules/presets/recommended.md +37 -0
- package/docs/rules/presets/tsdoc.md +45 -0
- package/docs/rules/presets/typedoc-strict.md +50 -0
- package/docs/rules/presets/typedoc.md +44 -0
- package/docs/rules/require.md +92 -56
- package/docs/rules/required-tags/require-abstract.md +87 -0
- package/docs/rules/required-tags/require-alpha.md +1 -1
- package/docs/rules/required-tags/require-author.md +87 -0
- package/docs/rules/required-tags/require-beta.md +1 -1
- package/docs/rules/required-tags/require-category.md +87 -0
- package/docs/rules/required-tags/require-class.md +71 -0
- package/docs/rules/required-tags/require-decorator.md +1 -1
- package/docs/rules/required-tags/require-default-value.md +1 -1
- package/docs/rules/required-tags/require-deprecated.md +1 -1
- package/docs/rules/required-tags/require-document.md +87 -0
- package/docs/rules/required-tags/require-enum.md +73 -0
- package/docs/rules/required-tags/require-event-property.md +1 -1
- package/docs/rules/required-tags/require-event.md +87 -0
- package/docs/rules/required-tags/require-example.md +1 -1
- package/docs/rules/required-tags/require-expand.md +87 -0
- package/docs/rules/required-tags/require-experimental.md +1 -1
- package/docs/rules/required-tags/require-function.md +74 -0
- package/docs/rules/required-tags/require-group.md +87 -0
- package/docs/rules/required-tags/require-hidden.md +87 -0
- package/docs/rules/required-tags/require-hideconstructor.md +87 -0
- package/docs/rules/required-tags/require-ignore.md +87 -0
- package/docs/rules/required-tags/require-import.md +87 -0
- package/docs/rules/required-tags/require-include.md +87 -0
- package/docs/rules/required-tags/require-inherit-doc.md +1 -1
- package/docs/rules/required-tags/require-inline.md +87 -0
- package/docs/rules/required-tags/require-interface.md +74 -0
- package/docs/rules/required-tags/require-internal.md +1 -1
- package/docs/rules/required-tags/require-label.md +1 -1
- package/docs/rules/required-tags/require-license.md +87 -0
- package/docs/rules/required-tags/require-link.md +1 -1
- package/docs/rules/required-tags/require-merge-module-with.md +87 -0
- package/docs/rules/required-tags/require-module.md +78 -0
- package/docs/rules/required-tags/require-namespace.md +87 -0
- package/docs/rules/required-tags/require-overload.md +87 -0
- package/docs/rules/required-tags/require-override.md +1 -1
- package/docs/rules/required-tags/require-package-documentation.md +44 -24
- package/docs/rules/required-tags/require-param.md +45 -25
- package/docs/rules/required-tags/require-primary-export.md +87 -0
- package/docs/rules/required-tags/require-private.md +87 -0
- package/docs/rules/required-tags/require-property.md +87 -0
- package/docs/rules/required-tags/require-protected.md +87 -0
- package/docs/rules/required-tags/require-remarks.md +40 -25
- package/docs/rules/required-tags/require-returns.md +45 -25
- package/docs/rules/required-tags/require-since.md +87 -0
- package/docs/rules/required-tags/require-sort-strategy.md +87 -0
- package/docs/rules/required-tags/require-summary.md +87 -0
- package/docs/rules/required-tags/require-template.md +87 -0
- package/docs/rules/required-tags/require-throws.md +53 -25
- package/docs/rules/required-tags/require-type-param.md +45 -25
- package/docs/rules/required-tags/require-use-declared-type.md +87 -0
- package/docs/rules/required-tags.md +171 -39
- package/docs/rules/restrict-tags.md +203 -0
- package/package.json +394 -45
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# all
|
|
2
|
+
|
|
3
|
+
Enables every rule provided by this plugin, including all require-tag rules and `restrict-tags`.
|
|
4
|
+
|
|
5
|
+
## What this preset is for
|
|
6
|
+
|
|
7
|
+
Use `all` for auditing or policy design, not as a day-one default.
|
|
8
|
+
|
|
9
|
+
Good use cases:
|
|
10
|
+
|
|
11
|
+
- evaluating full rule coverage on an existing codebase
|
|
12
|
+
- running one-time migration assessments
|
|
13
|
+
- building a custom strict preset by starting from maximum coverage
|
|
14
|
+
|
|
15
|
+
## Why this preset is risky as a default
|
|
16
|
+
|
|
17
|
+
`all` enables niche tag requirements that most teams do not want globally.
|
|
18
|
+
|
|
19
|
+
If enabled immediately in an established repository, expect a large number of violations and higher maintenance cost.
|
|
20
|
+
|
|
21
|
+
A safer pattern is to start with `recommended`, `tsdoc`, or `typedoc-strict`, then add individual rules intentionally.
|
|
22
|
+
|
|
23
|
+
## Config key
|
|
24
|
+
|
|
25
|
+
`tsdocRequire.configs.all`
|
|
26
|
+
|
|
27
|
+
## Flat Config example
|
|
28
|
+
|
|
29
|
+
```ts
|
|
30
|
+
import tsdocRequire from "eslint-plugin-tsdoc-require-2";
|
|
31
|
+
|
|
32
|
+
export default [
|
|
33
|
+
tsdocRequire.configs.all,
|
|
34
|
+
];
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Adoption tip
|
|
38
|
+
|
|
39
|
+
During migration, run this preset as warnings first and promote selected rules to errors after cleanup.
|
|
40
|
+
|
|
41
|
+
## Rules in this preset
|
|
42
|
+
|
|
43
|
+
- [`tsdoc-require-2/require`](../require.md)
|
|
44
|
+
- [`tsdoc-require-2/restrict-tags`](../restrict-tags.md)
|
|
45
|
+
- [`tsdoc-require-2/require-abstract`](../required-tags/require-abstract.md)
|
|
46
|
+
- [`tsdoc-require-2/require-alpha`](../required-tags/require-alpha.md)
|
|
47
|
+
- [`tsdoc-require-2/require-author`](../required-tags/require-author.md)
|
|
48
|
+
- [`tsdoc-require-2/require-beta`](../required-tags/require-beta.md)
|
|
49
|
+
- [`tsdoc-require-2/require-category`](../required-tags/require-category.md)
|
|
50
|
+
- [`tsdoc-require-2/require-class`](../required-tags/require-class.md)
|
|
51
|
+
- [`tsdoc-require-2/require-decorator`](../required-tags/require-decorator.md)
|
|
52
|
+
- [`tsdoc-require-2/require-default-value`](../required-tags/require-default-value.md)
|
|
53
|
+
- [`tsdoc-require-2/require-deprecated`](../required-tags/require-deprecated.md)
|
|
54
|
+
- [`tsdoc-require-2/require-document`](../required-tags/require-document.md)
|
|
55
|
+
- [`tsdoc-require-2/require-enum`](../required-tags/require-enum.md)
|
|
56
|
+
- [`tsdoc-require-2/require-event`](../required-tags/require-event.md)
|
|
57
|
+
- [`tsdoc-require-2/require-event-property`](../required-tags/require-event-property.md)
|
|
58
|
+
- [`tsdoc-require-2/require-example`](../required-tags/require-example.md)
|
|
59
|
+
- [`tsdoc-require-2/require-expand`](../required-tags/require-expand.md)
|
|
60
|
+
- [`tsdoc-require-2/require-experimental`](../required-tags/require-experimental.md)
|
|
61
|
+
- [`tsdoc-require-2/require-function`](../required-tags/require-function.md)
|
|
62
|
+
- [`tsdoc-require-2/require-group`](../required-tags/require-group.md)
|
|
63
|
+
- [`tsdoc-require-2/require-hidden`](../required-tags/require-hidden.md)
|
|
64
|
+
- [`tsdoc-require-2/require-hideconstructor`](../required-tags/require-hideconstructor.md)
|
|
65
|
+
- [`tsdoc-require-2/require-ignore`](../required-tags/require-ignore.md)
|
|
66
|
+
- [`tsdoc-require-2/require-import`](../required-tags/require-import.md)
|
|
67
|
+
- [`tsdoc-require-2/require-include`](../required-tags/require-include.md)
|
|
68
|
+
- [`tsdoc-require-2/require-inherit-doc`](../required-tags/require-inherit-doc.md)
|
|
69
|
+
- [`tsdoc-require-2/require-inline`](../required-tags/require-inline.md)
|
|
70
|
+
- [`tsdoc-require-2/require-interface`](../required-tags/require-interface.md)
|
|
71
|
+
- [`tsdoc-require-2/require-internal`](../required-tags/require-internal.md)
|
|
72
|
+
- [`tsdoc-require-2/require-label`](../required-tags/require-label.md)
|
|
73
|
+
- [`tsdoc-require-2/require-license`](../required-tags/require-license.md)
|
|
74
|
+
- [`tsdoc-require-2/require-link`](../required-tags/require-link.md)
|
|
75
|
+
- [`tsdoc-require-2/require-merge-module-with`](../required-tags/require-merge-module-with.md)
|
|
76
|
+
- [`tsdoc-require-2/require-module`](../required-tags/require-module.md)
|
|
77
|
+
- [`tsdoc-require-2/require-namespace`](../required-tags/require-namespace.md)
|
|
78
|
+
- [`tsdoc-require-2/require-overload`](../required-tags/require-overload.md)
|
|
79
|
+
- [`tsdoc-require-2/require-override`](../required-tags/require-override.md)
|
|
80
|
+
- [`tsdoc-require-2/require-package-documentation`](../required-tags/require-package-documentation.md)
|
|
81
|
+
- [`tsdoc-require-2/require-param`](../required-tags/require-param.md)
|
|
82
|
+
- [`tsdoc-require-2/require-primary-export`](../required-tags/require-primary-export.md)
|
|
83
|
+
- [`tsdoc-require-2/require-private`](../required-tags/require-private.md)
|
|
84
|
+
- [`tsdoc-require-2/require-private-remarks`](../required-tags/require-private-remarks.md)
|
|
85
|
+
- [`tsdoc-require-2/require-property`](../required-tags/require-property.md)
|
|
86
|
+
- [`tsdoc-require-2/require-protected`](../required-tags/require-protected.md)
|
|
87
|
+
- [`tsdoc-require-2/require-public`](../required-tags/require-public.md)
|
|
88
|
+
- [`tsdoc-require-2/require-readonly`](../required-tags/require-readonly.md)
|
|
89
|
+
- [`tsdoc-require-2/require-remarks`](../required-tags/require-remarks.md)
|
|
90
|
+
- [`tsdoc-require-2/require-returns`](../required-tags/require-returns.md)
|
|
91
|
+
- [`tsdoc-require-2/require-sealed`](../required-tags/require-sealed.md)
|
|
92
|
+
- [`tsdoc-require-2/require-see`](../required-tags/require-see.md)
|
|
93
|
+
- [`tsdoc-require-2/require-since`](../required-tags/require-since.md)
|
|
94
|
+
- [`tsdoc-require-2/require-sort-strategy`](../required-tags/require-sort-strategy.md)
|
|
95
|
+
- [`tsdoc-require-2/require-summary`](../required-tags/require-summary.md)
|
|
96
|
+
- [`tsdoc-require-2/require-template`](../required-tags/require-template.md)
|
|
97
|
+
- [`tsdoc-require-2/require-throws`](../required-tags/require-throws.md)
|
|
98
|
+
- [`tsdoc-require-2/require-type-param`](../required-tags/require-type-param.md)
|
|
99
|
+
- [`tsdoc-require-2/require-use-declared-type`](../required-tags/require-use-declared-type.md)
|
|
100
|
+
- [`tsdoc-require-2/require-virtual`](../required-tags/require-virtual.md)
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# detailed
|
|
2
|
+
|
|
3
|
+
Adds `@remarks` requirements on top of `recommended` for richer top-level docs.
|
|
4
|
+
|
|
5
|
+
## What this preset is for
|
|
6
|
+
|
|
7
|
+
Use `detailed` when comment presence alone is not enough and each declaration needs brief narrative context.
|
|
8
|
+
|
|
9
|
+
`@remarks` is useful for:
|
|
10
|
+
|
|
11
|
+
- behavior caveats
|
|
12
|
+
- compatibility notes
|
|
13
|
+
- rollout/deprecation guidance
|
|
14
|
+
|
|
15
|
+
## What this preset enables
|
|
16
|
+
|
|
17
|
+
- [`tsdoc-require-2/require`](../require.md)
|
|
18
|
+
- [`tsdoc-require-2/require-remarks`](../required-tags/require-remarks.md)
|
|
19
|
+
|
|
20
|
+
Compared to `recommended`, this adds structural pressure for richer docs without introducing broad tag policy yet.
|
|
21
|
+
|
|
22
|
+
## Config key
|
|
23
|
+
|
|
24
|
+
`tsdocRequire.configs.detailed`
|
|
25
|
+
|
|
26
|
+
## Flat Config example
|
|
27
|
+
|
|
28
|
+
```ts
|
|
29
|
+
import tsdocRequire from "eslint-plugin-tsdoc-require-2";
|
|
30
|
+
|
|
31
|
+
export default [
|
|
32
|
+
tsdocRequire.configs.detailed,
|
|
33
|
+
];
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Trade-offs
|
|
37
|
+
|
|
38
|
+
- More authoring effort than `recommended`.
|
|
39
|
+
- Better long-term clarity for teams maintaining shared APIs.
|
|
40
|
+
|
|
41
|
+
If you need function-signature tags (`@param`, `@returns`, `@throws`) next, move to [`jsdoc`](./jsdoc.md) or [`tsdoc`](./tsdoc.md).
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
# Presets Overview
|
|
2
|
+
|
|
3
|
+
Presets are curated rule bundles that help you adopt `eslint-plugin-tsdoc-require-2` in controlled stages.
|
|
4
|
+
|
|
5
|
+
Use one preset as your baseline, then add rule overrides for project-specific policy.
|
|
6
|
+
|
|
7
|
+
## How to choose quickly
|
|
8
|
+
|
|
9
|
+
| If you want... | Start with |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| Minimal comment presence enforcement | [`recommended`](./recommended.md) |
|
|
12
|
+
| More narrative context in docs | [`detailed`](./detailed.md) |
|
|
13
|
+
| Package-level docs for published libraries | [`packages`](./packages.md) |
|
|
14
|
+
| JSDoc-style function tag discipline | [`jsdoc`](./jsdoc.md) |
|
|
15
|
+
| TSDoc-first function + type-parameter docs with tag restrictions | [`tsdoc`](./tsdoc.md) |
|
|
16
|
+
| TypeDoc declaration-kind tagging | [`typedoc`](./typedoc.md) |
|
|
17
|
+
| Strict TypeDoc workflow with module/remarks and restricted tags | [`typedoc-strict`](./typedoc-strict.md) |
|
|
18
|
+
| Maximum strictness for audits or experiments | [`all`](./all.md) |
|
|
19
|
+
|
|
20
|
+
## Preset catalog
|
|
21
|
+
|
|
22
|
+
- [`recommended`](./recommended.md): Require docs to exist.
|
|
23
|
+
- [`detailed`](./detailed.md): `recommended` + require `@remarks`.
|
|
24
|
+
- [`packages`](./packages.md): `detailed` + require `@packageDocumentation`.
|
|
25
|
+
- [`typedoc`](./typedoc.md): TypeDoc declaration-kind tags.
|
|
26
|
+
- [`typedoc-strict`](./typedoc-strict.md): `typedoc` + module/remarks + restricted tags.
|
|
27
|
+
- [`tsdoc`](./tsdoc.md): TSDoc-style function/type tags + restricted tags.
|
|
28
|
+
- [`jsdoc`](./jsdoc.md): Function-oriented JSDoc-style tags.
|
|
29
|
+
- [`all`](./all.md): Every plugin rule.
|
|
30
|
+
|
|
31
|
+
## Preset migration ladder
|
|
32
|
+
|
|
33
|
+
Most teams succeed with this progression:
|
|
34
|
+
|
|
35
|
+
1. `recommended`
|
|
36
|
+
2. `detailed` or `jsdoc`
|
|
37
|
+
3. `tsdoc` or `typedoc` / `typedoc-strict`
|
|
38
|
+
|
|
39
|
+
Jumping straight to `all` is usually expensive and noisy unless your codebase already has consistent docs.
|
|
40
|
+
|
|
41
|
+
## How rules compose inside presets
|
|
42
|
+
|
|
43
|
+
Each preset combines the same three policy layers in different strengths:
|
|
44
|
+
|
|
45
|
+
1. **Presence layer**: `tsdoc-require-2/require`
|
|
46
|
+
2. **Required content layer**: one or more `require-*` tag rules
|
|
47
|
+
3. **Vocabulary control layer**: optional `tsdoc-require-2/restrict-tags`
|
|
48
|
+
|
|
49
|
+
This composition is why preset choice matters: two presets can include similar rules but express different documentation policy.
|
|
50
|
+
|
|
51
|
+
## Matrix overview
|
|
52
|
+
|
|
53
|
+
The matrix below is generated by `scripts/sync-presets-rules-matrix.mjs` and
|
|
54
|
+
kept in sync with the README.
|
|
55
|
+
|
|
56
|
+
<!-- BEGIN_PRESETS_MATRIX -->
|
|
57
|
+
|
|
58
|
+
### Preset matrix
|
|
59
|
+
|
|
60
|
+
- `Fix` legend:
|
|
61
|
+
- `🔧` = autofixable
|
|
62
|
+
- `💡` = suggestions available
|
|
63
|
+
- `—` = report only
|
|
64
|
+
- `Preset key` legend:
|
|
65
|
+
- [🟢](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/recommended) — [`tsdocRequire.configs.recommended`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/recommended) — Minimal baseline TSDoc enforcement.
|
|
66
|
+
- [🟡](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/detailed) — [`tsdocRequire.configs.detailed`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/detailed) — Require comments plus @remarks.
|
|
67
|
+
- [🟠](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/packages) — [`tsdocRequire.configs.packages`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/packages) — Package docs baseline with @packageDocumentation.
|
|
68
|
+
- [🔵](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/typedoc) — [`tsdocRequire.configs.typedoc`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/typedoc) — Conservative TypeDoc declaration-kind tags.
|
|
69
|
+
- [🔴](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/typedoc-strict) — [`tsdocRequire.configs["typedoc-strict"]`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/typedoc-strict) — Strict TypeDoc with module/remarks and tag restrictions.
|
|
70
|
+
- [🟣](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/tsdoc) — [`tsdocRequire.configs.tsdoc`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/tsdoc) — TSDoc-focused baseline with function/type tags plus tag restrictions.
|
|
71
|
+
- [🟦](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/jsdoc) — [`tsdocRequire.configs.jsdoc`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/jsdoc) — JSDoc-style function-tag baseline.
|
|
72
|
+
- [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) — [`tsdocRequire.configs.all`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) — All plugin rules. Use for audits and deliberate strictness.
|
|
73
|
+
|
|
74
|
+
| Rule | Fix | Preset key |
|
|
75
|
+
| --- | :---: | --- |
|
|
76
|
+
| [`tsdoc-require-2/require`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/require) | — | [🟢](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/recommended) [🟡](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/detailed) [🟠](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/packages) [🔵](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/typedoc) [🔴](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/typedoc-strict) [🟣](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/tsdoc) [🟦](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/jsdoc) [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
77
|
+
| [`tsdoc-require-2/require-abstract`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-abstract) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
78
|
+
| [`tsdoc-require-2/require-alpha`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-alpha) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
79
|
+
| [`tsdoc-require-2/require-author`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-author) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
80
|
+
| [`tsdoc-require-2/require-beta`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-beta) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
81
|
+
| [`tsdoc-require-2/require-category`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-category) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
82
|
+
| [`tsdoc-require-2/require-class`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-class) | — | [🔵](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/typedoc) [🔴](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/typedoc-strict) [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
83
|
+
| [`tsdoc-require-2/require-decorator`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-decorator) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
84
|
+
| [`tsdoc-require-2/require-default-value`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-default-value) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
85
|
+
| [`tsdoc-require-2/require-deprecated`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-deprecated) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
86
|
+
| [`tsdoc-require-2/require-document`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-document) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
87
|
+
| [`tsdoc-require-2/require-enum`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-enum) | — | [🔵](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/typedoc) [🔴](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/typedoc-strict) [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
88
|
+
| [`tsdoc-require-2/require-event`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-event) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
89
|
+
| [`tsdoc-require-2/require-event-property`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-event-property) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
90
|
+
| [`tsdoc-require-2/require-example`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-example) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
91
|
+
| [`tsdoc-require-2/require-expand`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-expand) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
92
|
+
| [`tsdoc-require-2/require-experimental`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-experimental) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
93
|
+
| [`tsdoc-require-2/require-function`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-function) | — | [🔵](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/typedoc) [🔴](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/typedoc-strict) [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
94
|
+
| [`tsdoc-require-2/require-group`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-group) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
95
|
+
| [`tsdoc-require-2/require-hidden`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-hidden) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
96
|
+
| [`tsdoc-require-2/require-hideconstructor`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-hideconstructor) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
97
|
+
| [`tsdoc-require-2/require-ignore`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-ignore) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
98
|
+
| [`tsdoc-require-2/require-import`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-import) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
99
|
+
| [`tsdoc-require-2/require-include`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-include) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
100
|
+
| [`tsdoc-require-2/require-inherit-doc`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-inherit-doc) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
101
|
+
| [`tsdoc-require-2/require-inline`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-inline) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
102
|
+
| [`tsdoc-require-2/require-interface`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-interface) | — | [🔵](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/typedoc) [🔴](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/typedoc-strict) [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
103
|
+
| [`tsdoc-require-2/require-internal`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-internal) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
104
|
+
| [`tsdoc-require-2/require-label`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-label) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
105
|
+
| [`tsdoc-require-2/require-license`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-license) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
106
|
+
| [`tsdoc-require-2/require-link`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-link) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
107
|
+
| [`tsdoc-require-2/require-merge-module-with`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-merge-module-with) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
108
|
+
| [`tsdoc-require-2/require-module`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-module) | — | [🔴](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/typedoc-strict) [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
109
|
+
| [`tsdoc-require-2/require-namespace`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-namespace) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
110
|
+
| [`tsdoc-require-2/require-overload`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-overload) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
111
|
+
| [`tsdoc-require-2/require-override`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-override) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
112
|
+
| [`tsdoc-require-2/require-package-documentation`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-package-documentation) | — | [🟠](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/packages) [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
113
|
+
| [`tsdoc-require-2/require-param`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-param) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/tsdoc) [🟦](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/jsdoc) [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
114
|
+
| [`tsdoc-require-2/require-primary-export`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-primary-export) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
115
|
+
| [`tsdoc-require-2/require-private`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-private) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
116
|
+
| [`tsdoc-require-2/require-private-remarks`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-private-remarks) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
117
|
+
| [`tsdoc-require-2/require-property`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-property) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
118
|
+
| [`tsdoc-require-2/require-protected`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-protected) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
119
|
+
| [`tsdoc-require-2/require-public`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-public) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
120
|
+
| [`tsdoc-require-2/require-readonly`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-readonly) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
121
|
+
| [`tsdoc-require-2/require-remarks`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-remarks) | — | [🟡](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/detailed) [🟠](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/packages) [🔴](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/typedoc-strict) [🟣](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/tsdoc) [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
122
|
+
| [`tsdoc-require-2/require-returns`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-returns) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/tsdoc) [🟦](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/jsdoc) [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
123
|
+
| [`tsdoc-require-2/require-sealed`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-sealed) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
124
|
+
| [`tsdoc-require-2/require-see`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-see) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
125
|
+
| [`tsdoc-require-2/require-since`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-since) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
126
|
+
| [`tsdoc-require-2/require-sort-strategy`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-sort-strategy) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
127
|
+
| [`tsdoc-require-2/require-summary`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-summary) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
128
|
+
| [`tsdoc-require-2/require-template`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-template) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
129
|
+
| [`tsdoc-require-2/require-throws`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-throws) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/tsdoc) [🟦](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/jsdoc) [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
130
|
+
| [`tsdoc-require-2/require-type-param`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-type-param) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/tsdoc) [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
131
|
+
| [`tsdoc-require-2/require-use-declared-type`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-use-declared-type) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
132
|
+
| [`tsdoc-require-2/require-virtual`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/required-tags/require-virtual) | — | [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
133
|
+
| [`tsdoc-require-2/restrict-tags`](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/restrict-tags) | — | [🔴](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/typedoc-strict) [🟣](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/tsdoc) [⚫](https://nick2bad4u.github.io/eslint-plugin-tsdoc-require-2/docs/rules/presets/all) |
|
|
134
|
+
|
|
135
|
+
<!-- END_PRESETS_MATRIX -->
|
|
136
|
+
|
|
137
|
+
## Flat Config usage pattern
|
|
138
|
+
|
|
139
|
+
Use one preset baseline, then add an override block.
|
|
140
|
+
|
|
141
|
+
```ts
|
|
142
|
+
import tsdocRequire from "eslint-plugin-tsdoc-require-2";
|
|
143
|
+
|
|
144
|
+
export default [
|
|
145
|
+
tsdocRequire.configs.tsdoc,
|
|
146
|
+
{
|
|
147
|
+
rules: {
|
|
148
|
+
"tsdoc-require-2/require": ["error", { exportMode: "all" }],
|
|
149
|
+
},
|
|
150
|
+
},
|
|
151
|
+
];
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
Avoid stacking multiple presets unless you intentionally want merge-order behavior.
|
|
155
|
+
|
|
156
|
+
For setup steps, see [Getting Started](../getting-started.md).
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# jsdoc
|
|
2
|
+
|
|
3
|
+
JSDoc-leaning preset focused on function documentation tags (`@param`, `@returns`, `@throws`).
|
|
4
|
+
|
|
5
|
+
## What this preset is for
|
|
6
|
+
|
|
7
|
+
Use `jsdoc` when you want a function-signature documentation baseline that feels familiar to JSDoc-heavy teams.
|
|
8
|
+
|
|
9
|
+
It is a practical option for:
|
|
10
|
+
|
|
11
|
+
- mixed JS/TS repositories
|
|
12
|
+
- teams migrating toward stronger docs without full TSDoc strictness
|
|
13
|
+
- service codebases that mainly care about function contracts
|
|
14
|
+
|
|
15
|
+
## What this preset enables
|
|
16
|
+
|
|
17
|
+
- [`tsdoc-require-2/require`](../require.md)
|
|
18
|
+
- [`tsdoc-require-2/require-param`](../required-tags/require-param.md) with `enforceFor: ["function"]`
|
|
19
|
+
- [`tsdoc-require-2/require-returns`](../required-tags/require-returns.md) with `enforceFor: ["function"]`
|
|
20
|
+
- [`tsdoc-require-2/require-throws`](../required-tags/require-throws.md) with `enforceFor: ["function"]`
|
|
21
|
+
|
|
22
|
+
## Important behavior detail
|
|
23
|
+
|
|
24
|
+
This preset scopes the tag rules to functions only. It does not require `@remarks`, `@typeParam`, or tag restrictions.
|
|
25
|
+
|
|
26
|
+
## Config key
|
|
27
|
+
|
|
28
|
+
`tsdocRequire.configs.jsdoc`
|
|
29
|
+
|
|
30
|
+
## Flat Config example
|
|
31
|
+
|
|
32
|
+
```ts
|
|
33
|
+
import tsdocRequire from "eslint-plugin-tsdoc-require-2";
|
|
34
|
+
|
|
35
|
+
export default [
|
|
36
|
+
tsdocRequire.configs.jsdoc,
|
|
37
|
+
];
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## When to choose a different preset
|
|
41
|
+
|
|
42
|
+
- Choose [`tsdoc`](./tsdoc.md) when you need stronger TSDoc conventions and restricted tag vocabulary.
|
|
43
|
+
- Choose [`recommended`](./recommended.md) when function tags would create too much migration noise initially.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# packages
|
|
2
|
+
|
|
3
|
+
Package-focused preset for package entrypoint and module-level narrative docs.
|
|
4
|
+
|
|
5
|
+
## What this preset is for
|
|
6
|
+
|
|
7
|
+
Use `packages` when you publish libraries/SDKs and want package-level documentation quality, not only declaration-level comments.
|
|
8
|
+
|
|
9
|
+
This preset is useful for:
|
|
10
|
+
|
|
11
|
+
- npm packages with public entrypoints
|
|
12
|
+
- monorepo packages with independent docs contracts
|
|
13
|
+
- API libraries that rely on `@packageDocumentation`
|
|
14
|
+
|
|
15
|
+
## What this preset enables
|
|
16
|
+
|
|
17
|
+
- [`tsdoc-require-2/require`](../require.md)
|
|
18
|
+
- [`tsdoc-require-2/require-remarks`](../required-tags/require-remarks.md)
|
|
19
|
+
- [`tsdoc-require-2/require-package-documentation`](../required-tags/require-package-documentation.md)
|
|
20
|
+
|
|
21
|
+
Compared to `detailed`, this adds package-level documentation intent.
|
|
22
|
+
|
|
23
|
+
## Config key
|
|
24
|
+
|
|
25
|
+
`tsdocRequire.configs.packages`
|
|
26
|
+
|
|
27
|
+
## Flat Config example
|
|
28
|
+
|
|
29
|
+
```ts
|
|
30
|
+
import tsdocRequire from "eslint-plugin-tsdoc-require-2";
|
|
31
|
+
|
|
32
|
+
export default [
|
|
33
|
+
tsdocRequire.configs.packages,
|
|
34
|
+
];
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Practical guidance
|
|
38
|
+
|
|
39
|
+
- Start here for library repos where docs are part of the public contract.
|
|
40
|
+
- Pair with [`tsdoc`](./tsdoc.md) if you also need strict function/type tag policy.
|
|
41
|
+
- If package-level docs are not relevant, `detailed` is usually a better baseline.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# recommended
|
|
2
|
+
|
|
3
|
+
Baseline preset that enforces TSDoc comment presence with `tsdoc-require-2/require`.
|
|
4
|
+
|
|
5
|
+
## What this preset is for
|
|
6
|
+
|
|
7
|
+
Use `recommended` when you need a low-friction starting point:
|
|
8
|
+
|
|
9
|
+
- enforce that API declarations are documented
|
|
10
|
+
- avoid immediate tag-level migration work
|
|
11
|
+
- establish a consistent baseline before adopting stricter tag policy
|
|
12
|
+
|
|
13
|
+
## What this preset enables
|
|
14
|
+
|
|
15
|
+
- [`tsdoc-require-2/require`](../require.md)
|
|
16
|
+
|
|
17
|
+
This preset only checks that comments exist. It does **not** require tags like `@param` or `@returns`, and it does not restrict tag vocabulary.
|
|
18
|
+
|
|
19
|
+
## Config key
|
|
20
|
+
|
|
21
|
+
`tsdocRequire.configs.recommended`
|
|
22
|
+
|
|
23
|
+
## Flat Config example
|
|
24
|
+
|
|
25
|
+
```ts
|
|
26
|
+
import tsdocRequire from "eslint-plugin-tsdoc-require-2";
|
|
27
|
+
|
|
28
|
+
export default [
|
|
29
|
+
tsdocRequire.configs.recommended,
|
|
30
|
+
];
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## When to choose a stricter preset
|
|
34
|
+
|
|
35
|
+
- Move to [`detailed`](./detailed.md) when every doc block should include `@remarks`.
|
|
36
|
+
- Move to [`jsdoc`](./jsdoc.md) or [`tsdoc`](./tsdoc.md) when function/tag contracts matter.
|
|
37
|
+
- Move to [`packages`](./packages.md) for package-level API docs.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# tsdoc
|
|
2
|
+
|
|
3
|
+
TSDoc-focused preset with function/type-parameter requirements and compatibility-tag restrictions.
|
|
4
|
+
|
|
5
|
+
## What this preset is for
|
|
6
|
+
|
|
7
|
+
Use `tsdoc` when you want a strong TSDoc baseline with both required content and vocabulary controls.
|
|
8
|
+
|
|
9
|
+
This preset works well for:
|
|
10
|
+
|
|
11
|
+
- TypeScript library APIs
|
|
12
|
+
- SDKs with strict documentation standards
|
|
13
|
+
- teams standardizing on TSDoc over mixed JSDoc/TypeDoc conventions
|
|
14
|
+
|
|
15
|
+
## What this preset enables
|
|
16
|
+
|
|
17
|
+
- [`tsdoc-require-2/require`](../require.md)
|
|
18
|
+
- [`tsdoc-require-2/require-remarks`](../required-tags/require-remarks.md)
|
|
19
|
+
- [`tsdoc-require-2/require-param`](../required-tags/require-param.md) with `enforceFor: ["function"]`
|
|
20
|
+
- [`tsdoc-require-2/require-returns`](../required-tags/require-returns.md) with `enforceFor: ["function"]`
|
|
21
|
+
- [`tsdoc-require-2/require-throws`](../required-tags/require-throws.md) with `enforceFor: ["function"]`
|
|
22
|
+
- [`tsdoc-require-2/require-type-param`](../required-tags/require-type-param.md) with `enforceFor: ["class", "function", "interface", "type"]`
|
|
23
|
+
- [`tsdoc-require-2/restrict-tags`](../restrict-tags.md) in deny mode for TypeDoc compatibility tags
|
|
24
|
+
|
|
25
|
+
## Why this preset is different from `jsdoc`
|
|
26
|
+
|
|
27
|
+
`jsdoc` focuses on function tags only. `tsdoc` adds stronger TSDoc structure (`@remarks`, `@typeParam`) and stricter tag vocabulary.
|
|
28
|
+
|
|
29
|
+
## Config key
|
|
30
|
+
|
|
31
|
+
`tsdocRequire.configs.tsdoc`
|
|
32
|
+
|
|
33
|
+
## Flat Config example
|
|
34
|
+
|
|
35
|
+
```ts
|
|
36
|
+
import tsdocRequire from "eslint-plugin-tsdoc-require-2";
|
|
37
|
+
|
|
38
|
+
export default [
|
|
39
|
+
tsdocRequire.configs.tsdoc,
|
|
40
|
+
];
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Common customization
|
|
44
|
+
|
|
45
|
+
If your docs intentionally use some TypeDoc tags, override `restrict-tags.tags` instead of disabling `restrict-tags` entirely.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# typedoc-strict
|
|
2
|
+
|
|
3
|
+
Stricter TypeDoc preset that also requires module remarks and denies compatibility-only block tags.
|
|
4
|
+
|
|
5
|
+
## What this preset is for
|
|
6
|
+
|
|
7
|
+
Use `typedoc-strict` when you want TypeDoc-oriented declaration tagging plus stricter narrative and tag vocabulary discipline.
|
|
8
|
+
|
|
9
|
+
This preset is a good fit for:
|
|
10
|
+
|
|
11
|
+
- public SDKs with strict documentation standards
|
|
12
|
+
- multi-package libraries with clear module-level docs requirements
|
|
13
|
+
- teams that need consistent TypeDoc-friendly output with reduced tag sprawl
|
|
14
|
+
|
|
15
|
+
## What this preset enables
|
|
16
|
+
|
|
17
|
+
- [`tsdoc-require-2/require`](../require.md)
|
|
18
|
+
- [`tsdoc-require-2/require-class`](../required-tags/require-class.md) with `enforceFor: ["class"]`
|
|
19
|
+
- [`tsdoc-require-2/require-enum`](../required-tags/require-enum.md) with `enforceFor: ["enum"]`
|
|
20
|
+
- [`tsdoc-require-2/require-function`](../required-tags/require-function.md) with `enforceFor: ["function"]`
|
|
21
|
+
- [`tsdoc-require-2/require-interface`](../required-tags/require-interface.md) with `enforceFor: ["interface"]`
|
|
22
|
+
- [`tsdoc-require-2/require-module`](../required-tags/require-module.md) with `enforceFor: ["namespace"]`
|
|
23
|
+
- [`tsdoc-require-2/require-remarks`](../required-tags/require-remarks.md)
|
|
24
|
+
- [`tsdoc-require-2/restrict-tags`](../restrict-tags.md) in deny mode for TypeDoc compatibility tags
|
|
25
|
+
|
|
26
|
+
## Why this preset is stricter than `typedoc`
|
|
27
|
+
|
|
28
|
+
Compared to `typedoc`, this preset adds:
|
|
29
|
+
|
|
30
|
+
- module-level docs (`@module`)
|
|
31
|
+
- narrative context (`@remarks`)
|
|
32
|
+
- explicit tag vocabulary restrictions
|
|
33
|
+
|
|
34
|
+
## Config key
|
|
35
|
+
|
|
36
|
+
`tsdocRequire.configs["typedoc-strict"]`
|
|
37
|
+
|
|
38
|
+
## Flat Config example
|
|
39
|
+
|
|
40
|
+
```ts
|
|
41
|
+
import tsdocRequire from "eslint-plugin-tsdoc-require-2";
|
|
42
|
+
|
|
43
|
+
export default [
|
|
44
|
+
tsdocRequire.configs["typedoc-strict"],
|
|
45
|
+
];
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Common customization
|
|
49
|
+
|
|
50
|
+
If your project intentionally uses some denied tags, override `restrict-tags.tags` with a narrower deny list instead of disabling the rule.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# typedoc
|
|
2
|
+
|
|
3
|
+
Conservative TypeDoc-oriented preset with declaration-kind tags that are safe to infer.
|
|
4
|
+
|
|
5
|
+
## What this preset is for
|
|
6
|
+
|
|
7
|
+
Use `typedoc` when your documentation pipeline expects explicit TypeDoc-style declaration tags.
|
|
8
|
+
|
|
9
|
+
This preset is useful for codebases that:
|
|
10
|
+
|
|
11
|
+
- generate docs with TypeDoc
|
|
12
|
+
- want explicit declaration classification tags
|
|
13
|
+
- are not ready for broader strictness from `typedoc-strict`
|
|
14
|
+
|
|
15
|
+
## What this preset enables
|
|
16
|
+
|
|
17
|
+
- [`tsdoc-require-2/require`](../require.md)
|
|
18
|
+
- [`tsdoc-require-2/require-class`](../required-tags/require-class.md) with `enforceFor: ["class"]`
|
|
19
|
+
- [`tsdoc-require-2/require-enum`](../required-tags/require-enum.md) with `enforceFor: ["enum"]`
|
|
20
|
+
- [`tsdoc-require-2/require-function`](../required-tags/require-function.md) with `enforceFor: ["function"]`
|
|
21
|
+
- [`tsdoc-require-2/require-interface`](../required-tags/require-interface.md) with `enforceFor: ["interface"]`
|
|
22
|
+
|
|
23
|
+
## Trade-offs
|
|
24
|
+
|
|
25
|
+
- Focused on declaration-kind tags, not broader narrative or function-signature tag coverage.
|
|
26
|
+
- Does not include `restrict-tags`; add it manually if tag vocabulary control matters.
|
|
27
|
+
|
|
28
|
+
## Config key
|
|
29
|
+
|
|
30
|
+
`tsdocRequire.configs.typedoc`
|
|
31
|
+
|
|
32
|
+
## Flat Config example
|
|
33
|
+
|
|
34
|
+
```ts
|
|
35
|
+
import tsdocRequire from "eslint-plugin-tsdoc-require-2";
|
|
36
|
+
|
|
37
|
+
export default [
|
|
38
|
+
tsdocRequire.configs.typedoc,
|
|
39
|
+
];
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Next step
|
|
43
|
+
|
|
44
|
+
Move to [`typedoc-strict`](./typedoc-strict.md) for module-level remarks and tag restrictions.
|