Skip to content

fix(jsdom): support Blob internals in jsdom 30 - #11353

Closed
CreedTech wants to merge 1 commit into
vitest-dev:mainfrom
CreedTech:fix/jsdom-private-blob-impl
Closed

CreedTech wants to merge 1 commit into
vitest-dev:mainfrom
CreedTech:fix/jsdom-private-blob-impl

Conversation

@CreedTech

@CreedTech CreedTech commented Sep 24, 2026 •

Copy link
Copy Markdown

AI-assisted using ChatGPT on behalf of @CreedTech. @CreedTech manually reviewed and approved the code before submission.

Fixes jsdom 30.1 Blob compatibility in the jsdom environment. jsdom 30.1 no longer exposes the Blob implementation through the wrapper symbol that Vitest currently relies on, causing Blob request bodies and URL.createObjectURL to fail.

This uses jsdom's implForWrapper utility when available, handles its CommonJS export shape, and keeps the existing symbol lookup as a fallback for older layouts.

Fix #11336

Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

  • It's really useful if your PR references an issue where it is discussed ahead of time. If the feature is substantial or introduces breaking changes without a discussion, PR might be closed.
  • Ideally, include a test that fails without this PR but passes with it.
  • Please, don't make changes to pnpm-lock.yaml unless you introduce a new test example.
  • Please check Allow edits by maintainers.

Tests

  • Run the tests with pnpm test:ci.

Validated locally:

  • jsdom 29.1.1 focused suite: 75/75 passed
  • jsdom 30.1.1 before fix: 9 failures
  • jsdom 30.1.1 after fix: 75/75 passed
  • full test/unit: 649 files passed, 6,231 tests passed
  • pnpm typecheck
  • pnpm lint:fix
  • git diff --check

@github-actions github-actions Bot added the maybe automated User is likely an AI agent, or the content was generated by an AI assistant without user control label Sep 24, 2026
@github-actions

Copy link
Copy Markdown

Hello @CreedTech. Your PR has been labeled maybe automated because it appears to have been fully generated by AI with no human involvement.

To keep your PR open, please follow these steps:

  • Confirm that you are a real human. If you are an automated agent, disclose that
  • Make sure you've read, reviewed and stand behind its content
  • Make sure you've read the full issue along with all of its comments, as well as any linked issues and their comments
  • Make sure it follows our contribution guidelines and uses the correct GitHub template
  • Disclose any AI tools you used (e.g. Claude, Copilot, Codex)

Please, do not generate or format the response with AI. If you do not speak English, reply in your native language or use translation software like Google Translate or Deepl. If the response is generated, the PR will be closed automatically.

These measures help us reduce maintenance burden and keep the team's work efficient. See our AI contributions policy for more context.

@netlify

netlify Bot commented Sep 24, 2026

Copy link
Copy Markdown

✅ Deploy Preview for vitest-dev ready!

Built without sensitive environment variables

Name Link
🔨 Latest commit ab88b03
🔍 Latest deploy log https://app.netlify.com/projects/vitest-dev/deploys/6ab55ed48a42a80008fd4858
😎 Deploy Preview https://deploy-preview-11353--vitest-dev.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@CreedTech

Copy link
Copy Markdown
Author

Hello @CreedTech. Your PR has been labeled maybe automated because it appears to have been fully generated by AI with no human involvement.

To keep your PR open, please follow these steps:

  • Confirm that you are a real human. If you are an automated agent, disclose that
  • Make sure you've read, reviewed and stand behind its content
  • Make sure you've read the full issue along with all of its comments, as well as any linked issues and their comments
  • Make sure it follows our contribution guidelines and uses the correct GitHub template
  • Disclose any AI tools you used (e.g. Claude, Copilot, Codex)

Please, do not generate or format the response with AI. If you do not speak English, reply in your native language or use translation software like Google Translate or Deepl. If the response is generated, the PR will be closed automatically.

These measures help us reduce maintenance burden and keep the team's work efficient. See our AI contributions policy for more context.

The Code was AI assisted using chatgpt, but it was reviewed and approved by @CreedTech

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

maybe automated User is likely an AI agent, or the content was generated by an AI assistant without user control

Projects

None yet

Development

Successfully merging this pull request may close these issues.

jsdom 30.1: URL.createObjectURL and Blob request bodies throw Cannot read properties of undefined (reading '_buffer')

1 participant