Writing
The Nub blog
Notes on the toolkit, the thesis, and what ships next.
Nub 0.4.8
A lockfile-compatibility fix for nested-map engines values in pnpm-lock.yaml, plus documentation updates.
ReadNub 0.4.7
Dependencies whose install scripts swap a JavaScript launcher for a native binary now run correctly.
ReadNub 0.4.6
Native text imports on Node 26.5+, automatic support for new experimental modules, and removal-safe flag injection.
ReadNub 0.4.5
Broader pnpm patch-key support, catalog and Homebrew-upgrade fixes, and a faster hoisted link pass.
ReadNub 0.4.4
NODE_ENV again selects .env files as a fallback, clamped to the canonical development, production, and test values for Next.js and Bun parity.
ReadNub 0.4.3
Installs the full workspace-member set in Yarn Berry monorepos, aborts on unrecognized bun.lock sources, and updates the docs and benchmark numbers.
ReadNode’s phantom dependency problem and the path to a 5x faster package manager
One copy of every package per machine, symlinked into every project — and the mechanisms that make that layout work across the ecosystem.
ReadNub 0.4.0
Nuxt 4 and VitePress run out of the box, and env-file mode is now selected by APP_ENV instead of NODE_ENV.
ReadNub 0.3.0
Undeclared (phantom) dependencies resolve out of the box, a unified nubx runs a file, script, local CLI, or registry package behind a consent-gated fetch, and more frameworks scaffold and run with no config change.
ReadNub 0.2.10
An unhandled worker failure is now fatal, matching Node's worker threads; a brand-boundary leak in package-manager config resolution is closed; and the post-target argument separator stays verbatim across every runner verb.
ReadNub 0.2.9: isolated node_modules by default
The default node_modules layout is now isolated for npm, Yarn, and Bun projects, backed by a global virtual store, alongside install-performance and diagnostics work.
ReadNub 0.2.8
Lockfile and linker fixes in the package-manager engine, a plain-JavaScript transpile fallback, and a trust-validation speedup.
ReadNub 0.2.7
Restores the upgrade path for sidecar-era 0.1.x installs, with warm-install store reuse, a lockfile-compatibility guard, and a watch-mode env-file fix.
ReadNub 0.2.6: reading legacy npm lockfiles
Nub reads the legacy npm lockfile formats it previously refused, with three smaller lockfile-compatibility fixes and a Homebrew install-path fix.
ReadNub 0.2.5
Adds the nub x spelling as a short alias of dlx, and corrects the run-a-package documentation.
ReadNub 0.2.4: a single self-contained binary
Nub now ships as a single self-contained binary with its runtime embedded, hardens self-provisioning and the embedded runtime, and quiets the install output.
ReadNub 0.2.3
A localStorage compatibility fix, two compat-floor polyfill families, a prebuilt Nix flake, and a startup-path speedup.
ReadNub 0.2.2
Project-source plain JavaScript is transpiled, the navigator global and Web Locks land on the compat floor, and the WPT slice expands.
ReadNub 0.2.1
Installs are resilient on resource-constrained CI and containers, and repeated work is shaved off the install and warm-cache paths.
ReadNub 0.2.0: Web Workers on stock Node
Nub adds the browser-standard Worker to stock Node — the same constructor and event surface you write for the web, with no Nub-specific API — and hardens package-manager compatibility across pnpm, yarn, and bun.
ReadNub 0.1.14
A Next.js and Turbopack build crash with Tailwind v4 is fixed, and npm's save-prefix is mirrored on add under an npm incumbent.
ReadNub 0.1.13
A fix for a false positive in the malicious-package check, where a bare, dist-tag, or range install could be wrongly blocked by an advisory on an older version.
ReadNub 0.1.12
Package-manager compatibility fixes — pnpm 11 monorepo installs and byte-identical bun lockfiles — an engine sync to 1.23.0, and a transpile-cache correctness fix.
ReadNub 0.1.11
Supply-chain hardening in CI, mechanized code-quality and brand-boundary lints, and a registry-trust fix for home-directory installs.
ReadNub 0.1.10
Package-manager compatibility fixes across bun and npm lockfiles, run and exec refinements, and a new Bun-to-Nub migration guide.
ReadNub 0.1.9
A package-manager configuration batch — an asymmetric global config model, pnpm 11 project-write alignment, and native implementations of the npm-only verbs.
ReadNub 0.1.8
A Node augmentation batch — an interactive-TUI hang fix, native-addon ESM imports, WebAssembly and ShadowRealm unflagging, and a tree-wide compatibility opt-out.
ReadNub 0.1.7
Global install aliases now work, install-family flags are pnpm-only, and help splits into a curated short form and a full reference.
ReadNub 0.1.6
Two reported correctness divergences fixed — duplicate SIGINT delivery on Ctrl-C, and a pnpm-generated patch that was wrongly rejected — plus output-prefix cleanup and site polish.
ReadNub 0.1.5
Package-manager fidelity — npm-lockfile round-trips and pnpm injected-dependency migration — with a tsconfig-cache crash fix and an internal Rust cleanup pass.
ReadNub 0.1.4
Lockfile compatibility across bun, yarn, npm, and pnpm — git dependencies, workspace members, and cross-tool conversions round-trip cleanly — plus release-profile performance tuning.
ReadNub 0.1.3
A CommonJS dynamic-import crash fix, a set of pnpm frozen-lockfile round-trip fixes, and package-manager compatibility tables on the docs site.
ReadNub 0.1.2
Package-manager, runtime, and installer fixes — lifecycle Node-version discovery, workspace resolution, and env-file parsing.
ReadNub 0.1.1
The first patch after launch — fresh-project identity on install, broader package-manager config compatibility, offline installs, and a dedicated nubx command grammar.
ReadIntroducing Nub: an all-in-one toolkit for Node.js
A Rust CLI that augments stock Node — TypeScript that just runs, a faster script runner, and a fast bin runner. It augments Node.js instead of trying to replace it.
Read