Ts Screener 【90% Hot】
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));
if (!report.summary.passed) process.exit(1); ts screener
ts.forEachChild(node, visit); ;
const visit = (node: ts.Node) => ts.isFunctionDeclaration(node)) totalSymbols++; if (node.type) typedSymbols++; private resolveFiles(): string[] const includes = this
async run(): Promise<ScreenerReport> const files = this.resolveFiles(); const reports: FileReport[] = []; return includes.filter(f =>
private checkStrictOptions(sourceFile: ts.SourceFile): string[] const errors: string[] = []; if (this.options.noImplicitAny) // Check compiler flags via parsing tsconfig.json if needed // Simplified: we already flagged implicitAnyLines