Conversation
31f3188 to
042dbd8
Compare
23afe77 to
4e22d58
Compare
bcbe960 to
4c2cc8a
Compare
|
Since this is going to be a PITA to review, here are some chunked diffs:
|
There was a problem hiding this comment.
For context, this is a result of merging the @types/node Console definitions into the global scope via interface extension, as per the rest of the web globals. Previously, @types/node's Console interface was declared directly in the global scope. The difference is that global-scope Console methods now override @types/node methods, rather than merge with them.
lib.dom's Console definitions are the same as those defined by @types/node, so this doesn't change anything under ordinary conditions, but it is observable if somewhere else is declaring its own global Console interface.
@types/google-apps-script has its own global Console definitions that differ from lib.dom, and the test suite explicitly states that it's testing that @types/node doesn't overrule those definitions... except previously it did, which is what made these console.log calls compile without errors (the google-apps-script methods don't accept undefined here).
This is the consistent approach with the rest of the web global definitions, but dissenting opinions welcome.
There was a problem hiding this comment.
This is a small change to the behaviour of setTimeout and friends.
The signatures require that the callback parameters match the function arguments, but allow for a single void-accepting callback parameter to be omitted from the arguments list, in order to facilitate usage like new Promise(resolve => setTimeout(resolve, 1000)).
Previously, the way this was expressed in @types/node meant that the compiler would also infer a single unmatched callback parameter to have type void. Now, this behaviour requires explicit typing, so this mismatch is now detected.
|
@Renegade334 Thank you for submitting this PR! This is a live comment that I will keep updated. 21 packages in this PR
Code ReviewsBecause this is a widely-used package, a DT maintainer will need to review it before it can be merged. You can test the changes of this PR in the Playground. Status
All of the items on the list are green. To merge, you need to post a comment including the string "Ready to merge" to bring in your changes. Diagnostic Information: What the bot saw about this PR{
"type": "info",
"now": "-",
"pr_number": 73924,
"author": "Renegade334",
"headCommitOid": "db254098643a603cb0f58a9ead82bf8e1562d61f",
"mergeBaseOid": "d92353ea9c48bd4a496090a4180e16b102208fdc",
"lastPushDate": "2025-10-18T17:11:46.000Z",
"lastActivityDate": "2025-12-10T19:00:14.000Z",
"mergeOfferDate": "2025-12-10T18:57:30.000Z",
"mergeRequestDate": "2025-12-10T19:00:14.000Z",
"mergeRequestUser": "Renegade334",
"hasMergeConflict": false,
"isFirstContribution": false,
"tooManyFiles": false,
"hugeChange": true,
"popularityLevel": "Critical",
"pkgInfo": [
{
"name": "airbnb__node-memwatch",
"kind": "edit",
"files": [
{
"path": "types/airbnb__node-memwatch/airbnb__node-memwatch-tests.ts",
"kind": "test"
}
],
"owners": [
"tylerlevine"
],
"addedOwners": [],
"deletedOwners": [],
"popularityLevel": "Well-liked by everyone"
},
{
"name": "fs-extra",
"kind": "edit",
"files": [
{
"path": "types/fs-extra/test/fs-extra-tests.ts",
"kind": "test"
}
],
"owners": [
"alan-agius4",
"midknight41",
"shiftkey",
"mees-",
"jrockwood",
"sangdth",
"ffflorian",
"peterblazejewicz",
"NotWoods",
"BendingBender"
],
"addedOwners": [],
"deletedOwners": [],
"popularityLevel": "Critical"
},
{
"name": "google-apps-script",
"kind": "edit",
"files": [
{
"path": "types/google-apps-script/test/google-apps-script-tests.ts",
"kind": "test"
}
],
"owners": [
"jpoehnelt",
"sqrrrl",
"PierrickVoulet",
"vinay-google"
],
"addedOwners": [],
"deletedOwners": [],
"popularityLevel": "Well-liked by everyone"
},
{
"name": "hubot",
"kind": "edit",
"files": [
{
"path": "types/hubot/hubot-tests.ts",
"kind": "test"
}
],
"owners": [
"dirk",
"KeesCBakker",
"eeemil",
"jphenow"
],
"addedOwners": [],
"deletedOwners": [],
"popularityLevel": "Well-liked by everyone"
},
{
"name": "imap",
"kind": "edit",
"files": [
{
"path": "types/imap/index.d.ts",
"kind": "definition"
}
],
"owners": [
"psnider"
],
"addedOwners": [],
"deletedOwners": [],
"popularityLevel": "Popular"
},
{
"name": "jake",
"kind": "edit",
"files": [
{
"path": "types/jake/index.d.ts",
"kind": "definition"
}
],
"owners": [],
"addedOwners": [],
"deletedOwners": [],
"popularityLevel": "Well-liked by everyone"
},
{
"name": "libpq",
"kind": "edit",
"files": [
{
"path": "types/libpq/libpq-tests.ts",
"kind": "test"
}
],
"owners": [
"Lodin"
],
"addedOwners": [],
"deletedOwners": [],
"popularityLevel": "Well-liked by everyone"
},
{
"name": "nanomsg",
"kind": "edit",
"files": [
{
"path": "types/nanomsg/nanomsg-tests.ts",
"kind": "test"
}
],
"owners": [
"toebeann",
"titan"
],
"addedOwners": [],
"deletedOwners": [],
"popularityLevel": "Well-liked by everyone"
},
{
"name": "newman",
"kind": "edit",
"files": [
{
"path": "types/newman/newman-tests.ts",
"kind": "test"
}
],
"owners": [
"LogvinovLeon"
],
"addedOwners": [],
"deletedOwners": [],
"popularityLevel": "Well-liked by everyone"
},
{
"name": "node-red",
"kind": "edit",
"files": [
{
"path": "types/node-red/node-red-tests.ts",
"kind": "test"
}
],
"owners": [
"andersea",
"tbowmo",
"bernardobelchior",
"alexk111",
"Shaquu"
],
"addedOwners": [],
"deletedOwners": [],
"popularityLevel": "Well-liked by everyone"
},
{
"name": "node",
"kind": "edit",
"files": [
{
"path": "types/node/.npmignore",
"kind": "package-meta-ok"
},
{
"path": "types/node/assert.d.ts",
"kind": "definition"
},
{
"path": "types/node/assert/strict.d.ts",
"kind": "definition"
},
{
"path": "types/node/async_hooks.d.ts",
"kind": "definition"
},
{
"path": "types/node/buffer.buffer.d.ts",
"kind": "definition"
},
{
"path": "types/node/buffer.d.ts",
"kind": "definition"
},
{
"path": "types/node/child_process.d.ts",
"kind": "definition"
},
{
"path": "types/node/cluster.d.ts",
"kind": "definition"
},
{
"path": "types/node/console.d.ts",
"kind": "definition"
},
{
"path": "types/node/constants.d.ts",
"kind": "definition"
},
{
"path": "types/node/crypto.d.ts",
"kind": "definition"
},
{
"path": "types/node/dgram.d.ts",
"kind": "definition"
},
{
"path": "types/node/diagnostics_channel.d.ts",
"kind": "definition"
},
{
"path": "types/node/dns.d.ts",
"kind": "definition"
},
{
"path": "types/node/dns/promises.d.ts",
"kind": "definition"
},
{
"path": "types/node/domain.d.ts",
"kind": "definition"
},
{
"path": "types/node/events.d.ts",
"kind": "definition"
},
{
"path": "types/node/fs.d.ts",
"kind": "definition"
},
{
"path": "types/node/fs/promises.d.ts",
"kind": "definition"
},
{
"path": "types/node/globals.d.ts",
"kind": "definition"
},
{
"path": "types/node/globals.typedarray.d.ts",
"kind": "definition"
},
{
"path": "types/node/http.d.ts",
"kind": "definition"
},
{
"path": "types/node/http2.d.ts",
"kind": "definition"
},
{
"path": "types/node/https.d.ts",
"kind": "definition"
},
{
"path": "types/node/index.d.ts",
"kind": "definition"
},
{
"path": "types/node/inspector.d.ts",
"kind": "definition"
},
{
"path": "types/node/inspector.generated.d.ts",
"kind": "definition"
},
{
"path": "types/node/inspector/promises.d.ts",
"kind": "definition"
},
{
"path": "types/node/module.d.ts",
"kind": "definition"
},
{
"path": "types/node/net.d.ts",
"kind": "definition"
},
{
"path": "types/node/node-tests-dom.ts",
"kind": "test"
},
{
"path": "types/node/node-tests-non-dom.ts",
"kind": "test"
},
{
"path": "types/node/node-tests-webworker.ts",
"kind": "test"
},
{
"path": "types/node/node-tests.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/assert.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/async_hooks.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/buffer.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/child_process.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/cluster.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/console.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/constants.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/crypto.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/dgram.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/diagnostics_channel.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/dns.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/events-dom.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/events-maps.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/events-non-dom.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/events.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/fs.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/globals-dom.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/globals-non-dom.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/globals.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/http.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/http2.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/https.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/inspector.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/module.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/net.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/os.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/path.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/perf_hooks-dom.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/perf_hooks-non-dom.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/perf_hooks.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/process.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/querystring.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/quic.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/readline.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/repl.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/sea.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/sqlite.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/stream.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/string_decoder.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/test.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/timers.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/timers_promises.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/tls.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/trace_events.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/tty.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/url.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/util.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/util_types.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/v8.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/vm.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/wasi.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/worker_threads.ts",
"kind": "test"
},
{
"path": "types/node/node-tests/zlib.ts",
"kind": "test"
},
{
"path": "types/node/os.d.ts",
"kind": "definition"
},
{
"path": "types/node/package.json",
"kind": "package-meta-ok"
},
{
"path": "types/node/path.d.ts",
"kind": "definition"
},
{
"path": "types/node/path/posix.d.ts",
"kind": "definition"
},
{
"path": "types/node/path/win32.d.ts",
"kind": "definition"
},
{
"path": "types/node/perf_hooks.d.ts",
"kind": "definition"
},
{
"path": "types/node/process.d.ts",
"kind": "definition"
},
{
"path": "types/node/punycode.d.ts",
"kind": "definition"
},
{
"path": "types/node/querystring.d.ts",
"kind": "definition"
},
{
"path": "types/node/quic.d.ts",
"kind": "definition"
},
{
"path": "types/node/readline.d.ts",
"kind": "definition"
},
{
"path": "types/node/readline/promises.d.ts",
"kind": "definition"
},
{
"path": "types/node/repl.d.ts",
"kind": "definition"
},
{
"path": "types/node/scripts/generate-inspector/inspector.d.ts.template",
"kind": "package-meta",
"suspect": "edited"
},
{
"path": "types/node/sea.d.ts",
"kind": "definition"
},
{
"path": "types/node/sqlite.d.ts",
"kind": "definition"
},
{
"path": "types/node/stream.d.ts",
"kind": "definition"
},
{
"path": "types/node/stream/consumers.d.ts",
"kind": "definition"
},
{
"path": "types/node/stream/promises.d.ts",
"kind": "definition"
},
{
"path": "types/node/stream/web.d.ts",
"kind": "definition"
},
{
"path": "types/node/string_decoder.d.ts",
"kind": "definition"
},
{
"path": "types/node/test.d.ts",
"kind": "definition"
},
{
"path": "types/node/test/reporters.d.ts",
"kind": "definition"
},
{
"path": "types/node/timers.d.ts",
"kind": "definition"
},
{
"path": "types/node/timers/promises.d.ts",
"kind": "definition"
},
{
"path": "types/node/tls.d.ts",
"kind": "definition"
},
{
"path": "types/node/trace_events.d.ts",
"kind": "definition"
},
{
"path": "types/node/ts5.6/buffer.buffer.d.ts",
"kind": "definition"
},
{
"path": "types/node/ts5.6/index.d.ts",
"kind": "definition"
},
{
"path": "types/node/ts5.7/index.d.ts",
"kind": "definition"
},
{
"path": "types/node/tty.d.ts",
"kind": "definition"
},
{
"path": "types/node/url.d.ts",
"kind": "definition"
},
{
"path": "types/node/util.d.ts",
"kind": "definition"
},
{
"path": "types/node/util/types.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/.eslintrc.json",
"kind": "package-meta",
"suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-linter-eslintrcjson) (check: `rules`)"
},
{
"path": "types/node/v24/.npmignore",
"kind": "package-meta-ok"
},
{
"path": "types/node/v24/assert.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/assert/strict.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/async_hooks.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/buffer.buffer.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/buffer.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/child_process.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/cluster.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/compatibility/iterators.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/console.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/constants.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/crypto.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/dgram.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/diagnostics_channel.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/dns.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/dns/promises.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/domain.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/events.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/fs.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/fs/promises.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/globals.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/globals.typedarray.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/http.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/http2.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/https.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/index.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/inspector.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/inspector.generated.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/module.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/net.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/node-tests-dom.ts",
"kind": "test"
},
{
"path": "types/node/v24/node-tests-non-dom.ts",
"kind": "test"
},
{
"path": "types/node/v24/node-tests-webworker.ts",
"kind": "test"
},
{
"path": "types/node/v24/node-tests.ts",
"kind": "test"
},
{
"path": "types/node/v24/os.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/package.json",
"kind": "package-meta-ok"
},
{
"path": "types/node/v24/path.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/perf_hooks.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/process.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/punycode.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/querystring.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/readline.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/readline/promises.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/repl.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/sea.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/sqlite.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/stream.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/stream/consumers.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/stream/promises.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/stream/web.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/string_decoder.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/test.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/test/assert.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/async_hooks.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/buffer.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/child_process.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/cluster.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/console.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/constants.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/crypto.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/dgram.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/diagnostics_channel.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/dns.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/events-dom.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/events-non-dom.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/events.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/events_generic.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/fs.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/globals-dom.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/globals-non-dom.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/globals.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/http.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/http2.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/https.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/inspector.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/module.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/net.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/os.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/path.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/perf_hooks-dom.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/perf_hooks-non-dom.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/perf_hooks.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/process.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/querystring.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/readline.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/repl.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/sea.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/sqlite.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/stream.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/string_decoder.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/test.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/timers.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/timers_promises.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/tls.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/trace_events.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/tty.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/url.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/util.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/util_types.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/v8.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/vm.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/wasi.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/worker_threads.ts",
"kind": "test"
},
{
"path": "types/node/v24/test/zlib.ts",
"kind": "test"
},
{
"path": "types/node/v24/timers.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/timers/promises.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/tls.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/trace_events.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/ts5.6/buffer.buffer.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/ts5.6/compatibility/float16array.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/ts5.6/globals.typedarray.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/ts5.6/index.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/ts5.6/tsconfig.dom.json",
"kind": "package-meta",
"suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson) (check: `compilerOptions.target`, `compilerOptions.exactOptionalPropertyTypes`)"
},
{
"path": "types/node/v24/ts5.6/tsconfig.json",
"kind": "package-meta",
"suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson) (check: `compilerOptions.target`, `compilerOptions.exactOptionalPropertyTypes`)"
},
{
"path": "types/node/v24/ts5.6/tsconfig.non-dom.json",
"kind": "package-meta",
"suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson) (check: `compilerOptions.target`, `compilerOptions.exactOptionalPropertyTypes`)"
},
{
"path": "types/node/v24/ts5.6/tsconfig.webworker.json",
"kind": "package-meta",
"suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson) (check: `compilerOptions.lib.1`, `compilerOptions.target`, `compilerOptions.exactOptionalPropertyTypes`)"
},
{
"path": "types/node/v24/ts5.7/compatibility/float16array.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/ts5.7/index.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/ts5.7/tsconfig.dom.json",
"kind": "package-meta",
"suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson) (check: `compilerOptions.target`, `compilerOptions.exactOptionalPropertyTypes`)"
},
{
"path": "types/node/v24/ts5.7/tsconfig.json",
"kind": "package-meta",
"suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson) (check: `compilerOptions.target`, `compilerOptions.exactOptionalPropertyTypes`)"
},
{
"path": "types/node/v24/ts5.7/tsconfig.non-dom.json",
"kind": "package-meta",
"suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson) (check: `compilerOptions.target`, `compilerOptions.exactOptionalPropertyTypes`)"
},
{
"path": "types/node/v24/ts5.7/tsconfig.webworker.json",
"kind": "package-meta",
"suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson) (check: `compilerOptions.lib.1`, `compilerOptions.target`, `compilerOptions.exactOptionalPropertyTypes`)"
},
{
"path": "types/node/v24/tsconfig.dom.json",
"kind": "package-meta",
"suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson) (check: `compilerOptions.target`, `compilerOptions.exactOptionalPropertyTypes`, `compilerOptions.esModuleInterop`)"
},
{
"path": "types/node/v24/tsconfig.json",
"kind": "package-meta",
"suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson) (check: `compilerOptions.target`, `compilerOptions.exactOptionalPropertyTypes`, `compilerOptions.esModuleInterop`)"
},
{
"path": "types/node/v24/tsconfig.non-dom.json",
"kind": "package-meta",
"suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson) (check: `compilerOptions.target`, `compilerOptions.exactOptionalPropertyTypes`, `compilerOptions.esModuleInterop`)"
},
{
"path": "types/node/v24/tsconfig.webworker.json",
"kind": "package-meta",
"suspect": "not [the expected form](https://github.com/DefinitelyTyped/DefinitelyTyped#user-content-tsconfigjson) (check: `compilerOptions.lib.1`, `compilerOptions.target`, `compilerOptions.exactOptionalPropertyTypes`, `compilerOptions.esModuleInterop`)"
},
{
"path": "types/node/v24/tty.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/url.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/util.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/v8.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/vm.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/wasi.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/web-globals/abortcontroller.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/web-globals/crypto.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/web-globals/domexception.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/web-globals/events.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/web-globals/fetch.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/web-globals/navigator.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/web-globals/storage.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/web-globals/streams.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/worker_threads.d.ts",
"kind": "definition"
},
{
"path": "types/node/v24/zlib.d.ts",
"kind": "definition"
},
{
"path": "types/node/v8.d.ts",
"kind": "definition"
},
{
"path": "types/node/vm.d.ts",
"kind": "definition"
},
{
"path": "types/node/wasi.d.ts",
"kind": "definition"
},
{
"path": "types/node/web-globals/abortcontroller.d.ts",
"kind": "definition"
},
{
"path": "types/node/web-globals/blob.d.ts",
"kind": "definition"
},
{
"path": "types/node/web-globals/console.d.ts",
"kind": "definition"
},
{
"path": "types/node/web-globals/crypto.d.ts",
"kind": "definition"
},
{
"path": "types/node/web-globals/encoding.d.ts",
"kind": "definition"
},
{
"path": "types/node/web-globals/events.d.ts",
"kind": "definition"
},
{
"path": "types/node/web-globals/fetch.d.ts",
"kind": "definition"
},
{
"path": "types/node/web-globals/importmeta.d.ts",
"kind": "definition"
},
{
"path": "types/node/web-globals/messaging.d.ts",
"kind": "definition"
},
{
"path": "types/node/web-globals/performance.d.ts",
"kind": "definition"
},
{
"path": "types/node/web-globals/streams.d.ts",
"kind": "definition"
},
{
"path": "types/node/web-globals/timers.d.ts",
"kind": "definition"
},
{
"path": "types/node/web-globals/url.d.ts",
"kind": "definition"
},
{
"path": "types/node/worker_threads.d.ts",
"kind": "definition"
},
{
"path": "types/node/zlib.d.ts",
"kind": "definition"
}
],
"owners": [
"Microsoft",
"jkomyno",
"r3nya",
"btoueg",
"touffy",
"mohsen1",
"galkin",
"eps1lon",
"WilcoBakker",
"chyzwar",
"trivikr",
"yoursunny",
"qwelias",
"ExE-Boss",
"peterblazejewicz",
"addaleax",
"victorperin",
"NodeJS",
"LinusU",
"wafuwafu13",
"mcollina",
"Semigradsky",
"Renegade334",
"anonrig"
],
"addedOwners": [],
"deletedOwners": [],
"popularityLevel": "Critical"
},
{
"name": "opossum",
"kind": "edit",
"files": [
{
"path": "types/opossum/opossum-tests.ts",
"kind": "test"
}
],
"owners": [
"quinnlangille",
"merufm",
"lance",
"mastermatt",
"tjenkinson"
],
"addedOwners": [],
"deletedOwners": [],
"popularityLevel": "Popular"
},
{
"name": "promise-fs",
"kind": "edit",
"files": [
{
"path": "types/promise-fs/promise-fs-tests.ts",
"kind": "test"
}
],
"owners": [
"djcsdy"
],
"addedOwners": [],
"deletedOwners": [],
"popularityLevel": "Well-liked by everyone"
},
{
"name": "rdf-store-fs",
"kind": "edit",
"files": [
{
"path": "types/rdf-store-fs/rdf-store-fs-tests.ts",
"kind": "test"
}
],
"owners": [
"tpluscode"
],
"addedOwners": [],
"deletedOwners": [],
"popularityLevel": "Well-liked by everyone"
},
{
"name": "readable-stream",
"kind": "edit",
"files": [
{
"path": "types/readable-stream/index.d.ts",
"kind": "definition"
},
{
"path": "types/readable-stream/readable-stream-tests.ts",
"kind": "test"
}
],
"owners": [
"TeamworkGuy2",
"markdreyer",
"mcollina"
],
"addedOwners": [],
"deletedOwners": [],
"popularityLevel": "Critical"
},
{
"name": "sane",
"kind": "edit",
"files": [
{
"path": "types/sane/index.d.ts",
"kind": "definition"
}
],
"owners": [
"BendingBender"
],
"addedOwners": [],
"deletedOwners": [],
"popularityLevel": "Well-liked by everyone"
},
{
"name": "sse",
"kind": "edit",
"files": [
{
"path": "types/sse/sse-tests.ts",
"kind": "test"
}
],
"owners": [
"yutak23"
],
"addedOwners": [],
"deletedOwners": [],
"popularityLevel": "Well-liked by everyone"
},
{
"name": "steam",
"kind": "edit",
"files": [
{
"path": "types/steam/index.d.ts",
"kind": "definition"
}
],
"owners": [
"kant2002"
],
"addedOwners": [],
"deletedOwners": [],
"popularityLevel": "Well-liked by everyone"
},
{
"name": "stoppable",
"kind": "edit",
"files": [
{
"path": "types/stoppable/stoppable-tests.ts",
"kind": "test"
}
],
"owners": [
"EricByers",
"jplusje",
"BendingBender"
],
"addedOwners": [],
"deletedOwners": [],
"popularityLevel": "Popular"
},
{
"name": "twitter",
"kind": "edit",
"files": [
{
"path": "types/twitter/twitter-tests.ts",
"kind": "test"
}
],
"owners": [
"BendingBender"
],
"addedOwners": [],
"deletedOwners": [],
"popularityLevel": "Well-liked by everyone"
},
{
"name": "xml-flow",
"kind": "edit",
"files": [
{
"path": "types/xml-flow/xml-flow-tests.ts",
"kind": "test"
}
],
"owners": [
"Warerebel"
],
"addedOwners": [],
"deletedOwners": [],
"popularityLevel": "Well-liked by everyone"
}
],
"reviews": [
{
"type": "approved",
"reviewer": "jakebailey",
"date": "2025-12-10T18:56:40.000Z",
"isMaintainer": true
}
],
"mainBotCommentID": 3544541039,
"ciResult": "pass"
} |
Co-authored-by: ckohen <chaikohen@gmail.com>
`emit()` on internal emitters accepts any input, so these aren't testing anything at all, as evidenced by the fact that a lot of these are passing supposedly invalid input without errors.
These are no longer necessary internally, but are used in some fairly high-exposure libraries - probably best not to remove them entirely.
- improvements/corrections to pipeline behaviour - move readable.compose - add stream.compose - correct use of NodeJS.*Stream and web.*Stream - use aliased promisifiers - a few assorted type corrections
jakebailey
left a comment
There was a problem hiding this comment.
Well, I guess if this is ready, let's give it a go...
|
@Renegade334: Everything looks good here. I am ready to merge this PR (at db25409) on your behalf whenever you think it's ready. If you'd like that to happen, please post a comment saying:
and I'll merge this PR almost instantly. Thanks for helping out! ❤️ |
|
Ready to merge... |
This is a major version bump, but the patch at DefinitelyTyped/DefinitelyTyped#73924 doesn't indicate any breaking changes that should impact us as it mainly includes support for Node.js 25.
This is a major version bump, but the patch at DefinitelyTyped/DefinitelyTyped#73924 doesn't indicate any breaking changes that should impact us as it mainly includes support for Node.js 25.
This is a major version bump, but the patch at DefinitelyTyped/DefinitelyTyped#73924 doesn't indicate any breaking changes that should impact us as it mainly includes support for Node.js 25.
Breaking API changes
New API features
node:quicmodule now has type definitions.DOM types
Breaking/observable type changes
node:-qualified modules are canonicalised. Barenamed builtin modules are aliased to the qualified module declaration. This is observable if using the TS API.node:util/typesetc.) have been spun out into separate .d.ts files. This is observable if using the TS API.node:clusterhas been fixed. Top-level imports should now be correctly transpiled.Functionobjects as arguments, requiring proper function-type arguments instead. The EventEmitter type parameter default has been changed toany.node:cryptohas been completely overhauled, as quite a bit of its behaviour was incorrect and the definitions were growing rapidly in complexity with the new crypto standards. The new type system is more robust and cuts the module size by around 20%, but some of the changes to helper types are not backwards-compatible if imported directly in userland.