Giter Site home page Giter Site logo

nashorn's Introduction

Nashorn Engine

Nashorn engine is an open source implementation of the ECMAScript Edition 5.1 Language Specification. It also implements many new features introduced in ECMAScript 6 including template strings; let, const, and block scope; iterators and for..of loops; Map, Set, WeakMap, and WeakSet data types; symbols; and binary and octal literals. It is written in Java and runs on the Java Virtual Machine.

Nashorn used to be part of the JDK until Java 14. This project provides a standalone version of Nashorn suitable for use with Java 11 and later.

Nashorn is free software, licensed under GPL v2 with the Classpath exception, just like the JDK.

Documentation

View the JavaDoc.

Making Nashorn standalone is still a work in progress. There is no standalone user's guides for it yet. The best current guides are Nashorn-related documents last published by Oracle with Java 14:

(When browsing these guides, mentally substitute org.openjdk.nashorn in place of jdk.scripting.nashorn module name and jdk.nashorn package name.)

Getting Started

Latest version of Nashorn is 15.4, available from Maven Central. You can check the change log to see what's new.

Nashorn is a JPMS module, so make sure it and its transitive dependencies (Nashorn depends on several ASM JARs) are on your application's module path, or appropriately added to a module layer, or otherwise configured as modules.

While standalone Nashorn is primarily meant to be used with Java 15 and later versions, it can also be used with Java versions 11 to 14 that have a built-in version of Nashorn too. See this page for details on use when both versions are present.

Building From Source

Nashorn uses Ant as its build system.

cd make/nashorn
ant jar

will download the dependencies and build the JAR file. Other notable targets are test for running its own internal test suite, or test262-parallel for running the official ECMA-262 test suite for ECMAScript 5.1. You will need to execute ant get-test262 to download the tests into Nashorn's local test directory once.

Contributing

Nashorn is a project under the charter of the OpenJDK. The OpenJDK Bylaws govern our work. The Nashorn project membership can be found on the OpenJDK Census. We welcome patches and involvement from individual contributors or companies. If this is your first time contributing to an OpenJDK project, you will need to review the rules on becoming a Contributor, and sign the Oracle Contributor Agreement (OCA).

Issue tracking

If you think you have found a bug in Nashorn, first make sure that you are testing against the latest version - your issue may already have been fixed. If not, search our issues list in the Java Bug System (JBS) in case a similar issue has already been opened. More information on where and how to report a bug can be found at bugreport.java.com. Use component "Core Libraries" and Subcomponent "jdk.nashorn" when filing an issue.

Discussion

Discussion of Nashorn development happens on the nashorn-dev mailing list.

nashorn's People

Contributors

asashour avatar chrishegarty avatar cushon avatar edvbld avatar egahlin avatar erikj79 avatar gnu-andrew avatar goelin avatar hns avatar iignatev avatar jddarcy avatar jesperirl avatar jimlaskey avatar jonathan-gibbons avatar kiranoracle avatar kshefov avatar lahodaj avatar magicus avatar mbreinhold avatar omajid avatar plummercj avatar prrace avatar rieberandreas avatar simonis avatar skydreamerr avatar slowhog avatar sundararajana avatar szegedi avatar vidmik avatar woess avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.