@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
package/LICENSE ADDED
@@ -0,0 +1,24 @@
1
+ Copyright (c) 2018, Gajus Kuizinas (http://gajus.com/)
2
+ All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without
5
+ modification, are permitted provided that the following conditions are met:
6
+ * Redistributions of source code must retain the above copyright
7
+ notice, this list of conditions and the following disclaimer.
8
+ * Redistributions in binary form must reproduce the above copyright
9
+ notice, this list of conditions and the following disclaimer in the
10
+ documentation and/or other materials provided with the distribution.
11
+ * Neither the name of the Gajus Kuizinas (http://gajus.com/) nor the
12
+ names of its contributors may be used to endorse or promote products
13
+ derived from this software without specific prior written permission.
14
+
15
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
16
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18
+ DISCLAIMED. IN NO EVENT SHALL ANUARY BE LIABLE FOR ANY
19
+ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
package/README.md ADDED
@@ -0,0 +1,33 @@
1
+ # @depup/eslint-plugin-jsdoc
2
+
3
+ > Dependency-bumped version of [eslint-plugin-jsdoc](https://www.npmjs.com/package/eslint-plugin-jsdoc)
4
+
5
+ Generated by [DepUp](https://github.com/depup/npm) -- all production
6
+ dependencies bumped to latest versions.
7
+
8
+ ## Installation
9
+
10
+ ```bash
11
+ npm install @depup/eslint-plugin-jsdoc
12
+ ```
13
+
14
+ | Field | Value |
15
+ |-------|-------|
16
+ | Original | [eslint-plugin-jsdoc](https://www.npmjs.com/package/eslint-plugin-jsdoc) @ 62.8.0 |
17
+ | Processed | 2026-03-17 |
18
+ | Smoke test | passed |
19
+ | Deps updated | 3 |
20
+
21
+ ## Dependency Changes
22
+
23
+ | Dependency | From | To |
24
+ |------------|------|-----|
25
+ | are-docs-informative | ^0.0.2 | ^0.1.1 |
26
+ | escape-string-regexp | ^4.0.0 | ^5.0.0 |
27
+ | espree | ^11.1.0 | ^11.2.0 |
28
+
29
+ ---
30
+
31
+ Source: https://github.com/depup/npm | Original: https://www.npmjs.com/package/eslint-plugin-jsdoc
32
+
33
+ License inherited from the original package.
package/changes.json ADDED
@@ -0,0 +1,18 @@
1
+ {
2
+ "bumped": {
3
+ "are-docs-informative": {
4
+ "from": "^0.0.2",
5
+ "to": "^0.1.1"
6
+ },
7
+ "escape-string-regexp": {
8
+ "from": "^4.0.0",
9
+ "to": "^5.0.0"
10
+ },
11
+ "espree": {
12
+ "from": "^11.1.0",
13
+ "to": "^11.2.0"
14
+ }
15
+ },
16
+ "timestamp": "2026-03-17T16:35:52.321Z",
17
+ "totalUpdated": 3
18
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ const WarnSettings = function () {
8
+ /** @type {WeakMap<object, Set<string>>} */
9
+ const warnedSettings = new WeakMap();
10
+ return {
11
+ /**
12
+ * Warn only once for each context and setting
13
+ * @param {import('eslint').Rule.RuleContext} context
14
+ * @param {string} setting
15
+ * @returns {boolean}
16
+ */
17
+ hasBeenWarned(context, setting) {
18
+ return warnedSettings.has(context) && /** @type {Set<string>} */warnedSettings.get(context).has(setting);
19
+ },
20
+ /**
21
+ * @param {import('eslint').Rule.RuleContext} context
22
+ * @param {string} setting
23
+ * @returns {void}
24
+ */
25
+ markSettingAsWarned(context, setting) {
26
+ // c8 ignore else
27
+ if (!warnedSettings.has(context)) {
28
+ warnedSettings.set(context, new Set());
29
+ }
30
+
31
+ /** @type {Set<string>} */
32
+ warnedSettings.get(context).add(setting);
33
+ }
34
+ };
35
+ };
36
+ var _default = exports.default = WarnSettings;
37
+ module.exports = exports.default;
38
+ //# sourceMappingURL=WarnSettings.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WarnSettings.cjs","names":["WarnSettings","warnedSettings","WeakMap","hasBeenWarned","context","setting","has","get","markSettingAsWarned","set","Set","add","_default","exports","default","module"],"sources":["../src/WarnSettings.js"],"sourcesContent":["const WarnSettings = function () {\n /** @type {WeakMap<object, Set<string>>} */\n const warnedSettings = new WeakMap();\n\n return {\n /**\n * Warn only once for each context and setting\n * @param {import('eslint').Rule.RuleContext} context\n * @param {string} setting\n * @returns {boolean}\n */\n hasBeenWarned (context, setting) {\n return warnedSettings.has(context) && /** @type {Set<string>} */ (\n warnedSettings.get(context)\n ).has(setting);\n },\n\n /**\n * @param {import('eslint').Rule.RuleContext} context\n * @param {string} setting\n * @returns {void}\n */\n markSettingAsWarned (context, setting) {\n // c8 ignore else\n if (!warnedSettings.has(context)) {\n warnedSettings.set(context, new Set());\n }\n\n /** @type {Set<string>} */ (warnedSettings.get(context)).add(setting);\n },\n };\n};\n\nexport default WarnSettings;\n"],"mappings":";;;;;;AAAA,MAAMA,YAAY,GAAG,SAAAA,CAAA,EAAY;EAC/B;EACA,MAAMC,cAAc,GAAG,IAAIC,OAAO,CAAC,CAAC;EAEpC,OAAO;IACL;AACJ;AACA;AACA;AACA;AACA;IACIC,aAAaA,CAAEC,OAAO,EAAEC,OAAO,EAAE;MAC/B,OAAOJ,cAAc,CAACK,GAAG,CAACF,OAAO,CAAC,IAAI,0BACpCH,cAAc,CAACM,GAAG,CAACH,OAAO,CAAC,CAC3BE,GAAG,CAACD,OAAO,CAAC;IAChB,CAAC;IAED;AACJ;AACA;AACA;AACA;IACIG,mBAAmBA,CAAEJ,OAAO,EAAEC,OAAO,EAAE;MACrC;MACA,IAAI,CAACJ,cAAc,CAACK,GAAG,CAACF,OAAO,CAAC,EAAE;QAChCH,cAAc,CAACQ,GAAG,CAACL,OAAO,EAAE,IAAIM,GAAG,CAAC,CAAC,CAAC;MACxC;;MAEA;MAA4BT,cAAc,CAACM,GAAG,CAACH,OAAO,CAAC,CAAEO,GAAG,CAACN,OAAO,CAAC;IACvE;EACF,CAAC;AACH,CAAC;AAAC,IAAAO,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEad,YAAY;AAAAe,MAAA,CAAAF,OAAA,GAAAA,OAAA,CAAAC,OAAA","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ export default WarnSettings;
2
+ declare function WarnSettings(): {
3
+ /**
4
+ * Warn only once for each context and setting
5
+ * @param {import('eslint').Rule.RuleContext} context
6
+ * @param {string} setting
7
+ * @returns {boolean}
8
+ */
9
+ hasBeenWarned(context: import("eslint").Rule.RuleContext, setting: string): boolean;
10
+ /**
11
+ * @param {import('eslint').Rule.RuleContext} context
12
+ * @param {string} setting
13
+ * @returns {void}
14
+ */
15
+ markSettingAsWarned(context: import("eslint").Rule.RuleContext, setting: string): void;
16
+ };
17
+ //# sourceMappingURL=WarnSettings.d.ts.map
@@ -0,0 +1,402 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _commentParser = require("comment-parser");
8
+ /**
9
+ * Transform based on https://github.com/syavorsky/comment-parser/blob/master/src/transforms/align.ts
10
+ *
11
+ * It contains some customizations to align based on the tags, and some custom options.
12
+ */
13
+
14
+ /**
15
+ * Detects if a line starts with a markdown list marker
16
+ * Supports: -, *, numbered lists (1., 2., etc.)
17
+ * This explicitly excludes hyphens that are part of JSDoc tag syntax
18
+ * @param {string} text - The text to check
19
+ * @param {boolean} isFirstLineOfTag - True if this is the first line (tag line)
20
+ * @returns {boolean} - True if the text starts with a list marker
21
+ */
22
+ const startsWithListMarker = (text, isFirstLineOfTag = false) => {
23
+ // On the first line of a tag, the hyphen is typically the JSDoc separator,
24
+ // not a list marker
25
+ if (isFirstLineOfTag) {
26
+ return false;
27
+ }
28
+
29
+ // Match lines that start with optional whitespace, then a list marker
30
+ // - or * followed by a space
31
+ // or a number followed by . or ) and a space
32
+ return /^\s*(?:[\-*]|\d+(?:\.|\)))\s+/v.test(text);
33
+ };
34
+
35
+ /**
36
+ * @typedef {{
37
+ * hasNoTypes: boolean,
38
+ * maxNamedTagLength: import('./iterateJsdoc.js').Integer,
39
+ * maxUnnamedTagLength: import('./iterateJsdoc.js').Integer
40
+ * }} TypelessInfo
41
+ */
42
+
43
+ const {
44
+ rewireSource
45
+ } = _commentParser.util;
46
+
47
+ /**
48
+ * @typedef {{
49
+ * name: import('./iterateJsdoc.js').Integer,
50
+ * start: import('./iterateJsdoc.js').Integer,
51
+ * tag: import('./iterateJsdoc.js').Integer,
52
+ * type: import('./iterateJsdoc.js').Integer
53
+ * }} Width
54
+ */
55
+
56
+ /** @type {Width} */
57
+ const zeroWidth = {
58
+ name: 0,
59
+ start: 0,
60
+ tag: 0,
61
+ type: 0
62
+ };
63
+
64
+ /**
65
+ * @param {string[]} tags
66
+ * @param {import('./iterateJsdoc.js').Integer} index
67
+ * @param {import('comment-parser').Line[]} source
68
+ * @returns {boolean}
69
+ */
70
+ const shouldAlign = (tags, index, source) => {
71
+ const tag = source[index].tokens.tag.replace('@', '');
72
+ const includesTag = tags.includes(tag);
73
+ if (includesTag) {
74
+ return true;
75
+ }
76
+ if (tag !== '') {
77
+ return false;
78
+ }
79
+ for (let iterator = index; iterator >= 0; iterator--) {
80
+ const previousTag = source[iterator].tokens.tag.replace('@', '');
81
+ if (previousTag !== '') {
82
+ if (tags.includes(previousTag)) {
83
+ return true;
84
+ }
85
+ return false;
86
+ }
87
+ }
88
+ return true;
89
+ };
90
+
91
+ /**
92
+ * @param {string[]} tags
93
+ * @returns {(
94
+ * width: Width,
95
+ * line: {
96
+ * tokens: import('comment-parser').Tokens
97
+ * },
98
+ * index: import('./iterateJsdoc.js').Integer,
99
+ * source: import('comment-parser').Line[]
100
+ * ) => Width}
101
+ */
102
+ const getWidth = tags => {
103
+ return (width, {
104
+ tokens
105
+ }, index, source) => {
106
+ if (!shouldAlign(tags, index, source)) {
107
+ return width;
108
+ }
109
+ return {
110
+ name: Math.max(width.name, tokens.name.length),
111
+ start: tokens.delimiter === '/**' ? tokens.start.length : width.start,
112
+ tag: Math.max(width.tag, tokens.tag.length),
113
+ type: Math.max(width.type, tokens.type.length)
114
+ };
115
+ };
116
+ };
117
+
118
+ /**
119
+ * @param {{
120
+ * description: string;
121
+ * tags: import('comment-parser').Spec[];
122
+ * problems: import('comment-parser').Problem[];
123
+ * }} fields
124
+ * @returns {TypelessInfo}
125
+ */
126
+ const getTypelessInfo = fields => {
127
+ const hasNoTypes = fields.tags.every(({
128
+ type
129
+ }) => {
130
+ return !type;
131
+ });
132
+ const maxNamedTagLength = Math.max(...fields.tags.map(({
133
+ name,
134
+ tag
135
+ }) => {
136
+ return name.length === 0 ? -1 : tag.length;
137
+ }).filter(length => {
138
+ return length !== -1;
139
+ })) + 1;
140
+ const maxUnnamedTagLength = Math.max(...fields.tags.map(({
141
+ name,
142
+ tag
143
+ }) => {
144
+ return name.length === 0 ? tag.length : -1;
145
+ }).filter(length => {
146
+ return length !== -1;
147
+ })) + 1;
148
+ return {
149
+ hasNoTypes,
150
+ maxNamedTagLength,
151
+ maxUnnamedTagLength
152
+ };
153
+ };
154
+
155
+ /**
156
+ * @param {import('./iterateJsdoc.js').Integer} len
157
+ * @returns {string}
158
+ */
159
+ const space = len => {
160
+ return ''.padStart(len, ' ');
161
+ };
162
+
163
+ /**
164
+ * Check if a tag or any of its lines contain list markers
165
+ * @param {import('./iterateJsdoc.js').Integer} index - Current line index
166
+ * @param {import('comment-parser').Line[]} source - All source lines
167
+ * @returns {{hasListMarker: boolean, tagStartIndex: import('./iterateJsdoc.js').Integer}}
168
+ */
169
+ const checkForListMarkers = (index, source) => {
170
+ let hasListMarker = false;
171
+ let tagStartIndex = index;
172
+ while (tagStartIndex > 0 && source[tagStartIndex].tokens.tag === '') {
173
+ tagStartIndex--;
174
+ }
175
+ for (let idx = tagStartIndex; idx <= index; idx++) {
176
+ const isFirstLine = idx === tagStartIndex;
177
+ if (source[idx]?.tokens?.description && startsWithListMarker(source[idx].tokens.description, isFirstLine)) {
178
+ hasListMarker = true;
179
+ break;
180
+ }
181
+ }
182
+ return {
183
+ hasListMarker,
184
+ tagStartIndex
185
+ };
186
+ };
187
+
188
+ /**
189
+ * Calculate extra indentation for list items relative to the first continuation line
190
+ * @param {import('./iterateJsdoc.js').Integer} index - Current line index
191
+ * @param {import('./iterateJsdoc.js').Integer} tagStartIndex - Index of the tag line
192
+ * @param {import('comment-parser').Line[]} source - All source lines
193
+ * @returns {string} - Extra indentation spaces
194
+ */
195
+ const calculateListExtraIndent = (index, tagStartIndex, source) => {
196
+ // Find the first continuation line to use as baseline
197
+ let firstContinuationIndent = null;
198
+ for (let idx = tagStartIndex + 1; idx < source.length; idx++) {
199
+ if (source[idx].tokens.description && !source[idx].tokens.tag) {
200
+ firstContinuationIndent = source[idx].tokens.postDelimiter.length;
201
+ break;
202
+ }
203
+ }
204
+
205
+ // Calculate the extra indentation of current line relative to the first continuation line
206
+ const currentOriginalIndent = source[index].tokens.postDelimiter.length;
207
+ const extraIndent = firstContinuationIndent !== null && currentOriginalIndent > firstContinuationIndent ? ' '.repeat(currentOriginalIndent - firstContinuationIndent) : '';
208
+ return extraIndent;
209
+ };
210
+
211
+ /**
212
+ * @param {{
213
+ * customSpacings: import('../src/rules/checkLineAlignment.js').CustomSpacings,
214
+ * tags: string[],
215
+ * indent: string,
216
+ * preserveMainDescriptionPostDelimiter: boolean,
217
+ * wrapIndent: string,
218
+ * disableWrapIndent: boolean,
219
+ * }} cfg
220
+ * @returns {(
221
+ * block: import('comment-parser').Block
222
+ * ) => import('comment-parser').Block}
223
+ */
224
+ const alignTransform = ({
225
+ customSpacings,
226
+ disableWrapIndent,
227
+ indent,
228
+ preserveMainDescriptionPostDelimiter,
229
+ tags,
230
+ wrapIndent
231
+ }) => {
232
+ let intoTags = false;
233
+ /** @type {Width} */
234
+ let width;
235
+
236
+ /**
237
+ * @param {import('comment-parser').Tokens} tokens
238
+ * @param {TypelessInfo} typelessInfo
239
+ * @returns {import('comment-parser').Tokens}
240
+ */
241
+ const alignTokens = (tokens, typelessInfo) => {
242
+ const nothingAfter = {
243
+ delim: false,
244
+ name: false,
245
+ tag: false,
246
+ type: false
247
+ };
248
+ if (tokens.description === '') {
249
+ nothingAfter.name = true;
250
+ tokens.postName = '';
251
+ if (tokens.name === '') {
252
+ nothingAfter.type = true;
253
+ tokens.postType = '';
254
+ if (tokens.type === '') {
255
+ nothingAfter.tag = true;
256
+ tokens.postTag = '';
257
+
258
+ /* c8 ignore next: Never happens because the !intoTags return. But it's here for consistency with the original align transform */
259
+ if (tokens.tag === '') {
260
+ nothingAfter.delim = true;
261
+ }
262
+ }
263
+ }
264
+ }
265
+ let untypedNameAdjustment = 0;
266
+ let untypedTypeAdjustment = 0;
267
+ if (typelessInfo.hasNoTypes) {
268
+ nothingAfter.tag = true;
269
+ tokens.postTag = '';
270
+ if (tokens.name === '') {
271
+ untypedNameAdjustment = typelessInfo.maxNamedTagLength - tokens.tag.length;
272
+ } else {
273
+ untypedNameAdjustment = typelessInfo.maxNamedTagLength > typelessInfo.maxUnnamedTagLength ? 0 : Math.max(0, typelessInfo.maxUnnamedTagLength - (tokens.tag.length + tokens.name.length + 1));
274
+ untypedTypeAdjustment = typelessInfo.maxNamedTagLength - tokens.tag.length;
275
+ }
276
+ }
277
+
278
+ // Todo: Avoid fixing alignment of blocks with multiline wrapping of type
279
+ if (tokens.tag === '' && tokens.type) {
280
+ return tokens;
281
+ }
282
+ const spacings = {
283
+ postDelimiter: customSpacings?.postDelimiter || 1,
284
+ postName: customSpacings?.postName || 1,
285
+ postTag: customSpacings?.postTag || 1,
286
+ postType: customSpacings?.postType || 1
287
+ };
288
+ tokens.postDelimiter = nothingAfter.delim ? '' : space(spacings.postDelimiter);
289
+ if (!nothingAfter.tag) {
290
+ tokens.postTag = space(width.tag - tokens.tag.length + spacings.postTag);
291
+ }
292
+ if (!nothingAfter.type) {
293
+ tokens.postType = space(width.type - tokens.type.length + spacings.postType + untypedTypeAdjustment);
294
+ }
295
+ if (!nothingAfter.name) {
296
+ // If post name is empty for all lines (name width 0), don't add post name spacing.
297
+ tokens.postName = width.name === 0 ? '' : space(width.name - tokens.name.length + spacings.postName + untypedNameAdjustment);
298
+ }
299
+ return tokens;
300
+ };
301
+
302
+ /**
303
+ * @param {import('comment-parser').Line} line
304
+ * @param {import('./iterateJsdoc.js').Integer} index
305
+ * @param {import('comment-parser').Line[]} source
306
+ * @param {TypelessInfo} typelessInfo
307
+ * @param {string|false} indentTag
308
+ * @returns {import('comment-parser').Line}
309
+ */
310
+ const update = (line, index, source, typelessInfo, indentTag) => {
311
+ /** @type {import('comment-parser').Tokens} */
312
+ const tokens = {
313
+ ...line.tokens
314
+ };
315
+ if (tokens.tag !== '') {
316
+ intoTags = true;
317
+ }
318
+ const isEmpty = tokens.tag === '' && tokens.name === '' && tokens.type === '' && tokens.description === '';
319
+
320
+ // dangling '*/'
321
+ if (tokens.end === '*/' && isEmpty) {
322
+ tokens.start = indent + ' ';
323
+ return {
324
+ ...line,
325
+ tokens
326
+ };
327
+ }
328
+ switch (tokens.delimiter) {
329
+ case '*':
330
+ tokens.start = indent + ' ';
331
+ break;
332
+ case '/**':
333
+ tokens.start = indent;
334
+ break;
335
+ default:
336
+ tokens.delimiter = '';
337
+
338
+ // compensate delimiter
339
+ tokens.start = indent + ' ';
340
+ }
341
+ if (!intoTags) {
342
+ if (tokens.description === '') {
343
+ tokens.postDelimiter = '';
344
+ } else if (!preserveMainDescriptionPostDelimiter) {
345
+ tokens.postDelimiter = ' ';
346
+ }
347
+ return {
348
+ ...line,
349
+ tokens
350
+ };
351
+ }
352
+ const postHyphenSpacing = customSpacings?.postHyphen ?? 1;
353
+ const hyphenSpacing = /^\s*-\s+/v;
354
+ tokens.description = tokens.description.replace(hyphenSpacing, '-' + ''.padStart(postHyphenSpacing, ' '));
355
+
356
+ // Not align.
357
+ if (shouldAlign(tags, index, source)) {
358
+ alignTokens(tokens, typelessInfo);
359
+ if (!disableWrapIndent && indentTag) {
360
+ const {
361
+ hasListMarker,
362
+ tagStartIndex
363
+ } = checkForListMarkers(index, source);
364
+ if (hasListMarker && index > tagStartIndex) {
365
+ const extraIndent = calculateListExtraIndent(index, tagStartIndex, source);
366
+ tokens.postDelimiter += wrapIndent + extraIndent;
367
+ } else {
368
+ // Normal case: add wrapIndent after the aligned delimiter
369
+ tokens.postDelimiter += wrapIndent;
370
+ }
371
+ }
372
+ }
373
+ return {
374
+ ...line,
375
+ tokens
376
+ };
377
+ };
378
+ return ({
379
+ source,
380
+ ...fields
381
+ }) => {
382
+ width = source.reduce(getWidth(tags), {
383
+ ...zeroWidth
384
+ });
385
+ const typelessInfo = getTypelessInfo(fields);
386
+ let tagIndentMode = false;
387
+ return rewireSource({
388
+ ...fields,
389
+ source: source.map((line, index) => {
390
+ const indentTag = !disableWrapIndent && tagIndentMode && !line.tokens.tag && line.tokens.description;
391
+ const ret = update(line, index, source, typelessInfo, indentTag);
392
+ if (!disableWrapIndent && line.tokens.tag) {
393
+ tagIndentMode = true;
394
+ }
395
+ return ret;
396
+ })
397
+ });
398
+ };
399
+ };
400
+ var _default = exports.default = alignTransform;
401
+ module.exports = exports.default;
402
+ //# sourceMappingURL=alignTransform.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alignTransform.cjs","names":["_commentParser","require","startsWithListMarker","text","isFirstLineOfTag","test","rewireSource","util","zeroWidth","name","start","tag","type","shouldAlign","tags","index","source","tokens","replace","includesTag","includes","iterator","previousTag","getWidth","width","Math","max","length","delimiter","getTypelessInfo","fields","hasNoTypes","every","maxNamedTagLength","map","filter","maxUnnamedTagLength","space","len","padStart","checkForListMarkers","hasListMarker","tagStartIndex","idx","isFirstLine","description","calculateListExtraIndent","firstContinuationIndent","postDelimiter","currentOriginalIndent","extraIndent","repeat","alignTransform","customSpacings","disableWrapIndent","indent","preserveMainDescriptionPostDelimiter","wrapIndent","intoTags","alignTokens","typelessInfo","nothingAfter","delim","postName","postType","postTag","untypedNameAdjustment","untypedTypeAdjustment","spacings","update","line","indentTag","isEmpty","end","postHyphenSpacing","postHyphen","hyphenSpacing","reduce","tagIndentMode","ret","_default","exports","default","module"],"sources":["../src/alignTransform.js"],"sourcesContent":["/**\n * Transform based on https://github.com/syavorsky/comment-parser/blob/master/src/transforms/align.ts\n *\n * It contains some customizations to align based on the tags, and some custom options.\n */\n\nimport {\n // `comment-parser/primitives` export\n util,\n} from 'comment-parser';\n\n/**\n * Detects if a line starts with a markdown list marker\n * Supports: -, *, numbered lists (1., 2., etc.)\n * This explicitly excludes hyphens that are part of JSDoc tag syntax\n * @param {string} text - The text to check\n * @param {boolean} isFirstLineOfTag - True if this is the first line (tag line)\n * @returns {boolean} - True if the text starts with a list marker\n */\nconst startsWithListMarker = (text, isFirstLineOfTag = false) => {\n // On the first line of a tag, the hyphen is typically the JSDoc separator,\n // not a list marker\n if (isFirstLineOfTag) {\n return false;\n }\n\n // Match lines that start with optional whitespace, then a list marker\n // - or * followed by a space\n // or a number followed by . or ) and a space\n return /^\\s*(?:[\\-*]|\\d+(?:\\.|\\)))\\s+/v.test(text);\n};\n\n/**\n * @typedef {{\n * hasNoTypes: boolean,\n * maxNamedTagLength: import('./iterateJsdoc.js').Integer,\n * maxUnnamedTagLength: import('./iterateJsdoc.js').Integer\n * }} TypelessInfo\n */\n\nconst {\n rewireSource,\n} = util;\n\n/**\n * @typedef {{\n * name: import('./iterateJsdoc.js').Integer,\n * start: import('./iterateJsdoc.js').Integer,\n * tag: import('./iterateJsdoc.js').Integer,\n * type: import('./iterateJsdoc.js').Integer\n * }} Width\n */\n\n/** @type {Width} */\nconst zeroWidth = {\n name: 0,\n start: 0,\n tag: 0,\n type: 0,\n};\n\n/**\n * @param {string[]} tags\n * @param {import('./iterateJsdoc.js').Integer} index\n * @param {import('comment-parser').Line[]} source\n * @returns {boolean}\n */\nconst shouldAlign = (tags, index, source) => {\n const tag = source[index].tokens.tag.replace('@', '');\n const includesTag = tags.includes(tag);\n\n if (includesTag) {\n return true;\n }\n\n if (tag !== '') {\n return false;\n }\n\n for (let iterator = index; iterator >= 0; iterator--) {\n const previousTag = source[iterator].tokens.tag.replace('@', '');\n\n if (previousTag !== '') {\n if (tags.includes(previousTag)) {\n return true;\n }\n\n return false;\n }\n }\n\n return true;\n};\n\n/**\n * @param {string[]} tags\n * @returns {(\n * width: Width,\n * line: {\n * tokens: import('comment-parser').Tokens\n * },\n * index: import('./iterateJsdoc.js').Integer,\n * source: import('comment-parser').Line[]\n * ) => Width}\n */\nconst getWidth = (tags) => {\n return (width, {\n tokens,\n }, index, source) => {\n if (!shouldAlign(tags, index, source)) {\n return width;\n }\n\n return {\n name: Math.max(width.name, tokens.name.length),\n start: tokens.delimiter === '/**' ? tokens.start.length : width.start,\n tag: Math.max(width.tag, tokens.tag.length),\n type: Math.max(width.type, tokens.type.length),\n };\n };\n};\n\n/**\n * @param {{\n * description: string;\n * tags: import('comment-parser').Spec[];\n * problems: import('comment-parser').Problem[];\n * }} fields\n * @returns {TypelessInfo}\n */\nconst getTypelessInfo = (fields) => {\n const hasNoTypes = fields.tags.every(({\n type,\n }) => {\n return !type;\n });\n const maxNamedTagLength = Math.max(...fields.tags.map(({\n name,\n tag,\n }) => {\n return name.length === 0 ? -1 : tag.length;\n }).filter((length) => {\n return length !== -1;\n })) + 1;\n const maxUnnamedTagLength = Math.max(...fields.tags.map(({\n name,\n tag,\n }) => {\n return name.length === 0 ? tag.length : -1;\n }).filter((length) => {\n return length !== -1;\n })) + 1;\n return {\n hasNoTypes,\n maxNamedTagLength,\n maxUnnamedTagLength,\n };\n};\n\n/**\n * @param {import('./iterateJsdoc.js').Integer} len\n * @returns {string}\n */\nconst space = (len) => {\n return ''.padStart(len, ' ');\n};\n\n/**\n * Check if a tag or any of its lines contain list markers\n * @param {import('./iterateJsdoc.js').Integer} index - Current line index\n * @param {import('comment-parser').Line[]} source - All source lines\n * @returns {{hasListMarker: boolean, tagStartIndex: import('./iterateJsdoc.js').Integer}}\n */\nconst checkForListMarkers = (index, source) => {\n let hasListMarker = false;\n let tagStartIndex = index;\n while (tagStartIndex > 0 && source[tagStartIndex].tokens.tag === '') {\n tagStartIndex--;\n }\n\n for (let idx = tagStartIndex; idx <= index; idx++) {\n const isFirstLine = (idx === tagStartIndex);\n if (source[idx]?.tokens?.description && startsWithListMarker(source[idx].tokens.description, isFirstLine)) {\n hasListMarker = true;\n break;\n }\n }\n\n return {\n hasListMarker,\n tagStartIndex,\n };\n};\n\n/**\n * Calculate extra indentation for list items relative to the first continuation line\n * @param {import('./iterateJsdoc.js').Integer} index - Current line index\n * @param {import('./iterateJsdoc.js').Integer} tagStartIndex - Index of the tag line\n * @param {import('comment-parser').Line[]} source - All source lines\n * @returns {string} - Extra indentation spaces\n */\nconst calculateListExtraIndent = (index, tagStartIndex, source) => {\n // Find the first continuation line to use as baseline\n let firstContinuationIndent = null;\n for (let idx = tagStartIndex + 1; idx < source.length; idx++) {\n if (source[idx].tokens.description && !source[idx].tokens.tag) {\n firstContinuationIndent = source[idx].tokens.postDelimiter.length;\n break;\n }\n }\n\n // Calculate the extra indentation of current line relative to the first continuation line\n const currentOriginalIndent = source[index].tokens.postDelimiter.length;\n const extraIndent = firstContinuationIndent !== null && currentOriginalIndent > firstContinuationIndent ?\n ' '.repeat(currentOriginalIndent - firstContinuationIndent) :\n '';\n\n return extraIndent;\n};\n\n/**\n * @param {{\n * customSpacings: import('../src/rules/checkLineAlignment.js').CustomSpacings,\n * tags: string[],\n * indent: string,\n * preserveMainDescriptionPostDelimiter: boolean,\n * wrapIndent: string,\n * disableWrapIndent: boolean,\n * }} cfg\n * @returns {(\n * block: import('comment-parser').Block\n * ) => import('comment-parser').Block}\n */\nconst alignTransform = ({\n customSpacings,\n disableWrapIndent,\n indent,\n preserveMainDescriptionPostDelimiter,\n tags,\n wrapIndent,\n}) => {\n let intoTags = false;\n /** @type {Width} */\n let width;\n\n /**\n * @param {import('comment-parser').Tokens} tokens\n * @param {TypelessInfo} typelessInfo\n * @returns {import('comment-parser').Tokens}\n */\n const alignTokens = (tokens, typelessInfo) => {\n const nothingAfter = {\n delim: false,\n name: false,\n tag: false,\n type: false,\n };\n\n if (tokens.description === '') {\n nothingAfter.name = true;\n tokens.postName = '';\n\n if (tokens.name === '') {\n nothingAfter.type = true;\n tokens.postType = '';\n\n if (tokens.type === '') {\n nothingAfter.tag = true;\n tokens.postTag = '';\n\n /* c8 ignore next: Never happens because the !intoTags return. But it's here for consistency with the original align transform */\n if (tokens.tag === '') {\n nothingAfter.delim = true;\n }\n }\n }\n }\n\n let untypedNameAdjustment = 0;\n let untypedTypeAdjustment = 0;\n if (typelessInfo.hasNoTypes) {\n nothingAfter.tag = true;\n tokens.postTag = '';\n if (tokens.name === '') {\n untypedNameAdjustment = typelessInfo.maxNamedTagLength - tokens.tag.length;\n } else {\n untypedNameAdjustment = typelessInfo.maxNamedTagLength > typelessInfo.maxUnnamedTagLength ? 0 :\n Math.max(0, typelessInfo.maxUnnamedTagLength - (tokens.tag.length + tokens.name.length + 1));\n untypedTypeAdjustment = typelessInfo.maxNamedTagLength - tokens.tag.length;\n }\n }\n\n // Todo: Avoid fixing alignment of blocks with multiline wrapping of type\n if (tokens.tag === '' && tokens.type) {\n return tokens;\n }\n\n const spacings = {\n postDelimiter: customSpacings?.postDelimiter || 1,\n postName: customSpacings?.postName || 1,\n postTag: customSpacings?.postTag || 1,\n postType: customSpacings?.postType || 1,\n };\n\n tokens.postDelimiter = nothingAfter.delim ? '' : space(spacings.postDelimiter);\n\n if (!nothingAfter.tag) {\n tokens.postTag = space(width.tag - tokens.tag.length + spacings.postTag);\n }\n\n if (!nothingAfter.type) {\n tokens.postType = space(width.type - tokens.type.length + spacings.postType + untypedTypeAdjustment);\n }\n\n if (!nothingAfter.name) {\n // If post name is empty for all lines (name width 0), don't add post name spacing.\n tokens.postName = width.name === 0 ? '' : space(width.name - tokens.name.length + spacings.postName + untypedNameAdjustment);\n }\n\n return tokens;\n };\n\n /**\n * @param {import('comment-parser').Line} line\n * @param {import('./iterateJsdoc.js').Integer} index\n * @param {import('comment-parser').Line[]} source\n * @param {TypelessInfo} typelessInfo\n * @param {string|false} indentTag\n * @returns {import('comment-parser').Line}\n */\n const update = (line, index, source, typelessInfo, indentTag) => {\n /** @type {import('comment-parser').Tokens} */\n const tokens = {\n ...line.tokens,\n };\n\n if (tokens.tag !== '') {\n intoTags = true;\n }\n\n const isEmpty =\n tokens.tag === '' &&\n tokens.name === '' &&\n tokens.type === '' &&\n tokens.description === '';\n\n // dangling '*/'\n if (tokens.end === '*/' && isEmpty) {\n tokens.start = indent + ' ';\n\n return {\n ...line,\n tokens,\n };\n }\n\n switch (tokens.delimiter) {\n case '*':\n tokens.start = indent + ' ';\n break;\n case '/**':\n tokens.start = indent;\n break;\n default:\n tokens.delimiter = '';\n\n // compensate delimiter\n tokens.start = indent + ' ';\n }\n\n if (!intoTags) {\n if (tokens.description === '') {\n tokens.postDelimiter = '';\n } else if (!preserveMainDescriptionPostDelimiter) {\n tokens.postDelimiter = ' ';\n }\n\n return {\n ...line,\n tokens,\n };\n }\n\n const postHyphenSpacing = customSpacings?.postHyphen ?? 1;\n const hyphenSpacing = /^\\s*-\\s+/v;\n tokens.description = tokens.description.replace(\n hyphenSpacing, '-' + ''.padStart(postHyphenSpacing, ' '),\n );\n\n // Not align.\n if (shouldAlign(tags, index, source)) {\n alignTokens(tokens, typelessInfo);\n\n if (!disableWrapIndent && indentTag) {\n const {\n hasListMarker,\n tagStartIndex,\n } = checkForListMarkers(index, source);\n\n if (hasListMarker && index > tagStartIndex) {\n const extraIndent = calculateListExtraIndent(index, tagStartIndex, source);\n tokens.postDelimiter += wrapIndent + extraIndent;\n } else {\n // Normal case: add wrapIndent after the aligned delimiter\n tokens.postDelimiter += wrapIndent;\n }\n }\n }\n\n return {\n ...line,\n tokens,\n };\n };\n\n return ({\n source,\n ...fields\n }) => {\n width = source.reduce(getWidth(tags), {\n ...zeroWidth,\n });\n\n const typelessInfo = getTypelessInfo(fields);\n\n let tagIndentMode = false;\n\n return rewireSource({\n ...fields,\n source: source.map((line, index) => {\n const indentTag = !disableWrapIndent && tagIndentMode && !line.tokens.tag && line.tokens.description;\n const ret = update(line, index, source, typelessInfo, indentTag);\n\n if (!disableWrapIndent && line.tokens.tag) {\n tagIndentMode = true;\n }\n\n return ret;\n }),\n });\n };\n};\n\nexport default alignTransform;\n"],"mappings":";;;;;;AAMA,IAAAA,cAAA,GAAAC,OAAA;AANA;AACA;AACA;AACA;AACA;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,oBAAoB,GAAGA,CAACC,IAAI,EAAEC,gBAAgB,GAAG,KAAK,KAAK;EAC/D;EACA;EACA,IAAIA,gBAAgB,EAAE;IACpB,OAAO,KAAK;EACd;;EAEA;EACA;EACA;EACA,OAAO,gCAAgC,CAACC,IAAI,CAACF,IAAI,CAAC;AACpD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAM;EACJG;AACF,CAAC,GAAGC,mBAAI;;AAER;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAMC,SAAS,GAAG;EAChBC,IAAI,EAAE,CAAC;EACPC,KAAK,EAAE,CAAC;EACRC,GAAG,EAAE,CAAC;EACNC,IAAI,EAAE;AACR,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,WAAW,GAAGA,CAACC,IAAI,EAAEC,KAAK,EAAEC,MAAM,KAAK;EAC3C,MAAML,GAAG,GAAGK,MAAM,CAACD,KAAK,CAAC,CAACE,MAAM,CAACN,GAAG,CAACO,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;EACrD,MAAMC,WAAW,GAAGL,IAAI,CAACM,QAAQ,CAACT,GAAG,CAAC;EAEtC,IAAIQ,WAAW,EAAE;IACf,OAAO,IAAI;EACb;EAEA,IAAIR,GAAG,KAAK,EAAE,EAAE;IACd,OAAO,KAAK;EACd;EAEA,KAAK,IAAIU,QAAQ,GAAGN,KAAK,EAAEM,QAAQ,IAAI,CAAC,EAAEA,QAAQ,EAAE,EAAE;IACpD,MAAMC,WAAW,GAAGN,MAAM,CAACK,QAAQ,CAAC,CAACJ,MAAM,CAACN,GAAG,CAACO,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;IAEhE,IAAII,WAAW,KAAK,EAAE,EAAE;MACtB,IAAIR,IAAI,CAACM,QAAQ,CAACE,WAAW,CAAC,EAAE;QAC9B,OAAO,IAAI;MACb;MAEA,OAAO,KAAK;IACd;EACF;EAEA,OAAO,IAAI;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,QAAQ,GAAIT,IAAI,IAAK;EACzB,OAAO,CAACU,KAAK,EAAE;IACbP;EACF,CAAC,EAAEF,KAAK,EAAEC,MAAM,KAAK;IACnB,IAAI,CAACH,WAAW,CAACC,IAAI,EAAEC,KAAK,EAAEC,MAAM,CAAC,EAAE;MACrC,OAAOQ,KAAK;IACd;IAEA,OAAO;MACLf,IAAI,EAAEgB,IAAI,CAACC,GAAG,CAACF,KAAK,CAACf,IAAI,EAAEQ,MAAM,CAACR,IAAI,CAACkB,MAAM,CAAC;MAC9CjB,KAAK,EAAEO,MAAM,CAACW,SAAS,KAAK,KAAK,GAAGX,MAAM,CAACP,KAAK,CAACiB,MAAM,GAAGH,KAAK,CAACd,KAAK;MACrEC,GAAG,EAAEc,IAAI,CAACC,GAAG,CAACF,KAAK,CAACb,GAAG,EAAEM,MAAM,CAACN,GAAG,CAACgB,MAAM,CAAC;MAC3Cf,IAAI,EAAEa,IAAI,CAACC,GAAG,CAACF,KAAK,CAACZ,IAAI,EAAEK,MAAM,CAACL,IAAI,CAACe,MAAM;IAC/C,CAAC;EACH,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAME,eAAe,GAAIC,MAAM,IAAK;EAClC,MAAMC,UAAU,GAAGD,MAAM,CAAChB,IAAI,CAACkB,KAAK,CAAC,CAAC;IACpCpB;EACF,CAAC,KAAK;IACJ,OAAO,CAACA,IAAI;EACd,CAAC,CAAC;EACF,MAAMqB,iBAAiB,GAAGR,IAAI,CAACC,GAAG,CAAC,GAAGI,MAAM,CAAChB,IAAI,CAACoB,GAAG,CAAC,CAAC;IACrDzB,IAAI;IACJE;EACF,CAAC,KAAK;IACJ,OAAOF,IAAI,CAACkB,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,GAAGhB,GAAG,CAACgB,MAAM;EAC5C,CAAC,CAAC,CAACQ,MAAM,CAAER,MAAM,IAAK;IACpB,OAAOA,MAAM,KAAK,CAAC,CAAC;EACtB,CAAC,CAAC,CAAC,GAAG,CAAC;EACP,MAAMS,mBAAmB,GAAGX,IAAI,CAACC,GAAG,CAAC,GAAGI,MAAM,CAAChB,IAAI,CAACoB,GAAG,CAAC,CAAC;IACvDzB,IAAI;IACJE;EACF,CAAC,KAAK;IACJ,OAAOF,IAAI,CAACkB,MAAM,KAAK,CAAC,GAAGhB,GAAG,CAACgB,MAAM,GAAG,CAAC,CAAC;EAC5C,CAAC,CAAC,CAACQ,MAAM,CAAER,MAAM,IAAK;IACpB,OAAOA,MAAM,KAAK,CAAC,CAAC;EACtB,CAAC,CAAC,CAAC,GAAG,CAAC;EACP,OAAO;IACLI,UAAU;IACVE,iBAAiB;IACjBG;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMC,KAAK,GAAIC,GAAG,IAAK;EACrB,OAAO,EAAE,CAACC,QAAQ,CAACD,GAAG,EAAE,GAAG,CAAC;AAC9B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,MAAME,mBAAmB,GAAGA,CAACzB,KAAK,EAAEC,MAAM,KAAK;EAC7C,IAAIyB,aAAa,GAAG,KAAK;EACzB,IAAIC,aAAa,GAAG3B,KAAK;EACzB,OAAO2B,aAAa,GAAG,CAAC,IAAI1B,MAAM,CAAC0B,aAAa,CAAC,CAACzB,MAAM,CAACN,GAAG,KAAK,EAAE,EAAE;IACnE+B,aAAa,EAAE;EACjB;EAEA,KAAK,IAAIC,GAAG,GAAGD,aAAa,EAAEC,GAAG,IAAI5B,KAAK,EAAE4B,GAAG,EAAE,EAAE;IACjD,MAAMC,WAAW,GAAID,GAAG,KAAKD,aAAc;IAC3C,IAAI1B,MAAM,CAAC2B,GAAG,CAAC,EAAE1B,MAAM,EAAE4B,WAAW,IAAI3C,oBAAoB,CAACc,MAAM,CAAC2B,GAAG,CAAC,CAAC1B,MAAM,CAAC4B,WAAW,EAAED,WAAW,CAAC,EAAE;MACzGH,aAAa,GAAG,IAAI;MACpB;IACF;EACF;EAEA,OAAO;IACLA,aAAa;IACbC;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMI,wBAAwB,GAAGA,CAAC/B,KAAK,EAAE2B,aAAa,EAAE1B,MAAM,KAAK;EACjE;EACA,IAAI+B,uBAAuB,GAAG,IAAI;EAClC,KAAK,IAAIJ,GAAG,GAAGD,aAAa,GAAG,CAAC,EAAEC,GAAG,GAAG3B,MAAM,CAACW,MAAM,EAAEgB,GAAG,EAAE,EAAE;IAC5D,IAAI3B,MAAM,CAAC2B,GAAG,CAAC,CAAC1B,MAAM,CAAC4B,WAAW,IAAI,CAAC7B,MAAM,CAAC2B,GAAG,CAAC,CAAC1B,MAAM,CAACN,GAAG,EAAE;MAC7DoC,uBAAuB,GAAG/B,MAAM,CAAC2B,GAAG,CAAC,CAAC1B,MAAM,CAAC+B,aAAa,CAACrB,MAAM;MACjE;IACF;EACF;;EAEA;EACA,MAAMsB,qBAAqB,GAAGjC,MAAM,CAACD,KAAK,CAAC,CAACE,MAAM,CAAC+B,aAAa,CAACrB,MAAM;EACvE,MAAMuB,WAAW,GAAGH,uBAAuB,KAAK,IAAI,IAAIE,qBAAqB,GAAGF,uBAAuB,GACrG,GAAG,CAACI,MAAM,CAACF,qBAAqB,GAAGF,uBAAuB,CAAC,GAC3D,EAAE;EAEJ,OAAOG,WAAW;AACpB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAME,cAAc,GAAGA,CAAC;EACtBC,cAAc;EACdC,iBAAiB;EACjBC,MAAM;EACNC,oCAAoC;EACpC1C,IAAI;EACJ2C;AACF,CAAC,KAAK;EACJ,IAAIC,QAAQ,GAAG,KAAK;EACpB;EACA,IAAIlC,KAAK;;EAET;AACF;AACA;AACA;AACA;EACE,MAAMmC,WAAW,GAAGA,CAAC1C,MAAM,EAAE2C,YAAY,KAAK;IAC5C,MAAMC,YAAY,GAAG;MACnBC,KAAK,EAAE,KAAK;MACZrD,IAAI,EAAE,KAAK;MACXE,GAAG,EAAE,KAAK;MACVC,IAAI,EAAE;IACR,CAAC;IAED,IAAIK,MAAM,CAAC4B,WAAW,KAAK,EAAE,EAAE;MAC7BgB,YAAY,CAACpD,IAAI,GAAG,IAAI;MACxBQ,MAAM,CAAC8C,QAAQ,GAAG,EAAE;MAEpB,IAAI9C,MAAM,CAACR,IAAI,KAAK,EAAE,EAAE;QACtBoD,YAAY,CAACjD,IAAI,GAAG,IAAI;QACxBK,MAAM,CAAC+C,QAAQ,GAAG,EAAE;QAEpB,IAAI/C,MAAM,CAACL,IAAI,KAAK,EAAE,EAAE;UACtBiD,YAAY,CAAClD,GAAG,GAAG,IAAI;UACvBM,MAAM,CAACgD,OAAO,GAAG,EAAE;;UAEnB;UACA,IAAIhD,MAAM,CAACN,GAAG,KAAK,EAAE,EAAE;YACrBkD,YAAY,CAACC,KAAK,GAAG,IAAI;UAC3B;QACF;MACF;IACF;IAEA,IAAII,qBAAqB,GAAG,CAAC;IAC7B,IAAIC,qBAAqB,GAAG,CAAC;IAC7B,IAAIP,YAAY,CAAC7B,UAAU,EAAE;MAC3B8B,YAAY,CAAClD,GAAG,GAAG,IAAI;MACvBM,MAAM,CAACgD,OAAO,GAAG,EAAE;MACnB,IAAIhD,MAAM,CAACR,IAAI,KAAK,EAAE,EAAE;QACtByD,qBAAqB,GAAGN,YAAY,CAAC3B,iBAAiB,GAAGhB,MAAM,CAACN,GAAG,CAACgB,MAAM;MAC5E,CAAC,MAAM;QACLuC,qBAAqB,GAAGN,YAAY,CAAC3B,iBAAiB,GAAG2B,YAAY,CAACxB,mBAAmB,GAAG,CAAC,GAC3FX,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEkC,YAAY,CAACxB,mBAAmB,IAAInB,MAAM,CAACN,GAAG,CAACgB,MAAM,GAAGV,MAAM,CAACR,IAAI,CAACkB,MAAM,GAAG,CAAC,CAAC,CAAC;QAC9FwC,qBAAqB,GAAGP,YAAY,CAAC3B,iBAAiB,GAAGhB,MAAM,CAACN,GAAG,CAACgB,MAAM;MAC5E;IACF;;IAEA;IACA,IAAIV,MAAM,CAACN,GAAG,KAAK,EAAE,IAAIM,MAAM,CAACL,IAAI,EAAE;MACpC,OAAOK,MAAM;IACf;IAEA,MAAMmD,QAAQ,GAAG;MACfpB,aAAa,EAAEK,cAAc,EAAEL,aAAa,IAAI,CAAC;MACjDe,QAAQ,EAAEV,cAAc,EAAEU,QAAQ,IAAI,CAAC;MACvCE,OAAO,EAAEZ,cAAc,EAAEY,OAAO,IAAI,CAAC;MACrCD,QAAQ,EAAEX,cAAc,EAAEW,QAAQ,IAAI;IACxC,CAAC;IAED/C,MAAM,CAAC+B,aAAa,GAAGa,YAAY,CAACC,KAAK,GAAG,EAAE,GAAGzB,KAAK,CAAC+B,QAAQ,CAACpB,aAAa,CAAC;IAE9E,IAAI,CAACa,YAAY,CAAClD,GAAG,EAAE;MACrBM,MAAM,CAACgD,OAAO,GAAG5B,KAAK,CAACb,KAAK,CAACb,GAAG,GAAGM,MAAM,CAACN,GAAG,CAACgB,MAAM,GAAGyC,QAAQ,CAACH,OAAO,CAAC;IAC1E;IAEA,IAAI,CAACJ,YAAY,CAACjD,IAAI,EAAE;MACtBK,MAAM,CAAC+C,QAAQ,GAAG3B,KAAK,CAACb,KAAK,CAACZ,IAAI,GAAGK,MAAM,CAACL,IAAI,CAACe,MAAM,GAAGyC,QAAQ,CAACJ,QAAQ,GAAGG,qBAAqB,CAAC;IACtG;IAEA,IAAI,CAACN,YAAY,CAACpD,IAAI,EAAE;MACtB;MACAQ,MAAM,CAAC8C,QAAQ,GAAGvC,KAAK,CAACf,IAAI,KAAK,CAAC,GAAG,EAAE,GAAG4B,KAAK,CAACb,KAAK,CAACf,IAAI,GAAGQ,MAAM,CAACR,IAAI,CAACkB,MAAM,GAAGyC,QAAQ,CAACL,QAAQ,GAAGG,qBAAqB,CAAC;IAC9H;IAEA,OAAOjD,MAAM;EACf,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMoD,MAAM,GAAGA,CAACC,IAAI,EAAEvD,KAAK,EAAEC,MAAM,EAAE4C,YAAY,EAAEW,SAAS,KAAK;IAC/D;IACA,MAAMtD,MAAM,GAAG;MACb,GAAGqD,IAAI,CAACrD;IACV,CAAC;IAED,IAAIA,MAAM,CAACN,GAAG,KAAK,EAAE,EAAE;MACrB+C,QAAQ,GAAG,IAAI;IACjB;IAEA,MAAMc,OAAO,GACXvD,MAAM,CAACN,GAAG,KAAK,EAAE,IACjBM,MAAM,CAACR,IAAI,KAAK,EAAE,IAClBQ,MAAM,CAACL,IAAI,KAAK,EAAE,IAClBK,MAAM,CAAC4B,WAAW,KAAK,EAAE;;IAE3B;IACA,IAAI5B,MAAM,CAACwD,GAAG,KAAK,IAAI,IAAID,OAAO,EAAE;MAClCvD,MAAM,CAACP,KAAK,GAAG6C,MAAM,GAAG,GAAG;MAE3B,OAAO;QACL,GAAGe,IAAI;QACPrD;MACF,CAAC;IACH;IAEA,QAAQA,MAAM,CAACW,SAAS;MACtB,KAAK,GAAG;QACNX,MAAM,CAACP,KAAK,GAAG6C,MAAM,GAAG,GAAG;QAC3B;MACF,KAAK,KAAK;QACRtC,MAAM,CAACP,KAAK,GAAG6C,MAAM;QACrB;MACF;QACEtC,MAAM,CAACW,SAAS,GAAG,EAAE;;QAErB;QACAX,MAAM,CAACP,KAAK,GAAG6C,MAAM,GAAG,IAAI;IAChC;IAEA,IAAI,CAACG,QAAQ,EAAE;MACb,IAAIzC,MAAM,CAAC4B,WAAW,KAAK,EAAE,EAAE;QAC7B5B,MAAM,CAAC+B,aAAa,GAAG,EAAE;MAC3B,CAAC,MAAM,IAAI,CAACQ,oCAAoC,EAAE;QAChDvC,MAAM,CAAC+B,aAAa,GAAG,GAAG;MAC5B;MAEA,OAAO;QACL,GAAGsB,IAAI;QACPrD;MACF,CAAC;IACH;IAEA,MAAMyD,iBAAiB,GAAGrB,cAAc,EAAEsB,UAAU,IAAI,CAAC;IACzD,MAAMC,aAAa,GAAG,WAAW;IACjC3D,MAAM,CAAC4B,WAAW,GAAG5B,MAAM,CAAC4B,WAAW,CAAC3B,OAAO,CAC7C0D,aAAa,EAAE,GAAG,GAAG,EAAE,CAACrC,QAAQ,CAACmC,iBAAiB,EAAE,GAAG,CACzD,CAAC;;IAED;IACA,IAAI7D,WAAW,CAACC,IAAI,EAAEC,KAAK,EAAEC,MAAM,CAAC,EAAE;MACpC2C,WAAW,CAAC1C,MAAM,EAAE2C,YAAY,CAAC;MAEjC,IAAI,CAACN,iBAAiB,IAAIiB,SAAS,EAAE;QACnC,MAAM;UACJ9B,aAAa;UACbC;QACF,CAAC,GAAGF,mBAAmB,CAACzB,KAAK,EAAEC,MAAM,CAAC;QAEtC,IAAIyB,aAAa,IAAI1B,KAAK,GAAG2B,aAAa,EAAE;UAC1C,MAAMQ,WAAW,GAAGJ,wBAAwB,CAAC/B,KAAK,EAAE2B,aAAa,EAAE1B,MAAM,CAAC;UAC1EC,MAAM,CAAC+B,aAAa,IAAIS,UAAU,GAAGP,WAAW;QAClD,CAAC,MAAM;UACL;UACAjC,MAAM,CAAC+B,aAAa,IAAIS,UAAU;QACpC;MACF;IACF;IAEA,OAAO;MACL,GAAGa,IAAI;MACPrD;IACF,CAAC;EACH,CAAC;EAED,OAAO,CAAC;IACND,MAAM;IACN,GAAGc;EACL,CAAC,KAAK;IACJN,KAAK,GAAGR,MAAM,CAAC6D,MAAM,CAACtD,QAAQ,CAACT,IAAI,CAAC,EAAE;MACpC,GAAGN;IACL,CAAC,CAAC;IAEF,MAAMoD,YAAY,GAAG/B,eAAe,CAACC,MAAM,CAAC;IAE5C,IAAIgD,aAAa,GAAG,KAAK;IAEzB,OAAOxE,YAAY,CAAC;MAClB,GAAGwB,MAAM;MACTd,MAAM,EAAEA,MAAM,CAACkB,GAAG,CAAC,CAACoC,IAAI,EAAEvD,KAAK,KAAK;QAClC,MAAMwD,SAAS,GAAG,CAACjB,iBAAiB,IAAIwB,aAAa,IAAI,CAACR,IAAI,CAACrD,MAAM,CAACN,GAAG,IAAI2D,IAAI,CAACrD,MAAM,CAAC4B,WAAW;QACpG,MAAMkC,GAAG,GAAGV,MAAM,CAACC,IAAI,EAAEvD,KAAK,EAAEC,MAAM,EAAE4C,YAAY,EAAEW,SAAS,CAAC;QAEhE,IAAI,CAACjB,iBAAiB,IAAIgB,IAAI,CAACrD,MAAM,CAACN,GAAG,EAAE;UACzCmE,aAAa,GAAG,IAAI;QACtB;QAEA,OAAOC,GAAG;MACZ,CAAC;IACH,CAAC,CAAC;EACJ,CAAC;AACH,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa9B,cAAc;AAAA+B,MAAA,CAAAF,OAAA,GAAAA,OAAA,CAAAC,OAAA","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ export default alignTransform;
2
+ export type TypelessInfo = {
3
+ hasNoTypes: boolean;
4
+ maxNamedTagLength: import("./iterateJsdoc.js").Integer;
5
+ maxUnnamedTagLength: import("./iterateJsdoc.js").Integer;
6
+ };
7
+ export type Width = {
8
+ name: import("./iterateJsdoc.js").Integer;
9
+ start: import("./iterateJsdoc.js").Integer;
10
+ tag: import("./iterateJsdoc.js").Integer;
11
+ type: import("./iterateJsdoc.js").Integer;
12
+ };
13
+ /**
14
+ * @param {{
15
+ * customSpacings: import('../src/rules/checkLineAlignment.js').CustomSpacings,
16
+ * tags: string[],
17
+ * indent: string,
18
+ * preserveMainDescriptionPostDelimiter: boolean,
19
+ * wrapIndent: string,
20
+ * disableWrapIndent: boolean,
21
+ * }} cfg
22
+ * @returns {(
23
+ * block: import('comment-parser').Block
24
+ * ) => import('comment-parser').Block}
25
+ */
26
+ declare function alignTransform({ customSpacings, disableWrapIndent, indent, preserveMainDescriptionPostDelimiter, tags, wrapIndent, }: {
27
+ customSpacings: import("../src/rules/checkLineAlignment.js").CustomSpacings;
28
+ tags: string[];
29
+ indent: string;
30
+ preserveMainDescriptionPostDelimiter: boolean;
31
+ wrapIndent: string;
32
+ disableWrapIndent: boolean;
33
+ }): (block: import("comment-parser").Block) => import("comment-parser").Block;
34
+ //# sourceMappingURL=alignTransform.d.ts.map