24 repository-uri
The use of a programming language's type system to verify API compatibility and correctness during compilation.
Distinct from Static Type Checking: The candidates are tied to specific languages like TypeScript or environment variables; this is a general architectural use of C++ static typing for API safety.
Explore 24 awesome GitHub repositories matching software engineering & architecture · Static Type Checking. Refine with filters or upvote what's useful.
This project is a comprehensive set of architectural and coding standards for organizing and maintaining high-quality JavaScript applications. It provides a framework for JavaScript project best practices across the full software development lifecycle, establishing unified guidelines for project organization and development. The guidelines cover specific standards for REST API design, utilizing resource-oriented interfaces and standardized HTTP methods. It also includes a web accessibility standard focused on semantic HTML and automated audits, alongside a defined Git workflow standard for br
Integrates static type checking into the development workflow to catch errors before execution.
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
Implements type checking guidelines to verify variable consistency and prevent logic bugs.
Frontend Workshop from HTML/CSS/JS to TypeScript/React/Redux
Teaches adding static type checking with TypeScript to catch errors during development.
Phan este un analizor static și un verificator de tipuri pentru PHP care identifică bug-uri și incompatibilități de tip fără a executa codul. Acesta servește ca o poartă de calitate pentru pipeline-urile de integrare continuă (CI) și un instrument pentru verificarea siguranței tipurilor, verificând în mod specific tipurile union, genericele și formele de array. Proiectul se distinge prin utilizarea unui daemon de fundal și a implementării Language Server Protocol (LSP), care oferă diagnosticare și navigare în timp real în editoare. De asemenea, dispune de un sistem de suprimare bazat pe baseline care permite dezvoltatorilor să înregistreze erorile existente într-un fișier snapshot pentru a se concentra exclusiv pe noile regresii. Motorul de analiză acoperă o gamă largă de capabilități, inclusiv detectarea codului mort, validarea compatibilității limbajului între diferite versiuni PHP și inferența tipurilor de variabile și template-uri. Suportă analiză extensibilă printr-un sistem de plugin-uri și oferă corecții automate de cod pentru un subset de probleme detectate. Utilizatorii pot iniția procesul prin generarea unui fișier de configurare cu niveluri de strictețe selectabile pentru a-și valida treptat baza de cod.
Check that assigned values and return types match a defined union of multiple possible types.
Groovy este un limbaj de programare pentru JVM și un framework de metaprogramare care oferă un mediu compatibil cu Java pentru construirea de aplicații. Acesta funcționează ca un limbaj de scripting dinamic și un instrument pentru autorizarea limbajelor specifice domeniului (DSL), permițând execuția de scripturi personalizate și crearea de mini-limbaje specializate cu sintaxă concisă. Proiectul se distinge prin capacitatea de a modifica comportamentul programului și definițiile claselor prin metaprogramare atât la compilare, cât și la runtime. Utilizează un model de tipizare hibrid care combină rezoluția dinamică a metodelor cu verificarea statică opțională a tipurilor pentru a echilibra flexibilitatea și performanța execuției. Limbajul acoperă o gamă largă de capabilități, inclusiv tipare de programare funcțională, transformări de arbore sintactic abstract (AST) și integrarea directă a bibliotecilor Java. Include, de asemenea, utilitare de securitate pentru prevenirea SQL injection, securizarea parsării XML și asigurarea parsării sigure a datelor structurate. Sistemul traduce sintaxa de nivel înalt în bytecode JVM pentru execuție pe orice Java Virtual Machine compatibilă.
Performs compile-time type validation to bypass dynamic dispatch and increase execution performance.
Acest proiect este o bibliotecă de design patterns pentru TypeScript și un ghid de arhitectură. Oferă o colecție de tipare de arhitectură software standard în industrie, implementate în TypeScript pentru a demonstra crearea și comunicarea obiectelor. Biblioteca servește drept referință practică pentru aplicarea principiilor de design orientat pe obiecte, utilizând tipizarea statică pentru a impune cerințele structurale ale acestor tipare în timpul fazei de compilare. Conținutul acoperă implementarea tiparelor de creație pentru a decupla instanțierea obiectelor de logica de business, tipare structurale pentru a aranja clasele și obiectele în compoziții mai mari și tipare comportamentale pentru a gestiona comunicarea obiectelor și distribuția responsabilităților.
Uses the TypeScript type system to verify and enforce the structural correctness of design patterns at compile time.
Crab este un limbaj de programare de sistem sigur pentru memorie și un compilator ahead-of-time conceput pentru software de înaltă performanță. Utilizează un sistem de tipuri bazat pe reguli stricte de ownership și borrowing pentru a preveni erorile de acces la memorie la momentul compilării. Toolchain-ul include un generator automat de documentație care produce manuale de referință tehnică și ghiduri API prin parsarea adnotărilor structurate din codul sursă. De asemenea, dispune de un instrument de gestionare a dependențelor pentru a rezolva grafurile bibliotecilor externe și a asigura build-uri consistente ale proiectelor. Proiectul acoperă automatizarea build-ului software, verificarea statică a tipurilor și analiza statică multi-pass pentru a verifica constrângerile înainte de a genera binare native pentru mașină.
Verifies data types during the compilation process to catch errors before runtime.
Typeshed este o colecție de definiții de tipuri statice și stub-uri pentru biblioteca standard Python și pachete terțe. Acesta servește ca resursă standardizată pentru analizoarele statice și mediile de dezvoltare integrate (IDE) pentru a valida corectitudinea codului și a oferi completare de cod bazată pe tipuri, fără a modifica sursa originală a bibliotecilor. Proiectul se concentrează pe crearea și întreținerea fișierelor externe de tip hint care separă adnotările de tip de implementarea la runtime. Utilizează un sistem pentru versionarea și maparea acestor stub-uri la versiuni specifice ale pachetelor de runtime pentru a menține compatibilitatea. Depozitul include o suită de validare pentru a asigura acuratețea acestor definiții. Aceasta acoperă validarea runtime-la-stub pentru a identifica neconcordanțele dintre tipurile declarate și cele reale, verificarea structurii directoarelor și testarea de regresie pentru a preveni reintroducerea bug-urilor de tip-checking cunoscute.
Provides the type definitions necessary for static analysis tools to verify API compatibility and code correctness without execution.
Pytype este un instrument de analiză statică a codului și un motor de inferență a tipurilor pentru Python. Funcționează ca un analizor static de tipuri care detectează nepotrivirile de tip și verifică adnotările de tip fără a necesita hint-uri manuale complete, servind în același timp ca un generator de stub-uri de tip pentru producerea fișierelor de definiție standalone. Proiectul se distinge prin determinarea automată a tipurilor de variabile și funcții printr-o analiză a tiparelor de cod și a atribuirilor. Acest motor de inferență permite verificarea structurală a codului și generarea de stub-uri de tip care descriu interfețele modulelor și funcțiilor. Sistemul acoperă operațiuni largi de analiză statică, inclusiv validarea structurală a ierarhiilor de clase și a apelurilor de funcții, precum și urmărirea simbolurilor pentru a detecta erorile de namespace și încălcările de acces la atribute. De asemenea, oferă primitive de verificare a tipurilor pentru a impune adnotări și un sistem de tipuri capabil să modeleze structuri de date complexe folosind uniuni și opționale.
Checks provided type hints against language standards to identify mismatches and logic errors.
Troposphere este o bibliotecă Python pentru crearea și validarea programatică a șabloanelor de infrastructură ca cod. Servește ca un generator pentru șabloanele AWS CloudFormation și OpenStack, permițând resurselor cloud să fie definite ca obiecte într-un limbaj de programare general, mai degrabă decât prin markup brut JSON sau YAML. Proiectul se concentrează pe validarea resurselor cloud prin verificarea numelor proprietăților și a tipurilor de date în timpul procesului de construcție a șablonului. Acest sistem identifică erorile de configurare și câmpurile obligatorii lipsă înainte ca infrastructura să fie exportată pentru implementare. Biblioteca acoperă o gamă largă de modelare a infrastructurii cloud, inclusiv definirea resurselor de calcul, stocare, rețelistică și securitate. Oferă utilitare pentru a converti aceste obiecte definite programatic în formate de export structurate JSON sau YAML.
Uses the programming language type system to validate property names and data types during instantiation.
Closure Library is a JavaScript standard library and utility toolset designed for building large-scale web applications. It provides a collection of core utility modules and standardized APIs to simplify complex application logic and state management. The project is built as a modular framework using a namespace-based module system to prevent global scope pollution. It is specifically designed for use with the Closure Compiler to enable aggressive dead-code elimination and minification, reducing the final delivery size in production. To ensure reliability in large projects, the library utiliz
Employs JSDoc annotations for static type checking to verify API contracts before execution.
Acest proiect este un ghid cuprinzător și o resursă educațională pentru limbajul TypeScript. Acoperă principiile fundamentale ale limbajului, inclusiv sistemul său de tipuri structurale, analiza statică a tipurilor și procesul de transpilare a fișierelor sursă tipizate în JavaScript. Materialul detaliază modul de modelare a datelor complexe și a logicii de tip reutilizabile folosind generice, tipuri condiționale și tipuri mapate. De asemenea, explică utilizarea fișierelor de declarație pentru a oferi siguranța tipurilor pentru bibliotecile JavaScript externe și integrarea verificării tipurilor în proiectele JavaScript existente prin adnotări JSDoc. Domeniul de aplicare al conținutului se extinde la modele de programare orientată pe obiecte, manipularea DOM și configurarea comportamentelor compilatorului. Include îndrumări privind gestionarea interoperabilității modulelor, configurarea pipeline-urilor de build și utilizarea inteligenței editorului pentru o mai bună productivitate a dezvoltatorilor.
Enables static type checking of standard JavaScript files using JSDoc annotations.
Scala.js este un compilator și un toolchain de limbaj cross-platform care transformă codul sursă Scala în JavaScript sau WebAssembly. Funcționează ca un instrument tipizat static pentru ecosistemul JavaScript, permițând dezvoltarea de aplicații pentru browsere web și medii Node.js. Proiectul servește ca framework de interop JavaScript, permițând crearea de fațade și binding-uri type-safe pentru a interacționa cu biblioteci externe și obiecte globale. Oferă mecanisme atât pentru invocarea JavaScript statică, cât și dinamică, inclusiv generarea de binding-uri TypeScript și capacitatea de a exporta logica internă pentru utilizare în cod JavaScript extern. Toolchain-ul include un instrument de build frontend pentru bundling-ul de producție și optimizarea output-ului, inclusiv eliminarea codului mort și împărțirea modulelor. Acoperă o suprafață largă de capabilități, inclusiv verificarea tipurilor elementelor DOM pentru dezvoltarea UI, partajarea codului cross-platform pentru dezvoltarea full-stack și diverse framework-uri de testare pentru verificarea artefactelor de build optimizate. Scripturile compilate pot fi executate direct într-un mediu de linie de comandă folosind un interpretor JavaScript.
Provides a statically typed development environment that verifies API compatibility and correctness for the JavaScript ecosystem.
Strawberry is a type-safe GraphQL library for Python that enables the design of schemas using Python type annotations and dataclasses. It functions as an asynchronous GraphQL server and execution engine, providing a bridge to expose schemas across ASGI-compliant web frameworks such as FastAPI, Django, Flask, and Litestar. The project implements GraphQL Federation, allowing for the creation of distributed schemas and entities that merge into a unified supergraph across multiple services. It also includes a dedicated toolkit for the Relay specification, supporting global object identification a
Validates schema definitions during development using a static analysis plugin to catch type errors.
Remax este un framework UI cross-platform și un motor pentru construirea de mini-programe folosind React. Funcționează ca un runtime care traduce componentele și hook-urile React în elemente native de mini-program, evitând nevoia de compilare statică. Framework-ul oferă un mediu de dezvoltare type-safe pentru a asigura fiabilitatea componentelor UI cross-platform. Permite crearea de mini-programe multi-platformă dintr-un singur codebase prin maparea arborilor de componente React la structuri native în timpul execuției. Sistemul acoperă dezvoltarea de mini-programe cross-platform, inclusiv construcția UI cu hook-uri funcționale și verificarea tipurilor statice pentru a reduce erorile de runtime.
Applies static type checking during development to ensure reliability and reduce runtime errors across components.
lua-language-server is a static analysis tool and type checker for the Lua language that implements the Language Server Protocol. It provides a system for detecting type mismatches, unused code, and logic errors in source files. The project features an inference-based type system that deduces variable types and supports optional annotations and meta files to enforce type safety. It allows for the definition of custom types and function signatures, including support for overloads and member visibility controls. The server provides a broad set of IDE capabilities, including real-time code auto
Analyzes variable and function types to detect potential mismatches before the code is executed.
This project is a technical reference and a collection of internal analysis notes focused on the Go language runtime and compiler. It provides a detailed breakdown of the language internals, covering memory management, garbage collection, and the execution model of the scheduler. The material distinguishes itself by providing deep dives into low-level system details, including a reference for Go assembly instructions, register usage, and system call interfacing. It specifically analyzes the internal implementation of concurrency primitives, such as the goroutine scheduling mechanism, channel
Analyzes the compiler's ability to verify type consistency and variable scope during compilation.
Vulkan-Hpp is a header-only C++ binding library for the Vulkan graphics and compute API. It provides a type-safe wrapper around the Vulkan C API, allowing developers to interface with GPU hardware through a C++ interface that introduces no runtime CPU overhead. The library utilizes Resource Acquisition Is Initialization patterns to manage the lifecycle of Vulkan handles and objects, automating the release of GPU resources. It replaces C-style enumerations and bit-fields with strong typing and static type checking to catch invalid API parameter assignments during compilation. The project cove
Leverages the C++ type system to validate API compatibility during compilation instead of at runtime.
actionlint is a static analysis tool and linter specifically designed for GitHub Actions workflow files. It functions as a CI workflow validator and YAML configuration linter to ensure the syntax and logic of automation files are correct before deployment. The project distinguishes itself by performing deep security auditing and script analysis. It includes a shell script auditor to detect syntax bugs and script injection vulnerabilities in inline commands, and it scans for hardcoded credentials to prevent security leaks. The tool covers a broad range of validation capabilities, including ex
Ensures that inputs, outputs, and context variables in workflows use compatible data types.
Tinymist is a comprehensive suite of tools for Typst document authoring, serving as a language server, document compiler, and project manager. It provides a standardized language service via the Language Server Protocol to enable editor features such as autocompletion, navigation, and semantic highlighting. The project distinguishes itself by integrating a TCP-based live preview server for real-time visual rendering and an advanced static analysis tool that utilizes abstract syntax trees and bidirectional type checking. It also includes a project management system capable of handling multi-fi
Applies bidirectional type checking to verify literals, closures, and destructuring during analysis.