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

ChakraCore — это открытый движок JavaScript, предоставляющий API на языке C, что позволяет разработчикам добавлять поддержку JavaScript в любой проект на C или C++. Изначально это был движок браузера Microsoft Edge, но теперь он поддерживается как проект сообщества под лицензией MIT. Поддержка платформ: ChakraCore можно компилировать для процессоров x64 на Linux, macOS и Windows, а также для x86 и ARM только на Windows. Поддержка x86/ARM на Linux и ARM на macOS указана как будущая цель. Статус проекта: Microsoft Edge больше не использует Chakra, и Microsoft предоставляла обновления безопасности для ChakraCore 1.11 только до 9 марта 2021 года. Планируется, что проект продолжит существование как инициатива сообщества, ориентированная в основном на встраиваемые сценарии, с опубликованными документами планирования для будущего релиза 1.12. Координация сообщества осуществляется через GitHub issues и сервер в Discord. Использование: После сборки движок можно протестировать с помощью ch (ch.exe на Windows) — легковесного приложения-хоста для запуска небольших программ на JavaScript. Основной сценарий использования — прямое встраивание ChakraCore в приложения через API JSRT (JavaScript Runtime), официальная документация по встраиванию и примеры доступны. Также его можно установить через менеджер зависимостей vcpkg с интеграцией CMake (vcpkg install chakracore). Важное замечание об области применения: ChakraCore — это только движок JavaScript. Он не включает внешние API, предоставляемые веб-браузером или Node.js, такие как DOM API, например document.write(). Приложения, встраивающие движок, должны реализовывать свои собственные API ввода и вывода; хост ch предоставляет print() для вывода в терминал. Сборка: На Windows сборка выполняется с помощью Visual Studio 2015 или 2017 (с поддержкой C++) через решение Chakra.Core.sln. На macOS сборка выполняется с помощью инструментов командной строки Xcode и CMake. На Linux сборка выполняется с помощью CMake и Ninja. Также доступны предсобранные бинарные файлы. Документация включает обзор архитектуры, краткое руководство по встраиванию, полное справочное руководство по API JSRT, рекомендации по внесению вклада, а также коллекцию блогов, докладов и других ресурсов. Приветствуются вклады в виде сообщений об ошибках, проверки исправлений и pull requests. Вопросы безопасности в ветке 1.11 обрабатывались через закрытый канал сообщений Microsoft, в то время как проблемы, обнаруженные только в ветке master, сообщаются участникам основной команды в приватном порядке через Discord.