@kevinrabun/judges 3.41.0 → 3.43.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.
- package/CHANGELOG.md +30 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +126 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/assign-findings.d.ts +37 -0
- package/dist/commands/assign-findings.d.ts.map +1 -0
- package/dist/commands/assign-findings.js +178 -0
- package/dist/commands/assign-findings.js.map +1 -0
- package/dist/commands/auto-triage.d.ts +32 -0
- package/dist/commands/auto-triage.d.ts.map +1 -0
- package/dist/commands/auto-triage.js +126 -0
- package/dist/commands/auto-triage.js.map +1 -0
- package/dist/commands/ci-template.d.ts +15 -0
- package/dist/commands/ci-template.d.ts.map +1 -0
- package/dist/commands/ci-template.js +212 -0
- package/dist/commands/ci-template.js.map +1 -0
- package/dist/commands/coverage-map.d.ts +23 -0
- package/dist/commands/coverage-map.d.ts.map +1 -0
- package/dist/commands/coverage-map.js +223 -0
- package/dist/commands/coverage-map.js.map +1 -0
- package/dist/commands/diff-only.d.ts +34 -0
- package/dist/commands/diff-only.d.ts.map +1 -0
- package/dist/commands/diff-only.js +152 -0
- package/dist/commands/diff-only.js.map +1 -0
- package/dist/commands/false-negatives.d.ts +35 -0
- package/dist/commands/false-negatives.d.ts.map +1 -0
- package/dist/commands/false-negatives.js +166 -0
- package/dist/commands/false-negatives.js.map +1 -0
- package/dist/commands/group-findings.d.ts +23 -0
- package/dist/commands/group-findings.d.ts.map +1 -0
- package/dist/commands/group-findings.js +155 -0
- package/dist/commands/group-findings.js.map +1 -0
- package/dist/commands/hook-install.d.ts +22 -0
- package/dist/commands/hook-install.d.ts.map +1 -0
- package/dist/commands/hook-install.js +143 -0
- package/dist/commands/hook-install.js.map +1 -0
- package/dist/commands/policy-audit.d.ts +53 -0
- package/dist/commands/policy-audit.d.ts.map +1 -0
- package/dist/commands/policy-audit.js +161 -0
- package/dist/commands/policy-audit.js.map +1 -0
- package/dist/commands/pr-summary.d.ts +26 -0
- package/dist/commands/pr-summary.d.ts.map +1 -0
- package/dist/commands/pr-summary.js +188 -0
- package/dist/commands/pr-summary.js.map +1 -0
- package/dist/commands/profile.d.ts +38 -0
- package/dist/commands/profile.d.ts.map +1 -0
- package/dist/commands/profile.js +102 -0
- package/dist/commands/profile.js.map +1 -0
- package/dist/commands/regression-alert.d.ts +32 -0
- package/dist/commands/regression-alert.d.ts.map +1 -0
- package/dist/commands/regression-alert.js +216 -0
- package/dist/commands/regression-alert.js.map +1 -0
- package/dist/commands/remediation.d.ts +21 -0
- package/dist/commands/remediation.d.ts.map +1 -0
- package/dist/commands/remediation.js +257 -0
- package/dist/commands/remediation.js.map +1 -0
- package/dist/commands/sla-track.d.ts +57 -0
- package/dist/commands/sla-track.d.ts.map +1 -0
- package/dist/commands/sla-track.js +269 -0
- package/dist/commands/sla-track.js.map +1 -0
- package/dist/commands/smart-select.d.ts +27 -0
- package/dist/commands/smart-select.d.ts.map +1 -0
- package/dist/commands/smart-select.js +346 -0
- package/dist/commands/smart-select.js.map +1 -0
- package/dist/commands/ticket-sync.d.ts +26 -0
- package/dist/commands/ticket-sync.d.ts.map +1 -0
- package/dist/commands/ticket-sync.js +236 -0
- package/dist/commands/ticket-sync.js.map +1 -0
- package/dist/commands/upload.d.ts +14 -0
- package/dist/commands/upload.d.ts.map +1 -0
- package/dist/commands/upload.js +173 -0
- package/dist/commands/upload.js.map +1 -0
- package/dist/commands/validate-config.d.ts +17 -0
- package/dist/commands/validate-config.d.ts.map +1 -0
- package/dist/commands/validate-config.js +268 -0
- package/dist/commands/validate-config.js.map +1 -0
- package/dist/commands/warm-cache.d.ts +31 -0
- package/dist/commands/warm-cache.d.ts.map +1 -0
- package/dist/commands/warm-cache.js +166 -0
- package/dist/commands/warm-cache.js.map +1 -0
- package/package.json +1 -1
- package/server.json +2 -2
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Eval cache warming — pre-populate the evaluation cache with
|
|
3
|
+
* common patterns so CI runs start warm and skip known-good files.
|
|
4
|
+
*
|
|
5
|
+
* Works with the existing disk-cache system: scans the project,
|
|
6
|
+
* evaluates files, and stores results. Subsequent CI runs check
|
|
7
|
+
* the cache first and skip files whose hash hasn't changed.
|
|
8
|
+
*/
|
|
9
|
+
import { createHash } from "crypto";
|
|
10
|
+
import { DiskCache } from "../disk-cache.js";
|
|
11
|
+
// ─── Hash Computation ───────────────────────────────────────────────────────
|
|
12
|
+
export function computeFileHash(content) {
|
|
13
|
+
return createHash("sha256").update(content).digest("hex").slice(0, 16);
|
|
14
|
+
}
|
|
15
|
+
// ─── Cache Warming Logic ────────────────────────────────────────────────────
|
|
16
|
+
const DEFAULT_EXTENSIONS = [
|
|
17
|
+
".ts",
|
|
18
|
+
".tsx",
|
|
19
|
+
".js",
|
|
20
|
+
".jsx",
|
|
21
|
+
".py",
|
|
22
|
+
".go",
|
|
23
|
+
".rs",
|
|
24
|
+
".java",
|
|
25
|
+
".cs",
|
|
26
|
+
".rb",
|
|
27
|
+
".php",
|
|
28
|
+
".kt",
|
|
29
|
+
".scala",
|
|
30
|
+
".swift",
|
|
31
|
+
".c",
|
|
32
|
+
".cpp",
|
|
33
|
+
".h",
|
|
34
|
+
".hpp",
|
|
35
|
+
];
|
|
36
|
+
const DEFAULT_EXCLUDE = [
|
|
37
|
+
"node_modules",
|
|
38
|
+
"dist",
|
|
39
|
+
"build",
|
|
40
|
+
".git",
|
|
41
|
+
"__pycache__",
|
|
42
|
+
"vendor",
|
|
43
|
+
"target",
|
|
44
|
+
".next",
|
|
45
|
+
".nuxt",
|
|
46
|
+
"coverage",
|
|
47
|
+
];
|
|
48
|
+
export async function warmCache(options = {}) {
|
|
49
|
+
const { readdirSync, readFileSync, statSync } = await import("fs");
|
|
50
|
+
const { join, extname } = await import("path");
|
|
51
|
+
const root = options.root || process.cwd();
|
|
52
|
+
const extensions = new Set(options.extensions || DEFAULT_EXTENSIONS);
|
|
53
|
+
const excludeDirs = new Set(options.exclude || DEFAULT_EXCLUDE);
|
|
54
|
+
const maxFiles = options.maxFiles || 500;
|
|
55
|
+
const cache = new DiskCache({ cacheDir: options.cacheDir });
|
|
56
|
+
const cacheDir = options.cacheDir || process.env.JUDGES_CACHE_DIR || ".judges-cache";
|
|
57
|
+
const start = performance.now();
|
|
58
|
+
let filesScanned = 0;
|
|
59
|
+
let filesCached = 0;
|
|
60
|
+
let filesSkipped = 0;
|
|
61
|
+
function walkDir(dir) {
|
|
62
|
+
if (filesScanned >= maxFiles)
|
|
63
|
+
return;
|
|
64
|
+
let entries;
|
|
65
|
+
try {
|
|
66
|
+
entries = readdirSync(dir, { withFileTypes: true });
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
for (const entry of entries) {
|
|
72
|
+
if (filesScanned >= maxFiles)
|
|
73
|
+
break;
|
|
74
|
+
if (entry.isDirectory()) {
|
|
75
|
+
if (!excludeDirs.has(entry.name) && !entry.name.startsWith(".")) {
|
|
76
|
+
walkDir(join(dir, entry.name));
|
|
77
|
+
}
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
const ext = extname(entry.name).toLowerCase();
|
|
81
|
+
if (!extensions.has(ext))
|
|
82
|
+
continue;
|
|
83
|
+
const filePath = join(dir, entry.name);
|
|
84
|
+
filesScanned++;
|
|
85
|
+
try {
|
|
86
|
+
const content = readFileSync(filePath, "utf-8");
|
|
87
|
+
const hash = computeFileHash(content);
|
|
88
|
+
const cacheKey = `warm:${filePath}:${hash}`;
|
|
89
|
+
// Check if already cached
|
|
90
|
+
const existing = cache.get(cacheKey);
|
|
91
|
+
if (existing) {
|
|
92
|
+
filesSkipped++;
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
// Store a warming marker — actual eval results will be populated
|
|
96
|
+
// on first real evaluation when the hash matches
|
|
97
|
+
const stat = statSync(filePath);
|
|
98
|
+
cache.set(cacheKey, JSON.stringify({
|
|
99
|
+
warmed: true,
|
|
100
|
+
hash,
|
|
101
|
+
size: stat.size,
|
|
102
|
+
timestamp: new Date().toISOString(),
|
|
103
|
+
}));
|
|
104
|
+
filesCached++;
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
// Skip files that can't be read
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
walkDir(root);
|
|
112
|
+
return {
|
|
113
|
+
filesScanned,
|
|
114
|
+
filesCached,
|
|
115
|
+
filesSkipped,
|
|
116
|
+
durationMs: Math.round(performance.now() - start),
|
|
117
|
+
cacheDir,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
// ─── CLI ────────────────────────────────────────────────────────────────────
|
|
121
|
+
export async function runWarmCache(argv) {
|
|
122
|
+
if (argv.includes("--help") || argv.includes("-h")) {
|
|
123
|
+
console.log(`
|
|
124
|
+
judges warm-cache — Pre-populate evaluation cache for faster CI
|
|
125
|
+
|
|
126
|
+
Usage:
|
|
127
|
+
judges warm-cache Warm cache for current directory
|
|
128
|
+
judges warm-cache --root src/ Warm specific directory
|
|
129
|
+
judges warm-cache --max 200 Limit files to warm
|
|
130
|
+
|
|
131
|
+
Options:
|
|
132
|
+
--root <dir> Root directory to scan (default: .)
|
|
133
|
+
--max <n> Max files to warm (default: 500)
|
|
134
|
+
--extensions <list> Comma-separated extensions (default: .ts,.js,.py,.go,...)
|
|
135
|
+
--format json JSON output
|
|
136
|
+
--help, -h Show this help
|
|
137
|
+
|
|
138
|
+
Pre-populates the disk cache with file hashes. Subsequent evaluations
|
|
139
|
+
skip files whose content hasn't changed, dramatically speeding up CI.
|
|
140
|
+
`);
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
const format = argv.find((_a, i) => argv[i - 1] === "--format") || "text";
|
|
144
|
+
const root = argv.find((_a, i) => argv[i - 1] === "--root");
|
|
145
|
+
const maxStr = argv.find((_a, i) => argv[i - 1] === "--max");
|
|
146
|
+
const extStr = argv.find((_a, i) => argv[i - 1] === "--extensions");
|
|
147
|
+
const options = {};
|
|
148
|
+
if (root)
|
|
149
|
+
options.root = root;
|
|
150
|
+
if (maxStr)
|
|
151
|
+
options.maxFiles = parseInt(maxStr, 10);
|
|
152
|
+
if (extStr)
|
|
153
|
+
options.extensions = extStr.split(",").map((s) => s.trim());
|
|
154
|
+
const result = await warmCache(options);
|
|
155
|
+
if (format === "json") {
|
|
156
|
+
console.log(JSON.stringify(result, null, 2));
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
console.log(`\n Cache Warming Results\n`);
|
|
160
|
+
console.log(` Files scanned: ${result.filesScanned}`);
|
|
161
|
+
console.log(` Newly cached: ${result.filesCached}`);
|
|
162
|
+
console.log(` Already warm: ${result.filesSkipped}`);
|
|
163
|
+
console.log(` Duration: ${result.durationMs}ms`);
|
|
164
|
+
console.log(` Cache dir: ${result.cacheDir}\n`);
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=warm-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warm-cache.js","sourceRoot":"","sources":["../../src/commands/warm-cache.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/server.json
CHANGED
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
"url": "https://github.com/kevinrabun/judges",
|
|
8
8
|
"source": "github"
|
|
9
9
|
},
|
|
10
|
-
"version": "3.
|
|
10
|
+
"version": "3.43.0",
|
|
11
11
|
"packages": [
|
|
12
12
|
{
|
|
13
13
|
"registryType": "npm",
|
|
14
14
|
"identifier": "@kevinrabun/judges",
|
|
15
|
-
"version": "3.
|
|
15
|
+
"version": "3.43.0",
|
|
16
16
|
"transport": {
|
|
17
17
|
"type": "stdio"
|
|
18
18
|
}
|