@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
@@ -9,12 +9,20 @@ export const PRESET_DECLARATIONS = "declarations.json";
9
9
  const shipped = Schema.toStandardSchemaV1(Schema.fromJsonString(Schema.Array(Declaration)), {
10
10
  parseOptions: { errors: "all", onExcessProperty: "error" },
11
11
  });
12
- export const decodeShipped = (text) => text === undefined ? Promise.resolve({ _tag: "Valid", value: [] }) : decodeWith(shipped, text);
13
- const sameScope = (left, right) => new Set(left).size === new Set(right).size && left.every((glob) => right.includes(glob));
14
- export const matches = (declaration, weakening) => declaration.rule === weakening.rule && sameScope(declaration.includes, weakening.includes);
15
- export const scoped = (base, glob) => {
16
- const [, negation = "", path = glob] = /^(!*)(.*)$/u.exec(glob) ?? [];
12
+ export function decodeShipped(text) {
13
+ return text === undefined ? Promise.resolve({ _tag: "Valid", value: [] }) : decodeWith(shipped, text);
14
+ }
15
+ function sameScope(left, right) {
16
+ return new Set(left).size === new Set(right).size && left.every((glob) => right.includes(glob));
17
+ }
18
+ export function matches(declaration, weakening) {
19
+ return declaration.rule === weakening.rule && sameScope(declaration.includes, weakening.includes);
20
+ }
21
+ export function scoped(base, glob) {
22
+ const { negation = "", path = glob } = /^(?<negation>!*)(?<path>.*)$/u.exec(glob)?.groups ?? {};
17
23
  return base === "" ? glob : `${negation}${base}/${path}`;
18
- };
19
- export const scopeText = (includes) => includes.map((glob) => `"${glob}"`).join(", ");
24
+ }
25
+ export function scopeText(includes) {
26
+ return includes.map((glob) => `"${glob}"`).join(", ");
27
+ }
20
28
  //# sourceMappingURL=declarations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"declarations.js","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/declarations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAgB,UAAU,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC;IACrD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,0DAA0D,EAAE,CAAC,CAAC;IAC9H,IAAI,EAAE,MAAM,CAAC,cAAc;CAC3B,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AAEvD,MAAM,OAAO,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE;IAC3F,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE;CAC1D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAwB,EAA4C,EAAE,CACnG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAOhG,MAAM,SAAS,GAAG,CAAC,IAAuB,EAAE,KAAwB,EAAW,EAAE,CAChF,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAE1F,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,WAAmB,EAAE,SAAiB,EAAW,EAAE,CAC1E,WAAW,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE5F,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,IAAY,EAAU,EAAE;IAC5D,MAAM,CAAC,EAAE,QAAQ,GAAG,EAAE,EAAE,IAAI,GAAG,IAAI,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACtE,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;AAC1D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,QAA2B,EAAU,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"declarations.js","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/declarations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAgB,UAAU,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC;IACrD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,0DAA0D,EAAE,CAAC,CAAC;IAC9H,IAAI,EAAE,MAAM,CAAC,cAAc;CAC3B,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AAEvD,MAAM,OAAO,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE;IAC3F,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE;CAC1D,CAAC,CAAC;AAEH,MAAM,UAAU,aAAa,CAAC,IAAwB;IACrD,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACvG,CAAC;AAOD,SAAS,SAAS,CAAC,IAAuB,EAAE,KAAwB;IACnE,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACjG,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,WAAmB,EAAE,SAAiB;IAC7D,OAAO,WAAW,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;AACnG,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,IAAY,EAAE,IAAY;IAChD,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC;IAChG,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,QAA2B;IACpD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC"}
@@ -18,10 +18,10 @@ export type Parsed = {
18
18
  readonly _tag: "Unreadable";
19
19
  readonly reason: string;
20
20
  };
