Ts Screener | [upd]
async run(): Promise<ScreenerReport> const files = this.resolveFiles(); const reports: FileReport[] = [];
đź“„ src/api/client.ts Missing types: Missing type: data, Missing type: config 'any' usage count: 2 This gives you a production-ready, extensible TypeScript quality gate. Want me to add a or IDE plugin next? ts screener
export type ScreenerReport = summary: filesScanned: number; totalAnyUsage: number; totalMissingTypes: number; typeCoveragePercent: number; passed: boolean; ; details: FileReport[]; ; import ts from 'typescript'; import glob from 'glob'; import readFileSync from 'fs'; import FileReport, ScreenerOptions, ScreenerReport from './types.js'; export class TypeScriptScreener { constructor(private options: ScreenerOptions) {} async run(): Promise<
for (const file of files) const report = this.analyzeFile(file); reports.push(report); const files = this.resolveFiles()
visit(sourceFile);
private resolveFiles(): string[] const includes = this.options.include.flatMap(pattern => glob.sync(pattern)); const excludes = new Set(this.options.exclude.flatMap(pattern => glob.sync(pattern))); return includes.filter(f => !excludes.has(f));