vigiles 2.0.0 → 2.2.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 (184) hide show
  1. package/README.md +182 -134
  2. package/dist/action-gate.d.ts +28 -0
  3. package/dist/action-gate.js +73 -0
  4. package/dist/cli.js +705 -230
  5. package/dist/community-skills.d.ts +22 -0
  6. package/dist/community-skills.js +86 -0
  7. package/dist/compile-generator.d.ts +48 -0
  8. package/dist/compile-generator.js +322 -0
  9. package/dist/compile.d.ts +4 -0
  10. package/dist/compile.js +239 -45
  11. package/dist/coverage.d.ts +56 -0
  12. package/dist/coverage.js +178 -0
  13. package/dist/doc-refs.d.ts +60 -0
  14. package/dist/doc-refs.js +246 -0
  15. package/dist/eval.d.ts +62 -0
  16. package/dist/eval.js +174 -0
  17. package/dist/evolve.js +60 -125
  18. package/dist/frontmatter.d.ts +75 -0
  19. package/dist/frontmatter.js +263 -0
  20. package/dist/generate-schema.d.ts +51 -0
  21. package/dist/generate-schema.js +125 -0
  22. package/dist/generate-types.js +39 -1
  23. package/dist/harness-test.d.ts +38 -0
  24. package/dist/harness-test.js +129 -0
  25. package/dist/hash.d.ts +8 -0
  26. package/dist/hash.js +16 -0
  27. package/dist/inline.d.ts +22 -4
  28. package/dist/inline.js +60 -13
  29. package/dist/integrity.d.ts +29 -0
  30. package/dist/integrity.js +44 -0
  31. package/dist/linters.d.ts +5 -3
  32. package/dist/linters.js +144 -4
  33. package/dist/mock-model.d.ts +31 -0
  34. package/dist/mock-model.js +189 -0
  35. package/dist/orphans.d.ts +52 -0
  36. package/dist/orphans.js +124 -0
  37. package/dist/proofs.js +22 -16
  38. package/dist/refs.d.ts +44 -0
  39. package/dist/refs.js +144 -0
  40. package/dist/session.d.ts +97 -0
  41. package/dist/session.js +306 -0
  42. package/dist/sidecar.d.ts +35 -0
  43. package/dist/sidecar.js +102 -0
  44. package/dist/skill-driver.d.ts +77 -0
  45. package/dist/skill-driver.js +76 -0
  46. package/dist/skill-runtime.d.ts +101 -0
  47. package/dist/skill-runtime.js +289 -0
  48. package/dist/skill-test.d.ts +47 -0
  49. package/dist/skill-test.js +77 -0
  50. package/dist/spec.d.ts +119 -13
  51. package/dist/spec.js +51 -4
  52. package/dist/symbols.d.ts +30 -0
  53. package/dist/symbols.js +142 -0
  54. package/dist/test-utils.d.ts +8 -0
  55. package/dist/test-utils.js +41 -0
  56. package/dist/types.d.ts +34 -8
  57. package/dist/types.js +19 -0
  58. package/dist/validate.js +5 -3
  59. package/package.json +26 -5
  60. package/.claude/settings.json +0 -46
  61. package/.claude/settings.local.json +0 -8
  62. package/.github/workflows/ci.yml +0 -81
  63. package/.prettierignore +0 -1
  64. package/.vigiles/generated.d.ts +0 -205
  65. package/CLAUDE.md +0 -95
  66. package/CLAUDE.md.spec.ts +0 -142
  67. package/CONTRIBUTING.md +0 -121
  68. package/dist/action.d.ts.map +0 -1
  69. package/dist/action.js.map +0 -1
  70. package/dist/cli.d.ts.map +0 -1
  71. package/dist/cli.js.map +0 -1
  72. package/dist/cli.test.d.ts +0 -2
  73. package/dist/cli.test.d.ts.map +0 -1
  74. package/dist/cli.test.js +0 -650
  75. package/dist/cli.test.js.map +0 -1
  76. package/dist/compile.d.ts.map +0 -1
  77. package/dist/compile.js.map +0 -1
  78. package/dist/evolve.d.ts.map +0 -1
  79. package/dist/evolve.js.map +0 -1
  80. package/dist/freshness.d.ts +0 -67
  81. package/dist/freshness.d.ts.map +0 -1
  82. package/dist/freshness.js +0 -244
  83. package/dist/freshness.js.map +0 -1
  84. package/dist/freshness.test.d.ts +0 -2
  85. package/dist/freshness.test.d.ts.map +0 -1
  86. package/dist/freshness.test.js +0 -356
  87. package/dist/freshness.test.js.map +0 -1
  88. package/dist/generate-types.d.ts.map +0 -1
  89. package/dist/generate-types.js.map +0 -1
  90. package/dist/inline.d.ts.map +0 -1
  91. package/dist/inline.js.map +0 -1
  92. package/dist/inline.test.d.ts +0 -5
  93. package/dist/inline.test.d.ts.map +0 -1
  94. package/dist/inline.test.js +0 -152
  95. package/dist/inline.test.js.map +0 -1
  96. package/dist/linters.d.ts.map +0 -1
  97. package/dist/linters.js.map +0 -1
  98. package/dist/proofs.d.ts.map +0 -1
  99. package/dist/proofs.js.map +0 -1
  100. package/dist/proofs.test.d.ts +0 -9
  101. package/dist/proofs.test.d.ts.map +0 -1
  102. package/dist/proofs.test.js +0 -952
  103. package/dist/proofs.test.js.map +0 -1
  104. package/dist/spec.d.ts.map +0 -1
  105. package/dist/spec.js.map +0 -1
  106. package/dist/spec.test.d.ts +0 -2
  107. package/dist/spec.test.d.ts.map +0 -1
  108. package/dist/spec.test.js +0 -1222
  109. package/dist/spec.test.js.map +0 -1
  110. package/dist/types.d.ts.map +0 -1
  111. package/dist/types.js.map +0 -1
  112. package/dist/validate.d.ts.map +0 -1
  113. package/dist/validate.js.map +0 -1
  114. package/dist/validate.test.d.ts +0 -2
  115. package/dist/validate.test.d.ts.map +0 -1
  116. package/dist/validate.test.js +0 -531
  117. package/dist/validate.test.js.map +0 -1
  118. package/docs/agent-setup.md +0 -85
  119. package/docs/agent-workflows.md +0 -103
  120. package/docs/comparison.md +0 -71
  121. package/docs/freshness.md +0 -124
  122. package/docs/inline-mode.md +0 -119
  123. package/docs/linter-support.md +0 -166
  124. package/docs/spec-format.md +0 -194
  125. package/eslint.config.mjs +0 -79
  126. package/examples/CLAUDE.md +0 -54
  127. package/examples/CLAUDE.md.spec.ts +0 -65
  128. package/examples/SKILL.md +0 -50
  129. package/examples/SKILL.md.spec.ts +0 -57
  130. package/fixtures/example-project/CLAUDE.md +0 -11
  131. package/fixtures/example-project/package.json +0 -9
  132. package/fixtures/example-project/src/index.ts +0 -3
  133. package/fixtures/example-project/src/utils.test.ts +0 -2
  134. package/fixtures/example-project/src/utils.ts +0 -3
  135. package/logo.png +0 -0
  136. package/research/adoption-strategy.md +0 -111
  137. package/research/agent-integration.md +0 -145
  138. package/research/ai-code-quality.md +0 -197
  139. package/research/code-search-for-agents.md +0 -313
  140. package/research/competitive-landscape.md +0 -163
  141. package/research/doc-freshness.md +0 -516
  142. package/research/executable-specs.md +0 -368
  143. package/research/feature-ideas.md +0 -464
  144. package/research/formal-proofs-for-agents.md +0 -338
  145. package/research/fp-for-agent-harness.md +0 -150
  146. package/research/fp-for-deterministic-ai.md +0 -131
  147. package/research/self-evolving-specs.md +0 -298
  148. package/schemas/claude-md-strict.yml +0 -18
  149. package/schemas/claude-md.yml +0 -6
  150. package/schemas/skill-strict.yml +0 -12
  151. package/schemas/skill.yml +0 -5
  152. package/skills/audit-feedback-loop/SKILL.md +0 -76
  153. package/skills/edit-spec/SKILL.md +0 -131
  154. package/skills/enforce-rules-format/SKILL.md +0 -71
  155. package/skills/generate-logo/SKILL.md +0 -102
  156. package/skills/generate-rule/SKILL.md +0 -90
  157. package/skills/linter-docs/clippy.md +0 -241
  158. package/skills/linter-docs/eslint.md +0 -384
  159. package/skills/linter-docs/pylint.md +0 -288
  160. package/skills/linter-docs/rubocop.md +0 -277
  161. package/skills/linter-docs/ruff.md +0 -187
  162. package/skills/linter-docs/stylelint.md +0 -247
  163. package/skills/migrate-to-spec/SKILL.md +0 -124
  164. package/skills/pr-to-lint-rule/SKILL.md +0 -97
  165. package/skills/strengthen/SKILL.md +0 -168
  166. package/src/action.ts +0 -214
  167. package/src/cli.test.ts +0 -914
  168. package/src/cli.ts +0 -1631
  169. package/src/compile.ts +0 -691
  170. package/src/evolve.ts +0 -781
  171. package/src/freshness.test.ts +0 -449
  172. package/src/freshness.ts +0 -299
  173. package/src/generate-types.ts +0 -448
  174. package/src/inline.test.ts +0 -206
  175. package/src/inline.ts +0 -164
  176. package/src/linters.ts +0 -739
  177. package/src/proofs.test.ts +0 -1314
  178. package/src/proofs.ts +0 -849
  179. package/src/spec.test.ts +0 -1471
  180. package/src/spec.ts +0 -427
  181. package/src/types.ts +0 -117
  182. package/src/validate.test.ts +0 -701
  183. package/src/validate.ts +0 -381
  184. package/tsconfig.json +0 -23
