13 dépôts
Compilers that translate high-level source code into executable JavaScript.
Distinct from JavaScript Interop: The candidates focus on interop or in-memory compilation rather than the core compiler output target.
Explore 13 awesome GitHub repositories matching programming languages & runtimes · JavaScript Compilers. Refine with filters or upvote what's useful.
This project is a technical handbook and tutorial guide for the Babel compiler. It serves as a resource for configuring the tool and writing custom plugins to transform JavaScript source code. The guide provides instructional material on creating custom transformation plugins and modifying the compilation process. It specifically covers how to navigate and modify abstract syntax trees to programmatically rewrite source code. The documentation covers the mechanics of code transformation, the management of compiler configurations, and the fundamentals of compiler tooling. It includes guidance
Explains the mechanics of code transformation and compilation for different target environments.
The Concise TypeScript Book: A Concise Guide to Effective Development in TypeScript. Free and Open Source.
Documents how TypeScript compiles modern ES6 and ES7 syntax into compatible JavaScript.
PureScript is a statically typed, purely functional programming language that compiles to JavaScript. It is designed as a cross-platform frontend language for building safe web applications, utilizing a static type system and a JavaScript compiler to ensure program correctness across browser and server environments. The language is distinguished by its emphasis on mathematical purity, featuring a robust type system with first-class support for monads. It provides a sophisticated toolset for static verification, including algebraic data types, type classes, and automatic type inference to reje
Translates strongly typed functional code into compatible JavaScript for execution in browsers and servers.
Traceur is a JavaScript syntax transpiler that transforms modern and next-generation language features into compatible versions for older runtime environments. It functions as a compiler that translates proposed language standards and upcoming syntax into current versions to maintain cross-engine compatibility. The project operates as an asynchronous code transformer, converting async functions and generators into promise-based state machines. It includes a functional tail-call optimizer that wraps recursive functions in trampolines to prevent stack overflows and an ECMAScript polyfill engine
Compiles modern JavaScript syntax into versions compatible with older runtime environments.
This project is a comprehensive functional programming curriculum and learning resource for Haskell. It provides sequenced educational paths and technical reference guides designed to take developers from beginner to advanced levels of proficiency. The project distinguishes itself through a deep focus on theoretical and technical foundations, offering detailed studies on type theory, category theory, and runtime internals. It includes a dedicated performance handbook for optimizing execution speed and memory management, as well as an ecosystem guide for managing development tools and editor c
Includes materials on translating Haskell code into executable JavaScript for frontend development.
This project is a functional programming compiler and JavaScript transpiler that transforms a statically typed language into optimized JavaScript for web browsers. It serves as a frontend architecture framework, providing a static type system and a package manager that enforces semantic versioning. The compiler uses a type-checking engine with automatic type inference to prevent runtime errors and guide code refactoring. It implements a structural pattern for managing application state and rendering user interfaces through a virtual DOM, utilizing immutable data and purity-based state transit
Transforms a high-level functional language into optimized, executable JavaScript bundles for the web.
ReScript is a statically typed programming language and compiler designed to transform type-safe source code into efficient, human-readable JavaScript. It functions as a transpiler that enforces data consistency and prevents runtime errors through static type analysis for both web and server applications. The project distinguishes itself as an incremental build system that analyzes dependency graphs to recompile only modified files and their dependents. It includes a JSX compatible compiler for building user interfaces and provides a framework for bridging type-safe code with existing JavaScr
Translates a statically typed high-level language into efficient and human-readable JavaScript.
Sucrase is a high-speed transpilation tool that compiles modern JavaScript, TypeScript, JSX, and Flow to standard JavaScript for modern runtimes. It operates as a fast alternative to Babel, using a single-pass scanner and tokenizer that strips type annotations and applies only requested syntax transforms without building an AST or performing type checking. The tool differentiates itself through a zero-type-checking pipeline that omits type checking entirely, relying on the assumption that input code is already valid for the target runtime. It uses scanner-based tokenization and single-pass co
Removes Flow type annotations and compiles the remaining code to standard JavaScript that runs without a type checker.
Webpacker est un système d'outils de build frontend et un gestionnaire de modules JavaScript qui intègre Webpack dans les applications Ruby on Rails. Il sert de pont entre le framework web backend et le processus de build frontend pour compiler JavaScript et CSS en bundles prêts pour le navigateur. Le système fournit un serveur d'assets de développement dédié pour le rechargement de code en temps réel et le rafraîchissement automatique du navigateur. Pour la production, il inclut un pipeline de précompilation qui minifie les scripts et les feuilles de style et applique la compression des assets réseau pour optimiser la livraison. Le projet couvre une gestion complète des assets via l'injection de balises pilotée par des helpers et le mappage d'assets basé sur un manifeste, garantissant que les fichiers compilés sont correctement liés dans les modèles HTML. Il prend également en charge des pipelines de compilation personnalisés via une interface de configuration programmable pour intégrer des langages non standards et la résolution de chemins de modules personnalisés.
Transforms modern JavaScript and script languages into browser-compatible bundles using a compilation tool.
Ce projet est un guide complet et une ressource éducative pour le langage TypeScript. Il couvre les principes fondamentaux du langage, incluant son système de typage structurel, l'analyse de type statique et le processus de transpilation des fichiers sources typés en JavaScript. Le matériel détaille comment modéliser des données complexes et une logique de type réutilisable en utilisant des génériques, des types conditionnels et des types mappés. Il explique également l'utilisation des fichiers de déclaration pour fournir une sécurité de type pour les bibliothèques JavaScript externes et l'intégration de la vérification de type dans des projets JavaScript existants via des annotations JSDoc. La portée du contenu s'étend aux modèles de programmation orientée objet, à la manipulation du DOM et à la configuration des comportements du compilateur. Il inclut des conseils sur la gestion de l'interopérabilité des modules, la mise en place de pipelines de build et l'utilisation de l'intelligence de l'éditeur pour une meilleure productivité des développeurs.
Transforms high-level typed source code into executable JavaScript.
Scala.js est un compilateur et une chaîne d'outils linguistique multiplateforme qui transforme le code source Scala en JavaScript ou WebAssembly. Il fonctionne comme un outil typé statiquement pour l'écosystème JavaScript, permettant le développement d'applications pour les navigateurs web et les environnements Node.js. Le projet sert de framework d'interopérabilité JavaScript, permettant la création de façades et de bindings typés pour interagir avec des bibliothèques externes et des objets globaux. Il fournit des mécanismes pour l'invocation JavaScript statique et dynamique, incluant la génération de bindings TypeScript et la capacité d'exporter une logique interne pour une utilisation dans du code JavaScript externe. La chaîne d'outils inclut un outil de build frontend pour le bundling de production et l'optimisation de sortie, incluant l'élimination de code mort et le découpage de modules. Elle couvre une large surface de fonctionnalités, incluant la vérification de type des éléments DOM pour le développement d'interface, le partage de code multiplateforme pour le développement full-stack, et divers frameworks de test pour vérifier les artefacts de build optimisés. Les scripts compilés peuvent être exécutés directement au sein d'un environnement en ligne de commande en utilisant un interpréteur JavaScript.
Transforms Scala source code into executable JavaScript for use in web browsers or server environments.
Sweet-core is a JavaScript source-to-source compiler and Lisp-style macro system. It functions as a syntax transformer that extends JavaScript by allowing the definition of custom syntax and operators during the compilation process. The system provides a framework for building domain-specific languages through hygienic, recursive macro expansion and the creation of new language constructs. It distinguishes itself by supporting custom operator definitions with configurable associativity and precedence to control expression evaluation. The compiler includes a specialized module system for mana
Functions as a JavaScript macro compiler that extends the language with custom syntax and operators during compilation.
next-mdx-remote is a rendering library for Next.js that serializes and renders MDX content from remote sources. It functions as a secure MDX compiler and remote content serializer, transforming MDX strings from external APIs or databases into a format compatible with client-side hydration. The library distinguishes itself through a secure compilation process that restricts JavaScript execution and global variable access to prevent remote code execution. It utilizes a custom component mapper to replace standard HTML elements in markdown with specific React components, allowing for dynamic cont
Implements a secure MDX compiler that restricts JavaScript execution to prevent remote code execution vulnerabilities.