À propos du projet

Oxc pour Ruby est une gemme qui empaquette le compilateur Oxc basé sur Rust, offrant aux développeurs Ruby une suite d'outils haute performance pour JavaScript et TypeScript. Elle permet d'analyser, transformer et minifier du JavaScript directement depuis Ruby, éliminant le besoin d'un runtime JavaScript. Les fonctionnalités clés incluent : - **Minification** : Compresser et obscurcir le JavaScript avec des options configurables. - **Transformation** : Compiler TypeScript et JSX, abaisser la syntaxe vers des versions cibles d'ECMAScript, et optionnellement minifier dans le même passage. - **Fichiers de déclaration** : Générer des fichiers `.d.ts` à partir de sources TypeScript. - **Analyse** : Obtenir un AST conforme à ESTree sous forme de hachages Ruby simples, avec récupération d'erreurs et diagnostics. - **Parcours et réécriture d'AST** : Traverser et muter l'AST avec un modèle de visiteur, en préservant le formatage original. - **Analyse de symboles et modules** : Extraire les symboles déclarés et non résolus, les imports et les exports. - **Cartes source** : Générer des cartes source sous forme de texte JSON. - **Aides d'exécution** : Gérer les fonctions d'aide pour l'abaissement, avec des options pour des aides externes ou des hypothèses pour les éviter. La version de la gemme suit la version d'Oxc empaquetée, et des gemmes précompilées sont disponibles pour de nombreuses plateformes ; sinon, elle se construit à partir des sources nécessitant Rust 1.96+. L'API est conçue pour être intuitive, avec des options validées strictement et des résultats fournissant des diagnostics détaillés.