Improves compatibility with Node.js by validating the input parameters,
accepting Buffer type paths, and converting thrown errors correctly.
This PR also addresses `prefer-primordials` lint rule. These changes
allow parallel/test-fs-unlink-type-check.js test to pass.
Towards https://github.com/denoland/deno/issues/29972,
https://github.com/denoland/deno/issues/24236.
Follow up to https://github.com/denoland/deno/pull/30029.
Definition of signal numbers/names were moved from `ext/os` to
`ext/signals`.
All occurrences of `tokio::signal` API were replaced with helpers from
`deno_signals` helpers. Additionally clippy lints were added to ensure `tokio::signal`
is not used by accident.
Closes https://github.com/denoland/deno/issues/30223
Co-authored-by: snek <the@snek.dev>
Proxy traps should never be invoked on `console.log()`. This PR aligns
Deno's behaviour with other runtimes like Chrome, Firefox and Node. This
fixes the linked issue where it wasn't possible to call `console.log()`
on vite's module graph without an error being thrown.
Fixes https://github.com/denoland/deno/issues/30229
This PR updates the type definitions for `setTimeout` and `setInterval`
in `lib.deno.shared_globals.d.ts` to accept both a string and a function
as the callback, matching the DOM standard and Deno's runtime behavior.
Previously, the types only allowed a function, but Deno's implementation
(and the web standard) also allow a string, which is evaluated as code.
This change ensures that TypeScript users can use both forms without
type errors, aligning Deno's types with web compatibility.
Fixes#30166
This commit updates test harness for Node.js compat tests to
allow marking certain tests as flaky.
This is done by adding `flaky = true` to dict entries in
the `tests/node_compat/config.toml` file.