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
@@ -1,29 +1,40 @@
1
1
  # tsdoc-require-2/require-remarks
2
2
 
3
- Require the `@remarks` tag in TSDoc blocks for exported declarations.
3
+ Require the `@remarks` 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 `@remarks`. Set `includeNonExported: true` to also check non-exported top-level declarations.
7
+ This rule reports declarations that already have TSDoc but are missing `@remarks`.
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
+ `@remarks` captures context that does not fit in a one-line summary, such as caveats, migration notes, or runtime assumptions.
13
14
 
14
15
  ## Options
15
16
 
16
- ```json
17
- {
18
- "rules": {
19
- "tsdoc-require-2/require-remarks": [
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:
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-remarks": "error",
35
+ },
36
+ },
37
+ ];
27
38
  ```
28
39
 
29
40
  ## Examples
@@ -32,10 +43,10 @@ It supports the same options as [`tsdoc-require-2/require`](../require.md):
32
43
 
33
44
  ```ts
34
45
  /**
35
- * Performs a task.
46
+ * Loads the project configuration.
36
47
  */
37
- export function runTask(value: string): string {
38
- return value;
48
+ export function loadConfig(): string {
49
+ return "default";
39
50
  }
40
51
  ```
41
52
 
@@ -43,15 +54,19 @@ export function runTask(value: string): string {
43
54
 
44
55
  ```ts
45
56
  /**
46
- * Performs a task.
47
- * @remarks
57
+ * Loads the project configuration.
58
+ * @remarks Falls back to default values when no config file exists.
48
59
  */
49
- export function runTask(value: string): string {
50
- return value;
60
+ export function loadConfig(): string {
61
+ return "default";
51
62
  }
52
63
  ```
53
64
 
65
+ ## Behavior notes
66
+
67
+ This rule checks tag presence. It does not validate the depth or quality of the remarks text.
68
+
54
69
  ## Further reading
55
70
 
56
- - TSDoc tag reference: <https://tsdoc.org/pages/tags/remarks/>
57
- - Rule index: [required-tags](../required-tags.md)
71
+ - [TSDoc tag reference: @remarks](https://tsdoc.org/pages/tags/remarks/)
72
+ - [required-tags family overview](../required-tags.md)
@@ -1,29 +1,45 @@
1
1
  # tsdoc-require-2/require-returns
2
2
 
3
- Require the `@returns` tag in TSDoc blocks for exported declarations.
3
+ Require the `@returns` 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 `@returns`. Set `includeNonExported: true` to also check non-exported top-level declarations.
7
+ This rule reports declarations that already have TSDoc but are missing `@returns`.
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
+ `@returns` makes output contracts explicit and easier to review.
13
14
 
14
15
  ## Options
15
16
 
16
- ```json
17
- {
18
- "rules": {
19
- "tsdoc-require-2/require-returns": [
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-returns": [
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
- * @returns
62
+ * Converts input to a stable ID.
63
+ * @returns Lower-cased stable ID.
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 return description quality or return-type accuracy.
73
+
54
74
  ## Further reading
55
75
 
56
- - TSDoc tag reference: <https://tsdoc.org/pages/tags/returns/>
57
- - Rule index: [required-tags](../required-tags.md)
76
+ - [TSDoc tag reference: @returns](https://tsdoc.org/pages/tags/returns/)
77
+ - [required-tags family overview](../required-tags.md)
@@ -0,0 +1,87 @@
1
+ # tsdoc-require-2/require-since
2
+
3
+ Require the `@since` 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 `@since`. 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
+ * @since
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 `@since` 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-sort-strategy
2
+
3
+ Require the `@sortStrategy` 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 `@sortStrategy`. 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
+ * @sortStrategy
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 `@sortStrategy` 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-summary
2
+
3
+ Require the `@summary` 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 `@summary`. 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
+ * @summary
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 `@summary` 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-template
2
+
3
+ Require the `@template` 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 `@template`. 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
+ * @template
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 `@template` 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)
@@ -1,29 +1,45 @@
1
1
  # tsdoc-require-2/require-throws
2
2
 
3
- Require the `@throws` tag in TSDoc blocks for exported declarations.
3
+ Require the `@throws` 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 `@throws`. Set `includeNonExported: true` to also check non-exported top-level declarations.
7
+ This rule reports declarations that already have TSDoc but are missing `@throws`.
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
+ `@throws` documents failure behavior and reduces hidden runtime surprises for consumers.
13
14
 
14
15
  ## Options
15
16
 
16
- ```json
17
- {
18
- "rules": {
19
- "tsdoc-require-2/require-throws": [
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-throws": [
35
+ "error",
36
+ {
37
+ enforceFor: ["function"],
38
+ },
39
+ ],
40
+ },
41
+ },
42
+ ];
27
43
  ```
28
44
 
29
45
  ## Examples
@@ -32,10 +48,14 @@ It supports the same options as [`tsdoc-require-2/require`](../require.md):
32
48
 
33
49
  ```ts
34
50
  /**
35
- * Performs a task.
51
+ * Loads a user by ID.
36
52
  */
37
- export function runTask(value: string): string {
38
- return value;
53
+ export function loadUser(id: string): string {
54
+ if (id.length === 0) {
55
+ throw new Error("id is required");
56
+ }
57
+
58
+ return id;
39
59
  }
40
60
  ```
41
61
 
@@ -43,15 +63,23 @@ export function runTask(value: string): string {
43
63
 
44
64
  ```ts
45
65
  /**
46
- * Performs a task.
47
- * @throws
66
+ * Loads a user by ID.
67
+ * @throws Error when the id is empty.
48
68
  */
49
- export function runTask(value: string): string {
50
- return value;
69
+ export function loadUser(id: string): string {
70
+ if (id.length === 0) {
71
+ throw new Error("id is required");
72
+ }
73
+
74
+ return id;
51
75
  }
52
76
  ```
53
77
 
78
+ ## Behavior notes
79
+
80
+ This rule checks tag presence. It does not verify whether code paths actually throw.
81
+
54
82
  ## Further reading
55
83
 
56
- - TSDoc tag reference: <https://tsdoc.org/pages/tags/throws/>
57
- - Rule index: [required-tags](../required-tags.md)
84
+ - [TSDoc tag reference: @throws](https://tsdoc.org/pages/tags/throws/)
85
+ - [required-tags family overview](../required-tags.md)