@shivaedev/quality 0.23.0 → 0.24.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 (272) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +4 -0
  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 +5 -3
  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 +24 -18
  22. package/dist/baseline/update.js.map +1 -1
  23. package/dist/cli/args.d.ts +1 -1
  24. package/dist/cli/args.d.ts.map +1 -1
  25. package/dist/cli/args.js +15 -9
  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 +34 -40
  34. package/dist/cli/fix.js.map +1 -1
  35. package/dist/cli/lint.d.ts +1 -1
  36. package/dist/cli/lint.d.ts.map +1 -1
  37. package/dist/cli/lint.js +1 -1
  38. package/dist/cli/lint.js.map +1 -1
  39. package/dist/cli/migrate.d.ts.map +1 -1
  40. package/dist/cli/migrate.js +1 -1
  41. package/dist/cli/migrate.js.map +1 -1
  42. package/dist/cli/run-main.js +2 -2
  43. package/dist/cli/run-main.js.map +1 -1
  44. package/dist/cli/shrink.d.ts +2 -2
  45. package/dist/cli/shrink.d.ts.map +1 -1
  46. package/dist/cli/shrink.js +9 -3
  47. package/dist/cli/shrink.js.map +1 -1
  48. package/dist/config/decode.d.ts +1 -1
  49. package/dist/config/decode.d.ts.map +1 -1
  50. package/dist/config/decode.js +13 -9
  51. package/dist/config/decode.js.map +1 -1
  52. package/dist/config/load.d.ts.map +1 -1
  53. package/dist/config/load.js +26 -20
  54. package/dist/config/load.js.map +1 -1
  55. package/dist/config/resolve.d.ts +22 -2
  56. package/dist/config/resolve.d.ts.map +1 -1
  57. package/dist/config/resolve.js +18 -10
  58. package/dist/config/resolve.js.map +1 -1
  59. package/dist/config.d.ts +1 -1
  60. package/dist/config.d.ts.map +1 -1
  61. package/dist/config.js +3 -1
  62. package/dist/config.js.map +1 -1
  63. package/dist/decoded.d.ts +2 -2
  64. package/dist/decoded.d.ts.map +1 -1
  65. package/dist/decoded.js +7 -5
  66. package/dist/decoded.js.map +1 -1
  67. package/dist/engine/baseline-file.d.ts +1 -1
  68. package/dist/engine/baseline-file.d.ts.map +1 -1
  69. package/dist/engine/baseline-file.js +4 -2
  70. package/dist/engine/baseline-file.js.map +1 -1
  71. package/dist/engine/evaluate.d.ts +2 -2
  72. package/dist/engine/evaluate.d.ts.map +1 -1
  73. package/dist/engine/evaluate.js +5 -3
  74. package/dist/engine/evaluate.js.map +1 -1
  75. package/dist/engine/run-rules.d.ts +1 -1
  76. package/dist/engine/run-rules.d.ts.map +1 -1
  77. package/dist/engine/run-rules.js +24 -14
  78. package/dist/engine/run-rules.js.map +1 -1
  79. package/dist/engine/session.d.ts.map +1 -1
  80. package/dist/engine/session.js +8 -4
  81. package/dist/engine/session.js.map +1 -1
  82. package/dist/engine/violation.d.ts +7 -7
  83. package/dist/engine/violation.d.ts.map +1 -1
  84. package/dist/engine/violation.js +22 -10
  85. package/dist/engine/violation.js.map +1 -1
  86. package/dist/exceptions/registry.d.ts +2 -2
  87. package/dist/exceptions/registry.d.ts.map +1 -1
  88. package/dist/exceptions/registry.js +10 -6
  89. package/dist/exceptions/registry.js.map +1 -1
  90. package/dist/git/base.d.ts +1 -2
  91. package/dist/git/base.d.ts.map +1 -1
  92. package/dist/git/base.js +22 -10
  93. package/dist/git/base.js.map +1 -1
  94. package/dist/git/command.d.ts +2 -2
  95. package/dist/git/command.d.ts.map +1 -1
  96. package/dist/git/command.js +13 -9
  97. package/dist/git/command.js.map +1 -1
  98. package/dist/git/history.d.ts +1 -1
  99. package/dist/git/history.d.ts.map +1 -1
  100. package/dist/git/history.js +5 -3
  101. package/dist/git/history.js.map +1 -1
  102. package/dist/inventory/collect.d.ts +1 -1
  103. package/dist/inventory/collect.d.ts.map +1 -1
  104. package/dist/inventory/collect.js +7 -5
  105. package/dist/inventory/collect.js.map +1 -1
  106. package/dist/inventory/filesystem.d.ts +1 -1
  107. package/dist/inventory/filesystem.d.ts.map +1 -1
  108. package/dist/inventory/filesystem.js +11 -7
  109. package/dist/inventory/filesystem.js.map +1 -1
  110. package/dist/inventory/ignore-scope.d.ts +4 -4
  111. package/dist/inventory/ignore-scope.d.ts.map +1 -1
  112. package/dist/inventory/ignore-scope.js +18 -9
  113. package/dist/inventory/ignore-scope.js.map +1 -1
  114. package/dist/manifests/sorted.d.ts +1 -1
  115. package/dist/manifests/sorted.d.ts.map +1 -1
  116. package/dist/manifests/sorted.js +14 -16
  117. package/dist/manifests/sorted.js.map +1 -1
  118. package/dist/report/plural.d.ts +1 -1
  119. package/dist/report/plural.d.ts.map +1 -1
  120. package/dist/report/plural.js +3 -1
  121. package/dist/report/plural.js.map +1 -1
  122. package/dist/report/render.d.ts +1 -1
  123. package/dist/report/render.d.ts.map +1 -1
  124. package/dist/report/render.js +29 -21
  125. package/dist/report/render.js.map +1 -1
  126. package/dist/report/stale.d.ts +1 -1
  127. package/dist/report/stale.d.ts.map +1 -1
  128. package/dist/report/stale.js +18 -8
  129. package/dist/report/stale.js.map +1 -1
  130. package/dist/rule.d.ts +13 -13
  131. package/dist/rule.d.ts.map +1 -1
  132. package/dist/rule.js +10 -8
  133. package/dist/rule.js.map +1 -1
  134. package/dist/rules/built-in.d.ts +1 -1
  135. package/dist/rules/built-in.d.ts.map +1 -1
  136. package/dist/rules/built-in.js +2 -0
  137. package/dist/rules/built-in.js.map +1 -1
  138. package/dist/rules/comments/kinds.d.ts +4 -4
  139. package/dist/rules/comments/kinds.d.ts.map +1 -1
  140. package/dist/rules/comments/kinds.js +16 -8
  141. package/dist/rules/comments/kinds.js.map +1 -1
  142. package/dist/rules/comments/max-per-file.d.ts.map +1 -1
  143. package/dist/rules/comments/max-per-file.js +13 -9
  144. package/dist/rules/comments/max-per-file.js.map +1 -1
  145. package/dist/rules/comments/pattern-rule.d.ts +1 -1
  146. package/dist/rules/comments/pattern-rule.d.ts.map +1 -1
  147. package/dist/rules/comments/pattern-rule.js +12 -10
  148. package/dist/rules/comments/pattern-rule.js.map +1 -1
  149. package/dist/rules/comments/scan.d.ts +3 -3
  150. package/dist/rules/comments/scan.d.ts.map +1 -1
  151. package/dist/rules/comments/scan.js +23 -19
  152. package/dist/rules/comments/scan.js.map +1 -1
  153. package/dist/rules/max-lines.d.ts.map +1 -1
  154. package/dist/rules/max-lines.js +12 -10
  155. package/dist/rules/max-lines.js.map +1 -1
  156. package/dist/rules/stories/origins.d.ts +10 -0
  157. package/dist/rules/stories/origins.d.ts.map +1 -0
  158. package/dist/rules/stories/origins.js +129 -0
  159. package/dist/rules/stories/origins.js.map +1 -0
  160. package/dist/rules/stories/prerequisites.d.ts +4 -0
  161. package/dist/rules/stories/prerequisites.d.ts.map +1 -0
  162. package/dist/rules/stories/prerequisites.js +32 -0
  163. package/dist/rules/stories/prerequisites.js.map +1 -0
  164. package/dist/rules/stories/program.d.ts +5 -0
  165. package/dist/rules/stories/program.d.ts.map +1 -0
  166. package/dist/rules/stories/program.js +22 -0
  167. package/dist/rules/stories/program.js.map +1 -0
  168. package/dist/rules/stories/specs.d.ts +2 -0
  169. package/dist/rules/stories/specs.d.ts.map +1 -0
  170. package/dist/rules/stories/specs.js +80 -0
  171. package/dist/rules/stories/specs.js.map +1 -0
  172. package/dist/rules/suppressions/biome/configs.d.ts +1 -1
  173. package/dist/rules/suppressions/biome/configs.d.ts.map +1 -1
  174. package/dist/rules/suppressions/biome/configs.js +23 -17
  175. package/dist/rules/suppressions/biome/configs.js.map +1 -1
  176. package/dist/rules/suppressions/biome/declarations.d.ts +4 -4
  177. package/dist/rules/suppressions/biome/declarations.d.ts.map +1 -1
  178. package/dist/rules/suppressions/biome/declarations.js +15 -7
  179. package/dist/rules/suppressions/biome/declarations.js.map +1 -1
  180. package/dist/rules/suppressions/biome/json.d.ts +6 -6
  181. package/dist/rules/suppressions/biome/json.d.ts.map +1 -1
  182. package/dist/rules/suppressions/biome/json.js +27 -13
  183. package/dist/rules/suppressions/biome/json.js.map +1 -1
  184. package/dist/rules/suppressions/biome/resolve.d.ts +1 -1
  185. package/dist/rules/suppressions/biome/resolve.d.ts.map +1 -1
  186. package/dist/rules/suppressions/biome/resolve.js +23 -17
  187. package/dist/rules/suppressions/biome/resolve.js.map +1 -1
  188. package/dist/rules/suppressions/biome/weakenings.d.ts +1 -1
  189. package/dist/rules/suppressions/biome/weakenings.d.ts.map +1 -1
  190. package/dist/rules/suppressions/biome/weakenings.js +78 -52
  191. package/dist/rules/suppressions/biome/weakenings.js.map +1 -1
  192. package/dist/rules/suppressions/biome-overrides.d.ts.map +1 -1
  193. package/dist/rules/suppressions/biome-overrides.js +45 -33
  194. package/dist/rules/suppressions/biome-overrides.js.map +1 -1
  195. package/dist/rules/suppressions/directives.d.ts +1 -1
  196. package/dist/rules/suppressions/directives.d.ts.map +1 -1
  197. package/dist/rules/suppressions/directives.js +5 -3
  198. package/dist/rules/suppressions/directives.js.map +1 -1
  199. package/dist/rules/suppressions/no-double-cast.d.ts.map +1 -1
  200. package/dist/rules/suppressions/no-double-cast.js +14 -10
  201. package/dist/rules/suppressions/no-double-cast.js.map +1 -1
  202. package/dist/rules/suppressions/no-inline.d.ts.map +1 -1
  203. package/dist/rules/suppressions/no-inline.js +8 -6
  204. package/dist/rules/suppressions/no-inline.js.map +1 -1
  205. package/dist/rules/suppressions/stylesheet-comments.d.ts +1 -1
  206. package/dist/rules/suppressions/stylesheet-comments.d.ts.map +1 -1
  207. package/dist/rules/suppressions/stylesheet-comments.js +11 -5
  208. package/dist/rules/suppressions/stylesheet-comments.js.map +1 -1
  209. package/dist/rules/syntax.d.ts +1 -1
  210. package/dist/rules/syntax.d.ts.map +1 -1
  211. package/dist/rules/syntax.js +2 -2
  212. package/dist/rules/syntax.js.map +1 -1
  213. package/dist/standard-schema.d.ts +6 -6
  214. package/dist/standard-schema.d.ts.map +1 -1
  215. package/docs/modules.md +2 -0
  216. package/package.json +1 -1
  217. package/src/baseline/compare.ts +5 -3
  218. package/src/baseline/format.ts +17 -10
  219. package/src/baseline/legacy.ts +4 -4
  220. package/src/baseline/rewrite.ts +2 -2
  221. package/src/baseline/update.ts +20 -16
  222. package/src/cli/args.ts +15 -10
  223. package/src/cli/baseline.ts +36 -35
  224. package/src/cli/fix.ts +39 -42
  225. package/src/cli/lint.ts +17 -19
  226. package/src/cli/migrate.ts +20 -21
  227. package/src/cli/run-main.ts +2 -2
  228. package/src/cli/shrink.ts +11 -8
  229. package/src/config/decode.ts +15 -10
  230. package/src/config/load.ts +44 -37
  231. package/src/config/resolve.ts +32 -27
  232. package/src/config.ts +3 -1
  233. package/src/decoded.ts +5 -4
  234. package/src/engine/baseline-file.ts +14 -12
  235. package/src/engine/evaluate.ts +6 -5
  236. package/src/engine/run-rules.ts +21 -13
  237. package/src/engine/session.ts +32 -25
  238. package/src/engine/violation.ts +22 -11
  239. package/src/exceptions/registry.ts +10 -8
  240. package/src/git/base.ts +45 -37
  241. package/src/git/command.ts +6 -4
  242. package/src/git/history.ts +5 -4
  243. package/src/inventory/collect.ts +39 -34
  244. package/src/inventory/filesystem.ts +38 -30
  245. package/src/inventory/ignore-scope.ts +20 -10
  246. package/src/manifests/sorted.ts +18 -18
  247. package/src/report/plural.ts +3 -1
  248. package/src/report/render.ts +23 -18
  249. package/src/report/stale.ts +33 -25
  250. package/src/rule.ts +25 -19
  251. package/src/rules/built-in.ts +2 -0
  252. package/src/rules/comments/kinds.ts +16 -9
  253. package/src/rules/comments/max-per-file.ts +15 -11
  254. package/src/rules/comments/pattern-rule.ts +5 -4
  255. package/src/rules/comments/scan.ts +18 -15
  256. package/src/rules/max-lines.ts +3 -2
  257. package/src/rules/stories/origins.ts +147 -0
  258. package/src/rules/stories/prerequisites.ts +37 -0
  259. package/src/rules/stories/program.ts +29 -0
  260. package/src/rules/stories/specs.ts +93 -0
  261. package/src/rules/suppressions/biome/configs.ts +23 -17
  262. package/src/rules/suppressions/biome/declarations.ts +15 -10
  263. package/src/rules/suppressions/biome/json.ts +25 -13
  264. package/src/rules/suppressions/biome/resolve.ts +23 -18
  265. package/src/rules/suppressions/biome/weakenings.ts +60 -41
  266. package/src/rules/suppressions/biome-overrides.ts +32 -22
  267. package/src/rules/suppressions/directives.ts +5 -4
  268. package/src/rules/suppressions/no-double-cast.ts +14 -10
  269. package/src/rules/suppressions/no-inline.ts +5 -4
  270. package/src/rules/suppressions/stylesheet-comments.ts +11 -6
  271. package/src/rules/syntax.ts +2 -2
  272. package/src/standard-schema.ts +4 -4
