Skip to content

πŸ“„ Information and links related to ECMAScript engine/tooling development

License

Notifications You must be signed in to change notification settings

linusg/ecmascript-wiki

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

33 Commits
Β 
Β 
Β 
Β 

Repository files navigation

ECMAScript Wiki

This is a collection of information and links intended to be useful to developers of ECMAScript engines and tooling. Pull requests are most welcome! :^)

Engines

Logo Name Website Source code Implementation Language License Supported ES version
BESEN https://github.com/BeRo1985/besen Object Pascal LGPL-2.1 ES5
Boa https://boajs.dev https://github.com/boa-dev/boa Rust MIT
ChakraCore https://github.com/chakra-core/ChakraCore C++ MIT
Duktape https://github.com/svaarala/duktape C MIT ES5.1, ES6/7 (partial)
Elk https://github.com/cesanta/elk C AGPL-3 subset of ES6
engine262 https://engine262.js.org https://github.com/engine262/engine262 JavaScript MIT ESNext
Escargot https://github.com/Samsung/escargot C++ LGPL-2.1 ES2020
Espruino https://www.espruino.com https://github.com/espruino/Espruino C MPL-2.0
Flathead https://github.com/ndreynolds/flathead C MIT
goja https://github.com/dop251/goja Go MIT ES5.1
GraalJS (GraalVM JavaScript) https://www.graalvm.org/dev/reference-manual/js/ https://github.com/oracle/graaljs Java UPL-1.0 ESNext
Hermes https://github.com/facebook/hermes C++ MIT ES6 with some exceptions
Higgs https://github.com/higgsjs/Higgs D
iv https://github.com/constellation/iv C++ BSD-2-Clause ES5.1
JavaScriptCore https://trac.webkit.org/wiki/JavaScriptCore https://github.com/WebKit/WebKit/tree/main/Source/JavaScriptCore C++, JavaScript LGPL-2.1 ESNext
JerryScript https://jerryscript.net https://github.com/jerryscript-project/jerryscript C Apache-2.0 ES5.1
Jint https://github.com/sebastienros/jint C# BSD-2-Clause ESNext
Js2Py http://piter.io/projects/js2py https://github.com/PiotrDabkowski/Js2Py Python MIT ES5.1
JS-Interpreter https://github.com/NeilFraser/JS-Interpreter JavaScript Apache-2.0
Kiesel https://kiesel.dev https://codeberg.org/kiesel-js/kiesel Zig MIT
LibJS https://libjs.dev https://github.com/SerenityOS/serenity/tree/master/Userland/Libraries/LibJS C++ BSD-2-Clause ESNext
mJS https://mongoose-os.com https://github.com/cesanta/mjs C GPL-2 subset of ES6
MuJS https://mujs.com https://git.ghostscript.com/?p=mujs.git C ISC ES5
Nashorn https://openjdk.org/projects/nashorn https://github.com/openjdk/nashorn Java GPL-2.0 subset of ES6
njs https://nginx.org/en/docs/njs/ https://github.com/nginx/njs C BSD-2-Clause ES5.1, ES6+ (partial)
Nova https://github.com/trynova/nova Rust
Otto https://github.com/robertkrimen/otto Go MIT ES5
Porffor https://porffor.goose.icu https://github.com/CanadaHonk/porffor JavaScript MIT
QtJsEngine/Qv4 https://doc.qt.io/qt-6/qjsengine.html https://code.qt.io/cgit/qt/qtdeclarative.git/tree/src/qml C++ LGPL
QtScript https://doc.qt.io/qt-5/qtscript-index.html https://code.qt.io/cgit/qt/qtscript.git C++ LGPL
QuickJS https://bellard.org/quickjs/ https://github.com/bellard/quickjs C MIT ES2020
Reeva https://github.com/ReevaJS/reeva Kotlin BSD-2-Clause
Rhino https://mozilla.github.io/rhino https://github.com/mozilla/rhino Java MPL-2.0 subset of ES6
Spidermonkey https://spidermonkey.dev https://searchfox.org/mozilla-central/source/js C++, Rust, JavaScript MPL-2.0 ESNext
Starlight https://teletype.in/@starlight-js https://github.com/Starlight-JS/starlight Rust MPL-2.0
tiny-js https://github.com/gfwilliams/tiny-js C++ MIT
image V8 https://v8.dev https://source.chromium.org/chromium/chromium/src/+/main:v8/ C++, JavaScript BSD ESNext
XS (Moddable SDK) https://www.moddable.com https://github.com/Moddable-OpenSource/moddable C LGPL-3 ES2021

Note ESNext indicates that the engine generally targets the latest ECMAScript standard without major exceptions.

Installers

  • esvu - esvu is your one-stop shop for all implementations of ECMAScript
  • jsvu - JavaScript (engine) Version Updater

Wrappers

  • eshost - A uniform wrapper around a multitude of ECMAScript hosts
  • eshost-cli - Run ECMAScript code uniformly across any ECMAScript host

Specifications

  • ECMA-262 - ECMAScript Language Specification
  • ECMA-402 - ECMAScript Internationalization API Specification

Testing

Test Suites

  • test262 - Official ECMAScript Conformance Test Suite
  • LibJS tests - Tests developed for LibJS with a Jest-like framework

Test Results

Test Runners

Transpilers

TODO: Babel, Sucrase, SWC

Websites

About

πŸ“„ Information and links related to ECMAScript engine/tooling development

Topics

Resources

License

Stars

Watchers

Forks