node-chakracore

Node.js on ChakraCore :sparkles::turtle::rocket::sparkles:

  • 所有者: nodejs/node-chakracore
  • 平台:
  • 許可證: Other
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

Node.js on ChakraCore

This project enables Node.js to optionally use the
ChakraCore JavaScript engine. This
project is still work in progress and not an officially supported Node.js
branch. For more context into this project, please refer to the
original PR.

How it works

To enable building and running Node.js with the ChakraCore JavaScript engine, a
V8 API shim (ChakraShim) is created on top of the ChakraCore runtime hosting API
(JSRT.
ChakraShim implements the most essential V8 APIs so that the underlying
JavaScript engine change is transparent to Node.js and other native addon
modules written for V8.

A rebuild of node and native addon modules with ChakraCore is required for this
to work.

Time Travel Debugging

Time-Travel debugging is an exciting new addition to Node.js debugging, first
introduced in Node-ChakraCore, and now supported by
VSCode. We are developing in the open
and want to share our progress to get feedback, bug reports, functionality
requests, and pull-requests from the community.

Check out this Time-Travel Debugging
page to learn how to get started with TTD on Node-ChakraCore with VSCode.

Node.js API (NAPI)

Node-ChakraCore is an active participant in the
ABI-Stable-Node project also called
NAPI. The goal of this project is to ease the lives of native add-ons
developers, by providing a stable Node API which also guarantees stable ABI
across disparate Node versions. This allows native modules to just work across
different versions and flavors of Node.js without recompilations, reducing the
maintenance cost for module developers and thus improving compatibility.

Head over to the NAPI Project repo
to learn more about it and ways to get involved.

Installing prebuilt Node-ChakraCore binaries

You can download and install stable prebuilt Node-ChakraCore from the
releases page.

For installing Node-ChakraCore side-by-side your existing Node installation, we
recommend Node Version Switcher (NVS).

$ nvs remote chakracore https://nodejs.org/download/chakracore-release/
$ nvs add chakracore/latest
$ nvs use chakracore

Nightly builds of Node-ChakraCore are available at
https://nodejs.org/download/chakracore-nightly/
Please use the following instructions to install the nightly builds.

$ nvs remote chakracore-nightly https://nodejs.org/download/chakracore-nightly/
$ nvs add chakracore-nightly/latest
$ nvs use chakracore-nightly

Building Node-ChakraCore

Node-ChakraCore can be built on Windows, Linux, and macOS.

If you are looking to build this yourself, here's what you will need.

Windows

Prerequisites:

Build Command:

> vcbuild [x86, x64, arm]

To run unit tests

> vcbuild nobuild test ignore-flaky [x86, x64, arm]

To test if Node.js was built correctly with ChakraCore:

> node -e "console.log('Hello from Node.js ' + process.jsEngine)"
Hello from Node.js chakracore

Linux

Install building tools and ChakraCore dependencies:
Clang 3.7+ / CMake 3.2 are required

Debian/Ubuntu:

$ sudo apt-get install -y build-essential cmake clang libicu-dev

Fedora:

$ su
$ dnf group install -y "Development Tools" "C Development Tools and Libraries"
$ dnf install -y git cmake clang gcc gcc-c++ kernel-devel python llvm
$ dnf install -y lttng-ust-devel.x86_64 libicu-devel.x86_64 libstdc++-static.x86_64

Clone this repo and check out master branch:

$ git checkout master

Build:

$ ./configure
$ make

To run unit tests:

$ FLAKY_TESTS=dontcare make test

To test if Node.js was built correctly with ChakraCore:

$ node -e "console.log('Hello from Node.js ' + process.jsEngine)"
Hello from Node.js chakracore

macOS

Prerequisites:

Install the building tools:

$ xcode-select --install
$ brew install cmake

Clone this repo and check out master branch:

$ git checkout master

Build:

$ ./configure
$ make 

To test if Node.js was built correctly with ChakraCore:

$ ./node -e "console.log('Hello from Node.js ' + process.jsEngine)"
Hello from Node.js chakracore

Issues

Please report all issues related to Node-ChakraCore on our
issues page.

主要指標

概覽
名稱與所有者nodejs/node-chakracore
主編程語言JavaScript
編程語言Makefile (語言數: 13)
平台
許可證Other
所有者活动
創建於2015-11-25 19:09:26
推送於2019-12-21 12:00:40
最后一次提交2019-12-21 03:02:01
發布數31
最新版本名稱node-chakracore-v10.13.0 (發布於 )
第一版名稱node-chakracore-6.0.0-pre1 (發布於 2016-01-13 10:18:41)
用户参与
星數1.9k
關注者數146
派生數341
提交數26.7k
已啟用問題?
問題數269
打開的問題數89
拉請求數270
打開的拉請求數5
關閉的拉請求數80
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?