@@ -0,0 +1,32 @@
1
+ import { posix } from "node:path";
2
+ const DEPENDENCIES = ["dependencies", "devDependencies", "optionalDependencies", "peerDependencies"];
3
+ function object(value) {
4
+ return typeof value === "object" && value !== null && !Array.isArray(value);
5
+ }
6
+ function manifest(text) {
7
+ const value = JSON.parse(text ?? "{}");
8
+ return object(value) ? value : {};
9
+ }
10
+ export async function storyPrerequisites(inputs, packages) {
11
+ const root = manifest(await inputs.readText("package.json"));
12
+ const members = typeof root.name === "string" ? [...packages, { directory: "", name: root.name }] : packages;
13
+ const byName = new Map(members.map((member) => [member.name, member]));
14
+ const pending = ["@shivaedev/test-story"];
15
+ const directories = new Set();
16
+ while (pending.length > 0) {
17
+ const current = byName.get(pending.pop() ?? "");
18
+ if (current === undefined || directories.has(current.directory)) {
19
+ continue;
20
+ }
21
+ directories.add(current.directory);
22
+ const value = manifest(await inputs.readText(posix.join(current.directory, "package.json")));
23
+ for (const key of DEPENDENCIES) {
24
+ const dependencies = value[key];
25
+ if (object(dependencies)) {
26
+ pending.push(...Object.keys(dependencies).filter((name) => byName.has(name)));
27
+ }
28
+ }
29
+ }
30
+ return directories;
31
+ }
32
+ //# sourceMappingURL=prerequisites.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prerequisites.js","sourceRoot":"","sources":["../../../src/rules/stories/prerequisites.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAIlC,MAAM,YAAY,GAAG,CAAC,cAAc,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,kBAAkB,CAAC,CAAC;AAErG,SAAS,MAAM,CAAC,KAAc;IAC7B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,QAAQ,CAAC,IAAwB;IACzC,MAAM,KAAK,GAAY,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;IAChD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAkB,EAAE,QAAqC;IACjG,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC7G,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,IAAI,OAAO,KAAK,SAAS,IAAI,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACjE,SAAS;QACV,CAAC;QACD,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;QAC7F,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAChC,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/E,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,WAAW,CAAC;AACpB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import ts from "typescript";
2
+ import type { ImportGraph } from "#imports/graph.ts";
3
+ import type { RuleInputs } from "#rule.ts";
4
+ export declare function storyProgram(inputs: RuleInputs, graph: ImportGraph): ts.Program;
5
+ //# sourceMappingURL=program.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../../src/rules/stories/program.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,GAAG,EAAE,CAAC,OAAO,CAuB/E"}
@@ -0,0 +1,22 @@
1
+ import { join } from "node:path";
2
+ import ts from "typescript";
3
+ export function storyProgram(inputs, graph) {
4
+ const sources = new Map(inputs.sources.map((file) => [join(inputs.root, file.path), file.text]));
5
+ const targets = new Map(graph.edges.flatMap((edge) => edge.to.kind === "file" ? [[`${join(inputs.root, edge.from)}:${edge.specifier}`, join(inputs.root, edge.to.path)]] : []));
6
+ const options = { allowJs: true, noLib: true, types: [] };
7
+ const host = {
8
+ ...ts.createCompilerHost(options),
9
+ fileExists: (path) => sources.has(path),
10
+ getSourceFile: (path) => {
11
+ const text = sources.get(path);
12
+ return text === undefined ? undefined : ts.createSourceFile(path, text, ts.ScriptTarget.Latest, true);
13
+ },
14
+ readFile: (path) => sources.get(path),
15
+ resolveModuleNames: (names, from) => names.map((name) => {
16
+ const path = targets.get(`${from}:${name}`);
17
+ return path === undefined ? undefined : { extension: ts.Extension.Ts, resolvedFileName: path };
18
+ }),
19
+ };
20
+ return ts.createProgram([...sources.keys()], options, host);
21
+ }
22
+ //# sourceMappingURL=program.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../../../src/rules/stories/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,YAAY,CAAC;AAI5B,MAAM,UAAU,YAAY,CAAC,MAAkB,EAAE,KAAkB;IAClE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjG,MAAM,OAAO,GAAG,IAAI,GAAG,CACtB,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAC5B,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAChI,CACD,CAAC;IACF,MAAM,OAAO,GAAuB,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC9E,MAAM,IAAI,GAAoB;QAC7B,GAAG,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC;QACjC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QACvC,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;YACvB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC/B,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACvG,CAAC;QACD,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QACrC,kBAAkB,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CACnC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;YAC5C,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;QAChG,CAAC,CAAC;KACH,CAAC;IACF,OAAO,EAAE,CAAC,aAAa,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAC7D,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const storySpecs: import("#rule.ts").Rule<"tests/story-specs", undefined>;
2
+ //# sourceMappingURL=specs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specs.d.ts","sourceRoot":"","sources":["../../../src/rules/stories/specs.ts"],"names":[],"mappings":"AAsDA,eAAO,MAAM,UAAU,yDAsCrB,CAAC"}
@@ -0,0 +1,80 @@
1
+ import ts from "typescript";
2
+ import { importGraph } from "#imports/graph.ts";
3
+ import { packageOf } from "#imports/workspace.ts";
4
+ import { testName } from "#naming/testName.ts";
5
+ import { defineRule } from "#rule.ts";
6
+ import { storyOrigins } from "./origins.js";
7
+ import { storyPrerequisites } from "./prerequisites.js";
8
+ function namesTest(node) {
9
+ if (ts.isIdentifier(node)) {
10
+ return node.text === "it" || node.text === "test";
11
+ }
12
+ if (ts.isPropertyAccessExpression(node)) {
13
+ return node.name.text === "it" || namesTest(node.expression);
14
+ }
15
+ return ts.isCallExpression(node) && namesTest(node.expression);
16
+ }
17
+ function callback(node, origin) {
18
+ return (ts.isArrowFunction(node)
19
+ || ts.isFunctionExpression(node)
20
+ || ((ts.isIdentifier(node) || ts.isPropertyAccessExpression(node)) && origin(node) === "function"));
21
+ }
22
+ function testShaped(call, origin) {
23
+ const title = call.arguments[0];
24
+ return (title !== undefined
25
+ && (ts.isStringLiteralLike(title) || ts.isTemplateExpression(title))
26
+ && call.arguments.slice(1).some((argument) => callback(argument, origin)));
27
+ }
28
+ function declarationScope(node, origin) {
29
+ for (let current = node.parent; current !== undefined; current = current.parent) {
30
+ if (ts.isFunctionLike(current) && (!ts.isCallExpression(current.parent) || origin(current.parent.expression) !== "suite")) {
31
+ return false;
32
+ }
33
+ }
34
+ return true;
35
+ }
36
+ function uncoveredRegistration(call, originOf) {
37
+ const origin = originOf(call.expression);
38
+ if (origin === "story" || origin === "suite") {
39
+ return false;
40
+ }
41
+ return origin === "plain" || ((namesTest(call.expression) || testShaped(call, originOf)) && declarationScope(call, originOf));
42
+ }
43
+ export const storySpecs = defineRule({
44
+ check: async (inputs) => {
45
+ const graph = await importGraph(inputs);
46
+ const exempt = await storyPrerequisites(inputs, graph.packages);
47
+ const origins = storyOrigins(inputs, graph);
48
+ return inputs.sources.flatMap((file) => {
49
+ const name = testName(file.path);
50
+ const owner = packageOf(graph.packages, file.path);
51
+ if (name === undefined || name.modifiers.includes("typecheck") || exempt.has(owner?.directory ?? "")) {
52
+ return [];
53
+ }
54
+ const source = origins.source(file.path);
55
+ let plain;
56
+ function visit(node) {
57
+ if (ts.isCallExpression(node) && uncoveredRegistration(node, origins.origin)) {
58
+ plain ??= node;
59
+ }
60
+ ts.forEachChild(node, visit);
61
+ }
62
+ if (source !== undefined) {
63
+ visit(source);
64
+ }
65
+ if (source === undefined || plain === undefined) {
66
+ return [];
67
+ }
68
+ return [
69
+ {
70
+ file: file.path,
71
+ line: source.getLineAndCharacterOfPosition(plain.getStart(source)).line + 1,
72
+ message: "Declares tests without a test-story story kit. Build the package's kit with storyKit from @shivaedev/test-story/storyKit.ts in src/test-support, and declare every test through the kit's it. See https://github.com/ShivaeDev/platform/tree/main/packages/quality#story-tests.",
73
+ },
74
+ ];
75
+ });
76
+ },
77
+ description: "Every package tests its real engine through its own test-story kit. Typecheck tests and test-story's workspace prerequisites are exempt.",
78
+ id: "tests/story-specs",
79
+ });
80
+ //# sourceMappingURL=specs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specs.js","sourceRoot":"","sources":["../../../src/rules/stories/specs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,SAAS,SAAS,CAAC,IAAmB;IACrC,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;IACnD,CAAC;IACD,IAAI,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAChE,CAAC;AAID,SAAS,QAAQ,CAAC,IAAa,EAAE,MAAgB;IAChD,OAAO,CACN,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;WACrB,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC;WAC7B,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,CAClG,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,IAAuB,EAAE,MAAgB;IAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAChC,OAAO,CACN,KAAK,KAAK,SAAS;WAChB,CAAC,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;WACjE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CACzE,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAa,EAAE,MAAgB;IACxD,KAAK,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,KAAK,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QACjF,IAAI,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,EAAE,CAAC;YAC3H,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAuB,EAAE,QAAkB;IACzE,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzC,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,MAAM,KAAK,OAAO,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC/H,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC;IACpC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACvB,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACnD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC;gBACtG,OAAO,EAAE,CAAC;YACX,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,KAAoC,CAAC;YACzC,SAAS,KAAK,CAAC,IAAa;gBAC3B,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC9E,KAAK,KAAK,IAAI,CAAC;gBAChB,CAAC;gBACD,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC9B,CAAC;YACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC1B,KAAK,CAAC,MAAM,CAAC,CAAC;YACf,CAAC;YACD,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACjD,OAAO,EAAE,CAAC;YACX,CAAC;YACD,OAAO;gBACN;oBACC,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI,EAAE,MAAM,CAAC,6BAA6B,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;oBAC3E,OAAO,EACN,iRAAiR;iBAClR;aACD,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IACD,WAAW,EACV,0IAA0I;IAC3I,EAAE,EAAE,mBAAmB;CACvB,CAAC,CAAC"}
@@ -21,5 +21,5 @@ export interface BiomeConfigs {
21
21
  readonly problems: readonly Finding[];
22
22
  readonly root: string;
23
23
  }
