An all-in-one toolkit for Node.js. One Rust binary to run your files and scripts, install dependencies, and manage Node itself — a Bun-like modern DX on top of the node you already have. There's no new runtime to adopt and no lock-in: every augmentation rides on Node's own public extension surfaces.
What's new in 0.9.7
Nub 0.9.7 runs each nub --test file once again, keeps the full manifest of URL, git and file: dependencies, and fixes two compat-mode launch failures. Runtime ──────────────────────┬──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬─────────────────────────── Area │What changed │Link ──────────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼─────────────────────────── nub --test │Each test file runs once. 0.9.5 and 0.9.6 ran every test file twice. │#993 ──────────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼─────────────────────────── Threadpool startup │libuv's threadpool is built on a private loop, so user code no longer sees a startup fs.access request: process.getActiveResourcesInfo() and async_hooks match plain Node, and the event loop exits on the same │#993 │turn. │ ──────────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼─────────────────────────── Deleted array iterator│A script that deletes Array.prototype[Symbol.iterator] and then imports a module no longer crashes in Nub's load hook. │#993 …