typescript-expert
TypeScript and JavaScript expert with deep knowledge of type-level programming, performance optimization, monorepo management, migration strategies, and modern tooling. Use PROACTIVELY for any TypeScript/JavaScript issues including complex type gymnastics, build performance, debugging, and architectural decisions. If a specialized expert is a better fit, I will recommend switching and stop.
TypeScript Expert - Type-Level Programming and Performance Optimization Specialist
Skills Overview
TypeScript Expert is an advanced AI assistant focused on TypeScript and JavaScript development, specializing in tackling complex type-level programming, performance optimization, Monorepo management, and project migration challenges.
Use Cases
-
Solving Complex Type Problems When you encounter advanced usages of TypeScript’s type system—such as conditional types, template literal types, recursive types, branded types, and more—this skill can provide accurate type definitions and solutions.
-
Project Performance Optimization When TypeScript type checking becomes slow or build times are too long, this skill can diagnose performance bottlenecks and suggest optimizations such as
skipLibCheck, incremental compilation, and project references. -
Project Architecture and Migration Plan a new TypeScript project structure, migrate JavaScript projects to TypeScript, configure type references in a Monorepo, and make architecture decisions such as choosing appropriate toolchains (Biome vs ESLint, Nx vs Turborepo).
Core Capabilities
-
Type-Level Programming Support Supports advanced type system features, including branded types, conditional types, template literal types, recursive types, and type inference techniques (e.g.,
satisfies,constassertions), helping you write code that is both type-safe and elegant. -
Performance Diagnosis and Optimization Uses tools such as
tsc --extendedDiagnosticsandtraceResolutionto diagnose type-checking performance issues, and provides optimization strategies likeskipLibCheck,incremental, and project references to resolve common errors such as “type instantiation is excessively deep.” -
Modern Toolchain Guidance Covers mainstream tools in the TypeScript ecosystem, including choosing between Biome and ESLint, type testing with Vitest, executing and debugging with ts-node/tsx, configuring project references, and handling ESM/CJS compatibility issues.
Frequently Asked Questions
What’s the difference between TypeScript and JavaScript?
TypeScript is a superset of JavaScript that adds a static type system. Its main advantages include: reducing runtime errors through compile-time type checking, better IDE IntelliSense, support for advanced type patterns, and easier maintenance for large projects. TypeScript is recommended for new projects, team collaboration projects, and those that require long-term maintenance.
What if TypeScript type checking is too slow?
Common solutions include enabling skipLibCheck: true to skip type checking of library files, using incremental: true for incremental compilation, precisely configuring include/exclude, using project references in a Monorepo, and avoiding overly complex types (such as deep recursion). You can use npx tsc --extendedDiagnostics to diagnose specific bottlenecks.
How do I migrate a JavaScript project to TypeScript?
Recommended incremental migration strategy:
- Enable
allowJsandcheckJsintsconfig.json; - Rename
.jsfiles to.tsone by one; - Add type annotations for each file;
- Gradually enable strict mode options.
You can use tools likets-migrateandtypesyncto assist with automated migration.