ディスカッション (11件)
作者のColinです。長年温めてきたアイデアをついに形にしました。Nubは、既存のnodeコマンドでコードを実行する際、--requireによるプリロードフック[0]を使って機能を拡張するオールインワンツールキットです。内部ではoxcベースのトランスパイラがNode-APIアドオンとして動作し、モジュール解決フック[1]を登録し、WorkerやTemporalといった必要なAPIのポリフィルを自動注入します。すべてが純粋な追加機能であり、コード自体はNode.jsのエンジンと標準ライブラリでそのまま動きます。技術的な詳細はこちらをどうぞ。[0] https://nodejs.org/api/cli.html#-require-module [1] https://nodejs.org/api/module.html#moduleregisterhooksoptions
モノレポ全体をnubに移行するPRをマージしたところ。トラブルゼロだし、めちゃくちゃ速いよ。
賢いね。最初からRustで書かれていれば、雰囲気コーディングでRustへ移行して顧客を失うこともないしな。
Twitterで見て最高だと思ったよ。Colin、素晴らしい動きだね。このプロジェクトがこれからどんどん盛り上がることを期待してる!
既存の技術を再発明して改悪するんじゃなくて、活用する姿勢にはリスペクトしかない。もし代替ツールを作る労力を全部Node(の適切なリーダーシップ)に注いでいたら、今頃どうなっていただろうね。
--importじゃなくて--requireフックを使ってるのには驚いた。自分が似たような機能の実装を調べてた時からは状況が変わったのかもしれないけど……nubのESMサポートにおける細かい挙動が気になるところだね。(自分が調べたのはNodeの--importが導入された初期段階だったけど、ESMからCJSへの変換で解決したいエッジケースがいくつかあったんだ。ほとんどはすごくニッチな話だったかもしれないけど、トップレベルawaitは多くのユーザーに影響するだろうしね。)
これってバックエンドのプロダクション環境で動かしてもいいやつ?それともまだトランスパイルやバンドルが必要?パフォーマンスやメモリのオーバーヘッドは無視できるレベルなのか、あと攻撃対象領域が増える懸念点なんかはどうなってるんだろう。
実際かなり良いと思う!どれも素晴らしい選択だ。
すごくクールなアイデアで理にかなってる。Bunの方が機能(DBドライバとか)は多いけど、開発体験(DX)が魅力の大きな部分を占めてるね。参考までに、Nubのメイン作者はZodを作って、一時期Bunでも働いていたColin McDonnellだよ。
Nodeってここ数バージョンでTypeScriptを実行できるようになったんじゃなかったっけ?なんでトランスパイラが必要なの?
n00bを「nub」って発音する人を知ってるから、なんか笑えるんだよね。(意図的なのかな?)