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.
Files changed (346) hide show
  1. package/README.md +111 -36
  2. package/dist/internal/require-tag-factory.cjs +58 -9
  3. package/dist/internal/require-tag-factory.d.ts +5 -2
  4. package/dist/internal/require-tag-factory.d.ts.map +1 -1
  5. package/dist/internal/require-tag-factory.js +58 -9
  6. package/dist/internal/require-tag-factory.js.map +1 -1
  7. package/dist/plugin.cjs +146 -17
  8. package/dist/plugin.d.ts +2 -0
  9. package/dist/plugin.d.ts.map +1 -1
  10. package/dist/plugin.js +142 -16
  11. package/dist/plugin.js.map +1 -1
  12. package/dist/rules/require-tag-rules.cjs +121 -25
  13. package/dist/rules/require-tag-rules.d.ts +5 -30
  14. package/dist/rules/require-tag-rules.d.ts.map +1 -1
  15. package/dist/rules/require-tag-rules.js +93 -0
  16. package/dist/rules/require-tag-rules.js.map +1 -1
  17. package/dist/rules/require.cjs +59 -16
  18. package/dist/rules/require.d.ts +3 -1
  19. package/dist/rules/require.d.ts.map +1 -1
  20. package/dist/rules/require.js +59 -16
  21. package/dist/rules/require.js.map +1 -1
  22. package/dist/rules/required-tags/require-abstract.cjs +32 -0
  23. package/dist/rules/required-tags/require-abstract.d.ts +5 -0
  24. package/dist/rules/required-tags/require-abstract.d.ts.map +1 -0
  25. package/dist/rules/required-tags/require-abstract.js +30 -0
  26. package/dist/rules/required-tags/require-abstract.js.map +1 -0
  27. package/dist/rules/required-tags/require-alpha.cjs +0 -1
  28. package/dist/rules/required-tags/require-alpha.d.ts.map +1 -1
  29. package/dist/rules/required-tags/require-alpha.js +1 -2
  30. package/dist/rules/required-tags/require-alpha.js.map +1 -1
  31. package/dist/rules/required-tags/require-author.cjs +32 -0
  32. package/dist/rules/required-tags/require-author.d.ts +5 -0
  33. package/dist/rules/required-tags/require-author.d.ts.map +1 -0
  34. package/dist/rules/required-tags/require-author.js +30 -0
  35. package/dist/rules/required-tags/require-author.js.map +1 -0
  36. package/dist/rules/required-tags/require-beta.cjs +0 -1
  37. package/dist/rules/required-tags/require-beta.d.ts.map +1 -1
  38. package/dist/rules/required-tags/require-beta.js +1 -2
  39. package/dist/rules/required-tags/require-beta.js.map +1 -1
  40. package/dist/rules/required-tags/require-category.cjs +32 -0
  41. package/dist/rules/required-tags/require-category.d.ts +5 -0
  42. package/dist/rules/required-tags/require-category.d.ts.map +1 -0
  43. package/dist/rules/required-tags/require-category.js +30 -0
  44. package/dist/rules/required-tags/require-category.js.map +1 -0
  45. package/dist/rules/required-tags/require-class.cjs +32 -0
  46. package/dist/rules/required-tags/require-class.d.ts +5 -0
  47. package/dist/rules/required-tags/require-class.d.ts.map +1 -0
  48. package/dist/rules/required-tags/require-class.js +30 -0
  49. package/dist/rules/required-tags/require-class.js.map +1 -0
  50. package/dist/rules/required-tags/require-decorator.cjs +0 -1
  51. package/dist/rules/required-tags/require-decorator.d.ts.map +1 -1
  52. package/dist/rules/required-tags/require-decorator.js +1 -2
  53. package/dist/rules/required-tags/require-decorator.js.map +1 -1
  54. package/dist/rules/required-tags/require-default-value.cjs +0 -1
  55. package/dist/rules/required-tags/require-default-value.d.ts.map +1 -1
  56. package/dist/rules/required-tags/require-default-value.js +1 -2
  57. package/dist/rules/required-tags/require-default-value.js.map +1 -1
  58. package/dist/rules/required-tags/require-deprecated.cjs +0 -1
  59. package/dist/rules/required-tags/require-deprecated.d.ts.map +1 -1
  60. package/dist/rules/required-tags/require-deprecated.js +1 -2
  61. package/dist/rules/required-tags/require-deprecated.js.map +1 -1
  62. package/dist/rules/required-tags/require-document.cjs +32 -0
  63. package/dist/rules/required-tags/require-document.d.ts +5 -0
  64. package/dist/rules/required-tags/require-document.d.ts.map +1 -0
  65. package/dist/rules/required-tags/require-document.js +30 -0
  66. package/dist/rules/required-tags/require-document.js.map +1 -0
  67. package/dist/rules/required-tags/require-enum.cjs +32 -0
  68. package/dist/rules/required-tags/require-enum.d.ts +5 -0
  69. package/dist/rules/required-tags/require-enum.d.ts.map +1 -0
  70. package/dist/rules/required-tags/require-enum.js +30 -0
  71. package/dist/rules/required-tags/require-enum.js.map +1 -0
  72. package/dist/rules/required-tags/require-event-property.cjs +0 -1
  73. package/dist/rules/required-tags/require-event-property.d.ts.map +1 -1
  74. package/dist/rules/required-tags/require-event-property.js +1 -2
  75. package/dist/rules/required-tags/require-event-property.js.map +1 -1
  76. package/dist/rules/required-tags/require-event.cjs +32 -0
  77. package/dist/rules/required-tags/require-event.d.ts +5 -0
  78. package/dist/rules/required-tags/require-event.d.ts.map +1 -0
  79. package/dist/rules/required-tags/require-event.js +30 -0
  80. package/dist/rules/required-tags/require-event.js.map +1 -0
  81. package/dist/rules/required-tags/require-example.cjs +0 -1
  82. package/dist/rules/required-tags/require-example.d.ts.map +1 -1
  83. package/dist/rules/required-tags/require-example.js +1 -2
  84. package/dist/rules/required-tags/require-example.js.map +1 -1
  85. package/dist/rules/required-tags/require-expand.cjs +32 -0
  86. package/dist/rules/required-tags/require-expand.d.ts +5 -0
  87. package/dist/rules/required-tags/require-expand.d.ts.map +1 -0
  88. package/dist/rules/required-tags/require-expand.js +30 -0
  89. package/dist/rules/required-tags/require-expand.js.map +1 -0
  90. package/dist/rules/required-tags/require-experimental.cjs +0 -1
  91. package/dist/rules/required-tags/require-experimental.d.ts.map +1 -1
  92. package/dist/rules/required-tags/require-experimental.js +1 -2
  93. package/dist/rules/required-tags/require-experimental.js.map +1 -1
  94. package/dist/rules/required-tags/require-function.cjs +32 -0
  95. package/dist/rules/required-tags/require-function.d.ts +5 -0
  96. package/dist/rules/required-tags/require-function.d.ts.map +1 -0
  97. package/dist/rules/required-tags/require-function.js +30 -0
  98. package/dist/rules/required-tags/require-function.js.map +1 -0
  99. package/dist/rules/required-tags/require-group.cjs +32 -0
  100. package/dist/rules/required-tags/require-group.d.ts +5 -0
  101. package/dist/rules/required-tags/require-group.d.ts.map +1 -0
  102. package/dist/rules/required-tags/require-group.js +30 -0
  103. package/dist/rules/required-tags/require-group.js.map +1 -0
  104. package/dist/rules/required-tags/require-hidden.cjs +32 -0
  105. package/dist/rules/required-tags/require-hidden.d.ts +5 -0
  106. package/dist/rules/required-tags/require-hidden.d.ts.map +1 -0
  107. package/dist/rules/required-tags/require-hidden.js +30 -0
  108. package/dist/rules/required-tags/require-hidden.js.map +1 -0
  109. package/dist/rules/required-tags/require-hideconstructor.cjs +32 -0
  110. package/dist/rules/required-tags/require-hideconstructor.d.ts +5 -0
  111. package/dist/rules/required-tags/require-hideconstructor.d.ts.map +1 -0
  112. package/dist/rules/required-tags/require-hideconstructor.js +30 -0
  113. package/dist/rules/required-tags/require-hideconstructor.js.map +1 -0
  114. package/dist/rules/required-tags/require-ignore.cjs +32 -0
  115. package/dist/rules/required-tags/require-ignore.d.ts +5 -0
  116. package/dist/rules/required-tags/require-ignore.d.ts.map +1 -0
  117. package/dist/rules/required-tags/require-ignore.js +30 -0
  118. package/dist/rules/required-tags/require-ignore.js.map +1 -0
  119. package/dist/rules/required-tags/require-import.cjs +32 -0
  120. package/dist/rules/required-tags/require-import.d.ts +5 -0
  121. package/dist/rules/required-tags/require-import.d.ts.map +1 -0
  122. package/dist/rules/required-tags/require-import.js +30 -0
  123. package/dist/rules/required-tags/require-import.js.map +1 -0
  124. package/dist/rules/required-tags/require-include.cjs +32 -0
  125. package/dist/rules/required-tags/require-include.d.ts +5 -0
  126. package/dist/rules/required-tags/require-include.d.ts.map +1 -0
  127. package/dist/rules/required-tags/require-include.js +30 -0
  128. package/dist/rules/required-tags/require-include.js.map +1 -0
  129. package/dist/rules/required-tags/require-inherit-doc.cjs +0 -1
  130. package/dist/rules/required-tags/require-inherit-doc.d.ts.map +1 -1
  131. package/dist/rules/required-tags/require-inherit-doc.js +1 -2
  132. package/dist/rules/required-tags/require-inherit-doc.js.map +1 -1
  133. package/dist/rules/required-tags/require-inline.cjs +32 -0
  134. package/dist/rules/required-tags/require-inline.d.ts +5 -0
  135. package/dist/rules/required-tags/require-inline.d.ts.map +1 -0
  136. package/dist/rules/required-tags/require-inline.js +30 -0
  137. package/dist/rules/required-tags/require-inline.js.map +1 -0
  138. package/dist/rules/required-tags/require-interface.cjs +32 -0
  139. package/dist/rules/required-tags/require-interface.d.ts +5 -0
  140. package/dist/rules/required-tags/require-interface.d.ts.map +1 -0
  141. package/dist/rules/required-tags/require-interface.js +30 -0
  142. package/dist/rules/required-tags/require-interface.js.map +1 -0
  143. package/dist/rules/required-tags/require-internal.cjs +0 -1
  144. package/dist/rules/required-tags/require-internal.d.ts.map +1 -1
  145. package/dist/rules/required-tags/require-internal.js +1 -2
  146. package/dist/rules/required-tags/require-internal.js.map +1 -1
  147. package/dist/rules/required-tags/require-label.cjs +0 -1
  148. package/dist/rules/required-tags/require-label.d.ts.map +1 -1
  149. package/dist/rules/required-tags/require-label.js +1 -2
  150. package/dist/rules/required-tags/require-label.js.map +1 -1
  151. package/dist/rules/required-tags/require-license.cjs +32 -0
  152. package/dist/rules/required-tags/require-license.d.ts +5 -0
  153. package/dist/rules/required-tags/require-license.d.ts.map +1 -0
  154. package/dist/rules/required-tags/require-license.js +30 -0
  155. package/dist/rules/required-tags/require-license.js.map +1 -0
  156. package/dist/rules/required-tags/require-link.cjs +0 -1
  157. package/dist/rules/required-tags/require-link.d.ts.map +1 -1
  158. package/dist/rules/required-tags/require-link.js +1 -2
  159. package/dist/rules/required-tags/require-link.js.map +1 -1
  160. package/dist/rules/required-tags/require-merge-module-with.cjs +32 -0
  161. package/dist/rules/required-tags/require-merge-module-with.d.ts +5 -0
  162. package/dist/rules/required-tags/require-merge-module-with.d.ts.map +1 -0
  163. package/dist/rules/required-tags/require-merge-module-with.js +30 -0
  164. package/dist/rules/required-tags/require-merge-module-with.js.map +1 -0
  165. package/dist/rules/required-tags/require-module.cjs +32 -0
  166. package/dist/rules/required-tags/require-module.d.ts +5 -0
  167. package/dist/rules/required-tags/require-module.d.ts.map +1 -0
  168. package/dist/rules/required-tags/require-module.js +30 -0
  169. package/dist/rules/required-tags/require-module.js.map +1 -0
  170. package/dist/rules/required-tags/require-namespace.cjs +32 -0
  171. package/dist/rules/required-tags/require-namespace.d.ts +5 -0
  172. package/dist/rules/required-tags/require-namespace.d.ts.map +1 -0
  173. package/dist/rules/required-tags/require-namespace.js +30 -0
  174. package/dist/rules/required-tags/require-namespace.js.map +1 -0
  175. package/dist/rules/required-tags/require-overload.cjs +32 -0
  176. package/dist/rules/required-tags/require-overload.d.ts +5 -0
  177. package/dist/rules/required-tags/require-overload.d.ts.map +1 -0
  178. package/dist/rules/required-tags/require-overload.js +30 -0
  179. package/dist/rules/required-tags/require-overload.js.map +1 -0
  180. package/dist/rules/required-tags/require-override.cjs +0 -1
  181. package/dist/rules/required-tags/require-override.d.ts.map +1 -1
  182. package/dist/rules/required-tags/require-override.js +1 -2
  183. package/dist/rules/required-tags/require-override.js.map +1 -1
  184. package/dist/rules/required-tags/require-package-documentation.cjs +0 -1
  185. package/dist/rules/required-tags/require-package-documentation.d.ts.map +1 -1
  186. package/dist/rules/required-tags/require-package-documentation.js +1 -2
  187. package/dist/rules/required-tags/require-package-documentation.js.map +1 -1
  188. package/dist/rules/required-tags/require-param.cjs +0 -1
  189. package/dist/rules/required-tags/require-param.d.ts.map +1 -1
  190. package/dist/rules/required-tags/require-param.js +1 -2
  191. package/dist/rules/required-tags/require-param.js.map +1 -1
  192. package/dist/rules/required-tags/require-primary-export.cjs +32 -0
  193. package/dist/rules/required-tags/require-primary-export.d.ts +5 -0
  194. package/dist/rules/required-tags/require-primary-export.d.ts.map +1 -0
  195. package/dist/rules/required-tags/require-primary-export.js +30 -0
  196. package/dist/rules/required-tags/require-primary-export.js.map +1 -0
  197. package/dist/rules/required-tags/require-private-remarks.cjs +0 -1
  198. package/dist/rules/required-tags/require-private-remarks.d.ts.map +1 -1
  199. package/dist/rules/required-tags/require-private-remarks.js +1 -2
  200. package/dist/rules/required-tags/require-private-remarks.js.map +1 -1
  201. package/dist/rules/required-tags/require-private.cjs +32 -0
  202. package/dist/rules/required-tags/require-private.d.ts +5 -0
  203. package/dist/rules/required-tags/require-private.d.ts.map +1 -0
  204. package/dist/rules/required-tags/require-private.js +30 -0
  205. package/dist/rules/required-tags/require-private.js.map +1 -0
  206. package/dist/rules/required-tags/require-property.cjs +32 -0
  207. package/dist/rules/required-tags/require-property.d.ts +5 -0
  208. package/dist/rules/required-tags/require-property.d.ts.map +1 -0
  209. package/dist/rules/required-tags/require-property.js +30 -0
  210. package/dist/rules/required-tags/require-property.js.map +1 -0
  211. package/dist/rules/required-tags/require-protected.cjs +32 -0
  212. package/dist/rules/required-tags/require-protected.d.ts +5 -0
  213. package/dist/rules/required-tags/require-protected.d.ts.map +1 -0
  214. package/dist/rules/required-tags/require-protected.js +30 -0
  215. package/dist/rules/required-tags/require-protected.js.map +1 -0
  216. package/dist/rules/required-tags/require-public.cjs +0 -1
  217. package/dist/rules/required-tags/require-public.d.ts.map +1 -1
  218. package/dist/rules/required-tags/require-public.js +1 -2
  219. package/dist/rules/required-tags/require-public.js.map +1 -1
  220. package/dist/rules/required-tags/require-readonly.cjs +0 -1
  221. package/dist/rules/required-tags/require-readonly.d.ts.map +1 -1
  222. package/dist/rules/required-tags/require-readonly.js +1 -2
  223. package/dist/rules/required-tags/require-readonly.js.map +1 -1
  224. package/dist/rules/required-tags/require-remarks.cjs +0 -1
  225. package/dist/rules/required-tags/require-remarks.d.ts.map +1 -1
  226. package/dist/rules/required-tags/require-remarks.js +1 -2
  227. package/dist/rules/required-tags/require-remarks.js.map +1 -1
  228. package/dist/rules/required-tags/require-returns.cjs +0 -1
  229. package/dist/rules/required-tags/require-returns.d.ts.map +1 -1
  230. package/dist/rules/required-tags/require-returns.js +1 -2
  231. package/dist/rules/required-tags/require-returns.js.map +1 -1
  232. package/dist/rules/required-tags/require-sealed.cjs +0 -1
  233. package/dist/rules/required-tags/require-sealed.d.ts.map +1 -1
  234. package/dist/rules/required-tags/require-sealed.js +1 -2
  235. package/dist/rules/required-tags/require-sealed.js.map +1 -1
  236. package/dist/rules/required-tags/require-see.cjs +0 -1
  237. package/dist/rules/required-tags/require-see.d.ts.map +1 -1
  238. package/dist/rules/required-tags/require-see.js +1 -2
  239. package/dist/rules/required-tags/require-see.js.map +1 -1
  240. package/dist/rules/required-tags/require-since.cjs +32 -0
  241. package/dist/rules/required-tags/require-since.d.ts +5 -0
  242. package/dist/rules/required-tags/require-since.d.ts.map +1 -0
  243. package/dist/rules/required-tags/require-since.js +30 -0
  244. package/dist/rules/required-tags/require-since.js.map +1 -0
  245. package/dist/rules/required-tags/require-sort-strategy.cjs +32 -0
  246. package/dist/rules/required-tags/require-sort-strategy.d.ts +5 -0
  247. package/dist/rules/required-tags/require-sort-strategy.d.ts.map +1 -0
  248. package/dist/rules/required-tags/require-sort-strategy.js +30 -0
  249. package/dist/rules/required-tags/require-sort-strategy.js.map +1 -0
  250. package/dist/rules/required-tags/require-summary.cjs +32 -0
  251. package/dist/rules/required-tags/require-summary.d.ts +5 -0
  252. package/dist/rules/required-tags/require-summary.d.ts.map +1 -0
  253. package/dist/rules/required-tags/require-summary.js +30 -0
  254. package/dist/rules/required-tags/require-summary.js.map +1 -0
  255. package/dist/rules/required-tags/require-template.cjs +32 -0
  256. package/dist/rules/required-tags/require-template.d.ts +5 -0
  257. package/dist/rules/required-tags/require-template.d.ts.map +1 -0
  258. package/dist/rules/required-tags/require-template.js +30 -0
  259. package/dist/rules/required-tags/require-template.js.map +1 -0
  260. package/dist/rules/required-tags/require-throws.cjs +0 -1
  261. package/dist/rules/required-tags/require-throws.d.ts.map +1 -1
  262. package/dist/rules/required-tags/require-throws.js +1 -2
  263. package/dist/rules/required-tags/require-throws.js.map +1 -1
  264. package/dist/rules/required-tags/require-type-param.cjs +0 -1
  265. package/dist/rules/required-tags/require-type-param.d.ts.map +1 -1
  266. package/dist/rules/required-tags/require-type-param.js +1 -2
  267. package/dist/rules/required-tags/require-type-param.js.map +1 -1
  268. package/dist/rules/required-tags/require-use-declared-type.cjs +32 -0
  269. package/dist/rules/required-tags/require-use-declared-type.d.ts +5 -0
  270. package/dist/rules/required-tags/require-use-declared-type.d.ts.map +1 -0
  271. package/dist/rules/required-tags/require-use-declared-type.js +30 -0
  272. package/dist/rules/required-tags/require-use-declared-type.js.map +1 -0
  273. package/dist/rules/required-tags/require-virtual.cjs +0 -1
  274. package/dist/rules/required-tags/require-virtual.d.ts.map +1 -1
  275. package/dist/rules/required-tags/require-virtual.js +1 -2
  276. package/dist/rules/required-tags/require-virtual.js.map +1 -1
  277. package/dist/rules/restrict-tags.cjs +416 -0
  278. package/dist/rules/restrict-tags.d.ts +17 -0
  279. package/dist/rules/restrict-tags.d.ts.map +1 -0
  280. package/dist/rules/restrict-tags.js +414 -0
  281. package/dist/rules/restrict-tags.js.map +1 -0
  282. package/docs/rules/getting-started.md +97 -0
  283. package/docs/rules/index.md +61 -0
  284. package/docs/rules/presets/all.md +100 -0
  285. package/docs/rules/presets/detailed.md +41 -0
  286. package/docs/rules/presets/index.md +156 -0
  287. package/docs/rules/presets/jsdoc.md +43 -0
  288. package/docs/rules/presets/packages.md +41 -0
  289. package/docs/rules/presets/recommended.md +37 -0
  290. package/docs/rules/presets/tsdoc.md +45 -0
  291. package/docs/rules/presets/typedoc-strict.md +50 -0
  292. package/docs/rules/presets/typedoc.md +44 -0
  293. package/docs/rules/require.md +92 -56
  294. package/docs/rules/required-tags/require-abstract.md +87 -0
  295. package/docs/rules/required-tags/require-alpha.md +1 -1
  296. package/docs/rules/required-tags/require-author.md +87 -0
  297. package/docs/rules/required-tags/require-beta.md +1 -1
  298. package/docs/rules/required-tags/require-category.md +87 -0
  299. package/docs/rules/required-tags/require-class.md +71 -0
  300. package/docs/rules/required-tags/require-decorator.md +1 -1
  301. package/docs/rules/required-tags/require-default-value.md +1 -1
  302. package/docs/rules/required-tags/require-deprecated.md +1 -1
  303. package/docs/rules/required-tags/require-document.md +87 -0
  304. package/docs/rules/required-tags/require-enum.md +73 -0
  305. package/docs/rules/required-tags/require-event-property.md +1 -1
  306. package/docs/rules/required-tags/require-event.md +87 -0
  307. package/docs/rules/required-tags/require-example.md +1 -1
  308. package/docs/rules/required-tags/require-expand.md +87 -0
  309. package/docs/rules/required-tags/require-experimental.md +1 -1
  310. package/docs/rules/required-tags/require-function.md +74 -0
  311. package/docs/rules/required-tags/require-group.md +87 -0
  312. package/docs/rules/required-tags/require-hidden.md +87 -0
  313. package/docs/rules/required-tags/require-hideconstructor.md +87 -0
  314. package/docs/rules/required-tags/require-ignore.md +87 -0
  315. package/docs/rules/required-tags/require-import.md +87 -0
  316. package/docs/rules/required-tags/require-include.md +87 -0
  317. package/docs/rules/required-tags/require-inherit-doc.md +1 -1
  318. package/docs/rules/required-tags/require-inline.md +87 -0
  319. package/docs/rules/required-tags/require-interface.md +74 -0
  320. package/docs/rules/required-tags/require-internal.md +1 -1
  321. package/docs/rules/required-tags/require-label.md +1 -1
  322. package/docs/rules/required-tags/require-license.md +87 -0
  323. package/docs/rules/required-tags/require-link.md +1 -1
  324. package/docs/rules/required-tags/require-merge-module-with.md +87 -0
  325. package/docs/rules/required-tags/require-module.md +78 -0
  326. package/docs/rules/required-tags/require-namespace.md +87 -0
  327. package/docs/rules/required-tags/require-overload.md +87 -0
  328. package/docs/rules/required-tags/require-override.md +1 -1
  329. package/docs/rules/required-tags/require-package-documentation.md +44 -24
  330. package/docs/rules/required-tags/require-param.md +45 -25
  331. package/docs/rules/required-tags/require-primary-export.md +87 -0
  332. package/docs/rules/required-tags/require-private.md +87 -0
  333. package/docs/rules/required-tags/require-property.md +87 -0
  334. package/docs/rules/required-tags/require-protected.md +87 -0
  335. package/docs/rules/required-tags/require-remarks.md +40 -25
  336. package/docs/rules/required-tags/require-returns.md +45 -25
  337. package/docs/rules/required-tags/require-since.md +87 -0
  338. package/docs/rules/required-tags/require-sort-strategy.md +87 -0
  339. package/docs/rules/required-tags/require-summary.md +87 -0
  340. package/docs/rules/required-tags/require-template.md +87 -0
  341. package/docs/rules/required-tags/require-throws.md +53 -25
  342. package/docs/rules/required-tags/require-type-param.md +45 -25
  343. package/docs/rules/required-tags/require-use-declared-type.md +87 -0
  344. package/docs/rules/required-tags.md +171 -39
  345. package/docs/rules/restrict-tags.md +203 -0
  346. package/package.json +394 -45
