Not a simple rewrite, but neither a task that require a C wizard...
The current version of libui-node implements C++ classes that wraps libui C function. They are exposed directly to JS.
This experiment implements N-API C functions that wraps libui C function. Then, a set of JS classes wrap them, offering the same public API as libui-node.
Currently, I implemented windows, boxes, and multiline entry. I have to compare this experiment with the curent implementation in terms of erformance, memory consuption etc. before to decide to continue with N-API or not.
And now with NAPI [1] it should be easier than ever to make node modules!
[1] https://nodejs.org/api/n-api.html#n_api_n_api