vitest-dev / vitest-dev/vitest

MSW does not intercept all requests

Open
#10,795 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

pending triage
Dominant language
TypeScript
Stars
17.1k
Forks
2k
Avg merge
1d 22h
Merged PRs (30d)
94

Description

Describe the bug

When running outside of browser mode, Vitest returns different objects from import * as https from 'node:https' and require('node:https'). MSW expects these to be the same object, and only patches one of them.

This issue does not occur when running outside of Vitest, in Nodejs directly.

Reproduction

https://github.com/maxburs/vitest-msw-bug-reproduction (LLM authored)

System Info
- Vitest 4.1.9
- MSW 2.14.6
- Node.js 22.22.3
- macOS 26.5.2
Used Package Manager

npm

Validations

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the linked maxburs/vitest-msw-bug-reproduction and compare the import * as https from 'node:https' and require('node:https') entry points under Vitest and direct Node.js. Trace how MSW patches each object and add coverage showing that requests through both forms are intercepted consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js, typescript
Domain
testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.