@@ -0,0 +1,87 @@
1
+ # tsdoc-require-2/require-overload
2
+
3
+ Require the `@overload` 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 `@overload`. 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
+ * @overload
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 `@overload` 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)
@@ -54,4 +54,4 @@ export function runTask(value: string): string {
54
54
  ## Further reading
55
55
 
56
56
  - TSDoc tag reference: <https://tsdoc.org/pages/tags/override/>
57
- - Rule index: [required-tags](../required-tags.md)
57
+ - Rule index: [required-tags](../required-tags.md)
@@ -1,29 +1,45 @@
1
1
  # tsdoc-require-2/require-package-documentation
2
2
 
3
- Require the `@packageDocumentation` tag in TSDoc blocks for exported declarations.
3
+ Require the `@packageDocumentation` tag in TSDoc blocks for targeted declarations.
4
4
 
5
5
  ## Rule details
6
6
 
7
- By default, this rule reports exported declarations (and supported default exports) that have TSDoc but are missing `@packageDocumentation`. Set `includeNonExported: true` to also check non-exported top-level declarations.
7
+ This rule reports declarations that already have TSDoc but are missing `@packageDocumentation`.
8
8
 
9
- It supports the same options as [`tsdoc-require-2/require`](../require.md):
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
10
 
11
- - `enforceFor`: choose which declaration kinds are checked.
12
- - `includeNonExported`: when `true`, also check non-exported top-level declarations (default: `false`).
11
+ ## Why use it
12
+
13
+ `@packageDocumentation` helps establish package-level intent and usage context in generated docs.
13
14
 
14
15
  ## Options
15
16
 
16
- ```json
17
- {
18
- "rules": {
19
- "tsdoc-require-2/require-package-documentation": [
20
- "error",
21
- {
22
- "enforceFor": ["class", "function", "interface", "type", "enum", "variable", "object"]
23
- }
24
- ]
25
- }
26
- }
17
+ This rule supports the same options as [`tsdoc-require-2/require`](../require.md):
18
+
19
+ - `enforceFor`
20
+ - `exportMode`
21
+ - `includeNonExported` (legacy alias for `exportMode: "all"`)
22
+
23
+ Flat config example (namespace/module focused):
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-package-documentation": [
35
+ "error",
36
+ {
37
+ enforceFor: ["namespace"],
38
+ },
39
+ ],
40
+ },
41
+ },
42
+ ];
27
43
  ```
28
44
 
29
45
  ## Examples
@@ -32,10 +48,10 @@ It supports the same options as [`tsdoc-require-2/require`](../require.md):
32
48
 
33
49
  ```ts
34
50
  /**
35
- * Performs a task.
51
+ * Public API surface for this package.
36
52
  */
37
- export function runTask(value: string): string {
38
- return value;
53
+ export namespace Api {
54
+ export type Id = string;
39
55
  }
40
56
  ```
41
57
 
@@ -43,15 +59,19 @@ export function runTask(value: string): string {
43
59
 
44
60
  ```ts
45
61
  /**
46
- * Performs a task.
62
+ * Public API surface for this package.
47
63
  * @packageDocumentation
48
64
  */
49
- export function runTask(value: string): string {
50
- return value;
65
+ export namespace Api {
66
+ export type Id = string;
51
67
  }
52
68
  ```
53
69
 
70
+ ## Behavior notes
71
+
72
+ This rule checks tag presence. It does not enforce where package documentation should be physically located.
73
+
54
74
  ## Further reading
55
75
 
56
- - TSDoc tag reference: <https://tsdoc.org/pages/tags/packagedocumentation/>
57
- - Rule index: [required-tags](../required-tags.md)
76
+ - [TSDoc tag reference: @packageDocumentation](https://tsdoc.org/pages/tags/packagedocumentation/)
77
+ - [required-tags family overview](../required-tags.md)
@@ -1,29 +1,45 @@
1
1
  # tsdoc-require-2/require-param
2
2
 
3
- Require the `@param` tag in TSDoc blocks for exported declarations.
3
+ Require the `@param` tag in TSDoc blocks for targeted declarations.
4
4
 
5
5
  ## Rule details
6
6
 
7
- By default, this rule reports exported declarations (and supported default exports) that have TSDoc but are missing `@param`. Set `includeNonExported: true` to also check non-exported top-level declarations.
7
+ This rule reports declarations that already have TSDoc but are missing `@param`.
8
8
 
9
- It supports the same options as [`tsdoc-require-2/require`](../require.md):
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
10
 
11
- - `enforceFor`: choose which declaration kinds are checked.
12
- - `includeNonExported`: when `true`, also check non-exported top-level declarations (default: `false`).
11
+ ## Why use it
12
+
13
+ `@param` documents input meaning and reduces ambiguity at call sites.
13
14
 
14
15
  ## Options
15
16
 
16
- ```json
17
- {
18
- "rules": {
19
- "tsdoc-require-2/require-param": [
20
- "error",
21
- {
22
- "enforceFor": ["class", "function", "interface", "type", "enum", "variable", "object"]
23
- }
24
- ]
25
- }
26
- }
17
+ This rule supports the same options as [`tsdoc-require-2/require`](../require.md):
18
+
19
+ - `enforceFor`
20
+ - `exportMode`
21
+ - `includeNonExported` (legacy alias for `exportMode: "all"`)
22
+
23
+ Flat config example (function-focused 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-param": [
35
+ "error",
36
+ {
37
+ enforceFor: ["function"],
38
+ },
39
+ ],
40
+ },
41
+ },
42
+ ];
27
43
  ```
28
44
 
29
45
  ## Examples
@@ -32,10 +48,10 @@ It supports the same options as [`tsdoc-require-2/require`](../require.md):
32
48
 
33
49
  ```ts
34
50
  /**
35
- * Performs a task.
51
+ * Converts input to a stable ID.
36
52
  */
37
- export function runTask(value: string): string {
38
- return value;
53
+ export function toStableId(value: string): string {
54
+ return value.trim().toLowerCase();
39
55
  }
40
56
  ```
41
57
 
@@ -43,15 +59,19 @@ export function runTask(value: string): string {
43
59
 
44
60
  ```ts
45
61
  /**
46
- * Performs a task.
47
- * @param
62
+ * Converts input to a stable ID.
63
+ * @param value - Raw identifier input.
48
64
  */
49
- export function runTask(value: string): string {
50
- return value;
65
+ export function toStableId(value: string): string {
66
+ return value.trim().toLowerCase();
51
67
  }
52
68
  ```
53
69
 
70
+ ## Behavior notes
71
+
72
+ This rule checks tag presence. It does not validate one `@param` entry per function parameter.
73
+
54
74
  ## Further reading
55
75
 
56
- - TSDoc tag reference: <https://tsdoc.org/pages/tags/param/>
57
- - Rule index: [required-tags](../required-tags.md)
76
+ - [TSDoc tag reference: @param](https://tsdoc.org/pages/tags/param/)
77
+ - [required-tags family overview](../required-tags.md)
@@ -0,0 +1,87 @@
1
+ # tsdoc-require-2/require-primary-export
2
+
3
+ Require the `@primaryExport` 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 `@primaryExport`. 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
+ * @primaryExport
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 `@primaryExport` 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-private
2
+
3
+ Require the `@private` 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 `@private`. 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
+ * @private
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 `@private` 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-property
2
+
3
+ Require the `@property` 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 `@property`. 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
+ * @property
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 `@property` 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-protected
2
+
3
+ Require the `@protected` 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 `@protected`. 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
+ * @protected
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 `@protected` 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)