24
- export declare const biomeConfigs: ({ files, readText }: RuleInputs) => Promise<BiomeConfigs>;
24
+ export declare function biomeConfigs({ files, readText }: RuleInputs): Promise<BiomeConfigs>;
25
25
  //# sourceMappingURL=configs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"configs.d.ts","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/configs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,KAAK,WAAW,EAAsC,MAAM,mBAAmB,CAAC;AACzF,OAAO,EAAW,KAAK,IAAI,EAA2C,MAAM,WAAW,CAAC;AAGxF,MAAM,WAAW,MAAM;IACtB,QAAQ,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAC;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,KAAK;IACrB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED,MAAM,WAAW,KAAK;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;CAClC;AA8ED,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,YAAY,wBAA+B,UAAU,KAAG,OAAO,CAAC,YAAY,CAYxF,CAAC"}
1
+ {"version":3,"file":"configs.d.ts","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/configs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,KAAK,WAAW,EAAsC,MAAM,mBAAmB,CAAC;AACzF,OAAO,EAAW,KAAK,IAAI,EAA2C,MAAM,WAAW,CAAC;AAGxF,MAAM,WAAW,MAAM;IACtB,QAAQ,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAC;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,KAAK;IACrB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED,MAAM,WAAW,KAAK;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;CAClC;AAoFD,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,YAAY,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAYzF"}
@@ -5,19 +5,23 @@ import { resolvePackage } from "./resolve.js";
5
5
  const ROOT_CONFIGS = ["biome.json", "biome.jsonc"];
