13 Repos
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 is a frontend build tooling system and JavaScript module manager that integrates Webpack into Ruby on Rails applications. It serves as a bridge between the backend web framework and the frontend build process to compile JavaScript and CSS into browser-ready bundles. The system provides a dedicated development asset server for real-time code reloading and automatic browser refreshing. For production, it includes a precompilation pipeline that minifies scripts and stylesheets and applies network asset compression to optimize delivery. The project covers comprehensive asset management
Transforms modern JavaScript and script languages into browser-compatible bundles using a compilation tool.
This project is a comprehensive guide and educational resource for the TypeScript language. It covers the fundamental principles of the language, including its structural type system, static type analysis, and the process of transpiling typed source files into JavaScript. The material details how to model complex data and reusable type logic using generics, conditional types, and mapped types. It also explains the use of declaration files to provide type safety for external JavaScript libraries and the integration of type checking into existing JavaScript projects via JSDoc annotations. The
Transforms high-level typed source code into executable JavaScript.
Scala.js ist ein Compiler- und plattformübergreifendes Sprach-Toolchain-Projekt, das Scala-Quellcode in JavaScript oder WebAssembly transformiert. Es fungiert als statisch typisiertes Tool für das JavaScript-Ökosystem und ermöglicht die Entwicklung von Anwendungen für Webbrowser und Node.js-Umgebungen. Das Projekt dient als JavaScript-Interop-Framework, das die Erstellung typsicherer Facaden und Bindings ermöglicht, um mit externen Bibliotheken und globalen Objekten zu interagieren. Es bietet Mechanismen für sowohl statische als auch dynamische JavaScript-Aufrufe, einschließlich der Generierung von TypeScript-Bindings und der Möglichkeit, interne Logik für die Verwendung in externem JavaScript-Code zu exportieren. Die Toolchain enthält ein Frontend-Build-Tool für Production-Bundling und Output-Optimierung, einschließlich Dead-Code-Elimination und Modul-Splitting. Sie deckt ein breites Funktionsspektrum ab, einschließlich DOM-Element-Typ-Checking für UI-Entwicklung, plattformübergreifendes Code-Sharing für Full-Stack-Entwicklung sowie verschiedene Test-Frameworks zur Verifizierung optimierter Build-Artefakte. Kompilierte Skripte können direkt innerhalb einer Command-Line-Umgebung mittels eines JavaScript-Interpreters ausgeführt werden.
Transforms Scala source code into executable JavaScript for use in web browsers or server environments.
Sweet-core ist ein JavaScript-Source-to-Source-Compiler und ein Lisp-artiges Makrosystem. Es fungiert als Syntax-Transformer, der JavaScript erweitert, indem er die Definition benutzerdefinierter Syntax und Operatoren während des Kompilierungsprozesses ermöglicht. Das System bietet ein Framework zum Aufbau domänenspezifischer Sprachen durch hygienische, rekursive Makro-Expansion und die Erstellung neuer Sprachkonstrukte. Es zeichnet sich durch die Unterstützung benutzerdefinierter Operatordefinitionen mit konfigurierbarer Assoziativität und Präzedenz aus, um die Ausdrucksauswertung zu steuern. Der Compiler enthält ein spezialisiertes Modulsystem zur Verwaltung von Compile-Time-Abhängigkeiten und der Integration von Runtime-Hilfsprogrammen. Seine interne Architektur umfasst die Transformation abstrakter Syntaxbäume, das Matching von Grammatikproduktionen und die Generierung von Syntaxobjekten, um lexikalische Hygiene zu gewährleisten. Eine Befehlszeilenschnittstelle wird bereitgestellt, um Quelldateien in Standard-JavaScript-Ausgabedateien oder -verzeichnisse zu transformieren.
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.