Команда разработчиков представила Nub — универсальный инструмент для Node.js, написанный на Rust. Он не заменяет сам Node, а расширяет его, добавляя возможности, знакомые по Bun и Deno: полная поддержка TypeScript и JSX, автоматическая загрузка .env, встроенные загрузчики для YAML и TOML, полифиллы для Temporal, Worker и URLPattern, а также снятие флагов с экспериментальных API вроде node:sqlite, WebSocket и localStorage.
Nub run работает как замена npm run и pnpm run. Rust-бинарник запускается мгновенно, без загрузки Node.js, поэтому команды стартуют за миллисекунды — замеры показывают 14,7 мс против 329 мс у npm и 442 мс у pnpm. Полная поддержка pre/post-хуков, переменных npm_* и workspace-команд pnpm с теми же флагами --filter, --parallel, --stream.
Package runner nubx заменяет npx и pnpm dlx. Он сначала ищет пакет локально в node_modules/.bin, а при отсутствии загружает из реестра, запускает и удаляет. nubx esbuild --version выполняется за 11 мс — в 19 раз быстрее npx и почти в 17 раз быстрее pnpm exec.
nub install — полноценный менеджер пакетов на движке Aube. Он совместим с pnpm-флагами, но почти в 2,5 раза быстрее pnpm и в 3,7 раза быстрее npm при холодной установке. При запуске в проекте Nub определяет incumbent (текущий менеджер по lock-файлу или packageManager в package.json) и читает только его конфиги — pnpm-lock.yaml, .npmrc, yarn.lock, bun.lock. Функции безопасности включены по умолчанию: блокируются postinstall-скрипты, проверка базы уязвимостей osv.dev, запрет на понижение provenance, минимальный возраст релиза 24 часа.
nub pm — аналог Corepack на Rust, который ставит и запускает нужную версию pnpm, npm или yarn по файлам проекта. nub node — встроенный менеджер версий Node: автоустановка по .nvmrc или engines, ручные команды install, ls, uninstall, pin.
Инструмент целиком распространяется под лицензией MIT. Для GitHub Actions есть готовый экшен nubjs/setup-nub, совместимый с actions/setup-node.