A high performance implementation of the JavaScript programming language. Built on the GraalVM by Oracle Labs.
The goals of Graal JavaScript are:
- Execute JavaScript code with best possible performance
- Full compatibility with the latest ECMAScript specification
- Support Node.js applications, including native packages
- Allow simple upgrading from Nashorn or Rhino based applications
- Fast interoperability with Java, Scala, or Kotlin, or with other GraalVM languages like Ruby, Python, or R
- Be embeddable in systems like Oracle RDBMS or MySQL
See the documentation on the GraalVM website how to install and use Graal JavaScript.
$ $GRAALVM/bin/js
> print("Hello JavaScript");
Hello JavaScript
>
Extensive documentation is available in docs
, for users
and contributors
of the engine.
For instance, a guide how to build Graal JavaScript from source code can be found in Building.md
.
Graal JavaScript is compatible with the ECMAScript 2018 specification.
New features, e.g. for the upcoming 2019 edition, are added frequently.
In addition, some popular extensions of other engines are supported, see JavaScriptCompatibility.md
.
Graal 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 Graal JavaScript if you want to run binaries that have been compiled for Node.js based on V8, or any other compatible engine.
A reference manual for Graal JavaScript is available on the GraalVM website.
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.
The main authors of Graal 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.
Graal JavaScript is available under the following license: