@shivaedev/quality 0.23.0 → 0.25.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 (411) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +6 -2
  3. package/dist/baseline/compare.d.ts +2 -2
  4. package/dist/baseline/compare.d.ts.map +1 -1
  5. package/dist/baseline/compare.js +6 -4
  6. package/dist/baseline/compare.js.map +1 -1
  7. package/dist/baseline/format.d.ts +5 -5
  8. package/dist/baseline/format.d.ts.map +1 -1
  9. package/dist/baseline/format.js +23 -13
  10. package/dist/baseline/format.js.map +1 -1
  11. package/dist/baseline/legacy.d.ts +2 -2
  12. package/dist/baseline/legacy.d.ts.map +1 -1
  13. package/dist/baseline/legacy.js +4 -4
  14. package/dist/baseline/legacy.js.map +1 -1
  15. package/dist/baseline/rewrite.d.ts +1 -1
  16. package/dist/baseline/rewrite.d.ts.map +1 -1
  17. package/dist/baseline/rewrite.js +2 -2
  18. package/dist/baseline/rewrite.js.map +1 -1
  19. package/dist/baseline/update.d.ts +2 -2
  20. package/dist/baseline/update.d.ts.map +1 -1
  21. package/dist/baseline/update.js +27 -21
  22. package/dist/baseline/update.js.map +1 -1
  23. package/dist/cli/args.d.ts +2 -4
  24. package/dist/cli/args.d.ts.map +1 -1
  25. package/dist/cli/args.js +19 -18
  26. package/dist/cli/args.js.map +1 -1
  27. package/dist/cli/baseline.d.ts +1 -1
  28. package/dist/cli/baseline.d.ts.map +1 -1
  29. package/dist/cli/baseline.js +10 -6
  30. package/dist/cli/baseline.js.map +1 -1
  31. package/dist/cli/fix.d.ts +2 -2
  32. package/dist/cli/fix.d.ts.map +1 -1
  33. package/dist/cli/fix.js +35 -41
  34. package/dist/cli/fix.js.map +1 -1
  35. package/dist/cli/lint.d.ts +1 -2
  36. package/dist/cli/lint.d.ts.map +1 -1
  37. package/dist/cli/lint.js +1 -2
  38. package/dist/cli/lint.js.map +1 -1
  39. package/dist/cli/messages.d.ts +1 -1
  40. package/dist/cli/messages.d.ts.map +1 -1
  41. package/dist/cli/messages.js +2 -2
  42. package/dist/cli/migrate.d.ts.map +1 -1
  43. package/dist/cli/migrate.js +2 -2
  44. package/dist/cli/migrate.js.map +1 -1
  45. package/dist/cli/migrateExceptions.js +1 -1
  46. package/dist/cli/migrateExceptions.js.map +1 -1
  47. package/dist/cli/program.js +1 -1
  48. package/dist/cli/program.js.map +1 -1
  49. package/dist/cli/{run-main.d.ts → runMain.d.ts} +1 -1
  50. package/dist/cli/runMain.d.ts.map +1 -0
  51. package/dist/cli/{run-main.js → runMain.js} +3 -3
  52. package/dist/cli/runMain.js.map +1 -0
  53. package/dist/cli/shrink.d.ts +2 -2
  54. package/dist/cli/shrink.d.ts.map +1 -1
  55. package/dist/cli/shrink.js +9 -3
  56. package/dist/cli/shrink.js.map +1 -1
  57. package/dist/cli.js +1 -1
  58. package/dist/cli.js.map +1 -1
  59. package/dist/config/decode.d.ts +1 -1
  60. package/dist/config/decode.d.ts.map +1 -1
  61. package/dist/config/decode.js +13 -9
  62. package/dist/config/decode.js.map +1 -1
  63. package/dist/config/load.d.ts.map +1 -1
  64. package/dist/config/load.js +26 -20
  65. package/dist/config/load.js.map +1 -1
  66. package/dist/config/resolve.d.ts +23 -3
  67. package/dist/config/resolve.d.ts.map +1 -1
  68. package/dist/config/resolve.js +19 -11
  69. package/dist/config/resolve.js.map +1 -1
  70. package/dist/config.d.ts +3 -3
  71. package/dist/config.d.ts.map +1 -1
  72. package/dist/config.js +3 -1
  73. package/dist/config.js.map +1 -1
  74. package/dist/decoded.d.ts +3 -3
  75. package/dist/decoded.d.ts.map +1 -1
  76. package/dist/decoded.js +8 -6
  77. package/dist/decoded.js.map +1 -1
  78. package/dist/engine/{baseline-file.d.ts → baselineFile.d.ts} +2 -2
  79. package/dist/engine/baselineFile.d.ts.map +1 -0
  80. package/dist/engine/{baseline-file.js → baselineFile.js} +5 -3
  81. package/dist/engine/baselineFile.js.map +1 -0
  82. package/dist/engine/evaluate.d.ts +2 -3
  83. package/dist/engine/evaluate.d.ts.map +1 -1
  84. package/dist/engine/evaluate.js +6 -5
  85. package/dist/engine/evaluate.js.map +1 -1
  86. package/dist/engine/{run-rules.d.ts → runRules.d.ts} +2 -2
  87. package/dist/engine/runRules.d.ts.map +1 -0
  88. package/dist/engine/runRules.js +44 -0
  89. package/dist/engine/runRules.js.map +1 -0
  90. package/dist/engine/session.d.ts +1 -1
  91. package/dist/engine/session.d.ts.map +1 -1
  92. package/dist/engine/session.js +10 -6
  93. package/dist/engine/session.js.map +1 -1
  94. package/dist/engine/violation.d.ts +8 -8
  95. package/dist/engine/violation.d.ts.map +1 -1
  96. package/dist/engine/violation.js +23 -11
  97. package/dist/engine/violation.js.map +1 -1
  98. package/dist/exceptions/registry.d.ts +2 -2
  99. package/dist/exceptions/registry.d.ts.map +1 -1
  100. package/dist/exceptions/registry.js +10 -6
  101. package/dist/exceptions/registry.js.map +1 -1
  102. package/dist/git/base.d.ts +1 -2
  103. package/dist/git/base.d.ts.map +1 -1
  104. package/dist/git/base.js +22 -10
  105. package/dist/git/base.js.map +1 -1
  106. package/dist/git/command.d.ts +2 -2
  107. package/dist/git/command.d.ts.map +1 -1
  108. package/dist/git/command.js +13 -9
  109. package/dist/git/command.js.map +1 -1
  110. package/dist/git/history.d.ts +1 -1
  111. package/dist/git/history.d.ts.map +1 -1
  112. package/dist/git/history.js +5 -3
  113. package/dist/git/history.js.map +1 -1
  114. package/dist/hooks/preCommit.js +1 -1
  115. package/dist/hooks/preCommit.js.map +1 -1
  116. package/dist/imports/generated.js +1 -1
  117. package/dist/imports/generated.js.map +1 -1
  118. package/dist/imports/{pnpm-workspace.d.ts → pnpmWorkspacePatterns.d.ts} +1 -1
  119. package/dist/imports/pnpmWorkspacePatterns.d.ts.map +1 -0
  120. package/dist/imports/{pnpm-workspace.js → pnpmWorkspacePatterns.js} +1 -1
  121. package/dist/imports/pnpmWorkspacePatterns.js.map +1 -0
  122. package/dist/imports/resolve.js +1 -1
  123. package/dist/imports/resolve.js.map +1 -1
  124. package/dist/imports/workspace.js +1 -1
  125. package/dist/imports/workspace.js.map +1 -1
  126. package/dist/inventory/collect.d.ts +1 -1
  127. package/dist/inventory/collect.d.ts.map +1 -1
  128. package/dist/inventory/collect.js +8 -6
  129. package/dist/inventory/collect.js.map +1 -1
  130. package/dist/inventory/filesystem.d.ts +1 -1
  131. package/dist/inventory/filesystem.d.ts.map +1 -1
  132. package/dist/inventory/filesystem.js +11 -7
  133. package/dist/inventory/filesystem.js.map +1 -1
  134. package/dist/inventory/ignoreScope.d.ts +17 -0
  135. package/dist/inventory/ignoreScope.d.ts.map +1 -0
  136. package/dist/inventory/{ignore-scope.js → ignoreScope.js} +19 -10
  137. package/dist/inventory/ignoreScope.js.map +1 -0
  138. package/dist/inventory/walk.d.ts +1 -1
  139. package/dist/inventory/walk.d.ts.map +1 -1
  140. package/dist/inventory/walk.js +1 -1
  141. package/dist/inventory/walk.js.map +1 -1
  142. package/dist/manifests/sorted.d.ts +1 -1
  143. package/dist/manifests/sorted.d.ts.map +1 -1
  144. package/dist/manifests/sorted.js +15 -17
  145. package/dist/manifests/sorted.js.map +1 -1
  146. package/dist/report/plural.d.ts +1 -1
  147. package/dist/report/plural.d.ts.map +1 -1
  148. package/dist/report/plural.js +3 -1
  149. package/dist/report/plural.js.map +1 -1
  150. package/dist/report/render.d.ts +1 -3
  151. package/dist/report/render.d.ts.map +1 -1
  152. package/dist/report/render.js +30 -32
  153. package/dist/report/render.js.map +1 -1
  154. package/dist/report/stale.d.ts +1 -1
  155. package/dist/report/stale.d.ts.map +1 -1
  156. package/dist/report/stale.js +18 -8
  157. package/dist/report/stale.js.map +1 -1
  158. package/dist/rule.d.ts +14 -14
  159. package/dist/rule.d.ts.map +1 -1
  160. package/dist/rule.js +11 -9
  161. package/dist/rule.js.map +1 -1
  162. package/dist/rules/{built-in.d.ts → builtIn.d.ts} +3 -3
  163. package/dist/rules/builtIn.d.ts.map +1 -0
  164. package/dist/rules/{built-in.js → builtIn.js} +17 -13
  165. package/dist/rules/builtIn.js.map +1 -0
  166. package/dist/rules/comments/{pattern-rule.d.ts → definePattern.d.ts} +2 -2
  167. package/dist/rules/comments/definePattern.d.ts.map +1 -0
  168. package/dist/rules/comments/definePattern.js +18 -0
  169. package/dist/rules/comments/definePattern.js.map +1 -0
  170. package/dist/rules/comments/kinds.d.ts +4 -4
  171. package/dist/rules/comments/kinds.d.ts.map +1 -1
  172. package/dist/rules/comments/kinds.js +16 -8
  173. package/dist/rules/comments/kinds.js.map +1 -1
  174. package/dist/rules/comments/{max-per-file.d.ts → maxPerFile.d.ts} +1 -1
  175. package/dist/rules/comments/maxPerFile.d.ts.map +1 -0
  176. package/dist/rules/comments/{max-per-file.js → maxPerFile.js} +14 -10
  177. package/dist/rules/comments/maxPerFile.js.map +1 -0
  178. package/dist/rules/comments/{no-banner.d.ts → noBanner.d.ts} +1 -1
  179. package/dist/rules/comments/noBanner.d.ts.map +1 -0
  180. package/dist/rules/comments/{no-banner.js → noBanner.js} +2 -2
  181. package/dist/rules/comments/noBanner.js.map +1 -0
  182. package/dist/rules/comments/{no-environment-pragma.d.ts → noEnvironmentPragma.d.ts} +1 -1
  183. package/dist/rules/comments/noEnvironmentPragma.d.ts.map +1 -0
  184. package/dist/rules/comments/{no-environment-pragma.js → noEnvironmentPragma.js} +2 -2
  185. package/dist/rules/comments/noEnvironmentPragma.js.map +1 -0
  186. package/dist/rules/comments/{no-jsdoc.d.ts → noJsdoc.d.ts} +1 -1
  187. package/dist/rules/comments/noJsdoc.d.ts.map +1 -0
  188. package/dist/rules/comments/{no-jsdoc.js → noJsdoc.js} +1 -1
  189. package/dist/rules/comments/noJsdoc.js.map +1 -0
  190. package/dist/rules/comments/{no-line-reference.d.ts → noLineReference.d.ts} +1 -1
  191. package/dist/rules/comments/noLineReference.d.ts.map +1 -0
  192. package/dist/rules/comments/{no-line-reference.js → noLineReference.js} +2 -2
  193. package/dist/rules/comments/noLineReference.js.map +1 -0
  194. package/dist/rules/comments/{no-pr-reference.d.ts → noPrReference.d.ts} +1 -1
  195. package/dist/rules/comments/noPrReference.d.ts.map +1 -0
  196. package/dist/rules/comments/{no-pr-reference.js → noPrReference.js} +2 -2
  197. package/dist/rules/comments/noPrReference.js.map +1 -0
  198. package/dist/rules/comments/{no-todo.d.ts → noTodo.d.ts} +1 -1
  199. package/dist/rules/comments/noTodo.d.ts.map +1 -0
  200. package/dist/rules/comments/{no-todo.js → noTodo.js} +2 -2
  201. package/dist/rules/comments/noTodo.js.map +1 -0
  202. package/dist/rules/comments/scan.d.ts +3 -3
  203. package/dist/rules/comments/scan.d.ts.map +1 -1
  204. package/dist/rules/comments/scan.js +23 -19
  205. package/dist/rules/comments/scan.js.map +1 -1
  206. package/dist/rules/{manifests-sorted.d.ts → manifestsSorted.d.ts} +1 -1
  207. package/dist/rules/manifestsSorted.d.ts.map +1 -0
  208. package/dist/rules/{manifests-sorted.js → manifestsSorted.js} +1 -1
  209. package/dist/rules/manifestsSorted.js.map +1 -0
  210. package/dist/rules/manifestsSourceFirst.d.ts +2 -0
  211. package/dist/rules/manifestsSourceFirst.d.ts.map +1 -0
  212. package/dist/rules/manifestsSourceFirst.js +43 -0
  213. package/dist/rules/manifestsSourceFirst.js.map +1 -0
  214. package/dist/rules/{max-lines.d.ts → maxLines.d.ts} +1 -1
  215. package/dist/rules/maxLines.d.ts.map +1 -0
  216. package/dist/rules/{max-lines.js → maxLines.js} +13 -11
  217. package/dist/rules/maxLines.js.map +1 -0
  218. package/dist/rules/stories/origins.d.ts +10 -0
  219. package/dist/rules/stories/origins.d.ts.map +1 -0
  220. package/dist/rules/stories/origins.js +129 -0
  221. package/dist/rules/stories/origins.js.map +1 -0
  222. package/dist/rules/stories/prerequisites.d.ts +4 -0
  223. package/dist/rules/stories/prerequisites.d.ts.map +1 -0
  224. package/dist/rules/stories/prerequisites.js +32 -0
  225. package/dist/rules/stories/prerequisites.js.map +1 -0
  226. package/dist/rules/stories/program.d.ts +5 -0
  227. package/dist/rules/stories/program.d.ts.map +1 -0
  228. package/dist/rules/stories/program.js +22 -0
  229. package/dist/rules/stories/program.js.map +1 -0
  230. package/dist/rules/stories/specs.d.ts +2 -0
  231. package/dist/rules/stories/specs.d.ts.map +1 -0
  232. package/dist/rules/stories/specs.js +80 -0
  233. package/dist/rules/stories/specs.js.map +1 -0
  234. package/dist/rules/suppressions/biome/configs.d.ts +1 -1
  235. package/dist/rules/suppressions/biome/configs.d.ts.map +1 -1
  236. package/dist/rules/suppressions/biome/configs.js +23 -17
  237. package/dist/rules/suppressions/biome/configs.js.map +1 -1
  238. package/dist/rules/suppressions/biome/declarations.d.ts +4 -4
  239. package/dist/rules/suppressions/biome/declarations.d.ts.map +1 -1
  240. package/dist/rules/suppressions/biome/declarations.js +15 -7
  241. package/dist/rules/suppressions/biome/declarations.js.map +1 -1
  242. package/dist/rules/suppressions/biome/json.d.ts +6 -6
  243. package/dist/rules/suppressions/biome/json.d.ts.map +1 -1
  244. package/dist/rules/suppressions/biome/json.js +27 -13
  245. package/dist/rules/suppressions/biome/json.js.map +1 -1
  246. package/dist/rules/suppressions/biome/resolve.d.ts +1 -1
  247. package/dist/rules/suppressions/biome/resolve.d.ts.map +1 -1
  248. package/dist/rules/suppressions/biome/resolve.js +23 -17
  249. package/dist/rules/suppressions/biome/resolve.js.map +1 -1
  250. package/dist/rules/suppressions/biome/weakenings.d.ts +1 -1
  251. package/dist/rules/suppressions/biome/weakenings.d.ts.map +1 -1
  252. package/dist/rules/suppressions/biome/weakenings.js +78 -52
  253. package/dist/rules/suppressions/biome/weakenings.js.map +1 -1
  254. package/dist/rules/suppressions/{biome-overrides.d.ts → biomeOverrides.d.ts} +1 -1
  255. package/dist/rules/suppressions/biomeOverrides.d.ts.map +1 -0
  256. package/dist/rules/suppressions/biomeOverrides.js +75 -0
  257. package/dist/rules/suppressions/biomeOverrides.js.map +1 -0
  258. package/dist/rules/suppressions/directives.d.ts +1 -1
  259. package/dist/rules/suppressions/directives.d.ts.map +1 -1
  260. package/dist/rules/suppressions/directives.js +5 -3
  261. package/dist/rules/suppressions/directives.js.map +1 -1
  262. package/dist/rules/suppressions/{no-double-cast.d.ts → noDoubleCast.d.ts} +1 -1
  263. package/dist/rules/suppressions/noDoubleCast.d.ts.map +1 -0
  264. package/dist/rules/suppressions/{no-double-cast.js → noDoubleCast.js} +15 -11
  265. package/dist/rules/suppressions/noDoubleCast.js.map +1 -0
  266. package/dist/rules/suppressions/noIgnoreDeprecations.js +1 -1
  267. package/dist/rules/suppressions/noIgnoreDeprecations.js.map +1 -1
  268. package/dist/rules/suppressions/{no-inline.d.ts → noInline.d.ts} +1 -1
  269. package/dist/rules/suppressions/noInline.d.ts.map +1 -0
  270. package/dist/rules/suppressions/{no-inline.js → noInline.js} +10 -8
  271. package/dist/rules/suppressions/noInline.js.map +1 -0
  272. package/dist/rules/suppressions/stylesheetComments.d.ts +4 -0
  273. package/dist/rules/suppressions/stylesheetComments.d.ts.map +1 -0
  274. package/dist/rules/suppressions/{stylesheet-comments.js → stylesheetComments.js} +12 -6
  275. package/dist/rules/suppressions/stylesheetComments.js.map +1 -0
  276. package/dist/rules/syntax.d.ts +1 -1
  277. package/dist/rules/syntax.d.ts.map +1 -1
  278. package/dist/rules/syntax.js +2 -2
  279. package/dist/rules/syntax.js.map +1 -1
  280. package/dist/{standard-schema.d.ts → standardSchema.d.ts} +7 -7
  281. package/dist/standardSchema.d.ts.map +1 -0
  282. package/dist/{standard-schema.js → standardSchema.js} +1 -1
  283. package/dist/standardSchema.js.map +1 -0
  284. package/docs/debt-and-hooks.md +2 -2
  285. package/docs/modules.md +27 -24
  286. package/docs/roadmap.md +1 -1
  287. package/docs/rules.md +2 -0
  288. package/package.json +2 -3
  289. package/src/baseline/compare.ts +6 -4
  290. package/src/baseline/format.ts +17 -10
  291. package/src/baseline/legacy.ts +4 -4
  292. package/src/baseline/rewrite.ts +2 -2
  293. package/src/baseline/update.ts +23 -19
  294. package/src/cli/args.ts +20 -21
  295. package/src/cli/baseline.ts +36 -35
  296. package/src/cli/fix.ts +40 -43
  297. package/src/cli/lint.ts +17 -21
  298. package/src/cli/messages.ts +2 -2
  299. package/src/cli/migrate.ts +21 -22
  300. package/src/cli/migrateExceptions.ts +1 -1
  301. package/src/cli/program.ts +1 -1
  302. package/src/cli/{run-main.ts → runMain.ts} +2 -2
  303. package/src/cli/shrink.ts +11 -8
  304. package/src/cli.ts +1 -1
  305. package/src/config/decode.ts +15 -10
  306. package/src/config/load.ts +44 -37
  307. package/src/config/resolve.ts +34 -29
  308. package/src/config.ts +5 -3
  309. package/src/decoded.ts +6 -5
  310. package/src/engine/baselineFile.ts +29 -0
  311. package/src/engine/evaluate.ts +7 -8
  312. package/src/engine/{run-rules.ts → runRules.ts} +22 -14
  313. package/src/engine/session.ts +34 -27
  314. package/src/engine/violation.ts +24 -13
  315. package/src/exceptions/registry.ts +10 -8
  316. package/src/git/base.ts +45 -37
  317. package/src/git/command.ts +6 -4
  318. package/src/git/history.ts +5 -4
  319. package/src/hooks/preCommit.ts +1 -1
  320. package/src/imports/generated.ts +1 -1
  321. package/src/imports/resolve.ts +1 -1
  322. package/src/imports/workspace.ts +1 -1
  323. package/src/inventory/collect.ts +40 -35
  324. package/src/inventory/filesystem.ts +38 -30
  325. package/src/inventory/{ignore-scope.ts → ignoreScope.ts} +20 -10
  326. package/src/inventory/walk.ts +1 -1
  327. package/src/manifests/sorted.ts +19 -19
  328. package/src/report/plural.ts +3 -1
  329. package/src/report/render.ts +24 -39
  330. package/src/report/stale.ts +33 -25
  331. package/src/rule.ts +26 -20
  332. package/src/rules/{built-in.ts → builtIn.ts} +16 -12
  333. package/src/rules/comments/{pattern-rule.ts → definePattern.ts} +5 -4
  334. package/src/rules/comments/kinds.ts +16 -9
  335. package/src/rules/comments/{max-per-file.ts → maxPerFile.ts} +15 -11
  336. package/src/rules/comments/{no-banner.ts → noBanner.ts} +1 -1
  337. package/src/rules/comments/{no-environment-pragma.ts → noEnvironmentPragma.ts} +1 -1
  338. package/src/rules/comments/{no-line-reference.ts → noLineReference.ts} +1 -1
  339. package/src/rules/comments/{no-pr-reference.ts → noPrReference.ts} +1 -1
  340. package/src/rules/comments/{no-todo.ts → noTodo.ts} +1 -1
  341. package/src/rules/comments/scan.ts +18 -15
  342. package/src/rules/manifestsSourceFirst.ts +48 -0
  343. package/src/rules/{max-lines.ts → maxLines.ts} +3 -2
  344. package/src/rules/stories/origins.ts +147 -0
  345. package/src/rules/stories/prerequisites.ts +37 -0
  346. package/src/rules/stories/program.ts +29 -0
  347. package/src/rules/stories/specs.ts +93 -0
  348. package/src/rules/suppressions/biome/configs.ts +23 -17
  349. package/src/rules/suppressions/biome/declarations.ts +15 -10
  350. package/src/rules/suppressions/biome/json.ts +25 -13
  351. package/src/rules/suppressions/biome/resolve.ts +23 -18
  352. package/src/rules/suppressions/biome/weakenings.ts +60 -41
  353. package/src/rules/suppressions/{biome-overrides.ts → biomeOverrides.ts} +32 -22
  354. package/src/rules/suppressions/directives.ts +5 -4
  355. package/src/rules/suppressions/{no-double-cast.ts → noDoubleCast.ts} +14 -10
  356. package/src/rules/suppressions/noIgnoreDeprecations.ts +1 -1
  357. package/src/rules/suppressions/{no-inline.ts → noInline.ts} +6 -5
  358. package/src/rules/suppressions/{stylesheet-comments.ts → stylesheetComments.ts} +11 -6
  359. package/src/rules/syntax.ts +2 -2
  360. package/src/{standard-schema.ts → standardSchema.ts} +4 -4
  361. package/dist/cli/run-main.d.ts.map +0 -1
  362. package/dist/cli/run-main.js.map +0 -1
  363. package/dist/engine/baseline-file.d.ts.map +0 -1
  364. package/dist/engine/baseline-file.js.map +0 -1
  365. package/dist/engine/run-rules.d.ts.map +0 -1
  366. package/dist/engine/run-rules.js +0 -34
  367. package/dist/engine/run-rules.js.map +0 -1
  368. package/dist/imports/pnpm-workspace.d.ts.map +0 -1
  369. package/dist/imports/pnpm-workspace.js.map +0 -1
  370. package/dist/inventory/ignore-scope.d.ts +0 -17
  371. package/dist/inventory/ignore-scope.d.ts.map +0 -1
  372. package/dist/inventory/ignore-scope.js.map +0 -1
  373. package/dist/rules/built-in.d.ts.map +0 -1
  374. package/dist/rules/built-in.js.map +0 -1
  375. package/dist/rules/comments/max-per-file.d.ts.map +0 -1
  376. package/dist/rules/comments/max-per-file.js.map +0 -1
  377. package/dist/rules/comments/no-banner.d.ts.map +0 -1
  378. package/dist/rules/comments/no-banner.js.map +0 -1
  379. package/dist/rules/comments/no-environment-pragma.d.ts.map +0 -1
  380. package/dist/rules/comments/no-environment-pragma.js.map +0 -1
  381. package/dist/rules/comments/no-jsdoc.d.ts.map +0 -1
  382. package/dist/rules/comments/no-jsdoc.js.map +0 -1
  383. package/dist/rules/comments/no-line-reference.d.ts.map +0 -1
  384. package/dist/rules/comments/no-line-reference.js.map +0 -1
  385. package/dist/rules/comments/no-pr-reference.d.ts.map +0 -1
  386. package/dist/rules/comments/no-pr-reference.js.map +0 -1
  387. package/dist/rules/comments/no-todo.d.ts.map +0 -1
  388. package/dist/rules/comments/no-todo.js.map +0 -1
  389. package/dist/rules/comments/pattern-rule.d.ts.map +0 -1
  390. package/dist/rules/comments/pattern-rule.js +0 -16
  391. package/dist/rules/comments/pattern-rule.js.map +0 -1
  392. package/dist/rules/manifests-sorted.d.ts.map +0 -1
  393. package/dist/rules/manifests-sorted.js.map +0 -1
  394. package/dist/rules/max-lines.d.ts.map +0 -1
  395. package/dist/rules/max-lines.js.map +0 -1
  396. package/dist/rules/suppressions/biome-overrides.d.ts.map +0 -1
  397. package/dist/rules/suppressions/biome-overrides.js +0 -63
  398. package/dist/rules/suppressions/biome-overrides.js.map +0 -1
  399. package/dist/rules/suppressions/no-double-cast.d.ts.map +0 -1
  400. package/dist/rules/suppressions/no-double-cast.js.map +0 -1
  401. package/dist/rules/suppressions/no-inline.d.ts.map +0 -1
  402. package/dist/rules/suppressions/no-inline.js.map +0 -1
  403. package/dist/rules/suppressions/stylesheet-comments.d.ts +0 -4
  404. package/dist/rules/suppressions/stylesheet-comments.d.ts.map +0 -1
  405. package/dist/rules/suppressions/stylesheet-comments.js.map +0 -1
  406. package/dist/standard-schema.d.ts.map +0 -1
  407. package/dist/standard-schema.js.map +0 -1
  408. package/src/engine/baseline-file.ts +0 -27
  409. /package/src/imports/{pnpm-workspace.ts → pnpmWorkspacePatterns.ts} +0 -0
  410. /package/src/rules/comments/{no-jsdoc.ts → noJsdoc.ts} +0 -0
  411. /package/src/rules/{manifests-sorted.ts → manifestsSorted.ts} +0 -0
