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.0.tbz
sha256=bd0ada2cea7051f0d359310bfc6e67453ffc3057e158c4abefc6ba9073d4f1ce
sha512=bfda4ad6d72f27323eac592e2eff4fdab23f465f4a2fcad4743e0654ec18030bed952aec0c27c0b4ed43833c1c97ea4364b4ad563d9b2213aa851fdf3d06f394

Description

Published: 05 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 (5)

  1. ctypes
  2. integers
  3. reason >= "3.10.0"
  4. ocaml >= "5.0.0"
  5. 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

Used by (1)

  1. universal-portal