🔧

Supabase v2.49にて、ReactNative のビルドが失敗(Node.js stream 標準ライブラリ起因)

に公開

ReactNativeでアプリの開発をしている。バックエンドにはSupabaseを利用している。

手元のパッケージのバージョンは以下のような感じ。

"@supabase/supabase-js": "2.49.4",
"react-native": "0.79.2",

この状態で npm run start を実行し、ExpoGoで確認しようとしたところ、以下のエラーが出た。

The package at "node_modules\ws\lib\stream.js" attempted to import the Node standard library module "stream"

利用しているパッケージが Node.js の標準ライブラリである stream に依存してしまっているらしい。
そして、Expo の ReactNative 実行環境は Node.js ではないので、エラーが発生してしまう。ということらしい。

Claude に聞いたところ、metro.config.js を作成し、stream のポリフィルを設定するべきと提案された。

一方で、検索したらこのような Issue がヒットした。
https://github.com/supabase/supabase-js/issues/1400
Supabaseチームが問題に対応している、と言っている。

試しに npm update @supabase/supabase-js をしてみたところ、無事に問題は解決。ExpoGo上でアプリが起動できた。

問題解決後のバージョンは以下の通り。(ついでにReactNativeもアップデートした)

"@supabase/supabase-js": "2.50.0",
"react-native": "0.79.3",

Discussion