GithubHelp home page GithubHelp logo

ne-smalltown / es6draft Goto Github PK

View Code? Open in Web Editor NEW

This project forked from anba/es6draft

0.0 1.0 0.0 15.31 MB

ECMAScript 2015 (ECMA-262 6th Edition) compiler and runtime

License: MIT License

FreeMarker 0.03% Shell 0.03% Batchfile 0.02% Java 79.71% JavaScript 20.21%

es6draft's Introduction

es6draft

ECMAScript compiler and runtime written in Java.

Build Status

Implementation Status

Implements [ES2018 Draft 2018-10-25] ecma262, [ES2018 Intl Draft 2018-10-24] ecma402, and some of the current proposals proposals.

ECMAScript proposals below stage 3 are not enabled by default. To enable them use the --stage command line parameter.

Note: Support of stage 2 (or below) proposals is highly experimental (cf. [TC39 Process] process), implementation incompatibilities are to be expected.

Build Instructions and Shell

Prerequisites

  • Download and install [JDK 8 or later] java
  • Download and install [Apache Maven 3 or later] maven
  • Set-up the JAVA_HOME environment variable to point to the JDK installation directory

Build Instructions

  • Clone this repository git clone https://github.com/anba/es6draft.git && cd es6draft
  • Create the executable with mvn package

Shell

  • Start the shell using either ./bin/es6draft or .\bin\es6draft.bat on Windows®.
  • ./bin/es6draft --help prints the available options.

Test Suites

Test262 Test Suite

To start the Test262 test262 test runner select the test262 Maven profile and set the TEST262_PATH environment variable or use the -Dtest262.path parameter.

export TEST262_PATH = <test262 main directory>
mvn test -P test262

or:
mvn test -P test262 -Dtest262.path=<test262 main directory>

The -Dtest262.include parameter can be used to select specific test cases:

mvn test -P test262 -Dtest262.include="test/built-ins/Array/prototype/**/*.js"

mvn test -P test262 -Dtest262.include="test/built-ins/{Boolean\,Number}/prototype/**/*.js"

The -Dtest262.exclude parameter allows to exclude test cases:

mvn test -P test262 -Dtest262.exclude="test/built-ins/**/*.js"

See here for the test262 default configuration.

External Test Suites

Additional test suites are available to run tests from [ChakraCore] chakra, Mozilla mozilla, V8 v8, and WebKit webkit using the external Maven profile.

The following environment variables need to be set to run these tests:

  • CHAKRA_PATH: ChakraCore main directory
  • MOZILLA_PATH: Mozilla-Central main directory
  • V8_PATH: V8 main directory
  • WEBKIT_PATH: WebKit main directory

Alternatively, the -Dchakra.path=..., -Dmozilla.path=..., -Dv8.path=..., and -Dwebkit.path=... parameters can be used.

To skip an external test, use -D<name>.skip=true. For example to run only the Mozilla tests, use:

mvn test -P external -Dmozilla.path=<...> -Dchakra.skip=true -Dv8.skip=true -Dwebkit.skip=true

Built-in Test Suite

The built-in test suite is run when no other Maven profile was selected. In other words, it is run when the command mvn test is used.

es6draft's People

Contributors

anba avatar jugglinmike avatar leobalter avatar

Watchers

 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.