openpetswithchatandmcp/website/analyze-massive-literals3.ts
OpenPets Dev 65ac83849e Add 'website/' from commit '966aea480ffe1c340553aa878def30131d2af827'
git-subtree-dir: website
git-subtree-mainline: 8d3849caea
git-subtree-split: 966aea480f
2026-06-17 20:48:39 +00:00

23 lines
927 B
TypeScript
Executable file

import { Project, SyntaxKind, Node } from 'ts-morph';
const project = new Project({ tsConfigFilePath: 'C:/ScriptoriumAI/scriptoriumai-ui/tsconfig.json' });
const sourceFile = project.getSourceFileOrThrow('C:/ScriptoriumAI/scriptoriumai-ui/src/__tests__/Runboard.telemetry-lockstep-parity.test.tsx');
let totalSize = 0;
let names = [];
const vars = sourceFile.getDescendantsOfKind(SyntaxKind.VariableDeclaration);
for (const v of vars) {
const init = v.getInitializer();
if (init && (Node.isObjectLiteralExpression(init) || Node.isArrayLiteralExpression(init))) {
const size = init.getWidth();
if (size > 50000) { // >50KB
const n = v.getName();
console.log('Found massive var: ' + n + ' ~' + Math.round(size/1024) + 'KB');
totalSize += size;
names.push(n);
}
}
}
console.log('Total extracted size: ' + Math.round(totalSize/1024) + 'KB');