Nub
What it is
Nub is a free, open-source Rust toolkit for running TypeScript, JSX, and JavaScript on the stock Node binary without a separate build step. It supports modern syntax, tsconfig.json, environment files, and data-file imports, and can load .env files with variable expansion. A watch command restarts applications when entrypoints or imported files change. Nub reads Node version pins from project files or engines settings and downloads the requested version when needed. Its script runner handles lifecycle hooks, npm_* variables, forwarded arguments, and workspace filters. The installer works with npm, pnpm, and Bun lockfiles; Yarn lockfiles are read-only. Dependency build scripts are denied by default, OSV advisories are checked, and releases younger than 24 hours are held back, with nub approve-builds for review. Nub includes nubx, GitHub Actions, an official container image, and deployment guides. It supports Linux, macOS, and Windows on listed x64 and arm64 systems.
For and against
For
- Runs TypeScript without a separate build step
- Manages project-pinned Node versions
- Supports npm, pnpm, and Bun lockfiles
- Blocks dependency build scripts by default
- Provides GitHub Action and container image
Against
- Yarn lockfiles are read-only
- Augmented modes require Node 18.19 or newer
- No free trial is offered
- Supported systems are limited to listed architectures
The verdict
Nub brings runtime, script, package, and Node-version tasks together while retaining stock Node compatibility. Its safety defaults and broad workflow integrations are useful, with Yarn write support absent.
Who it suits
Nub suits developers who want Node-compatible TypeScript execution, project Node management, and package workflows in one toolkit. It also fits teams using workspaces, CI, containers, or deployment guides.
On the record
- CI integration
- Nub provides a GitHub Action that installs Nub, warms the project's Node version, and caches Nub's store in CI.nubjs.com · read 4 Oct 2026
- CLI runner
- nubx runs local command-line tools or fetches tools that are not installed, following a local-first model like npx.nubjs.com · read 4 Oct 2026
- Container integration
- The documentation provides an official container image at ghcr.io/nubjs/nub.nubjs.com · read 4 Oct 2026
- Environment files
- It loads .env files automatically and supports variable expansion.nubjs.com · read 4 Oct 2026
- Environment support
- When Nub detects a Varlock .env.schema file, it disables its own environment loading and uses Varlock to load and validate the environment.nubjs.com · read 4 Oct 2026
- Install approval
- Users can review and enable skipped install scripts with the nub approve-builds command.nubjs.com · read 4 Oct 2026
- Integrations
- The documentation lists a GitHub Action and deployment guides for Docker, Vercel, Cloudflare, Railway, Render, AWS Lambda, and Google Cloud Run.nubjs.com · read 4 Oct 2026
- License
- The site links the project license as MIT.nubjs.com · read 4 Oct 2026
- Node compatibility
- Nub runs code on the stock Node binary and describes its file command as flag-for-flag compatible with node.nubjs.com · read 4 Oct 2026
- Node management
- Nub can read version pins from .node-version, .nvmrc, or engines/devEngines and download the requested Node version on demand.nubjs.com · read 4 Oct 2026
- Node version management
- Nub can provision the Node version pinned by a project, downloading it from nodejs.org when it is not already installed.nubjs.com · read 4 Oct 2026
- Package ecosystem support
- Nub documents compatibility with npm, pnpm, Yarn, and Bun package-manager workflows, while its installer writes existing npm, pnpm, or bun lockfiles and treats yarn.lock as read-only.nubjs.com · read 4 Oct 2026
- Package manager
- Nub install is a pnpm-compatible package manager that can round-trip npm, pnpm, and bun lockfiles; Yarn lockfiles are read-only.nubjs.com · read 4 Oct 2026
- Package manager compatibility
- The installer reads and writes npm, pnpm, or Bun lockfiles; Yarn lockfiles are read-only.nubjs.com · read 4 Oct 2026
- Product
- Nub is a Rust toolkit that runs TypeScript files and scripts, installs dependencies, and manages Node.js on stock Node.nubjs.com · read 4 Oct 2026
- Requirements
- Augmented modes require Node 18.19 or newer and support macOS, Linux, and Windows on the listed x64 and arm64 architectures.nubjs.com · read 4 Oct 2026
- Runtime
- It runs TypeScript, JSX, and JavaScript files on the stock Node binary without requiring a separate build step.nubjs.com · read 4 Oct 2026
- Script runner
- The script runner supports package lifecycle hooks, npm_* environment variables, argument forwarding, and pnpm-style workspace filters.nubjs.com · read 4 Oct 2026