@@ -16,7 +16,7 @@ export declare const builtInRules: readonly [import("../rule.ts").Rule<"structur
16
16
  readonly fences?: readonly import("../imports/fences/model.ts").Fence[];
17
17
  }>, import("../rule.ts").Rule<"imports/runtime", undefined>, import("../rule.ts").Rule<"imports/resolvable", {
18
18
  readonly generated?: readonly string[];
19
- }>, import("../rule.ts").Rule<"imports/manifest", undefined>, import("../rule.ts").Rule<"imports/aliased", undefined>, import("../rule.ts").Rule<"imports/no-test-code", undefined>, import("../rule.ts").Rule<"manifests/sorted", undefined>, import("../rule.ts").Rule<"files/named-after-export", {
19
+ }>, import("../rule.ts").Rule<"imports/manifest", undefined>, import("../rule.ts").Rule<"imports/aliased", undefined>, import("../rule.ts").Rule<"imports/no-test-code", undefined>, import("../rule.ts").Rule<"manifests/sorted", undefined>, import("../rule.ts").Rule<"manifests/source-first", undefined>, import("../rule.ts").Rule<"files/named-after-export", {
20
20
  readonly toolOwned?: readonly string[];
21
21
  }>, import("../rule.ts").Rule<"files/folder-names", {
22
22
  readonly content?: readonly string[];
@@ -28,5 +28,5 @@ export declare const builtInRules: readonly [import("../rule.ts").Rule<"structur
28
28
  readonly suites?: readonly string[];
29
29
  }>, import("../rule.ts").Rule<"tests/colocated", {
30
30
  readonly suites?: readonly string[];
31
- }>, import("../rule.ts").Rule<"tests/story-setup", undefined>];
32
- //# sourceMappingURL=built-in.d.ts.map
31
+ }>, import("../rule.ts").Rule<"tests/story-setup", undefined>, import("../rule.ts").Rule<"tests/story-specs", undefined>];
32
+ //# sourceMappingURL=builtIn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtIn.d.ts","sourceRoot":"","sources":["../../src/rules/builtIn.ts"],"names":[],"mappings":"AAkCA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yHAkCf,CAAC"}
@@ -1,10 +1,10 @@
1
- import { maxPerFile } from "#rules/comments/max-per-file.ts";
2
- import { noBanner } from "#rules/comments/no-banner.ts";
3
- import { noEnvironmentPragma } from "#rules/comments/no-environment-pragma.ts";
4
- import { noJsdoc } from "#rules/comments/no-jsdoc.ts";
5
- import { noLineReference } from "#rules/comments/no-line-reference.ts";
6
- import { noPrReference } from "#rules/comments/no-pr-reference.ts";
7
- import { noTodo } from "#rules/comments/no-todo.ts";
1
+ import { maxPerFile } from "#rules/comments/maxPerFile.ts";
2
+ import { noBanner } from "#rules/comments/noBanner.ts";
3
+ import { noEnvironmentPragma } from "#rules/comments/noEnvironmentPragma.ts";
4
+ import { noJsdoc } from "#rules/comments/noJsdoc.ts";
5
+ import { noLineReference } from "#rules/comments/noLineReference.ts";
6
+ import { noPrReference } from "#rules/comments/noPrReference.ts";
7
+ import { noTodo } from "#rules/comments/noTodo.ts";
8
8
  import { distinctCase } from "#rules/files/distinctCase.ts";
