Graal JavaScript ScriptEngine


Keywords
graalvm, java, javascript, nodejs
License
UPL-1.0

Documentation

Join the chat at https://gitter.im/graalvm/graaljs

A high performance implementation of the JavaScript programming language. Built on the GraalVM by Oracle Labs.

The goals of GraalVM JavaScript are:

Getting Started

See the documentation on the GraalVM website how to install and use GraalVM JavaScript.

$ $GRAALVM/bin/js
> print("Hello JavaScript");
Hello JavaScript
>

The preferred way to run GraalVM JavaScript is from a GraalVM. If you prefer running it on a stock JVM, please have a look at the documentation in RunOnJDK.md.

Documentation

Extensive documentation is available in docs, for users and contributors of the engine.

For contributors, a guide how to build GraalVM JavaScript from source code can be found in Building.md.

Current Status

GraalVM JavaScript is compatible with the ECMAScript 2019 specification. New features, e.g. for the upcoming 2020 edition, are added frequently. In addition, some popular extensions of other engines are supported, see JavaScriptCompatibility.md.

GraalVM JavaScript can execute Node.js applications. It provides high compatibility with existing npm packages, with high likelyhood that your application will run out of the box. This includes npm packages with native implementations. Note that you will need to re-compile from source with GraalVM JavaScript if you want to run binaries that have been compiled for Node.js based on V8, or any other compatible engine.

Compatibility on Operating Systems

The core JavaScript engine is a Java application and is thus in principle compatible with every operating system that provides a compatible JVM, see RunOnJDK.md. We test and support GraalVM JavaScript currently in full extent on Linux and MacOS. For Windows, a preliminary preview version is available.

Some features, including the Node.js support, are currently not supported on all platforms (e.g. Windows).

GraalVM JavaScript Reference Manual

A reference manual for GraalVM JavaScript is available on the GraalVM website.

Stay connected with the community

See graalvm.org/community on how to stay connected with the development community. The discussion on gitter is a good way to get in touch with us.

Authors

The main authors of GraalVM JavaScript in order of joining the project are:

Andreas Woess, Christian Wirth, Danilo Ansaloni, Daniele Bonetta, Jan Stola, Jakub Podlesak, Tomas Mysik, Jirka Marsik, Josef Haider

Additionally:

Thomas Würthinger, Christian Humer

Collaborations with:

and others.

Licence

GraalVM JavaScript is available under the following license: