Node.js on ChakraCore 🐢🚀
JavaScript C++ C POV-Ray SDL HTML Python Other
Latest commit 5eb8031 Jul 7, 2016 @jianchun jianchun chakrashim: a few refactors for clang
Found a few minor issues while trying to compile with clang:
- `Global` implementation had `this.xx`. Should be `this->xx`.
- clang requires forward declaration of `ObjectData` for its usage. Rather
  than forwarding this private symbol, I refactored the code to hide it
  from public header.

Ran cpplint and fixed accordingly on the changed files.

PR-URL: #94
Reviewed-By: Kunal Pathak <Kunal.Pathak@microsoft.com>
Failed to load latest commit information.
.github doc: minor rewording to the GitHub issue/pr templates Jun 27, 2016
benchmark net: use icu's punycode implementation Jun 29, 2016
deps chakrashim: a few refactors for clang Jul 12, 2016
doc doc: fixing minor typo in AtExit hooks section Jun 30, 2016
lib Merge 'nodejs/master' into chakracore-master Jul 5, 2016
src Merge 'nodejs/master' into chakracore-master Jul 5, 2016
test test: fixed failing test cases Jul 5, 2016
tools Merge 'nodejs/master' into chakracore-master Jul 5, 2016
.editorconfig tools: add .editorconfig Dec 16, 2015
.eslintignore tools: enable linting for v8_prof_processor.js Apr 20, 2016
.eslintrc tool: modified eslint rule for line-breaks May 25, 2016
.gitattributes src: limit .gitattributes eol to vcbuild.bat Jan 13, 2015
.gitignore gitignore: adding .vs/ directory to .gitignore Apr 18, 2016
.mailmap doc: update AUTHORS list Dec 15, 2015
AUTHORS doc: update authors Apr 26, 2016
BSDmakefile node: rename from io.js to node Aug 23, 2015
BUILDING.md doc: update build instructions for Windows Jun 23, 2016
CHANGELOG.md 2016-06-28, Version 4.4.7 'Argon' (LTS) Jun 28, 2016
CODE_OF_CONDUCT.md doc: clarified use of sexual language in the CoC May 27, 2016
COLLABORATOR_GUIDE.md collaborator_guide: clarify commit message rules Mar 13, 2016
CONTRIBUTING.md doc: specify how to link issues in commit log Jun 6, 2016
GOVERNANCE.md doc: add internal link in GOVERNANCE.md Jun 15, 2016
LICENSE doc: update licenses Jun 3, 2016
Makefile tools: explicit path for V8 test tap output Jun 29, 2016
README.md doc,deps,test: fixed deps\test after upgrade to 1.2 Jun 14, 2016
ROADMAP.md doc: update NAN urls in ROADMAP.md and doc/releases.md Mar 2, 2016
WORKING_GROUPS.md doc: fix typos in WORKING_GROUPS.md May 29, 2016
android-configure build: update android-configure script for npm Apr 22, 2016
common.gypi Merge 'nodejs/master' into chakracore-master Jul 5, 2016
configure Merge 'nodejs/master' into chakracore-master Jul 5, 2016
node.gyp build: fixes post merge Jul 5, 2016
vcbuild.bat build: fixes post merge Jul 5, 2016

README.md

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. 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 node.exe and native addon modules with ChakraCore is required for this to work.

Issues

Please report all issues related to Node-ChakraCore on this separate issue page.

Prebuilt Node binaries

You can download and install prebuilt Node-ChakraCore from here.

How to build

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

Prerequisites:

Build Command:

vcbuild chakracore nosign [x86|x64|arm]

How to test

vcbuild chakracore nobuild test [x86|x64|arm]

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

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