17 dépôts
Automatic generation of static TypeScript interfaces from dynamic schema definitions.
Distinct from Static Type Checking: Focuses on the synthesis of new type definitions from a schema, rather than the process of checking existing ones.
Explore 17 awesome GitHub repositories matching software engineering & architecture · TypeScript Type Synthesis. Refine with filters or upvote what's useful.
This project is a type-safe GraphQL client generator and TypeScript schema compiler. It transforms GraphQL schema definitions and operation documents into static TypeScript types to ensure compile-time validation and data consistency between an API and a frontend application. The system functions as a customizable GraphQL plugin framework. It uses a plugin-based architecture and a custom pipeline to generate tailored API clients and request functions, eliminating the need for manual type declarations. The project covers GraphQL client automation, type generation, and workflow optimization. I
Converts dynamic GraphQL schema definitions into static TypeScript interfaces for compile-time type checking.
Old repo of Nuxt 3 framework, now on nuxt/nuxt
Generates TypeScript types and configuration automatically so the entire application benefits from static type checking.
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
Defines strict schemas and type-safe data structures to ensure consistency across document updates.
wasm-bindgen est un générateur de liaisons et une couche d'interopérabilité conçue pour mapper les types de données et les fonctions à travers la frontière entre WebAssembly et JavaScript. Il fonctionne comme une interface de fonction étrangère qui synthétise le code répétitif nécessaire pour permettre une communication bidirectionnelle entre Rust et le runtime du navigateur. Le projet génère du code de liaison et des wrappers qui automatisent la conversion de types complexes, permettant aux fonctions Rust d'être exportées en tant que modules JavaScript et aux API de navigateur d'être importées dans Rust. Il utilise des macros procédurales pour définir ces interfaces et synthétise les liaisons basées sur les définitions de type Rust. Le système gère la mémoire via le passage de pointeurs de mémoire linéaire et gère l'échange de ressources en utilisant des handles de mémoire gérés par JavaScript. Il repose sur une convention d'appel compatible avec l'ABI C pour passer des entiers et des flottants primitifs entre le module et l'hôte.
Analyzes Rust type definitions to automatically synthesize memory layouts and conversion logic for JavaScript.
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
Improves default TypeScript types for common JavaScript APIs to catch more errors and require explicit validation.
openapi-typescript is an OpenAPI TypeScript type generator and schema transformer. It converts JSON or YAML OpenAPI specification files into static TypeScript type definitions to provide end-to-end API type safety. The tool functions as a static type generator that transforms external API definitions into interfaces and types. It focuses on zero-runtime type enforcement, ensuring that data consistency is maintained via the TypeScript type system without adding overhead to production bundles. The project covers API type safety and schema conversion, facilitating the validation of request bodi
Automatically synthesizes TypeScript interfaces and types directly from structured OpenAPI schema documents.
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
Acts as a schema orchestrator managing recursive types, branded types, and complex type compositions with runtime enforcement.
This project is a Next.js SaaS starter kit and billing boilerplate designed for building subscription-based software services. It provides a pre-configured foundation that integrates a PostgreSQL database schema with Stripe to manage recurring billing, tiered pricing models, and customer payment portals. The implementation features a synchronization system that uses webhooks to mirror external product data and subscription states into a local relational database. It includes an authentication layer that links external identity providers to user accounts and manages secure session tracking. T
Automatically generates TypeScript definitions based on the database schema to maintain type safety.
wasm-pack is a build tool and workflow orchestrator for compiling Rust code to WebAssembly. It coordinates the compilation process and generates the JavaScript glue code required to execute Rust logic within web browsers and server-side runtimes. The tool manages binary optimization to reduce file sizes and improve execution speed. It also functions as a package manager, bundling compiled WebAssembly modules into archives compatible with JavaScript registries and bundlers. The project covers language interoperability through the automatic generation of TypeScript type definitions. It further
Automatically synthesizes TypeScript definition files from compiled WebAssembly module signatures to enable static type checking.
MobX State Tree is a structured, tree-based state management library for JavaScript applications that combines typed model definitions with reactive snapshots and patch-based change tracking. It provides a reactive state container with runtime and compile-time type safety, where application state is defined as a tree of typed models with collocated actions, computed views, and lifecycle hooks for predictable state mutations. The library is built around an action-centric mutation model that encapsulates all state changes within named functions that directly modify the tree, supported by genera
Derives TypeScript types from model definitions for auto-completion and static analysis without manual annotations.
Rushstack est un ensemble d'outils complet pour gérer les monorepos TypeScript à grande échelle, fournissant un framework pour l'automatisation des pipelines de build, la coordination des dépendances et l'analyse statique. Il fonctionne comme un orchestrateur de build incrémental et un système de gestion conçu pour maintenir la cohérence et la performance à travers de multiples packages dans un espace de travail partagé. Le système se distingue par un modèle d'exécution basé sur des graphes acycliques dirigés et un incrémentalisme basé sur le hash de contenu, qui assure que seuls les projets affectés sont reconstruits. Il optimise davantage les workflows de développement via la mise en cache distante des artefacts de build avec des intégrations pour S3, Azure et HTTP, et utilise la gestion d'espace de travail basée sur des liens symboliques pour une visibilité immédiate des changements locaux. L'ensemble d'outils couvre un large éventail de capacités incluant des workflows de release automatisés, l'analyse de contrat API et l'application de la qualité de code en entreprise via des profils de linting standardisés. Il fournit également un support étendu pour le bundling d'actifs, la transpilation TypeScript et la génération de définitions de type à partir de schémas JSON et d'actifs statiques. Des domaines utilitaires supplémentaires incluent la gestion de la localisation, la génération d'avis de licence et l'orchestration d'interfaces de ligne de commande avec une sortie de processus synchronisée.
Automatically synthesizes TypeScript types from structured document schemas for configuration and asset safety.
stc is a TypeScript type checker implemented entirely in Rust, designed to validate type correctness in TypeScript source code with native performance and memory safety. It operates as a no-emitting type validator, meaning it checks types only and does not produce JavaScript output, reducing overhead compared to a full compiler. The checker is built around a zero-false-positive design, reporting only errors that are provably certain from the type system, prioritizing correctness over speculative warnings. The tool distinguishes itself through parallel file processing, analyzing source files c
Validates type correctness in TypeScript source code using a fast Rust-based implementation.
Generates TypeScript type definitions directly from the JSON schema to provide compile-time type safety for consumers.
react-native-config est un gestionnaire d'environnement mobile multiplateforme et un outil de configuration de build natif. Il implémente les principes de configuration d'application "twelve-factor" en séparant les paramètres spécifiques à l'environnement du code de l'application. Le projet fournit un mécanisme pour injecter des variables d'environnement directement dans les fichiers de projet natifs et les paramètres de build pendant le processus de compilation. Il fonctionne également comme un chargeur de configuration typé qui génère des définitions TypeScript pour les variables d'environnement afin d'assurer l'autocomplétion et la sécurité. L'outil gère les configurations multi-environnements en chargeant des variables spécifiques à partir de fichiers basés sur des cibles de build actives ou des étapes de déploiement. Il fait le pont entre ces valeurs du stockage de la plateforme native vers le runtime JavaScript.
Generates TypeScript type definitions automatically from environment configuration files for static type safety.
ts-essentials is a comprehensive toolkit of utility types and libraries for TypeScript, providing advanced primitives for recursive structural transformations, runtime assertions, and type guards. It serves as a utility library for performing complex type-level programming to ensure stronger type safety and reduce boilerplate. The project distinguishes itself through a specialized set of tools for deep object manipulation, such as recursively applying read-only or optional modifiers across nested hierarchies. It also provides a dedicated set of strict type constraints to ensure data structure
Provides a toolkit for altering property mutability, casing, and optionality across nested object structures.
openapi-ts is a tool and orchestrator used to convert OpenAPI specifications into type-safe TypeScript SDKs and HTTP client implementations. It automatically generates typed interfaces and request functions from API definitions to ensure consistency between the server and the client. The project employs a transport-agnostic client interface, decoupling high-level API calls from the underlying network library. It uses a plugin-based generation pipeline and a custom plugin architecture to allow for the customization of output types and validation schemas. The system provides capabilities for n
Automatically synthesizes static TypeScript interfaces from JSON schema definitions.
Schema-dts is a type-safe library providing TypeScript interfaces for modeling structured data and interconnected graph relationships. It serves as a framework for defining and enforcing strict property requirements for JSON-LD objects, ensuring that metadata generated for web applications and search engines adheres to established vocabulary standards. The project distinguishes itself by providing a comprehensive set of definitions for the Schema.org vocabulary, enabling developers to build complex, machine-readable data graphs with compile-time validation. It supports the composition of mult
Applies rigorous compile-time checks to complex data structures to prevent runtime errors when handling interconnected graph information.