Sonata

scriptc — компилятор TypeScript и JavaScript в нативный код и WebAssembly

scriptc — экспериментальный компилятор, переводящий TypeScript и JavaScript в типизированный IR, читаемый C, текстовый LLVM IR, нативную сборку и объекты, исполняемые файлы и модули WebAssembly. Для разбора и проверки типов используется штатный компилятор TypeScript, а сборка исходного вывода требует только Node.js.

На macOS 15+ arm64 обычные LLVM-сборки используют встроенный помощник scriptc и предкомпилированный пакет рантайма — clang выступает лишь линковщиком платформы и не компилирует программный или системный C-код. Статические сборки включают компактный нативный рантайм и не требуют Node или JS-движка; код, который нельзя скомпилировать статически, помечается диагностикой.

Для npm-пакетов и typed-кода scriptc явно встраивает quickjs-ng. Инструмент нацелен на macOS, Linux, Windows и WebAssembly через WASI Preview 1, требует Node.js 24+, а кросс-платформенные и WASI-сборки дополнительно используют Zig и его встроенную WASI libc через продакшн-бэкенд LLVM.

GitHub ★ 5,219

Загрузка страницы