← すべての投稿に戻る

By Roxチーム

waku2bun2 - Bunネイティブ対応に向けた取り組み

「全てをBunネイティブに」というチャレンジ

「せっかくBunを使うなら、全てネイティブにできないか」——そんな思いから、WakuのBunネイティブ対応を目指すフォーク「waku2bun2」プロジェクトを開始しました 🚀

waku2bun2とは

waku2bun2は、React Server Components(RSC)フレームワークであるWakuをBunランタイムでネイティブに動作させることを目指すフォークプロジェクトです。

現在の技術的課題

検証の結果、現時点ではBunでのRSC対応に根本的な制限があることが判明しました。

react-server export conditionの未サポート

BunはまだNode.jsのreact-server export conditionをサポートしていません。これはReact Server Componentsの動作に必要な条件です。

error: No matching export in "react-dom/package.json" for import "react-dom"

このため、現時点では開発(dev)・ビルド(build)・実行(start)の全フェーズでNode.jsが必要です。

目指すゴール

waku2bun2では、Bunの対応が進み次第以下を実現することを目指しています:

  • 開発時 - bun waku devでBunネイティブにホットリロード
  • ビルド時 - bun waku buildでBunネイティブにビルド
  • 実行時 - bun waku startでBunネイティブにサーバー起動

今後の予定

  1. Bun本体のRSC対応をウォッチ - react-server export conditionのサポート状況を追跡
  2. 対応が進み次第waku2bun2を更新 - Bunの成熟に合わせて実装を進める
  3. 問題がなければ本家Wakuへ統合 - 安定性が確認できればアップストリームへコントリビュート

関連リンク

Bunの進化と共に、このプロジェクトも前進していきます。

愛がロックする。Rox。 💜