@shivaedev/quality 0.22.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 (294) hide show
  1. package/CHANGELOG.md +13 -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/program.d.ts +9 -0
  43. package/dist/cli/program.d.ts.map +1 -0
  44. package/dist/cli/program.js +44 -0
  45. package/dist/cli/program.js.map +1 -0
  46. package/dist/cli/run-main.d.ts +5 -2
  47. package/dist/cli/run-main.d.ts.map +1 -1
  48. package/dist/cli/run-main.js +16 -12
  49. package/dist/cli/run-main.js.map +1 -1
  50. package/dist/cli/shrink.d.ts +2 -2
  51. package/dist/cli/shrink.d.ts.map +1 -1
  52. package/dist/cli/shrink.js +9 -3
  53. package/dist/cli/shrink.js.map +1 -1
  54. package/dist/cli.js +2 -49
  55. package/dist/cli.js.map +1 -1
  56. package/dist/config/decode.d.ts +1 -1
  57. package/dist/config/decode.d.ts.map +1 -1
  58. package/dist/config/decode.js +13 -9
  59. package/dist/config/decode.js.map +1 -1
  60. package/dist/config/load.d.ts.map +1 -1
  61. package/dist/config/load.js +26 -20
  62. package/dist/config/load.js.map +1 -1
  63. package/dist/config/resolve.d.ts +22 -2
  64. package/dist/config/resolve.d.ts.map +1 -1
  65. package/dist/config/resolve.js +18 -10
  66. package/dist/config/resolve.js.map +1 -1
  67. package/dist/config.d.ts +1 -1
  68. package/dist/config.d.ts.map +1 -1
  69. package/dist/config.js +3 -1
  70. package/dist/config.js.map +1 -1
  71. package/dist/decoded.d.ts +2 -2
  72. package/dist/decoded.d.ts.map +1 -1
  73. package/dist/decoded.js +7 -5
  74. package/dist/decoded.js.map +1 -1
  75. package/dist/engine/baseline-file.d.ts +1 -1
  76. package/dist/engine/baseline-file.d.ts.map +1 -1
  77. package/dist/engine/baseline-file.js +4 -2
  78. package/dist/engine/baseline-file.js.map +1 -1
  79. package/dist/engine/evaluate.d.ts +2 -2
  80. package/dist/engine/evaluate.d.ts.map +1 -1
  81. package/dist/engine/evaluate.js +5 -3
  82. package/dist/engine/evaluate.js.map +1 -1
  83. package/dist/engine/run-rules.d.ts +1 -1
  84. package/dist/engine/run-rules.d.ts.map +1 -1
  85. package/dist/engine/run-rules.js +24 -14
  86. package/dist/engine/run-rules.js.map +1 -1
  87. package/dist/engine/session.d.ts.map +1 -1
  88. package/dist/engine/session.js +8 -4
  89. package/dist/engine/session.js.map +1 -1
  90. package/dist/engine/violation.d.ts +7 -7
  91. package/dist/engine/violation.d.ts.map +1 -1
  92. package/dist/engine/violation.js +22 -10
  93. package/dist/engine/violation.js.map +1 -1
  94. package/dist/exceptions/registry.d.ts +2 -2
  95. package/dist/exceptions/registry.d.ts.map +1 -1
  96. package/dist/exceptions/registry.js +10 -6
  97. package/dist/exceptions/registry.js.map +1 -1
  98. package/dist/git/base.d.ts +1 -2
  99. package/dist/git/base.d.ts.map +1 -1
  100. package/dist/git/base.js +22 -10
  101. package/dist/git/base.js.map +1 -1
  102. package/dist/git/command.d.ts +2 -2
  103. package/dist/git/command.d.ts.map +1 -1
  104. package/dist/git/command.js +13 -9
  105. package/dist/git/command.js.map +1 -1
  106. package/dist/git/history.d.ts +1 -1
  107. package/dist/git/history.d.ts.map +1 -1
  108. package/dist/git/history.js +5 -3
  109. package/dist/git/history.js.map +1 -1
  110. package/dist/inventory/collect.d.ts +1 -1
  111. package/dist/inventory/collect.d.ts.map +1 -1
  112. package/dist/inventory/collect.js +7 -5
  113. package/dist/inventory/collect.js.map +1 -1
  114. package/dist/inventory/filesystem.d.ts +1 -1
  115. package/dist/inventory/filesystem.d.ts.map +1 -1
  116. package/dist/inventory/filesystem.js +11 -7
  117. package/dist/inventory/filesystem.js.map +1 -1
  118. package/dist/inventory/ignore-scope.d.ts +4 -4
  119. package/dist/inventory/ignore-scope.d.ts.map +1 -1
  120. package/dist/inventory/ignore-scope.js +18 -9
  121. package/dist/inventory/ignore-scope.js.map +1 -1
  122. package/dist/manifests/sorted.d.ts +1 -1
  123. package/dist/manifests/sorted.d.ts.map +1 -1
  124. package/dist/manifests/sorted.js +14 -16
  125. package/dist/manifests/sorted.js.map +1 -1
  126. package/dist/report/plural.d.ts +1 -1
  127. package/dist/report/plural.d.ts.map +1 -1
  128. package/dist/report/plural.js +3 -1
  129. package/dist/report/plural.js.map +1 -1
  130. package/dist/report/render.d.ts +1 -1
  131. package/dist/report/render.d.ts.map +1 -1
  132. package/dist/report/render.js +29 -21
  133. package/dist/report/render.js.map +1 -1
  134. package/dist/report/stale.d.ts +1 -1
  135. package/dist/report/stale.d.ts.map +1 -1
  136. package/dist/report/stale.js +18 -8
  137. package/dist/report/stale.js.map +1 -1
  138. package/dist/rule.d.ts +13 -13
  139. package/dist/rule.d.ts.map +1 -1
  140. package/dist/rule.js +10 -8
  141. package/dist/rule.js.map +1 -1
  142. package/dist/rules/built-in.d.ts +2 -2
  143. package/dist/rules/built-in.d.ts.map +1 -1
  144. package/dist/rules/built-in.js +6 -0
  145. package/dist/rules/built-in.js.map +1 -1
  146. package/dist/rules/comments/kinds.d.ts +4 -4
  147. package/dist/rules/comments/kinds.d.ts.map +1 -1
  148. package/dist/rules/comments/kinds.js +16 -8
  149. package/dist/rules/comments/kinds.js.map +1 -1
  150. package/dist/rules/comments/max-per-file.d.ts.map +1 -1
  151. package/dist/rules/comments/max-per-file.js +13 -9
  152. package/dist/rules/comments/max-per-file.js.map +1 -1
  153. package/dist/rules/comments/pattern-rule.d.ts +1 -1
  154. package/dist/rules/comments/pattern-rule.d.ts.map +1 -1
  155. package/dist/rules/comments/pattern-rule.js +12 -10
  156. package/dist/rules/comments/pattern-rule.js.map +1 -1
  157. package/dist/rules/comments/scan.d.ts +3 -3
  158. package/dist/rules/comments/scan.d.ts.map +1 -1
  159. package/dist/rules/comments/scan.js +23 -19
  160. package/dist/rules/comments/scan.js.map +1 -1
  161. package/dist/rules/max-lines.d.ts.map +1 -1
  162. package/dist/rules/max-lines.js +12 -10
  163. package/dist/rules/max-lines.js.map +1 -1
  164. package/dist/rules/maxDepth.d.ts +2 -0
  165. package/dist/rules/maxDepth.d.ts.map +1 -0
  166. package/dist/rules/maxDepth.js +20 -0
  167. package/dist/rules/maxDepth.js.map +1 -0
  168. package/dist/rules/noBarrel.d.ts +2 -0
  169. package/dist/rules/noBarrel.d.ts.map +1 -0
  170. package/dist/rules/noBarrel.js +14 -0
  171. package/dist/rules/noBarrel.js.map +1 -0
  172. package/dist/rules/stories/origins.d.ts +10 -0
  173. package/dist/rules/stories/origins.d.ts.map +1 -0
  174. package/dist/rules/stories/origins.js +129 -0
  175. package/dist/rules/stories/origins.js.map +1 -0
  176. package/dist/rules/stories/prerequisites.d.ts +4 -0
  177. package/dist/rules/stories/prerequisites.d.ts.map +1 -0
  178. package/dist/rules/stories/prerequisites.js +32 -0
  179. package/dist/rules/stories/prerequisites.js.map +1 -0
  180. package/dist/rules/stories/program.d.ts +5 -0
  181. package/dist/rules/stories/program.d.ts.map +1 -0
  182. package/dist/rules/stories/program.js +22 -0
  183. package/dist/rules/stories/program.js.map +1 -0
  184. package/dist/rules/stories/specs.d.ts +2 -0
  185. package/dist/rules/stories/specs.d.ts.map +1 -0
  186. package/dist/rules/stories/specs.js +80 -0
  187. package/dist/rules/stories/specs.js.map +1 -0
  188. package/dist/rules/suppressions/biome/configs.d.ts +1 -1
  189. package/dist/rules/suppressions/biome/configs.d.ts.map +1 -1
  190. package/dist/rules/suppressions/biome/configs.js +23 -17
  191. package/dist/rules/suppressions/biome/configs.js.map +1 -1
  192. package/dist/rules/suppressions/biome/declarations.d.ts +4 -4
  193. package/dist/rules/suppressions/biome/declarations.d.ts.map +1 -1
  194. package/dist/rules/suppressions/biome/declarations.js +15 -7
  195. package/dist/rules/suppressions/biome/declarations.js.map +1 -1
  196. package/dist/rules/suppressions/biome/json.d.ts +6 -6
  197. package/dist/rules/suppressions/biome/json.d.ts.map +1 -1
  198. package/dist/rules/suppressions/biome/json.js +27 -13
  199. package/dist/rules/suppressions/biome/json.js.map +1 -1
  200. package/dist/rules/suppressions/biome/resolve.d.ts +1 -1
  201. package/dist/rules/suppressions/biome/resolve.d.ts.map +1 -1
  202. package/dist/rules/suppressions/biome/resolve.js +23 -17
  203. package/dist/rules/suppressions/biome/resolve.js.map +1 -1
  204. package/dist/rules/suppressions/biome/weakenings.d.ts +1 -1
  205. package/dist/rules/suppressions/biome/weakenings.d.ts.map +1 -1
  206. package/dist/rules/suppressions/biome/weakenings.js +78 -52
  207. package/dist/rules/suppressions/biome/weakenings.js.map +1 -1
  208. package/dist/rules/suppressions/biome-overrides.d.ts.map +1 -1
  209. package/dist/rules/suppressions/biome-overrides.js +45 -33
  210. package/dist/rules/suppressions/biome-overrides.js.map +1 -1
  211. package/dist/rules/suppressions/directives.d.ts +1 -1
  212. package/dist/rules/suppressions/directives.d.ts.map +1 -1
  213. package/dist/rules/suppressions/directives.js +5 -3
  214. package/dist/rules/suppressions/directives.js.map +1 -1
  215. package/dist/rules/suppressions/no-double-cast.d.ts.map +1 -1
  216. package/dist/rules/suppressions/no-double-cast.js +14 -10
  217. package/dist/rules/suppressions/no-double-cast.js.map +1 -1
  218. package/dist/rules/suppressions/no-inline.d.ts.map +1 -1
  219. package/dist/rules/suppressions/no-inline.js +8 -6
  220. package/dist/rules/suppressions/no-inline.js.map +1 -1
  221. package/dist/rules/suppressions/stylesheet-comments.d.ts +1 -1
  222. package/dist/rules/suppressions/stylesheet-comments.d.ts.map +1 -1
  223. package/dist/rules/suppressions/stylesheet-comments.js +11 -5
  224. package/dist/rules/suppressions/stylesheet-comments.js.map +1 -1
  225. package/dist/rules/syntax.d.ts +1 -1
  226. package/dist/rules/syntax.d.ts.map +1 -1
  227. package/dist/rules/syntax.js +2 -2
  228. package/dist/rules/syntax.js.map +1 -1
  229. package/dist/standard-schema.d.ts +6 -6
  230. package/dist/standard-schema.d.ts.map +1 -1
  231. package/docs/modules.md +19 -1
  232. package/docs/roadmap.md +1 -1
  233. package/docs/rules.md +9 -1
  234. package/package.json +2 -2
  235. package/src/baseline/compare.ts +5 -3
  236. package/src/baseline/format.ts +17 -10
  237. package/src/baseline/legacy.ts +4 -4
  238. package/src/baseline/rewrite.ts +2 -2
  239. package/src/baseline/update.ts +20 -16
  240. package/src/cli/args.ts +15 -10
  241. package/src/cli/baseline.ts +36 -35
  242. package/src/cli/fix.ts +39 -42
  243. package/src/cli/lint.ts +17 -19
  244. package/src/cli/migrate.ts +20 -21
  245. package/src/cli/program.ts +50 -0
  246. package/src/cli/run-main.ts +19 -13
  247. package/src/cli/shrink.ts +11 -8
  248. package/src/cli.ts +2 -51
  249. package/src/config/decode.ts +15 -10
  250. package/src/config/load.ts +44 -37
  251. package/src/config/resolve.ts +32 -27
  252. package/src/config.ts +3 -1
  253. package/src/decoded.ts +5 -4
  254. package/src/engine/baseline-file.ts +14 -12
  255. package/src/engine/evaluate.ts +6 -5
  256. package/src/engine/run-rules.ts +21 -13
  257. package/src/engine/session.ts +32 -25
  258. package/src/engine/violation.ts +22 -11
  259. package/src/exceptions/registry.ts +10 -8
  260. package/src/git/base.ts +45 -37
  261. package/src/git/command.ts +6 -4
  262. package/src/git/history.ts +5 -4
  263. package/src/inventory/collect.ts +39 -34
  264. package/src/inventory/filesystem.ts +38 -30
  265. package/src/inventory/ignore-scope.ts +20 -10
  266. package/src/manifests/sorted.ts +18 -18
  267. package/src/report/plural.ts +3 -1
  268. package/src/report/render.ts +23 -18
  269. package/src/report/stale.ts +33 -25
  270. package/src/rule.ts +25 -19
  271. package/src/rules/built-in.ts +6 -0
  272. package/src/rules/comments/kinds.ts +16 -9
  273. package/src/rules/comments/max-per-file.ts +15 -11
  274. package/src/rules/comments/pattern-rule.ts +5 -4
  275. package/src/rules/comments/scan.ts +18 -15
  276. package/src/rules/max-lines.ts +3 -2
  277. package/src/rules/maxDepth.ts +24 -0
  278. package/src/rules/noBarrel.ts +16 -0
  279. package/src/rules/stories/origins.ts +147 -0
  280. package/src/rules/stories/prerequisites.ts +37 -0
  281. package/src/rules/stories/program.ts +29 -0
  282. package/src/rules/stories/specs.ts +93 -0
  283. package/src/rules/suppressions/biome/configs.ts +23 -17
  284. package/src/rules/suppressions/biome/declarations.ts +15 -10
  285. package/src/rules/suppressions/biome/json.ts +25 -13
  286. package/src/rules/suppressions/biome/resolve.ts +23 -18
  287. package/src/rules/suppressions/biome/weakenings.ts +60 -41
  288. package/src/rules/suppressions/biome-overrides.ts +32 -22
  289. package/src/rules/suppressions/directives.ts +5 -4
  290. package/src/rules/suppressions/no-double-cast.ts +14 -10
  291. package/src/rules/suppressions/no-inline.ts +5 -4
  292. package/src/rules/suppressions/stylesheet-comments.ts +11 -6
  293. package/src/rules/syntax.ts +2 -2
  294. package/src/standard-schema.ts +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"load.js","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"load.js","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,29 @@ import { Effect } from "effect";
