type-fest is a collection of essential TypeScript types you can add as a dependency or copy and paste into your project. It provides utility types like Except and deep merge or mutable/readonly helpers to help you model data more precisely in TypeScript.
Project status
- Actively maintained: the repo has recent activity, with the latest tagged update v5.7.0 dated 2026-05-31 and an upstream push on 2026-06-04.
- Update cadence appears steady and frequent, with new updates landing about every 3 to 7 weeks (v5.5.0 on 2026-03-19, v5.6.0 on 2026-04-17, v5.7.0 on 2026-05-31).
AI summary generated Today
Recent updates
v5.7.0
1 week agov5.7.0 adds two new string and object utility types, RemoveSuffix and UnwrapRequired. It also extends ExtendsStrict with new customization options (distributiveUnions, strictNever, strictAny) and improves TupleOf and DelimiterCase behavior, alongside multiple targeted fixes.
Featuresv5.6.0
1 month agotype-fest v5.6.0 adds several new utility types (Absolute, NonNullableDeep, UnionLength) and extends case-conversion types with additional options like splitOnPunctuation and preserveLeadingUnderscores. It also includes a fix for UnionToTuple with large unions, plus updates to TsConfigJson to support newer TypeScript 6.0 fields.
Featuresv5.5.0
2 months agotype-fest v5.5.0 introduces several new type utilities (Optional, ArrayLength, AndAll, OrAll, SomeExtend, UnionMember, ExcludeExactly) and includes fixes for ConditionalPick, ConditionalPickDeep, UnionToTuple, and numeric comparison types when the inputs involve the non-literal `number` type. It also contains additional internal type-definition refactors and tooling (lint rule) changes that are not covered in the release notes.
Featuresv5.4.4
3 months agov5.4.4 focuses on correctness fixes in type-fest, mainly around union detection (IsUnion) and path generation (Paths), plus improved typing for PackageJson.engines. The release notes list several targeted edge cases, but the diff also shows broader internal changes and an unrelated ESLint validation rule update.
v5.4.3
4 months agov5.4.3 contains type-level fixes for `Merge` and `Paths`. The release notes document `Merge` idempotency and a `Paths` fix for generic types, but the code diff also shows additional, behavior-changing updates to path generation and `IsNumberLike` edge cases.
Breakingv5.4.2
4 months agotype-fest v5.4.2 focuses on fixing TypeScript type behavior. It updates the `Merge` type to handle unions more correctly, and adjusts `SimplifyDeep` to fix how arrays are simplified.
v5.4.1
4 months agov5.4.1 updates the type-level implementation of MergeDeep in type-fest, focusing on how optional properties and undefined are represented in the merged result. Release notes describe removal of extra undefined from optional properties, and the diff shows targeted conditional type adjustments plus a change in how requiredness is computed during record merges.
v5.4.0
4 months agov5.4.0 of type-fest primarily introduces three new exported utility types: ObjectMerge, UnwrapPartial, and ArrayReverse. In the repo, a new ObjectMerge/ArrayReverse type implementation is added, and the project also updates its JSDoc codeblock validation tooling and CI memory settings.
Featuresv5.3.1
6 months agov5.3.1 contains a type-only fix to the `PackageJson` type definitions. Specifically, it updates the `DependencyOverrides` key typing and adjusts tests accordingly to ensure the expected `keyof` behavior.
v5.3.0
6 months agoType-fest v5.3.0 focuses on type-level fixes: it corrects generic inference in `IsEqual`, prevents `ConditionalPickDeep` and `SimplifyDeep` from mapping over built-in types, and improves `ArraySlice` and `StringSlice` behavior when unions are involved. The release notes do not mention any breaking API changes for library consumers.