@@ -1,356 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const node_test_1 = require("node:test");
7
- const strict_1 = __importDefault(require("node:assert/strict"));
8
- const node_fs_1 = require("node:fs");
9
- const node_path_1 = require("node:path");
10
- const node_os_1 = require("node:os");
11
- const node_crypto_1 = require("node:crypto");
12
- const freshness_js_1 = require("./freshness.js");
13
- // ---------------------------------------------------------------------------
14
- // Helpers
15
- // ---------------------------------------------------------------------------
16
- function makeTmpDir() {
17
- return (0, node_fs_1.mkdtempSync)((0, node_path_1.join)((0, node_os_1.tmpdir)(), "vigiles-freshness-"));
18
- }
19
- function makeSpec(overrides) {
20
- return {
21
- _specType: "claude",
22
- rules: {},
23
- ...overrides,
24
- };
25
- }
26
- // ---------------------------------------------------------------------------
27
- // detectLockFiles
28
- // ---------------------------------------------------------------------------
29
- (0, node_test_1.describe)("detectLockFiles", () => {
30
- let tmpDir;
31
- (0, node_test_1.before)(() => {
32
- tmpDir = makeTmpDir();
33
- });
34
- (0, node_test_1.after)(() => {
35
- (0, node_fs_1.rmSync)(tmpDir, { recursive: true, force: true });
36
- });
37
- (0, node_test_1.it)("returns empty array when no lock files exist", () => {
38
- const result = (0, freshness_js_1.detectLockFiles)(tmpDir);
39
- strict_1.default.deepEqual(result, []);
40
- });
41
- (0, node_test_1.it)("detects package-lock.json", () => {
42
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(tmpDir, "package-lock.json"), "{}");
43
- const result = (0, freshness_js_1.detectLockFiles)(tmpDir);
44
- strict_1.default.ok(result.includes("package-lock.json"));
45
- });
46
- (0, node_test_1.it)("detects yarn.lock", () => {
47
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(tmpDir, "yarn.lock"), "");
48
- const result = (0, freshness_js_1.detectLockFiles)(tmpDir);
49
- strict_1.default.ok(result.includes("yarn.lock"));
50
- });
51
- (0, node_test_1.it)("detects pnpm-lock.yaml", () => {
52
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(tmpDir, "pnpm-lock.yaml"), "");
53
- const result = (0, freshness_js_1.detectLockFiles)(tmpDir);
54
- strict_1.default.ok(result.includes("pnpm-lock.yaml"));
55
- });
56
- (0, node_test_1.it)("detects bun.lockb", () => {
57
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(tmpDir, "bun.lockb"), "");
58
- const result = (0, freshness_js_1.detectLockFiles)(tmpDir);
59
- strict_1.default.ok(result.includes("bun.lockb"));
60
- });
61
- (0, node_test_1.it)("detects Gemfile.lock", () => {
62
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(tmpDir, "Gemfile.lock"), "");
63
- const result = (0, freshness_js_1.detectLockFiles)(tmpDir);
64
- strict_1.default.ok(result.includes("Gemfile.lock"));
65
- });
66
- (0, node_test_1.it)("detects poetry.lock", () => {
67
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(tmpDir, "poetry.lock"), "");
68
- const result = (0, freshness_js_1.detectLockFiles)(tmpDir);
69
- strict_1.default.ok(result.includes("poetry.lock"));
70
- });
71
- (0, node_test_1.it)("detects uv.lock", () => {
72
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(tmpDir, "uv.lock"), "");
73
- const result = (0, freshness_js_1.detectLockFiles)(tmpDir);
74
- strict_1.default.ok(result.includes("uv.lock"));
75
- });
76
- (0, node_test_1.it)("detects pdm.lock", () => {
77
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(tmpDir, "pdm.lock"), "");
78
- const result = (0, freshness_js_1.detectLockFiles)(tmpDir);
79
- strict_1.default.ok(result.includes("pdm.lock"));
80
- });
81
- (0, node_test_1.it)("detects Cargo.lock", () => {
82
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(tmpDir, "Cargo.lock"), "");
83
- const result = (0, freshness_js_1.detectLockFiles)(tmpDir);
84
- strict_1.default.ok(result.includes("Cargo.lock"));
85
- });
86
- (0, node_test_1.it)("detects go.sum", () => {
87
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(tmpDir, "go.sum"), "");
88
- const result = (0, freshness_js_1.detectLockFiles)(tmpDir);
89
- strict_1.default.ok(result.includes("go.sum"));
90
- });
91
- (0, node_test_1.it)("detects composer.lock", () => {
92
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(tmpDir, "composer.lock"), "{}");
93
- const result = (0, freshness_js_1.detectLockFiles)(tmpDir);
94
- strict_1.default.ok(result.includes("composer.lock"));
95
- });
96
- (0, node_test_1.it)("detects packages.lock.json (.NET)", () => {
97
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(tmpDir, "packages.lock.json"), "{}");
98
- const result = (0, freshness_js_1.detectLockFiles)(tmpDir);
99
- strict_1.default.ok(result.includes("packages.lock.json"));
100
- });
101
- (0, node_test_1.it)("detects Package.resolved (Swift)", () => {
102
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(tmpDir, "Package.resolved"), "{}");
103
- const result = (0, freshness_js_1.detectLockFiles)(tmpDir);
104
- strict_1.default.ok(result.includes("Package.resolved"));
105
- });
106
- (0, node_test_1.it)("detects mix.lock (Elixir)", () => {
107
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(tmpDir, "mix.lock"), "");
108
- const result = (0, freshness_js_1.detectLockFiles)(tmpDir);
109
- strict_1.default.ok(result.includes("mix.lock"));
110
- });
111
- (0, node_test_1.it)("detects requirements.txt", () => {
112
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(tmpDir, "requirements.txt"), "flask==2.0");
113
- const result = (0, freshness_js_1.detectLockFiles)(tmpDir);
114
- strict_1.default.ok(result.includes("requirements.txt"));
115
- });
116
- (0, node_test_1.it)("returns multiple lock files for polyglot projects", () => {
117
- // tmpDir already has all the above files
118
- const result = (0, freshness_js_1.detectLockFiles)(tmpDir);
119
- strict_1.default.ok(result.length > 5, `Expected many lock files, got ${result.length}`);
120
- });
121
- });
122
- // ---------------------------------------------------------------------------
123
- // detectLinterConfigs
124
- // ---------------------------------------------------------------------------
125
- (0, node_test_1.describe)("detectLinterConfigs", () => {
126
- let tmpDir;
127
- (0, node_test_1.before)(() => {
128
- tmpDir = makeTmpDir();
129
- });
130
- (0, node_test_1.after)(() => {
131
- (0, node_fs_1.rmSync)(tmpDir, { recursive: true, force: true });
132
- });
133
- (0, node_test_1.it)("returns empty array when no configs exist", () => {
134
- const result = (0, freshness_js_1.detectLinterConfigs)(tmpDir);
135
- strict_1.default.deepEqual(result, []);
136
- });
137
- (0, node_test_1.it)("detects eslint.config.mjs", () => {
138
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(tmpDir, "eslint.config.mjs"), "export default [];");
139
- const result = (0, freshness_js_1.detectLinterConfigs)(tmpDir);
140
- strict_1.default.ok(result.includes("eslint.config.mjs"));
141
- });
142
- (0, node_test_1.it)("detects .rubocop.yml", () => {
143
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(tmpDir, ".rubocop.yml"), "---");
144
- const result = (0, freshness_js_1.detectLinterConfigs)(tmpDir);
145
- strict_1.default.ok(result.includes(".rubocop.yml"));
146
- });
147
- (0, node_test_1.it)("detects pyproject.toml", () => {
148
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(tmpDir, "pyproject.toml"), "[tool.ruff]");
149
- const result = (0, freshness_js_1.detectLinterConfigs)(tmpDir);
150
- strict_1.default.ok(result.includes("pyproject.toml"));
151
- });
152
- (0, node_test_1.it)("detects .pylintrc", () => {
153
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(tmpDir, ".pylintrc"), "[MAIN]");
154
- const result = (0, freshness_js_1.detectLinterConfigs)(tmpDir);
155
- strict_1.default.ok(result.includes(".pylintrc"));
156
- });
157
- (0, node_test_1.it)("detects Cargo.toml", () => {
158
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(tmpDir, "Cargo.toml"), "[package]");
159
- const result = (0, freshness_js_1.detectLinterConfigs)(tmpDir);
160
- strict_1.default.ok(result.includes("Cargo.toml"));
161
- });
162
- });
163
- // ---------------------------------------------------------------------------
164
- // discoverInputs
165
- // ---------------------------------------------------------------------------
166
- (0, node_test_1.describe)("discoverInputs", () => {
167
- let tmpDir;
168
- (0, node_test_1.before)(() => {
169
- tmpDir = makeTmpDir();
170
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(tmpDir, "CLAUDE.md.spec.ts"), "export default {};");
171
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(tmpDir, "package.json"), JSON.stringify({ name: "test", scripts: {} }));
172
- });
173
- (0, node_test_1.after)(() => {
174
- (0, node_fs_1.rmSync)(tmpDir, { recursive: true, force: true });
175
- });
176
- (0, node_test_1.it)("always includes the spec file", () => {
177
- const spec = makeSpec();
178
- const result = (0, freshness_js_1.discoverInputs)("CLAUDE.md.spec.ts", spec, tmpDir);
179
- strict_1.default.ok(result.files.includes("CLAUDE.md.spec.ts"));
180
- });
181
- (0, node_test_1.it)("includes package.json when present", () => {
182
- const spec = makeSpec();
183
- const result = (0, freshness_js_1.discoverInputs)("CLAUDE.md.spec.ts", spec, tmpDir);
184
- strict_1.default.ok(result.files.includes("package.json"));
185
- });
186
- (0, node_test_1.it)("includes keyFiles from spec", () => {
187
- const spec = makeSpec({
188
- keyFiles: { "src/index.ts": "Entry point" },
189
- });
190
- const result = (0, freshness_js_1.discoverInputs)("CLAUDE.md.spec.ts", spec, tmpDir);
191
- strict_1.default.ok(result.files.includes("src/index.ts"));
192
- });
193
- (0, node_test_1.it)("includes extra configured inputs", () => {
194
- const spec = makeSpec();
195
- const result = (0, freshness_js_1.discoverInputs)("CLAUDE.md.spec.ts", spec, tmpDir, [
196
- "../../yarn.lock",
197
- ]);
198
- strict_1.default.ok(result.files.includes("../../yarn.lock"));
199
- });
200
- (0, node_test_1.it)("includes detected linter configs", () => {
201
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(tmpDir, "eslint.config.mjs"), "export default [];");
202
- const spec = makeSpec();
203
- const result = (0, freshness_js_1.discoverInputs)("CLAUDE.md.spec.ts", spec, tmpDir);
204
- strict_1.default.ok(result.files.includes("eslint.config.mjs"));
205
- strict_1.default.ok(result.linterConfigs.includes("eslint.config.mjs"));
206
- });
207
- (0, node_test_1.it)("includes detected lock files", () => {
208
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(tmpDir, "package-lock.json"), "{}");
209
- const spec = makeSpec();
210
- const result = (0, freshness_js_1.discoverInputs)("CLAUDE.md.spec.ts", spec, tmpDir);
211
- strict_1.default.ok(result.files.includes("package-lock.json"));
212
- strict_1.default.ok(result.lockFiles.includes("package-lock.json"));
213
- });
214
- (0, node_test_1.it)("includes .vigiles/generated.d.ts when present", () => {
215
- (0, node_fs_1.mkdirSync)((0, node_path_1.join)(tmpDir, ".vigiles"), { recursive: true });
216
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(tmpDir, ".vigiles/generated.d.ts"), "// types");
217
- const spec = makeSpec();
218
- const result = (0, freshness_js_1.discoverInputs)("CLAUDE.md.spec.ts", spec, tmpDir);
219
- strict_1.default.ok(result.files.includes(".vigiles/generated.d.ts"));
220
- });
221
- (0, node_test_1.it)("returns sorted file list", () => {
222
- const spec = makeSpec();
223
- const result = (0, freshness_js_1.discoverInputs)("CLAUDE.md.spec.ts", spec, tmpDir);
224
- const sorted = [...result.files].sort();
225
- strict_1.default.deepEqual(result.files, sorted);
226
- });
227
- });
228
- // ---------------------------------------------------------------------------
229
- // computeInputHash
230
- // ---------------------------------------------------------------------------
231
- (0, node_test_1.describe)("computeInputHash", () => {
232
- let tmpDir;
233
- (0, node_test_1.before)(() => {
234
- tmpDir = makeTmpDir();
235
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(tmpDir, "a.txt"), "hello");
236
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(tmpDir, "b.txt"), "world");
237
- });
238
- (0, node_test_1.after)(() => {
239
- (0, node_fs_1.rmSync)(tmpDir, { recursive: true, force: true });
240
- });
241
- (0, node_test_1.it)("returns a 16-char hex string", () => {
242
- const hash = (0, freshness_js_1.computeInputHash)(["a.txt", "b.txt"], tmpDir);
243
- strict_1.default.match(hash, /^[a-f0-9]{16}$/);
244
- });
245
- (0, node_test_1.it)("returns same hash for same inputs", () => {
246
- const h1 = (0, freshness_js_1.computeInputHash)(["a.txt", "b.txt"], tmpDir);
247
- const h2 = (0, freshness_js_1.computeInputHash)(["a.txt", "b.txt"], tmpDir);
248
- strict_1.default.equal(h1, h2);
249
- });
250
- (0, node_test_1.it)("changes when file content changes", () => {
251
- const h1 = (0, freshness_js_1.computeInputHash)(["a.txt"], tmpDir);
252
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(tmpDir, "a.txt"), "changed");
253
- const h2 = (0, freshness_js_1.computeInputHash)(["a.txt"], tmpDir);
254
- strict_1.default.notEqual(h1, h2);
255
- });
256
- (0, node_test_1.it)("changes when a file is deleted", () => {
257
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(tmpDir, "c.txt"), "temp");
258
- const h1 = (0, freshness_js_1.computeInputHash)(["c.txt"], tmpDir);
259
- (0, node_fs_1.rmSync)((0, node_path_1.join)(tmpDir, "c.txt"));
260
- const h2 = (0, freshness_js_1.computeInputHash)(["c.txt"], tmpDir);
261
- strict_1.default.notEqual(h1, h2);
262
- });
263
- });
264
- // ---------------------------------------------------------------------------
265
- // addInputHash / extractInputHash
266
- // ---------------------------------------------------------------------------
267
- (0, node_test_1.describe)("addInputHash / extractInputHash", () => {
268
- (0, node_test_1.it)("embeds hash after sha256 comment", () => {
269
- const md = "<!-- vigiles:sha256:abc123 compiled from X.spec.ts -->\n\n# Doc\n";
270
- const result = (0, freshness_js_1.addInputHash)(md, "deadbeef12345678");
271
- strict_1.default.ok(result.includes("<!-- vigiles:inputs:deadbeef12345678 -->"));
272
- // sha256 line should still be first
273
- strict_1.default.ok(result.startsWith("<!-- vigiles:sha256:"));
274
- });
275
- (0, node_test_1.it)("extracts embedded input hash", () => {
276
- const md = "<!-- vigiles:sha256:abc123 compiled from X.spec.ts -->\n<!-- vigiles:inputs:deadbeef12345678 -->\n\n# Doc\n";
277
- const hash = (0, freshness_js_1.extractInputHash)(md);
278
- strict_1.default.equal(hash, "deadbeef12345678");
279
- });
280
- (0, node_test_1.it)("returns null when no input hash present", () => {
281
- const md = "<!-- vigiles:sha256:abc123 compiled from X.spec.ts -->\n\n# Doc\n";
282
- const hash = (0, freshness_js_1.extractInputHash)(md);
283
- strict_1.default.equal(hash, null);
284
- });
285
- });
286
- // ---------------------------------------------------------------------------
287
- // checkOutputHashFreshness
288
- // ---------------------------------------------------------------------------
289
- (0, node_test_1.describe)("checkOutputHashFreshness", () => {
290
- (0, node_test_1.it)("returns fresh for hand-written file (no hash)", () => {
291
- const result = (0, freshness_js_1.checkOutputHashFreshness)("# CLAUDE.md\n\nSome content.\n");
292
- strict_1.default.equal(result.fresh, true);
293
- strict_1.default.equal(result.mode, "output-hash");
294
- });
295
- (0, node_test_1.it)("returns fresh when hash matches", () => {
296
- // Build a valid hashed file
297
- const body = "# CLAUDE.md\n\nContent.\n";
298
- const hash = (0, node_crypto_1.createHash)("sha256").update(body).digest("hex").slice(0, 16);
299
- const content = `<!-- vigiles:sha256:${hash} compiled from CLAUDE.md.spec.ts -->\n\n${body}`;
300
- const result = (0, freshness_js_1.checkOutputHashFreshness)(content);
301
- strict_1.default.equal(result.fresh, true);
302
- });
303
- (0, node_test_1.it)("returns stale when hash mismatches", () => {
304
- const content = "<!-- vigiles:sha256:0000000000000000 compiled from CLAUDE.md.spec.ts -->\n\n# CLAUDE.md\n\nEdited.\n";
305
- const result = (0, freshness_js_1.checkOutputHashFreshness)(content);
306
- strict_1.default.equal(result.fresh, false);
307
- strict_1.default.equal(result.mode, "output-hash");
308
- });
309
- });
310
- // ---------------------------------------------------------------------------
311
- // checkInputHashFreshness
312
- // ---------------------------------------------------------------------------
313
- (0, node_test_1.describe)("checkInputHashFreshness", () => {
314
- let tmpDir;
315
- (0, node_test_1.before)(() => {
316
- tmpDir = makeTmpDir();
317
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(tmpDir, "spec.ts"), "export default {};");
318
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(tmpDir, "config.js"), "module.exports = {};");
319
- });
320
- (0, node_test_1.after)(() => {
321
- (0, node_fs_1.rmSync)(tmpDir, { recursive: true, force: true });
322
- });
323
- (0, node_test_1.it)("returns stale when no input hash is stored", () => {
324
- const content = "<!-- vigiles:sha256:abc compiled from spec.ts -->\n\n# Doc\n";
325
- const result = (0, freshness_js_1.checkInputHashFreshness)(content, ["spec.ts"], tmpDir);
326
- strict_1.default.equal(result.fresh, false);
327
- strict_1.default.equal(result.mode, "input-hash");
328
- });
329
- (0, node_test_1.it)("returns fresh when input hash matches", () => {
330
- const files = ["spec.ts", "config.js"];
331
- const hash = (0, freshness_js_1.computeInputHash)(files, tmpDir);
332
- const content = `<!-- vigiles:sha256:abc compiled from spec.ts -->\n<!-- vigiles:inputs:${hash} -->\n\n# Doc\n`;
333
- const result = (0, freshness_js_1.checkInputHashFreshness)(content, files, tmpDir);
334
- strict_1.default.equal(result.fresh, true);
335
- });
336
- (0, node_test_1.it)("returns stale when input file changes", () => {
337
- const files = ["spec.ts", "config.js"];
338
- const hash = (0, freshness_js_1.computeInputHash)(files, tmpDir);
339
- const content = `<!-- vigiles:sha256:abc compiled from spec.ts -->\n<!-- vigiles:inputs:${hash} -->\n\n# Doc\n`;
340
- // Change an input file
341
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(tmpDir, "config.js"), "module.exports = { changed: true };");
342
- const result = (0, freshness_js_1.checkInputHashFreshness)(content, files, tmpDir);
343
- strict_1.default.equal(result.fresh, false);
344
- });
345
- (0, node_test_1.it)("reports deleted files", () => {
346
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(tmpDir, "temp.txt"), "exists");
347
- const files = ["spec.ts", "temp.txt"];
348
- const hash = (0, freshness_js_1.computeInputHash)(files, tmpDir);
349
- const content = `<!-- vigiles:sha256:abc compiled from spec.ts -->\n<!-- vigiles:inputs:${hash} -->\n\n# Doc\n`;
350
- (0, node_fs_1.rmSync)((0, node_path_1.join)(tmpDir, "temp.txt"));
351
- const result = (0, freshness_js_1.checkInputHashFreshness)(content, files, tmpDir);
352
- strict_1.default.equal(result.fresh, false);
353
- strict_1.default.ok(result.changedFiles?.some((f) => f.includes("temp.txt")));
354
- });
355
- });
356
- //# sourceMappingURL=freshness.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"freshness.test.js","sourceRoot":"","sources":["../src/freshness.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-types.d.ts","sourceRoot":"","sources":["../src/generate-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA6CH,UAAU,eAAe;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb;AA8OD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,OAAO,GAAE,oBAAyB,GACjC,mBAAmB,CAmIrB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-types.js","sourceRoot":"","sources":["../src/generate-types.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"inline.d.ts","sourceRoot":"","sources":["../src/inline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,WAAW,UAAU;IACzB,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,GAAG,EAAE,MAAM,CAAC;IACZ,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,iEAAiE;IACjE,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC1D;AAoBD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAuFnE;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEvD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"inline.js","sourceRoot":"","sources":["../src/inline.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Tests for the inline-rule parser.
3
- */
4
- export {};
5
- //# sourceMappingURL=inline.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inline.test.d.ts","sourceRoot":"","sources":["../src/inline.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,152 +0,0 @@
1
- "use strict";
2
- /**
3
- * Tests for the inline-rule parser.
4
- */
5
- var __importDefault = (this && this.__importDefault) || function (mod) {
6
- return (mod && mod.__esModule) ? mod : { "default": mod };
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- const node_test_1 = require("node:test");
10
- const strict_1 = __importDefault(require("node:assert/strict"));
11
- const inline_js_1 = require("./inline.js");
12
- (0, node_test_1.describe)("parseInlineRules", () => {
13
- (0, node_test_1.it)("extracts a single enforce comment", () => {
14
- const { rules, errors } = (0, inline_js_1.parseInlineRules)(`# Project
15
-
16
- <!-- vigiles:enforce eslint/no-console "Use structured logger" -->
17
-
18
- ## Logging
19
-
20
- All output through logger.ts.
21
- `);
22
- strict_1.default.equal(errors.length, 0);
23
- strict_1.default.equal(rules.length, 1);
24
- strict_1.default.equal(rules[0].linterRule, "eslint/no-console");
25
- strict_1.default.equal(rules[0].why, "Use structured logger");
26
- strict_1.default.equal(rules[0].line, 3);
27
- });
28
- (0, node_test_1.it)("extracts multiple enforce comments and tracks line numbers", () => {
29
- const content = `# Doc
30
- <!-- vigiles:enforce eslint/no-console "a" -->
31
- text
32
- <!-- vigiles:enforce ruff/F401 "b" -->
33
- `;
34
- const { rules, errors } = (0, inline_js_1.parseInlineRules)(content);
35
- strict_1.default.equal(errors.length, 0);
36
- strict_1.default.equal(rules.length, 2);
37
- strict_1.default.equal(rules[0].linterRule, "eslint/no-console");
38
- strict_1.default.equal(rules[0].line, 2);
39
- strict_1.default.equal(rules[1].linterRule, "ruff/F401");
40
- strict_1.default.equal(rules[1].line, 4);
41
- });
42
- (0, node_test_1.it)("supports plugin-scoped rule names with slashes", () => {
43
- const { rules, errors } = (0, inline_js_1.parseInlineRules)(`<!-- vigiles:enforce eslint/@typescript-eslint/no-floating-promises "Await or void" -->`);
44
- strict_1.default.equal(errors.length, 0);
45
- strict_1.default.equal(rules.length, 1);
46
- strict_1.default.equal(rules[0].linterRule, "eslint/@typescript-eslint/no-floating-promises");
47
- });
48
- (0, node_test_1.it)("reports malformed vigiles:enforce as a parse error", () => {
49
- const { rules, errors } = (0, inline_js_1.parseInlineRules)(`<!-- vigiles:enforce eslint/no-console no quotes here -->`);
50
- strict_1.default.equal(rules.length, 0);
51
- strict_1.default.equal(errors.length, 1);
52
- strict_1.default.match(errors[0].message, /Malformed vigiles:enforce/);
53
- });
54
- (0, node_test_1.it)("reports unknown vigiles markers", () => {
55
- const { rules, errors } = (0, inline_js_1.parseInlineRules)(`<!-- vigiles:strengthen eslint/no-console -->`);
56
- strict_1.default.equal(rules.length, 0);
57
- strict_1.default.equal(errors.length, 1);
58
- strict_1.default.match(errors[0].message, /Unknown vigiles marker "strengthen"/);
59
- });
60
- (0, node_test_1.it)("returns empty results for a file with no vigiles comments", () => {
61
- const { rules, errors } = (0, inline_js_1.parseInlineRules)(`# Plain\n\nJust prose, no rules.\n`);
62
- strict_1.default.equal(rules.length, 0);
63
- strict_1.default.equal(errors.length, 0);
64
- });
65
- (0, node_test_1.it)("skips the compiled-file hash marker without reporting an error", () => {
66
- const { rules, errors } = (0, inline_js_1.parseInlineRules)(`<!-- vigiles:sha256:abc123 compiled from CLAUDE.md.spec.ts -->
67
- # Project
68
- <!-- vigiles:enforce eslint/no-console "why" -->
69
- `);
70
- strict_1.default.equal(errors.length, 0, JSON.stringify(errors));
71
- strict_1.default.equal(rules.length, 1);
72
- });
73
- (0, node_test_1.it)("ignores vigiles:enforce markers inside fenced code blocks", () => {
74
- // Illustrative example in docs/inline-mode.md would otherwise get
75
- // picked up as a live rule.
76
- const { rules, errors } = (0, inline_js_1.parseInlineRules)(`# Docs
77
-
78
- Example usage:
79
-
80
- \`\`\`md
81
- <!-- vigiles:enforce eslint/no-console "Use structured logger" -->
82
- <!-- vigiles:enforce ruff/F401 "No unused imports" -->
83
- \`\`\`
84
-
85
- And a real one outside the fence:
86
-
87
- <!-- vigiles:enforce eslint/no-eval "Never eval user input" -->
88
- `);
89
- strict_1.default.equal(errors.length, 0, JSON.stringify(errors));
90
- strict_1.default.equal(rules.length, 1);
91
- strict_1.default.equal(rules[0].linterRule, "eslint/no-eval");
92
- });
93
- (0, node_test_1.it)("ignores markers inside tilde-fenced code blocks", () => {
94
- const { rules } = (0, inline_js_1.parseInlineRules)(`~~~md
95
- <!-- vigiles:enforce eslint/no-console "inside fence" -->
96
- ~~~
97
- <!-- vigiles:enforce eslint/no-eval "outside fence" -->
98
- `);
99
- strict_1.default.equal(rules.length, 1);
100
- strict_1.default.equal(rules[0].linterRule, "eslint/no-eval");
101
- });
102
- (0, node_test_1.it)("ignores markers inside inline code spans in prose", () => {
103
- // Prose that describes the syntax with a backtick-wrapped example
104
- // must not trigger "malformed vigiles:enforce".
105
- const { rules, errors } = (0, inline_js_1.parseInlineRules)(`You add \`<!-- vigiles:enforce eslint/no-console "why" -->\` comments to adopt gradually.
106
-
107
- Real rule below:
108
-
109
- <!-- vigiles:enforce eslint/no-eval "Never eval" -->
110
- `);
111
- strict_1.default.equal(errors.length, 0, JSON.stringify(errors));
112
- strict_1.default.equal(rules.length, 1);
113
- strict_1.default.equal(rules[0].linterRule, "eslint/no-eval");
114
- });
115
- (0, node_test_1.it)("ignores ellipsis placeholders inside inline code spans", () => {
116
- const { rules, errors } = (0, inline_js_1.parseInlineRules)(`You add \`<!-- vigiles:enforce ... -->\` comments to adopt gradually.
117
- `);
118
- strict_1.default.equal(errors.length, 0, JSON.stringify(errors));
119
- strict_1.default.equal(rules.length, 0);
120
- });
121
- (0, node_test_1.it)("handles nested backtick fences of different lengths", () => {
122
- // Opening with 4 backticks, closing with 3 inside should NOT close
123
- // the outer block — only a 4+ backtick close matches.
124
- const { rules } = (0, inline_js_1.parseInlineRules)(`\`\`\`\`md
125
- \`\`\`
126
- <!-- vigiles:enforce eslint/no-console "inside outer" -->
127
- \`\`\`
128
- \`\`\`\`
129
- <!-- vigiles:enforce eslint/no-eval "outside" -->
130
- `);
131
- strict_1.default.equal(rules.length, 1);
132
- strict_1.default.equal(rules[0].linterRule, "eslint/no-eval");
133
- });
134
- });
135
- (0, node_test_1.describe)("hasInlineRules", () => {
136
- (0, node_test_1.it)("returns true when a valid enforce comment exists", () => {
137
- strict_1.default.equal((0, inline_js_1.hasInlineRules)(`<!-- vigiles:enforce eslint/no-console "why" -->`), true);
138
- });
139
- (0, node_test_1.it)("returns false for plain markdown", () => {
140
- strict_1.default.equal((0, inline_js_1.hasInlineRules)(`# Title\n\nparagraph\n`), false);
141
- });
142
- (0, node_test_1.it)("returns false for a malformed marker", () => {
143
- strict_1.default.equal((0, inline_js_1.hasInlineRules)(`<!-- vigiles:enforce eslint/no-console no-quotes -->`), false);
144
- });
145
- (0, node_test_1.it)("returns false for markers trapped inside fenced code blocks", () => {
146
- strict_1.default.equal((0, inline_js_1.hasInlineRules)(`# Docs\n\n\`\`\`md\n<!-- vigiles:enforce eslint/no-console "x" -->\n\`\`\`\n`), false);
147
- });
148
- (0, node_test_1.it)("returns true only for parseable rules outside fences", () => {
149
- strict_1.default.equal((0, inline_js_1.hasInlineRules)(`\`\`\`md\n<!-- vigiles:enforce eslint/no-console "inside" -->\n\`\`\`\n<!-- vigiles:enforce eslint/no-eval "outside" -->\n`), true);
150
- });
151
- });
152
- //# sourceMappingURL=inline.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inline.test.js","sourceRoot":"","sources":["../src/inline.test.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAEH,yCAAyC;AACzC,gEAAwC;AAExC,2CAA+D;AAE/D,IAAA,oBAAQ,EAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAA,cAAE,EAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAA,4BAAgB,EACxC;;;;;;;CAOL,CACI,CAAC;QACF,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/B,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9B,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;QACvD,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;QACpD,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,OAAO,GAAG;;;;CAInB,CAAC;QACE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAA,4BAAgB,EAAC,OAAO,CAAC,CAAC;QACpD,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/B,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9B,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;QACvD,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/B,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC/C,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAA,4BAAgB,EACxC,yFAAyF,CAC1F,CAAC;QACF,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/B,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9B,gBAAM,CAAC,KAAK,CACV,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,EACnB,gDAAgD,CACjD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAA,4BAAgB,EACxC,2DAA2D,CAC5D,CAAC;QACF,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9B,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/B,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAA,4BAAgB,EACxC,+CAA+C,CAChD,CAAC;QACF,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9B,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/B,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,qCAAqC,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAA,4BAAgB,EACxC,oCAAoC,CACrC,CAAC;QACF,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9B,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAA,4BAAgB,EACxC;;;CAGL,CACI,CAAC;QACF,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACvD,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,kEAAkE;QAClE,4BAA4B;QAC5B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAA,4BAAgB,EACxC;;;;;;;;;;;;CAYL,CACI,CAAC;QACF,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACvD,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9B,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,4BAAgB,EAChC;;;;CAIL,CACI,CAAC;QACF,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9B,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,kEAAkE;QAClE,gDAAgD;QAChD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAA,4BAAgB,EACxC;;;;;CAKL,CACI,CAAC;QACF,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACvD,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9B,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAA,4BAAgB,EACxC;CACL,CACI,CAAC;QACF,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACvD,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,mEAAmE;QACnE,sDAAsD;QACtD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,4BAAgB,EAChC;;;;;;CAML,CACI,CAAC;QACF,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9B,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,oBAAQ,EAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAA,cAAE,EAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,gBAAM,CAAC,KAAK,CACV,IAAA,0BAAc,EAAC,kDAAkD,CAAC,EAClE,IAAI,CACL,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,gBAAM,CAAC,KAAK,CAAC,IAAA,0BAAc,EAAC,wBAAwB,CAAC,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,gBAAM,CAAC,KAAK,CACV,IAAA,0BAAc,EAAC,sDAAsD,CAAC,EACtE,KAAK,CACN,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,gBAAM,CAAC,KAAK,CACV,IAAA,0BAAc,EACZ,8EAA8E,CAC/E,EACD,KAAK,CACN,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,gBAAM,CAAC,KAAK,CACV,IAAA,0BAAc,EACZ,4HAA4H,CAC7H,EACD,IAAI,CACL,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"linters.d.ts","sourceRoot":"","sources":["../src/linters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAYH,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAErE,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAYD,gBAAgB,CAAC,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAO7E;AAED,gBAAgB,CAAC,wBAAgB,eAAe,CAC9C,UAAU,EAAE,MAAM,GACjB,MAAM,GAAG,IAAI,CASf;AAqmBD;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IACR,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CAC5D,GACA,iBAAiB,CA6BnB"}