2
2
  import type { Decoded } from "#decoded.ts";
3
3
  import type { ActiveRule } from "#engine/run-rules.ts";
4
4
  import type { RuleIndex } from "#engine/violation.ts";
5
- import type { ConfigInput } from "./decode.ts";
5
+ import type { Rule } from "#rule.ts";
6
6
  export interface ResolvedRules extends RuleIndex {
7
7
  readonly active: readonly ActiveRule[];
8
8
  }
9
- export declare const resolveRules: (config: ConfigInput) => Effect.Effect<Decoded<ResolvedRules>>;
9
+ export declare const resolveRules: (config: {
10
+ readonly adopt?: never;
11
+ readonly baseline?: string;
12
+ readonly exceptions?: readonly {
13
+ readonly files: readonly [string, ...string[]];
14
+ readonly reason: string;
15
+ readonly rules: readonly [string, ...string[]];
16
+ readonly subject?: string;
17
+ }[];
18
+ readonly extensions?: readonly string[];
19
+ readonly local?: readonly Rule<string, unknown>[];
20
+ readonly preCommit?: never;
21
+ readonly registry?: string;
22
+ readonly rules?: {
23
+ readonly [x: string]: "error" | {
24
+ readonly level?: "error";
25
+ readonly options?: unknown;
26
+ };
27
+ };
28
+ readonly sources?: readonly string[];
29
+ }) => Effect.Effect<Decoded<ResolvedRules>, never, never>;
10
30
  //# sourceMappingURL=resolve.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC/C,QAAQ,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;CACvC;AAwCD,eAAO,MAAM,YAAY,WAAY,WAAW,KAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAoBpF,CAAC"}
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAIrC,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC/C,QAAQ,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;CACvC;AA8CD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;yDAmBvB,CAAC"}
@@ -1,8 +1,14 @@
1
1
  import { Effect } from "effect";
