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,73 @@
|
|
|
1
|
+
# tsdoc-require-2/require-enum
|
|
2
|
+
|
|
3
|
+
Require the `@enum` 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 `@enum`.
|
|
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
|
+
`@enum` 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 (enum-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-enum": ["error", { enforceFor: ["enum"] }],
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## ❌ Incorrect
|
|
41
|
+
|
|
42
|
+
```ts
|
|
43
|
+
/**
|
|
44
|
+
* Status values accepted by the API.
|
|
45
|
+
*/
|
|
46
|
+
export enum Status {
|
|
47
|
+
Ready = "ready",
|
|
48
|
+
Running = "running",
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## ✅ Correct
|
|
53
|
+
|
|
54
|
+
```ts
|
|
55
|
+
/**
|
|
56
|
+
* Status values accepted by the API.
|
|
57
|
+
* @enum
|
|
58
|
+
*/
|
|
59
|
+
export enum Status {
|
|
60
|
+
Ready = "ready",
|
|
61
|
+
Running = "running",
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## When not to use it
|
|
66
|
+
|
|
67
|
+
Disable this rule if your documentation convention does not require `@enum` on the declarations targeted by your configuration.
|
|
68
|
+
|
|
69
|
+
## Further reading
|
|
70
|
+
|
|
71
|
+
- [TSDoc](https://tsdoc.org)
|
|
72
|
+
- [TypeDoc Tags](https://typedoc.org/documents/Tags.html)
|
|
73
|
+
- [required-tags](../required-tags.md)
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# tsdoc-require-2/require-event
|
|
2
|
+
|
|
3
|
+
Require the `@event` 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 `@event`. 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
|
+
* @event
|
|
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 `@event` 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-expand
|
|
2
|
+
|
|
3
|
+
Require the `@expand` 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 `@expand`. 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
|
+
* @expand
|
|
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 `@expand` 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,74 @@
|
|
|
1
|
+
# tsdoc-require-2/require-function
|
|
2
|
+
|
|
3
|
+
Require the `@function` 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 `@function`.
|
|
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
|
+
`@function` 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 (function-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-function": [
|
|
35
|
+
"error",
|
|
36
|
+
{ enforceFor: ["function"] },
|
|
37
|
+
],
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
];
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## ❌ Incorrect
|
|
44
|
+
|
|
45
|
+
```ts
|
|
46
|
+
/**
|
|
47
|
+
* Creates a stable slug for a title.
|
|
48
|
+
*/
|
|
49
|
+
export function toSlug(value: string): string {
|
|
50
|
+
return value.trim().toLowerCase();
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## ✅ Correct
|
|
55
|
+
|
|
56
|
+
```ts
|
|
57
|
+
/**
|
|
58
|
+
* Creates a stable slug for a title.
|
|
59
|
+
* @function
|
|
60
|
+
*/
|
|
61
|
+
export function toSlug(value: string): string {
|
|
62
|
+
return value.trim().toLowerCase();
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## When not to use it
|
|
67
|
+
|
|
68
|
+
Disable this rule if your documentation convention does not require `@function` on the declarations targeted by your configuration.
|
|
69
|
+
|
|
70
|
+
## Further reading
|
|
71
|
+
|
|
72
|
+
- [TSDoc](https://tsdoc.org)
|
|
73
|
+
- [TypeDoc Tags](https://typedoc.org/documents/Tags.html)
|
|
74
|
+
- [required-tags](../required-tags.md)
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# tsdoc-require-2/require-group
|
|
2
|
+
|
|
3
|
+
Require the `@group` 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 `@group`. 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
|
+
* @group
|
|
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 `@group` 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-hidden
|
|
2
|
+
|
|
3
|
+
Require the `@hidden` 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 `@hidden`. 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
|
+
* @hidden
|
|
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 `@hidden` 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-hideconstructor
|
|
2
|
+
|
|
3
|
+
Require the `@hideconstructor` 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 `@hideconstructor`. 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
|
+
* @hideconstructor
|
|
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 `@hideconstructor` 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-ignore
|
|
2
|
+
|
|
3
|
+
Require the `@ignore` 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 `@ignore`. 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
|
+
* @ignore
|
|
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 `@ignore` 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)
|