13 repositorios
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 es un sistema de herramientas de compilación frontend y gestor de módulos de JavaScript que integra Webpack en aplicaciones Ruby on Rails. Sirve como puente entre el framework web de backend y el proceso de compilación frontend para compilar JavaScript y CSS en bundles listos para el navegador. El sistema proporciona un servidor de assets de desarrollo dedicado para la recarga de código en tiempo real y la actualización automática del navegador. Para producción, incluye un pipeline de precompilación que minifica scripts y hojas de estilos y aplica compresión de assets de red para optimizar la entrega. El proyecto cubre una gestión integral de assets mediante la inyección de etiquetas impulsada por helpers y el mapeo de assets basado en manifiestos, asegurando que los archivos compilados estén correctamente vinculados en las plantillas HTML. También admite pipelines de compilación personalizados a través de una interfaz de configuración programable para integrar lenguajes no estándar y resolución de rutas de módulos personalizada.
Transforms modern JavaScript and script languages into browser-compatible bundles using a compilation tool.
Este proyecto es una guía completa y recurso educativo para el lenguaje TypeScript. Cubre los principios fundamentales del lenguaje, incluyendo su sistema de tipos estructural, análisis de tipos estáticos y el proceso de transpilación de archivos fuente tipados a JavaScript. El material detalla cómo modelar datos complejos y lógica de tipos reutilizable utilizando genéricos, tipos condicionales y tipos mapeados. También explica el uso de archivos de declaración para proporcionar seguridad de tipos para librerías externas de JavaScript y la integración de verificación de tipos en proyectos de JavaScript existentes mediante anotaciones JSDoc. El alcance del contenido se extiende a patrones de programación orientada a objetos, manipulación del DOM y la configuración de comportamientos del compilador. Incluye orientación sobre la gestión de interoperabilidad de módulos, configuración de pipelines de construcción y utilización de inteligencia de editor para una mejor productividad del desarrollador.
Transforms high-level typed source code into executable JavaScript.
Scala.js es un compilador y cadena de herramientas de lenguaje multiplataforma que transforma código fuente de Scala en JavaScript o WebAssembly. Funciona como una herramienta tipada estáticamente para el ecosistema JavaScript, permitiendo el desarrollo de aplicaciones para navegadores web y entornos Node.js. El proyecto sirve como framework de interoperabilidad con JavaScript, permitiendo la creación de fachadas y bindings tipados de forma segura para interactuar con librerías externas y objetos globales. Proporciona mecanismos para la invocación de JavaScript tanto estática como dinámica, incluyendo la generación de bindings de TypeScript y la capacidad de exportar lógica interna para su uso en código JavaScript externo. La cadena de herramientas incluye una herramienta de construcción frontend para empaquetado de producción y optimización de salida, incluyendo eliminación de código muerto y división de módulos. Cubre una amplia superficie de capacidades, incluyendo verificación de tipos de elementos DOM para desarrollo de UI, intercambio de código multiplataforma para desarrollo full-stack y varios frameworks de pruebas para verificar artefactos de construcción optimizados. Los scripts compilados pueden ejecutarse directamente dentro de un entorno de línea de comandos utilizando un intérprete de JavaScript.
Transforms Scala source code into executable JavaScript for use in web browsers or server environments.
Sweet-core es un compilador de código fuente a código fuente de JavaScript y un sistema de macros al estilo Lisp. Funciona como un transformador de sintaxis que extiende JavaScript permitiendo la definición de sintaxis y operadores personalizados durante el proceso de compilación. El sistema proporciona un framework para construir lenguajes específicos de dominio (DSL) mediante la expansión de macros recursivas e higiénicas y la creación de nuevas construcciones de lenguaje. Se distingue por admitir definiciones de operadores personalizados con asociatividad y precedencia configurables para controlar la evaluación de expresiones. El compilador incluye un sistema de módulos especializado para gestionar dependencias en tiempo de compilación e integración de helpers en tiempo de ejecución. Su arquitectura interna cubre la transformación del árbol de sintaxis abstracta (AST), la coincidencia de producción gramatical y la generación de objetos de sintaxis para garantizar la higiene léxica. Se proporciona una interfaz de línea de comandos para transformar archivos fuente en archivos o directorios de salida de JavaScript estándar.
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.