21
- export declare const parseJsonc: (path: string, text: string) => Parsed;
22
- export declare const member: (node: Json | undefined, key: string) => Json | undefined;
23
- export declare const entriesOf: (node: Json | undefined) => ReadonlyArray<readonly [string, Json]>;
24
- export declare const itemsOf: (node: Json | undefined) => readonly Json[];
25
- export declare const textOf: (node: Json | undefined) => string | undefined;
26
- export declare const isFalse: (node: Json | undefined) => boolean;
21
+ export declare function parseJsonc(path: string, text: string): Parsed;
22
+ export declare function member(node: Json | undefined, key: string): Json | undefined;
23
+ export declare function entriesOf(node: Json | undefined): ReadonlyArray<readonly [string, Json]>;
24
+ export declare function itemsOf(node: Json | undefined): readonly Json[];
25
+ export declare function textOf(node: Json | undefined): string | undefined;
26
+ export declare function isFalse(node: Json | undefined): boolean;
27
27
  //# sourceMappingURL=json.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/json.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,IAAI,GACb;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;CAAE,GAC/F;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAA;CAAE,GAClF;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAA;CAAE,CAAC;AAEnG,MAAM,MAAM,MAAM,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAyBjI,eAAO,MAAM,UAAU,SAAU,MAAM,QAAQ,MAAM,KAAG,MAWvD,CAAC;AAEF,eAAO,MAAM,MAAM,SAAU,IAAI,GAAG,SAAS,OAAO,MAAM,KAAG,IAAI,GAAG,SAA0E,CAAC;AAE/I,eAAO,MAAM,SAAS,SAAU,IAAI,GAAG,SAAS,KAAG,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAuD,CAAC;AAEhJ,eAAO,MAAM,OAAO,SAAU,IAAI,GAAG,SAAS,KAAG,SAAS,IAAI,EAAgD,CAAC;AAE/G,eAAO,MAAM,MAAM,SAAU,IAAI,GAAG,SAAS,KAAG,MAAM,GAAG,SACyB,CAAC;AAEnF,eAAO,MAAM,OAAO,SAAU,IAAI,GAAG,SAAS,KAAG,OAAyD,CAAC"}
