Frameworks#
Almost every JavaScript framework now ships with first-class TypeScript support, and many are written in TypeScript. A handful of frameworks lean hard into the type system and feel more natural in TS than in JS.
For the broader landscape (frontend, meta-frameworks, mobile, desktop, etc.) see Frameworks; the same options apply with full type definitions. This page focuses on frameworks that are particularly TypeScript-flavoured.
TypeScript-First Backend#
NestJS , decorators, dependency injection, modules; Angular-style on the server.
Encore.ts , declare APIs in TypeScript; framework generates infra.
tRPC , end-to-end type-safe APIs without code generation.
ts-rest , contract-first REST with TypeScript types as the single source of truth.
Effect , functional effects system; sophisticated error and dependency handling.
End-to-End Type Safety#
A defining TS pattern: the API client knows the structure the API returns, without a code-gen step.
tRPC , procedure types flow from server to client.
Hono RPC , HTTP routes typed for the client.
oRPC , OpenAPI-aware RPC.
Drizzle ORM , SQL builder where queries return correctly-typed rows.
Prisma , code-generation ORM with full TypeScript types.
Validation / Schemas#
Schema libraries are central to TypeScript backend code; the schema is the type.
Frontend#
All major frontend frameworks ship TypeScript types and most are now written in TypeScript.
React , the most TS-friendly via
@types/react.Angular , TypeScript-first since day one.
Vue (3.x) , written in TypeScript.
For meta-frameworks and the rest of the frontend stack, see Frameworks.
ORM / Database#
Drizzle ORM , SQL-like; type inference from schemas.
Prisma , generates a type-safe client from a schema file.
Kysely , type-safe query builder.
MikroORM , decorator-driven, Hibernate-like.
TypeORM , the long-time default; less recommended in 2026.
Runtime / Build#
Testing#
Vitest , TS-native, default for many TS projects.
Jest + ts-jest / @swc/jest.
Playwright , end-to-end with first-class TS.
Functional / Effect Systems#
TypeScript’s structural type system is well-suited to functional patterns.
Effect , comprehensive effect system.
fp-ts , functional programming primitives.
io-ts , runtime types matching static types.
neverthrow, Result types.
Picking a Stack#
A defensible TypeScript stack in 2026.
Frontend: React + Next.js (or Svelte + SvelteKit).
Backend: Hono, Fastify, or NestJS.
API contract: tRPC for monorepos, OpenAPI + Zod for separate frontend/backend.
Schemas: Zod.
DB: Drizzle (SQL-shaped) or Prisma (ORM).
Runtime: Node 22+ or Bun.
Tests: Vitest + Playwright.