React Tokyo ミートアップ #15


実績解除:OSSコントリビュート V2


ぶりお @burio_16

ぶりおの写真

自己紹介

  • ぶりお @burio_16
  • ついに2年目になってしまいました
  • タコスとTottenham Hotspur FCが大好き
  • いろんな人にタコスの人だと思われている

みなさんReact Tokyo Fes
行きましたか?

もちろん行きました

React Tokyoフェスタコス

レポートも出てましたね

React Tokyoフェス 2026 イベントレポート

ただの参加者の感想

めちゃくちゃ
タコスがうまかったです
学びも多く楽しかったです!

React Tokyo ミートアップ #15


実績解除:OSSコントリビュート V2


ぶりお @burio_16

今日はReact Tokyoフェスに参加したからできたことの話です

VitestにPRマージされました

Vitestとは?

  • JavaScriptの世界的なテストフレームワーク
  • あのvoidzeroが開発しているテストフレームワーク
  • GitHubスター数 16k+

きっかけはPRのレビュー中

バグ発見の経緯

  • Storybook用にインタラクションテストのconfigを作成
  • ファイル名: vitest.storybook-browser.config.ts(ハイフン入り)

原因を突き止めた

  • Storybookから実行するとglobでconfigを検索 → 引っかからない
  • resolveProjects.ts の正規表現がハイフンを許容していなかった
  • 実際のコード
// packages/vitest/src/node/projects/resolveProjects.ts

// vitest.config.*
// vite.config.*
// vitest.unit.config.*
// vitest.unit-test.config.* ← これがマッチしない!

const CONFIG_REGEXP = /^vite(?:st)?(?:\.\w+)?\.config\./
//                                     ^^^^
// \w+ は [a-zA-Z0-9_] のみ → "-" にマッチしない 😱
// vitest.storybook-browser.config.ts → マッチしない

実際のglobの挙動

  • CLIで直接指定 → そのまま使うのでOK ✅
# CLI直接指定 → 問題なし
$ vitest --config vitest.storybook-browser.config.ts

# glob検索 → ハイフン入りファイル名がマッチしない
vitest.storybook-browser.config.ts
     ^^^^^^^^^^^^^^^^^^
     \w+ は [a-zA-Z0-9_] のみ → "-" にマッチしない

人生初のissue

  • 恐る恐るissueを立ててみた
  • vitest-dev/vitest #9739
  • 「とりあえず報告だけ...」くらいの温度感
  • この時はドキュメントを直そうぜの提案

偶然の出会い

  • React Tokyoフェスでvoidzeroの人と話す機会が!
  • 「こんなissue立てたんですよ」と話してみた
  • 「初めてなんですが、どんなスタンスでいればいいですか?」と聞いた
  • この会話はReact Tokyoフェスがなければ絶対に生まれなかった

PR提出 → マージ

  • 修正はたった1文字の変更
  • 2人のメンテナーにapproveされてマージ(2026/3/5)
  • PR: vitest-dev/vitest #9760
// packages/vitest/src/node/projects/resolveProjects.ts

- const CONFIG_REGEXP = /^vite(?:st)?(?:\.\w+)?\.config\./
+ const CONFIG_REGEXP = /^vite(?:st)?(?:\.[\w-]+)?\.config\./
//                                       ^^^
//                                   ハイフンを追加!

changelogにも名前が載った✌️

vitest changelog

感謝

  • React TokyoフェスのおかげでまさかのOSSコントリビュート!
  • フロントエンドをやりたいけど知識不足な自分にも少し自信がついた
    • コミュニティに参加して良かった!イベントに参加して良かった!!

以上、Vitestコントリビューター(語弊)
ぶりおの自分語りLTでした。