1
+ {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/json.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,IAAI,GACb;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;CAAE,GAC/F;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAA;CAAE,GAClF;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAA;CAAE,CAAC;AAEnG,MAAM,MAAM,MAAM,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AA4BjI,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAW7D;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAE5E;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAExF;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,SAAS,IAAI,EAAE,CAE/D;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAEjE;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,OAAO,CAEvD"}
@@ -3,11 +3,15 @@ const LITERALS = new Map([
3
3
  [ts.SyntaxKind.TrueKeyword, true],
4
4
  [ts.SyntaxKind.FalseKeyword, false],
5
5
  ]);
6
- const scalarOf = (node) => (ts.isStringLiteral(node) ? node.text : LITERALS.get(node.kind));
7
- const entryOf = (source, property) => ts.isPropertyAssignment(property) && (ts.isStringLiteral(property.name) || ts.isIdentifier(property.name))
8
- ? [[property.name.text, toJson(source, property.initializer)]]
9
- : [];
10
- const toJson = (source, node) => {
6
+ function scalarOf(node) {
7
+ return ts.isStringLiteral(node) ? node.text : LITERALS.get(node.kind);
8
+ }
9
+ function entryOf(source, property) {
10
+ return ts.isPropertyAssignment(property) && (ts.isStringLiteral(property.name) || ts.isIdentifier(property.name))
11
+ ? [[property.name.text, toJson(source, property.initializer)]]
12
+ : [];
13
+ }
14
+ function toJson(source, node) {
11
15
  const line = source.getLineAndCharacterOfPosition(node.getStart(source)).line + 1;
12
16
  if (ts.isObjectLiteralExpression(node)) {
13
17
  return { _tag: "Object", entries: new Map(node.properties.flatMap((property) => entryOf(source, property))), line };
@@ -16,8 +20,8 @@ const toJson = (source, node) => {
16
20
  return { _tag: "Array", items: node.elements.map((element) => toJson(source, element)), line };
17
21
  }
18
22
  return { _tag: "Value", line, value: scalarOf(node) };
19
- };
20
- export const parseJsonc = (path, text) => {
23
+ }
24
+ export function parseJsonc(path, text) {
21
25
  const error = ts.parseConfigFileTextToJson(path, text).error;
22
26
  const source = ts.parseJsonText(path, text);
23
27
  const root = source.statements[0]?.expression;
@@ -28,10 +32,20 @@ export const parseJsonc = (path, text) => {
28
32
  };
29
33
  }
30
34
  return { _tag: "Parsed", json: toJson(source, root) };
31
- };
32
- export const member = (node, key) => (node?._tag === "Object" ? node.entries.get(key) : undefined);
33
- export const entriesOf = (node) => (node?._tag === "Object" ? [...node.entries] : []);
34
- export const itemsOf = (node) => (node?._tag === "Array" ? node.items : []);
35
- export const textOf = (node) => node?._tag === "Value" && typeof node.value === "string" ? node.value : undefined;
36
- export const isFalse = (node) => node?._tag === "Value" && node.value === false;
35
+ }
36
+ export function member(node, key) {
37
+ return node?._tag === "Object" ? node.entries.get(key) : undefined;
38
+ }
39
+ export function entriesOf(node) {
40
+ return node?._tag === "Object" ? [...node.entries] : [];
41
+ }
42
+ export function itemsOf(node) {
43
+ return node?._tag === "Array" ? node.items : [];
44
+ }
45
+ export function textOf(node) {
46
+ return node?._tag === "Value" && typeof node.value === "string" ? node.value : undefined;
47
+ }
48
+ export function isFalse(node) {
49
+ return node?._tag === "Value" && node.value === false;
50
+ }
37
51
  //# sourceMappingURL=json.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/json.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/json.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import type { RuleInputs } from "#rule.ts";
2
- export declare const resolvePackage: (readText: RuleInputs["readText"], specifier: string) => Promise<string | undefined>;
2
+ export declare function resolvePackage(readText: RuleInputs["readText"], specifier: string): Promise<string | undefined>;
3
3
  //# sourceMappingURL=resolve.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/resolve.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAsE3C,eAAO,MAAM,cAAc,aAAoB,UAAU,CAAC,UAAU,CAAC,aAAa,MAAM,KAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAYpH,CAAC"}
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/resolve.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AA2E3C,wBAAsB,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAYrH"}
@@ -8,9 +8,11 @@ const Manifest = Schema.Struct({
8
8
  });
9
9
  const manifestSchema = Schema.toStandardSchemaV1(Schema.fromJsonString(Manifest));
10
10
  const CONDITIONS = new Set(["biome", "default"]);
11
- const SPECIFIER = /^((?:@[^/]+\/)?[^/]+)(?:\/(.+))?$/u;
12
- const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
13
- const targetOf = (value, star) => {
11
+ const SPECIFIER = /^(?<name>(?:@[^/]+\/)?[^/]+)(?:\/(?<subpath>.+))?$/u;
12
+ function isRecord(value) {
13
+ return typeof value === "object" && value !== null && !Array.isArray(value);
14
+ }
15
+ function targetOf(value, star) {
14
16
  if (typeof value === "string") {
15
17
  return star === undefined ? value : value.replaceAll("*", star);
16
18
  }
@@ -19,9 +21,11 @@ const targetOf = (value, star) => {
19
21
  }
20
22
  const condition = isRecord(value) ? Object.keys(value).find((key) => CONDITIONS.has(key)) : undefined;
21
23
  return isRecord(value) && condition !== undefined ? targetOf(value[condition], star) : undefined;
22
- };
23
- const bySpecificity = (left, right) => right.indexOf("*") - left.indexOf("*") || right.length - left.length;
24
- const patternTarget = (exports, key) => {
24
+ }
25
+ function bySpecificity(left, right) {
26
+ return right.indexOf("*") - left.indexOf("*") || right.length - left.length;
27
+ }
28
+ function patternTarget(exports, key) {
25
29
  const pattern = Object.keys(exports)
26
30
  .filter((candidate) => candidate.split("*").length === 2)
27
31
  .sort(bySpecificity)
@@ -31,21 +35,23 @@ const patternTarget = (exports, key) => {
31
35
  });
32
36
  const [prefix = "", suffix = ""] = pattern?.split("*") ?? [];
33
37
  return pattern === undefined ? undefined : targetOf(exports[pattern], key.slice(prefix.length, key.length - suffix.length));
34
- };
35
- const exported = (exports, subpath) => {
38
+ }
39
+ function exported(exports, subpath) {
36
40
  const key = subpath === "" ? "." : `./${subpath}`;
37
41
  if (!isRecord(exports)) {
38
42
  return targetOf(exports, undefined);
39
43
  }
40
44
  return Object.hasOwn(exports, key) ? targetOf(exports[key], undefined) : (patternTarget(exports, key) ?? targetOf(exports, undefined));
41
- };
42
- const inPackage = (directory, target) => target?.startsWith("./") === true ? posix.join(directory, target) : undefined;
43
- const manifestAt = async (readText, path) => {
45
+ }
46
+ function inPackage(directory, target) {
47
+ return target?.startsWith("./") === true ? posix.join(directory, target) : undefined;
48
+ }
49
+ async function manifestAt(readText, path) {
44
50
  const text = await readText(path);
45
51
  const decoded = text === undefined ? undefined : await decodeWith(manifestSchema, text);
46
52
  return decoded?._tag === "Valid" ? decoded.value : undefined;
47
- };
48
- const fromDependency = (directory, manifest, subpath) => {
53
+ }
54
+ function fromDependency(directory, manifest, subpath) {
49
55
  if (manifest.exports !== undefined) {
50
56
  return inPackage(directory, exported(manifest.exports, subpath));
51
57
  }
@@ -53,9 +59,9 @@ const fromDependency = (directory, manifest, subpath) => {
53
59
  return posix.join(directory, manifest.main);
54
60
  }
55
61
  return subpath === "" ? undefined : posix.join(directory, subpath);
56
- };
57
- export const resolvePackage = async (readText, specifier) => {
58
- const [, name, subpath = ""] = SPECIFIER.exec(specifier) ?? [];
62
+ }
63
+ export async function resolvePackage(readText, specifier) {
64
+ const { name, subpath = "" } = SPECIFIER.exec(specifier)?.groups ?? {};
59
65
  if (name === undefined) {
60
66
  return undefined;
61
67
  }
@@ -66,5 +72,5 @@ export const resolvePackage = async (readText, specifier) => {
66
72
  const directory = posix.join("node_modules", name);
67
73
  const manifest = await manifestAt(readText, posix.join(directory, "package.json"));
68
74
  return manifest === undefined ? undefined : fromDependency(directory, manifest, subpath);
69
- };
75
+ }
70
76
  //# sourceMappingURL=resolve.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC;IAC3C,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;CACvC,CAAC,CAAC;AAIH,MAAM,cAAc,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;AAElF,MAAM,UAAU,GAAwB,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AAEtE,MAAM,SAAS,GAAG,oCAAoC,CAAC;AAEvD,MAAM,QAAQ,GAAG,CAAC,KAAc,EAA8C,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAEtJ,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAE,IAAwB,EAAsB,EAAE;IACjF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;IAClG,CAAC;IACD,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtG,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAClG,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,KAAa,EAAU,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAEpI,MAAM,aAAa,GAAG,CAAC,OAA0C,EAAE,GAAW,EAAsB,EAAE;IACrG,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;SAClC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;SACxD,IAAI,CAAC,aAAa,CAAC;SACnB,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;QACnB,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxD,OAAO,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC;IAC3G,CAAC,CAAC,CAAC;IACJ,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,CAAC,GAAG,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAC7D,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7H,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,OAAgB,EAAE,OAAe,EAAsB,EAAE;IAC1E,MAAM,GAAG,GAAG,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;IAClD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AACxI,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,SAAiB,EAAE,MAA0B,EAAsB,EAAE,CACvF,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAE/E,MAAM,UAAU,GAAG,KAAK,EAAE,QAAgC,EAAE,IAAY,EAAiC,EAAE;IAC1G,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACxF,OAAO,OAAO,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,SAAiB,EAAE,QAAkB,EAAE,OAAe,EAAsB,EAAE;IACrG,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,OAAO,KAAK,EAAE,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACnD,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACpE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,QAAgC,EAAE,SAAiB,EAA+B,EAAE;IACxH,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC/D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACvD,IAAI,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QACvE,OAAO,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IACnF,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC1F,CAAC,CAAC"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/resolve.ts"],"names":[],"mappings":"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"}
@@ -5,5 +5,5 @@ export interface Weakening {
5
5
  readonly line: number;
6
6
  readonly rule: string;
7
7
  }
8
- export declare const weakeningsOf: ({ base, layers }: Chain) => readonly Weakening[];
8
+ export declare function weakeningsOf({ base, layers }: Chain): readonly Weakening[];
9
9
  //# sourceMappingURL=weakenings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"weakenings.d.ts","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/weakenings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAIjD,MAAM,WAAW,SAAS;IACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB;AA2GD,eAAO,MAAM,YAAY,qBAAsB,KAAK,KAAG,SAAS,SAAS,EACe,CAAC"}
1
+ {"version":3,"file":"weakenings.d.ts","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/weakenings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAIjD,MAAM,WAAW,SAAS;IACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB;AA6HD,wBAAgB,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,GAAG,SAAS,SAAS,EAAE,CAE1E"}
@@ -3,38 +3,54 @@ import { entriesOf, isFalse, itemsOf, member, textOf } from "./json.js";
3
3
  const LINT_WEAK = new Set(["off", "warn", "info"]);
4
4
  const ASSIST_WEAK = new Set(["off"]);
5
5
  const PRESETS = new Set(["recommended", "preset"]);
6
- const levelOf = (node) => textOf(node) ?? textOf(member(node, "level"));
7
- const at = (rule, node, weak, wholeGroup = false) => node === undefined ? [] : [{ line: node.line, rule, weak, wholeGroup }];
8
- const enabled = (rule, section) => at(rule, member(section, "enabled"), isFalse(member(section, "enabled")));
9
- const defaults = (rule, set) => [
10
- ...at(rule, member(set, "recommended"), isFalse(member(set, "recommended"))),
11
- ...at(rule, member(set, "preset"), textOf(member(set, "preset")) === "none"),
12
- ];
13
- const ruleSettings = (group, weak, rules) => entriesOf(rules)
14
- .filter(([rule]) => !PRESETS.has(rule))
15
- .flatMap(([rule, setting]) => {
16
- const level = levelOf(setting);
17
- return level === undefined ? [] : at(`${group}/${rule}`, setting, weak.has(level));
18
- });
19
- const groupSettings = (prefix, weak, groups) => entriesOf(groups)
20
- .filter(([group]) => !PRESETS.has(group))
21
- .flatMap(([group, rules]) => {
22
- const severity = textOf(rules);
23
- return severity === undefined
24
- ? [...defaults(`${prefix}/${group}`, rules), ...ruleSettings(`${prefix}/${group}`, weak, rules)]
25
- : at(`${prefix}/${group}`, rules, weak.has(severity), true);
26
- });
27
- const linter = (section) => [
28
- ...enabled("lint", section),
29
- ...defaults("lint/recommended", member(section, "rules")),
30
- ...groupSettings("lint", LINT_WEAK, member(section, "rules")),
31
- ...entriesOf(member(section, "domains")).flatMap(([domain, value]) => at(`lint/domains/${domain}`, value, textOf(value) === "none")),
32
- ];
33
- const assist = (section) => [
34
- ...enabled("assist", section),
35
- ...defaults("assist/recommended", member(section, "actions")),
36
- ...groupSettings("assist", ASSIST_WEAK, member(section, "actions")),
37
- ];
6
+ function levelOf(node) {
7
+ return textOf(node) ?? textOf(member(node, "level"));
8
+ }
9
+ function at(rule, node, weak, wholeGroup = false) {
10
+ return node === undefined ? [] : [{ line: node.line, rule, weak, wholeGroup }];
11
+ }
12
+ function enabled(rule, section) {
13
+ return at(rule, member(section, "enabled"), isFalse(member(section, "enabled")));
14
+ }
15
+ function defaults(rule, set) {
16
+ return [
17
+ ...at(rule, member(set, "recommended"), isFalse(member(set, "recommended"))),
18
+ ...at(rule, member(set, "preset"), textOf(member(set, "preset")) === "none"),
19
+ ];
20
+ }
21
+ function ruleSettings(group, weak, rules) {
22
+ return entriesOf(rules)
23
+ .filter(([rule]) => !PRESETS.has(rule))
24
+ .flatMap(([rule, setting]) => {
25
+ const level = levelOf(setting);
26
+ return level === undefined ? [] : at(`${group}/${rule}`, setting, weak.has(level));
27
+ });
28
+ }
29
+ function groupSettings(prefix, weak, groups) {
30
+ return entriesOf(groups)
31
+ .filter(([group]) => !PRESETS.has(group))
32
+ .flatMap(([group, rules]) => {
33
+ const severity = textOf(rules);
34
+ return severity === undefined
35
+ ? [...defaults(`${prefix}/${group}`, rules), ...ruleSettings(`${prefix}/${group}`, weak, rules)]
36
+ : at(`${prefix}/${group}`, rules, weak.has(severity), true);
37
+ });
38
+ }
39
+ function linter(section) {
40
+ return [
41
+ ...enabled("lint", section),
42
+ ...defaults("lint/recommended", member(section, "rules")),
43
+ ...groupSettings("lint", LINT_WEAK, member(section, "rules")),
44
+ ...entriesOf(member(section, "domains")).flatMap(([domain, value]) => at(`lint/domains/${domain}`, value, textOf(value) === "none")),
45
+ ];
46
+ }
47
+ function assist(section) {
48
+ return [
49
+ ...enabled("assist", section),
50
+ ...defaults("assist/recommended", member(section, "actions")),
51
+ ...groupSettings("assist", ASSIST_WEAK, member(section, "actions")),
52
+ ];
53
+ }
38
54
  const LANGUAGES = ["javascript", "json", "css", "graphql", "grit", "html"];
39
55
  const TOOLS = [
40
56
  ["linter", "lint"],
@@ -42,26 +58,34 @@ const TOOLS = [
42
58
  ["formatter", "format"],
43
59
  ];
44
60
  const SCOPED_SECTIONS = [["files", "files"], ...TOOLS];
45
- const settingsOf = (scope) => [
46
- ...linter(member(scope, "linter")),
47
- ...assist(member(scope, "assist")),
48
- ...enabled("format", member(scope, "formatter")),
49
- ...LANGUAGES.flatMap((language) => TOOLS.flatMap(([key, name]) => enabled(`${language}/${name}`, member(member(scope, language), key)))),
50
- ];
51
- const replaces = (later, earlier) => later.rule === earlier.rule || (later.wholeGroup && earlier.rule.startsWith(`${later.rule}/`));
52
- const includesOf = (override) => {
61
+ function settingsOf(scope) {
62
+ return [
63
+ ...linter(member(scope, "linter")),
64
+ ...assist(member(scope, "assist")),
65
+ ...enabled("format", member(scope, "formatter")),
66
+ ...LANGUAGES.flatMap((language) => TOOLS.flatMap(([key, name]) => enabled(`${language}/${name}`, member(member(scope, language), key)))),
67
+ ];
68
+ }
69
+ function replaces(later, earlier) {
70
+ return later.rule === earlier.rule || (later.wholeGroup && earlier.rule.startsWith(`${later.rule}/`));
71
+ }
72
+ function includesOf(override) {
53
73
  const includes = itemsOf(member(override, "includes")).flatMap((item) => textOf(item) ?? []);
54
74
  return includes.length === 0 ? ["**"] : includes;
55
- };
56
- const narrowsScope = (globs) => globs.length > 0 && (globs.some((glob) => glob.startsWith("!")) || !globs.includes("**"));
57
- const narrowings = (config, base) => SCOPED_SECTIONS.flatMap(([key, name]) => {
58
- const list = member(member(config, key), "includes");
59
- const globs = itemsOf(list).flatMap((item) => textOf(item) ?? []);
60
- return list === undefined || !narrowsScope(globs)
61
- ? []
62
- : [{ includes: globs.map((glob) => scoped(base, glob)), line: list.line, rule: `${name}/includes` }];
63
- });
64
- const layerWeakenings = (layer, later, base) => {
75
+ }
76
+ function narrowsScope(globs) {
77
+ return globs.length > 0 && (globs.some((glob) => glob.startsWith("!")) || !globs.includes("**"));
78
+ }
79
+ function narrowings(config, base) {
80
+ return SCOPED_SECTIONS.flatMap(([key, name]) => {
81
+ const list = member(member(config, key), "includes");
82
+ const globs = itemsOf(list).flatMap((item) => textOf(item) ?? []);
83
+ return list === undefined || !narrowsScope(globs)
84
+ ? []
85
+ : [{ includes: globs.map((glob) => scoped(base, glob)), line: list.line, rule: `${name}/includes` }];
86
+ });
87
+ }
88
+ function layerWeakenings(layer, later, base) {
65
89
  const overriding = later.flatMap((next) => settingsOf(next.json));
66
90
  const top = settingsOf(layer.json).filter((setting) => setting.weak && !overriding.some((next) => replaces(next, setting)));
67
91
  return [
@@ -71,6 +95,8 @@ const layerWeakenings = (layer, later, base) => {
71
95
  .filter((setting) => setting.weak)
72
96
  .map(({ line, rule }) => ({ includes: includesOf(override).map((glob) => scoped(base, glob)), line, rule }))),
73
97
  ].map((weakening) => ({ ...weakening, layer }));
74
- };
75
- export const weakeningsOf = ({ base, layers }) => layers.flatMap((layer, index) => layerWeakenings(layer, layers.slice(index + 1), base));
98
+ }
99
+ export function weakeningsOf({ base, layers }) {
100
+ return layers.flatMap((layer, index) => layerWeakenings(layer, layers.slice(index + 1), base));
101
+ }
76
102
  //# sourceMappingURL=weakenings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"weakenings.js","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/weakenings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"weakenings.js","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/weakenings.ts"],"names":[],"mappings":"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"}
@@ -5,4 +5,4 @@ export declare const biomeOverrides: import("#rule.ts").Rule<"suppressions/biome
5
5
  readonly rule: string;
6
6
  }[];
7
7
  }>;
