mirror of
https://github.com/denoland/deno.git
synced 2025-09-26 12:19:12 +00:00
fix(ext/node): upgrade node:stream
(#28855)
Ref https://github.com/denoland/deno/issues/28836 This PR replaces the _stream.mjs bundle with a file-by-file port instead. A codemod transpiles Node.js internals to ESM. The codemod performs three tasks: translating CJS to ESM, remapping internal dependencies, and hoisting lazy requires as imports. The process is fully automated through the `update_node_stream.ts` script, simplifying future internal updates. The script checks out Node.js from a specific tag defined in the `tests/node_compat/runner`. Additionally, the update enables new tests in our Node test runner and adds features (like compose()) that were missing from the outdated bundle. ## Performance There is a 140KB+ binary size increase on aarch64-apple-darwin and nop startup time stays the same.
This commit is contained in:
parent
6e49a4b3bd
commit
01b6da9d9b
76 changed files with 11145 additions and 7032 deletions
77
ext/node/polyfills/stream/web.js
Normal file
77
ext/node/polyfills/stream/web.js
Normal file
|
@ -0,0 +1,77 @@
|
|||
// deno-lint-ignore-file
|
||||
// Copyright 2018-2025 the Deno authors. MIT license.
|
||||
|
||||
import {
|
||||
TransformStream,
|
||||
TransformStreamDefaultController,
|
||||
} from "ext:deno_web/06_streams.js";
|
||||
|
||||
import {
|
||||
WritableStream,
|
||||
WritableStreamDefaultController,
|
||||
WritableStreamDefaultWriter,
|
||||
} from "ext:deno_web/06_streams.js";
|
||||
|
||||
import {
|
||||
ReadableByteStreamController,
|
||||
ReadableStream,
|
||||
ReadableStreamBYOBReader,
|
||||
ReadableStreamBYOBRequest,
|
||||
ReadableStreamDefaultController,
|
||||
ReadableStreamDefaultReader,
|
||||
} from "ext:deno_web/06_streams.js";
|
||||
|
||||
import {
|
||||
ByteLengthQueuingStrategy,
|
||||
CountQueuingStrategy,
|
||||
} from "ext:deno_web/06_streams.js";
|
||||
import {
|
||||
TextDecoderStream,
|
||||
TextEncoderStream,
|
||||
} from "ext:deno_web/08_text_encoding.js";
|
||||
import {
|
||||
CompressionStream,
|
||||
DecompressionStream,
|
||||
} from "ext:deno_web/14_compression.js";
|
||||
"use strict";
|
||||
|
||||
const _defaultExport1 = {
|
||||
ReadableStream,
|
||||
ReadableStreamDefaultReader,
|
||||
ReadableStreamBYOBReader,
|
||||
ReadableStreamBYOBRequest,
|
||||
ReadableByteStreamController,
|
||||
ReadableStreamDefaultController,
|
||||
TransformStream,
|
||||
TransformStreamDefaultController,
|
||||
WritableStream,
|
||||
WritableStreamDefaultWriter,
|
||||
WritableStreamDefaultController,
|
||||
ByteLengthQueuingStrategy,
|
||||
CountQueuingStrategy,
|
||||
TextEncoderStream,
|
||||
TextDecoderStream,
|
||||
CompressionStream,
|
||||
DecompressionStream,
|
||||
};
|
||||
|
||||
export default _defaultExport1;
|
||||
export {
|
||||
ByteLengthQueuingStrategy,
|
||||
CompressionStream,
|
||||
CountQueuingStrategy,
|
||||
DecompressionStream,
|
||||
ReadableByteStreamController,
|
||||
ReadableStream,
|
||||
ReadableStreamBYOBReader,
|
||||
ReadableStreamBYOBRequest,
|
||||
ReadableStreamDefaultController,
|
||||
ReadableStreamDefaultReader,
|
||||
TextDecoderStream,
|
||||
TextEncoderStream,
|
||||
TransformStream,
|
||||
TransformStreamDefaultController,
|
||||
WritableStream,
|
||||
WritableStreamDefaultController,
|
||||
WritableStreamDefaultWriter,
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue