From 733d8386d4987a18a375a79f98224094ec624f39 Mon Sep 17 00:00:00 2001 From: carlos-alm <127798846+carlos-alm@users.noreply.github.com> Date: Thu, 19 Mar 2026 01:58:24 -0600 Subject: [PATCH] fix: update benchmark script import paths after src/ restructure Benchmark scripts still referenced flat src/ paths (builder.js, queries.js, parser.js, native.js, resolve.js, embeddings/index.js) that no longer exist after the domain/infrastructure restructure. Also fix collectImportPairs() to walk src/ recursively since only 2 files remain at the root level. Impact: 3 functions changed, 4 affected --- scripts/benchmark.js | 6 +++--- scripts/embedding-benchmark.js | 4 ++-- scripts/incremental-benchmark.js | 30 +++++++++++++++++------------- scripts/lib/fork-engine.js | 4 ++-- scripts/query-benchmark.js | 4 ++-- 5 files changed, 26 insertions(+), 22 deletions(-) diff --git a/scripts/benchmark.js b/scripts/benchmark.js index c2202f31..cc57d63a 100644 --- a/scripts/benchmark.js +++ b/scripts/benchmark.js @@ -88,14 +88,14 @@ const { srcDir, cleanup } = await resolveBenchmarkSource(); const dbPath = path.join(root, '.codegraph', 'graph.db'); -const { buildGraph } = await import(srcImport(srcDir, 'builder.js')); +const { buildGraph } = await import(srcImport(srcDir, 'domain/graph/builder.js')); const { fnDepsData, fnImpactData, pathData, rolesData, statsData } = await import( - srcImport(srcDir, 'queries.js') + srcImport(srcDir, 'domain/queries.js') ); const INCREMENTAL_RUNS = 3; const QUERY_RUNS = 5; -const PROBE_FILE = path.join(root, 'src', 'queries.js'); +const PROBE_FILE = path.join(root, 'src', 'domain', 'queries.js'); function median(arr) { const sorted = [...arr].sort((a, b) => a - b); diff --git a/scripts/embedding-benchmark.js b/scripts/embedding-benchmark.js index 714cdb3e..d882436d 100644 --- a/scripts/embedding-benchmark.js +++ b/scripts/embedding-benchmark.js @@ -30,7 +30,7 @@ if (process.env[MODEL_WORKER_KEY]) { const dbPath = path.join(root, '.codegraph', 'graph.db'); const { buildEmbeddings, MODELS, searchData, disposeModel } = await import( - srcImport(srcDir, 'embeddings/index.js') + srcImport(srcDir, 'domain/search/index.js') ); const TEST_PATTERN = /\.(test|spec)\.|__test__|__tests__|\.stories\./; @@ -123,7 +123,7 @@ if (process.env[MODEL_WORKER_KEY]) { const { version, srcDir, cleanup } = await resolveBenchmarkSource(); const dbPath = path.join(root, '.codegraph', 'graph.db'); -const { MODELS } = await import(srcImport(srcDir, 'embeddings/index.js')); +const { MODELS } = await import(srcImport(srcDir, 'domain/search/index.js')); const TIMEOUT_MS = 600_000; const hasHfToken = !!process.env.HF_TOKEN; diff --git a/scripts/incremental-benchmark.js b/scripts/incremental-benchmark.js index 93c71993..9c49b622 100644 --- a/scripts/incremental-benchmark.js +++ b/scripts/incremental-benchmark.js @@ -35,12 +35,12 @@ if (!isWorker()) { const rootParent = path.resolve(__dirParent, '..'); const dbPathParent = path.join(rootParent, '.codegraph', 'graph.db'); - const { statsData: parentStats } = await import(srcImport(parentSrcDir, 'queries.js')); + const { statsData: parentStats } = await import(srcImport(parentSrcDir, 'domain/queries.js')); const { resolveImportsBatch: parentBatch, resolveImportPathJS: parentJS } = await import( - srcImport(parentSrcDir, 'resolve.js') + srcImport(parentSrcDir, 'domain/graph/resolve.js') ); const { isNativeAvailable: parentNativeCheck } = await import( - srcImport(parentSrcDir, 'native.js') + srcImport(parentSrcDir, 'infrastructure/native.js') ); const RUNS = 3; @@ -52,18 +52,22 @@ if (!isWorker()) { function round1(n) { return Math.round(n * 10) / 10; } function collectImportPairs() { - const srcDir = path.join(rootParent, 'src'); - const files = fs.readdirSync(srcDir).filter((f) => f.endsWith('.js')); + const srcRoot = path.join(rootParent, 'src'); const importRe = /(?:^|\n)\s*import\s+.*?\s+from\s+['"]([^'"]+)['"]/g; const pairs = []; - for (const file of files) { - const absFile = path.join(srcDir, file); - const content = fs.readFileSync(absFile, 'utf8'); - let match; - while ((match = importRe.exec(content)) !== null) { - pairs.push({ fromFile: absFile, importSource: match[1] }); + function walk(dir) { + for (const entry of fs.readdirSync(dir, { withFileTypes: true })) { + if (entry.isDirectory()) { walk(path.join(dir, entry.name)); continue; } + if (!entry.name.endsWith('.js')) continue; + const absFile = path.join(dir, entry.name); + const content = fs.readFileSync(absFile, 'utf8'); + let match; + while ((match = importRe.exec(content)) !== null) { + pairs.push({ fromFile: absFile, importSource: match[1] }); + } } } + walk(srcRoot); return pairs; } @@ -138,14 +142,14 @@ const root = path.resolve(__dirname, '..'); const { srcDir, cleanup } = await resolveBenchmarkSource(); const dbPath = path.join(root, '.codegraph', 'graph.db'); -const { buildGraph } = await import(srcImport(srcDir, 'builder.js')); +const { buildGraph } = await import(srcImport(srcDir, 'domain/graph/builder.js')); // Redirect console.log to stderr so only JSON goes to stdout const origLog = console.log; console.log = (...args) => console.error(...args); const RUNS = 3; -const PROBE_FILE = path.join(root, 'src', 'queries.js'); +const PROBE_FILE = path.join(root, 'src', 'domain', 'queries.js'); function median(arr) { const sorted = [...arr].sort((a, b) => a - b); diff --git a/scripts/lib/fork-engine.js b/scripts/lib/fork-engine.js index 97a6880a..b506ab2b 100644 --- a/scripts/lib/fork-engine.js +++ b/scripts/lib/fork-engine.js @@ -138,12 +138,12 @@ export async function forkEngines(scriptUrl, argv = [], opts = {}) { const { srcDir, cleanup } = await resolveBenchmarkSource(); try { - const { isWasmAvailable } = await import(srcImport(srcDir, 'parser.js')); + const { isWasmAvailable } = await import(srcImport(srcDir, 'domain/parser.js')); hasWasm = isWasmAvailable(); } catch { /* unavailable */ } try { - const { isNativeAvailable } = await import(srcImport(srcDir, 'native.js')); + const { isNativeAvailable } = await import(srcImport(srcDir, 'infrastructure/native.js')); hasNative = isNativeAvailable(); } catch { /* unavailable */ } diff --git a/scripts/query-benchmark.js b/scripts/query-benchmark.js index 6fbe14a4..b225c577 100644 --- a/scripts/query-benchmark.js +++ b/scripts/query-benchmark.js @@ -90,9 +90,9 @@ const root = path.resolve(__dirname, '..'); const { srcDir, cleanup } = await resolveBenchmarkSource(); const dbPath = path.join(root, '.codegraph', 'graph.db'); -const { buildGraph } = await import(srcImport(srcDir, 'builder.js')); +const { buildGraph } = await import(srcImport(srcDir, 'domain/graph/builder.js')); const { fnDepsData, fnImpactData, diffImpactData } = await import( - srcImport(srcDir, 'queries.js') + srcImport(srcDir, 'domain/queries.js') ); // Redirect console.log to stderr so only JSON goes to stdout