9
9
  import { folderNames } from "#rules/files/folderNames.ts";
10
10
  import { namedAfterExport } from "#rules/files/namedAfterExport.ts";
@@ -17,17 +17,19 @@ import { noTestCode } from "#rules/imports/noTestCode.ts";
17
17
  import { importsResolvable } from "#rules/imports/resolvable.ts";
18
18
  import { importsRuntime } from "#rules/imports/runtime.ts";
19
19
  import { storySetup } from "#rules/stories/setup.ts";
20
- import { biomeOverrides } from "#rules/suppressions/biome-overrides.ts";
20
+ import { storySpecs } from "#rules/stories/specs.ts";
21
+ import { biomeOverrides } from "#rules/suppressions/biomeOverrides.ts";
21
22
  import { biomeRecommended } from "#rules/suppressions/biomeRecommended.ts";
22
- import { noDoubleCast } from "#rules/suppressions/no-double-cast.ts";
23
- import { noInline } from "#rules/suppressions/no-inline.ts";
23
+ import { noDoubleCast } from "#rules/suppressions/noDoubleCast.ts";
24
24
  import { noIgnoreDeprecations } from "#rules/suppressions/noIgnoreDeprecations.ts";
25
+ import { noInline } from "#rules/suppressions/noInline.ts";
25
26
  import { testsColocated } from "#rules/test-names/colocated.ts";
