Merge branch 'main' into delphi-support

This commit is contained in:
Colby Mchenry
2026-02-19 14:59:53 -06:00
committed by GitHub
+10 -11
View File
@@ -94,24 +94,23 @@ export async function initGrammars(): Promise<void> {
await Parser.init(); await Parser.init();
// Load all grammars in parallel // Load grammars sequentially to avoid web-tree-sitter WASM race condition on Node 20+
// See: https://github.com/tree-sitter/tree-sitter/issues/2338
const entries = Object.entries(WASM_GRAMMAR_FILES) as [GrammarLanguage, string][]; const entries = Object.entries(WASM_GRAMMAR_FILES) as [GrammarLanguage, string][];
await Promise.allSettled( for (const [lang, wasmFile] of entries) {
entries.map(async ([lang, wasmFile]) => { try {
try {
// Pascal ships its own WASM (not in tree-sitter-wasms) // Pascal ships its own WASM (not in tree-sitter-wasms)
const wasmPath = lang === 'pascal' const wasmPath = lang === 'pascal'
? path.join(__dirname, 'wasm', wasmFile) ? path.join(__dirname, 'wasm', wasmFile)
: require.resolve(`tree-sitter-wasms/out/${wasmFile}`); : require.resolve(`tree-sitter-wasms/out/${wasmFile}`);
const language = await WasmLanguage.load(wasmPath); const language = await WasmLanguage.load(wasmPath);
languageCache.set(lang, language); languageCache.set(lang, language);
} catch (error) { } catch (error) {
const message = error instanceof Error ? error.message : String(error); const message = error instanceof Error ? error.message : String(error);
console.warn(`[CodeGraph] Failed to load ${lang} grammar — parsing will be unavailable: ${message}`); console.warn(`[CodeGraph] Failed to load ${lang} grammar — parsing will be unavailable: ${message}`);
unavailableGrammarErrors.set(lang, message); unavailableGrammarErrors.set(lang, message);
} }
}) }
);
grammarsInitialized = true; grammarsInitialized = true;
} }