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.

  • Svelte, Solid, first-class TS.

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#

  • Bun , runs .ts natively, no build step.

  • Deno , TS-native, secure-by-default.

  • tsx , run .ts files directly under Node.

  • tsup , esbuild wrapper for libraries.

  • unbuild , low-config bundler with type generation.

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.