Enumerating and analyzing 40 non-V8 JavaScript implementations

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • ChakraCore

    ChakraCore is an open source Javascript engine with a C API.

  • I am astonished at the omission of ChakraCore, open sourced by Microsoft but sadly abandoned by them after they switched Edge to Chromium: https://github.com/chakra-core/ChakraCore. But it looks like it’s still chugging along as a community effort rather than being completely abandoned.

  • test262

    Official ECMAScript Conformance Test Suite

  • I have used a few js engines in the past (nashorn, rhino, otto) and all had problems with missing edge cases in the APIs or really weird quirks in the interop with the host environment.

    https://github.com/tc39/test262 is the ecma test suite.

    rhino for example has extensive gaps:

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • rhino

    Rhino is an open-source implementation of JavaScript written entirely in Java

  • https://github.com/mozilla/rhino/blob/master/testsrc/test262...

    It is really frustrating that in the end, there aren't really that many actually compliant implementations. Especially implementing the exact regex behaviour.

  • engine262

    An implementation of ECMA-262 in JavaScript

  • Interesting to see a JS implementation written in JS:

    https://github.com/engine262/engine262/

    (The readme explains what the point of it is.)

  • Jint

    Javascript Interpreter for .NET

  • mjs

    ECMAScript Interpreter (by mras0)

  • I made a toy ECMAScript interpreter a couple of years ago: https://github.com/mras0/mjs

    Not really notable, expect perhaps being the only one on the list with an ES1 mode? :) (Can't promise it's accurate though, as it was hard to find examples).

    Otherwise pretty boring (C++, hand-written parser, AST interpreter, ES1/ES3/ES5.1 support minus some regexp/timezone/locale stuff).

  • qtdeclarative

    Qt Declarative (Quick 2)

  • Ok sweet I see now. They used JavaScriptCore until 2011 or so, switched to V8 until 2013, and have been using their own implementation, q4, since then. The source code seems to be here: https://github.com/qt/qtdeclarative/tree/dev/src/qml/jsrunti....

    Thanks! Will add and be live shortly.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts