30 open-source projects similar to sindresorhus/type-fest, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Type Fest alternative.
ts-toolbelt is a collection of specialized utilities for manipulating and validating TypeScript types. It provides a toolkit for performing complex transformations on objects, unions, and functions to enforce strict data consistency at compile time. The library features dedicated transformers for function types, including utilities for currying, composition, and signature extraction. It also includes an object type manipulator for deep merging, patching, and reshaping complex structures. The capability surface extends to literal string processing, type-level arithmetic, and tuple operations.
This is a TypeScript utility type library providing advanced type aliases and mapped types for complex object and union transformations. It implements specialized tools for creating branded nominal types, extracting type metadata, and performing set operations on union types. The project distinguishes itself through a toolkit for recursive object transformations, allowing for the application of property constraints like read-only or optional status across deeply nested structures. It also provides a system for computing intersections, differences, and complements between union types to simula
Type-challenges is a community-driven learning platform and programming playground designed to help developers master advanced TypeScript type systems. It provides a collection of interactive exercises that focus on complex type-level logic, allowing users to practice and refine their skills through hands-on problem solving. The project distinguishes itself by focusing on the boundaries of the language, requiring users to employ recursive conditional types, mapped transformations, and variadic tuple manipulation to solve curated coding puzzles. By working through these challenges, developers
jscamp is a full-stack web development and education project focused on mastering JavaScript, TypeScript, and AI integration. It provides a structured curriculum and interactive exercises covering language fundamentals, frontend engineering, and backend API development. The project distinguishes itself through the implementation of autonomous AI agents capable of complex task automation, such as modifying files, managing servers, and executing API calls. It includes advanced AI development tools for conversational querying, real-time code suggestions, and automated repository analysis to gene
Arktype is a TypeScript runtime validation library and schema orchestrator. It synchronizes TypeScript types with runtime data validation, allowing users to define type-safe schemas that ensure unknown data adheres to specific structures during application execution. The project distinguishes itself by using set-theory type analysis to determine intersections and subtype compatibility, alongside JIT-compiled validation functions for optimized performance. It supports advanced type modeling through branded type constraints, recursive alias resolution, and the ability to generate runtime valida
DefinitelyTyped is a community-maintained type store and centralized JavaScript type registry. It serves as a repository of static TypeScript type declarations for third-party JavaScript libraries, providing the necessary metadata to enable compile-time safety and editor intelligence for external modules not originally written in TypeScript. The project operates as a collaborative ecosystem where contributors define, validate, and maintain type declarations through a structured review process. This involves mapping type definition versions to specific library and compiler releases to ensure s
Eros-FE is a TypeScript web frontend designed as a React-based single page application. It provides a component-driven user interface for interacting with backend services and managing application state through a type-safe client. The project utilizes a client-side route manager to swap visible components without full page refreshes and employs a CSS-in-JS styling framework to tie component logic directly to visual presentation. The application covers frontend interface design, client-side state management, and the integration of browser interfaces with backend APIs.
vue-vben-admin is a Vue 3 admin dashboard template and frontend development boilerplate designed for building enterprise administrative interfaces. It is structured as a TypeScript monorepo frontend, providing a pre-configured starting point for bootstrapping professional back-office applications. The project integrates a role-based access control system for dynamic routing and permission management. It utilizes the Shadcn UI component library and Tailwind CSS to provide a customizable, themed user interface. The framework includes support for internationalized web applications through multi
Flowbite is a cross-framework UI library and design system built as a collection of pre-styled components and layout blocks using Tailwind CSS utility classes. It functions as a TypeScript UI toolkit and a general web framework for creating responsive websites and applications. The project provides a mirroring Figma design system to allow prototyping of components and variants before they are coded. It distinguishes itself through an AI-driven approach to page generation and the creation of design specifications via a command-line interface. The library covers a wide range of interactive int
This project is a collection of technical reference guides and cheatsheets for implementing static typing patterns with TypeScript in React. It serves as a comprehensive typing guide for applying static types to components, hooks, and state management. The resource provides specific patterns for defining component properties, reference handles, and generic types. It includes detailed signatures for handling synthetic events, form submissions, and the creation of typed custom hooks using tuple assertions. The documentation covers a broad range of capability areas, including state management v
Yup is a JavaScript schema validation library used to define data shapes and validate runtime values. It functions as an object schema validator and a data coercion engine, allowing developers to transform raw input values into desired types before performing validation checks. The library is distinguished by its support for dynamic schema validation, where rules can be adjusted at runtime based on sibling field values or external context. It also enables recursive data structuring for polymorphic fields and provides a system for extracting static TypeScript interfaces from runtime schema def
This project is a set of software engineering standards and architectural patterns for writing maintainable and refactorable TypeScript code. It provides a comprehensive guide for implementing clean code principles, focusing on the application of SOLID design and structural patterns to build decoupled systems. The framework prioritizes composition over inheritance and utilizes dependency inversion to reduce system coupling. It establishes standards for strict static typing and the use of read-only modifiers to ensure type safety and eliminate runtime errors. The guidance covers a broad range
Frontend Workshop from HTML/CSS/JS to TypeScript/React/Redux
Sprig is a comprehensive library of helper functions designed to extend the Go text template engine. It provides a wide array of custom functions that can be injected into the engine to enable complex data manipulation and logic directly within templates. The project offers specialized capabilities for cryptography, including the generation of private keys, X.509 certificates, and secure password hashes. It also includes advanced logic extensions for semantic versioning comparison, ternary evaluations, and the resolution of environment variables from the host operating system. The library co
This is a configuration manager for Node.js applications that handles hierarchical settings across different deployment environments. It functions as an environment-based loader and settings parser that merges default configurations with overrides based on the current runtime context and hostname. The project distinguishes itself through a priority-based merge strategy that incorporates environment variables, command-line arguments, and external data sources to supersede file-based settings. It supports multi-format parsing for JSON, YAML, JavaScript, and TypeScript files, and allows for cust
pysheeet is a technical reference library providing a curated collection of code snippets and implementation patterns for advanced Python development, system integration, and high-performance computing. It serves as a comprehensive guide for implementing low-level network programming, native C extensions, and asynchronous and concurrent programming. The project provides specialized frameworks for the development and deployment of large language models, including tools for distributed GPU inference and high-performance serving. It also includes detailed patterns for high-performance computing
neverthrow is a TypeScript result type library that implements railway oriented programming. It provides a functional error handling framework using type-safe wrappers to represent operation outcomes as either success or failure variants, eliminating the need to throw exceptions. The library features adapters that convert throwing functions and asynchronous promises into typed result objects. This allows asynchronous rejections and unsafe code to be handled as explicit return values rather than uncaught exceptions. The framework covers a broad range of functional computation capabilities, in
Typia is a compile-time code generator that transforms TypeScript type annotations into runtime validation, serialization, and schema functions without requiring decorators or separate schema files. It generates optimized validation and serialization code during TypeScript compilation, producing dedicated functions for each type that eliminate runtime schema objects for faster execution. The project extends this core capability into several integrated areas. It generates fully typed client SDKs from NestJS controller source code, keeping server and client types synchronized automatically. It
This project is a JavaScript code protection tool designed to transform source code into a version that is difficult for humans to read. Its primary purpose is to protect intellectual property and prevent reverse engineering by altering the original program logic. The tool employs several advanced techniques to hinder analysis, including control flow flattening and the injection of dead code. It can compile functions into custom bytecode executed by an embedded virtual machine and encrypt string literals to prevent static analysis of text. Additional capabilities include anti-debugging mecha
This project is a JavaScript style guide and a set of coding standards designed to ensure codebase consistency. It provides a collection of best practices for writing maintainable and idiomatic code, focusing on variable naming, type checking, and execution context. The project serves as a static analysis guide, offering frameworks and guidelines for using linters and automated tools to identify bugs and verify code correctness before deployment. It establishes standards for formatting, syntax, and variable declarations to standardize code style across a project. The scope of the project cov
ts-reset is a TypeScript type enhancement library that overrides and augments the built-in type definitions for standard JavaScript APIs. Its core purpose is to replace unsafe any return types with stricter alternatives like unknown, forcing developers to explicitly validate data before using it. The library achieves this through global type augmentation and declaration merging, applying changes across the entire project without requiring per-file imports. The library differentiates itself by targeting specific pain points in everyday TypeScript usage. It relaxes type constraints on array
TypeScript is a language that extends standard syntax by adding a static type system. It identifies potential runtime errors by analyzing the behaviors and capabilities of values during the compilation process. The language supports object-oriented structures, including classes with inheritance and member visibility control, as well as flexible function definitions that utilize generics, overloads, and parameter destructuring. The project provides a compiler that manages the build lifecycle through a command-line interface, offering configurable options for module resolution, code generation,
wasm-bindgen is a glue code generator and interoperability tool that facilitates high-level communication and data exchange between compiled Rust modules and JavaScript environments. It functions as a memory bridge and type definition generator, allowing the exchange of complex data types and the calling of functions across execution boundaries. The project distinguishes itself by automating the conversion of data types and function signatures using attribute-based bindings. It generates the necessary JavaScript and WebAssembly wrappers to manage linear memory mapping and creates automatic Ty
Penrose is a compiler that transforms structured mathematical notation into optimized SVG diagrams. It uses a three-stage pipeline of separate domain, substance, and style files to define mathematical objects, relationships, and visual presentation, then solves continuous optimization problems with user-defined spatial constraints and objectives to automatically arrange diagram elements. The system separates diagram content from visual style using distinct declarative languages, and provides a typed domain language with subtype hierarchies for mathematical objects. It supports embedding compi
This project is a customizable browser text editor and a schema-driven document framework designed for building React-based WYSIWYG content editors. It replaces standard text areas with a system that represents content as a structured data tree rather than flat HTML, allowing for precise manipulation and validation of documents. The framework serves as an extensible content management interface and a TypeScript UI component library. It enables the development of specialized authoring tools through a plugin system and the use of strongly typed building blocks to ensure consistency across docum
This library provides a collection of reusable hooks designed to manage state, side effects, and browser interactions within React applications. It functions as a toolkit for handling asynchronous data fetching and complex component logic, offering a set of type-safe utilities that reduce boilerplate code and improve maintainability. The library distinguishes itself through its focus on isomorphic lifecycle synchronization, ensuring consistent behavior across client and server environments to prevent hydration mismatches. It employs ref-based closure stabilization to ensure that asynchronous
This project is a vanilla JavaScript reference guide and implementation collection designed to replace legacy libraries with native browser patterns. It provides a set of native JavaScript patterns for selecting, modifying, and navigating HTML elements, alongside a web API implementation guide for handling events and styles. The project serves as a reference for implementing asynchronous JavaScript patterns using native promises and fetch for remote data and background tasks. It also includes a client-side utility collection for performing data transformations, type validation, and element me
Just is a collection of JavaScript utility libraries designed for data manipulation, functional programming, performance optimization, statistical analysis, and string processing. It provides a set of tools for deep cloning, filtering, and transforming complex objects and arrays. The project is structured as a series of zero-dependency modules, allowing utilities to be used independently to minimize bundle size. It implements functional programming patterns including currying, piping, and partial application, and provides execution control through memoization, debouncing, and throttling. The
Go Package of validators and sanitizers for strings, numerics, slices and structs