β‘ The small quick embeddable JavaScript runtime
π Friendly & cooperative fork of bellard/quickjs
// TODO: Add example code |
// TODO: Add example code
import {} from "std";
import {} from "os";
console.log(`Hello ${}`); |
QuickJS website | QuickJS Next Generation website
π€ Small project
β± Super quick startup time
πββοΈ Speedy enough for your needs
π¨ Super-duper easy to embed in your own program
π Has bindings for many other programming languages
π You might be looking for language-specific bindings and packages such as those for Rust, C++, Python, Go, WebAssembly, JavaScript, or others.
The simplest way to get your hands on QuickJS Next Generation is to use the precompiled binaries and library artifacts from the GitHub releases page. The easiest way is to use a pre-packaged release via a C package manager/system like CPM.cmake, Conan, or Vcpkg.
# TODO: Add CMake example
TODO: Reformat this prose into a <dl>
You can also install & add this project using your other favorite C package management strategy. The public headers are in include/
and there's a CMakeLists.txt
ready for use as a subproject. The project produces a qjs
/qjs.exe
and qjsc
/qjsc.exe
binary artifact along with a libqjs.a
/qjs.lib
static library artifact.
In October 2023 @bnoordhuis and @saghul decided to fork the QuickJS project with the aim of reigniting it. They reached out to the original authors (@bellard and @chqrlie) about their intentions.
As of December 2023 the initial goal was somewhat accomplished. @bellard resumed working on the project and both parties have been pulling patches from each other since.
As of early 2024 both projects agree the proper path forward involves merging both projects and combining the efforts. While that may take a while, since both projects diverged in certain areas, there is willingness to go in this direction from both sides.