if (!report.summary.passed && report.details.length) console.log('\nš Problematic files:'); for (const file of report.details) file.anyCount) console.log( \nš $file.filePath ); if (file.missingTypes.length) console.log( Missing types: $file.missingTypes.slice(0, 3).join(', ') );
if (options.json) console.log(jsonReporter(report)); else consoleReporter(report); ts screener
return filePath, totalSymbols, typedSymbols, anyCount, missingTypes, implicitAnyLines, errors: this.checkStrictOptions(sourceFile), ; if (options.json) console.log(jsonReporter(report))
visit(sourceFile);
if (file.anyCount) console.log( 'any' usage count: $file.anyCount ); sum + r.anyCount
return errors;
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';