Ts Screener (2024)
private buildReport(reports: FileReport[]): ScreenerReport const totalAny = reports.reduce((sum, r) => sum + r.anyCount, 0); const totalMissing = reports.reduce((sum, r) => sum + r.missingTypes.length, 0); const totalSymbols = reports.reduce((sum, r) => sum + r.totalSymbols, 0); const typedSymbols = reports.reduce((sum, r) => sum + r.typedSymbols, 0); const coverage = totalSymbols === 0 ? 100 : (typedSymbols / totalSymbols) * 100; const passed = coverage >= (this.options.targetTypeCoverage } #!/usr/bin/env node import Command from 'commander'; import TypeScriptScreener from './screener.js'; import consoleReporter from './reporters/console.js'; import jsonReporter from './reporters/json.js';
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)); ts screener
return filePath, totalSymbols, typedSymbols, anyCount, missingTypes, implicitAnyLines, errors: this.checkStrictOptions(sourceFile), ; sum + r.anyCount