• 🛑 Read carefully before you jump to conclusions on this page!
  • Writing Easy-to-Compile Code
  • Preferring Interfaces Over Intersections
  • Using Type Annotations
  • Preferring Base Types Over Unions
  • Naming Complex Types
  • Using Project References
  • New Code
  • Existing Code
  • Performance Considerations
  • Configuring tsconfig.json or jsconfig.json
  • Specifying Files
  • Controlling @types Inclusion
  • Incremental Project Emit
  • Skipping .d.ts Checking
  • Using Faster Variance Checks
  • Configuring Other Build Tools
  • Concurrent Type-Checking
  • Isolated File Emit
  • Optimizing Editing Experience; Performance of ts-server
  • Investigating Issues
  • Disabling Editor Plugins
  • extendedDiagnostics
  • showConfig
  • listFilesOnly
  • explainFiles
  • traceResolution
  • Running tsc Alone
  • Upgrading Dependencies
  • Performance Tracing
  • Common Issues
  • Misconfigured include and exclude
  • Filing an Issue
  • Reporting Compiler Performance Issues
  • Providing Performance Traces
  • Profiling the Compiler
  • Reporting Editing Performance Issues
  • Taking a TSServer Log
  • Collecting a TSServer Log in Visual Studio Code