6
6
  const NESTED = /(?:^|\/)biome\.jsonc?$/u;
7
7
  const RELATIVE = /^\.\.?(?:\/|$)/u;
8
- const directoryOf = (path) => (posix.dirname(path) === "." ? "" : posix.dirname(path));
9
- const read = async (readText, path) => {
8
+ function directoryOf(path) {
9
+ return posix.dirname(path) === "." ? "" : posix.dirname(path);
10
+ }
11
+ async function read(readText, path) {
10
12
  const text = await readText(path);
11
13
  return text === undefined ? { _tag: "Unreadable", reason: "the file does not exist" } : parseJsonc(path, text);
12
- };
13
- const problem = (file, message, line) => ({ layers: [], problems: [{ file, line, message }] });
14
- const local = async (readText, path) => {
14
+ }
15
+ function problem(file, message, line) {
16
+ return { layers: [], problems: [{ file, line, message }] };
17
+ }
18
+ async function local(readText, path) {
15
19
  const parsed = await read(readText, path);
16
20
  return parsed._tag === "Parsed"
17
21
  ? { layers: [{ json: parsed.json, path, preset: undefined }], problems: [] }
18
22
  : problem(path, `Cannot read this Biome config: ${parsed.reason}.`);
19
- };
20
- const fromPackage = async (readText, from, entry, specifier) => {
23
+ }
24
+ async function fromPackage(readText, from, entry, specifier) {
21
25
  const target = await resolvePackage(readText, specifier);
22
26
  if (target === undefined) {
23
27
  return problem(from, `Cannot resolve the Biome config "${specifier}" from node_modules.`, entry.line);
@@ -33,8 +37,8 @@ const fromPackage = async (readText, from, entry, specifier) => {
33
37
  }
34
38
  const preset = { declared: declared.value, file: from, line: entry.line, specifier };
35
39
  return { layers: [{ json: parsed.json, path: target, preset }], problems: [] };
36
- };
37
- const extended = async (readText, from, entry) => {
40
+ }
41
+ async function extended(readText, from, entry) {
38
42
  const specifier = textOf(entry);
39
43
  if (specifier === undefined || specifier === "//") {
40
44
  return { layers: [], problems: [] };
@@ -44,9 +48,11 @@ const extended = async (readText, from, entry) => {
44
48
  }
45
49
  const relative = posix.normalize(specifier);
46
50
  return (await readText(relative)) === undefined ? fromPackage(readText, from, entry, specifier) : local(readText, relative);
47
- };
48
- const extendsOf = (json) => itemsOf(member(json, "extends"));
49
- const chainOf = async (readText, path) => {
51
+ }
52
+ function extendsOf(json) {
53
+ return itemsOf(member(json, "extends"));
54
+ }
55
+ async function chainOf(readText, path) {
50
56
  const own = await local(readText, path);
51
57
  const [layer] = own.layers;
52
58
  if (layer === undefined) {
@@ -54,12 +60,12 @@ const chainOf = async (readText, path) => {
54
60
  }
55
61
  const parents = await Promise.all(extendsOf(layer.json).map((entry) => extended(readText, path, entry)));
56
62
  return { layers: [...parents.flatMap((parent) => parent.layers), layer], problems: parents.flatMap((parent) => parent.problems) };
57
- };
58
- const rootConfig = async (readText) => {
63
+ }
64
+ async function rootConfig(readText) {
59
65
  const present = await Promise.all(ROOT_CONFIGS.map(async (path) => ((await readText(path)) === undefined ? [] : [path])));
60
66
  return present.flat()[0];
61
- };
62
- export const biomeConfigs = async ({ files, readText }) => {
67
+ }
68
+ export async function biomeConfigs({ files, readText }) {
63
69
  const root = await rootConfig(readText);
64
70
  const rootChain = root === undefined ? { layers: [], problems: [] } : await chainOf(readText, root);
65
71
  const loaded = new Set(rootChain.layers.map((layer) => layer.path));
@@ -71,5 +77,5 @@ export const biomeConfigs = async ({ files, readText }) => {
71
77
  problems: all.flatMap((chain) => chain.problems),
72
78
  root: root ?? "biome.json",
73
79
  };
74
- };
80
+ }
75
81
  //# sourceMappingURL=configs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configs.js","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/configs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configs.js","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/configs.ts"],"names":[],"mappings":"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"}
@@ -7,12 +7,12 @@ export declare const Declaration: Schema.Struct<{
7
7
  }>;
8
8
  export type Declaration = typeof Declaration.Type;
9
9
  export declare const PRESET_DECLARATIONS = "declarations.json";
10
- export declare const decodeShipped: (text: string | undefined) => Promise<Decoded<readonly Declaration[]>>;
10
+ export declare function decodeShipped(text: string | undefined): Promise<Decoded<readonly Declaration[]>>;
11
11
  export interface Scoped {
12
12
  readonly includes: readonly string[];
13
13
  readonly rule: string;
14
14
  }
15
- export declare const matches: (declaration: Scoped, weakening: Scoped) => boolean;
16
- export declare const scoped: (base: string, glob: string) => string;
17
- export declare const scopeText: (includes: readonly string[]) => string;
15
+ export declare function matches(declaration: Scoped, weakening: Scoped): boolean;
16
+ export declare function scoped(base: string, glob: string): string;
17
+ export declare function scopeText(includes: readonly string[]): string;
18
18
  //# sourceMappingURL=declarations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"declarations.d.ts","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/declarations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,KAAK,OAAO,EAAc,MAAM,aAAa,CAAC;AAEvD,eAAO,MAAM,WAAW;;;;EAItB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;AAElD,eAAO,MAAM,mBAAmB,sBAAsB,CAAC;AAMvD,eAAO,MAAM,aAAa,SAAU,MAAM,GAAG,SAAS,KAAG,OAAO,CAAC,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC,CACD,CAAC;AAEhG,MAAM,WAAW,MAAM;IACtB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB;AAKD,eAAO,MAAM,OAAO,gBAAiB,MAAM,aAAa,MAAM,KAAG,OAC0B,CAAC;AAE5F,eAAO,MAAM,MAAM,SAAU,MAAM,QAAQ,MAAM,KAAG,MAGnD,CAAC;AAEF,eAAO,MAAM,SAAS,aAAc,SAAS,MAAM,EAAE,KAAG,MAAwD,CAAC"}
1
+ {"version":3,"file":"declarations.d.ts","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/declarations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,KAAK,OAAO,EAAc,MAAM,aAAa,CAAC;AAEvD,eAAO,MAAM,WAAW;;;;EAItB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;AAElD,eAAO,MAAM,mBAAmB,sBAAsB,CAAC;AAMvD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC,CAAC,CAEhG;AAED,MAAM,WAAW,MAAM;IACtB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB;AAMD,wBAAgB,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAEvE;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAGzD;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAE7D"}
@@ -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":"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"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/resolve.ts"],"names":[],"mappings":"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"}