#quickjs #sys #quickjs-ng

sys libquickjs-ng-sys

QuickJS-NG Javascript Engine FFI bindings

5 releases

0.7.2 Jan 24, 2025
0.7.1 Jan 10, 2025
0.7.0 Jan 9, 2025
0.6.1 Jul 7, 2024
0.6.0 Jun 19, 2024

#15 in #sys

Download history 15/week @ 2024-10-11 2/week @ 2024-10-18 4/week @ 2024-11-01 3/week @ 2024-11-08 3/week @ 2024-11-15 4/week @ 2024-11-22 33/week @ 2024-11-29 52/week @ 2024-12-06 10/week @ 2024-12-13 1/week @ 2024-12-20 2/week @ 2024-12-27 82/week @ 2025-01-03 230/week @ 2025-01-10 15/week @ 2025-01-17 119/week @ 2025-01-24

446 downloads per month
Used in 7 crates (via quickjs-rusty)

MIT license

3MB
88K SLoC

C 81K SLoC // 0.0% comments JavaScript 6K SLoC // 0.0% comments Bitbake 455 SLoC // 0.1% comments Rust 112 SLoC // 0.1% comments Shell 13 SLoC C++ 1 SLoC

libquickjs-sys

FFI Bindings for quickjs-ng, a fork of quickjs, which is a Javascript engine.

See the quickjspp crate for a high-level wrapper.

Updating the embedded bindings

QuickJS sources and a pre-generated bindings.rs are included in the repo.

They are used if the embedded feature is enabled.

To update the bindings, follow these steps:

  • (Install just)
  • (Install bindgen-cli)
  • Update the download URL in ./justfile
  • run just update-quickjs

Tips:

You may encounter problems in generating bindings.rs like "FP_SUBNORMAL redefined here". That's the solution, but due that we execute bindgen in cli, we have to resolve them by hand.


lib.rs:

FFI Bindings for quickjspp, a Javascript engine. See the quickjspp crate for a high-level wrapper.

No runtime deps

~0–3MB
~48K SLoC