type-fest

A collection of essential, ready-made TypeScript utility types beyond the built-in standard library.

Library
npm
v5.10.0
17,463 stars
CC0-1.0

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
91 /100 Excellent
Development Activity 100
Maintenance 100
Community 64
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
81 /100 Excellent
Architecture 80
Code Quality 88
Innovation 75
Learning Curve 82

type-fest is a large collection of TypeScript utility types that fill gaps in TypeScript’s built-in type toolbox — types like PartialDeep, CamelCase, Merge, Simplify, Except, and Jsonify that are commonly needed but not shipped with the language itself. Rather than every project reinventing the same conditional and mapped types, type-fest centralizes over 200 well-tested, documented type definitions covering objects, arrays, strings, JSON, async utilities, and more.

Because the package is types-only — it has zero runtime code or JavaScript output — adding it as a dependency has no effect on bundle size or runtime behavior; it exists purely to be imported in .d.ts/.ts files. Types can also be copy-pasted individually without adding the dependency at all, per the project’s own stated policy.

What You Get

  • Object utilities like PartialDeep, Merge, Except, Simplify, and SetRequired for common type transformations TypeScript doesn’t ship natively
  • String literal utilities such as CamelCase, KebabCase, SnakeCase, and Delimiter-based case conversions at the type level
  • JSON-focused types like Jsonify and JsonValue for accurately typing values that survive JSON.stringify/parse round-trips
  • Array utilities including ArrayElement, ArraySlice, ArrayReverse, and fixed-length tuple helpers
  • Async and function types such as AsyncReturnType, Asyncify, and Promisable for working with sync/async interop
  • Zero runtime footprint — the package ships only .d.ts declaration files, so it never appears in a compiled JavaScript bundle

Common Use Cases

  • Typing configuration objects that need deep partials or deep readonly variants without hand-writing recursive mapped types
  • Converting between naming conventions (snake_case API responses to camelCase application models) at the type level
  • Typing values that pass through JSON serialization boundaries, such as API payloads or localStorage-persisted state
  • Building strongly-typed utility functions in library code that need generic helpers like Merge or Except for parameter shaping
  • Reducing duplicated one-off utility type definitions across a large TypeScript codebase or monorepo

Under The Hood

Architecture - Each utility type lives in its own file under source/ (215 files as of this analysis), individually exported and re-exported from the root index.d.ts, so the package has no shared runtime module graph to reason about — just a flat, well-organized collection of independent type definitions, many of which are documented with JSDoc comments and usage examples directly in the .d.ts file. This one-type-per-file structure keeps additions and reviews isolated and makes it straightforward for maintainers to accept community-contributed types without touching unrelated code.

Tech Stack - The package is TypeScript-only with no JavaScript runtime output; tsconfig.json and xo.config.js (plus custom lint-rules/lint-processors) enforce style and type-checking across all 215+ definition files. It has zero runtime dependencies, and the entire distribution consists of declaration files plus documentation.

Code Quality - The test-d/ directory contains 197 type-level test files (using tsd or an equivalent type-assertion tool), one per utility type in most cases, verifying that each type resolves to the expected shape for representative inputs — a testing discipline appropriate for a types-only package where “correctness” means type inference behaves as documented. Dual CC0-1.0 and MIT licensing files are both present, and the project maintains an active CLAUDE.md contributor guide alongside its human-facing contributing guidelines.

API Design - Every exported type is self-contained and named descriptively (PartialDeep, CamelCasedProperties, SetRequired), so most usages require nothing more than a single named import; there is no configuration, initialization, or class instantiation anywhere in the package. The README explicitly invites copy-pasting individual type definitions instead of adding the dependency, which signals a design philosophy prioritizing zero lock-in over API surface control.

Used by 32 apps in this directory

TypeScript
96%
Apache 2.0

Pezzo

AI Development · Monitoring

3,278

Open-source LLMOps platform for prompt management, AI observability, intelligent caching, and real-time cost tracking across LLM providers.

View details
59
Repo Health
75
Technical
66
Dependency
Built with
TypeScript 96%
Updated 2 months ago
TypeScript
90%
MIT

Plasmic

CMS · Design Tools · Low Code Platforms

7,125

The open-source visual builder that lets teams design React apps and websites with drag-and-drop while integrating seamlessly with your codebase.

View details
81
Repo Health
78
Technical
64
Dependency
Built with
TypeScript 90%
Updated 6 days ago
TypeScript
67%
MIT

Scalar

Developer Tools

16,313

Beautiful, interactive OpenAPI documentation with a built-in offline-first API client and multi-language code generation — all in one open-source platform.

View details
90
Repo Health
89
Technical
65
Dependency
Built with
TypeScript 67%
Vue 29%
Updated 5 days ago
Python
57%
Other

Sentry

Analytics · Developer Tools · Monitoring

45,632

Developer-first error tracking and performance monitoring platform with AI-powered root-cause analysis across 20+ languages and frameworks.

View details
95
Repo Health
80
Technical
66
Dependency
Built with
Python 57%
TypeScript 42%
Updated 5 days ago
Rust
79%
AGPL 3.0

Spacedrive

Collaboration · File Storage

39,292

One file manager for all your devices and clouds — powered by a Virtual Distributed File System built in Rust.

View details
84
Repo Health
84
Technical
63
Dependency
Built with
Rust 79%
TypeScript 18%
Updated 2 weeks ago
TypeScript
72%
Apache 2.0

Supabase

Authentication · Databases · Developer Tools

113,827

The open-source Postgres development platform that replaces Firebase with authentication, real-time APIs, edge functions, storage, and vector embeddings — all built on PostgreSQL.

View details
90
Repo Health
91
Technical
62
Dependency
Built with
TypeScript 72%
MDX 26%
Updated 5 days ago
TypeScript
99%
Other

Teable

Databases · No Code Platforms

21,920

A no-code PostgreSQL database with spreadsheet UX, real-time collaboration, and native AI agents — built for teams that outgrow Airtable.

View details
78
Repo Health
76
Technical
62
Dependency
Built with
TypeScript 99%
Updated 6 days ago
Rust
79%
Apache 2.0

TensorZero

Ab Testing Experimentation · AI Development · Monitoring

11,708

TensorZero unifies the LLM gateway, observability, evaluation, optimization, and experimentation stack behind a single OpenAI-compatible API, built in Rust for sub-millisecond p99 latency.

View details
53
Repo Health
87
Technical
68
Dependency
Built with
Rust 79%
TypeScript 15%
Updated 4 months ago
TypeScript
84%
Other

twenty

CRM

59,615

The open-source CRM you build, ship, and version like the rest of your stack — with customizable objects, AI agents, and a TypeScript SDK.

View details
92
Repo Health
82
Technical
64
Dependency
Built with
TypeScript 84%
MDX 14%
Updated 6 days ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers