11import path from 'node:path' ;
2- import type BetterSqlite3 from 'better-sqlite3' ;
32import { openReadonlyOrFail , testFilterSQL } from '../../db/index.js' ;
43import { loadConfig } from '../../infrastructure/config.js' ;
54import { debug } from '../../infrastructure/logger.js' ;
65import { isTestFile } from '../../infrastructure/test-filter.js' ;
76import { DEAD_ROLE_PREFIX } from '../../shared/kinds.js' ;
7+ import type { BetterSqlite3Database } from '../../types.js' ;
88import { findCycles } from '../graph/cycles.js' ;
99import { LANGUAGE_REGISTRY } from '../parser.js' ;
1010
@@ -44,7 +44,7 @@ export const FALSE_POSITIVE_CALLER_THRESHOLD = 20;
4444// Section helpers
4545// ---------------------------------------------------------------------------
4646
47- function buildTestFileIds ( db : BetterSqlite3 . Database ) : Set < number > {
47+ function buildTestFileIds ( db : BetterSqlite3Database ) : Set < number > {
4848 const allFileNodes = db . prepare ( "SELECT id, file FROM nodes WHERE kind = 'file'" ) . all ( ) as Array < {
4949 id : number ;
5050 file : string ;
@@ -67,7 +67,7 @@ function buildTestFileIds(db: BetterSqlite3.Database): Set<number> {
6767 return testFileIds ;
6868}
6969
70- function countNodesByKind ( db : BetterSqlite3 . Database , testFileIds : Set < number > | null ) {
70+ function countNodesByKind ( db : BetterSqlite3Database , testFileIds : Set < number > | null ) {
7171 let nodeRows : Array < { kind : string ; c : number } > ;
7272 if ( testFileIds ) {
7373 const allNodes = db . prepare ( 'SELECT id, kind, file FROM nodes' ) . all ( ) as Array < {
@@ -94,7 +94,7 @@ function countNodesByKind(db: BetterSqlite3.Database, testFileIds: Set<number> |
9494 return { total, byKind } ;
9595}
9696
97- function countEdgesByKind ( db : BetterSqlite3 . Database , testFileIds : Set < number > | null ) {
97+ function countEdgesByKind ( db : BetterSqlite3Database , testFileIds : Set < number > | null ) {
9898 let edgeRows : Array < { kind : string ; c : number } > ;
9999 if ( testFileIds ) {
100100 const allEdges = db . prepare ( 'SELECT source_id, target_id, kind FROM edges' ) . all ( ) as Array < {
@@ -123,7 +123,7 @@ function countEdgesByKind(db: BetterSqlite3.Database, testFileIds: Set<number> |
123123 return { total, byKind } ;
124124}
125125
126- function countFilesByLanguage ( db : BetterSqlite3 . Database , noTests : boolean ) {
126+ function countFilesByLanguage ( db : BetterSqlite3Database , noTests : boolean ) {
127127 const extToLang = new Map < string , string > ( ) ;
128128 for ( const entry of LANGUAGE_REGISTRY ) {
129129 for ( const ext of entry . extensions ) {
@@ -143,7 +143,7 @@ function countFilesByLanguage(db: BetterSqlite3.Database, noTests: boolean) {
143143 return { total : fileNodes . length , languages : Object . keys ( byLanguage ) . length , byLanguage } ;
144144}
145145
146- function findHotspots ( db : BetterSqlite3 . Database , noTests : boolean , limit : number ) {
146+ function findHotspots ( db : BetterSqlite3Database , noTests : boolean , limit : number ) {
147147 const testFilter = testFilterSQL ( 'n.file' , noTests ) ;
148148 const hotspotRows = db
149149 . prepare ( `
@@ -164,7 +164,7 @@ function findHotspots(db: BetterSqlite3.Database, noTests: boolean, limit: numbe
164164 } ) ) ;
165165}
166166
167- function getEmbeddingsInfo ( db : BetterSqlite3 . Database ) {
167+ function getEmbeddingsInfo ( db : BetterSqlite3Database ) {
168168 try {
169169 const count = db . prepare ( 'SELECT COUNT(*) as c FROM embeddings' ) . get ( ) as
170170 | { c : number }
@@ -190,7 +190,7 @@ function getEmbeddingsInfo(db: BetterSqlite3.Database) {
190190}
191191
192192function computeQualityMetrics (
193- db : BetterSqlite3 . Database ,
193+ db : BetterSqlite3Database ,
194194 testFilter : string ,
195195 fpThreshold = FALSE_POSITIVE_CALLER_THRESHOLD ,
196196) {
@@ -265,7 +265,7 @@ function computeQualityMetrics(
265265 } ;
266266}
267267
268- function countRoles ( db : BetterSqlite3 . Database , noTests : boolean ) {
268+ function countRoles ( db : BetterSqlite3Database , noTests : boolean ) {
269269 let roleRows : Array < { role : string ; c : number } > ;
270270 if ( noTests ) {
271271 const allRoleNodes = db
@@ -290,7 +290,7 @@ function countRoles(db: BetterSqlite3.Database, noTests: boolean) {
290290 return roles ;
291291}
292292
293- function getComplexitySummary ( db : BetterSqlite3 . Database , testFilter : string ) {
293+ function getComplexitySummary ( db : BetterSqlite3Database , testFilter : string ) {
294294 try {
295295 const cRows = db
296296 . prepare (
0 commit comments