@depup/eslint-plugin-jsdoc 62.8.0-depup.0

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 (430) hide show
  1. package/LICENSE +24 -0
  2. package/README.md +33 -0
  3. package/changes.json +18 -0
  4. package/dist/WarnSettings.cjs +38 -0
  5. package/dist/WarnSettings.cjs.map +1 -0
  6. package/dist/WarnSettings.d.ts +17 -0
  7. package/dist/alignTransform.cjs +402 -0
  8. package/dist/alignTransform.cjs.map +1 -0
  9. package/dist/alignTransform.d.ts +34 -0
  10. package/dist/buildForbidRuleDefinition.cjs +101 -0
  11. package/dist/buildForbidRuleDefinition.cjs.map +1 -0
  12. package/dist/buildForbidRuleDefinition.d.ts +15 -0
  13. package/dist/buildRejectOrPreferRuleDefinition.cjs +352 -0
  14. package/dist/buildRejectOrPreferRuleDefinition.cjs.map +1 -0
  15. package/dist/buildRejectOrPreferRuleDefinition.d.ts +9 -0
  16. package/dist/cjs/WarnSettings.d.ts +16 -0
  17. package/dist/cjs/alignTransform.d.ts +33 -0
  18. package/dist/cjs/buildForbidRuleDefinition.d.ts +14 -0
  19. package/dist/cjs/buildRejectOrPreferRuleDefinition.d.ts +8 -0
  20. package/dist/cjs/defaultTagOrder.d.ts +4 -0
  21. package/dist/cjs/exportParser.d.ts +40 -0
  22. package/dist/cjs/getDefaultTagStructureForMode.d.ts +10 -0
  23. package/dist/cjs/getJsdocProcessorPlugin.d.cts +5 -0
  24. package/dist/cjs/getJsdocProcessorPlugin.d.ts +66 -0
  25. package/dist/cjs/index-cjs.d.ts +23 -0
  26. package/dist/cjs/index.cjs.d.cts +2 -0
  27. package/dist/cjs/iterateJsdoc.d.cts +7 -0
  28. package/dist/cjs/iterateJsdoc.d.ts +495 -0
  29. package/dist/cjs/jsdocUtils.d.ts +493 -0
  30. package/dist/cjs/rules/checkAccess.d.ts +2 -0
  31. package/dist/cjs/rules/checkAlignment.d.ts +2 -0
  32. package/dist/cjs/rules/checkExamples.d.ts +3 -0
  33. package/dist/cjs/rules/checkIndentation.d.ts +2 -0
  34. package/dist/cjs/rules/checkLineAlignment.d.ts +9 -0
  35. package/dist/cjs/rules/checkParamNames.d.ts +2 -0
  36. package/dist/cjs/rules/checkPropertyNames.d.ts +2 -0
  37. package/dist/cjs/rules/checkSyntax.d.ts +2 -0
  38. package/dist/cjs/rules/checkTagNames.d.ts +2 -0
  39. package/dist/cjs/rules/checkTemplateNames.d.ts +2 -0
  40. package/dist/cjs/rules/checkTypes.d.ts +7 -0
  41. package/dist/cjs/rules/checkValues.d.ts +2 -0
  42. package/dist/cjs/rules/convertToJsdocComments.d.ts +266 -0
  43. package/dist/cjs/rules/emptyTags.d.ts +2 -0
  44. package/dist/cjs/rules/escapeInlineTags.d.ts +2 -0
  45. package/dist/cjs/rules/implementsOnClasses.d.ts +2 -0
  46. package/dist/cjs/rules/importsAsDependencies.d.ts +2 -0
  47. package/dist/cjs/rules/informativeDocs.d.ts +2 -0
  48. package/dist/cjs/rules/linesBeforeBlock.d.ts +2 -0
  49. package/dist/cjs/rules/matchDescription.d.ts +2 -0
  50. package/dist/cjs/rules/matchName.d.ts +2 -0
  51. package/dist/cjs/rules/multilineBlocks.d.ts +2 -0
  52. package/dist/cjs/rules/noBadBlocks.d.ts +2 -0
  53. package/dist/cjs/rules/noBlankBlockDescriptions.d.ts +2 -0
  54. package/dist/cjs/rules/noBlankBlocks.d.ts +2 -0
  55. package/dist/cjs/rules/noDefaults.d.ts +2 -0
  56. package/dist/cjs/rules/noMissingSyntax.d.ts +9 -0
  57. package/dist/cjs/rules/noMultiAsterisks.d.ts +2 -0
  58. package/dist/cjs/rules/noRestrictedSyntax.d.ts +2 -0
  59. package/dist/cjs/rules/noTypes.d.ts +2 -0
  60. package/dist/cjs/rules/noUndefinedTypes.d.ts +2 -0
  61. package/dist/cjs/rules/preferImportTag.d.ts +2 -0
  62. package/dist/cjs/rules/requireAsteriskPrefix.d.ts +2 -0
  63. package/dist/cjs/rules/requireDescription.d.ts +2 -0
  64. package/dist/cjs/rules/requireDescriptionCompleteSentence.d.ts +2 -0
  65. package/dist/cjs/rules/requireExample.d.ts +2 -0
  66. package/dist/cjs/rules/requireFileOverview.d.ts +2 -0
  67. package/dist/cjs/rules/requireHyphenBeforeParamDescription.d.ts +2 -0
  68. package/dist/cjs/rules/requireJsdoc.d.ts +24 -0
  69. package/dist/cjs/rules/requireParam.d.ts +3 -0
  70. package/dist/cjs/rules/requireParamDescription.d.ts +2 -0
  71. package/dist/cjs/rules/requireParamName.d.ts +2 -0
  72. package/dist/cjs/rules/requireParamType.d.ts +2 -0
  73. package/dist/cjs/rules/requireProperty.d.ts +2 -0
  74. package/dist/cjs/rules/requirePropertyDescription.d.ts +2 -0
  75. package/dist/cjs/rules/requirePropertyName.d.ts +2 -0
  76. package/dist/cjs/rules/requirePropertyType.d.ts +2 -0
  77. package/dist/cjs/rules/requireRejects.d.ts +2 -0
  78. package/dist/cjs/rules/requireReturns.d.ts +2 -0
  79. package/dist/cjs/rules/requireReturnsCheck.d.ts +2 -0
  80. package/dist/cjs/rules/requireReturnsDescription.d.ts +2 -0
  81. package/dist/cjs/rules/requireReturnsType.d.ts +2 -0
  82. package/dist/cjs/rules/requireTags.d.ts +2 -0
  83. package/dist/cjs/rules/requireTemplate.d.ts +2 -0
  84. package/dist/cjs/rules/requireThrows.d.ts +2 -0
  85. package/dist/cjs/rules/requireYields.d.ts +2 -0
  86. package/dist/cjs/rules/requireYieldsCheck.d.ts +2 -0
  87. package/dist/cjs/rules/sortTags.d.ts +2 -0
  88. package/dist/cjs/rules/tagLines.d.ts +2 -0
  89. package/dist/cjs/rules/textEscaping.d.ts +2 -0
  90. package/dist/cjs/rules/tsMethodSignatureStyle.d.ts +2 -0
  91. package/dist/cjs/rules/tsNoEmptyObjectType.d.ts +2 -0
  92. package/dist/cjs/rules/tsNoUnnecessaryTemplateExpression.d.ts +2 -0
  93. package/dist/cjs/rules/tsPreferFunctionType.d.ts +2 -0
  94. package/dist/cjs/rules/typeFormatting.d.ts +2 -0
  95. package/dist/cjs/rules/validTypes.d.ts +2 -0
  96. package/dist/cjs/tagNames.d.ts +15 -0
  97. package/dist/cjs/utils/hasReturnValue.d.ts +19 -0
  98. package/dist/defaultTagOrder.cjs +46 -0
  99. package/dist/defaultTagOrder.cjs.map +1 -0
  100. package/dist/defaultTagOrder.d.ts +5 -0
  101. package/dist/exportParser.cjs +732 -0
  102. package/dist/exportParser.cjs.map +1 -0
  103. package/dist/exportParser.d.ts +41 -0
  104. package/dist/generateDocs.cjs +342 -0
  105. package/dist/generateDocs.cjs.map +1 -0
  106. package/dist/generateOptions.cjs +62 -0
  107. package/dist/generateOptions.cjs.map +1 -0
  108. package/dist/generateRule.cjs +248 -0
  109. package/dist/generateRule.cjs.map +1 -0
  110. package/dist/generateRuleTypes.cjs +24 -0
  111. package/dist/generateRuleTypes.cjs.map +1 -0
  112. package/dist/getDefaultTagStructureForMode.cjs +289 -0
  113. package/dist/getDefaultTagStructureForMode.cjs.map +1 -0
  114. package/dist/getDefaultTagStructureForMode.d.ts +11 -0
  115. package/dist/getJsdocProcessorPlugin.cjs +587 -0
  116. package/dist/getJsdocProcessorPlugin.cjs.map +1 -0
  117. package/dist/getJsdocProcessorPlugin.cts +5 -0
  118. package/dist/getJsdocProcessorPlugin.d.ts +67 -0
  119. package/dist/index-cjs.cjs +595 -0
  120. package/dist/index-cjs.cjs.map +1 -0
  121. package/dist/index-cjs.d.ts +24 -0
  122. package/dist/index-esm.cjs +162 -0
  123. package/dist/index-esm.cjs.map +1 -0
  124. package/dist/index-esm.d.ts +72 -0
  125. package/dist/index.cjs +743 -0
  126. package/dist/index.cjs.cts +3 -0
  127. package/dist/index.cjs.map +1 -0
  128. package/dist/index.d.ts +93 -0
  129. package/dist/iterateJsdoc.cjs +2150 -0
  130. package/dist/iterateJsdoc.cjs.map +1 -0
  131. package/dist/iterateJsdoc.cts +7 -0
  132. package/dist/iterateJsdoc.d.ts +496 -0
  133. package/dist/jsdocUtils.cjs +1725 -0
  134. package/dist/jsdocUtils.cjs.map +1 -0
  135. package/dist/jsdocUtils.d.ts +494 -0
  136. package/dist/rules/checkAccess.cjs +40 -0
  137. package/dist/rules/checkAccess.cjs.map +1 -0
  138. package/dist/rules/checkAccess.d.ts +3 -0
  139. package/dist/rules/checkAlignment.cjs +78 -0
  140. package/dist/rules/checkAlignment.cjs.map +1 -0
  141. package/dist/rules/checkAlignment.d.ts +3 -0
  142. package/dist/rules/checkExamples.cjs +521 -0
  143. package/dist/rules/checkExamples.cjs.map +1 -0
  144. package/dist/rules/checkExamples.d.ts +4 -0
  145. package/dist/rules/checkIndentation.cjs +170 -0
  146. package/dist/rules/checkIndentation.cjs.map +1 -0
  147. package/dist/rules/checkIndentation.d.ts +3 -0
  148. package/dist/rules/checkLineAlignment.cjs +398 -0
  149. package/dist/rules/checkLineAlignment.cjs.map +1 -0
  150. package/dist/rules/checkLineAlignment.d.ts +10 -0
  151. package/dist/rules/checkParamNames.cjs +407 -0
  152. package/dist/rules/checkParamNames.cjs.map +1 -0
  153. package/dist/rules/checkParamNames.d.ts +3 -0
  154. package/dist/rules/checkPropertyNames.cjs +135 -0
  155. package/dist/rules/checkPropertyNames.cjs.map +1 -0
  156. package/dist/rules/checkPropertyNames.d.ts +3 -0
  157. package/dist/rules/checkSyntax.cjs +38 -0
  158. package/dist/rules/checkSyntax.cjs.map +1 -0
  159. package/dist/rules/checkSyntax.d.ts +3 -0
  160. package/dist/rules/checkTagNames.cjs +312 -0
  161. package/dist/rules/checkTagNames.cjs.map +1 -0
  162. package/dist/rules/checkTagNames.d.ts +3 -0
  163. package/dist/rules/checkTemplateNames.cjs +185 -0
  164. package/dist/rules/checkTemplateNames.cjs.map +1 -0
  165. package/dist/rules/checkTemplateNames.d.ts +3 -0
  166. package/dist/rules/checkTypes.cjs +111 -0
  167. package/dist/rules/checkTypes.cjs.map +1 -0
  168. package/dist/rules/checkTypes.d.ts +8 -0
  169. package/dist/rules/checkValues.cjs +166 -0
  170. package/dist/rules/checkValues.cjs.map +1 -0
  171. package/dist/rules/checkValues.d.ts +3 -0
  172. package/dist/rules/convertToJsdocComments.cjs +356 -0
  173. package/dist/rules/convertToJsdocComments.cjs.map +1 -0
  174. package/dist/rules/convertToJsdocComments.d.ts +267 -0
  175. package/dist/rules/emptyTags.cjs +85 -0
  176. package/dist/rules/emptyTags.cjs.map +1 -0
  177. package/dist/rules/emptyTags.d.ts +3 -0
  178. package/dist/rules/escapeInlineTags.cjs +149 -0
  179. package/dist/rules/escapeInlineTags.cjs.map +1 -0
  180. package/dist/rules/escapeInlineTags.d.ts +3 -0
  181. package/dist/rules/implementsOnClasses.cjs +74 -0
  182. package/dist/rules/implementsOnClasses.cjs.map +1 -0
  183. package/dist/rules/implementsOnClasses.d.ts +3 -0
  184. package/dist/rules/importsAsDependencies.cjs +104 -0
  185. package/dist/rules/importsAsDependencies.cjs.map +1 -0
  186. package/dist/rules/importsAsDependencies.d.ts +3 -0
  187. package/dist/rules/informativeDocs.cjs +187 -0
  188. package/dist/rules/informativeDocs.cjs.map +1 -0
  189. package/dist/rules/informativeDocs.d.ts +3 -0
  190. package/dist/rules/linesBeforeBlock.cjs +120 -0
  191. package/dist/rules/linesBeforeBlock.cjs.map +1 -0
  192. package/dist/rules/linesBeforeBlock.d.ts +3 -0
  193. package/dist/rules/matchDescription.cjs +356 -0
  194. package/dist/rules/matchDescription.cjs.map +1 -0
  195. package/dist/rules/matchDescription.d.ts +3 -0
  196. package/dist/rules/matchName.cjs +160 -0
  197. package/dist/rules/matchName.cjs.map +1 -0
  198. package/dist/rules/matchName.d.ts +3 -0
  199. package/dist/rules/multilineBlocks.cjs +431 -0
  200. package/dist/rules/multilineBlocks.cjs.map +1 -0
  201. package/dist/rules/multilineBlocks.d.ts +3 -0
  202. package/dist/rules/noBadBlocks.cjs +100 -0
  203. package/dist/rules/noBadBlocks.cjs.map +1 -0
  204. package/dist/rules/noBadBlocks.d.ts +3 -0
  205. package/dist/rules/noBlankBlockDescriptions.cjs +63 -0
  206. package/dist/rules/noBlankBlockDescriptions.cjs.map +1 -0
  207. package/dist/rules/noBlankBlockDescriptions.d.ts +3 -0
  208. package/dist/rules/noBlankBlocks.cjs +54 -0
  209. package/dist/rules/noBlankBlocks.cjs.map +1 -0
  210. package/dist/rules/noBlankBlocks.d.ts +3 -0
  211. package/dist/rules/noDefaults.cjs +102 -0
  212. package/dist/rules/noDefaults.cjs.map +1 -0
  213. package/dist/rules/noDefaults.d.ts +3 -0
  214. package/dist/rules/noMissingSyntax.cjs +196 -0
  215. package/dist/rules/noMissingSyntax.cjs.map +1 -0
  216. package/dist/rules/noMissingSyntax.d.ts +10 -0
  217. package/dist/rules/noMultiAsterisks.cjs +126 -0
  218. package/dist/rules/noMultiAsterisks.cjs.map +1 -0
  219. package/dist/rules/noMultiAsterisks.d.ts +3 -0
  220. package/dist/rules/noRestrictedSyntax.cjs +68 -0
  221. package/dist/rules/noRestrictedSyntax.cjs.map +1 -0
  222. package/dist/rules/noRestrictedSyntax.d.ts +3 -0
  223. package/dist/rules/noTypes.cjs +101 -0
  224. package/dist/rules/noTypes.cjs.map +1 -0
  225. package/dist/rules/noTypes.d.ts +3 -0
  226. package/dist/rules/noUndefinedTypes.cjs +588 -0
  227. package/dist/rules/noUndefinedTypes.cjs.map +1 -0
  228. package/dist/rules/noUndefinedTypes.d.ts +3 -0
  229. package/dist/rules/preferImportTag.cjs +362 -0
  230. package/dist/rules/preferImportTag.cjs.map +1 -0
  231. package/dist/rules/preferImportTag.d.ts +3 -0
  232. package/dist/rules/requireAsteriskPrefix.cjs +190 -0
  233. package/dist/rules/requireAsteriskPrefix.cjs.map +1 -0
  234. package/dist/rules/requireAsteriskPrefix.d.ts +3 -0
  235. package/dist/rules/requireDescription.cjs +164 -0
  236. package/dist/rules/requireDescription.cjs.map +1 -0
  237. package/dist/rules/requireDescription.d.ts +3 -0
  238. package/dist/rules/requireDescriptionCompleteSentence.cjs +321 -0
  239. package/dist/rules/requireDescriptionCompleteSentence.cjs.map +1 -0
  240. package/dist/rules/requireDescriptionCompleteSentence.d.ts +3 -0
  241. package/dist/rules/requireExample.cjs +133 -0
  242. package/dist/rules/requireExample.cjs.map +1 -0
  243. package/dist/rules/requireExample.d.ts +3 -0
  244. package/dist/rules/requireFileOverview.cjs +194 -0
  245. package/dist/rules/requireFileOverview.cjs.map +1 -0
  246. package/dist/rules/requireFileOverview.d.ts +3 -0
  247. package/dist/rules/requireHyphenBeforeParamDescription.cjs +166 -0
  248. package/dist/rules/requireHyphenBeforeParamDescription.cjs.map +1 -0
  249. package/dist/rules/requireHyphenBeforeParamDescription.d.ts +3 -0
  250. package/dist/rules/requireJsdoc.cjs +722 -0
  251. package/dist/rules/requireJsdoc.cjs.map +1 -0
  252. package/dist/rules/requireJsdoc.d.ts +25 -0
  253. package/dist/rules/requireParam.cjs +772 -0
  254. package/dist/rules/requireParam.cjs.map +1 -0
  255. package/dist/rules/requireParam.d.ts +4 -0
  256. package/dist/rules/requireParamDescription.cjs +105 -0
  257. package/dist/rules/requireParamDescription.cjs.map +1 -0
  258. package/dist/rules/requireParamDescription.d.ts +3 -0
  259. package/dist/rules/requireParamName.cjs +68 -0
  260. package/dist/rules/requireParamName.cjs.map +1 -0
  261. package/dist/rules/requireParamName.d.ts +3 -0
  262. package/dist/rules/requireParamType.cjs +104 -0
  263. package/dist/rules/requireParamType.cjs.map +1 -0
  264. package/dist/rules/requireParamType.d.ts +3 -0
  265. package/dist/rules/requireProperty.cjs +63 -0
  266. package/dist/rules/requireProperty.cjs.map +1 -0
  267. package/dist/rules/requireProperty.d.ts +3 -0
  268. package/dist/rules/requirePropertyDescription.cjs +29 -0
  269. package/dist/rules/requirePropertyDescription.cjs.map +1 -0
  270. package/dist/rules/requirePropertyDescription.d.ts +3 -0
  271. package/dist/rules/requirePropertyName.cjs +29 -0
  272. package/dist/rules/requirePropertyName.cjs.map +1 -0
  273. package/dist/rules/requirePropertyName.d.ts +3 -0
  274. package/dist/rules/requirePropertyType.cjs +29 -0
  275. package/dist/rules/requirePropertyType.cjs.map +1 -0
  276. package/dist/rules/requirePropertyType.d.ts +3 -0
  277. package/dist/rules/requireRejects.cjs +226 -0
  278. package/dist/rules/requireRejects.cjs.map +1 -0
  279. package/dist/rules/requireRejects.d.ts +3 -0
  280. package/dist/rules/requireReturns.cjs +262 -0
  281. package/dist/rules/requireReturns.cjs.map +1 -0
  282. package/dist/rules/requireReturns.d.ts +3 -0
  283. package/dist/rules/requireReturnsCheck.cjs +140 -0
  284. package/dist/rules/requireReturnsCheck.cjs.map +1 -0
  285. package/dist/rules/requireReturnsCheck.d.ts +3 -0
  286. package/dist/rules/requireReturnsDescription.cjs +72 -0
  287. package/dist/rules/requireReturnsDescription.cjs.map +1 -0
  288. package/dist/rules/requireReturnsDescription.d.ts +3 -0
  289. package/dist/rules/requireReturnsType.cjs +68 -0
  290. package/dist/rules/requireReturnsType.cjs.map +1 -0
  291. package/dist/rules/requireReturnsType.d.ts +3 -0
  292. package/dist/rules/requireTags.cjs +74 -0
  293. package/dist/rules/requireTags.cjs.map +1 -0
  294. package/dist/rules/requireTags.d.ts +3 -0
  295. package/dist/rules/requireTemplate.cjs +220 -0
  296. package/dist/rules/requireTemplate.cjs.map +1 -0
  297. package/dist/rules/requireTemplate.d.ts +3 -0
  298. package/dist/rules/requireThrows.cjs +118 -0
  299. package/dist/rules/requireThrows.cjs.map +1 -0
  300. package/dist/rules/requireThrows.d.ts +3 -0
  301. package/dist/rules/requireYields.cjs +224 -0
  302. package/dist/rules/requireYields.cjs.map +1 -0
  303. package/dist/rules/requireYields.d.ts +3 -0
  304. package/dist/rules/requireYieldsCheck.cjs +179 -0
  305. package/dist/rules/requireYieldsCheck.cjs.map +1 -0
  306. package/dist/rules/requireYieldsCheck.d.ts +3 -0
  307. package/dist/rules/sortTags.cjs +656 -0
  308. package/dist/rules/sortTags.cjs.map +1 -0
  309. package/dist/rules/sortTags.d.ts +3 -0
  310. package/dist/rules/tagLines.cjs +374 -0
  311. package/dist/rules/tagLines.cjs.map +1 -0
  312. package/dist/rules/tagLines.d.ts +3 -0
  313. package/dist/rules/textEscaping.cjs +141 -0
  314. package/dist/rules/textEscaping.cjs.map +1 -0
  315. package/dist/rules/textEscaping.d.ts +3 -0
  316. package/dist/rules/tsMethodSignatureStyle.cjs +240 -0
  317. package/dist/rules/tsMethodSignatureStyle.cjs.map +1 -0
  318. package/dist/rules/tsMethodSignatureStyle.d.ts +3 -0
  319. package/dist/rules/tsNoEmptyObjectType.cjs +62 -0
  320. package/dist/rules/tsNoEmptyObjectType.cjs.map +1 -0
  321. package/dist/rules/tsNoEmptyObjectType.d.ts +3 -0
  322. package/dist/rules/tsNoUnnecessaryTemplateExpression.cjs +104 -0
  323. package/dist/rules/tsNoUnnecessaryTemplateExpression.cjs.map +1 -0
  324. package/dist/rules/tsNoUnnecessaryTemplateExpression.d.ts +3 -0
  325. package/dist/rules/tsPreferFunctionType.cjs +110 -0
  326. package/dist/rules/tsPreferFunctionType.cjs.map +1 -0
  327. package/dist/rules/tsPreferFunctionType.d.ts +3 -0
  328. package/dist/rules/typeFormatting.cjs +607 -0
  329. package/dist/rules/typeFormatting.cjs.map +1 -0
  330. package/dist/rules/typeFormatting.d.ts +3 -0
  331. package/dist/rules/validTypes.cjs +328 -0
  332. package/dist/rules/validTypes.cjs.map +1 -0
  333. package/dist/rules/validTypes.d.ts +3 -0
  334. package/dist/rules.d.ts +3203 -0
  335. package/dist/tagNames.cjs +244 -0
  336. package/dist/tagNames.cjs.map +1 -0
  337. package/dist/tagNames.d.ts +16 -0
  338. package/dist/to-valid-identifier.cjs +263 -0
  339. package/dist/utils/hasReturnValue.cjs +495 -0
  340. package/dist/utils/hasReturnValue.cjs.map +1 -0
  341. package/dist/utils/hasReturnValue.d.ts +20 -0
  342. package/package.json +220 -0
  343. package/rollup.config.js +16 -0
  344. package/src/WarnSettings.js +34 -0
  345. package/src/alignTransform.js +444 -0
  346. package/src/buildForbidRuleDefinition.js +106 -0
  347. package/src/buildRejectOrPreferRuleDefinition.js +481 -0
  348. package/src/defaultTagOrder.js +169 -0
  349. package/src/exportParser.js +973 -0
  350. package/src/getDefaultTagStructureForMode.js +968 -0
  351. package/src/getJsdocProcessorPlugin.cts +5 -0
  352. package/src/getJsdocProcessorPlugin.js +692 -0
  353. package/src/index-cjs.js +755 -0
  354. package/src/index-esm.js +196 -0
  355. package/src/index.cjs.cts +3 -0
  356. package/src/index.js +940 -0
  357. package/src/iterateJsdoc.cts +7 -0
  358. package/src/iterateJsdoc.js +2612 -0
  359. package/src/jsdocUtils.js +2158 -0
  360. package/src/rules/checkAccess.js +45 -0
  361. package/src/rules/checkAlignment.js +82 -0
  362. package/src/rules/checkExamples.js +613 -0
  363. package/src/rules/checkIndentation.js +176 -0
  364. package/src/rules/checkLineAlignment.js +453 -0
  365. package/src/rules/checkParamNames.js +541 -0
  366. package/src/rules/checkPropertyNames.js +174 -0
  367. package/src/rules/checkSyntax.js +30 -0
  368. package/src/rules/checkTagNames.js +414 -0
  369. package/src/rules/checkTemplateNames.js +208 -0
  370. package/src/rules/checkTypes.js +130 -0
  371. package/src/rules/checkValues.js +264 -0
  372. package/src/rules/convertToJsdocComments.js +444 -0
  373. package/src/rules/emptyTags.js +106 -0
  374. package/src/rules/escapeInlineTags.js +189 -0
  375. package/src/rules/implementsOnClasses.js +78 -0
  376. package/src/rules/importsAsDependencies.js +132 -0
  377. package/src/rules/informativeDocs.js +228 -0
  378. package/src/rules/linesBeforeBlock.js +144 -0
  379. package/src/rules/matchDescription.js +413 -0
  380. package/src/rules/matchName.js +179 -0
  381. package/src/rules/multilineBlocks.js +562 -0
  382. package/src/rules/noBadBlocks.js +127 -0
  383. package/src/rules/noBlankBlockDescriptions.js +69 -0
  384. package/src/rules/noBlankBlocks.js +55 -0
  385. package/src/rules/noDefaults.js +104 -0
  386. package/src/rules/noMissingSyntax.js +215 -0
  387. package/src/rules/noMultiAsterisks.js +162 -0
  388. package/src/rules/noRestrictedSyntax.js +72 -0
  389. package/src/rules/noTypes.js +108 -0
  390. package/src/rules/noUndefinedTypes.js +797 -0
  391. package/src/rules/preferImportTag.js +521 -0
  392. package/src/rules/requireAsteriskPrefix.js +217 -0
  393. package/src/rules/requireDescription.js +190 -0
  394. package/src/rules/requireDescriptionCompleteSentence.js +376 -0
  395. package/src/rules/requireExample.js +143 -0
  396. package/src/rules/requireFileOverview.js +213 -0
  397. package/src/rules/requireHyphenBeforeParamDescription.js +210 -0
  398. package/src/rules/requireJsdoc.js +897 -0
  399. package/src/rules/requireParam.js +848 -0
  400. package/src/rules/requireParamDescription.js +110 -0
  401. package/src/rules/requireParamName.js +69 -0
  402. package/src/rules/requireParamType.js +109 -0
  403. package/src/rules/requireProperty.js +66 -0
  404. package/src/rules/requirePropertyDescription.js +25 -0
  405. package/src/rules/requirePropertyName.js +25 -0
  406. package/src/rules/requirePropertyType.js +25 -0
  407. package/src/rules/requireRejects.js +246 -0
  408. package/src/rules/requireReturns.js +291 -0
  409. package/src/rules/requireReturnsCheck.js +180 -0
  410. package/src/rules/requireReturnsDescription.js +73 -0
  411. package/src/rules/requireReturnsType.js +65 -0
  412. package/src/rules/requireTags.js +85 -0
  413. package/src/rules/requireTemplate.js +246 -0
  414. package/src/rules/requireThrows.js +128 -0
  415. package/src/rules/requireYields.js +265 -0
  416. package/src/rules/requireYieldsCheck.js +226 -0
  417. package/src/rules/sortTags.js +766 -0
  418. package/src/rules/tagLines.js +486 -0
  419. package/src/rules/textEscaping.js +158 -0
  420. package/src/rules/tsMethodSignatureStyle.js +300 -0
  421. package/src/rules/tsNoEmptyObjectType.js +61 -0
  422. package/src/rules/tsNoUnnecessaryTemplateExpression.js +130 -0
  423. package/src/rules/tsPreferFunctionType.js +127 -0
  424. package/src/rules/typeFormatting.js +690 -0
  425. package/src/rules/validTypes.js +466 -0
  426. package/src/rules.d.ts +3203 -0
  427. package/src/tagNames.js +301 -0
  428. package/src/utils/hasReturnValue.js +572 -0
  429. package/typings/babel__eslint-parser.d.ts +1 -0
  430. package/typings/gitdown.d.ts +16 -0
