Files
openclaw/src/types/node-runtime-globals.d.ts
Peter Steinberger ae12413ee2 chore(tooling): enforce no-floating-promises and drop DOM globals from Node-side typechecking (#104422)
* chore(lint): enforce no-floating-promises repo-wide

* feat(tooling): split DOM globals out of the Node-side typecheck program

tsconfig.core.json now compiles src/ + packages/ with lib ES2023; new
tsconfig.ui.json owns ui/ with DOM. Web-global names used by Node code
alias to canonical undici/stream-web types; highlight.js loads through a
validated narrow API because its d.ts force-includes lib.dom. Boundary,
sparse-guard, changed-lane routing, and profile lanes cover the new ui
graph.

* chore(deps): declare undici-types and teach knip about the highlight.js runtime require

* ci: retrigger dropped pull_request synchronize event

* refactor(types): derive web-global aliases from @types/node fetch globals, drop undici-types dep

* ci: retrigger after dependency guard cleared

* fix(scripts): add ui lane to changed-lanes declaration union
2026-07-11 07:28:20 -07:00

21 lines
1.0 KiB
TypeScript

// The core lane compiles with lib ES2023 (no DOM), so these web-global names
// no longer resolve. Derive them from the fetch globals @types/node already
// declares (backed by undici) instead of depending on undici-types directly;
// indexed-access derivation tracks @types/node across upgrades.
type BodyInit = Exclude<RequestInit["body"], undefined>;
type FormDataEntryValue = string | import("node:buffer").File;
type HeadersInit = Exclude<RequestInit["headers"], undefined>;
type ReadableStreamReadResult<T> =
| import("node:stream/web").ReadableStreamReadDoneResult<T>
| import("node:stream/web").ReadableStreamReadValueResult<T>;
type RequestCredentials = Exclude<RequestInit["credentials"], undefined>;
type RequestInfo = Parameters<typeof fetch>[0];
// Minimal surface for the one compile() caller; WebAssembly types otherwise
// live in lib.dom, which the core lane intentionally excludes.
declare namespace WebAssembly {
type Module = object;
function compile(bytes: ArrayBuffer | ArrayBufferView): Promise<Module>;
}