Skip to content

fix(cli): add streams as transferable types#31586

Merged
bartlomieju merged 1 commit intomainfrom
add-transferable-types
Dec 12, 2025
Merged

fix(cli): add streams as transferable types#31586
bartlomieju merged 1 commit intomainfrom
add-transferable-types

Conversation

@devsnek
Copy link
Copy Markdown
Member

@devsnek devsnek commented Dec 12, 2025

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Dec 12, 2025

Walkthrough

The Transferable type in the Deno web type definitions is expanded to include ReadableStream, WritableStream, and TransformStream alongside the existing MessagePort and ArrayBuffer. This broadens the types eligible for structured serialization and transfer operations. The change modifies only the type definition without altering runtime behavior or error handling logic.

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title directly describes the main change: extending the Transferable type to include stream types for structured serialization.
Description check ✅ Passed The description references a GitHub issue comment, which provides context for the change even if minimal.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch add-transferable-types

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4178a57 and 2abb84f.

📒 Files selected for processing (1)
  • cli/tsc/dts/lib.deno_web.d.ts (1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
**/*.{ts,tsx,js}

📄 CodeRabbit inference engine (CLAUDE.md)

**/*.{ts,tsx,js}: For JavaScript runtime debugging, enable V8 inspector with --inspect-brk flag and connect Chrome DevTools to chrome://inspect
Use console.log() for debug prints in JavaScript runtime code

Files:

  • cli/tsc/dts/lib.deno_web.d.ts
🧬 Code graph analysis (1)
cli/tsc/dts/lib.deno_web.d.ts (1)
ext/node/polyfills/worker_threads.ts (1)
  • MessagePort (667-667)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (10)
  • GitHub Check: test debug macos-x86_64
  • GitHub Check: test debug macos-aarch64
  • GitHub Check: test debug windows-x86_64
  • GitHub Check: test release linux-x86_64
  • GitHub Check: test debug linux-aarch64
  • GitHub Check: test debug linux-x86_64
  • GitHub Check: lint debug macos-x86_64
  • GitHub Check: build libs
  • GitHub Check: lint debug windows-x86_64
  • GitHub Check: lint debug linux-x86_64
🔇 Additional comments (1)
cli/tsc/dts/lib.deno_web.d.ts (1)

1217-1222: Type definition is correct — runtime already supports stream transfers.

The Transferable type accurately reflects what Deno's runtime supports. The structured clone implementation (ext/web/13_message_port.js) and WPT stream transferable tests are already in place, confirming that ReadableStream, WritableStream, and TransformStream transfers are fully implemented. No further verification needed.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@marvinhagemeister marvinhagemeister left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@bartlomieju bartlomieju merged commit b27665f into main Dec 12, 2025
20 checks passed
@bartlomieju bartlomieju deleted the add-transferable-types branch December 12, 2025 10:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants