3030import { readdir , stat , readFile } from 'fs/promises' ;
3131import { resolve , relative , basename , dirname , join } from 'path' ;
3232import { createHash } from 'crypto' ;
33- import { parseFile } from './parser.js' ;
33+ import { parseFile , type ParsedFile } from './parser.js' ;
3434import type { CodeGraphApi } from './graph.js' ;
3535import type { StorageProvider } from '../store/provider.js' ;
3636import type {
@@ -222,17 +222,17 @@ export class Indexer extends EventEmitter {
222222
223223 this . storage . upsertFile ( fileMetadata ) ;
224224
225- let parsed ;
225+ let parsed : ParsedFile ;
226226 try {
227227 if ( this . parsePool ) {
228228 // Use worker pool for parsing
229- parsed = await this . parsePool . parse ( {
229+ const workerResult = await this . parsePool . parse ( {
230230 filePath : relativePath ,
231231 repositoryId,
232232 workspaceRoot : this . workspaceRoot ,
233233 } ) ;
234234
235- if ( parsed === null ) {
235+ if ( workerResult === null ) {
236236 // Worker reported error or security violation - mark file as skipped
237237 fileMetadata . status = 'error' ;
238238 fileMetadata . lastError = 'parse worker skipped' ;
@@ -242,6 +242,7 @@ export class Indexer extends EventEmitter {
242242 this . emit ( 'file:error' , relativePath , new Error ( 'parse worker skipped' ) ) ;
243243 return ;
244244 }
245+ parsed = workerResult ;
245246 } else {
246247 // Use in-process parsing (fallback when pool size is 0)
247248 parsed = await parseFile ( relativePath , repositoryId , this . workspaceRoot ) ;
0 commit comments