Skip to content

Commit 92321a2

Browse files
authored
Merge branch 'main' into fix/native-rest-param-resolution-1349
2 parents fa0f4d8 + fb60836 commit 92321a2

2 files changed

Lines changed: 19 additions & 2 deletions

File tree

CLAUDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ Skip the above commands for non-code files, trivial edits, or when you already h
6262

6363
Codegraph (`@optave/codegraph`) is a local code dependency graph CLI. It parses codebases with tree-sitter (WASM), builds function-level dependency graphs stored in SQLite, and supports semantic search with local embeddings. No cloud services required.
6464

65-
**Languages supported (23):** JavaScript, TypeScript, TSX, Python, Go, Rust, Java, C#, Ruby, PHP, C, C++, Kotlin, Swift, Scala, Bash, Elixir, Lua, Dart, Zig, Haskell, OCaml, Terraform/HCL. `LANGUAGE_REGISTRY` in `domain/parser.ts` is the single source of truth — check there for the current list.
65+
**Languages supported (34):** JavaScript, TypeScript, TSX, Python, Go, Rust, Java, C#, Ruby, PHP, C, C++, Kotlin, Swift, Scala, Bash, Elixir, Lua, Dart, Zig, Haskell, OCaml, F#, Terraform/HCL, Gleam, Clojure, Julia, R, Erlang, Solidity, Objective-C, CUDA, Groovy, Verilog. `LANGUAGE_REGISTRY` in `domain/parser.ts` is the single source of truth — check there for the current list.
6666

6767
## Commands
6868

tests/search/embedding-regression.test.ts

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,24 @@ describe.skipIf(!hasTransformers)('embedding regression (real model)', () => {
8888
// causing intermittent EBUSY errors. Node's built-in maxRetries handles
8989
// retrying EBUSY/EMFILE automatically with retryDelay ms between attempts.
9090
flushDeferredClose();
91-
fs.rmSync(tmpDir, { recursive: true, force: true, maxRetries: 10, retryDelay: 200 });
91+
// Safety net: if the WAL lock outlasts the retry budget, clean up at process exit.
92+
// This prevents leaked codegraph-embed-regression-* directories on Windows CI.
93+
const capturedDir = tmpDir;
94+
process.once('exit', () => {
95+
try {
96+
fs.rmSync(capturedDir, { recursive: true, force: true });
97+
} catch {
98+
// best-effort — OS will eventually reclaim at reboot
99+
}
100+
});
101+
try {
102+
fs.rmSync(tmpDir, { recursive: true, force: true, maxRetries: 10, retryDelay: 200 });
103+
} catch (err: unknown) {
104+
// Only swallow EBUSY / EPERM — Windows WAL locks that outlast the retry budget.
105+
// Any other error (permission denied, quota, path corruption) surfaces normally.
106+
const code = (err as NodeJS.ErrnoException).code;
107+
if (code !== 'EBUSY' && code !== 'EPERM') throw err;
108+
}
92109
});
93110

94111
describe('smoke tests', () => {

0 commit comments

Comments
 (0)