Об этом проекте

Oxc for Ruby — это гем, упаковывающий основанный на Rust компилятор Oxc и предлагающий Ruby-разработчикам набор высокопроизводительных инструментов для JavaScript и TypeScript. Он позволяет выполнять парсинг, трансформацию и минификацию JavaScript напрямую из Ruby, устраняя необходимость в среде выполнения JavaScript. Ключевые возможности: - **Минификация**: сжатие и искажение имён JavaScript с настраиваемыми параметрами. - **Трансформация**: компиляция TypeScript и JSX, понижение синтаксиса до целевых версий ECMAScript и, при желании, минификация в том же проходе. - **Файлы деклараций**: генерация файлов `.d.ts` из исходников TypeScript. - **Парсинг**: получение AST, совместимого с ESTree, в виде обычных Ruby-хешей, с восстановлением после ошибок и диагностикой. - **Обход и перезапись AST**: обход и изменение AST с помощью паттерна посетителя с сохранением исходного форматирования. - **Анализ символов и модулей**: извлечение объявленных и неразрешённых символов, импортов и экспортов. - **Карты исходников**: генерация карт исходников в виде текста JSON. - **Вспомогательные функции времени выполнения**: управление вспомогательными функциями для понижения синтаксиса с возможностью использования внешних помощников или допущений, позволяющих их избежать. Версия гема соответствует версии встроенного Oxc; для многих платформ доступны предкомпилированные гемы; в противном случае сборка выполняется из исходников и требует Rust 1.96+. API спроектирован как интуитивно понятный: параметры строго проверяются, а результаты предоставляют подробную диагностику.