Skip to content

linusg/ecmascript-wiki

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

36 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
Bali https://github.com/ferus-web/bali Nim GPL-3.0
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
Yavashark https://github.com/Sharktheone/yavashark Rust MIT

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

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

Contributors 5