OSS探訪GitHubでログイン

ブラウザとNode.jsで同じ通信定義を使い、API応答をネットワーク層で再現する

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
18,254
主要言語
TypeScript
ライセンス
MIT
リポジトリ最終更新
2026/10/03
ページ内ナビ

概要

JavaScriptアプリのAPI通信を開発・テスト中に置き換えるライブラリです。ブラウザではService Worker、Node.jsでは低水準の通信横取りを使い、アプリ側の通信ライブラリを差し替えずに要求と応答を再現できます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

実際の通信経路を保ったまま要求へ応答する

パス、パラメータ、ワイルドカード、正規表現で要求を照合し、状態コード、ヘッダー、Cookie、遅延を含む応答を定義できます。ブラウザでは応答を開発者ツールのNetworkでも確認できます。

出典:[1]

向いている用途

開発と複数段階のテストで通信定義を共有する

未完成のAPIを使う画面開発や、外部サービスの成功・失敗応答を再現するテストに向きます。同じ要求ハンドラーをローカル開発、単体・結合・E2Eテストへ持ち込めます。

出典:[1]

導入前の確認

実行環境ごとの開始処理とNode.js要件を確認する

v3.0.2はNode.js 22.12.0以上を要求します。ブラウザではsetupWorker、Node.jsではsetupServerを使うため、共通の要求ハンドラーとは別に環境ごとの初期化処理が必要です。

出典:[1][2]

参考にした公式資料

  1. [1]Mock Service Worker v3.0.2 README(2026-10-04)
  2. [2]Mock Service Worker v3.0.2 package metadata(2026-10-04)
  3. [3]Mock Service Worker v3.0.2 release(2026-10-04)
  4. [4]Mock Service Worker v3.0.2 license(2026-10-04)
編集部からの補足

APIクライアントを直接差し替える方法と比べると、実際の通信経路を通したまま応答を再現できる点が選定の軸です。v3への導入では、Node.jsの版と環境別の読み込み先を小さな検証で確かめてください。

3ステップで試す

  1. 1

    v3.0.2を専用ディレクトリへ追加する

    Node.js 22.12.0以上で、確認済みの版を小さなプロジェクトへ追加します。

    mkdir -p msw-demo && cd msw-demo && npm init -y && npm install msw@3.0.2
  2. 2

    Node.js用の要求ハンドラーを作る

    外部サービスへ接続せず、GET要求へJSONを返す最小例を保存します。

    printf '%s\n' "import { http, HttpResponse } from 'msw/http'" "import { setupServer } from 'msw/node'" "const server = setupServer(http.get('https://example.test/user', () => HttpResponse.json({ name: 'Ada' })))" "server.listen({ onUnhandledRequest: 'error' })" "const response = await fetch('https://example.test/user')" "console.log(await response.json())" "server.close()" > demo.mjs
  3. 3

    置き換えた応答を確認する

    通常のfetchから{ name: 'Ada' }が得られることを確認します。

    node demo.mjs
公式READMEで確認

成長

成長の推移 · 直近30日

18,254 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
12
Open PR
1

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

カテゴリ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • msw
  • mock
  • mocking-framework
  • service-worker
  • mock-service-worker
  • mocking
  • mocking-library
  • api-mocking
  • devtools
  • api
  • mswjs
Stars
18,254
Forks
628
Watchers
65
Open Issues
12
Contributors
182
所有者種別
Organization
主要言語
TypeScript
ライセンス
MIT
リポジトリ最終更新
2026/10/03

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?