8
- //# sourceMappingURL=biome-overrides.d.ts.map
8
+ //# sourceMappingURL=biomeOverrides.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"biomeOverrides.d.ts","sourceRoot":"","sources":["../../../src/rules/suppressions/biomeOverrides.ts"],"names":[],"mappings":"AAkEA,eAAO,MAAM,cAAc;;;;;;EAqBzB,CAAC"}
@@ -0,0 +1,75 @@
1
+ import { Effect, Schema } from "effect";
2
+ import { biomeExceptionHint, missingBiomeFiles } from "#exceptions/biomeFindings.ts";
3
+ import { defineRule } from "#rule.ts";
4
+ import { ConsumerDeclaration } from "#rules/suppressions/biome/ConsumerDeclaration.ts";
5
+ import { biomeConfigs } from "#rules/suppressions/biome/configs.ts";
6
+ import { matches, scoped, scopeText } from "#rules/suppressions/biome/declarations.ts";
7
+ import { weakeningsOf } from "#rules/suppressions/biome/weakenings.ts";
8
+ const BiomeOverridesOptions = Schema.Struct({
9
+ declared: Schema.Array(ConsumerDeclaration).pipe(Schema.withDecodingDefaultKey(Effect.succeed([]))),
10
+ });
11
+ function shippedBy({ base, layers }) {
12
+ return layers.flatMap(({ preset }) => preset === undefined
13
+ ? []
14
+ : preset.declared.map(({ includes, rule }) => ({ includes: includes.map((glob) => scoped(base, glob)), rule, specifier: preset.specifier })));
15
+ }
16
+ function undeclared({ includes, layer, line, rule }, configFile) {
17
+ return layer.preset === undefined
18
+ ? {
19
+ file: layer.path,
20
+ line,
21
+ message: `Weakens "${rule}" for ${scopeText(includes)} without a declaration. Repair the code and remove the weakening setting.${Schema.is(ConsumerDeclaration)({ includes, reason: "Permanent exception.", rule }) ? biomeExceptionHint(includes, rule, configFile) : ""}`,
22
+ subject: rule,
23
+ }
24
+ : {
25
+ file: layer.preset.file,
26
+ line: layer.preset.line,
27
+ message: `Extends "${layer.preset.specifier}", which weakens "${rule}" for ${scopeText(includes)} without a declaration. Repair the code and restore the check in the preset.`,
28
+ subject: rule,
29
+ };
30
+ }
31
+ function unused(file, declaration) {
32
+ return {
33
+ file,
34
+ message: `Declares "${declaration.rule}" for ${scopeText(declaration.includes)}, which no Biome config weakens. Remove the declaration.`,
35
+ subject: declaration.rule,
36
+ };
37
+ }
38
+ function repeated(file, declaration, shipped) {
39
+ return {
40
+ file,
41
+ message: `Declares "${declaration.rule}" for ${scopeText(declaration.includes)}, which "${shipped.specifier}" already declares. Remove the declaration.`,
42
+ subject: declaration.rule,
43
+ };
44
+ }
45
+ function staleOrRepeated(file, weakenings, shipped) {
46
+ return (declaration) => {
47
+ if (!weakenings.some((weakening) => matches(declaration, weakening))) {
48
+ return [unused(file, declaration)];
49
+ }
50
+ const already = shipped.find((candidate) => matches(declaration, candidate));
51
+ return already === undefined ? [] : [repeated(file, declaration, already)];
52
+ };
53
+ }
54
+ export const biomeOverrides = defineRule({
55
+ check: async (inputs) => {
56
+ const { chains, problems, root } = await biomeConfigs(inputs);
57
+ const { declared } = inputs.options;
58
+ const weakenings = chains.flatMap(weakeningsOf);
59
+ const shipped = chains.flatMap(shippedBy);
60
+ function covered(weakening) {
61
+ return [...declared, ...shipped].some((declaration) => matches(declaration, weakening));
62
+ }
63
+ return [
64
+ ...problems,
65
+ ...(await missingBiomeFiles(inputs)),
66
+ ...weakenings.filter((weakening) => !covered(weakening)).map((weakening) => undeclared(weakening, inputs.configFile ?? "quality.config.ts")),
67
+ ...declared.flatMap(staleOrRepeated(root, weakenings, shipped)),
68
+ ];
69
+ },
70
+ description: "A Biome setting that turns a check off or down, or keeps files out of it, hides findings for every file it covers. Repair the code and remove the weakening setting.",
71
+ id: "suppressions/biome-overrides",
72
+ options: Schema.toStandardSchemaV1(BiomeOverridesOptions, { parseOptions: { errors: "all", onExcessProperty: "error" } }),
73
+ registrable: false,
74
+ });
75
+ //# sourceMappingURL=biomeOverrides.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"biomeOverrides.js","sourceRoot":"","sources":["../../../src/rules/suppressions/biomeOverrides.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import type { SourceComment } from "#rules/comments/scan.ts";
2
2
  export declare const SUPPRESSIONS: readonly RegExp[];
