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
package/docs/rules/require.md
CHANGED
|
@@ -1,32 +1,49 @@
|
|
|
1
1
|
# tsdoc-require-2/require
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Require TSDoc comments for supported TypeScript declarations and default exports, with configurable export scope.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
> **Rule catalog ID:** R001
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
## Targeted pattern scope
|
|
8
|
+
|
|
9
|
+
By default, this rule reports supported **exported** declarations that do not have a TSDoc block comment (`/** ... */`) directly above them.
|
|
10
|
+
|
|
11
|
+
It evaluates top-level declarations and handles both inline exports and export specifiers.
|
|
12
|
+
|
|
13
|
+
## What this rule reports
|
|
8
14
|
|
|
9
15
|
It checks:
|
|
10
16
|
|
|
11
17
|
- exported classes
|
|
12
18
|
- exported functions
|
|
13
19
|
- exported interfaces
|
|
20
|
+
- exported namespaces and `declare module` declarations
|
|
14
21
|
- exported type aliases
|
|
15
22
|
- exported enums
|
|
16
23
|
- exported variables
|
|
17
24
|
- default exports (including default-exported identifiers)
|
|
18
25
|
|
|
19
|
-
|
|
26
|
+
For default exports, supported expression forms include function/class expressions, object expressions, and arrow functions.
|
|
27
|
+
|
|
28
|
+
When `exportMode: "all"` is enabled, the same checks also apply to non-exported top-level declarations. When `exportMode: "non-exported"` is enabled, only non-exported top-level declarations are checked.
|
|
20
29
|
|
|
21
|
-
Why this
|
|
30
|
+
## Why this rule exists
|
|
22
31
|
|
|
23
|
-
|
|
32
|
+
If exported APIs are undocumented, consumers have to infer contracts from implementation details.
|
|
33
|
+
|
|
34
|
+
This rule is the foundation for the plugin’s policy model:
|
|
35
|
+
|
|
36
|
+
- [`required-tags`](./required-tags.md) rules validate comment content.
|
|
37
|
+
- [`restrict-tags`](./restrict-tags.md) validates tag vocabulary.
|
|
38
|
+
- `require` ensures those checks have an actual comment block to validate.
|
|
39
|
+
|
|
40
|
+
## ❌ Incorrect
|
|
24
41
|
|
|
25
42
|
```ts
|
|
26
43
|
export class MissingDocs {}
|
|
27
44
|
|
|
28
45
|
interface Shape {
|
|
29
|
-
|
|
46
|
+
radius: number;
|
|
30
47
|
}
|
|
31
48
|
|
|
32
49
|
export { Shape };
|
|
@@ -35,7 +52,7 @@ const createUser = () => ({ id: "1" });
|
|
|
35
52
|
export default createUser;
|
|
36
53
|
```
|
|
37
54
|
|
|
38
|
-
|
|
55
|
+
## ✅ Correct
|
|
39
56
|
|
|
40
57
|
```ts
|
|
41
58
|
/** Public class used by external callers. */
|
|
@@ -43,7 +60,7 @@ export class DocumentedClass {}
|
|
|
43
60
|
|
|
44
61
|
/** Shape shared in the public API. */
|
|
45
62
|
interface Shape {
|
|
46
|
-
|
|
63
|
+
radius: number;
|
|
47
64
|
}
|
|
48
65
|
|
|
49
66
|
export { Shape };
|
|
@@ -53,24 +70,35 @@ const createUser = () => ({ id: "1" });
|
|
|
53
70
|
export default createUser;
|
|
54
71
|
```
|
|
55
72
|
|
|
56
|
-
##
|
|
73
|
+
## Behavior and migration notes
|
|
74
|
+
|
|
75
|
+
- Start with `exportMode: "exported"` to enforce public API docs first.
|
|
76
|
+
- Expand to `"all"` when internal top-level declarations should also be documented.
|
|
77
|
+
- Keep `exportMode` and `enforceFor` aligned with `require-*` and `restrict-tags` rules so documentation policy remains consistent.
|
|
78
|
+
- `includeNonExported` remains supported as a legacy alias for `exportMode: "all"`, but new configurations should prefer `exportMode`.
|
|
79
|
+
|
|
80
|
+
## Additional examples
|
|
81
|
+
|
|
82
|
+
### Options
|
|
57
83
|
|
|
58
84
|
This rule accepts one optional object.
|
|
59
85
|
|
|
60
86
|
```ts
|
|
61
87
|
type Options = [
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
88
|
+
{
|
|
89
|
+
enforceFor?: Array<
|
|
90
|
+
"class" |
|
|
91
|
+
"enum" |
|
|
92
|
+
"function" |
|
|
93
|
+
"interface" |
|
|
94
|
+
"namespace" |
|
|
95
|
+
"object" |
|
|
96
|
+
"type" |
|
|
97
|
+
"variable"
|
|
98
|
+
>;
|
|
99
|
+
exportMode?: "all" | "exported" | "non-exported";
|
|
100
|
+
includeNonExported?: boolean;
|
|
101
|
+
},
|
|
74
102
|
];
|
|
75
103
|
```
|
|
76
104
|
|
|
@@ -78,10 +106,10 @@ Default options:
|
|
|
78
106
|
|
|
79
107
|
```ts
|
|
80
108
|
[
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
109
|
+
{
|
|
110
|
+
enforceFor: ["class", "enum", "function", "interface", "namespace", "object", "type", "variable"],
|
|
111
|
+
exportMode: "exported",
|
|
112
|
+
},
|
|
85
113
|
]
|
|
86
114
|
```
|
|
87
115
|
|
|
@@ -95,25 +123,29 @@ Example flat config that only enforces docs for classes and functions:
|
|
|
95
123
|
import tsdocRequire from "eslint-plugin-tsdoc-require-2";
|
|
96
124
|
|
|
97
125
|
export default [
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
126
|
+
{
|
|
127
|
+
plugins: {
|
|
128
|
+
"tsdoc-require-2": tsdocRequire,
|
|
129
|
+
},
|
|
130
|
+
rules: {
|
|
131
|
+
"tsdoc-require-2/require": [
|
|
132
|
+
"error",
|
|
133
|
+
{
|
|
134
|
+
enforceFor: ["class", "function"],
|
|
135
|
+
},
|
|
136
|
+
],
|
|
137
|
+
},
|
|
138
|
+
},
|
|
111
139
|
];
|
|
112
140
|
```
|
|
113
141
|
|
|
114
|
-
### `
|
|
142
|
+
### `exportMode`
|
|
143
|
+
|
|
144
|
+
Controls whether the rule checks exported declarations, non-exported top-level declarations, or both.
|
|
115
145
|
|
|
116
|
-
|
|
146
|
+
- `"exported"` (default): check exported declarations and default exports.
|
|
147
|
+
- `"non-exported"`: only check supported non-exported top-level declarations.
|
|
148
|
+
- `"all"`: check both exported and non-exported top-level declarations.
|
|
117
149
|
|
|
118
150
|
Example flat config:
|
|
119
151
|
|
|
@@ -121,27 +153,31 @@ Example flat config:
|
|
|
121
153
|
import tsdocRequire from "eslint-plugin-tsdoc-require-2";
|
|
122
154
|
|
|
123
155
|
export default [
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
156
|
+
{
|
|
157
|
+
plugins: {
|
|
158
|
+
"tsdoc-require-2": tsdocRequire,
|
|
159
|
+
},
|
|
160
|
+
rules: {
|
|
161
|
+
"tsdoc-require-2/require": [
|
|
162
|
+
"error",
|
|
163
|
+
{
|
|
164
|
+
exportMode: "all",
|
|
165
|
+
},
|
|
166
|
+
],
|
|
167
|
+
},
|
|
168
|
+
},
|
|
137
169
|
];
|
|
138
170
|
```
|
|
139
171
|
|
|
140
|
-
|
|
172
|
+
### `includeNonExported`
|
|
173
|
+
|
|
174
|
+
`includeNonExported` is still supported as a backward-compatible alias for `exportMode: "all"`. Prefer `exportMode` in new configurations because it can also express `"non-exported"` explicitly.
|
|
175
|
+
|
|
176
|
+
## When not to use it
|
|
141
177
|
|
|
142
178
|
Disable this rule if your project intentionally does not require API documentation on exported declarations (or internal declarations when `includeNonExported` is enabled).
|
|
143
179
|
|
|
144
|
-
## Further
|
|
180
|
+
## Further reading
|
|
145
181
|
|
|
146
182
|
- [TSDoc](https://tsdoc.org)
|
|
147
183
|
- [ESLint custom rule docs](https://eslint.org/docs/latest/extend/custom-rules)
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# tsdoc-require-2/require-abstract
|
|
2
|
+
|
|
3
|
+
Require the `@abstract` tag in TSDoc blocks for supported TypeScript declarations.
|
|
4
|
+
|
|
5
|
+
## Rule Details
|
|
6
|
+
|
|
7
|
+
This rule reports supported declarations and default exports when a TSDoc block exists but does not contain `@abstract`. It does not create the TSDoc block itself, so pair it with [`tsdoc-require-2/require`](../require.md) when you also want to require the comment.
|
|
8
|
+
|
|
9
|
+
## Options
|
|
10
|
+
|
|
11
|
+
This rule accepts the same options as [`tsdoc-require-2/require`](../require.md):
|
|
12
|
+
|
|
13
|
+
- `enforceFor`: limit which declaration kinds are checked.
|
|
14
|
+
- `exportMode`: choose whether to check exported declarations, non-exported top-level declarations, or both.
|
|
15
|
+
- `includeNonExported`: legacy alias for `exportMode: "all"`.
|
|
16
|
+
|
|
17
|
+
```ts
|
|
18
|
+
type Options = [
|
|
19
|
+
{
|
|
20
|
+
enforceFor?: Array<
|
|
21
|
+
| "class"
|
|
22
|
+
| "enum"
|
|
23
|
+
| "function"
|
|
24
|
+
| "interface"
|
|
25
|
+
| "namespace"
|
|
26
|
+
| "object"
|
|
27
|
+
| "type"
|
|
28
|
+
| "variable"
|
|
29
|
+
>;
|
|
30
|
+
exportMode?: "all" | "exported" | "non-exported";
|
|
31
|
+
includeNonExported?: boolean;
|
|
32
|
+
},
|
|
33
|
+
];
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Default options:
|
|
37
|
+
|
|
38
|
+
```ts
|
|
39
|
+
[
|
|
40
|
+
{
|
|
41
|
+
enforceFor: [
|
|
42
|
+
"class",
|
|
43
|
+
"enum",
|
|
44
|
+
"function",
|
|
45
|
+
"interface",
|
|
46
|
+
"namespace",
|
|
47
|
+
"object",
|
|
48
|
+
"type",
|
|
49
|
+
"variable",
|
|
50
|
+
],
|
|
51
|
+
exportMode: "exported",
|
|
52
|
+
},
|
|
53
|
+
]
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## ❌ Incorrect
|
|
57
|
+
|
|
58
|
+
```ts
|
|
59
|
+
/**
|
|
60
|
+
* Performs a tagged operation.
|
|
61
|
+
*/
|
|
62
|
+
export function taggedFunction(value: string): string {
|
|
63
|
+
return value;
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## ✅ Correct
|
|
68
|
+
|
|
69
|
+
```ts
|
|
70
|
+
/**
|
|
71
|
+
* Performs a tagged operation.
|
|
72
|
+
* @abstract
|
|
73
|
+
*/
|
|
74
|
+
export function taggedFunction(value: string): string {
|
|
75
|
+
return value;
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## When Not To Use It
|
|
80
|
+
|
|
81
|
+
Disable this rule if your documentation convention does not require `@abstract` on the declarations targeted by your configuration.
|
|
82
|
+
|
|
83
|
+
## Further Reading
|
|
84
|
+
|
|
85
|
+
- [TSDoc](https://tsdoc.org)
|
|
86
|
+
- [TypeDoc Tags](https://typedoc.org/documents/Tags.html)
|
|
87
|
+
- [required-tags](../required-tags.md)
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# tsdoc-require-2/require-author
|
|
2
|
+
|
|
3
|
+
Require the `@author` tag in TSDoc blocks for supported TypeScript declarations.
|
|
4
|
+
|
|
5
|
+
## Rule Details
|
|
6
|
+
|
|
7
|
+
This rule reports supported declarations and default exports when a TSDoc block exists but does not contain `@author`. It does not create the TSDoc block itself, so pair it with [`tsdoc-require-2/require`](../require.md) when you also want to require the comment.
|
|
8
|
+
|
|
9
|
+
## Options
|
|
10
|
+
|
|
11
|
+
This rule accepts the same options as [`tsdoc-require-2/require`](../require.md):
|
|
12
|
+
|
|
13
|
+
- `enforceFor`: limit which declaration kinds are checked.
|
|
14
|
+
- `exportMode`: choose whether to check exported declarations, non-exported top-level declarations, or both.
|
|
15
|
+
- `includeNonExported`: legacy alias for `exportMode: "all"`.
|
|
16
|
+
|
|
17
|
+
```ts
|
|
18
|
+
type Options = [
|
|
19
|
+
{
|
|
20
|
+
enforceFor?: Array<
|
|
21
|
+
| "class"
|
|
22
|
+
| "enum"
|
|
23
|
+
| "function"
|
|
24
|
+
| "interface"
|
|
25
|
+
| "namespace"
|
|
26
|
+
| "object"
|
|
27
|
+
| "type"
|
|
28
|
+
| "variable"
|
|
29
|
+
>;
|
|
30
|
+
exportMode?: "all" | "exported" | "non-exported";
|
|
31
|
+
includeNonExported?: boolean;
|
|
32
|
+
},
|
|
33
|
+
];
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Default options:
|
|
37
|
+
|
|
38
|
+
```ts
|
|
39
|
+
[
|
|
40
|
+
{
|
|
41
|
+
enforceFor: [
|
|
42
|
+
"class",
|
|
43
|
+
"enum",
|
|
44
|
+
"function",
|
|
45
|
+
"interface",
|
|
46
|
+
"namespace",
|
|
47
|
+
"object",
|
|
48
|
+
"type",
|
|
49
|
+
"variable",
|
|
50
|
+
],
|
|
51
|
+
exportMode: "exported",
|
|
52
|
+
},
|
|
53
|
+
]
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## ❌ Incorrect
|
|
57
|
+
|
|
58
|
+
```ts
|
|
59
|
+
/**
|
|
60
|
+
* Performs a tagged operation.
|
|
61
|
+
*/
|
|
62
|
+
export function taggedFunction(value: string): string {
|
|
63
|
+
return value;
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## ✅ Correct
|
|
68
|
+
|
|
69
|
+
```ts
|
|
70
|
+
/**
|
|
71
|
+
* Performs a tagged operation.
|
|
72
|
+
* @author
|
|
73
|
+
*/
|
|
74
|
+
export function taggedFunction(value: string): string {
|
|
75
|
+
return value;
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## When Not To Use It
|
|
80
|
+
|
|
81
|
+
Disable this rule if your documentation convention does not require `@author` on the declarations targeted by your configuration.
|
|
82
|
+
|
|
83
|
+
## Further Reading
|
|
84
|
+
|
|
85
|
+
- [TSDoc](https://tsdoc.org)
|
|
86
|
+
- [TypeDoc Tags](https://typedoc.org/documents/Tags.html)
|
|
87
|
+
- [required-tags](../required-tags.md)
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# tsdoc-require-2/require-category
|
|
2
|
+
|
|
3
|
+
Require the `@category` tag in TSDoc blocks for supported TypeScript declarations.
|
|
4
|
+
|
|
5
|
+
## Rule Details
|
|
6
|
+
|
|
7
|
+
This rule reports supported declarations and default exports when a TSDoc block exists but does not contain `@category`. It does not create the TSDoc block itself, so pair it with [`tsdoc-require-2/require`](../require.md) when you also want to require the comment.
|
|
8
|
+
|
|
9
|
+
## Options
|
|
10
|
+
|
|
11
|
+
This rule accepts the same options as [`tsdoc-require-2/require`](../require.md):
|
|
12
|
+
|
|
13
|
+
- `enforceFor`: limit which declaration kinds are checked.
|
|
14
|
+
- `exportMode`: choose whether to check exported declarations, non-exported top-level declarations, or both.
|
|
15
|
+
- `includeNonExported`: legacy alias for `exportMode: "all"`.
|
|
16
|
+
|
|
17
|
+
```ts
|
|
18
|
+
type Options = [
|
|
19
|
+
{
|
|
20
|
+
enforceFor?: Array<
|
|
21
|
+
| "class"
|
|
22
|
+
| "enum"
|
|
23
|
+
| "function"
|
|
24
|
+
| "interface"
|
|
25
|
+
| "namespace"
|
|
26
|
+
| "object"
|
|
27
|
+
| "type"
|
|
28
|
+
| "variable"
|
|
29
|
+
>;
|
|
30
|
+
exportMode?: "all" | "exported" | "non-exported";
|
|
31
|
+
includeNonExported?: boolean;
|
|
32
|
+
},
|
|
33
|
+
];
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Default options:
|
|
37
|
+
|
|
38
|
+
```ts
|
|
39
|
+
[
|
|
40
|
+
{
|
|
41
|
+
enforceFor: [
|
|
42
|
+
"class",
|
|
43
|
+
"enum",
|
|
44
|
+
"function",
|
|
45
|
+
"interface",
|
|
46
|
+
"namespace",
|
|
47
|
+
"object",
|
|
48
|
+
"type",
|
|
49
|
+
"variable",
|
|
50
|
+
],
|
|
51
|
+
exportMode: "exported",
|
|
52
|
+
},
|
|
53
|
+
]
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## ❌ Incorrect
|
|
57
|
+
|
|
58
|
+
```ts
|
|
59
|
+
/**
|
|
60
|
+
* Performs a tagged operation.
|
|
61
|
+
*/
|
|
62
|
+
export function taggedFunction(value: string): string {
|
|
63
|
+
return value;
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## ✅ Correct
|
|
68
|
+
|
|
69
|
+
```ts
|
|
70
|
+
/**
|
|
71
|
+
* Performs a tagged operation.
|
|
72
|
+
* @category
|
|
73
|
+
*/
|
|
74
|
+
export function taggedFunction(value: string): string {
|
|
75
|
+
return value;
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## When Not To Use It
|
|
80
|
+
|
|
81
|
+
Disable this rule if your documentation convention does not require `@category` on the declarations targeted by your configuration.
|
|
82
|
+
|
|
83
|
+
## Further Reading
|
|
84
|
+
|
|
85
|
+
- [TSDoc](https://tsdoc.org)
|
|
86
|
+
- [TypeDoc Tags](https://typedoc.org/documents/Tags.html)
|
|
87
|
+
- [required-tags](../required-tags.md)
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# tsdoc-require-2/require-class
|
|
2
|
+
|
|
3
|
+
Require the `@class` tag in TSDoc blocks for supported TypeScript declarations.
|
|
4
|
+
|
|
5
|
+
## Rule details
|
|
6
|
+
|
|
7
|
+
This rule reports declarations that already have TSDoc but do not contain `@class`.
|
|
8
|
+
|
|
9
|
+
It does not create a TSDoc block. Pair it with [`tsdoc-require-2/require`](../require.md) when you also want to require comments.
|
|
10
|
+
|
|
11
|
+
## Why use it
|
|
12
|
+
|
|
13
|
+
`@class` can help teams and doc generators that expect explicit declaration-kind tags.
|
|
14
|
+
|
|
15
|
+
## Options
|
|
16
|
+
|
|
17
|
+
This rule accepts the same options as [`tsdoc-require-2/require`](../require.md):
|
|
18
|
+
|
|
19
|
+
- `enforceFor`: limit which declaration kinds are checked.
|
|
20
|
+
- `exportMode`: choose whether to check exported declarations, non-exported top-level declarations, or both.
|
|
21
|
+
- `includeNonExported`: legacy alias for `exportMode: "all"`.
|
|
22
|
+
|
|
23
|
+
Flat config example (class-only scope):
|
|
24
|
+
|
|
25
|
+
```ts
|
|
26
|
+
import tsdocRequire from "eslint-plugin-tsdoc-require-2";
|
|
27
|
+
|
|
28
|
+
export default [
|
|
29
|
+
{
|
|
30
|
+
plugins: {
|
|
31
|
+
"tsdoc-require-2": tsdocRequire,
|
|
32
|
+
},
|
|
33
|
+
rules: {
|
|
34
|
+
"tsdoc-require-2/require-class": ["error", { enforceFor: ["class"] }],
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## ❌ Incorrect
|
|
41
|
+
|
|
42
|
+
```ts
|
|
43
|
+
/**
|
|
44
|
+
* Represents a cache entry.
|
|
45
|
+
*/
|
|
46
|
+
export class CacheEntry {
|
|
47
|
+
public constructor(public readonly key: string) {}
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## ✅ Correct
|
|
52
|
+
|
|
53
|
+
```ts
|
|
54
|
+
/**
|
|
55
|
+
* Represents a cache entry.
|
|
56
|
+
* @class
|
|
57
|
+
*/
|
|
58
|
+
export class CacheEntry {
|
|
59
|
+
public constructor(public readonly key: string) {}
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## When not to use it
|
|
64
|
+
|
|
65
|
+
Disable this rule if your documentation convention does not require `@class` on the declarations targeted by your configuration.
|
|
66
|
+
|
|
67
|
+
## Further reading
|
|
68
|
+
|
|
69
|
+
- [TSDoc](https://tsdoc.org)
|
|
70
|
+
- [TypeDoc Tags](https://typedoc.org/documents/Tags.html)
|
|
71
|
+
- [required-tags](../required-tags.md)
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# tsdoc-require-2/require-document
|
|
2
|
+
|
|
3
|
+
Require the `@document` tag in TSDoc blocks for supported TypeScript declarations.
|
|
4
|
+
|
|
5
|
+
## Rule Details
|
|
6
|
+
|
|
7
|
+
This rule reports supported declarations and default exports when a TSDoc block exists but does not contain `@document`. It does not create the TSDoc block itself, so pair it with [`tsdoc-require-2/require`](../require.md) when you also want to require the comment.
|
|
8
|
+
|
|
9
|
+
## Options
|
|
10
|
+
|
|
11
|
+
This rule accepts the same options as [`tsdoc-require-2/require`](../require.md):
|
|
12
|
+
|
|
13
|
+
- `enforceFor`: limit which declaration kinds are checked.
|
|
14
|
+
- `exportMode`: choose whether to check exported declarations, non-exported top-level declarations, or both.
|
|
15
|
+
- `includeNonExported`: legacy alias for `exportMode: "all"`.
|
|
16
|
+
|
|
17
|
+
```ts
|
|
18
|
+
type Options = [
|
|
19
|
+
{
|
|
20
|
+
enforceFor?: Array<
|
|
21
|
+
| "class"
|
|
22
|
+
| "enum"
|
|
23
|
+
| "function"
|
|
24
|
+
| "interface"
|
|
25
|
+
| "namespace"
|
|
26
|
+
| "object"
|
|
27
|
+
| "type"
|
|
28
|
+
| "variable"
|
|
29
|
+
>;
|
|
30
|
+
exportMode?: "all" | "exported" | "non-exported";
|
|
31
|
+
includeNonExported?: boolean;
|
|
32
|
+
},
|
|
33
|
+
];
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Default options:
|
|
37
|
+
|
|
38
|
+
```ts
|
|
39
|
+
[
|
|
40
|
+
{
|
|
41
|
+
enforceFor: [
|
|
42
|
+
"class",
|
|
43
|
+
"enum",
|
|
44
|
+
"function",
|
|
45
|
+
"interface",
|
|
46
|
+
"namespace",
|
|
47
|
+
"object",
|
|
48
|
+
"type",
|
|
49
|
+
"variable",
|
|
50
|
+
],
|
|
51
|
+
exportMode: "exported",
|
|
52
|
+
},
|
|
53
|
+
]
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## ❌ Incorrect
|
|
57
|
+
|
|
58
|
+
```ts
|
|
59
|
+
/**
|
|
60
|
+
* Performs a tagged operation.
|
|
61
|
+
*/
|
|
62
|
+
export function taggedFunction(value: string): string {
|
|
63
|
+
return value;
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## ✅ Correct
|
|
68
|
+
|
|
69
|
+
```ts
|
|
70
|
+
/**
|
|
71
|
+
* Performs a tagged operation.
|
|
72
|
+
* @document
|
|
73
|
+
*/
|
|
74
|
+
export function taggedFunction(value: string): string {
|
|
75
|
+
return value;
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## When Not To Use It
|
|
80
|
+
|
|
81
|
+
Disable this rule if your documentation convention does not require `@document` on the declarations targeted by your configuration.
|
|
82
|
+
|
|
83
|
+
## Further Reading
|
|
84
|
+
|
|
85
|
+
- [TSDoc](https://tsdoc.org)
|
|
86
|
+
- [TypeDoc Tags](https://typedoc.org/documents/Tags.html)
|
|
87
|
+
- [required-tags](../required-tags.md)
|