fix: count file-level tracked yaml and twig as indexed (#357)
This commit is contained in:
@@ -3226,6 +3226,38 @@ export function multiply(a: number, b: number): number {
|
|||||||
|
|
||||||
cg.close();
|
cg.close();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should count file-level tracked YAML files as indexed', async () => {
|
||||||
|
fs.writeFileSync(path.join(tempDir, 'app.yaml'), 'name: test\n');
|
||||||
|
fs.writeFileSync(path.join(tempDir, 'routes.yml'), 'route: value\n');
|
||||||
|
|
||||||
|
const cg = CodeGraph.initSync(tempDir);
|
||||||
|
const result = await cg.indexAll();
|
||||||
|
|
||||||
|
expect(result.success).toBe(true);
|
||||||
|
expect(result.filesIndexed).toBe(2);
|
||||||
|
expect(result.filesSkipped).toBe(0);
|
||||||
|
expect(cg.getFiles().map((f) => f.path).sort()).toEqual(['app.yaml', 'routes.yml']);
|
||||||
|
|
||||||
|
cg.close();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should count file-level tracked YAML/Twig files as indexed in indexFiles()', async () => {
|
||||||
|
fs.writeFileSync(path.join(tempDir, 'app.yaml'), 'name: test\n');
|
||||||
|
fs.writeFileSync(path.join(tempDir, 'view.twig'), '{{ title }}\n');
|
||||||
|
|
||||||
|
const cg = CodeGraph.initSync(tempDir);
|
||||||
|
const result = await cg.indexFiles(['app.yaml', 'view.twig']);
|
||||||
|
|
||||||
|
expect(result.success).toBe(true);
|
||||||
|
expect(result.filesIndexed).toBe(2);
|
||||||
|
expect(result.filesSkipped).toBe(0);
|
||||||
|
|
||||||
|
const tracked = cg.getFiles().map((f) => `${f.path}:${f.language}`).sort();
|
||||||
|
expect(tracked).toEqual(['app.yaml:yaml', 'view.twig:twig']);
|
||||||
|
|
||||||
|
cg.close();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('Path Normalization', () => {
|
describe('Path Normalization', () => {
|
||||||
|
|||||||
@@ -941,11 +941,19 @@ export class ExtractionOrchestrator {
|
|||||||
totalEdges += result.edges.length;
|
totalEdges += result.edges.length;
|
||||||
} else if (result.errors.some((e) => e.severity === 'error')) {
|
} else if (result.errors.some((e) => e.severity === 'error')) {
|
||||||
filesErrored++;
|
filesErrored++;
|
||||||
|
} else {
|
||||||
|
// Files with no symbols but no errors (e.g. yaml, twig) are tracked
|
||||||
|
// at the file level — count them as indexed so the CLI doesn't
|
||||||
|
// misleadingly report "No files found to index".
|
||||||
|
const lang = detectLanguage(filePath, content);
|
||||||
|
if (lang === 'yaml' || lang === 'twig') {
|
||||||
|
filesIndexed++;
|
||||||
} else {
|
} else {
|
||||||
filesSkipped++;
|
filesSkipped++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Report 100% so the progress bar doesn't hang at 99%
|
// Report 100% so the progress bar doesn't hang at 99%
|
||||||
onProgress?.({
|
onProgress?.({
|
||||||
@@ -1107,10 +1115,15 @@ export class ExtractionOrchestrator {
|
|||||||
totalEdges += result.edges.length;
|
totalEdges += result.edges.length;
|
||||||
} else if (result.errors.some((e) => e.severity === 'error')) {
|
} else if (result.errors.some((e) => e.severity === 'error')) {
|
||||||
filesErrored++;
|
filesErrored++;
|
||||||
|
} else {
|
||||||
|
const tracked = this.queries.getFileByPath(filePath);
|
||||||
|
if (tracked && (tracked.language === 'yaml' || tracked.language === 'twig')) {
|
||||||
|
filesIndexed++;
|
||||||
} else {
|
} else {
|
||||||
filesSkipped++;
|
filesSkipped++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
success: filesIndexed > 0 || errors.filter((e) => e.severity === 'error').length === 0,
|
success: filesIndexed > 0 || errors.filter((e) => e.severity === 'error').length === 0,
|
||||||
|
|||||||
Reference in New Issue
Block a user