Repolode
vercel-labs

vercel-labs/scriptc

Экспериментальный компилятор TypeScript и JavaScript, который превращает программы в нативные исполняемые файлы или WebAssembly без необходимости устанавливать Node.js.

Звёзды
6,238
Форки
191
Открытые issues
56
Последний коммит
7 часов назад

Что это?

scriptc компилирует TypeScript и JavaScript в нативные исполняемые файлы и WebAssembly. Он использует типы, проверенные компилятором TypeScript, для генерации машинного кода, а результат работает без установленного Node.js. npm-пакеты, импортируемые программой, компилируются вместе с ней в исполняемый файл.

Проект экспериментальный и поддерживает подмножество JavaScript, TypeScript и API Node.js. Код, который компилятор не может обработать, отмечается при сборке диагностическим сообщением и, если возможно, подсказкой по его изменению. Команда `scriptc coverage` показывает, какая часть существующей программы компилируется, ещё до её сборки.

Компилятор устанавливается через npm и работает на macOS, Linux и Windows. Для сборки исполняемых файлов требуются линкер и SDK или sysroot целевой платформы. Поддерживаемые API Node.js, например `node:http`, компилируются для нативной среды выполнения.

Ключевые возможности

  • 01Компилирует TypeScript и JavaScript в нативные исполняемые файлы.
  • 02Компилирует в WebAssembly (модули WASI).
  • 03Использует информацию о типах TypeScript для генерации машинного кода.
  • 04Включает импортируемые npm-пакеты в выходной бинарный файл.
  • 05Сообщает о неподдерживаемом коде при сборке с помощью диагностических сообщений.
  • 06Содержит команду проверки покрытия, которая позволяет оценить совместимость до сборки.

Сценарии использования

  • Поставка CLI-инструмента в виде единого бинарного файла, работающего без установленного Node.js.
  • Проверка того, какую часть существующей программы на TypeScript можно скомпилировать в нативный код.
  • Сборка модулей WASI из TypeScript для встраивания.
  • Запуск небольших HTTP-серверов в стиле Node.js как автономных исполняемых файлов.

Быстрый старт

  1. 1

    Установите компилятор глобально с помощью npm (Node.js 24 или новее)

    npm install -g scriptc
  2. 2

    Создайте hello.ts с короткой программой (содержимое файла приведено в README)

  3. 3

    Скомпилируйте и запустите программу напрямую

    scriptc run hello.ts
  4. 4

    Соберите автономный исполняемый файл

    scriptc build hello.ts -o hello >/dev/null

Что важно знать

  • Функция экспериментальная: поддерживается только часть JavaScript, TypeScript и API Node.js.
  • Для сборки исполняемых файлов требуются линкер и SDK платформы или sysroot.
  • Поддержка пакетов npm частичная.

Темы

Частые вопросы

Что такое scriptc?
Экспериментальный компилятор TypeScript и JavaScript, который превращает программы в нативные исполняемые файлы или WebAssembly без необходимости устанавливать Node.js. scriptc компилирует TypeScript и JavaScript в нативные исполняемые файлы и WebAssembly. Он использует типы, проверенные компилятором TypeScript, для генерации машинного кода, а результат работает без установленного Node.js. npm-пакеты, импортируемые программой, компилируются вместе с ней в исполняемый файл.
scriptc можно использовать бесплатно? Какая у него лицензия?
scriptc распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
scriptc всё ещё поддерживается?
Активно поддерживается. Последний коммит в scriptc — 19 окт. 2026 г..
Для чего можно использовать scriptc?
Поставка CLI-инструмента в виде единого бинарного файла, работающего без установленного Node.js. Проверка того, какую часть существующей программы на TypeScript можно скомпилировать в нативный код. Сборка модулей WASI из TypeScript для встраивания. Запуск небольших HTTP-серверов в стиле Node.js как автономных исполняемых файлов.
Как установить scriptc?
Установите компилятор глобально с помощью npm (Node.js 24 или новее): npm install -g scriptc Создайте hello.ts с короткой программой (содержимое файла приведено в README) Скомпилируйте и запустите программу напрямую: scriptc run hello.ts Соберите автономный исполняемый файл: scriptc build hello.ts -o hello >/dev/null
Где скачать scriptc?
Исходный код и инструкции по установке — на GitHub: https://github.com/vercel-labs/scriptc

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты