This project is a compatibility layer and abstraction library for building native C++ addons for Node.js. It provides a consistent C++ API that allows a single codebase to compile against multiple versions of the V8 JavaScript engine by hiding version-specific differences behind macros and inline functions.
The toolkit differentiates itself through specialized wrappers and managers, including a monadic wrapper for handles to avoid explicit null checks, a persistent reference manager for objects that must survive handle scope disposal, and a buffer abstraction API for version-compatible memory management.
It covers a broad range of native development capabilities, including the wrapping of C++ classes as JavaScript objects, the execution of native tasks on background threads via asynchronous worker patterns, and the management of memory through handle scopes and garbage collection hooks. It also provides utilities for data type conversion, string encoding, and the execution of JavaScript scripts from native code.
This is a header-only library.