mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-11-04 08:04:37 +08:00
Without @types/node, every program loaded scriptc-node-fallback.d.ts whole: the console and process globals and 47 Node modules, about 8,100 lines, parsed, bound and checked in every cold build whether or not the program imported them. - The fallback file keeps the globals and the modules they name (console, readline, readline/promises, perf_hooks, tty). Every other module, under both spellings, has its own file in ambient/node-fallback/, which references the files of the modules its declarations name. - A module's file joins the program when one of the program's files names the module in a string literal: imports, requires, import types and JSDoc types all name modules that way. The entry is read before the first program; the program-root discovery passes add modules that other files name. Files are read as tsgo reads them, and the TypeScript libraries and scriptc's own declarations are skipped. - The checks that recognized the fallback file by its path recognize every fallback file.
18 lines
853 B
TypeScript
18 lines
853 B
TypeScript
/* node:stream/web — the module exports the web stream globals themselves
|
|
* (require("stream/web").ReadableStream === globalThis.ReadableStream).
|
|
* ReadableStream is the implemented class; its reader and controller are
|
|
* exported as types. */
|
|
declare module "stream/web" {
|
|
export const ReadableStream: typeof globalThis.ReadableStream;
|
|
export type ReadableStream<T = unknown> = globalThis.ReadableStream<T>;
|
|
export type ReadableStreamDefaultReader<T = unknown> = globalThis.ReadableStreamDefaultReader<T>;
|
|
export type ReadableStreamDefaultController<T = unknown> =
|
|
globalThis.ReadableStreamDefaultController<T>;
|
|
export type UnderlyingSource<T = unknown> = globalThis.UnderlyingSource<T>;
|
|
export type QueuingStrategy<T = unknown> = globalThis.QueuingStrategy<T>;
|
|
}
|
|
|
|
declare module "node:stream/web" {
|
|
export * from "stream/web";
|
|
}
|