{"id":13838079,"url":"https://github.com/linusg/ecmascript-wiki","last_synced_at":"2025-08-19T21:17:04.134Z","repository":{"id":180969926,"uuid":"658015150","full_name":"linusg/ecmascript-wiki","owner":"linusg","description":"📄 Information and links related to ECMAScript engine/tooling development","archived":false,"fork":false,"pushed_at":"2025-01-27T17:49:57.000Z","size":37,"stargazers_count":16,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-16T22:11:50.786Z","etag":null,"topics":["documentation","ecma-262","ecmascript","javascript","js","wiki"],"latest_commit_sha":null,"homepage":"https://ecmascript.wiki","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/linusg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-06-24T13:58:02.000Z","updated_at":"2025-04-09T10:25:46.000Z","dependencies_parsed_at":"2024-04-17T19:26:30.863Z","dependency_job_id":"f5f32033-908f-4055-bf60-0bfc3cf1225f","html_url":"https://github.com/linusg/ecmascript-wiki","commit_stats":null,"previous_names":["linusg/ecmascript-wiki"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/linusg/ecmascript-wiki","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linusg%2Fecmascript-wiki","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linusg%2Fecmascript-wiki/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linusg%2Fecmascript-wiki/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linusg%2Fecmascript-wiki/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/linusg","download_url":"https://codeload.github.com/linusg/ecmascript-wiki/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linusg%2Fecmascript-wiki/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271223173,"owners_count":24721613,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-19T02:00:09.176Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["documentation","ecma-262","ecmascript","javascript","js","wiki"],"created_at":"2024-08-04T15:01:36.304Z","updated_at":"2025-08-19T21:17:04.088Z","avatar_url":"https://github.com/linusg.png","language":null,"funding_links":[],"categories":["Others"],"sub_categories":[],"readme":"# ECMAScript Wiki\n\nThis is a collection of information and links intended to be useful to developers of ECMAScript engines and tooling. Pull requests are most welcome! :^)\n\n## Engines\n\n| Logo | Name | Website | Source code | Implementation Language | License | Supported ES version |\n|------|------|---------|-------------|-------------------------|---------|----------------------|\n| | Bali | | https://github.com/ferus-web/bali | Nim | GPL-3.0 | |\n| | BESEN | | https://github.com/BeRo1985/besen | Object Pascal | LGPL-2.1 | ES5 |\n| \u003cimg width=\"32\" src=\"https://boajs.dev/img/new_logo_yellow.svg\"\u003e | Boa | https://boajs.dev | https://github.com/boa-dev/boa | Rust | MIT | |\n| | ChakraCore | | https://github.com/chakra-core/ChakraCore | C++ | MIT | |\n| | Duktape | | https://github.com/svaarala/duktape | C | MIT | ES5.1, [ES6/7 (partial)](https://wiki.duktape.org/postes5features) |\n| | Elk | | https://github.com/cesanta/elk | C | AGPL-3 | subset of ES6 | \n| \u003cimg width=\"32\" src=\"https://avatars.githubusercontent.com/u/51185628\"\u003e | engine262 | https://engine262.js.org | https://github.com/engine262/engine262 | JavaScript | MIT | ESNext |\n| | Escargot | | https://github.com/Samsung/escargot | C++ | LGPL-2.1 | ES2020 |\n| \u003cimg width=\"32\" src=\"https://www.espruino.com/press/logo_square_blur.png\"\u003e | Espruino | https://www.espruino.com | https://github.com/espruino/Espruino | C | MPL-2.0 | |\n| | Flathead | | https://github.com/ndreynolds/flathead | C | MIT | |\n| | goja | | https://github.com/dop251/goja | Go | MIT | ES5.1 |\n| | GraalJS (GraalVM JavaScript) | https://www.graalvm.org/dev/reference-manual/js/ | https://github.com/oracle/graaljs | Java | UPL-1.0 | ESNext |\n| \u003cimg width=\"32\" src=\"https://raw.githubusercontent.com/facebook/hermes/main/doc/img/logo.svg\"\u003e | Hermes | | https://github.com/facebook/hermes | C++ | MIT | [ES6 with some exceptions](https://github.com/facebook/hermes/blob/main/doc/Features.md) |\n| | Higgs | | https://github.com/higgsjs/Higgs | D | | |\n| | iv | | https://github.com/constellation/iv | C++ | BSD-2-Clause | ES5.1 |\n| | JavaScriptCore | https://trac.webkit.org/wiki/JavaScriptCore | https://github.com/WebKit/WebKit/tree/main/Source/JavaScriptCore | C++, JavaScript | LGPL-2.1 | ESNext |\n| \u003cimg width=\"32\" src=\"https://github.com/jerryscript-project/jerryscript/blob/master/LOGO.png\"\u003e | JerryScript | https://jerryscript.net | https://github.com/jerryscript-project/jerryscript | C | Apache-2.0 | ES5.1 |\n| | Jint | | https://github.com/sebastienros/jint | C# | BSD-2-Clause | ESNext |\n| | Js2Py | http://piter.io/projects/js2py | https://github.com/PiotrDabkowski/Js2Py | Python | MIT | ES5.1 |\n| | JS-Interpreter | | https://github.com/NeilFraser/JS-Interpreter | JavaScript | Apache-2.0 | |\n| \u003cimg width=\"32\" src=\"https://files.kiesel.dev/img/kiesel-bg.png\"\u003e | Kiesel | https://kiesel.dev | https://codeberg.org/kiesel-js/kiesel | Zig | MIT | |\n| \u003cimg width=\"32\" src=\"https://lh5.googleusercontent.com/J4azFveGFjfodaKPscuiL6AmtEp4TPYlmYwV1Rp09NrqH6KJZR73fmD_8XoH4uQpape7P8HxsmoRTOkAGNnSm0hFCWU_VyDydDgZ03rU0kMdySovQPoICI0beqfNlkC3NWNLv_A-zbvpPBVhyjljakhAww=s2048\"\u003e | LibJS | https://libjs.dev | https://github.com/SerenityOS/serenity/tree/master/Userland/Libraries/LibJS | C++ | BSD-2-Clause | ESNext |\n| | mJS | https://mongoose-os.com | https://github.com/cesanta/mjs | C | GPL-2 | subset of ES6 |\n| \u003cimg width=\"32\" src=\"https://mujs.com/images/MuJS_logo_lr.png\"\u003e | MuJS | https://mujs.com | https://git.ghostscript.com/?p=mujs.git | C | ISC | ES5 |\n| | Nashorn | https://openjdk.org/projects/nashorn | https://github.com/openjdk/nashorn | Java | GPL-2.0 | subset of ES6 |\n| | njs | https://nginx.org/en/docs/njs/ | https://github.com/nginx/njs | C | BSD-2-Clause | [ES5.1, ES6+ (partial)](https://nginx.org/en/docs/njs/compatibility.html) |\n| \u003cimg width=\"32\" src=\"https://avatars.githubusercontent.com/u/108045716?s=32\"\u003e | Nova | | https://github.com/trynova/nova | Rust | | |\n| | Otto | | https://github.com/robertkrimen/otto | Go | MIT | ES5 |\n| \u003cimg width=\"32\" src=\"https://raw.githubusercontent.com/CanadaHonk/porffor/main/logo.png\"\u003e | Porffor | https://porffor.goose.icu | https://github.com/CanadaHonk/porffor | JavaScript | MIT | |\n| | QtJsEngine/Qv4 | https://doc.qt.io/qt-6/qjsengine.html | https://code.qt.io/cgit/qt/qtdeclarative.git/tree/src/qml | C++ | LGPL | |\n| | QtScript | https://doc.qt.io/qt-5/qtscript-index.html | https://code.qt.io/cgit/qt/qtscript.git | C++ | LGPL | |\n| | QuickJS | https://bellard.org/quickjs/ | https://github.com/bellard/quickjs | C | MIT | ES2020 |\n| | Reeva | | https://github.com/ReevaJS/reeva | Kotlin | BSD-2-Clause | |\n| | Rhino | https://mozilla.github.io/rhino | https://github.com/mozilla/rhino | Java | MPL-2.0 | subset of ES6 |\n| \u003cimg width=\"32\" src=\"https://raw.githubusercontent.com/mozilla-spidermonkey/spidermonkey.dev/production/assets/img/spidermonkey-small.svg\"\u003e | Spidermonkey | https://spidermonkey.dev | https://searchfox.org/mozilla-central/source/js | C++, Rust, JavaScript | MPL-2.0 | ESNext |\n| | Starlight | https://teletype.in/@starlight-js | https://github.com/Starlight-JS/starlight | Rust | MPL-2.0 | |\n| | tiny-js | | https://github.com/gfwilliams/tiny-js | C++ | MIT | |\n| ![image](https://v8.dev/_img/v8-outline.svg) | V8 | https://v8.dev | https://source.chromium.org/chromium/chromium/src/+/main:v8/ | C++, JavaScript | BSD | ESNext |\n| | XS (Moddable SDK) | https://www.moddable.com | https://github.com/Moddable-OpenSource/moddable | C | LGPL-3 | ES2021 |\n| | Yavashark | | https://github.com/Sharktheone/yavashark | Rust | MIT | |\n\n\u003e **Note**\n\u003e _ESNext_ indicates that the engine generally targets the latest ECMAScript standard without major exceptions.\n\n### Installers\n\n- [esvu](https://github.com/devsnek/esvu) - esvu is your one-stop shop for all implementations of ECMAScript\n- [jsvu](https://github.com/GoogleChromeLabs/jsvu) - JavaScript (engine) Version Updater\n\n### Wrappers\n\n- [eshost](https://github.com/bterlson/eshost) - A uniform wrapper around a multitude of ECMAScript hosts\n- [eshost-cli](https://github.com/bterlson/eshost-cli) - Run ECMAScript code uniformly across any ECMAScript host\n\n## Specifications\n\n- [ECMA-262](https://tc39.es/ecma262) - ECMAScript Language Specification\n- [ECMA-402](https://tc39.es/ecma402) - ECMAScript Internationalization API Specification\n\n## Testing\n\n### Test Suites\n\n- [test262](https://github.com/tc39/test262) - Official ECMAScript Conformance Test Suite\n- [Spidermonkey tests](https://searchfox.org/mozilla-central/source/js/src/tests/non262) - Spidermonkey's own test suite\n- [LibJS tests](https://github.com/SerenityOS/serenity/tree/master/Userland/Libraries/LibJS/Tests) - LibJS's own test suite\n\n### Test Results\n\n- [test262.fyi](https://test262.fyi) - Daily runner of test262 for many engines\n- [test262.report](https://test262.report) - test262 results for various engines (defunct as of 2022-09)\n- [boajs.dev/conformance](https://boajs.dev/conformance) - test262 results for Boa\n- [porffor.dev/#test262_percent](https://porffor.dev/#test262_percent) - test262 results for Porffor\n- [ladybirdbrowser.github.io/libjs-website/test262](https://ladybirdbrowser.github.io/libjs-website/test262) - test262 results for Ladybird's LibJS (AST, bytecode, parser tests)\n\n### Test Runners\n\n- [bterlson/test262-harness](https://github.com/bterlson/test262-harness) - Experimental harness for test262, uses eshost\n- [linusg/libjs-test262](https://github.com/linusg/libjs-test262) - test262 runner for LibJS\n- [LibJS `test-js`](https://github.com/SerenityOS/serenity/blob/master/Tests/LibJS/test-js.cpp) - Custom test runner for the LibJS tests\n\n## Transpilers\n\nTODO: Babel, Sucrase, SWC\n\n## Websites\n\n- [ECMAScript proposals](https://github.com/tc39/proposals)\n- [TC39](https://tc39.es) - Ecma TC39 committee standardizing ECMAScript\n- [WinterCG](https://wintercg.org) - Web-interoperable Runtimes Community Group\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinusg%2Fecmascript-wiki","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinusg%2Fecmascript-wiki","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinusg%2Fecmascript-wiki/lists"}