diff --git a/src/domain/analysis/impact.ts b/src/domain/analysis/impact.ts index 5cd25214..933178fb 100644 --- a/src/domain/analysis/impact.ts +++ b/src/domain/analysis/impact.ts @@ -7,6 +7,5 @@ * - presentation/diff-impact-mermaid.ts: diffImpactMermaid (Mermaid diagram generation) */ -export { diffImpactMermaid } from '../../presentation/diff-impact-mermaid.js'; export { diffImpactData } from './diff-impact.js'; export { bfsTransitiveCallers, fnImpactData, impactAnalysisData } from './fn-impact.js'; diff --git a/src/domain/queries.ts b/src/domain/queries.ts index b35ad981..aae22eaf 100644 --- a/src/domain/queries.ts +++ b/src/domain/queries.ts @@ -8,6 +8,7 @@ // ── Re-export from dedicated module for backward compat ─────────────────── export { isTestFile, TEST_PATTERN } from '../infrastructure/test-filter.js'; +export { diffImpactMermaid } from '../presentation/diff-impact-mermaid.js'; export { iterListFunctions, iterRoles, iterWhere } from '../shared/generators.js'; // ── Kind/edge constants (canonical source: kinds.js) ───────────────────── export { @@ -28,7 +29,6 @@ export { fileDepsData, fnDepsData, pathData } from './analysis/dependencies.js'; export { exportsData } from './analysis/exports.js'; export { diffImpactData, - diffImpactMermaid, fnImpactData, impactAnalysisData, } from './analysis/impact.js'; diff --git a/src/features/structure-query.ts b/src/features/structure-query.ts index 3e2509f4..dfec638c 100644 --- a/src/features/structure-query.ts +++ b/src/features/structure-query.ts @@ -379,6 +379,8 @@ function getSortFn(sortBy: string): (a: DirRow, b: DirRow) => number { const db_ = (b.file_count ?? 0) > 0 ? (b.symbol_count || 0) / (b.file_count ?? 1) : 0; return db_ - da; }; + case 'files': + return (a, b) => (b.file_count || 0) - (a.file_count || 0); default: return (a, b) => a.name.localeCompare(b.name); } diff --git a/tests/unit/visitor.test.ts b/tests/unit/visitor.test.ts index 62dc5b3e..992b4307 100644 --- a/tests/unit/visitor.test.ts +++ b/tests/unit/visitor.test.ts @@ -4,6 +4,7 @@ import { describe, expect, it } from 'vitest'; // We need a tree-sitter tree to test. Use the JS parser. +// biome-ignore lint/suspicious/noExplicitAny: tree-sitter parser type is complex and not worth typing for tests let parse: any; async function ensureParser() {