Nub es un kit de herramientas todo en uno para Node.js que amplía las capacidades del runtime estándar en lugar de sustituirlo, ofreciendo una experiencia de uso similar a Bun sobre Node sin cambios. Escrito en Rust, reúne en un único binario un ejecutor de archivos, un lanzador de scripts, un gestor de paquetes, un modo watch nativo, shims tipo Corepack y un gestor de versiones de Node. Su objetivo es eliminar el repetido arranque de Node que penaliza a herramientas como npx o pnpm dlx y centralizar las tareas habituales del desarrollo en JavaScript y TypeScript.
Entre sus funciones destacan la ejecución directa de archivos .ts, .tsx, .jsx, .mts y .cts sin paso de compilación, el soporte completo de TypeScript (incluidos enum, namespace, decoradores y emitDecoratorMetadata), la carga automática de archivos .env, loaders integrados para YAML, TOML, JSONC y JSON5, y polyfills para APIs modernas como Temporal, URLPattern, WebSocket o EventSource. Internamente incorpora oxc como motor nativo de transpilación.
Nub detecta la versión de Node requerida por el proyecto (mediante .node-version, .nvmrc, package.json#engines o devEngines), la instala si es necesario y la usa para ejecutar el código. En las pruebas publicadas, el comando nub run despacha scripts en 14,7 ms frente a los 329,9 ms de npm run y los 442,7 ms de pnpm run; nub install completa una instalación en 1.122 ms, frente a los 2.847 ms de pnpm, y nubx ejecuta binarios locales unas 19 veces más rápido que npx. Además, bloquea los postinstall por defecto, consulta osv.dev para detectar paquetes maliciosos y aplica un ReleaseAge mínimo de 24 horas. Se instala con un script de shell o mediante npm install -g @nubjs/nub.
