なつねこメモ

主にプログラミング関連のメモ帳 ♪(✿╹ヮ╹)ノ 書いてあるコードは自己責任でご自由にどうぞ。記事本文の無断転載は禁止です。

wait-on が Node.js 18 で動かない

先週は忙しすぎて死んでいた......。
ということで、本題の話。

Storybook を GitHub Actions で動かしたいとき、サンプルに npx wait-on tcp:6006 として他プロセスのサーバーが起動するのを待つ、というものがあるんですが、それが Node.js 18 だと一生終わりません。

サンプルにあるような下記のコマンドを Node.js 18 かつ GitHub Actions など特定の環境で行った場合、

$ npx concurrently -k -s first -n "SB,TEST" -c "magenta,blue" \
  "npx http-server storybook-static --port 6006 --silent" \
  "npx wait-on tcp:6006 && yarn test-storybook"

そのまま Ctrl+C で殺すか、タイムアウトするまで待ち続けます。
該当 Issue は下記の通りで、

コメントにあるように、

$ npx wait-on tcp:127.0.0.1:6006

などのようにすることで問題を回避することが可能です。
ただ、マシンによっては tcp:localhost:6006 ということもあるらしいですが、少なくとも GitHub Actions 環境では IP アドレスを指定することで回避可能です。
ということで、メモでした。