package quickjs

  1. Overview
  2. Docs

quickjs

quickjs is a set of OCaml bindings for QuickJS. QuickJS is a small and embeddable JavaScript engine. It supports the ES2020 specification including modules, asynchronous generators, proxies and BigInt.

The project exposes two libraries:

  • quickjs.bindings with the QuickJS C API.
  • The library quickjs which exposes a polished API on top of quickjs.bindings with the same shape as the JavaScript API.

Motivation

The purpose of this project is to provide the same behaviour as the JavaScript engines from browsers SpiderMonkey, JavaScriptCore, ChakraCore, v8) into OCaml. So code that runs in the browser (via Melange) can be run in native with the same results.

Status

This is a work in progress, and currently only includes bindings to RegExp (binded to libregexp.c).