package quickjs

  1. Overview
  2. Docs
Bindings for QuickJS (a Javascript Engine to be embedded https://bellard.org/quickjs)

Install

Dune Dependency

Authors

Maintainers

Sources

quickjs-0.1.1.tbz
sha256=678b5048d688ffa7cd3a79b528edb542b28d0eb49cb83d8dd95361634412ac33
sha512=f4936afb14e70b699685ad32fa6ca1b31fdf1d3fcd4a3dd614151f640071e6a26a11d5a49cd1d1a0e13e502b647cdd2bd87d4435a5d84ebde86ffb193c425645

Description

Published: 07 Mar 2024

README

quickjs

quickjs.ml 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

  • 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.

Documentation

API reference

Status

This is a work in progress, and currently only includes bindings to RegExp (binded to libregexp) check the to bind issues from the issue tracker.

Dependencies (4)

  1. ctypes
  2. integers
  3. ocaml >= "5.0.0"
  4. dune >= "3.8"

Dev Dependencies (5)

  1. ocamlformat = "0.26.1" & with-test
  2. ocaml-lsp-server with-test
  3. odoc with-doc
  4. fmt with-test
  5. alcotest with-test