Add WASM fallbacks for tree-sitter and SQLite, fix installer

Replace native tree-sitter with web-tree-sitter + tree-sitter-wasms for
universal cross-platform support. Add node-sqlite3-wasm as a fallback
when better-sqlite3 native bindings aren't available. Move better-sqlite3
and sqlite-vss to optionalDependencies so installs never fail.

Fix installer to use npx fallback when global npm install fails, so MCP
config, hooks, and quick-start instructions all work without the bare
codegraph command in PATH.

Fix tests: update schema version expectation, fix db test paths and
method names, extract MAX_OUTPUT_LENGTH as module constant, normalize
Windows path separators in import resolver.
This commit is contained in:
Colby McHenry
2026-02-14 00:56:15 -06:00
parent 429359c25f
commit 8346440592
24 changed files with 707 additions and 781 deletions
+5 -20
View File
@@ -34,11 +34,12 @@
"license": "MIT",
"dependencies": {
"@xenova/transformers": "^2.17.0",
"better-sqlite3": "^11.0.0",
"commander": "^14.0.2",
"figlet": "^1.8.0",
"node-sqlite3-wasm": "^0.8.30",
"picomatch": "^4.0.3",
"tree-sitter": "0.22.4"
"tree-sitter-wasms": "^0.1.11",
"web-tree-sitter": "^0.25.3"
},
"devDependencies": {
"@types/better-sqlite3": "^7.6.0",
@@ -49,26 +50,10 @@
"vitest": "^2.1.9"
},
"optionalDependencies": {
"@sengac/tree-sitter-dart": "1.1.6",
"sqlite-vss": "^0.1.2",
"tree-sitter-c": "0.23.2",
"tree-sitter-c-sharp": "0.23.1",
"tree-sitter-cpp": "0.23.4",
"tree-sitter-go": "0.23.4",
"tree-sitter-java": "0.23.5",
"tree-sitter-javascript": "0.23.1",
"tree-sitter-kotlin": "0.3.8",
"tree-sitter-php": "0.23.11",
"tree-sitter-python": "0.23.4",
"tree-sitter-ruby": "0.23.1",
"tree-sitter-rust": "0.23.1",
"tree-sitter-swift": "0.6.0",
"tree-sitter-typescript": "0.23.2"
"better-sqlite3": "^11.0.0",
"sqlite-vss": "^0.1.2"
},
"engines": {
"node": ">=18.0.0"
},
"overrides": {
"tree-sitter": "0.22.4"
}
}