chore: optimize tsconfig.json#28065
Conversation
Enable incremental compilation and exclude two identical 741KB webpack bundles (scripts/inpage-bridge/dist/index.js and app/core/InpageBridgeWeb3.js) from type-checking. These minified single-line bundles provide no value to tsc but consume ~345MB of memory and slow down both CI and editor LSPs. Also fix .gitignore glob for tsbuildinfo files to match any filename generated by incremental builds.
|
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes. |
🔍 Smart E2E Test Selection
click to see 🤖 AI reasoning detailsE2E Test Selection:
None of these changes affect application runtime behavior, UI components, controllers, navigation, or any user-facing functionality. They are purely developer tooling improvements (faster TS builds, cleaner gitignore). No E2E tests are warranted. Performance Test Selection: |
|
NicolasMassart
left a comment
There was a problem hiding this comment.
Manual testing step uses npx tsc, which is disallowed by project guidelines. Please rewrite this description section.



Description
The TypeScript language server (vtsls/tsserver) crashes or runs out of memory in editors when working on this repo. Root cause: two identical 741KB webpack bundles (
scripts/inpage-bridge/dist/index.jsandapp/core/InpageBridgeWeb3.js) are included in the TypeScript project viaincludeglobs. These are minified single-line files that provide zero value to type-checking but force tsserver to parse ~759K characters and infer types for the entire bundled module graph.This PR:
exclude— saves ~345MB peak RSSincremental: true— allows tsc/tsserver to cache type information between runs. Warm runs drop from ~63s/7.4GB to ~10s/3.5GB.gitignoreglob for.tsbuildinfofiles —*.tsbuildinfocatches any filename generated by incremental buildsBenchmark results (10 iterations, measured with
tsc --extendedDiagnostics+/usr/bin/time -l):scripts/**/*, no excludes)incremental(cold)incremental(warm)Note: The CI
lint:tscscript already uses--max-old-space-size=8192(8GB heap). Most editor LSPs default to 3-4GB, which is insufficient for this project's 17K+ file type graph. These changes reduce the memory footprint and dramatically improve warm startup times.Changelog
CHANGELOG entry: null
Related issues
Fixes: N/A
Manual testing steps
Screenshots/Recordings
N/A — configuration-only change with no UI impact.
Pre-merge author checklist
Pre-merge reviewer checklist
Note
Low Risk
Low risk configuration-only change; main impact is on editor/CI TypeScript type-check performance and the set of files included in type-checking.
Overview
Improves TypeScript developer ergonomics by enabling
incrementalcompilation and updating.gitignoreto ignore all generated*.tsbuildinfocaches.Reduces
tsserver/tscload by excluding large bundled artifacts (app/core/InpageBridgeWeb3.jsandscripts/inpage-bridge/dist) from thetsconfig.jsonproject so they are no longer parsed/type-checked.Written by Cursor Bugbot for commit d1d5673. This will update automatically on new commits. Configure here.