26
27
  import { testsFollow } from "#rules/test-names/follow.ts";
27
28
  import { biome } from "./biome.js";
28
- import { manifestsSorted } from "./manifests-sorted.js";
29
- import { maxLines } from "./max-lines.js";
29
+ import { manifestsSorted } from "./manifestsSorted.js";
30
+ import { manifestsSourceFirst } from "./manifestsSourceFirst.js";
30
31
  import { maxDepth } from "./maxDepth.js";
32
+ import { maxLines } from "./maxLines.js";
31
33
  import { noBarrel } from "./noBarrel.js";
32
34
  export const builtInRules = [
33
35
  maxLines,
@@ -54,6 +56,7 @@ export const builtInRules = [
54
56
  importsAliased,
55
57
  noTestCode,
56
58
  manifestsSorted,
59
+ manifestsSourceFirst,
57
60
  namedAfterExport,
58
61
  folderNames,
59
62
  distinctCase,
@@ -61,5 +64,6 @@ export const builtInRules = [
61
64
  testsFollow,
62
65
  testsColocated,
63
66
  storySetup,
67
+ storySpecs,
64
68
  ];
65
- //# sourceMappingURL=built-in.js.map
69
+ //# sourceMappingURL=builtIn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtIn.js","sourceRoot":"","sources":["../../src/rules/builtIn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,CAAC,MAAM,YAAY,GAAG;IAC3B,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,eAAe;IACf,aAAa;IACb,QAAQ;IACR,MAAM;IACN,mBAAmB;IACnB,UAAU;IACV,QAAQ;IACR,YAAY;IACZ,oBAAoB;IACpB,cAAc;IACd,gBAAgB;IAChB,KAAK;IACL,YAAY;IACZ,YAAY;IACZ,cAAc;IACd,iBAAiB;IACjB,eAAe;IACf,cAAc;IACd,UAAU;IACV,eAAe;IACf,oBAAoB;IACpB,gBAAgB;IAChB,WAAW;IACX,YAAY;IACZ,UAAU;IACV,WAAW;IACX,cAAc;IACd,UAAU;IACV,UAAU;CACD,CAAC"}
@@ -5,6 +5,6 @@ interface PatternRule<Id extends string> {
5
5
  readonly message: (match: string) => string;
6
6
  readonly patterns: readonly RegExp[];
7
7
  }
8
- export declare const definePatternRule: <const Id extends string>({ description, id, message, patterns }: PatternRule<Id>) => Rule<Id, undefined>;
8
+ export declare function definePatternRule<const Id extends string>({ description, id, message, patterns }: PatternRule<Id>): Rule<Id, undefined>;
9
9
  export {};
10
- //# sourceMappingURL=pattern-rule.d.ts.map
10
+ //# sourceMappingURL=definePattern.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definePattern.d.ts","sourceRoot":"","sources":["../../../src/rules/comments/definePattern.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,IAAI,EAAE,MAAM,UAAU,CAAC;AAI/D,UAAU,WAAW,CAAC,EAAE,SAAS,MAAM;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;IAChB,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAOD,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAYvI"}
@@ -0,0 +1,18 @@
1
+ import { defineRule } from "#rule.ts";
2
+ import { isDirective, textOf } from "./kinds.js";
3
+ import { commentsOf } from "./scan.js";
4
+ function firstMatch(comment, patterns) {
5
+ const text = textOf(comment);
6
+ return patterns.map((pattern) => pattern.exec(text)?.[0]).find((match) => match !== undefined);
7
+ }
8
+ export function definePatternRule({ description, id, message, patterns }) {
9
+ return defineRule({
10
+ check: ({ sources }) => sources.flatMap((file) => commentsOf(file).flatMap((comment) => {
11
+ const match = isDirective(comment) ? undefined : firstMatch(comment, patterns);
12
+ return match === undefined ? [] : [{ file: file.path, line: comment.line, message: message(match) }];
13
+ })),
14
+ description,
15
+ id,
16
+ });
17
+ }
18
+ //# sourceMappingURL=definePattern.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definePattern.js","sourceRoot":"","sources":["../../../src/rules/comments/definePattern.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA2B,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,UAAU,EAAsB,MAAM,WAAW,CAAC;AAS3D,SAAS,UAAU,CAAC,OAAsB,EAAE,QAA2B;IACtE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,iBAAiB,CAA0B,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAmB;IACjH,OAAO,UAAU,CAAC;QACjB,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACtB,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACxB,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAsB,EAAE;YACxD,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC/E,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACtG,CAAC,CAAC,CACF;QACF,WAAW;QACX,EAAE;KACF,CAAC,CAAC;AACJ,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { Schema } from "effect";
2
2
  import type { SourceComment } from "./scan.ts";
3
3
  export declare const Pragmas: Schema.withDecodingDefaultKey<Schema.$Array<Schema.String>, never>;
4
- export declare const textOf: (comment: SourceComment) => string;
5
- export declare const isJsdoc: (comment: SourceComment) => boolean;
6
- export declare const isPragma: (comment: SourceComment, pragmas: readonly string[]) => boolean;
7
- export declare const isDirective: (comment: SourceComment) => boolean;
4
+ export declare function textOf(comment: SourceComment): string;
5
+ export declare function isJsdoc(comment: SourceComment): boolean;
6
+ export declare function isPragma(comment: SourceComment, pragmas: readonly string[]): boolean;
7
+ export declare function isDirective(comment: SourceComment): boolean;
8
8
  //# sourceMappingURL=kinds.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"kinds.d.ts","sourceRoot":"","sources":["../../../src/rules/comments/kinds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,eAAO,MAAM,OAAO,oEAAyG,CAAC;AAkB9H,eAAO,MAAM,MAAM,YAAa,aAAa,KAAG,MAAiC,CAAC;AAElF,eAAO,MAAM,OAAO,YAAa,aAAa,KAAG,OAAgG,CAAC;AAElJ,eAAO,MAAM,QAAQ,YAAa,aAAa,WAAW,SAAS,MAAM,EAAE,KAAG,OAG7E,CAAC;AAEF,eAAO,MAAM,WAAW,YAAa,aAAa,KAAG,OAGpD,CAAC"}
1
+ {"version":3,"file":"kinds.d.ts","sourceRoot":"","sources":["../../../src/rules/comments/kinds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,eAAO,MAAM,OAAO,oEAAyG,CAAC;AAqB9H,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAErD;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAEvD;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAGpF;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAG3D"}
@@ -10,16 +10,24 @@ const DIRECTIVES = [
10
10
  /^(?:c8|v8|istanbul) ignore/u,
11
11
  ];
12
12
  const TRIPLE_SLASH = /^\/\/\/\s*</u;
13
- const contentOf = (comment) => comment.body.filter((line) => line !== "");
14
- const startsWithTag = (line, tags) => tags.some((tag) => line === tag || line.startsWith(`${tag} `) || line.startsWith(`${tag}\t`));
15
- export const textOf = (comment) => comment.body.join("\n");
16
- export const isJsdoc = (comment) => comment.kind === "block" && comment.text.startsWith("/**") && comment.text !== "/**/";
17
- export const isPragma = (comment, pragmas) => {
13
+ function contentOf(comment) {
14
+ return comment.body.filter((line) => line !== "");
15
+ }
16
+ function startsWithTag(line, tags) {
17
+ return tags.some((tag) => line === tag || line.startsWith(`${tag} `) || line.startsWith(`${tag}\t`));
18
+ }
19
+ export function textOf(comment) {
20
+ return comment.body.join("\n");
21
+ }
22
+ export function isJsdoc(comment) {
23
+ return comment.kind === "block" && comment.text.startsWith("/**") && comment.text !== "/**/";
24
+ }
25
+ export function isPragma(comment, pragmas) {
18
26
  const content = contentOf(comment);
19
27
  return content.length > 0 && content.every((line) => startsWithTag(line, pragmas));
20
- };
21
- export const isDirective = (comment) => {
28
+ }
29
+ export function isDirective(comment) {
22
30
  const first = contentOf(comment)[0] ?? "";
23
31
  return TRIPLE_SLASH.test(comment.text) || DIRECTIVES.some((directive) => directive.test(first));
24
- };
32
+ }
25
33
  //# sourceMappingURL=kinds.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"kinds.js","sourceRoot":"","sources":["../../../src/rules/comments/kinds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAGjE,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAoB,EAAE,CAAC,CAAC,CAAC,CAAC;AAE9H,MAAM,UAAU,GAAsB;IACrC,GAAG,YAAY;IACf,QAAQ;IACR,gBAAgB;IAChB,kDAAkD;IAClD,oCAAoC;IACpC,6BAA6B;CAC7B,CAAC;AAEF,MAAM,YAAY,GAAG,cAAc,CAAC;AAEpC,MAAM,SAAS,GAAG,CAAC,OAAsB,EAAqB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;AAE5G,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,IAAuB,EAAW,EAAE,CACxE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;AAE/F,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAsB,EAAU,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAElF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,OAAsB,EAAW,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;AAElJ,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,OAAsB,EAAE,OAA0B,EAAW,EAAE;IACvF,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AACpF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAsB,EAAW,EAAE;IAC9D,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1C,OAAO,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACjG,CAAC,CAAC"}
1
+ {"version":3,"file":"kinds.js","sourceRoot":"","sources":["../../../src/rules/comments/kinds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAGjE,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAoB,EAAE,CAAC,CAAC,CAAC,CAAC;AAE9H,MAAM,UAAU,GAAsB;IACrC,GAAG,YAAY;IACf,QAAQ;IACR,gBAAgB;IAChB,kDAAkD;IAClD,oCAAoC;IACpC,6BAA6B;CAC7B,CAAC;AAEF,MAAM,YAAY,GAAG,cAAc,CAAC;AAEpC,SAAS,SAAS,CAAC,OAAsB;IACxC,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,IAAuB;IAC3D,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;AACtG,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,OAAsB;IAC5C,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAsB;IAC7C,OAAO,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;AAC9F,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,OAAsB,EAAE,OAA0B;IAC1E,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAsB;IACjD,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1C,OAAO,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACjG,CAAC"}
@@ -2,4 +2,4 @@ export declare const maxPerFile: import("#rule.ts").Rule<"comments/max-per-file"
2
2
  readonly allow?: readonly string[];
3
3
  readonly max?: number;
4
4
  }>;
5
- //# sourceMappingURL=max-per-file.d.ts.map
5
+ //# sourceMappingURL=maxPerFile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maxPerFile.d.ts","sourceRoot":"","sources":["../../../src/rules/comments/maxPerFile.ts"],"names":[],"mappings":"AA2CA,eAAO,MAAM,UAAU;;;EAMrB,CAAC"}
@@ -7,14 +7,18 @@ const MaxPerFileOptions = Schema.Struct({
7
7
  allow: Pragmas,
8
8
  max: Schema.Int.check(Schema.isGreaterThanOrEqualTo(0), Schema.isLessThanOrEqualTo(2)).pipe(Schema.withDecodingDefaultKey(Effect.succeed(2))),
9
9
  });
10
- const continues = (previous, comment) => previous !== undefined
11
- && previous.kind === "line"
12
- && comment.kind === "line"
13
- && previous.ownLine
14
- && comment.ownLine
15
- && comment.line === previous.endLine + 1;
16
- const commentBlocks = (comments) => comments.filter((comment, index) => !continues(comments[index - 1], comment));
17
- const overCap = (file, max, allow) => {
10
+ function continues(previous, comment) {
11
+ return (previous !== undefined
12
+ && previous.kind === "line"
13
+ && comment.kind === "line"
14
+ && previous.ownLine
15
+ && comment.ownLine
16
+ && comment.line === previous.endLine + 1);
17
+ }
18
+ function commentBlocks(comments) {
19
+ return comments.filter((comment, index) => !continues(comments[index - 1], comment));
20
+ }
21
+ function overCap(file, max, allow) {
18
22
  const counted = commentsOf(file).filter((comment) => !(isDirective(comment) || isPragma(comment, allow)));
19
23
  const blocks = commentBlocks(counted);
20
24
  const first = blocks[max];
@@ -29,11 +33,11 @@ const overCap = (file, max, allow) => {
29
33
  threshold: max,
30
34
  },
31
35
  ];
32
- };
36
+ }
33
37
  export const maxPerFile = defineRule({
34
38
  check: ({ options, sources }) => sources.flatMap((file) => overCap(file, options.max, options.allow)),
35
39
  description: "A file that needs more than a few comments does too much, or its comments narrate the code. Delete the comments that restate the code, then split the file.",
36
40
  id: "comments/max-per-file",
37
41
  options: Schema.toStandardSchemaV1(MaxPerFileOptions, { parseOptions: { errors: "all", onExcessProperty: "error" } }),
38
42
  });
39
- //# sourceMappingURL=max-per-file.js.map
43
+ //# sourceMappingURL=maxPerFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maxPerFile.js","sourceRoot":"","sources":["../../../src/rules/comments/maxPerFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAiC,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAsB,MAAM,WAAW,CAAC;AAE3D,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IACvC,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;CAC7I,CAAC,CAAC;AAEH,SAAS,SAAS,CAAC,QAAmC,EAAE,OAAsB;IAC7E,OAAO,CACN,QAAQ,KAAK,SAAS;WACnB,QAAQ,CAAC,IAAI,KAAK,MAAM;WACxB,OAAO,CAAC,IAAI,KAAK,MAAM;WACvB,QAAQ,CAAC,OAAO;WAChB,OAAO,CAAC,OAAO;WACf,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,OAAO,GAAG,CAAC,CACxC,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,QAAkC;IACxD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,OAAO,CAAC,IAAgB,EAAE,GAAW,EAAE,KAAwB;IACvE,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1G,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO,KAAK,KAAK,SAAS;QACzB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACA;gBACC,KAAK,EAAE,MAAM,CAAC,MAAM,GAAG,GAAG;gBAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,uBAAuB,GAAG,GAAG;gBACrF,SAAS,EAAE,GAAG;aACd;SACD,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC;IACpC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACrG,WAAW,EACV,6JAA6J;IAC9J,EAAE,EAAE,uBAAuB;IAC3B,OAAO,EAAE,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,EAAE,CAAC;CACrH,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
1
  export declare const noBanner: import("../../rule.ts").Rule<"comments/no-banner", undefined>;
2
- //# sourceMappingURL=no-banner.d.ts.map
2
+ //# sourceMappingURL=noBanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noBanner.d.ts","sourceRoot":"","sources":["../../../src/rules/comments/noBanner.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,QAAQ,+DAKnB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { definePatternRule } from "./pattern-rule.js";
1
+ import { definePatternRule } from "./definePattern.js";
2
2
  const DIVIDER = "[-=*#~_+/\\\\─━═┄┈]{3,}";
3
3
  export const noBanner = definePatternRule({
4
4
  description: "Banners, dividers and regions mark a file that does several jobs. Split the file along those sections instead.",
@@ -6,4 +6,4 @@ export const noBanner = definePatternRule({
6
6
  message: (match) => `Banner or divider: "${match}".`,
7
7
  patterns: [new RegExp(`^${DIVIDER}|${DIVIDER}$`, "mu"), /^#(?:end)?region\b/mu],
8
8
  });
9
- //# sourceMappingURL=no-banner.js.map
9
+ //# sourceMappingURL=noBanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noBanner.js","sourceRoot":"","sources":["../../../src/rules/comments/noBanner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,OAAO,GAAG,yBAAyB,CAAC;AAE1C,MAAM,CAAC,MAAM,QAAQ,GAAG,iBAAiB,CAAC;IACzC,WAAW,EAAE,gHAAgH;IAC7H,EAAE,EAAE,oBAAoB;IACxB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,uBAAuB,KAAK,IAAI;IACpD,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,OAAO,IAAI,OAAO,GAAG,EAAE,IAAI,CAAC,EAAE,sBAAsB,CAAC;CAC/E,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
1
  export declare const noEnvironmentPragma: import("../../rule.ts").Rule<"comments/no-environment-pragma", undefined>;
2
- //# sourceMappingURL=no-environment-pragma.d.ts.map
2
+ //# sourceMappingURL=noEnvironmentPragma.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noEnvironmentPragma.d.ts","sourceRoot":"","sources":["../../../src/rules/comments/noEnvironmentPragma.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,2EAM9B,CAAC"}
@@ -1,8 +1,8 @@
1
- import { definePatternRule } from "./pattern-rule.js";
1
+ import { definePatternRule } from "./definePattern.js";
2
2
  export const noEnvironmentPragma = definePatternRule({
3
3
  description: "A test file gets its environment from its name, not from a pragma: `*.dom.test.ts` runs in a DOM, every other test in Node. `@shivaedev/quality/testProjects.ts` sets up the Vitest projects that read the name.",
4
4
  id: "comments/no-environment-pragma",
5
5
  message: (match) => `Sets the test environment with "${match}". Name the file *.dom.test.ts or *.dom.test.tsx instead.`,
6
6
  patterns: [/^@(?:vitest|jest)-environment(?:-options)?(?=\s|$)/mu],
7
7
  });
8
- //# sourceMappingURL=no-environment-pragma.js.map
8
+ //# sourceMappingURL=noEnvironmentPragma.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noEnvironmentPragma.js","sourceRoot":"","sources":["../../../src/rules/comments/noEnvironmentPragma.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;IACpD,WAAW,EACV,kNAAkN;IACnN,EAAE,EAAE,gCAAgC;IACpC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,mCAAmC,KAAK,2DAA2D;IACvH,QAAQ,EAAE,CAAC,sDAAsD,CAAC;CAClE,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export declare const noJsdoc: import("#rule.ts").Rule<"comments/no-jsdoc", {
2
2
  readonly allow?: readonly string[];
3
3
  }>;
4
- //# sourceMappingURL=no-jsdoc.d.ts.map
4
+ //# sourceMappingURL=noJsdoc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noJsdoc.d.ts","sourceRoot":"","sources":["../../../src/rules/comments/noJsdoc.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,OAAO;;EAUlB,CAAC"}
@@ -11,4 +11,4 @@ export const noJsdoc = defineRule({
11
11
  id: "comments/no-jsdoc",
12
12
  options: Schema.toStandardSchemaV1(NoJsdocOptions, { parseOptions: { errors: "all", onExcessProperty: "error" } }),
13
13
  });
14
- //# sourceMappingURL=no-jsdoc.js.map
14
+ //# sourceMappingURL=noJsdoc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noJsdoc.js","sourceRoot":"","sources":["../../../src/rules/comments/noJsdoc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;AAEzD,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAC;IACjC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACxB,UAAU,CAAC,IAAI,CAAC;SACd,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;SACnG,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC,CACtF;IACF,WAAW,EAAE,kIAAkI;IAC/I,EAAE,EAAE,mBAAmB;IACvB,OAAO,EAAE,MAAM,CAAC,kBAAkB,CAAC,cAAc,EAAE,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,EAAE,CAAC;CAClH,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
1
  export declare const noLineReference: import("../../rule.ts").Rule<"comments/no-line-reference", undefined>;
2
- //# sourceMappingURL=no-line-reference.d.ts.map
2
+ //# sourceMappingURL=noLineReference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noLineReference.d.ts","sourceRoot":"","sources":["../../../src/rules/comments/noLineReference.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,eAAe,uEAK1B,CAAC"}
@@ -1,4 +1,4 @@
1
- import { definePatternRule } from "./pattern-rule.js";
1
+ import { definePatternRule } from "./definePattern.js";
2
2
  const SOURCE_EXTENSION = "(?:[cm]?[jt]sx?|json5?|mdx?|css|scss|less|html?|vue|svelte|astro|ya?ml|toml|sql|prisma|graphql|gql|go|rs|py|rb|java|kt|swift|sh)";
3
3
  export const noLineReference = definePatternRule({
4
4
  description: "A line number goes stale with the next edit. Name the function, type, test or setting instead.",
@@ -6,4 +6,4 @@ export const noLineReference = definePatternRule({
6
6
  message: (match) => `Refers to a line: "${match}".`,
7
7
  patterns: [new RegExp(`[\\w./@-]*\\.${SOURCE_EXTENSION}(?::\\d+|#L\\d+)`, "iu"), /(?<![\w-])lines?\s+\d+/iu],
8
8
  });
9
- //# sourceMappingURL=no-line-reference.js.map
9
+ //# sourceMappingURL=noLineReference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noLineReference.js","sourceRoot":"","sources":["../../../src/rules/comments/noLineReference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,gBAAgB,GACrB,kIAAkI,CAAC;AAEpI,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC;IAChD,WAAW,EAAE,gGAAgG;IAC7G,EAAE,EAAE,4BAA4B;IAChC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,sBAAsB,KAAK,IAAI;IACnD,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,gBAAgB,gBAAgB,kBAAkB,EAAE,IAAI,CAAC,EAAE,0BAA0B,CAAC;CAC5G,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
1
  export declare const noPrReference: import("../../rule.ts").Rule<"comments/no-pr-reference", undefined>;
2
- //# sourceMappingURL=no-pr-reference.d.ts.map
2
+ //# sourceMappingURL=noPrReference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noPrReference.d.ts","sourceRoot":"","sources":["../../../src/rules/comments/noPrReference.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,qEAUxB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { definePatternRule } from "./pattern-rule.js";
1
+ import { definePatternRule } from "./definePattern.js";
2
2
  export const noPrReference = definePatternRule({
3
3
  description: "History belongs in version control, not in the code. State the reason itself, so the comment holds without the link.",
4
4
  id: "comments/no-pr-reference",
@@ -10,4 +10,4 @@ export const noPrReference = definePatternRule({
10
10
  /(?<![\w&/#-])#\d+\b/u,
11
11
  ],
12
12
  });
13
- //# sourceMappingURL=no-pr-reference.js.map
13
+ //# sourceMappingURL=noPrReference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noPrReference.js","sourceRoot":"","sources":["../../../src/rules/comments/noPrReference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,CAAC,MAAM,aAAa,GAAG,iBAAiB,CAAC;IAC9C,WAAW,EAAE,sHAAsH;IACnI,EAAE,EAAE,0BAA0B;IAC9B,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,uCAAuC,KAAK,IAAI;IACpE,QAAQ,EAAE;QACT,mEAAmE;QACnE,8CAA8C;QAC9C,aAAa;QACb,sBAAsB;KACtB;CACD,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
1
  export declare const noTodo: import("../../rule.ts").Rule<"comments/no-todo", undefined>;
2
- //# sourceMappingURL=no-todo.d.ts.map
2
+ //# sourceMappingURL=noTodo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noTodo.d.ts","sourceRoot":"","sources":["../../../src/rules/comments/noTodo.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,6DAKjB,CAAC"}
@@ -1,8 +1,8 @@
1
- import { definePatternRule } from "./pattern-rule.js";
1
+ import { definePatternRule } from "./definePattern.js";
2
2
  export const noTodo = definePatternRule({
3
3
  description: "A TODO in the code is never done. Do the work now, or track it where the repository tracks work.",
4
4
  id: "comments/no-todo",
5
5
  message: (match) => `Marks unfinished work: "${match}".`,
6
6
  patterns: [/\b(?:TODO|FIXME|XXX)\b/u, /@todo\b/iu],
7
7
  });
8
- //# sourceMappingURL=no-todo.js.map
8
+ //# sourceMappingURL=noTodo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noTodo.js","sourceRoot":"","sources":["../../../src/rules/comments/noTodo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,CAAC,MAAM,MAAM,GAAG,iBAAiB,CAAC;IACvC,WAAW,EAAE,kGAAkG;IAC/G,EAAE,EAAE,kBAAkB;IACtB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,2BAA2B,KAAK,IAAI;IACxD,QAAQ,EAAE,CAAC,yBAAyB,EAAE,WAAW,CAAC;CAClD,CAAC,CAAC"}
@@ -7,7 +7,7 @@ export interface SourceComment {
7
7
  readonly ownLine: boolean;
8
8
  readonly text: string;
9
9
  }
10
- export declare const bodyOf: (kind: SourceComment["kind"], text: string) => readonly string[];
11
- export declare const scanComments: (file: SourceFile) => readonly SourceComment[];
12
- export declare const commentsOf: (file: SourceFile) => readonly SourceComment[];
10
+ export declare function bodyOf(kind: SourceComment["kind"], text: string): readonly string[];
11
+ export declare function scanComments(file: SourceFile): readonly SourceComment[];
12
+ export declare function commentsOf(file: SourceFile): readonly SourceComment[];
13
13
  //# sourceMappingURL=scan.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../../src/rules/comments/scan.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB;AA4BD,eAAO,MAAM,MAAM,SAAU,aAAa,CAAC,MAAM,CAAC,QAAQ,MAAM,KAAG,SAAS,MAAM,EAMpB,CAAC;AAwB/D,eAAO,MAAM,YAAY,SAAU,UAAU,KAAG,SAAS,aAAa,EAQrE,CAAC;AAEF,eAAO,MAAM,UAAU,SAAU,UAAU,KAAG,SAAS,aAAa,EAA6D,CAAC"}
1
+ {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../../src/rules/comments/scan.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB;AA4BD,wBAAgB,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAOnF;AAwBD,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,aAAa,EAAE,CAQvE;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,aAAa,EAAE,CAErE"}
@@ -1,15 +1,15 @@
1
1
  import ts from "typescript";
2
2
  import { parse } from "#rules/syntax.ts";
3
3
  const DECLARATION = /\.d\.[cm]?ts$/u;
4
- const commentRanges = (source) => {
4
+ function commentRanges(source) {
5
5
  const ranges = new Map();
6
6
  const jsxText = [];
7
- const add = (found) => {
7
+ function add(found) {
8
8
  for (const range of found ?? []) {
9
9
  ranges.set(range.pos, range);
10
10
  }
11
- };
12
- const visit = (node) => {
11
+ }
12
+ function visit(node) {
13
13
  if (node.kind === ts.SyntaxKind.JsxText) {
14
14
  jsxText.push(node);
15
15
  }
@@ -18,19 +18,21 @@ const commentRanges = (source) => {
18
18
  for (const child of node.getChildren(source)) {
19
19
  visit(child);
20
20
  }
21
- };
21
+ }
22
22
  visit(source);
23
23
  return [...ranges.values()]
24
24
  .filter((range) => !jsxText.some((text) => range.pos >= text.pos && range.pos < text.end))
25
25
  .sort((left, right) => left.pos - right.pos);
26
- };
27
- export const bodyOf = (kind, text) => kind === "line"
28
- ? [text.slice(2).trim()]
29
- : text
30
- .slice(2, -2)
31
- .split("\n")
32
- .map((line) => line.trim().replace(/^\*(?=\s|$)\s*/u, ""));
33
- const toComment = (source, range) => {
26
+ }
27
+ export function bodyOf(kind, text) {
28
+ return kind === "line"
29
+ ? [text.slice(2).trim()]
30
+ : text
31
+ .slice(2, -2)
32
+ .split("\n")
33
+ .map((line) => line.trim().replace(/^\*(?=\s|$)\s*/u, ""));
34
+ }
35
+ function toComment(source, range) {
34
36
  const kind = range.kind === ts.SyntaxKind.SingleLineCommentTrivia ? "line" : "block";
35
37
  const text = source.text.slice(range.pos, range.end);
36
38
  const start = source.getLineAndCharacterOfPosition(range.pos);
@@ -43,13 +45,13 @@ const toComment = (source, range) => {
43
45
  ownLine: source.text.slice(lineStart, range.pos).trim() === "",
44
46
  text,
45
47
  };
46
- };
48
+ }
47
49
  const scanned = new WeakMap();
48
- const scan = (file) => {
50
+ function scan(file) {
49
51
  const source = parse(file);
50
52
  return source === undefined ? [] : commentRanges(source).map((range) => toComment(source, range));
51
- };
52
- export const scanComments = (file) => {
53
+ }
54
+ export function scanComments(file) {
53
55
  const cached = scanned.get(file);
54
56
  if (cached !== undefined) {
55
57
  return cached;
@@ -57,6 +59,8 @@ export const scanComments = (file) => {
57
59
  const comments = scan(file);
58
60
  scanned.set(file, comments);
59
61
  return comments;
60
- };
61
- export const commentsOf = (file) => (DECLARATION.test(file.path) ? [] : scanComments(file));
62
+ }
63
+ export function commentsOf(file) {
64
+ return DECLARATION.test(file.path) ? [] : scanComments(file);
65
+ }
62
66
  //# sourceMappingURL=scan.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../../src/rules/comments/scan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAWzC,MAAM,WAAW,GAAG,gBAAgB,CAAC;AAErC,MAAM,aAAa,GAAG,CAAC,MAAqB,EAA8B,EAAE;IAC3E,MAAM,MAAM,GAAG,IAAI,GAAG,EAA2B,CAAC;IAClD,MAAM,OAAO,GAAc,EAAE,CAAC;IAC9B,MAAM,GAAG,GAAG,CAAC,KAA6C,EAAE,EAAE;QAC7D,KAAK,MAAM,KAAK,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;YACjC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC;IACF,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,CAAC,IAAa,EAAE,EAAE;QAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QACD,GAAG,CAAC,EAAE,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,GAAG,CAAC,EAAE,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9C,KAAK,CAAC,KAAK,CAAC,CAAC;QACd,CAAC;IACF,CAAC,CAAC;IACF,KAAK,CAAC,MAAM,CAAC,CAAC;IACd,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;SACzB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;SACzF,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAA2B,EAAE,IAAY,EAAqB,EAAE,CACtF,IAAI,KAAK,MAAM;IACd,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC,CAAC,IAAI;SACH,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACZ,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC;AAE/D,MAAM,SAAS,GAAG,CAAC,MAAqB,EAAE,KAAsB,EAAiB,EAAE;IAClF,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IACrF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,MAAM,CAAC,6BAA6B,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,MAAM,CAAC,6BAA6B,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACtE,OAAO;QACN,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC,6BAA6B,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC;QACjE,IAAI;QACJ,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;QAC9D,IAAI;KACJ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,IAAI,OAAO,EAAwC,CAAC;AAEpE,MAAM,IAAI,GAAG,CAAC,IAAgB,EAA4B,EAAE;IAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AACnG,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAgB,EAA4B,EAAE;IAC1E,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC;IACf,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC5B,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAgB,EAA4B,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../../src/rules/comments/scan.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  export declare const manifestsSorted: import("#rule.ts").Rule<"manifests/sorted", undefined>;
2
- //# sourceMappingURL=manifests-sorted.d.ts.map
2
+ //# sourceMappingURL=manifestsSorted.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifestsSorted.d.ts","sourceRoot":"","sources":["../../src/rules/manifestsSorted.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,eAAe,wDAY1B,CAAC"}
@@ -19,4 +19,4 @@ export const manifestsSorted = defineRule({
19
19
  id: "manifests/sorted",
20
20
  registrable: false,
21
21
  });
22
- //# sourceMappingURL=manifests-sorted.js.map
22
+ //# sourceMappingURL=manifestsSorted.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifestsSorted.js","sourceRoot":"","sources":["../../src/rules/manifestsSorted.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAgB,MAAM,UAAU,CAAC;AAEpD,MAAM,QAAQ,GAAG;IAChB,OAAO,EAAE,oBAAoB;IAC7B,QAAQ,EAAE,6DAA6D;CAC9D,CAAC;AAEX,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;IACzC,KAAK,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE;QACnC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxG,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/G,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAsB,EAAE;YAC3D,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YAChC,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;IACJ,CAAC;IACD,WAAW,EAAE,2GAA2G;IACxH,EAAE,EAAE,kBAAkB;IACtB,WAAW,EAAE,KAAK;CAClB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const manifestsSourceFirst: import("#rule.ts").Rule<"manifests/source-first", undefined>;
2
+ //# sourceMappingURL=manifestsSourceFirst.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifestsSourceFirst.d.ts","sourceRoot":"","sources":["../../src/rules/manifestsSourceFirst.ts"],"names":[],"mappings":"AAqCA,eAAO,MAAM,oBAAoB,8DAU/B,CAAC"}