2 repositorios
Compiles newer JS features such as optional chaining, nullish coalescing, class fields, and numeric separators to older syntax for broader runtime compatibility.
Distinct from Modern Syntax: Distinct from Modern Syntax: focuses on compiling modern syntax down to older syntax, not just defining modern features.
Explore 2 awesome GitHub repositories matching programming languages & runtimes · Downlevel Compilers. Refine with filters or upvote what's useful.
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
Compiles newer JS features such as optional chaining, nullish coalescing, class fields, and numeric separators to older syntax.
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.
Explains the process of rewriting modern language features into older JavaScript versions for legacy environment support.