eslint-plugin-tsdoc-require-2 1.0.7 → 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-import
2
+
3
+ Require the `@import` 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 `@import`. 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
+ * @import
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 `@import` 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-include
2
+
3
+ Require the `@include` 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 `@include`. For inline tags, the expected form is `{@include ...}`. Pair it with [`tsdoc-require-2/require`](../require.md) when you also want to require the TSDoc block itself.
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
+ * Provides an embedded snippet.
61
+ */
62
+ export function taggedFunction(value: string): string {
63
+ return value;
64
+ }
65
+ ```
66
+
67
+ ## ✅ Correct
68
+
69
+ ```ts
70
+ /**
71
+ * Provides an embedded snippet.
72
+ * {@include ./snippets/api.md}
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 `@include` 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/inheritdoc/>
57
- - Rule index: [required-tags](../required-tags.md)
57
+ - Rule index: [required-tags](../required-tags.md)
@@ -0,0 +1,87 @@
1
+ # tsdoc-require-2/require-inline
2
+
3
+ Require the `@inline` 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 `@inline`. 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
+ * @inline
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 `@inline` on the declarations targeted by your configuration.
82
+
83
+ ## Further Reading
84
+
85
+ - [TSDoc](https://tsdoc.org)
86
+ - [TypeDoc Tags](https://typedoc.org/documents/Tags.html)
87
+ - [required-tags](../required-tags.md)
@@ -0,0 +1,74 @@
1
+ # tsdoc-require-2/require-interface
2
+
3
+ Require the `@interface` tag in TSDoc blocks for supported TypeScript declarations.
4
+
5
+ ## Rule details
6
+
7
+ This rule reports declarations that already have TSDoc but do not contain `@interface`.
8
+
9
+ It does not create a TSDoc block. Pair it with [`tsdoc-require-2/require`](../require.md) when you also want to require comments.
10
+
11
+ ## Why use it
12
+
13
+ `@interface` can help teams and doc generators that expect explicit declaration-kind tags.
14
+
15
+ ## Options
16
+
17
+ This rule accepts the same options as [`tsdoc-require-2/require`](../require.md):
18
+
19
+ - `enforceFor`: limit which declaration kinds are checked.
20
+ - `exportMode`: choose whether to check exported declarations, non-exported top-level declarations, or both.
21
+ - `includeNonExported`: legacy alias for `exportMode: "all"`.
22
+
23
+ Flat config example (interface-only scope):
24
+
25
+ ```ts
26
+ import tsdocRequire from "eslint-plugin-tsdoc-require-2";
27
+
28
+ export default [
29
+ {
30
+ plugins: {
31
+ "tsdoc-require-2": tsdocRequire,
32
+ },
33
+ rules: {
34
+ "tsdoc-require-2/require-interface": [
35
+ "error",
36
+ { enforceFor: ["interface"] },
37
+ ],
38
+ },
39
+ },
40
+ ];
41
+ ```
42
+
43
+ ## ❌ Incorrect
44
+
45
+ ```ts
46
+ /**
47
+ * Contract used by the cache layer.
48
+ */
49
+ export interface CacheStore {
50
+ get(key: string): string | undefined;
51
+ }
52
+ ```
53
+
54
+ ## ✅ Correct
55
+
56
+ ```ts
57
+ /**
58
+ * Contract used by the cache layer.
59
+ * @interface
60
+ */
61
+ export interface CacheStore {
62
+ get(key: string): string | undefined;
63
+ }
64
+ ```
65
+
66
+ ## When not to use it
67
+
68
+ Disable this rule if your documentation convention does not require `@interface` on the declarations targeted by your configuration.
69
+
70
+ ## Further reading
71
+
72
+ - [TSDoc](https://tsdoc.org)
73
+ - [TypeDoc Tags](https://typedoc.org/documents/Tags.html)
74
+ - [required-tags](../required-tags.md)
@@ -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/internal/>
57
- - Rule index: [required-tags](../required-tags.md)
57
+ - Rule index: [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/label/>
57
- - Rule index: [required-tags](../required-tags.md)
57
+ - Rule index: [required-tags](../required-tags.md)
@@ -0,0 +1,87 @@
1
+ # tsdoc-require-2/require-license
2
+
3
+ Require the `@license` 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 `@license`. 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
+ * @license
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 `@license` 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/link/>
57
- - Rule index: [required-tags](../required-tags.md)
57
+ - Rule index: [required-tags](../required-tags.md)
@@ -0,0 +1,87 @@
1
+ # tsdoc-require-2/require-merge-module-with
2
+
3
+ Require the `@mergeModuleWith` 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 `@mergeModuleWith`. 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
+ * @mergeModuleWith
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 `@mergeModuleWith` 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,78 @@
1
+ # tsdoc-require-2/require-module
2
+
3
+ Require the `@module` tag in TSDoc blocks for supported TypeScript declarations.
4
+
5
+ ## Rule details
6
+
7
+ This rule reports declarations that already have TSDoc but do not contain `@module`.
8
+
9
+ It does not create a TSDoc block. Pair it with [`tsdoc-require-2/require`](../require.md) when you also want to require comments.
10
+
11
+ For module-focused behavior, use `enforceFor: ["namespace"]` to target TypeScript `namespace` and `declare module` declarations.
12
+
13
+ ## Why use it
14
+
15
+ `@module` improves package-level discoverability in generated documentation.
16
+
17
+ ## Options
18
+
19
+ This rule accepts the same options as [`tsdoc-require-2/require`](../require.md):
20
+
21
+ - `enforceFor`: limit which declaration kinds are checked.
22
+ - `exportMode`: choose whether to check exported declarations, non-exported top-level declarations, or both.
23
+ - `includeNonExported`: legacy alias for `exportMode: "all"`.
24
+
25
+ Flat config example (module-only scope):
26
+
27
+ ```ts
28
+ import tsdocRequire from "eslint-plugin-tsdoc-require-2";
29
+
30
+ export default [
31
+ {
32
+ plugins: {
33
+ "tsdoc-require-2": tsdocRequire,
34
+ },
35
+ rules: {
36
+ "tsdoc-require-2/require-module": [
37
+ "error",
38
+ {
39
+ enforceFor: ["namespace"],
40
+ },
41
+ ],
42
+ },
43
+ },
44
+ ];
45
+ ```
46
+
47
+ ## ❌ Incorrect
48
+
49
+ ```ts
50
+ /**
51
+ * Namespace for API surface docs.
52
+ */
53
+ export namespace ApiDocs {
54
+ export type Id = string;
55
+ }
56
+ ```
57
+
58
+ ## ✅ Correct
59
+
60
+ ```ts
61
+ /**
62
+ * Namespace for API surface docs.
63
+ * @module
64
+ */
65
+ export namespace ApiDocs {
66
+ export type Id = string;
67
+ }
68
+ ```
69
+
70
+ ## When not to use it
71
+
72
+ Disable this rule if your documentation convention does not require `@module` on the declarations targeted by your configuration.
73
+
74
+ ## Further reading
75
+
76
+ - [TSDoc](https://tsdoc.org)
77
+ - [TypeDoc Tags](https://typedoc.org/documents/Tags.html)
78
+ - [required-tags](../required-tags.md)
@@ -0,0 +1,87 @@
1
+ # tsdoc-require-2/require-namespace
2
+
3
+ Require the `@namespace` 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 `@namespace`. Use `enforceFor: ["namespace"]` when you only want to target TypeScript `namespace` and `declare module` declarations. Pair it with [`tsdoc-require-2/require`](../require.md) when you also want to require the TSDoc block itself.
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
+ * Namespace for API surface docs.
61
+ */
62
+ export namespace ApiDocs {
63
+ export type Id = string;
64
+ }
65
+ ```
66
+
67
+ ## ✅ Correct
68
+
69
+ ```ts
70
+ /**
71
+ * Namespace for API surface docs.
72
+ * @namespace
73
+ */
74
+ export namespace ApiDocs {
75
+ export type Id = string;
76
+ }
77
+ ```
78
+
79
+ ## When Not To Use It
80
+
81
+ Disable this rule if your documentation convention does not require `@namespace` 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)