eslint-plugin-tsdoc-require-2 1.0.7 → 1.0.9
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
|
@@ -1,38 +1,13 @@
|
|
|
1
1
|
import type { TSESLint } from "@typescript-eslint/utils";
|
|
2
2
|
import type { TagRuleDefinition, TagRuleMessageIds, TagRuleOptions } from "../internal/require-tag-factory.js";
|
|
3
|
+
/** Union of all required-tag rule names exported by this plugin. */
|
|
4
|
+
type RequiredTagRuleName = "require-abstract" | "require-alpha" | "require-author" | "require-beta" | "require-category" | "require-class" | "require-decorator" | "require-default-value" | "require-deprecated" | "require-document" | "require-enum" | "require-event" | "require-event-property" | "require-example" | "require-expand" | "require-experimental" | "require-function" | "require-group" | "require-hidden" | "require-hideconstructor" | "require-ignore" | "require-import" | "require-include" | "require-inherit-doc" | "require-inline" | "require-interface" | "require-internal" | "require-label" | "require-license" | "require-link" | "require-merge-module-with" | "require-module" | "require-namespace" | "require-overload" | "require-override" | "require-package-documentation" | "require-param" | "require-primary-export" | "require-private" | "require-private-remarks" | "require-property" | "require-protected" | "require-public" | "require-readonly" | "require-remarks" | "require-returns" | "require-sealed" | "require-see" | "require-since" | "require-sort-strategy" | "require-summary" | "require-template" | "require-throws" | "require-type-param" | "require-use-declared-type" | "require-virtual";
|
|
5
|
+
type TagRuleModuleMap = Record<string, TSESLint.RuleModule<TagRuleMessageIds, TagRuleOptions>>;
|
|
3
6
|
/** Definitions that map each required-tag rule name to its required TSDoc tag. */
|
|
4
7
|
declare const requiredTagDefinitions: readonly TagRuleDefinition[];
|
|
5
|
-
type RequiredTagRules = {
|
|
6
|
-
"require-alpha": TSESLint.RuleModule<TagRuleMessageIds, TagRuleOptions>;
|
|
7
|
-
"require-beta": TSESLint.RuleModule<TagRuleMessageIds, TagRuleOptions>;
|
|
8
|
-
"require-decorator": TSESLint.RuleModule<TagRuleMessageIds, TagRuleOptions>;
|
|
9
|
-
"require-default-value": TSESLint.RuleModule<TagRuleMessageIds, TagRuleOptions>;
|
|
10
|
-
"require-deprecated": TSESLint.RuleModule<TagRuleMessageIds, TagRuleOptions>;
|
|
11
|
-
"require-event-property": TSESLint.RuleModule<TagRuleMessageIds, TagRuleOptions>;
|
|
12
|
-
"require-example": TSESLint.RuleModule<TagRuleMessageIds, TagRuleOptions>;
|
|
13
|
-
"require-experimental": TSESLint.RuleModule<TagRuleMessageIds, TagRuleOptions>;
|
|
14
|
-
"require-inherit-doc": TSESLint.RuleModule<TagRuleMessageIds, TagRuleOptions>;
|
|
15
|
-
"require-internal": TSESLint.RuleModule<TagRuleMessageIds, TagRuleOptions>;
|
|
16
|
-
"require-label": TSESLint.RuleModule<TagRuleMessageIds, TagRuleOptions>;
|
|
17
|
-
"require-link": TSESLint.RuleModule<TagRuleMessageIds, TagRuleOptions>;
|
|
18
|
-
"require-override": TSESLint.RuleModule<TagRuleMessageIds, TagRuleOptions>;
|
|
19
|
-
"require-package-documentation": TSESLint.RuleModule<TagRuleMessageIds, TagRuleOptions>;
|
|
20
|
-
"require-param": TSESLint.RuleModule<TagRuleMessageIds, TagRuleOptions>;
|
|
21
|
-
"require-private-remarks": TSESLint.RuleModule<TagRuleMessageIds, TagRuleOptions>;
|
|
22
|
-
"require-public": TSESLint.RuleModule<TagRuleMessageIds, TagRuleOptions>;
|
|
23
|
-
"require-readonly": TSESLint.RuleModule<TagRuleMessageIds, TagRuleOptions>;
|
|
24
|
-
"require-remarks": TSESLint.RuleModule<TagRuleMessageIds, TagRuleOptions>;
|
|
25
|
-
"require-returns": TSESLint.RuleModule<TagRuleMessageIds, TagRuleOptions>;
|
|
26
|
-
"require-sealed": TSESLint.RuleModule<TagRuleMessageIds, TagRuleOptions>;
|
|
27
|
-
"require-see": TSESLint.RuleModule<TagRuleMessageIds, TagRuleOptions>;
|
|
28
|
-
"require-throws": TSESLint.RuleModule<TagRuleMessageIds, TagRuleOptions>;
|
|
29
|
-
"require-type-param": TSESLint.RuleModule<TagRuleMessageIds, TagRuleOptions>;
|
|
30
|
-
"require-virtual": TSESLint.RuleModule<TagRuleMessageIds, TagRuleOptions>;
|
|
31
|
-
};
|
|
32
8
|
/** Runtime map of required-tag rule modules keyed by rule name. */
|
|
33
|
-
declare const requiredTagRules:
|
|
34
|
-
/** Union of all required-tag rule names exported by this plugin. */
|
|
35
|
-
export type RequiredTagRuleName = keyof typeof requiredTagRules;
|
|
9
|
+
declare const requiredTagRules: Record<RequiredTagRuleName, TagRuleModuleMap[string]>;
|
|
36
10
|
export { requiredTagDefinitions };
|
|
37
11
|
export { requiredTagRules };
|
|
12
|
+
export type { RequiredTagRuleName };
|
|
38
13
|
//# sourceMappingURL=require-tag-rules.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"require-tag-rules.d.ts","sourceRoot":"","sources":["../../src/rules/require-tag-rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,KAAK,EACR,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACjB,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"require-tag-rules.d.ts","sourceRoot":"","sources":["../../src/rules/require-tag-rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,KAAK,EACR,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACjB,MAAM,oCAAoC,CAAC;AA2D5C,oEAAoE;AACpE,KAAK,mBAAmB,GAClB,kBAAkB,GAClB,eAAe,GACf,gBAAgB,GAChB,cAAc,GACd,kBAAkB,GAClB,eAAe,GACf,mBAAmB,GACnB,uBAAuB,GACvB,oBAAoB,GACpB,kBAAkB,GAClB,cAAc,GACd,eAAe,GACf,wBAAwB,GACxB,iBAAiB,GACjB,gBAAgB,GAChB,sBAAsB,GACtB,kBAAkB,GAClB,eAAe,GACf,gBAAgB,GAChB,yBAAyB,GACzB,gBAAgB,GAChB,gBAAgB,GAChB,iBAAiB,GACjB,qBAAqB,GACrB,gBAAgB,GAChB,mBAAmB,GACnB,kBAAkB,GAClB,eAAe,GACf,iBAAiB,GACjB,cAAc,GACd,2BAA2B,GAC3B,gBAAgB,GAChB,mBAAmB,GACnB,kBAAkB,GAClB,kBAAkB,GAClB,+BAA+B,GAC/B,eAAe,GACf,wBAAwB,GACxB,iBAAiB,GACjB,yBAAyB,GACzB,kBAAkB,GAClB,mBAAmB,GACnB,gBAAgB,GAChB,kBAAkB,GAClB,iBAAiB,GACjB,iBAAiB,GACjB,gBAAgB,GAChB,aAAa,GACb,eAAe,GACf,uBAAuB,GACvB,iBAAiB,GACjB,kBAAkB,GAClB,gBAAgB,GAChB,oBAAoB,GACpB,2BAA2B,GAC3B,iBAAiB,CAAC;AAExB,KAAK,gBAAgB,GAAG,MAAM,CAC1B,MAAM,EACN,QAAQ,CAAC,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,CACzD,CAAC;AAEF,kFAAkF;AAClF,QAAA,MAAM,sBAAsB,EAAE,SAAS,iBAAiB,EA4DvD,CAAC;AAEF,mEAAmE;AACnE,QAAA,MAAM,gBAAgB,EAAE,MAAM,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,MAAM,CAAC,CA0DvE,CAAC;AAEN,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC5B,YAAY,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -1,85 +1,178 @@
|
|
|
1
|
+
import requireAbstractRule from "./required-tags/require-abstract.js";
|
|
1
2
|
import requireAlphaRule from "./required-tags/require-alpha.js";
|
|
3
|
+
import requireAuthorRule from "./required-tags/require-author.js";
|
|
2
4
|
import requireBetaRule from "./required-tags/require-beta.js";
|
|
5
|
+
import requireCategoryRule from "./required-tags/require-category.js";
|
|
6
|
+
import requireClassRule from "./required-tags/require-class.js";
|
|
3
7
|
import requireDecoratorRule from "./required-tags/require-decorator.js";
|
|
4
8
|
import requireDefaultValueRule from "./required-tags/require-default-value.js";
|
|
5
9
|
import requireDeprecatedRule from "./required-tags/require-deprecated.js";
|
|
10
|
+
import requireDocumentRule from "./required-tags/require-document.js";
|
|
11
|
+
import requireEnumRule from "./required-tags/require-enum.js";
|
|
6
12
|
import requireEventPropertyRule from "./required-tags/require-event-property.js";
|
|
13
|
+
import requireEventRule from "./required-tags/require-event.js";
|
|
7
14
|
import requireExampleRule from "./required-tags/require-example.js";
|
|
15
|
+
import requireExpandRule from "./required-tags/require-expand.js";
|
|
8
16
|
import requireExperimentalRule from "./required-tags/require-experimental.js";
|
|
17
|
+
import requireFunctionRule from "./required-tags/require-function.js";
|
|
18
|
+
import requireGroupRule from "./required-tags/require-group.js";
|
|
19
|
+
import requireHiddenRule from "./required-tags/require-hidden.js";
|
|
20
|
+
import requireHideconstructorRule from "./required-tags/require-hideconstructor.js";
|
|
21
|
+
import requireIgnoreRule from "./required-tags/require-ignore.js";
|
|
22
|
+
import requireImportRule from "./required-tags/require-import.js";
|
|
23
|
+
import requireIncludeRule from "./required-tags/require-include.js";
|
|
9
24
|
import requireInheritDocRule from "./required-tags/require-inherit-doc.js";
|
|
25
|
+
import requireInlineRule from "./required-tags/require-inline.js";
|
|
26
|
+
import requireInterfaceRule from "./required-tags/require-interface.js";
|
|
10
27
|
import requireInternalRule from "./required-tags/require-internal.js";
|
|
11
28
|
import requireLabelRule from "./required-tags/require-label.js";
|
|
29
|
+
import requireLicenseRule from "./required-tags/require-license.js";
|
|
12
30
|
import requireLinkRule from "./required-tags/require-link.js";
|
|
31
|
+
import requireMergeModuleWithRule from "./required-tags/require-merge-module-with.js";
|
|
32
|
+
import requireModuleRule from "./required-tags/require-module.js";
|
|
33
|
+
import requireNamespaceRule from "./required-tags/require-namespace.js";
|
|
34
|
+
import requireOverloadRule from "./required-tags/require-overload.js";
|
|
13
35
|
import requireOverrideRule from "./required-tags/require-override.js";
|
|
14
36
|
import requirePackageDocumentationRule from "./required-tags/require-package-documentation.js";
|
|
15
37
|
import requireParamRule from "./required-tags/require-param.js";
|
|
38
|
+
import requirePrimaryExportRule from "./required-tags/require-primary-export.js";
|
|
16
39
|
import requirePrivateRemarksRule from "./required-tags/require-private-remarks.js";
|
|
40
|
+
import requirePrivateRule from "./required-tags/require-private.js";
|
|
41
|
+
import requirePropertyRule from "./required-tags/require-property.js";
|
|
42
|
+
import requireProtectedRule from "./required-tags/require-protected.js";
|
|
17
43
|
import requirePublicRule from "./required-tags/require-public.js";
|
|
18
44
|
import requireReadonlyRule from "./required-tags/require-readonly.js";
|
|
19
45
|
import requireRemarksRule from "./required-tags/require-remarks.js";
|
|
20
46
|
import requireReturnsRule from "./required-tags/require-returns.js";
|
|
21
47
|
import requireSealedRule from "./required-tags/require-sealed.js";
|
|
22
48
|
import requireSeeRule from "./required-tags/require-see.js";
|
|
49
|
+
import requireSinceRule from "./required-tags/require-since.js";
|
|
50
|
+
import requireSortStrategyRule from "./required-tags/require-sort-strategy.js";
|
|
51
|
+
import requireSummaryRule from "./required-tags/require-summary.js";
|
|
52
|
+
import requireTemplateRule from "./required-tags/require-template.js";
|
|
23
53
|
import requireThrowsRule from "./required-tags/require-throws.js";
|
|
24
54
|
import requireTypeParamRule from "./required-tags/require-type-param.js";
|
|
55
|
+
import requireUseDeclaredTypeRule from "./required-tags/require-use-declared-type.js";
|
|
25
56
|
import requireVirtualRule from "./required-tags/require-virtual.js";
|
|
26
57
|
/** Definitions that map each required-tag rule name to its required TSDoc tag. */
|
|
27
58
|
const requiredTagDefinitions = [
|
|
59
|
+
{ ruleName: "require-abstract", tagName: "@abstract" },
|
|
28
60
|
{ ruleName: "require-alpha", tagName: "@alpha" },
|
|
61
|
+
{ ruleName: "require-author", tagName: "@author" },
|
|
29
62
|
{ ruleName: "require-beta", tagName: "@beta" },
|
|
63
|
+
{ ruleName: "require-category", tagName: "@category" },
|
|
64
|
+
{ ruleName: "require-class", tagName: "@class" },
|
|
30
65
|
{ ruleName: "require-decorator", tagName: "@decorator" },
|
|
31
66
|
{ ruleName: "require-default-value", tagName: "@defaultValue" },
|
|
32
67
|
{ ruleName: "require-deprecated", tagName: "@deprecated" },
|
|
68
|
+
{ ruleName: "require-document", tagName: "@document" },
|
|
69
|
+
{ ruleName: "require-enum", tagName: "@enum" },
|
|
70
|
+
{ ruleName: "require-event", tagName: "@event" },
|
|
33
71
|
{ ruleName: "require-event-property", tagName: "@eventProperty" },
|
|
34
72
|
{ ruleName: "require-example", tagName: "@example" },
|
|
73
|
+
{ ruleName: "require-expand", tagName: "@expand" },
|
|
35
74
|
{ ruleName: "require-experimental", tagName: "@experimental" },
|
|
75
|
+
{ ruleName: "require-function", tagName: "@function" },
|
|
76
|
+
{ ruleName: "require-group", tagName: "@group" },
|
|
77
|
+
{ ruleName: "require-hidden", tagName: "@hidden" },
|
|
78
|
+
{ ruleName: "require-hideconstructor", tagName: "@hideconstructor" },
|
|
79
|
+
{ ruleName: "require-ignore", tagName: "@ignore" },
|
|
80
|
+
{ ruleName: "require-import", tagName: "@import" },
|
|
81
|
+
{ ruleName: "require-include", tagName: "@include" },
|
|
36
82
|
{ ruleName: "require-inherit-doc", tagName: "@inheritDoc" },
|
|
83
|
+
{ ruleName: "require-inline", tagName: "@inline" },
|
|
84
|
+
{ ruleName: "require-interface", tagName: "@interface" },
|
|
37
85
|
{ ruleName: "require-internal", tagName: "@internal" },
|
|
38
86
|
{ ruleName: "require-label", tagName: "@label" },
|
|
87
|
+
{ ruleName: "require-license", tagName: "@license" },
|
|
39
88
|
{ ruleName: "require-link", tagName: "@link" },
|
|
89
|
+
{ ruleName: "require-merge-module-with", tagName: "@mergeModuleWith" },
|
|
90
|
+
{ ruleName: "require-module", tagName: "@module" },
|
|
91
|
+
{ ruleName: "require-namespace", tagName: "@namespace" },
|
|
92
|
+
{ ruleName: "require-overload", tagName: "@overload" },
|
|
40
93
|
{ ruleName: "require-override", tagName: "@override" },
|
|
41
94
|
{
|
|
42
95
|
ruleName: "require-package-documentation",
|
|
43
96
|
tagName: "@packageDocumentation",
|
|
44
97
|
},
|
|
45
98
|
{ ruleName: "require-param", tagName: "@param" },
|
|
99
|
+
{ ruleName: "require-primary-export", tagName: "@primaryExport" },
|
|
100
|
+
{ ruleName: "require-private", tagName: "@private" },
|
|
46
101
|
{ ruleName: "require-private-remarks", tagName: "@privateRemarks" },
|
|
102
|
+
{ ruleName: "require-property", tagName: "@property" },
|
|
103
|
+
{ ruleName: "require-protected", tagName: "@protected" },
|
|
47
104
|
{ ruleName: "require-public", tagName: "@public" },
|
|
48
105
|
{ ruleName: "require-readonly", tagName: "@readonly" },
|
|
49
106
|
{ ruleName: "require-remarks", tagName: "@remarks" },
|
|
50
107
|
{ ruleName: "require-returns", tagName: "@returns" },
|
|
51
108
|
{ ruleName: "require-sealed", tagName: "@sealed" },
|
|
52
109
|
{ ruleName: "require-see", tagName: "@see" },
|
|
110
|
+
{ ruleName: "require-since", tagName: "@since" },
|
|
111
|
+
{ ruleName: "require-sort-strategy", tagName: "@sortStrategy" },
|
|
112
|
+
{ ruleName: "require-summary", tagName: "@summary" },
|
|
113
|
+
{ ruleName: "require-template", tagName: "@template" },
|
|
53
114
|
{ ruleName: "require-throws", tagName: "@throws" },
|
|
54
115
|
{ ruleName: "require-type-param", tagName: "@typeParam" },
|
|
116
|
+
{ ruleName: "require-use-declared-type", tagName: "@useDeclaredType" },
|
|
55
117
|
{ ruleName: "require-virtual", tagName: "@virtual" },
|
|
56
118
|
];
|
|
57
119
|
/** Runtime map of required-tag rule modules keyed by rule name. */
|
|
58
120
|
const requiredTagRules = {
|
|
121
|
+
"require-abstract": requireAbstractRule,
|
|
59
122
|
"require-alpha": requireAlphaRule,
|
|
123
|
+
"require-author": requireAuthorRule,
|
|
60
124
|
"require-beta": requireBetaRule,
|
|
125
|
+
"require-category": requireCategoryRule,
|
|
126
|
+
"require-class": requireClassRule,
|
|
61
127
|
"require-decorator": requireDecoratorRule,
|
|
62
128
|
"require-default-value": requireDefaultValueRule,
|
|
63
129
|
"require-deprecated": requireDeprecatedRule,
|
|
130
|
+
"require-document": requireDocumentRule,
|
|
131
|
+
"require-enum": requireEnumRule,
|
|
132
|
+
"require-event": requireEventRule,
|
|
64
133
|
"require-event-property": requireEventPropertyRule,
|
|
65
134
|
"require-example": requireExampleRule,
|
|
135
|
+
"require-expand": requireExpandRule,
|
|
66
136
|
"require-experimental": requireExperimentalRule,
|
|
137
|
+
"require-function": requireFunctionRule,
|
|
138
|
+
"require-group": requireGroupRule,
|
|
139
|
+
"require-hidden": requireHiddenRule,
|
|
140
|
+
"require-hideconstructor": requireHideconstructorRule,
|
|
141
|
+
"require-ignore": requireIgnoreRule,
|
|
142
|
+
"require-import": requireImportRule,
|
|
143
|
+
"require-include": requireIncludeRule,
|
|
67
144
|
"require-inherit-doc": requireInheritDocRule,
|
|
145
|
+
"require-inline": requireInlineRule,
|
|
146
|
+
"require-interface": requireInterfaceRule,
|
|
68
147
|
"require-internal": requireInternalRule,
|
|
69
148
|
"require-label": requireLabelRule,
|
|
149
|
+
"require-license": requireLicenseRule,
|
|
70
150
|
"require-link": requireLinkRule,
|
|
151
|
+
"require-merge-module-with": requireMergeModuleWithRule,
|
|
152
|
+
"require-module": requireModuleRule,
|
|
153
|
+
"require-namespace": requireNamespaceRule,
|
|
154
|
+
"require-overload": requireOverloadRule,
|
|
71
155
|
"require-override": requireOverrideRule,
|
|
72
156
|
"require-package-documentation": requirePackageDocumentationRule,
|
|
73
157
|
"require-param": requireParamRule,
|
|
158
|
+
"require-primary-export": requirePrimaryExportRule,
|
|
159
|
+
"require-private": requirePrivateRule,
|
|
74
160
|
"require-private-remarks": requirePrivateRemarksRule,
|
|
161
|
+
"require-property": requirePropertyRule,
|
|
162
|
+
"require-protected": requireProtectedRule,
|
|
75
163
|
"require-public": requirePublicRule,
|
|
76
164
|
"require-readonly": requireReadonlyRule,
|
|
77
165
|
"require-remarks": requireRemarksRule,
|
|
78
166
|
"require-returns": requireReturnsRule,
|
|
79
167
|
"require-sealed": requireSealedRule,
|
|
80
168
|
"require-see": requireSeeRule,
|
|
169
|
+
"require-since": requireSinceRule,
|
|
170
|
+
"require-sort-strategy": requireSortStrategyRule,
|
|
171
|
+
"require-summary": requireSummaryRule,
|
|
172
|
+
"require-template": requireTemplateRule,
|
|
81
173
|
"require-throws": requireThrowsRule,
|
|
82
174
|
"require-type-param": requireTypeParamRule,
|
|
175
|
+
"require-use-declared-type": requireUseDeclaredTypeRule,
|
|
83
176
|
"require-virtual": requireVirtualRule,
|
|
84
177
|
};
|
|
85
178
|
export { requiredTagDefinitions };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"require-tag-rules.js","sourceRoot":"","sources":["../../src/rules/require-tag-rules.ts"],"names":[],"mappings":"AAQA,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAChE,OAAO,eAAe,MAAM,iCAAiC,CAAC;AAC9D,OAAO,oBAAoB,MAAM,sCAAsC,CAAC;AACxE,OAAO,uBAAuB,MAAM,0CAA0C,CAAC;AAC/E,OAAO,qBAAqB,MAAM,uCAAuC,CAAC;AAC1E,OAAO,wBAAwB,MAAM,2CAA2C,CAAC;AACjF,OAAO,kBAAkB,MAAM,oCAAoC,CAAC;AACpE,OAAO,uBAAuB,MAAM,yCAAyC,CAAC;AAC9E,OAAO,qBAAqB,MAAM,wCAAwC,CAAC;AAC3E,OAAO,mBAAmB,MAAM,qCAAqC,CAAC;AACtE,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAChE,OAAO,eAAe,MAAM,iCAAiC,CAAC;AAC9D,OAAO,mBAAmB,MAAM,qCAAqC,CAAC;AACtE,OAAO,+BAA+B,MAAM,kDAAkD,CAAC;AAC/F,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAChE,OAAO,yBAAyB,MAAM,4CAA4C,CAAC;AACnF,OAAO,iBAAiB,MAAM,mCAAmC,CAAC;AAClE,OAAO,mBAAmB,MAAM,qCAAqC,CAAC;AACtE,OAAO,kBAAkB,MAAM,oCAAoC,CAAC;AACpE,OAAO,kBAAkB,MAAM,oCAAoC,CAAC;AACpE,OAAO,iBAAiB,MAAM,mCAAmC,CAAC;AAClE,OAAO,cAAc,MAAM,gCAAgC,CAAC;AAC5D,OAAO,iBAAiB,MAAM,mCAAmC,CAAC;AAClE,OAAO,oBAAoB,MAAM,uCAAuC,CAAC;AACzE,OAAO,kBAAkB,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"require-tag-rules.js","sourceRoot":"","sources":["../../src/rules/require-tag-rules.ts"],"names":[],"mappings":"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"}
|
package/dist/rules/require.cjs
CHANGED
|
@@ -6,17 +6,12 @@ const enforceableEntityKinds = [
|
|
|
6
6
|
"enum",
|
|
7
7
|
"function",
|
|
8
8
|
"interface",
|
|
9
|
+
"namespace",
|
|
9
10
|
"object",
|
|
10
11
|
"type",
|
|
11
12
|
"variable",
|
|
12
13
|
];
|
|
13
14
|
const defaultEnforceFor = [...enforceableEntityKinds];
|
|
14
|
-
const defaultRuleOptions = [
|
|
15
|
-
{
|
|
16
|
-
enforceFor: defaultEnforceFor,
|
|
17
|
-
includeNonExported: false,
|
|
18
|
-
},
|
|
19
|
-
];
|
|
20
15
|
const optionSchema = {
|
|
21
16
|
additionalProperties: false,
|
|
22
17
|
properties: {
|
|
@@ -28,24 +23,41 @@ const optionSchema = {
|
|
|
28
23
|
type: "array",
|
|
29
24
|
uniqueItems: true,
|
|
30
25
|
},
|
|
26
|
+
exportMode: {
|
|
27
|
+
description: "Choose whether to check exported declarations, non-exported top-level declarations, or both.",
|
|
28
|
+
enum: [
|
|
29
|
+
"all",
|
|
30
|
+
"exported",
|
|
31
|
+
"non-exported",
|
|
32
|
+
],
|
|
33
|
+
type: "string",
|
|
34
|
+
},
|
|
31
35
|
includeNonExported: {
|
|
32
36
|
default: false,
|
|
33
|
-
description: "Also enforce on non-exported declarations
|
|
37
|
+
description: 'Legacy alias for exportMode: "all". Also enforce on non-exported declarations when true.',
|
|
34
38
|
type: "boolean",
|
|
35
39
|
},
|
|
36
40
|
},
|
|
37
41
|
type: "object",
|
|
38
42
|
};
|
|
43
|
+
const resolveExportMode = (ruleOption) => {
|
|
44
|
+
if (ruleOption?.includeNonExported === true) {
|
|
45
|
+
return "all";
|
|
46
|
+
}
|
|
47
|
+
return ruleOption?.exportMode ?? "exported";
|
|
48
|
+
};
|
|
49
|
+
const shouldCheckExportedDeclarations = (exportMode) => exportMode === "all" || exportMode === "exported";
|
|
50
|
+
const shouldCheckNonExportedDeclarations = (exportMode) => exportMode === "all" || exportMode === "non-exported";
|
|
39
51
|
const assertUnreachable = (value) => {
|
|
40
52
|
throw new Error(`Unexpected node type: ${String(value)}`);
|
|
41
53
|
};
|
|
42
|
-
// eslint-disable-next-line total-functions/no-hidden-type-assertions -- RuleCreator generic is required so `meta.docs.recommended` is strongly typed and accepted in the inline metadata literal.
|
|
43
54
|
const createRule = utils_1.ESLintUtils.RuleCreator((ruleName) => `https://github.com/Nick2bad4u/eslint-plugin-tsdoc-require-2/blob/main/docs/rules/${ruleName}.md`);
|
|
44
55
|
const isSupportedDeclaration = (node) => node.type === utils_1.AST_NODE_TYPES.ClassDeclaration ||
|
|
45
56
|
node.type === utils_1.AST_NODE_TYPES.FunctionDeclaration ||
|
|
46
57
|
node.type === utils_1.AST_NODE_TYPES.TSDeclareFunction ||
|
|
47
58
|
node.type === utils_1.AST_NODE_TYPES.TSEnumDeclaration ||
|
|
48
59
|
node.type === utils_1.AST_NODE_TYPES.TSInterfaceDeclaration ||
|
|
60
|
+
node.type === utils_1.AST_NODE_TYPES.TSModuleDeclaration ||
|
|
49
61
|
node.type === utils_1.AST_NODE_TYPES.TSTypeAliasDeclaration ||
|
|
50
62
|
node.type === utils_1.AST_NODE_TYPES.VariableDeclaration;
|
|
51
63
|
const isSupportedDefaultExportExpression = (node) => node.type === utils_1.AST_NODE_TYPES.ArrowFunctionExpression ||
|
|
@@ -66,6 +78,17 @@ const getExpressionKind = (node) => {
|
|
|
66
78
|
return assertUnreachable(node);
|
|
67
79
|
};
|
|
68
80
|
const getEntityDisplayName = (name) => name ?? "<default export>";
|
|
81
|
+
const isTopLevelNode = (node) => node.parent?.type === utils_1.AST_NODE_TYPES.Program;
|
|
82
|
+
const getModuleDeclarationName = (declaration) => {
|
|
83
|
+
if (declaration.id.type === utils_1.AST_NODE_TYPES.Identifier) {
|
|
84
|
+
return declaration.id.name;
|
|
85
|
+
}
|
|
86
|
+
if (declaration.id.type === utils_1.AST_NODE_TYPES.Literal &&
|
|
87
|
+
typeof declaration.id.value === "string") {
|
|
88
|
+
return declaration.id.value;
|
|
89
|
+
}
|
|
90
|
+
return undefined;
|
|
91
|
+
};
|
|
69
92
|
const hasTSDocComment = (sourceCode, node) => {
|
|
70
93
|
const comments = sourceCode.getCommentsBefore(node);
|
|
71
94
|
const nearestComment = comments.at(-1);
|
|
@@ -132,6 +155,16 @@ const declarationTargets = (declaration) => {
|
|
|
132
155
|
},
|
|
133
156
|
];
|
|
134
157
|
}
|
|
158
|
+
if (declaration.type === utils_1.AST_NODE_TYPES.TSModuleDeclaration) {
|
|
159
|
+
return [
|
|
160
|
+
{
|
|
161
|
+
commentNode: declaration,
|
|
162
|
+
kind: "namespace",
|
|
163
|
+
name: getModuleDeclarationName(declaration),
|
|
164
|
+
reportNode: declaration,
|
|
165
|
+
},
|
|
166
|
+
];
|
|
167
|
+
}
|
|
135
168
|
if (declaration.type === utils_1.AST_NODE_TYPES.TSTypeAliasDeclaration) {
|
|
136
169
|
return [
|
|
137
170
|
{
|
|
@@ -171,7 +204,7 @@ const requireRule = createRule({
|
|
|
171
204
|
const sourceCode = context.sourceCode;
|
|
172
205
|
const ruleOption = context.options.at(0);
|
|
173
206
|
const enabledKinds = new Set(ruleOption?.enforceFor ?? defaultEnforceFor);
|
|
174
|
-
const
|
|
207
|
+
const exportMode = resolveExportMode(ruleOption);
|
|
175
208
|
const checkTarget = (target) => {
|
|
176
209
|
if (!enabledKinds.has(target.kind)) {
|
|
177
210
|
return;
|
|
@@ -214,6 +247,10 @@ const requireRule = createRule({
|
|
|
214
247
|
};
|
|
215
248
|
return {
|
|
216
249
|
ExportDefaultDeclaration(exportNode) {
|
|
250
|
+
if (!shouldCheckExportedDeclarations(exportMode) ||
|
|
251
|
+
!isTopLevelNode(exportNode)) {
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
217
254
|
const { declaration } = exportNode;
|
|
218
255
|
if (declaration.type === utils_1.AST_NODE_TYPES.Identifier) {
|
|
219
256
|
checkIdentifierExport(declaration);
|
|
@@ -233,6 +270,10 @@ const requireRule = createRule({
|
|
|
233
270
|
}
|
|
234
271
|
},
|
|
235
272
|
ExportNamedDeclaration(exportNode) {
|
|
273
|
+
if (!shouldCheckExportedDeclarations(exportMode) ||
|
|
274
|
+
!isTopLevelNode(exportNode)) {
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
236
277
|
if (exportNode.declaration !== null &&
|
|
237
278
|
isSupportedDeclaration(exportNode.declaration)) {
|
|
238
279
|
checkDeclarationWithExportComment(exportNode.declaration, exportNode);
|
|
@@ -252,16 +293,19 @@ const requireRule = createRule({
|
|
|
252
293
|
checkedTargets.clear();
|
|
253
294
|
for (const statement of programNode.body) {
|
|
254
295
|
if (isSupportedDeclaration(statement)) {
|
|
255
|
-
if (
|
|
296
|
+
if (shouldCheckNonExportedDeclarations(exportMode)) {
|
|
256
297
|
for (const target of declarationTargetsWithCommentNode(statement, statement)) {
|
|
257
298
|
checkTarget(target);
|
|
258
299
|
}
|
|
259
300
|
}
|
|
260
|
-
|
|
301
|
+
if (shouldCheckExportedDeclarations(exportMode)) {
|
|
302
|
+
trackDeclarationTargets(statement);
|
|
303
|
+
}
|
|
261
304
|
continue;
|
|
262
305
|
}
|
|
263
|
-
if (
|
|
264
|
-
|
|
306
|
+
if (shouldCheckExportedDeclarations(exportMode) &&
|
|
307
|
+
statement.type ===
|
|
308
|
+
utils_1.AST_NODE_TYPES.ExportNamedDeclaration &&
|
|
265
309
|
statement.declaration !== null &&
|
|
266
310
|
isSupportedDeclaration(statement.declaration)) {
|
|
267
311
|
trackDeclarationTargets(statement.declaration);
|
|
@@ -270,17 +314,16 @@ const requireRule = createRule({
|
|
|
270
314
|
},
|
|
271
315
|
};
|
|
272
316
|
},
|
|
273
|
-
defaultOptions: defaultRuleOptions,
|
|
274
317
|
meta: {
|
|
275
318
|
defaultOptions: [
|
|
276
319
|
{
|
|
277
320
|
enforceFor: [...enforceableEntityKinds],
|
|
278
|
-
|
|
321
|
+
exportMode: "exported",
|
|
279
322
|
},
|
|
280
323
|
],
|
|
281
324
|
deprecated: false,
|
|
282
325
|
docs: {
|
|
283
|
-
description: "require TSDoc comments for
|
|
326
|
+
description: "require TSDoc comments for supported TypeScript declarations and default exports, with configurable export scope.",
|
|
284
327
|
frozen: false,
|
|
285
328
|
recommended: true,
|
|
286
329
|
url: "https://github.com/Nick2bad4u/eslint-plugin-tsdoc-require-2/blob/main/docs/rules/require.md",
|
package/dist/rules/require.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import type { TSESLint } from "@typescript-eslint/utils";
|
|
2
|
-
type EntityKind = "class" | "enum" | "function" | "interface" | "object" | "type" | "variable";
|
|
2
|
+
type EntityKind = "class" | "enum" | "function" | "interface" | "namespace" | "object" | "type" | "variable";
|
|
3
|
+
type ExportMode = "all" | "exported" | "non-exported";
|
|
3
4
|
type MessageIds = "missingTSDoc";
|
|
4
5
|
type Options = [RuleOption];
|
|
5
6
|
type RuleOption = {
|
|
6
7
|
enforceFor?: readonly EntityKind[];
|
|
8
|
+
exportMode?: ExportMode;
|
|
7
9
|
includeNonExported?: boolean;
|
|
8
10
|
};
|
|
9
11
|
/** ESLint rule module implementing tsdoc-require-2/require. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"require.d.ts","sourceRoot":"","sources":["../../src/rules/require.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,QAAQ,EAAY,MAAM,0BAA0B,CAAC;AAQ/E,KAAK,UAAU,GACT,OAAO,GACP,MAAM,GACN,UAAU,GACV,WAAW,GACX,QAAQ,GACR,MAAM,GACN,UAAU,CAAC;AACjB,KAAK,UAAU,GAAG,cAAc,CAAC;AAEjC,KAAK,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC;AAM5B,KAAK,UAAU,GAAG;IACd,UAAU,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;
|
|
1
|
+
{"version":3,"file":"require.d.ts","sourceRoot":"","sources":["../../src/rules/require.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,QAAQ,EAAY,MAAM,0BAA0B,CAAC;AAQ/E,KAAK,UAAU,GACT,OAAO,GACP,MAAM,GACN,UAAU,GACV,WAAW,GACX,WAAW,GACX,QAAQ,GACR,MAAM,GACN,UAAU,CAAC;AACjB,KAAK,UAAU,GAAG,KAAK,GAAG,UAAU,GAAG,cAAc,CAAC;AACtD,KAAK,UAAU,GAAG,cAAc,CAAC;AAEjC,KAAK,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC;AAM5B,KAAK,UAAU,GAAG;IACd,UAAU,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACnC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAqSF,+DAA+D;AAC/D,QAAA,MAAM,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAmMxD,CAAC;AAEH,eAAe,WAAW,CAAC"}
|
package/dist/rules/require.js
CHANGED
|
@@ -4,17 +4,12 @@ const enforceableEntityKinds = [
|
|
|
4
4
|
"enum",
|
|
5
5
|
"function",
|
|
6
6
|
"interface",
|
|
7
|
+
"namespace",
|
|
7
8
|
"object",
|
|
8
9
|
"type",
|
|
9
10
|
"variable",
|
|
10
11
|
];
|
|
11
12
|
const defaultEnforceFor = [...enforceableEntityKinds];
|
|
12
|
-
const defaultRuleOptions = [
|
|
13
|
-
{
|
|
14
|
-
enforceFor: defaultEnforceFor,
|
|
15
|
-
includeNonExported: false,
|
|
16
|
-
},
|
|
17
|
-
];
|
|
18
13
|
const optionSchema = {
|
|
19
14
|
additionalProperties: false,
|
|
20
15
|
properties: {
|
|
@@ -26,24 +21,41 @@ const optionSchema = {
|
|
|
26
21
|
type: "array",
|
|
27
22
|
uniqueItems: true,
|
|
28
23
|
},
|
|
24
|
+
exportMode: {
|
|
25
|
+
description: "Choose whether to check exported declarations, non-exported top-level declarations, or both.",
|
|
26
|
+
enum: [
|
|
27
|
+
"all",
|
|
28
|
+
"exported",
|
|
29
|
+
"non-exported",
|
|
30
|
+
],
|
|
31
|
+
type: "string",
|
|
32
|
+
},
|
|
29
33
|
includeNonExported: {
|
|
30
34
|
default: false,
|
|
31
|
-
description: "Also enforce on non-exported declarations
|
|
35
|
+
description: 'Legacy alias for exportMode: "all". Also enforce on non-exported declarations when true.',
|
|
32
36
|
type: "boolean",
|
|
33
37
|
},
|
|
34
38
|
},
|
|
35
39
|
type: "object",
|
|
36
40
|
};
|
|
41
|
+
const resolveExportMode = (ruleOption) => {
|
|
42
|
+
if (ruleOption?.includeNonExported === true) {
|
|
43
|
+
return "all";
|
|
44
|
+
}
|
|
45
|
+
return ruleOption?.exportMode ?? "exported";
|
|
46
|
+
};
|
|
47
|
+
const shouldCheckExportedDeclarations = (exportMode) => exportMode === "all" || exportMode === "exported";
|
|
48
|
+
const shouldCheckNonExportedDeclarations = (exportMode) => exportMode === "all" || exportMode === "non-exported";
|
|
37
49
|
const assertUnreachable = (value) => {
|
|
38
50
|
throw new Error(`Unexpected node type: ${String(value)}`);
|
|
39
51
|
};
|
|
40
|
-
// eslint-disable-next-line total-functions/no-hidden-type-assertions -- RuleCreator generic is required so `meta.docs.recommended` is strongly typed and accepted in the inline metadata literal.
|
|
41
52
|
const createRule = ESLintUtils.RuleCreator((ruleName) => `https://github.com/Nick2bad4u/eslint-plugin-tsdoc-require-2/blob/main/docs/rules/${ruleName}.md`);
|
|
42
53
|
const isSupportedDeclaration = (node) => node.type === AST_NODE_TYPES.ClassDeclaration ||
|
|
43
54
|
node.type === AST_NODE_TYPES.FunctionDeclaration ||
|
|
44
55
|
node.type === AST_NODE_TYPES.TSDeclareFunction ||
|
|
45
56
|
node.type === AST_NODE_TYPES.TSEnumDeclaration ||
|
|
46
57
|
node.type === AST_NODE_TYPES.TSInterfaceDeclaration ||
|
|
58
|
+
node.type === AST_NODE_TYPES.TSModuleDeclaration ||
|
|
47
59
|
node.type === AST_NODE_TYPES.TSTypeAliasDeclaration ||
|
|
48
60
|
node.type === AST_NODE_TYPES.VariableDeclaration;
|
|
49
61
|
const isSupportedDefaultExportExpression = (node) => node.type === AST_NODE_TYPES.ArrowFunctionExpression ||
|
|
@@ -64,6 +76,17 @@ const getExpressionKind = (node) => {
|
|
|
64
76
|
return assertUnreachable(node);
|
|
65
77
|
};
|
|
66
78
|
const getEntityDisplayName = (name) => name ?? "<default export>";
|
|
79
|
+
const isTopLevelNode = (node) => node.parent?.type === AST_NODE_TYPES.Program;
|
|
80
|
+
const getModuleDeclarationName = (declaration) => {
|
|
81
|
+
if (declaration.id.type === AST_NODE_TYPES.Identifier) {
|
|
82
|
+
return declaration.id.name;
|
|
83
|
+
}
|
|
84
|
+
if (declaration.id.type === AST_NODE_TYPES.Literal &&
|
|
85
|
+
typeof declaration.id.value === "string") {
|
|
86
|
+
return declaration.id.value;
|
|
87
|
+
}
|
|
88
|
+
return undefined;
|
|
89
|
+
};
|
|
67
90
|
const hasTSDocComment = (sourceCode, node) => {
|
|
68
91
|
const comments = sourceCode.getCommentsBefore(node);
|
|
69
92
|
const nearestComment = comments.at(-1);
|
|
@@ -130,6 +153,16 @@ const declarationTargets = (declaration) => {
|
|
|
130
153
|
},
|
|
131
154
|
];
|
|
132
155
|
}
|
|
156
|
+
if (declaration.type === AST_NODE_TYPES.TSModuleDeclaration) {
|
|
157
|
+
return [
|
|
158
|
+
{
|
|
159
|
+
commentNode: declaration,
|
|
160
|
+
kind: "namespace",
|
|
161
|
+
name: getModuleDeclarationName(declaration),
|
|
162
|
+
reportNode: declaration,
|
|
163
|
+
},
|
|
164
|
+
];
|
|
165
|
+
}
|
|
133
166
|
if (declaration.type === AST_NODE_TYPES.TSTypeAliasDeclaration) {
|
|
134
167
|
return [
|
|
135
168
|
{
|
|
@@ -169,7 +202,7 @@ const requireRule = createRule({
|
|
|
169
202
|
const sourceCode = context.sourceCode;
|
|
170
203
|
const ruleOption = context.options.at(0);
|
|
171
204
|
const enabledKinds = new Set(ruleOption?.enforceFor ?? defaultEnforceFor);
|
|
172
|
-
const
|
|
205
|
+
const exportMode = resolveExportMode(ruleOption);
|
|
173
206
|
const checkTarget = (target) => {
|
|
174
207
|
if (!enabledKinds.has(target.kind)) {
|
|
175
208
|
return;
|
|
@@ -212,6 +245,10 @@ const requireRule = createRule({
|
|
|
212
245
|
};
|
|
213
246
|
return {
|
|
214
247
|
ExportDefaultDeclaration(exportNode) {
|
|
248
|
+
if (!shouldCheckExportedDeclarations(exportMode) ||
|
|
249
|
+
!isTopLevelNode(exportNode)) {
|
|
250
|
+
return;
|
|
251
|
+
}
|
|
215
252
|
const { declaration } = exportNode;
|
|
216
253
|
if (declaration.type === AST_NODE_TYPES.Identifier) {
|
|
217
254
|
checkIdentifierExport(declaration);
|
|
@@ -231,6 +268,10 @@ const requireRule = createRule({
|
|
|
231
268
|
}
|
|
232
269
|
},
|
|
233
270
|
ExportNamedDeclaration(exportNode) {
|
|
271
|
+
if (!shouldCheckExportedDeclarations(exportMode) ||
|
|
272
|
+
!isTopLevelNode(exportNode)) {
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
234
275
|
if (exportNode.declaration !== null &&
|
|
235
276
|
isSupportedDeclaration(exportNode.declaration)) {
|
|
236
277
|
checkDeclarationWithExportComment(exportNode.declaration, exportNode);
|
|
@@ -250,16 +291,19 @@ const requireRule = createRule({
|
|
|
250
291
|
checkedTargets.clear();
|
|
251
292
|
for (const statement of programNode.body) {
|
|
252
293
|
if (isSupportedDeclaration(statement)) {
|
|
253
|
-
if (
|
|
294
|
+
if (shouldCheckNonExportedDeclarations(exportMode)) {
|
|
254
295
|
for (const target of declarationTargetsWithCommentNode(statement, statement)) {
|
|
255
296
|
checkTarget(target);
|
|
256
297
|
}
|
|
257
298
|
}
|
|
258
|
-
|
|
299
|
+
if (shouldCheckExportedDeclarations(exportMode)) {
|
|
300
|
+
trackDeclarationTargets(statement);
|
|
301
|
+
}
|
|
259
302
|
continue;
|
|
260
303
|
}
|
|
261
|
-
if (
|
|
262
|
-
|
|
304
|
+
if (shouldCheckExportedDeclarations(exportMode) &&
|
|
305
|
+
statement.type ===
|
|
306
|
+
AST_NODE_TYPES.ExportNamedDeclaration &&
|
|
263
307
|
statement.declaration !== null &&
|
|
264
308
|
isSupportedDeclaration(statement.declaration)) {
|
|
265
309
|
trackDeclarationTargets(statement.declaration);
|
|
@@ -268,17 +312,16 @@ const requireRule = createRule({
|
|
|
268
312
|
},
|
|
269
313
|
};
|
|
270
314
|
},
|
|
271
|
-
defaultOptions: defaultRuleOptions,
|
|
272
315
|
meta: {
|
|
273
316
|
defaultOptions: [
|
|
274
317
|
{
|
|
275
318
|
enforceFor: [...enforceableEntityKinds],
|
|
276
|
-
|
|
319
|
+
exportMode: "exported",
|
|
277
320
|
},
|
|
278
321
|
],
|
|
279
322
|
deprecated: false,
|
|
280
323
|
docs: {
|
|
281
|
-
description: "require TSDoc comments for
|
|
324
|
+
description: "require TSDoc comments for supported TypeScript declarations and default exports, with configurable export scope.",
|
|
282
325
|
frozen: false,
|
|
283
326
|
recommended: true,
|
|
284
327
|
url: "https://github.com/Nick2bad4u/eslint-plugin-tsdoc-require-2/blob/main/docs/rules/require.md",
|