@@ -0,0 +1,67 @@
1
+ export function getJsdocProcessorPlugin(options?: JsdocProcessorOptions): ESLint.Plugin;
2
+ export type Integer = number;
3
+ export type JsdocProcessorOptions = {
4
+ /**
5
+ * Require captions for example tags
6
+ */
7
+ captionRequired?: boolean | undefined;
8
+ /**
9
+ * See docs
10
+ */
11
+ paddedIndent?: number | undefined;
12
+ /**
13
+ * See docs
14
+ */
15
+ checkDefaults?: boolean | undefined;
16
+ /**
17
+ * See docs
18
+ */
19
+ checkParams?: boolean | undefined;
20
+ /**
21
+ * See docs
22
+ */
23
+ checkExamples?: boolean | undefined;
24
+ /**
25
+ * See docs
26
+ */
27
+ checkProperties?: boolean | undefined;
28
+ /**
29
+ * See docs
30
+ */
31
+ matchingFileName?: string | undefined;
32
+ /**
33
+ * See docs
34
+ */
35
+ matchingFileNameDefaults?: string | undefined;
36
+ /**
37
+ * See docs
38
+ */
39
+ matchingFileNameParams?: string | undefined;
40
+ /**
41
+ * See docs
42
+ */
43
+ matchingFileNameProperties?: string | undefined;
44
+ /**
45
+ * See docs
46
+ */
47
+ exampleCodeRegex?: string | RegExp | undefined;
48
+ /**
49
+ * See docs
50
+ */
51
+ rejectExampleCodeRegex?: string | RegExp | undefined;
52
+ /**
53
+ * See docs
54
+ */
55
+ allowedLanguagesToProcess?: string[] | undefined;
56
+ /**
57
+ * See docs
58
+ */
59
+ sourceType?: "module" | "script" | undefined;
60
+ /**
61
+ * See docs
62
+ */
63
+ parser?: Linter.ESTreeParser | Linter.NonESTreeParser | undefined;
64
+ };
65
+ import type { ESLint } from 'eslint';
66
+ import type { Linter } from 'eslint';
67
+ //# sourceMappingURL=getJsdocProcessorPlugin.d.ts.map
@@ -0,0 +1,595 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _buildForbidRuleDefinition = require("./buildForbidRuleDefinition.cjs");
8
+ var _buildRejectOrPreferRuleDefinition = require("./buildRejectOrPreferRuleDefinition.cjs");
9
+ var _getJsdocProcessorPlugin = require("./getJsdocProcessorPlugin.cjs");
10
+ var _checkAccess = _interopRequireDefault(require("./rules/checkAccess.cjs"));
11
+ var _checkAlignment = _interopRequireDefault(require("./rules/checkAlignment.cjs"));
12
+ var _checkExamples = _interopRequireDefault(require("./rules/checkExamples.cjs"));
13
+ var _checkIndentation = _interopRequireDefault(require("./rules/checkIndentation.cjs"));
14
+ var _checkLineAlignment = _interopRequireDefault(require("./rules/checkLineAlignment.cjs"));
15
+ var _checkParamNames = _interopRequireDefault(require("./rules/checkParamNames.cjs"));
16
+ var _checkPropertyNames = _interopRequireDefault(require("./rules/checkPropertyNames.cjs"));
17
+ var _checkSyntax = _interopRequireDefault(require("./rules/checkSyntax.cjs"));
18
+ var _checkTagNames = _interopRequireDefault(require("./rules/checkTagNames.cjs"));
19
+ var _checkTemplateNames = _interopRequireDefault(require("./rules/checkTemplateNames.cjs"));
20
+ var _checkTypes = _interopRequireDefault(require("./rules/checkTypes.cjs"));
21
+ var _checkValues = _interopRequireDefault(require("./rules/checkValues.cjs"));
22
+ var _convertToJsdocComments = _interopRequireDefault(require("./rules/convertToJsdocComments.cjs"));
23
+ var _emptyTags = _interopRequireDefault(require("./rules/emptyTags.cjs"));
24
+ var _escapeInlineTags = _interopRequireDefault(require("./rules/escapeInlineTags.cjs"));
25
+ var _implementsOnClasses = _interopRequireDefault(require("./rules/implementsOnClasses.cjs"));
26
+ var _importsAsDependencies = _interopRequireDefault(require("./rules/importsAsDependencies.cjs"));
27
+ var _informativeDocs = _interopRequireDefault(require("./rules/informativeDocs.cjs"));
28
+ var _linesBeforeBlock = _interopRequireDefault(require("./rules/linesBeforeBlock.cjs"));
29
+ var _matchDescription = _interopRequireDefault(require("./rules/matchDescription.cjs"));
30
+ var _matchName = _interopRequireDefault(require("./rules/matchName.cjs"));
31
+ var _multilineBlocks = _interopRequireDefault(require("./rules/multilineBlocks.cjs"));
32
+ var _noBadBlocks = _interopRequireDefault(require("./rules/noBadBlocks.cjs"));
33
+ var _noBlankBlockDescriptions = _interopRequireDefault(require("./rules/noBlankBlockDescriptions.cjs"));
34
+ var _noBlankBlocks = _interopRequireDefault(require("./rules/noBlankBlocks.cjs"));
35
+ var _noDefaults = _interopRequireDefault(require("./rules/noDefaults.cjs"));
36
+ var _noMissingSyntax = _interopRequireDefault(require("./rules/noMissingSyntax.cjs"));
37
+ var _noMultiAsterisks = _interopRequireDefault(require("./rules/noMultiAsterisks.cjs"));
38
+ var _noRestrictedSyntax = _interopRequireDefault(require("./rules/noRestrictedSyntax.cjs"));
39
+ var _noTypes = _interopRequireDefault(require("./rules/noTypes.cjs"));
40
+ var _noUndefinedTypes = _interopRequireDefault(require("./rules/noUndefinedTypes.cjs"));
41
+ var _preferImportTag = _interopRequireDefault(require("./rules/preferImportTag.cjs"));
42
+ var _requireAsteriskPrefix = _interopRequireDefault(require("./rules/requireAsteriskPrefix.cjs"));
43
+ var _requireDescription = _interopRequireDefault(require("./rules/requireDescription.cjs"));
44
+ var _requireDescriptionCompleteSentence = _interopRequireDefault(require("./rules/requireDescriptionCompleteSentence.cjs"));
45
+ var _requireExample = _interopRequireDefault(require("./rules/requireExample.cjs"));
46
+ var _requireFileOverview = _interopRequireDefault(require("./rules/requireFileOverview.cjs"));
47
+ var _requireHyphenBeforeParamDescription = _interopRequireDefault(require("./rules/requireHyphenBeforeParamDescription.cjs"));
48
+ var _requireJsdoc = _interopRequireDefault(require("./rules/requireJsdoc.cjs"));
49
+ var _requireParam = _interopRequireDefault(require("./rules/requireParam.cjs"));
50
+ var _requireParamDescription = _interopRequireDefault(require("./rules/requireParamDescription.cjs"));
51
+ var _requireParamName = _interopRequireDefault(require("./rules/requireParamName.cjs"));
52
+ var _requireParamType = _interopRequireDefault(require("./rules/requireParamType.cjs"));
53
+ var _requireProperty = _interopRequireDefault(require("./rules/requireProperty.cjs"));
54
+ var _requirePropertyDescription = _interopRequireDefault(require("./rules/requirePropertyDescription.cjs"));
55
+ var _requirePropertyName = _interopRequireDefault(require("./rules/requirePropertyName.cjs"));
56
+ var _requirePropertyType = _interopRequireDefault(require("./rules/requirePropertyType.cjs"));
57
+ var _requireRejects = _interopRequireDefault(require("./rules/requireRejects.cjs"));
58
+ var _requireReturns = _interopRequireDefault(require("./rules/requireReturns.cjs"));
59
+ var _requireReturnsCheck = _interopRequireDefault(require("./rules/requireReturnsCheck.cjs"));
60
+ var _requireReturnsDescription = _interopRequireDefault(require("./rules/requireReturnsDescription.cjs"));
61
+ var _requireReturnsType = _interopRequireDefault(require("./rules/requireReturnsType.cjs"));
62
+ var _requireTags = _interopRequireDefault(require("./rules/requireTags.cjs"));
63
+ var _requireTemplate = _interopRequireDefault(require("./rules/requireTemplate.cjs"));
64
+ var _requireThrows = _interopRequireDefault(require("./rules/requireThrows.cjs"));
65
+ var _requireYields = _interopRequireDefault(require("./rules/requireYields.cjs"));
66
+ var _requireYieldsCheck = _interopRequireDefault(require("./rules/requireYieldsCheck.cjs"));
67
+ var _sortTags = _interopRequireDefault(require("./rules/sortTags.cjs"));
68
+ var _tagLines = _interopRequireDefault(require("./rules/tagLines.cjs"));
69
+ var _textEscaping = _interopRequireDefault(require("./rules/textEscaping.cjs"));
70
+ var _tsMethodSignatureStyle = _interopRequireDefault(require("./rules/tsMethodSignatureStyle.cjs"));
71
+ var _tsNoEmptyObjectType = _interopRequireDefault(require("./rules/tsNoEmptyObjectType.cjs"));
72
+ var _tsNoUnnecessaryTemplateExpression = _interopRequireDefault(require("./rules/tsNoUnnecessaryTemplateExpression.cjs"));
73
+ var _tsPreferFunctionType = _interopRequireDefault(require("./rules/tsPreferFunctionType.cjs"));
74
+ var _typeFormatting = _interopRequireDefault(require("./rules/typeFormatting.cjs"));
75
+ var _validTypes = _interopRequireDefault(require("./rules/validTypes.cjs"));
76
+ var _eslint = require("eslint");
77
+ var _semver = _interopRequireDefault(require("semver"));
78
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
79
+ /**
80
+ * @typedef {"recommended" | "stylistic" | "contents" | "logical" | "requirements"} ConfigGroups
81
+ * @typedef {"" | "-typescript" | "-typescript-flavor"} ConfigVariants
82
+ * @typedef {"" | "-error"} ErrorLevelVariants
83
+ * @type {import('eslint').ESLint.Plugin & {
84
+ * configs: Record<
85
+ * `flat/${ConfigGroups}${ConfigVariants}${ErrorLevelVariants}`,
86
+ * import('eslint').Linter.Config
87
+ * > &
88
+ * Record<
89
+ * "examples"|"default-expressions"|"examples-and-default-expressions",
90
+ * import('eslint').Linter.Config[]
91
+ * > &
92
+ * Record<"flat/recommended-mixed", import('eslint').Linter.Config[]>
93
+ * }}
94
+ */
95
+ const index = {};
96
+ index.configs = {};
97
+ index.rules = {
98
+ 'check-access': _checkAccess.default,
99
+ 'check-alignment': _checkAlignment.default,
100
+ 'check-examples': _checkExamples.default,
101
+ 'check-indentation': _checkIndentation.default,
102
+ 'check-line-alignment': _checkLineAlignment.default,
103
+ 'check-param-names': _checkParamNames.default,
104
+ 'check-property-names': _checkPropertyNames.default,
105
+ 'check-syntax': _checkSyntax.default,
106
+ 'check-tag-names': _checkTagNames.default,
107
+ 'check-template-names': _checkTemplateNames.default,
108
+ 'check-types': _checkTypes.default,
109
+ 'check-values': _checkValues.default,
110
+ 'convert-to-jsdoc-comments': _convertToJsdocComments.default,
111
+ 'empty-tags': _emptyTags.default,
112
+ 'escape-inline-tags': _escapeInlineTags.default,
113
+ 'implements-on-classes': _implementsOnClasses.default,
114
+ 'imports-as-dependencies': _importsAsDependencies.default,
115
+ 'informative-docs': _informativeDocs.default,
116
+ 'lines-before-block': _linesBeforeBlock.default,
117
+ 'match-description': _matchDescription.default,
118
+ 'match-name': _matchName.default,
119
+ 'multiline-blocks': _multilineBlocks.default,
120
+ 'no-bad-blocks': _noBadBlocks.default,
121
+ 'no-blank-block-descriptions': _noBlankBlockDescriptions.default,
122
+ 'no-blank-blocks': _noBlankBlocks.default,
123
+ 'no-defaults': _noDefaults.default,
124
+ 'no-missing-syntax': _noMissingSyntax.default,
125
+ 'no-multi-asterisks': _noMultiAsterisks.default,
126
+ 'no-restricted-syntax': _noRestrictedSyntax.default,
127
+ 'no-types': _noTypes.default,
128
+ 'no-undefined-types': _noUndefinedTypes.default,
129
+ 'prefer-import-tag': _preferImportTag.default,
130
+ 'reject-any-type': (0, _buildRejectOrPreferRuleDefinition.buildRejectOrPreferRuleDefinition)({
131
+ description: 'Reports use of `any` or `*` type',
132
+ overrideSettings: {
133
+ '*': {
134
+ message: 'Prefer a more specific type to `*`',
135
+ replacement: false,
136
+ unifyParentAndChildTypeChecks: true
137
+ },
138
+ any: {
139
+ message: 'Prefer a more specific type to `any`',
140
+ replacement: false,
141
+ unifyParentAndChildTypeChecks: true
142
+ }
143
+ },
144
+ url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/reject-any-type.md#repos-sticky-header'
145
+ }),
146
+ 'reject-function-type': (0, _buildRejectOrPreferRuleDefinition.buildRejectOrPreferRuleDefinition)({
147
+ description: 'Reports use of `Function` type',
148
+ overrideSettings: {
149
+ Function: {
150
+ message: 'Prefer a more specific type to `Function`',
151
+ replacement: false,
152
+ unifyParentAndChildTypeChecks: true
153
+ }
154
+ },
155
+ url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/reject-function-type.md#repos-sticky-header'
156
+ }),
157
+ 'require-asterisk-prefix': _requireAsteriskPrefix.default,
158
+ 'require-description': _requireDescription.default,
159
+ 'require-description-complete-sentence': _requireDescriptionCompleteSentence.default,
160
+ 'require-example': _requireExample.default,
161
+ 'require-file-overview': _requireFileOverview.default,
162
+ 'require-hyphen-before-param-description': _requireHyphenBeforeParamDescription.default,
163
+ 'require-jsdoc': _requireJsdoc.default,
164
+ 'require-next-description': (0, _buildForbidRuleDefinition.buildForbidRuleDefinition)({
165
+ contexts: [{
166
+ comment: 'JsdocBlock:has(JsdocTag[tag=next]:not([name!=""]):not([description!=""]))',
167
+ context: 'any',
168
+ message: '@next should have a description'
169
+ }],
170
+ description: 'Requires a description for `@next` tags',
171
+ url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-next-description.md#repos-sticky-header'
172
+ }),
173
+ 'require-next-type': (0, _buildForbidRuleDefinition.buildForbidRuleDefinition)({
174
+ contexts: [{
175
+ comment: 'JsdocBlock:has(JsdocTag[tag=next]:not([parsedType.type]))',
176
+ context: 'any',
177
+ message: '@next should have a type'
178
+ }],
179
+ description: 'Requires a type for `@next` tags',
180
+ url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-next-type.md#repos-sticky-header'
181
+ }),
182
+ 'require-param': _requireParam.default,
183
+ 'require-param-description': _requireParamDescription.default,
184
+ 'require-param-name': _requireParamName.default,
185
+ 'require-param-type': _requireParamType.default,
186
+ 'require-property': _requireProperty.default,
187
+ 'require-property-description': _requirePropertyDescription.default,
188
+ 'require-property-name': _requirePropertyName.default,
189
+ 'require-property-type': _requirePropertyType.default,
190
+ 'require-rejects': _requireRejects.default,
191
+ 'require-returns': _requireReturns.default,
192
+ 'require-returns-check': _requireReturnsCheck.default,
193
+ 'require-returns-description': _requireReturnsDescription.default,
194
+ 'require-returns-type': _requireReturnsType.default,
195
+ 'require-tags': _requireTags.default,
196
+ 'require-template': _requireTemplate.default,
197
+ 'require-template-description': (0, _buildForbidRuleDefinition.buildForbidRuleDefinition)({
198
+ contexts: [{
199
+ comment: 'JsdocBlock:has(JsdocTag[tag=template]:not([description!=""]))',
200
+ context: 'any',
201
+ message: '@template should have a description'
202
+ }],
203
+ description: 'Requires a description for `@template` tags',
204
+ url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-template-description.md#repos-sticky-header'
205
+ }),
206
+ 'require-throws': _requireThrows.default,
207
+ 'require-throws-description': (0, _buildForbidRuleDefinition.buildForbidRuleDefinition)({
208
+ contexts: [{
209
+ comment: 'JsdocBlock:has(JsdocTag[tag=/^(?:throws|exception)$/]:not([description!=""]))',
210
+ context: 'any',
211
+ message: '@throws should have a description'
212
+ }],
213
+ description: 'Requires a description for `@throws` tags',
214
+ url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws-description.md#repos-sticky-header'
215
+ }),
216
+ 'require-throws-type': (0, _buildForbidRuleDefinition.buildForbidRuleDefinition)({
217
+ contexts: [{
218
+ comment: 'JsdocBlock:has(JsdocTag[tag=/^(?:throws|exception)$/]:not([parsedType.type]))',
219
+ context: 'any',
220
+ message: '@throws should have a type'
221
+ }],
222
+ description: 'Requires a type for `@throws` tags',
223
+ url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws-type.md#repos-sticky-header'
224
+ }),
225
+ 'require-yields': _requireYields.default,
226
+ 'require-yields-check': _requireYieldsCheck.default,
227
+ 'require-yields-description': (0, _buildForbidRuleDefinition.buildForbidRuleDefinition)({
228
+ contexts: [{
229
+ comment: 'JsdocBlock:has(JsdocTag[tag=/^yields?$/]:not([name!=""]):not([description!=""]))',
230
+ context: 'any',
231
+ message: '@yields should have a description'
232
+ }],
233
+ description: 'Requires a description for `@yields` tags',
234
+ url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-description.md#repos-sticky-header'
235
+ }),
236
+ 'require-yields-type': (0, _buildForbidRuleDefinition.buildForbidRuleDefinition)({
237
+ contexts: [{
238
+ comment: 'JsdocBlock:has(JsdocTag[tag=/^yields?$/]:not([parsedType.type]))',
239
+ context: 'any',
240
+ message: '@yields should have a type'
241
+ }],
242
+ description: 'Requires a type for `@yields` tags',
243
+ url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-type.md#repos-sticky-header'
244
+ }),
245
+ 'sort-tags': _sortTags.default,
246
+ 'tag-lines': _tagLines.default,
247
+ 'text-escaping': _textEscaping.default,
248
+ 'ts-method-signature-style': _tsMethodSignatureStyle.default,
249
+ 'ts-no-empty-object-type': _tsNoEmptyObjectType.default,
250
+ 'ts-no-unnecessary-template-expression': _tsNoUnnecessaryTemplateExpression.default,
251
+ 'ts-prefer-function-type': _tsPreferFunctionType.default,
252
+ 'type-formatting': _typeFormatting.default,
253
+ 'valid-types': _validTypes.default
254
+ };
255
+
256
+ /**
257
+ * @param {"warn"|"error"} warnOrError
258
+ * @param {string} [flatName]
259
+ * @returns {import('eslint').Linter.Config}
260
+ */
261
+ const createRecommendedRuleset = (warnOrError, flatName) => {
262
+ return {
263
+ ...(flatName ? {
264
+ name: 'jsdoc/' + flatName
265
+ } : {}),
266
+ // @ts-expect-error ESLint 8 plugins
267
+ plugins: flatName ? {
268
+ jsdoc: index
269
+ } : ['jsdoc'],
270
+ rules: {
271
+ 'jsdoc/check-access': warnOrError,
272
+ 'jsdoc/check-alignment': warnOrError,
273
+ 'jsdoc/check-examples': 'off',
274
+ 'jsdoc/check-indentation': 'off',
275
+ 'jsdoc/check-line-alignment': 'off',
276
+ 'jsdoc/check-param-names': warnOrError,
277
+ 'jsdoc/check-property-names': warnOrError,
278
+ 'jsdoc/check-syntax': 'off',
279
+ 'jsdoc/check-tag-names': warnOrError,
280
+ 'jsdoc/check-template-names': 'off',
281
+ 'jsdoc/check-types': warnOrError,
282
+ 'jsdoc/check-values': warnOrError,
283
+ 'jsdoc/convert-to-jsdoc-comments': 'off',
284
+ 'jsdoc/empty-tags': warnOrError,
285
+ 'jsdoc/escape-inline-tags': warnOrError,
286
+ 'jsdoc/implements-on-classes': warnOrError,
287
+ 'jsdoc/imports-as-dependencies': 'off',
288
+ 'jsdoc/informative-docs': 'off',
289
+ 'jsdoc/lines-before-block': 'off',
290
+ 'jsdoc/match-description': 'off',
291
+ 'jsdoc/match-name': 'off',
292
+ 'jsdoc/multiline-blocks': warnOrError,
293
+ 'jsdoc/no-bad-blocks': 'off',
294
+ 'jsdoc/no-blank-block-descriptions': 'off',
295
+ 'jsdoc/no-blank-blocks': 'off',
296
+ 'jsdoc/no-defaults': warnOrError,
297
+ 'jsdoc/no-missing-syntax': 'off',
298
+ 'jsdoc/no-multi-asterisks': warnOrError,
299
+ 'jsdoc/no-restricted-syntax': 'off',
300
+ 'jsdoc/no-types': 'off',
301
+ 'jsdoc/no-undefined-types': warnOrError,
302
+ 'jsdoc/prefer-import-tag': 'off',
303
+ 'jsdoc/reject-any-type': warnOrError,
304
+ 'jsdoc/reject-function-type': warnOrError,
305
+ 'jsdoc/require-asterisk-prefix': 'off',
306
+ 'jsdoc/require-description': 'off',
307
+ 'jsdoc/require-description-complete-sentence': 'off',
308
+ 'jsdoc/require-example': 'off',
309
+ 'jsdoc/require-file-overview': 'off',
310
+ 'jsdoc/require-hyphen-before-param-description': 'off',
311
+ 'jsdoc/require-jsdoc': warnOrError,
312
+ 'jsdoc/require-next-description': 'off',
313
+ 'jsdoc/require-next-type': warnOrError,
314
+ 'jsdoc/require-param': warnOrError,
315
+ 'jsdoc/require-param-description': warnOrError,
316
+ 'jsdoc/require-param-name': warnOrError,
317
+ 'jsdoc/require-param-type': warnOrError,
318
+ 'jsdoc/require-property': warnOrError,
319
+ 'jsdoc/require-property-description': warnOrError,
320
+ 'jsdoc/require-property-name': warnOrError,
321
+ 'jsdoc/require-property-type': warnOrError,
322
+ 'jsdoc/require-rejects': 'off',
323
+ 'jsdoc/require-returns': warnOrError,
324
+ 'jsdoc/require-returns-check': warnOrError,
325
+ 'jsdoc/require-returns-description': warnOrError,
326
+ 'jsdoc/require-returns-type': warnOrError,
327
+ 'jsdoc/require-tags': 'off',
328
+ 'jsdoc/require-template': 'off',
329
+ 'jsdoc/require-template-description': 'off',
330
+ 'jsdoc/require-throws': 'off',
331
+ 'jsdoc/require-throws-description': 'off',
332
+ 'jsdoc/require-throws-type': warnOrError,
333
+ 'jsdoc/require-yields': warnOrError,
334
+ 'jsdoc/require-yields-check': warnOrError,
335
+ 'jsdoc/require-yields-description': 'off',
336
+ 'jsdoc/require-yields-type': warnOrError,
337
+ 'jsdoc/sort-tags': 'off',
338
+ 'jsdoc/tag-lines': warnOrError,
339
+ 'jsdoc/text-escaping': 'off',
340
+ 'jsdoc/ts-method-signature-style': 'off',
341
+ 'jsdoc/ts-no-empty-object-type': warnOrError,
342
+ 'jsdoc/ts-no-unnecessary-template-expression': 'off',
343
+ 'jsdoc/ts-prefer-function-type': 'off',
344
+ 'jsdoc/type-formatting': 'off',
345
+ 'jsdoc/valid-types': warnOrError
346
+ }
347
+ };
348
+ };
349
+
350
+ /**
351
+ * @param {"warn"|"error"} warnOrError
352
+ * @param {string} [flatName]
353
+ * @returns {import('eslint').Linter.Config}
354
+ */
355
+ const createRecommendedTypeScriptRuleset = (warnOrError, flatName) => {
356
+ const ruleset = createRecommendedRuleset(warnOrError, flatName);
357
+ return {
358
+ ...ruleset,
359
+ rules: {
360
+ ...ruleset.rules,
361
+ /* eslint-disable @stylistic/indent -- Extra indent to avoid use by auto-rule-editing */
362
+ 'jsdoc/check-tag-names': [warnOrError, {
363
+ typed: true
364
+ }],
365
+ 'jsdoc/no-types': warnOrError,
366
+ 'jsdoc/no-undefined-types': 'off',
367
+ 'jsdoc/require-param-type': 'off',
368
+ 'jsdoc/require-property-type': 'off',
369
+ 'jsdoc/require-returns-type': 'off'
370
+ /* eslint-enable @stylistic/indent */
371
+ }
372
+ };
373
+ };
374
+
375
+ /**
376
+ * @param {"warn"|"error"} warnOrError
377
+ * @param {string} [flatName]
378
+ * @returns {import('eslint').Linter.Config}
379
+ */
380
+ const createRecommendedTsDocRuleset = (warnOrError, flatName) => {
381
+ const ruleset = createRecommendedTypeScriptRuleset(warnOrError, flatName);
382
+ return {
383
+ ...ruleset,
384
+ rules: {
385
+ ...ruleset.rules,
386
+ /* eslint-disable @stylistic/indent -- Extra indent to avoid use by auto-rule-editing */
387
+ 'jsdoc/require-next-type': 'off',
388
+ 'jsdoc/require-throws-type': 'off',
389
+ 'jsdoc/require-yields-type': 'off'
390
+ /* eslint-enable @stylistic/indent */
391
+ }
392
+ };
393
+ };
394
+
395
+ /**
396
+ * @param {"warn"|"error"} warnOrError
397
+ * @param {string} [flatName]
398
+ * @returns {import('eslint').Linter.Config}
399
+ */
400
+ const createRecommendedTypeScriptFlavorRuleset = (warnOrError, flatName) => {
401
+ const ruleset = createRecommendedRuleset(warnOrError, flatName);
402
+ return {
403
+ ...ruleset,
404
+ rules: {
405
+ ...ruleset.rules,
406
+ /* eslint-disable @stylistic/indent -- Extra indent to avoid use by auto-rule-editing */
407
+ 'jsdoc/no-undefined-types': 'off'
408
+ /* eslint-enable @stylistic/indent */
409
+ }
410
+ };
411
+ };
412
+
413
+ /**
414
+ * @param {(string | unknown[])[]} ruleNames
415
+ */
416
+ const createStandaloneRulesetFactory = ruleNames => {
417
+ /**
418
+ * @param {"warn"|"error"} warnOrError
419
+ * @param {string} [flatName]
420
+ * @returns {import('eslint').Linter.Config}
421
+ */
422
+ return (warnOrError, flatName) => {
423
+ return {
424
+ name: 'jsdoc/' + flatName,
425
+ plugins: {
426
+ jsdoc: index
427
+ },
428
+ rules: Object.fromEntries(ruleNames.map(ruleName => {
429
+ return typeof ruleName === 'string' ? [ruleName, warnOrError] : [ruleName[0], [warnOrError, ...ruleName.slice(1)]];
430
+ }))
431
+ };
432
+ };
433
+ };
434
+ const contentsRules = ['jsdoc/informative-docs', 'jsdoc/match-description', 'jsdoc/no-blank-block-descriptions', 'jsdoc/no-blank-blocks', ['jsdoc/text-escaping', {
435
+ escapeHTML: true
436
+ }]];
437
+ const createContentsTypescriptRuleset = createStandaloneRulesetFactory(contentsRules);
438
+ const createContentsTypescriptFlavorRuleset = createStandaloneRulesetFactory(contentsRules);
439
+ const logicalRules = ['jsdoc/check-access', 'jsdoc/check-param-names', 'jsdoc/check-property-names', 'jsdoc/check-syntax', 'jsdoc/check-tag-names', 'jsdoc/check-template-names', 'jsdoc/check-types', 'jsdoc/check-values', 'jsdoc/empty-tags', 'jsdoc/escape-inline-tags', 'jsdoc/implements-on-classes', 'jsdoc/require-returns-check', 'jsdoc/require-yields-check', 'jsdoc/no-bad-blocks', 'jsdoc/no-defaults', 'jsdoc/no-types', 'jsdoc/no-undefined-types', 'jsdoc/valid-types'];
440
+ const createLogicalTypescriptRuleset = createStandaloneRulesetFactory(logicalRules);
441
+ const createLogicalTypescriptFlavorRuleset = createStandaloneRulesetFactory(logicalRules);
442
+ const requirementsRules = ['jsdoc/require-example', 'jsdoc/require-jsdoc', 'jsdoc/require-next-type', 'jsdoc/require-param', 'jsdoc/require-param-description', 'jsdoc/require-param-name', 'jsdoc/require-property', 'jsdoc/require-property-description', 'jsdoc/require-property-name', 'jsdoc/require-returns', 'jsdoc/require-returns-description', 'jsdoc/require-throws-type', 'jsdoc/require-yields', 'jsdoc/require-yields-type'];
443
+ const createRequirementsTypeScriptRuleset = createStandaloneRulesetFactory(requirementsRules);
444
+ const createRequirementsTypeScriptFlavorRuleset = createStandaloneRulesetFactory([...requirementsRules, 'jsdoc/require-param-type', 'jsdoc/require-property-type', 'jsdoc/require-returns-type', 'jsdoc/require-template']);
445
+ const stylisticRules = ['jsdoc/check-alignment', 'jsdoc/check-line-alignment', 'jsdoc/lines-before-block', 'jsdoc/multiline-blocks', 'jsdoc/no-multi-asterisks', 'jsdoc/require-asterisk-prefix', ['jsdoc/require-hyphen-before-param-description', 'never'], 'jsdoc/tag-lines'];
446
+ const createStylisticTypeScriptRuleset = createStandaloneRulesetFactory(stylisticRules);
447
+ const createStylisticTypeScriptFlavorRuleset = createStandaloneRulesetFactory(stylisticRules);
448
+
449
+ /* c8 ignore next 3 -- TS */
450
+ if (!index.configs) {
451
+ throw new Error('TypeScript guard');
452
+ }
453
+ index.configs.recommended = createRecommendedRuleset('warn');
454
+ index.configs['recommended-error'] = createRecommendedRuleset('error');
455
+ index.configs['recommended-typescript'] = createRecommendedTypeScriptRuleset('warn');
456
+ index.configs['recommended-typescript-error'] = createRecommendedTypeScriptRuleset('error');
457
+ index.configs['recommended-typescript-flavor'] = createRecommendedTypeScriptFlavorRuleset('warn');
458
+ index.configs['recommended-typescript-flavor-error'] = createRecommendedTypeScriptFlavorRuleset('error');
459
+ index.configs['recommended-tsdoc'] = createRecommendedTsDocRuleset('warn');
460
+ index.configs['recommended-tsdoc-error'] = createRecommendedTsDocRuleset('error');
461
+ index.configs['flat/recommended'] = createRecommendedRuleset('warn', 'flat/recommended');
462
+ index.configs['flat/recommended-error'] = createRecommendedRuleset('error', 'flat/recommended-error');
463
+ index.configs['flat/recommended-typescript'] = createRecommendedTypeScriptRuleset('warn', 'flat/recommended-typescript');
464
+ index.configs['flat/recommended-typescript-error'] = createRecommendedTypeScriptRuleset('error', 'flat/recommended-typescript-error');
465
+ index.configs['flat/recommended-typescript-flavor'] = createRecommendedTypeScriptFlavorRuleset('warn', 'flat/recommended-typescript-flavor');
466
+ index.configs['flat/recommended-typescript-flavor-error'] = createRecommendedTypeScriptFlavorRuleset('error', 'flat/recommended-typescript-flavor-error');
467
+ index.configs['flat/recommended-tsdoc'] = createRecommendedTsDocRuleset('warn', 'flat/recommended-tsdoc');
468
+ index.configs['flat/recommended-tsdoc-error'] = createRecommendedTsDocRuleset('error', 'flat/recommended-tsdoc-error');
469
+ index.configs['flat/contents-typescript'] = createContentsTypescriptRuleset('warn', 'flat/contents-typescript');
470
+ index.configs['flat/contents-typescript-error'] = createContentsTypescriptRuleset('error', 'flat/contents-typescript-error');
471
+ index.configs['flat/contents-typescript-flavor'] = createContentsTypescriptFlavorRuleset('warn', 'flat/contents-typescript-flavor');
472
+ index.configs['flat/contents-typescript-flavor-error'] = createContentsTypescriptFlavorRuleset('error', 'flat/contents-typescript-error-flavor');
473
+ index.configs['flat/logical-typescript'] = createLogicalTypescriptRuleset('warn', 'flat/logical-typescript');
474
+ index.configs['flat/logical-typescript-error'] = createLogicalTypescriptRuleset('error', 'flat/logical-typescript-error');
475
+ index.configs['flat/logical-typescript-flavor'] = createLogicalTypescriptFlavorRuleset('warn', 'flat/logical-typescript-flavor');
476
+ index.configs['flat/logical-typescript-flavor-error'] = createLogicalTypescriptFlavorRuleset('error', 'flat/logical-typescript-error-flavor');
477
+ index.configs['flat/requirements-typescript'] = createRequirementsTypeScriptRuleset('warn', 'flat/requirements-typescript');
478
+ index.configs['flat/requirements-typescript-error'] = createRequirementsTypeScriptRuleset('error', 'flat/requirements-typescript-error');
479
+ index.configs['flat/requirements-typescript-flavor'] = createRequirementsTypeScriptFlavorRuleset('warn', 'flat/requirements-typescript-flavor');
480
+ index.configs['flat/requirements-typescript-flavor-error'] = createRequirementsTypeScriptFlavorRuleset('error', 'flat/requirements-typescript-error-flavor');
481
+ index.configs['flat/stylistic-typescript'] = createStylisticTypeScriptRuleset('warn', 'flat/stylistic-typescript');
482
+ index.configs['flat/stylistic-typescript-error'] = createStylisticTypeScriptRuleset('error', 'flat/stylistic-typescript-error');
483
+ index.configs['flat/stylistic-typescript-flavor'] = createStylisticTypeScriptFlavorRuleset('warn', 'flat/stylistic-typescript-flavor');
484
+ index.configs['flat/stylistic-typescript-flavor-error'] = createStylisticTypeScriptFlavorRuleset('error', 'flat/stylistic-typescript-error-flavor');
485
+ index.configs.examples = /** @type {import('eslint').Linter.Config[]} */[{
486
+ files: ['**/*.js'],
487
+ name: 'jsdoc/examples/processor',
488
+ plugins: {
489
+ examples: (0, _getJsdocProcessorPlugin.getJsdocProcessorPlugin)()
490
+ },
491
+ processor: 'examples/examples'
492
+ }, {
493
+ files: ['**/*.md/*.js'],
494
+ name: 'jsdoc/examples/rules',
495
+ rules: {
496
+ // "always" newline rule at end unlikely in sample code
497
+ '@stylistic/eol-last': 0,
498
+ // Often wish to start `@example` code after newline; also may use
499
+ // empty lines for spacing
500
+ '@stylistic/no-multiple-empty-lines': 0,
501
+ // Can generally look nicer to pad a little even if code imposes more stringency
502
+ '@stylistic/padded-blocks': 0,
503
+ '@typescript-eslint/no-unused-vars': 0,
504
+ // Wouldn't generally expect example paths to resolve relative to JS file
505
+ 'import/no-unresolved': 0,
506
+ // Snippets likely too short to always include import/export info
507
+ 'import/unambiguous': 0,
508
+ 'jsdoc/require-file-overview': 0,
509
+ // The end of a multiline comment would end the comment the example is in.
510
+ 'jsdoc/require-jsdoc': 0,
511
+ // See import/no-unresolved
512
+ 'n/no-missing-import': 0,
513
+ 'n/no-missing-require': 0,
514
+ // Unlikely to have inadvertent debugging within examples
515
+ 'no-console': 0,
516
+ /* c8 ignore next 11 -- Coercion should work */
517
+ ...(_semver.default.gte(_semver.default.coerce(_eslint.ESLint.version) ?? '9.0.0', '9.0.0') ? {} : {
518
+ // "always" newline rule at end unlikely in sample code
519
+ 'eol-last': 0,
520
+ // Often wish to start `@example` code after newline; also may use
521
+ // empty lines for spacing
522
+ 'no-multiple-empty-lines': 0,
523
+ // Can generally look nicer to pad a little even if code imposes more stringency
524
+ 'padded-blocks': 0
525
+ }),
526
+ // Many variables in examples will be `undefined`
527
+ 'no-undef': 0,
528
+ // Common to define variables for clarity without always using them
529
+ 'no-unused-vars': 0,
530
+ // See import/no-unresolved
531
+ 'node/no-missing-import': 0,
532
+ 'node/no-missing-require': 0
533
+ }
534
+ }];
535
+ index.configs['default-expressions'] = /** @type {import('eslint').Linter.Config[]} */[{
536
+ files: ['**/*.js'],
537
+ name: 'jsdoc/default-expressions/processor',
538
+ plugins: {
539
+ examples: (0, _getJsdocProcessorPlugin.getJsdocProcessorPlugin)({
540
+ checkDefaults: true,
541
+ checkParams: true,
542
+ checkProperties: true
543
+ })
544
+ },
545
+ processor: 'examples/examples'
546
+ }, {
547
+ files: ['**/*.jsdoc-defaults', '**/*.jsdoc-params', '**/*.jsdoc-properties'],
548
+ name: 'jsdoc/default-expressions/rules',
549
+ rules: {
550
+ ...index.configs.examples[1].rules,
551
+ '@stylistic/quotes': ['error', 'double'],
552
+ '@stylistic/semi': ['error', 'never'],
553
+ '@typescript-eslint/no-unused-expressions': 0,
554
+ 'chai-friendly/no-unused-expressions': 0,
555
+ 'no-empty-function': 0,
556
+ 'no-new': 0,
557
+ 'no-unused-expressions': 0,
558
+ /* c8 ignore next 8 -- Coercion should work */
559
+ ...(_semver.default.gte(_semver.default.coerce(_eslint.ESLint.version) ?? '9.0.0', '9.0.0') ? {} : {
560
+ quotes: ['error', 'double'],
561
+ semi: ['error', 'never']
562
+ }),
563
+ strict: 0
564
+ }
565
+ }];
566
+ index.configs['examples-and-default-expressions'] = /** @type {import('eslint').Linter.Config[]} */[{
567
+ name: 'jsdoc/examples-and-default-expressions',
568
+ plugins: {
569
+ examples: (0, _getJsdocProcessorPlugin.getJsdocProcessorPlugin)({
570
+ checkDefaults: true,
571
+ checkParams: true,
572
+ checkProperties: true
573
+ })
574
+ }
575
+ }, ...index.configs.examples.map(config => {
576
+ return {
577
+ ...config,
578
+ plugins: {}
579
+ };
580
+ }), ...index.configs['default-expressions'].map(config => {
581
+ return {
582
+ ...config,
583
+ plugins: {}
584
+ };
585
+ })];
586
+ index.configs['flat/recommended-mixed'] = [{
587
+ ...index.configs['flat/recommended-typescript-flavor'],
588
+ files: ['**/*.{js,jsx,cjs,mjs}']
589
+ }, {
590
+ ...index.configs['flat/recommended-typescript'],
591
+ files: ['**/*.{ts,tsx,cts,mts}']
592
+ }];
593
+ var _default = exports.default = index;
594
+ module.exports = exports.default;
595
+ //# sourceMappingURL=index-cjs.cjs.map