概要
Nub は、Node.jsを拡張する オールインワンツールキット。 Bun のような開発体験を Rust製バイナリ で提供。 Node.js本体を置き換えず、 高速 ・高互換性・ロックインなし。 ランタイム、スクリプト実行、依存管理、Nodeバージョン管理を一括提供。 npm/pnpm/yarn/Bunとの 高い互換性 を維持。
Nubの特徴とコマンド概要
- Node.js拡張型ツールキット、Node本体はそのまま利用
- TypeScriptファースト のランタイム
nub index.tsでTypeScript/JSXを即時実行
- スクリプト高速実行
nub run devでpnpm runの24倍速
- パッケージ実行高速化
nubx prisma generateでnpxの19倍速
- 依存インストール高速化
nub installでpnpm installの2.5倍速
- ネイティブウォッチモード
nub watch src/server.tsで自動再起動
- Nodeバージョン管理
nub node install 26でバージョン指定・自動インストール
- 自己アップデート
nub upgradeでワンクリック更新
- ロックイン・独自APIなし
- Node.jsの標準API・エコシステムをそのまま利用
Nubと既存ツールの対応表
nub <file>→ node, tsx, ts-node, dotenv-clinub run <script>→ npm run, pnpm runnubx→ npx, pnpm dlx / execnub install→ npm, pnpmnub watch→ nodemon, node --watch, tsx watchnub node→ nvm, fnm, n, voltanub pm→ corepack
インストール方法
- macOS/Linux
curl -fsSL https://nubjs.com/install.sh | bash - Windows (PowerShell)
irm https://nubjs.com/install.ps1 | iex - Homebrew
brew install nubjs/tap/nub - npm/pnpm/yarnグローバル
npm install -g --ignore-scripts=false @nubjs/nub - GitHub Actions対応
- uses: nubjs/setup-nub@v0でactions/setup-nodeと置き換え可能
ファイルランナー — nub <file>
.js,.ts,.jsx,.tsxなどを即時実行- node互換のフラグ・環境変数対応
- TypeScriptフルサポート (enum, namespace等)
- 拡張子省略import、
tsconfig.json#paths対応 - JSX/TSX対応
- デコレーター対応
- .env自動ロード (Next.js/Vite同等)
- .yaml, .toml, .jsonc等のデータローダ内蔵
- 最新構文・APIの自動ポリフィル/アンフラグ
- tsx比2.9倍高速な起動
Nodeバージョン自動推論・プロビジョニング
- プロジェクトに必要なNodeバージョンを自動判定・インストール
- 優先順:
NODE_EXECUTABLE→package.json#devEngines→.node-version→.nvmrc→package.json#engines - Nub自身がNodeをダウンロード・キャッシュ
モダンAPI自動対応
- Node未実装APIは自動ポリフィル
- 例:Temporal, URLPattern, RegExp.escape, Promise.try, navigator.locksなど
- 実験的APIは自動アンフラグ
- 例:vm.Module, ShadowRealm, WebSocket, EventSource, node:sqliteなど
- Nodeバージョンに応じて自動切り替え
ウォッチモード
- 依存グラフ解析による自動再起動
.env*,tsconfig.json,package.json等も監視- Node標準の
--watchエンジンを利用、出力も保持
スクリプトランナー — nub run
- npm/pnpm run完全互換・超高速
- Rustバイナリで起動ラグほぼゼロ(14ms)
- pre/post hooks, npm_*環境変数完全対応
- workspace, --filter, --parallel等pnpm機能全対応
- ローカルnode_modules/.binを自動パス追加
パッケージランナー — nubx / nub dlx
- npx/pnpm dlx完全互換・超高速
- ローカルbin優先、未インストール時はレジストリから即時取得・実行
- Node多重起動ペナルティなし
- pnpm exec/dlxの全フラグ対応
- ワークスペース内binの自動解決
パッケージマネージャ — nub install
- Aubeエンジン採用の超高速パッケージ管理
- pnpm互換CLI (フラグ・コマンド全対応)
- npm/pnpm/yarn/bunのロックファイル・設定自動認識
- postinstallブロック・既知の悪質パッケージ自動検出
- リリース直後パッケージ自動拒否(24時間)
- compat-modeで既存マネージャの設定・環境変数を尊重
- .npmrc, npm_config_*等も適切に読込
パッケージメタマネージャ — nub pm
- Corepack互換のパッケージマネージャプロビジョニング
nub pm shimでグローバルshim登録- プロジェクトごとにnpm/yarn/pnpmのバージョン自動切替・実行
- Corepack本体不要、Rust製で高速・安全
Nodeバージョンマネージャ — nub node
- Nodeバージョンの手動管理も可能
nub node install <version>で任意バージョン取得nub node lsでキャッシュ済み一覧表示nub node uninstall <version>で削除nub node pin <version>でプロジェクト固定
ライセンス・作者
- MITライセンス
- 作者: Colin (Nubの開発者)
- Node.jsの--requireプリロードフック と モジュール解決フック で純粋なNode拡張
- oxcトランスパイラ をNode-APIアドオンとして組み込み
- Node.js本体・標準APIをそのまま利用、完全な後方互換性
Nub はNode.jsエコシステムの既存資産を活かしつつ、 BunやDenoの快適さ・高速さ を現場に持ち込む、 実用志向の次世代ツールキット。 ロックインなし・高互換・爆速。Node.jsユーザーにとって今最も注目すべき選択肢。