3
- export declare const suppressionIn: (comment: SourceComment) => string | undefined;
3
+ export declare function suppressionIn(comment: SourceComment): string | undefined;
4
4
  //# sourceMappingURL=directives.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"directives.d.ts","sourceRoot":"","sources":["../../../src/rules/suppressions/directives.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EASzC,CAAC;AAYF,eAAO,MAAM,aAAa,YAAa,aAAa,KAAG,MAAM,GAAG,SACoC,CAAC"}
1
+ {"version":3,"file":"directives.d.ts","sourceRoot":"","sources":["../../../src/rules/suppressions/directives.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EASzC,CAAC;AAYF,wBAAgB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAExE"}
@@ -10,10 +10,12 @@ export const SUPPRESSIONS = [
10
10
  ];
11
11
  const INLINE_ESLINT_CONFIG = /^eslint\s+["']?[\w@/-]+["']?\s*:/u;
12
12
  const LEADER = /^[\s/*]+/u;
13
- const directiveOn = (comment, line) => {
13
+ function directiveOn(comment, line) {
14
14
  const content = line.replace(LEADER, "");
15
15
  const patterns = comment.kind === "block" ? [...SUPPRESSIONS, INLINE_ESLINT_CONFIG] : SUPPRESSIONS;
16
16
  return patterns.map((pattern) => pattern.exec(content)?.[0].replace(/\s*:$/u, "")).find((match) => match !== undefined);
17
- };
18
- export const suppressionIn = (comment) => comment.body.map((line) => directiveOn(comment, line)).find((directive) => directive !== undefined);
17
+ }
18
+ export function suppressionIn(comment) {
19
+ return comment.body.map((line) => directiveOn(comment, line)).find((directive) => directive !== undefined);
20
+ }
19
21
  //# sourceMappingURL=directives.js.map