2
2
  import { builtInRules } from "#rules/built-in.ts";
3
- const messageOf = (cause) => (cause instanceof Error ? cause.message : String(cause));
4
- const optionsOf = (setting) => (typeof setting === "object" ? setting.options : undefined);
5
- const duplicateIssues = (rules) => rules.flatMap((rule, index) => rules.findIndex((other) => other.id === rule.id) === index ? [] : [`local: rule id "${rule.id}" is already defined`]);
3
+ function messageOf(cause) {
4
+ return cause instanceof Error ? cause.message : String(cause);
5
+ }
6
+ function optionsOf(setting) {
7
+ return typeof setting === "object" ? setting.options : undefined;
8
+ }
9
+ function duplicateIssues(rules) {
10
+ return rules.flatMap((rule, index) => rules.findIndex((other) => other.id === rule.id) === index ? [] : [`local: rule id "${rule.id}" is already defined`]);
11
+ }
6
12
  function activeRule(rule, check) {
7
13
  return {
8
14
  check,
@@ -13,13 +19,15 @@ function activeRule(rule, check) {
13
19
  registrable: rule.registrable !== false,
14
20
  };
15
21
  }
16
- const activate = (rule, setting) => Effect.tryPromise({ catch: messageOf, try: () => rule.configure(optionsOf(setting)) }).pipe(Effect.map((configured) => configured._tag === "Invalid"
17
- ? { _tag: "Invalid", issues: configured.issues.map((issue) => `rules.${rule.id}.options: ${issue}`) }
18
- : {
19
- _tag: "Valid",
20
- value: activeRule(rule, configured.check),
21
- }), Effect.catch((failure) => Effect.succeed({ _tag: "Invalid", issues: [`rules.${rule.id}.options: validation threw: ${failure}`] })));
22
- export const resolveRules = (config) => Effect.gen(function* () {
22
+ function activate(rule, setting) {
23
+ return Effect.tryPromise({ catch: messageOf, try: () => rule.configure(optionsOf(setting)) }).pipe(Effect.map((configured) => configured._tag === "Invalid"
24
+ ? { _tag: "Invalid", issues: configured.issues.map((issue) => `rules.${rule.id}.options: ${issue}`) }
25
+ : {
26
+ _tag: "Valid",
27
+ value: activeRule(rule, configured.check),
28
+ }), Effect.catch((failure) => Effect.succeed({ _tag: "Invalid", issues: [`rules.${rule.id}.options: validation threw: ${failure}`] })));
29
+ }
30
+ export const resolveRules = Effect.fn("Config.resolveRules")(function* (config) {
23
31
  const rules = [...builtInRules, ...(config.local ?? [])];
24
32
  const settings = config.rules ?? {};
25
33
  const known = new Set(rules.map((rule) => rule.id));
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -20,6 +20,6 @@ export interface QualityConfig<TLocal extends readonly Rule[] = readonly Rule[]>
20
20
  readonly rules?: RuleSettings<readonly [...BuiltInRules, ...TLocal]>;
21
21
  readonly sources?: readonly string[];
22
22
  }
23
- export declare const defineConfig: <const TLocal extends readonly Rule[] = readonly []>(config: QualityConfig<TLocal>) => QualityConfig<TLocal>;
23
+ export declare function defineConfig<const TLocal extends readonly Rule[] = readonly []>(config: QualityConfig<TLocal>): QualityConfig<TLocal>;
24
24
  export {};
25
25
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAE7C,MAAM,MAAM,WAAW,CAAC,MAAM,IAAI,OAAO,GAAG;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpG,KAAK,OAAO,CAAC,UAAU,IAAI,UAAU,SAAS,IAAI,CAAC,MAAM,EAAE,MAAM,MAAM,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC;AAE1F,MAAM,MAAM,YAAY,CAAC,MAAM,SAAS,SAAS,IAAI,EAAE,IAAI;IAC1D,QAAQ,EAAE,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;CAC9F,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC;AAE/C,MAAM,WAAW,aAAa,CAAC,MAAM,SAAS,SAAS,IAAI,EAAE,GAAG,SAAS,IAAI,EAAE;IAC9E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACtD,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,YAAY,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;IACrE,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,eAAO,MAAM,YAAY,GAAI,KAAK,CAAC,MAAM,SAAS,SAAS,IAAI,EAAE,GAAG,SAAS,EAAE,UAAU,aAAa,CAAC,MAAM,CAAC,KAAG,aAAa,CAAC,MAAM,CAAW,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAE7C,MAAM,MAAM,WAAW,CAAC,MAAM,IAAI,OAAO,GAAG;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpG,KAAK,OAAO,CAAC,UAAU,IAAI,UAAU,SAAS,IAAI,CAAC,MAAM,EAAE,MAAM,MAAM,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC;AAE1F,MAAM,MAAM,YAAY,CAAC,MAAM,SAAS,SAAS,IAAI,EAAE,IAAI;IAC1D,QAAQ,EAAE,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;CAC9F,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC;AAE/C,MAAM,WAAW,aAAa,CAAC,MAAM,SAAS,SAAS,IAAI,EAAE,GAAG,SAAS,IAAI,EAAE;IAC9E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACtD,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,YAAY,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;IACrE,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,wBAAgB,YAAY,CAAC,KAAK,CAAC,MAAM,SAAS,SAAS,IAAI,EAAE,GAAG,SAAS,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAErI"}
package/dist/config.js CHANGED
@@ -1,2 +1,4 @@
1
- export const defineConfig = (config) => config;
1
+ export function defineConfig(config) {
2
+ return config;
3
+ }
2
4
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AA0BA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAqD,MAA6B,EAAyB,EAAE,CAAC,MAAM,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AA0BA,MAAM,UAAU,YAAY,CAAqD,MAA6B;IAC7G,OAAO,MAAM,CAAC;AACf,CAAC"}
package/dist/decoded.d.ts CHANGED
@@ -8,6 +8,6 @@ export type Decoded<TValue> = {
8
8
  readonly _tag: "Invalid";
9
9
  readonly issues: readonly string[];
10
10
  };
11
- export declare const decodeWith: <TOutput>(schema: StandardSchemaV1<unknown, TOutput>, value: unknown) => Promise<Decoded<TOutput>>;
12
- export declare const validOrFail: <TValue>(file: string, decoded: Decoded<TValue>) => Effect.Effect<TValue, SetupFailure>;
11
+ export declare function decodeWith<TOutput>(schema: StandardSchemaV1<unknown, TOutput>, value: unknown): Promise<Decoded<TOutput>>;
12
+ export declare function validOrFail<TValue>(file: string, decoded: Decoded<TValue>): Effect.Effect<TValue, SetupFailure>;
13
13
  //# sourceMappingURL=decoded.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"decoded.d.ts","sourceRoot":"","sources":["../src/decoded.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAiB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE5E,MAAM,MAAM,OAAO,CAAC,MAAM,IAAI;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AAEpJ,eAAO,MAAM,UAAU,GAAU,OAAO,UAAU,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,OAAO,KAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAG9H,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,MAAM,QAAQ,MAAM,WAAW,OAAO,CAAC,MAAM,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAGmB,CAAC"}
1
+ {"version":3,"file":"decoded.d.ts","sourceRoot":"","sources":["../src/decoded.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAiB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE5E,MAAM,MAAM,OAAO,CAAC,MAAM,IAAI;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AAEpJ,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAG/H;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAI/G"}
package/dist/decoded.js CHANGED
@@ -1,11 +1,13 @@
1
1
  import { Effect } from "effect";
2
2
  import { SetupFailure } from "./failure.js";
3
3
  import { describeIssue } from "./standard-schema.js";
4
- export const decodeWith = async (schema, value) => {
4
+ export async function decodeWith(schema, value) {
5
5
  const result = await schema["~standard"].validate(value);
6
6
  return result.issues === undefined ? { _tag: "Valid", value: result.value } : { _tag: "Invalid", issues: result.issues.map(describeIssue) };
7
- };
8
- export const validOrFail = (file, decoded) => decoded._tag === "Valid"
9
- ? Effect.succeed(decoded.value)
10
- : Effect.fail(new SetupFailure({ message: `${file} is invalid:\n${decoded.issues.map((issue) => ` - ${issue}`).join("\n")}` }));
7
+ }
8
+ export function validOrFail(file, decoded) {
9
+ return decoded._tag === "Valid"
10
+ ? Effect.succeed(decoded.value)
11
+ : Effect.fail(new SetupFailure({ message: `${file} is invalid:\n${decoded.issues.map((issue) => ` - ${issue}`).join("\n")}` }));
12
+ }
11
13
  //# sourceMappingURL=decoded.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"decoded.js","sourceRoot":"","sources":["../src/decoded.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAyB,MAAM,sBAAsB,CAAC;AAI5E,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAAW,MAA0C,EAAE,KAAc,EAA6B,EAAE;IAClI,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzD,OAAO,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;AAC7I,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAS,IAAY,EAAE,OAAwB,EAAuC,EAAE,CAClH,OAAO,CAAC,IAAI,KAAK,OAAO;IACvB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;IAC/B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,iBAAiB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"decoded.js","sourceRoot":"","sources":["../src/decoded.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAyB,MAAM,sBAAsB,CAAC;AAI5E,MAAM,CAAC,KAAK,UAAU,UAAU,CAAU,MAA0C,EAAE,KAAc;IACnG,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzD,OAAO,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;AAC7I,CAAC;AAED,MAAM,UAAU,WAAW,CAAS,IAAY,EAAE,OAAwB;IACzE,OAAO,OAAO,CAAC,IAAI,KAAK,OAAO;QAC9B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QAC/B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,iBAAiB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACnI,CAAC"}
@@ -6,6 +6,6 @@ export interface BaselineFile {
6
6
  readonly entries: readonly BaselineEntry[];
7
7
  readonly raw: string | undefined;
8
8
  }
9
- export declare const readInput: (root: string, path: string) => Effect.Effect<string | undefined, SetupFailure, FileSystem.FileSystem>;
9
+ export declare function readInput(root: string, path: string): Effect.Effect<string | undefined, SetupFailure, FileSystem.FileSystem>;
10
10
  export declare const readBaseline: (config: ResolvedConfig) => Effect.Effect<BaselineFile, SetupFailure, FileSystem.FileSystem>;
11
11
  //# sourceMappingURL=baseline-file.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"baseline-file.d.ts","sourceRoot":"","sources":["../../src/engine/baseline-file.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,KAAK,aAAa,EAAkB,MAAM,qBAAqB,CAAC;AAEzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,CAAC;IAC3C,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,eAAO,MAAM,SAAS,SAAU,MAAM,QAAQ,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC,UAAU,CACX,CAAC;AAElH,eAAO,MAAM,YAAY,WAAY,cAAc,KAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,UAAU,CAAC,UAAU,CASlH,CAAC"}
1
+ {"version":3,"file":"baseline-file.d.ts","sourceRoot":"","sources":["../../src/engine/baseline-file.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,KAAK,aAAa,EAAkB,MAAM,qBAAqB,CAAC;AAEzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,CAAC;IAC3C,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC,UAAU,CAAC,CAE5H;AAED,eAAO,MAAM,YAAY,8FAUvB,CAAC"}
@@ -5,8 +5,10 @@ import { LEGACY_BASELINE } from "#baseline/legacy.ts";
5
5
  import { validOrFail } from "#decoded.ts";
6
6
  import { SetupFailure } from "#failure.ts";
7
7
  import { readOptionalText } from "#inventory/filesystem.ts";
8
- export const readInput = (root, path) => Effect.mapError(readOptionalText(join(root, path)), (failure) => new SetupFailure({ message: failure.message }));
9
- export const readBaseline = (config) => Effect.gen(function* () {
8
+ export function readInput(root, path) {
9
+ return Effect.mapError(readOptionalText(join(root, path)), (failure) => new SetupFailure({ message: failure.message }));
10
+ }
11
+ export const readBaseline = Effect.fn("Engine.readBaseline")(function* (config) {
10
12
  const raw = yield* readInput(config.root, config.baseline);
11
13
  if (raw === undefined && config.baseline !== LEGACY_BASELINE && (yield* readInput(config.root, LEGACY_BASELINE)) !== undefined) {
12
14
  return yield* new SetupFailure({
@@ -1 +1 @@
1
- {"version":3,"file":"baseline-file.js","sourceRoot":"","sources":["../../src/engine/baseline-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAmB,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAsB,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAO5D,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,IAAY,EAA0E,EAAE,CAC/H,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AAElH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAsB,EAAoE,EAAE,CACxH,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IACnB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC3D,IAAI,GAAG,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,eAAe,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAChI,OAAO,KAAK,CAAC,CAAC,IAAI,YAAY,CAAC;YAC9B,OAAO,EAAE,GAAG,eAAe,gGAAgG,MAAM,CAAC,QAAQ,GAAG;SAC7I,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;AAChH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"baseline-file.js","sourceRoot":"","sources":["../../src/engine/baseline-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAmB,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAsB,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAO5D,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,IAAY;IACnD,OAAO,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AACzH,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,EACrE,MAAsB;IAEtB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC3D,IAAI,GAAG,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,eAAe,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAChI,OAAO,KAAK,CAAC,CAAC,IAAI,YAAY,CAAC;YAC9B,OAAO,EAAE,GAAG,eAAe,gGAAgG,MAAM,CAAC,QAAQ,GAAG;SAC7I,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;AAChH,CAAC,CAAC,CAAC"}
@@ -12,6 +12,6 @@ export interface Outcome {
12
12
  readonly staleRegistry: readonly StaleRegistryEntry[];
13
13
  readonly warnings: readonly Violation[];
14
14
  }
15
- export declare const evaluate: (violations: readonly Violation[], registry: readonly RegistryEntry[], baseline: readonly BaselineEntry[], rules: RuleIndex) => Outcome;
16
- export declare const passes: (outcome: Outcome) => boolean;
15
+ export declare function evaluate(violations: readonly Violation[], registry: readonly RegistryEntry[], baseline: readonly BaselineEntry[], rules: RuleIndex): Outcome;
16
+ export declare function passes(outcome: Outcome): boolean;
17
17
  //# sourceMappingURL=evaluate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/engine/evaluate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,UAAU,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAiB,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACrG,OAAO,EAAc,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE5E,MAAM,WAAW,OAAO;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IACtC,QAAQ,CAAC,aAAa,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACtD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IAC5C,QAAQ,CAAC,aAAa,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACtD,QAAQ,CAAC,aAAa,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACtD,QAAQ,CAAC,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC;CACxC;AAED,eAAO,MAAM,QAAQ,eACR,SAAS,SAAS,EAAE,YACtB,SAAS,aAAa,EAAE,YACxB,SAAS,aAAa,EAAE,SAC3B,SAAS,KACd,OAcF,CAAC;AAEF,eAAO,MAAM,MAAM,YAAa,OAAO,KAAG,OAC8D,CAAC"}
1
+ {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/engine/evaluate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,UAAU,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAiB,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACrG,OAAO,EAAc,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE5E,MAAM,WAAW,OAAO;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IACtC,QAAQ,CAAC,aAAa,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACtD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IAC5C,QAAQ,CAAC,aAAa,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACtD,QAAQ,CAAC,aAAa,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACtD,QAAQ,CAAC,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC;CACxC;AAED,wBAAgB,QAAQ,CACvB,UAAU,EAAE,SAAS,SAAS,EAAE,EAChC,QAAQ,EAAE,SAAS,aAAa,EAAE,EAClC,QAAQ,EAAE,SAAS,aAAa,EAAE,EAClC,KAAK,EAAE,SAAS,GACd,OAAO,CAcT;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEhD"}
@@ -1,7 +1,7 @@
1
1
  import { applyBaseline } from "#baseline/compare.ts";
2
2
  import { applyRegistry } from "#exceptions/registry.ts";
3
3
  import { byLocation } from "./violation.js";
4
- export const evaluate = (violations, registry, baseline, rules) => {
4
+ export function evaluate(violations, registry, baseline, rules) {
5
5
  const registered = applyRegistry(violations, registry, rules);
6
6
  const baselined = applyBaseline(registered.kept, baseline, rules);
7
7
  const kept = [...baselined.kept].sort(byLocation);
@@ -15,6 +15,8 @@ export const evaluate = (violations, registry, baseline, rules) => {
15
15
  staleRegistry: registered.stale,
16
16
  warnings: kept.filter((violation) => violation.level === "warn"),
17
17
  };
18
- };
19
- export const passes = (outcome) => outcome.errors.length === 0 && outcome.staleBaseline.length === 0 && outcome.staleRegistry.length === 0;
18
+ }
19
+ export function passes(outcome) {
20
+ return outcome.errors.length === 0 && outcome.staleBaseline.length === 0 && outcome.staleRegistry.length === 0;
21
+ }
20
22
  //# sourceMappingURL=evaluate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../src/engine/evaluate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA4C,MAAM,sBAAsB,CAAC;AAE/F,OAAO,EAAE,aAAa,EAA+C,MAAM,yBAAyB,CAAC;AACrG,OAAO,EAAE,UAAU,EAAkC,MAAM,gBAAgB,CAAC;AAa5E,MAAM,CAAC,MAAM,QAAQ,GAAG,CACvB,UAAgC,EAChC,QAAkC,EAClC,QAAkC,EAClC,KAAgB,EACN,EAAE;IACZ,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAClD,OAAO;QACN,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,KAAK,OAAO,CAAC;QAC/D,aAAa,EAAE,SAAS,CAAC,KAAK;QAC9B,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,aAAa,EAAE,SAAS,CAAC,KAAK;QAC9B,aAAa,EAAE,UAAU,CAAC,KAAK;QAC/B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,KAAK,MAAM,CAAC;KAChE,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAgB,EAAW,EAAE,CACnD,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../src/engine/evaluate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA4C,MAAM,sBAAsB,CAAC;AAE/F,OAAO,EAAE,aAAa,EAA+C,MAAM,yBAAyB,CAAC;AACrG,OAAO,EAAE,UAAU,EAAkC,MAAM,gBAAgB,CAAC;AAa5E,MAAM,UAAU,QAAQ,CACvB,UAAgC,EAChC,QAAkC,EAClC,QAAkC,EAClC,KAAgB;IAEhB,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAClD,OAAO;QACN,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,KAAK,OAAO,CAAC;QAC/D,aAAa,EAAE,SAAS,CAAC,KAAK;QAC9B,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,aAAa,EAAE,SAAS,CAAC,KAAK;QAC9B,aAAa,EAAE,UAAU,CAAC,KAAK;QAC/B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,KAAK,MAAM,CAAC;KAChE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,OAAgB;IACtC,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC;AAChH,CAAC"}
@@ -10,5 +10,5 @@ export interface ActiveRule {
10
10
  readonly level: ActiveLevel;
11
11
  readonly registrable?: boolean;
12
12
  }
13
- export declare const runRules: (rules: readonly ActiveRule[], inputs: RuleInputs) => Effect.Effect<readonly Violation[], SetupFailure>;
13
+ export declare function runRules(rules: readonly ActiveRule[], inputs: RuleInputs): Effect.Effect<readonly Violation[], SetupFailure>;
14
14
  //# sourceMappingURL=run-rules.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-rules.d.ts","sourceRoot":"","sources":["../../src/engine/run-rules.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EAAW,QAAQ,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE7D,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAC/B;AAuCD,eAAO,MAAM,QAAQ,UAAW,SAAS,UAAU,EAAE,UAAU,UAAU,KAAG,MAAM,CAAC,MAAM,CAAC,SAAS,SAAS,EAAE,EAAE,YAAY,CAI1H,CAAC"}
1
+ {"version":3,"file":"run-rules.d.ts","sourceRoot":"","sources":["../../src/engine/run-rules.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EAAW,QAAQ,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE7D,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAC/B;AA8CD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,SAAS,EAAE,EAAE,YAAY,CAAC,CAK5H"}
@@ -2,9 +2,13 @@ import { isAbsolute, relative } from "node:path";
2
2
  import { Effect } from "effect";
3
3
  import { SetupFailure } from "#failure.ts";
4
4
  import { posix } from "#inventory/ignore-scope.ts";
5
- const messageOf = (cause) => (cause instanceof Error ? cause.message : String(cause));
5
+ function messageOf(cause) {
6
+ return cause instanceof Error ? cause.message : String(cause);
7
+ }
6
8
  // Registry and baseline entries match on the path, so every finding names its file the same way.
7
- const repositoryPath = (root, file) => posix(isAbsolute(file) ? relative(root, file) : file).replace(/^(\.\/)+/u, "");
9
+ function repositoryPath(root, file) {
10
+ return posix(isAbsolute(file) ? relative(root, file) : file).replace(/^(?:\.\/)+/u, "");
11
+ }
8
12
  function exceptionHint(rule, finding, file, config) {
9
13
  const id = rule.family && finding.subject !== undefined ? `${rule.id}/${finding.subject}` : rule.id;
10
14
  const biome = /^biome\/(?:lint|assist)\/[a-zA-Z]+\/[a-zA-Z]+$/u.test(id);
@@ -19,16 +23,22 @@ function exceptionHint(rule, finding, file, config) {
19
23
  });
20
24
  return ` For a permanent exception, add to exceptions in ${config}: ${shape}.`;
21
25
  }
22
- const violationOf = (rule, root, finding, exceptionFile) => ({
23
- ...finding,
24
- file: repositoryPath(root, finding.file),
25
- level: rule.level,
26
- message: finding.message + exceptionHint(rule, finding, repositoryPath(root, finding.file), exceptionFile),
27
- rule: rule.family && finding.subject !== undefined ? `${rule.id}/${finding.subject}` : rule.id,
28
- });
29
- const runRule = (rule, inputs, exceptionFile) => Effect.map(Effect.tryPromise({
30
- catch: (cause) => new SetupFailure({ message: `rule ${rule.id} failed: ${messageOf(cause)}` }),
31
- try: () => rule.check(inputs),
32
- }), (findings) => findings.map((finding) => violationOf(rule, inputs.root, finding, exceptionFile)));
33
- export const runRules = (rules, inputs) => Effect.map(Effect.forEach(rules, (rule) => runRule(rule, inputs, inputs.configFile ?? "quality.config.ts"), { concurrency: "unbounded" }), (results) => results.flat());
26
+ function violationOf(rule, root, finding, exceptionFile) {
27
+ return {
28
+ ...finding,
29
+ file: repositoryPath(root, finding.file),
30
+ level: rule.level,
31
+ message: finding.message + exceptionHint(rule, finding, repositoryPath(root, finding.file), exceptionFile),
32
+ rule: rule.family && finding.subject !== undefined ? `${rule.id}/${finding.subject}` : rule.id,
33
+ };
34
+ }
35
+ function runRule(rule, inputs, exceptionFile) {
36
+ return Effect.map(Effect.tryPromise({
37
+ catch: (cause) => new SetupFailure({ message: `rule ${rule.id} failed: ${messageOf(cause)}` }),
38
+ try: () => rule.check(inputs),
39
+ }), (findings) => findings.map((finding) => violationOf(rule, inputs.root, finding, exceptionFile)));
40
+ }
41
+ export function runRules(rules, inputs) {
42
+ return Effect.map(Effect.forEach(rules, (rule) => runRule(rule, inputs, inputs.configFile ?? "quality.config.ts"), { concurrency: "unbounded" }), (results) => results.flat());
43
+ }
34
44
  //# sourceMappingURL=run-rules.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-rules.js","sourceRoot":"","sources":["../../src/engine/run-rules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-rules.js","sourceRoot":"","sources":["../../src/engine/run-rules.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/engine/session.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAElE,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7E,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAE,KAAK,YAAY,EAA2B,MAAM,oBAAoB,CAAC;AAEhF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,WAAW,OAAO;IACvB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;CAC1C;AAMD,eAAO,MAAM,IAAI,WAAY,cAAc,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,YAAY,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,UAAU,CAcvI,CAAC;AAEJ,eAAO,MAAM,WAAW,QAAS,MAAM,cAAc,MAAM,GAAG,SAAS,KAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC,UAAU,CAQjI,CAAC"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/engine/session.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAElE,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7E,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAE,KAAK,YAAY,EAA2B,MAAM,oBAAoB,CAAC;AAEhF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,WAAW,OAAO;IACvB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;CAC1C;AAQD,eAAO,MAAM,IAAI,2HAiBf,CAAC;AAEH,eAAO,MAAM,WAAW,8GAUtB,CAAC"}
@@ -9,11 +9,15 @@ import { collectInventory } from "#inventory/collect.ts";
9
9
  import { readOptionalText } from "#inventory/filesystem.ts";
10
10
  import { readBaseline, readInput } from "./baseline-file.js";
11
11
  import { runRules } from "./run-rules.js";
12
- const setup = (effect) => Effect.mapError(effect, (failure) => new SetupFailure({ message: failure.message }));
13
- export const scan = (config) => Effect.gen(function* () {
12
+ function setup(effect) {
13
+ return Effect.mapError(effect, (failure) => new SetupFailure({ message: failure.message }));
14
+ }
15
+ export const scan = Effect.fn("Engine.scan")(function* (config) {
14
16
  const inventory = yield* setup(collectInventory(config.root, config));
15
17
  const services = yield* Effect.context();
16
- const readText = (path) => Effect.runPromiseWith(services)(readOptionalText(resolve(config.root, path)));
18
+ function readText(path) {
19
+ return Effect.runPromiseWith(services)(readOptionalText(resolve(config.root, path)));
20
+ }
17
21
  const violations = yield* runRules(config.active, {
18
22
  configFile: relative(config.root, config.file),
19
23
  exceptions: config.exceptions,
@@ -24,7 +28,7 @@ export const scan = (config) => Effect.gen(function* () {
24
28
  });
25
29
  return { inventory, violations };
26
30
  });
27
- export const openSession = (cwd, configPath) => Effect.gen(function* () {
31
+ export const openSession = Effect.fn("Engine.openSession")(function* (cwd, configPath) {
28
32
  const config = yield* loadConfig(cwd, configPath);
29
33
  const registryRaw = yield* readInput(config.root, config.registry);
30
34
  const registry = yield* validOrFail(config.registry, yield* Effect.promise(() => decodeRegistry(registryRaw)));
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/engine/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/engine/session.ts"],"names":[],"mappings":"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"}
@@ -5,16 +5,16 @@ export interface Violation extends Finding {
5
5
  readonly level: ActiveLevel;
6
6
  readonly rule: string;
7
7
  }
8
- export declare const keyOf: (rule: string, file: string) => string;
9
- export declare const byLocation: (left: Violation, right: Violation) => number;
10
- export declare const groupBy: <TItem>(items: readonly TItem[], key: (item: TItem) => string) => ReadonlyMap<string, readonly TItem[]>;
8
+ export declare function keyOf(rule: string, file: string): string;
9
+ export declare function byLocation(left: Violation, right: Violation): number;
10
+ export declare function groupBy<TItem>(items: readonly TItem[], key: (item: TItem) => string): ReadonlyMap<string, readonly TItem[]>;
11
11
  export interface RuleIndex {
12
12
  readonly families: ReadonlySet<string>;
13
13
  readonly levels: ReadonlyMap<string, Level>;
14
14
  readonly unregistrable: ReadonlySet<string>;
15
15
  }
16
- export declare const covers: (name: string, rule: string) => boolean;
17
- export declare const levelOf: (index: RuleIndex, rule: string) => Level | undefined;
18
- export declare const registrable: (index: RuleIndex, rule: string) => boolean;
19
- export declare const unusedEntryProblem: (index: RuleIndex, rule: string, unused: string) => string;
16
+ export declare function covers(name: string, rule: string): boolean;
17
+ export declare function levelOf(index: RuleIndex, rule: string): Level | undefined;
18
+ export declare function registrable(index: RuleIndex, rule: string): boolean;
19
+ export declare function unusedEntryProblem(index: RuleIndex, rule: string, unused: string): string;
20
20
  //# sourceMappingURL=violation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"violation.d.ts","sourceRoot":"","sources":["../../src/engine/violation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;AAE3C,MAAM,WAAW,SAAU,SAAQ,OAAO;IACzC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,KAAK,SAAU,MAAM,QAAQ,MAAM,KAAG,MAAgC,CAAC;AAEpF,eAAO,MAAM,UAAU,SAAU,SAAS,SAAS,SAAS,KAAG,MACoD,CAAC;AAEpH,eAAO,MAAM,OAAO,GAAI,KAAK,SAAS,SAAS,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,KAAK,MAAM,KAAG,WAAW,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAW1H,CAAC;AAEF,MAAM,WAAW,SAAS;IACzB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5C,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC5C;AAED,eAAO,MAAM,MAAM,SAAU,MAAM,QAAQ,MAAM,KAAG,OAAuD,CAAC;AAI5G,eAAO,MAAM,OAAO,UAAW,SAAS,QAAQ,MAAM,KAAG,KAAK,GAAG,SAAmD,CAAC;AAErH,eAAO,MAAM,WAAW,UAAW,SAAS,QAAQ,MAAM,KAAG,OAAyD,CAAC;AAEvH,eAAO,MAAM,kBAAkB,UAAW,SAAS,QAAQ,MAAM,UAAU,MAAM,KAAG,MAMnF,CAAC"}
1
+ {"version":3,"file":"violation.d.ts","sourceRoot":"","sources":["../../src/engine/violation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;AAE3C,MAAM,WAAW,SAAU,SAAQ,OAAO;IACzC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,CAEpE;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC,CAW3H;AAED,MAAM,WAAW,SAAS;IACzB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5C,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC5C;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAE1D;AAMD,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAEzE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAMzF"}
@@ -1,6 +1,10 @@
1
- export const keyOf = (rule, file) => `${rule}\u0000${file}`;
2
- export const byLocation = (left, right) => left.rule.localeCompare(right.rule) || left.file.localeCompare(right.file) || (left.line ?? 0) - (right.line ?? 0);
3
- export const groupBy = (items, key) => {
1
+ export function keyOf(rule, file) {
2
+ return `${rule}\u0000${file}`;
3
+ }
4
+ export function byLocation(left, right) {
5
+ return left.rule.localeCompare(right.rule) || left.file.localeCompare(right.file) || (left.line ?? 0) - (right.line ?? 0);
6
+ }
7
+ export function groupBy(items, key) {
4
8
  const groups = new Map();
5
9
  for (const item of items) {
6
10
  const group = groups.get(key(item));
@@ -12,16 +16,24 @@ export const groupBy = (items, key) => {
12
16
  }
13
17
  }
14
18
  return groups;
15
- };
16
- export const covers = (name, rule) => rule === name || rule.startsWith(`${name}/`);
17
- const ownerOf = (index, rule) => [...index.families].find((family) => covers(family, rule)) ?? rule;
18
- export const levelOf = (index, rule) => index.levels.get(ownerOf(index, rule));
19
- export const registrable = (index, rule) => !index.unregistrable.has(ownerOf(index, rule));
20
- export const unusedEntryProblem = (index, rule, unused) => {
19
+ }
20
+ export function covers(name, rule) {
21
+ return rule === name || rule.startsWith(`${name}/`);
22
+ }
23
+ function ownerOf(index, rule) {
24
+ return [...index.families].find((family) => covers(family, rule)) ?? rule;
25
+ }
26
+ export function levelOf(index, rule) {
27
+ return index.levels.get(ownerOf(index, rule));
28
+ }
29
+ export function registrable(index, rule) {
30
+ return !index.unregistrable.has(ownerOf(index, rule));
31
+ }
32
+ export function unusedEntryProblem(index, rule, unused) {
21
33
  const level = levelOf(index, rule);
22
34
  if (level === undefined) {
23
35
  return "names no known rule";
24
36
  }
25
37
  return level === "off" ? "names a rule that is off" : unused;
26
- };
38
+ }
27
39
  //# sourceMappingURL=violation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"violation.js","sourceRoot":"","sources":["../../src/engine/violation.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,IAAY,EAAU,EAAE,CAAC,GAAG,IAAI,SAAS,IAAI,EAAE,CAAC;AAEpF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAe,EAAE,KAAgB,EAAU,EAAE,CACvE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;AAEpH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAQ,KAAuB,EAAE,GAA4B,EAAyC,EAAE;IAC9H,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACpC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACP,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;IACF,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAQF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,IAAY,EAAW,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;AAE5G,MAAM,OAAO,GAAG,CAAC,KAAgB,EAAE,IAAY,EAAU,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC;AAE/H,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAgB,EAAE,IAAY,EAAqB,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAErH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAgB,EAAE,IAAY,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAEvH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAgB,EAAE,IAAY,EAAE,MAAc,EAAU,EAAE;IAC5F,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACnC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,qBAAqB,CAAC;IAC9B,CAAC;IACD,OAAO,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,MAAM,CAAC;AAC9D,CAAC,CAAC"}
1
+ {"version":3,"file":"violation.js","sourceRoot":"","sources":["../../src/engine/violation.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,KAAK,CAAC,IAAY,EAAE,IAAY;IAC/C,OAAO,GAAG,IAAI,SAAS,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAe,EAAE,KAAgB;IAC3D,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;AAC3H,CAAC;AAED,MAAM,UAAU,OAAO,CAAQ,KAAuB,EAAE,GAA4B;IACnF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACpC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACP,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;IACF,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAQD,MAAM,UAAU,MAAM,CAAC,IAAY,EAAE,IAAY;IAChD,OAAO,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,OAAO,CAAC,KAAgB,EAAE,IAAY;IAC9C,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAAgB,EAAE,IAAY;IACrD,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAgB,EAAE,IAAY;IACzD,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAgB,EAAE,IAAY,EAAE,MAAc;IAChF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACnC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,qBAAqB,CAAC;IAC9B,CAAC;IACD,OAAO,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,MAAM,CAAC;AAC9D,CAAC"}
@@ -8,7 +8,7 @@ declare const RegistryEntry: Schema.Struct<{
8
8
  readonly subject: Schema.optionalKey<Schema.NonEmptyString>;
9
9
  }>;
10
10
  export type RegistryEntry = typeof RegistryEntry.Type;
11
- export declare const decodeRegistry: (raw: string | undefined) => Promise<Decoded<readonly RegistryEntry[]>>;
11
+ export declare function decodeRegistry(raw: string | undefined): Promise<Decoded<readonly RegistryEntry[]>>;
12
12
  export interface StaleRegistryEntry {
13
13
  readonly entry: RegistryEntry;
14
14
  readonly problem: string;
@@ -18,6 +18,6 @@ export interface RegistryCheck {
18
18
  readonly registered: number;
19
19
  readonly stale: readonly StaleRegistryEntry[];
20
20
  }
21
- export declare const applyRegistry: (violations: readonly Violation[], entries: readonly RegistryEntry[], rules: RuleIndex) => RegistryCheck;
21
+ export declare function applyRegistry(violations: readonly Violation[], entries: readonly RegistryEntry[], rules: RuleIndex): RegistryCheck;
22
22
  export {};
23
23
  //# sourceMappingURL=registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/exceptions/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,KAAK,OAAO,EAAc,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,KAAK,SAAS,EAAmC,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEvG,QAAA,MAAM,aAAa;;;;;EAKjB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAC;AAMtD,eAAO,MAAM,cAAc,QAAS,MAAM,GAAG,SAAS,KAAG,OAAO,CAAC,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC,CACJ,CAAC;AAE/F,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,kBAAkB,EAAE,CAAC;CAC9C;AAYD,eAAO,MAAM,aAAa,eAAgB,SAAS,SAAS,EAAE,WAAW,SAAS,aAAa,EAAE,SAAS,SAAS,KAAG,aAiBrH,CAAC"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/exceptions/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,KAAK,OAAO,EAAc,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,KAAK,SAAS,EAAmC,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEvG,QAAA,MAAM,aAAa;;;;;EAKjB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAC;AAMtD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC,CAAC,CAElG;AAED,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,kBAAkB,EAAE,CAAC;CAC9C;AAaD,wBAAgB,aAAa,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,EAAE,OAAO,EAAE,SAAS,aAAa,EAAE,EAAE,KAAK,EAAE,SAAS,GAAG,aAAa,CAiBlI"}
@@ -10,14 +10,18 @@ const RegistryEntry = Schema.Struct({
10
10
  const standard = Schema.toStandardSchemaV1(Schema.fromJsonString(Schema.Array(RegistryEntry)), {
11
11
  parseOptions: { errors: "all", onExcessProperty: "error" },
12
12
  });
13
- export const decodeRegistry = (raw) => raw === undefined ? Promise.resolve({ _tag: "Valid", value: [] }) : decodeWith(standard, raw);
14
- const covers = (entry, violation) => entry.rule === violation.rule && entry.file === violation.file && (entry.subject === undefined || entry.subject === violation.subject);
13
+ export function decodeRegistry(raw) {
14
+ return raw === undefined ? Promise.resolve({ _tag: "Valid", value: [] }) : decodeWith(standard, raw);
15
+ }
16
+ function covers(entry, violation) {
17
+ return entry.rule === violation.rule && entry.file === violation.file && (entry.subject === undefined || entry.subject === violation.subject);
18
+ }
15
19
  const UNREGISTRABLE = "names a rule that takes no exceptions. Fix the code, or baseline the violations while the repository adopts the rule";
16
- const coveringEntry = (entries, violation) => {
20
+ function coveringEntry(entries, violation) {
17
21
  const matching = entries.filter((entry) => covers(entry, violation));
18
22
  return matching.find((entry) => entry.subject !== undefined) ?? matching[0];
19
- };
20
- export const applyRegistry = (violations, entries, rules) => {
23
+ }
24
+ export function applyRegistry(violations, entries, rules) {
21
25
  const usable = entries.filter((entry) => registrable(rules, entry.rule));
22
26
  const used = new Set();
23
27
  const kept = violations.filter((violation) => {
@@ -34,5 +38,5 @@ export const applyRegistry = (violations, entries, rules) => {
34
38
  problem: registrable(rules, entry.rule) ? unusedEntryProblem(rules, entry.rule, "matches no violation") : UNREGISTRABLE,
35
39
  }));
36
40
  return { kept, registered: violations.length - kept.length, stale };
37
- };
41
+ }
38
42
  //# sourceMappingURL=registry.js.map