15 lines
831 B
TypeScript
Executable file
15 lines
831 B
TypeScript
Executable file
import { Project, SyntaxKind } from 'ts-morph';
|
|
const project = new Project({ tsConfigFilePath: 'C:/ScriptoriumAI/scriptoriumai-ui/tsconfig.json' });
|
|
const sourceFile = project.getSourceFileOrThrow('C:/ScriptoriumAI/scriptoriumai-ui/src/pages/Runboard.tsx');
|
|
const fn = sourceFile.getFunctionOrThrow('Runboard');
|
|
|
|
const statements = fn.getBody().getStatements();
|
|
let sum = 0;
|
|
console.log('Largest statements in Runboard:');
|
|
statements.map(s => ({ kind: s.getKindName(), size: s.getEndLineNumber() - s.getStartLineNumber(), text: s.getText().substring(0, 100) }))
|
|
.sort((a,b) => b.size - a.size).slice(0, 10)
|
|
.forEach(s => console.log(s.kind, s.size, s.text));
|
|
|
|
let total = 0;
|
|
statements.forEach(s => total += s.getEndLineNumber() - s.getStartLineNumber());
|
|
console.log('Total lines of all direct statements:', total);
|