A preview version of Monoucha, a high-level QuickJS wrapper, has been released:
https://git.sr.ht/~bptato/monoucha
Monoucha is aimed at projects that wish to embed the QuickJS engine with relatively little effort and/or changes to their existing code.
It is not a goal of the project to abstract away the entire QuickJS API; you are encouraged to reach for that when needed. Instead, Monoucha builds on top of it, providing useful macros and functions for otherwise tedious operations:
As a bonus, I have also included a simple wrapper of the QuickJS regex engine in the jsregex module. (To-do: this is still undocumented.)
Note that Monoucha uses a custom fork of QuickJS for better integration with the Nim runtime. I expect this to remain the case for the foreseeable future.
Apart from QJS, the only dependency of Monoucha is nim-results.
Of course, I wouldn't be calling it a "preview version" if it didn't come with some caveats:
Nevertheless, I have been using what is now Monoucha for a long time. I am releasing this version in the hope that it will be useful to others in its current form too.