Felipe Cardozo
dd47e25a30
feat: support named pipe listen, connect and open ( #31624 )
...
Co-authored-by: Cyan Changes <contact@cyans.me>
Add support to Pipe.prototype.listen, Pipe.prototype.connect for windows
with named pipes.
Also support to Pipe.prototype.open for unix.
Alternative of https://github.com/denoland/deno/pull/29308 , but without
`Deno:pipe`.
Only with node compatibilities.
Solution for:
https://github.com/denoland/deno/issues/25867
https://github.com/denoland/deno/issues/28332
https://github.com/denoland/deno/issues/31032
Maybe related:
https://github.com/denoland/deno/issues/10244
I tested the Nuxt and Nx, they are working fine on Windows now.
I also tested node-pty, and it's working on Unix.
Co-authored-by: Cyan Changes <contact@cyans.me>
2025-12-19 09:18:48 +01:00
Bartek Iwańczuk
3df3f275df
fix(ext/node): fix hot loop in setImmediate with a pending timer ( #31643 )
...
Contains fix from https://github.com/denoland/deno_core/pull/1263 .
This effectively reopens https://github.com/denoland/deno/issues/28016
for the time being as we're regressing one of the Node.js compat tests
and the interaction between `setTimeout` and `setImmediate` is a bit
broken, but it unblocks `puppeteer` usage for the time being.
Fixes https://github.com/denoland/deno/issues/31642
Fixes https://github.com/denoland/deno/issues/31595
Fixes https://github.com/denoland/deno/issues/30960
2025-12-17 17:13:54 +01:00
Leo Kettmeir
26fdc29fe0
fix: update glob implementation to match with latest node ( #31627 )
...
Fixes #31625
2025-12-17 17:05:08 +01:00
Bartek Iwańczuk
3dac3dfc6d
chore: update Node.js test suite to 24.12.0 ( #31628 )
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
2025-12-16 13:59:36 -08:00
Daniel Osvaldo Rahmanto
80e36fc36a
fix(ext/node): DatabaseSync compatibility ( #31515 )
...
Closes #29439
Notable changes:
- `DatabaseSync`:
- accept Buffer and URL paths.
- implement `.location()` method.
- add `isTransaction` and `isOpen` getters.
- respect timeout option.
- `backup`: accept Buffer and URL paths.
Allows
https://github.com/nodejs/node/blob/v24.2.0/test/parallel/test-sqlite-database-sync.js
test to pass.
2025-12-11 20:04:20 +07:00
Bartek Iwańczuk
63fe08925d
ci: increase node compat test timeout on Mac Intel ( #31538 )
...
It appears that Mac Intel runners are slower than before and multiple
tests fail to complete in 10s. This PR increases timeout on Mac Intel to 20s.
2025-12-09 09:23:37 +00:00
Bartek Iwańczuk
54412e4e8f
test: disable parallel/test-fs-promises-file-handle-readFile.js ( #31485 )
...
This test needs some more work, I've seen it crash multiple times in
various PRs over the last 24h.
2025-12-03 14:46:43 +00:00
Daniel Osvaldo Rahmanto
95e434eb37
fix(ext/node): respect abort signal option on FileHandle.readFile ( #31462 )
...
Towards #29972
Allows
https://github.com/nodejs/node/blob/v24.2.0/test/parallel/test-fs-promises-file-handle-readFile.js
test to pass.
2025-12-02 08:13:11 +07:00
Bartek Iwańczuk
4c228b455d
fix(ext/node): reimplement setImmediate API ( #30328 )
...
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
Closes https://github.com/denoland/deno/issues/28016
2025-11-28 11:05:41 +01:00
Nathan Whitaker
faf9505814
fix(node): support advanced serialization in IPC ( #31380 )
...
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
Fixes #31354 .
2025-11-26 23:15:32 +00:00
Daniel Osvaldo Rahmanto
0bd52c4640
fix(ext/node): implement DatabaseSync.function() and better error details ( #31386 )
...
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
Closes #30097
Implementation is based on
https://github.com/nodejs/node/blob/v24.2.0/src/node_sqlite.cc
Changes in this PR allows
https://github.com/nodejs/node/blob/v24.2.0/test/parallel/test-sqlite-custom-functions.js
test to pass.
---------
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2025-11-25 14:14:27 +00:00
Daniel Osvaldo Rahmanto
491274d6ed
fix(ext/node): implement dns.lookupService ( #31310 )
...
Closes #26300
Allows the following node compatibility tests to pass:
-
https://github.com/nodejs/node/blob/v24.2.0/test/parallel/test-dns-lookupService-promises.js
-
https://github.com/nodejs/node/blob/v24.2.0/test/parallel/test-dns-lookupService.js
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added `dns.lookupService()` for reverse DNS lookups, supporting both
callback and Promise-based APIs.
* Returns hostname and service information for a given IP address and
port combination.
* **Tests**
* Added unit tests for new DNS lookupService functionality across
callback and Promise variants.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-11-20 11:12:26 +00:00
Daniel Osvaldo Rahmanto
3c0f2890eb
fix(ext/node): segfault on calling StatementSync methods after connection has closed ( #31331 )
...
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
Previously, running this code causes segfault:
```ts
import { DatabaseSync } from "node:sqlite";
const db = new DatabaseSync(':memory:');
const stmt = db.prepare('SELECT 1 AS value');
db.close();
stmt.get(); // segmentation fault (core dumped)
```
Changes in this PR also allows the
https://github.com/nodejs/node/blob/v24.2.0/test/parallel/test-sqlite-statement-sync-columns.js
test to pass.
2025-11-19 08:56:09 +07:00
Daniel Osvaldo Rahmanto
74eff7bcd4
fix(ext/node): sqlite setAllowUnknownNamedParameters error message ( #31319 )
...
Allows
https://github.com/nodejs/node/blob/v24.2.0/test/parallel/test-sqlite-named-parameters.js
to pass.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Bug Fixes**
* Corrected an error message for SQLite named parameters validation to
display the expected parameter name accurately.
* **Tests**
* Added new test coverage for SQLite named parameters functionality.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-11-17 23:04:13 +07:00
Daniel Osvaldo Rahmanto
05395f3753
chore(test): enable node sqlite tests ( #31285 )
...
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
Follow up to #31277
Signed-off-by: Daniel Osvaldo Rahmanto <daniel.rahmanto@gmail.com>
2025-11-17 17:36:25 +07:00
Daniel Osvaldo Rahmanto
f48bd04877
fix(ext/node): sqlite.DatabaseSync explicit resource management compatibility ( #31311 )
...
Allows
https://github.com/nodejs/node/blob/v24.2.0/test/parallel/test-sqlite-database-sync-dispose.js
to pass
2025-11-17 14:58:49 +07:00
Daniel Osvaldo Rahmanto
ffe207a859
fix(ext/node): FileHandle compatibility ( #31164 )
...
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
Towards #29972
Tries to reland #31094 that got reverted on #31103 due to CI test
failures. This PR differs by fixing the `[kUnref]` method to close
resource ID correctly.
Allows the following tests to pass:
-
https://github.com/nodejs/node/blob/v24.2.0/test/parallel/test-filehandle-close.js
-
https://github.com/nodejs/node/blob/v24.2.0/test/parallel/test-fs-filehandle-use-after-close.js
---------
Signed-off-by: Daniel Osvaldo Rahmanto <daniel.rahmanto@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-14 12:17:45 +07:00
Bartek Iwańczuk
4e144a8fbf
fix(ext/node): define process.versions.sqlite ( #31277 )
...
This will make Node.js compat tests for sqlite run (previously they were
skipped because the version was not defined).
2025-11-13 17:48:06 +00:00
David Sherret
e83574015b
chore: make node compat tests run sequentially on first failure ( #31142 )
...
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
1. Mark all node compat tests as flaky on the CI.
2. Switch the tests from parallel to sequential on first failure and
retry.
2025-10-30 13:40:07 -04:00
Felipe Cardozo
e770db547a
fix(ext/node): implement StatementSync#columns() method ( #31119 )
...
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
Fixes https://github.com/denoland/deno/issues/31110
2025-10-29 15:52:29 +05:30
Bartek Iwańczuk
e39df87fab
test: disable flaky Node compat tests ( #31121 )
...
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
These tests are very flaky and even after retries they often cause CI
failures.
2025-10-29 00:13:51 +01:00
Bartek Iwańczuk
c6f1c42760
Revert "ci: skip running WPT and node compat unless labels present (#… ( #31120 )
...
…31012)"
This reverts commit f54a5466e2 .
This doesn't work, immediately after landing this, `main` branch got
broken with a faulty PR.
2025-10-28 22:18:56 +00:00
Felipe Cardozo
86ce21e7a9
feat(ext/node): implement FileHandle.readLines() ( #31107 )
...
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
Closes https://github.com/denoland/deno/issues/31104
2025-10-28 10:10:45 +01:00
Daniel Osvaldo Rahmanto
202a8c054b
Revert "fix(ext/node): fileHandle compatibility" ( #31103 )
...
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
Reverts denoland/deno#31094
This has caused node compat tests to fail on main.
2025-10-27 16:27:50 +00:00
Daniel Osvaldo Rahmanto
3a1ae29327
fix(ext/node): fileHandle compatibility ( #31094 )
...
Towards #29972
Notable changes:
- Omits `path` from the `FileHandle` constructor. This includes
replacing `utimes` and `chown` with `futimes` and `fchown`.
- Handles closing resource ID gracefully to follow node's
implementation. Closed resource IDs are marked as `-1`.
- Make every fs method to call the `fsCall` function.
Allows the following tests to pass:
-
https://github.com/nodejs/node/blob/v24.2.0/test/parallel/test-filehandle-close.js
-
https://github.com/nodejs/node/blob/v24.2.0/test/parallel/test-fs-filehandle-use-after-close.js
2025-10-27 16:58:23 +05:30
Daniel Osvaldo Rahmanto
2b0f277e96
fix(ext/node): fs.read/fs.readSync and fs.write/fs.writeSync compatibility ( #31013 )
...
Towards #29972
- `fs.read` and `fs.readSync`: accepts object option parameter.
- `fs.write` and `fs.writeSync`: negative position value defaults to the
current seek position.
- Allows several node compatibility tests to pass.
2025-10-22 10:48:42 +02:00
Bartek Iwańczuk
d38b20ca7a
test: disable test-fs-glob.mjs ( #31029 )
...
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
This test is currently crashing on CI all the time. Disabling for the
time being.
2025-10-20 18:59:31 +00:00
Bartek Iwańczuk
f54a5466e2
ci: skip running WPT and node compat unless labels present ( #31012 )
...
This commit changes the CI script to not run WPT suite and Node compat
suite in PRs unless `ci-wpt-test` and `ci-node-test` labels are present
respectively.
2025-10-20 15:26:08 +02:00
Daniel Osvaldo Rahmanto
80e54a81e7
fix(ext/node): checking Symbol in env should not ask for permission ( #30965 )
...
Discovered on #30905 , though not directly addressing the main issue
Given this code:
```ts
console.log(globalThis.process.env)
```
Deno 2.5.4:
```bash
➜ deno index.ts
✅ Granted env access to "Symbol(Deno.customInspect)".
✅ Granted env access to "Symbol(Deno.privateCustomInspect)".
✅ Granted env access to "Symbol(nodejs.util.inspect.custom)".
✅ Granted env access to "constructor".
✅ Granted env access to "Symbol(Symbol.iterator)".
✅ Granted env access.
[..result..]
```
This PR:
```bash
➜ deno index.ts
✅ Granted env access to "constructor".
✅ Granted env access.
[..result..]
```
Futhermore, it allows the following tests to pass:
-
https://github.com/nodejs/node/blob/v24.2.0/test/parallel/test-process-env-deprecation.js
-
https://github.com/nodejs/node/blob/v24.2.0/test/parallel/test-process-env-ignore-getter-setter.js
2025-10-14 08:25:35 +02:00
Daniel Osvaldo Rahmanto
cce15c39b8
fix(ext/node): path.matchesGlob compatibility ( #30976 )
ci / pre-build (push) Has been cancelled
ci / test debug linux-aarch64 (push) Has been cancelled
ci / test release linux-aarch64 (push) Has been cancelled
ci / test debug macos-aarch64 (push) Has been cancelled
ci / test release macos-aarch64 (push) Has been cancelled
ci / bench release linux-x86_64 (push) Has been cancelled
ci / lint debug linux-x86_64 (push) Has been cancelled
ci / lint debug macos-x86_64 (push) Has been cancelled
ci / lint debug windows-x86_64 (push) Has been cancelled
ci / test debug linux-x86_64 (push) Has been cancelled
ci / test release linux-x86_64 (push) Has been cancelled
ci / test debug macos-x86_64 (push) Has been cancelled
ci / test release macos-x86_64 (push) Has been cancelled
ci / test debug windows-x86_64 (push) Has been cancelled
ci / test release windows-x86_64 (push) Has been cancelled
ci / build libs (push) Has been cancelled
ci / publish canary (push) Has been cancelled
2025-10-11 15:09:27 -04:00
Bartek Iwańczuk
b8c133a7e2
test: disable test-fs-cp.mjs ( #30954 )
...
This is failing on main due to too long socket path.
2025-10-08 17:03:52 +00:00
Bartek Iwańczuk
a0172f07c3
test: update autobahn test suite ( #30951 )
2025-10-08 14:29:04 +00:00
Daniel Osvaldo Rahmanto
07a2389c70
fix(ext/node): fs.cp and fs.cpSync compatibility ( #30502 )
...
Closes #27494
Changes are based on Node.js' implementation. This allows
https://github.com/nodejs/node/blob/v24.2.0/test/parallel/test-fs-cp.mjs
test to pass.
2025-10-06 23:55:26 +02:00
Daniel Osvaldo Rahmanto
d9ef5d39c7
fix(ext/node): map BadResource error to the corresponding node error ( #30926 )
...
Allows
https://github.com/nodejs/node/blob/v24.2.0/test/parallel/test-fs-stat-bigint.js
test to pass
2025-10-06 17:35:15 +02:00
Daniel Osvaldo Rahmanto
23671da135
fix(ext/node): fs.realpath buffer encoding ( #30885 )
...
Towards #29972
Allows
https://github.com/nodejs/node/blob/v24.2.0/test/parallel/test-fs-realpath-buffer-encoding.js
test to pass.
---------
Co-authored-by: Divy <dj.srivastava23@gmail.com>
2025-10-03 20:16:26 -07:00
Daniel Osvaldo Rahmanto
dcc9474175
fix(ext/node): fs.readFile, fs.readFileSync assert encoding ( #30830 )
...
Towards #29972
- Validates the encoding of `readFile`.
- Fixes the handling of `binary` encoding where previously it returns
Buffer. On Node.js, Buffer is only returned when the encoding is not
specified.
- Allows
[parallel/test-fs-read-file-assert-encoding.js](https://github.com/nodejs/node/blob/v24.2.0/test/parallel/test-fs-read-file-assert-encoding.js )
test to pass.
2025-09-24 15:32:41 +02:00
Daniel Osvaldo Rahmanto
ebcb2fa294
fix(ext/node): fs.statfsSync and fs.statfs compatibility ( #30662 )
...
Towards #29972
- Converts the polyfill to typescript.
- Implement async op.
- Allows `Buffer` type path.
- Allows
[parallel/test-fs-statfs.js](https://github.com/nodejs/node/blob/v24.2.0/test/parallel/test-fs-statfs.js )
test to pass.
2025-09-18 16:03:30 +02:00
Daniel Osvaldo Rahmanto
fc6f0d38a3
fix(ext/node): implement fchmod on windows ( #30704 )
...
- Also fixes `node:fs.fstat` because it was incorrectly showing the file
mode on windows, which is needed by the node compat test.
- Moves the `stat_extra` function from `ext/fs/std_fs.rs` (deno_fs) into
`ext/io/lib.rs` (deno_io), because it's more convenient to export it
from there letting us to use the function on `deno_fs` and `deno_io`,
and currently `deno_fs` had already used `deno_io` as a dependency.
- Allows
[parallel/test-fs-chmod-mask.js](https://github.com/nodejs/node/blob/v24.2.0/test/parallel/test-fs-chmod-mask.js )
and
[parallel/test-fs-chmod.js](https://github.com/nodejs/node/blob/v24.2.0/test/parallel/test-fs-chmod.js )
tests to pass.
2025-09-16 09:22:37 -04:00
Daniel Osvaldo Rahmanto
d8c186196c
fix(ext/node): validate fs.read on empty buffer ( #30706 )
...
Towards #29972
Allows
https://github.com/nodejs/node/blob/v24.2.0/test/parallel/test-fs-read-empty-buffer.js
test to pass.
2025-09-16 11:16:17 +02:00
Daniel Osvaldo Rahmanto
0ad6a5eb7f
fix(ext/node): make fs.glob accepts URL cwd ( #30705 )
...
Towards #29972
Allows
https://github.com/nodejs/node/blob/v24.2.0/test/parallel/test-fs-glob.mjs
to pass.
2025-09-16 11:12:08 +02:00
Daniel Osvaldo Rahmanto
8244cd8e21
fix(ext/node): validate readlink arguments ( #30691 )
...
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
Also accepts `Buffer` typed path. Allows
https://github.com/nodejs/node/blob/v24.2.0/test/parallel/test-fs-readlink-type-check.js
test to pass.
Towards #29972
2025-09-11 18:43:48 +02:00
Bartek Iwańczuk
3229cc77e7
test: disable test-dgram-send-empty-buffer.js on mac ( #30660 )
...
This test has been very flaky on CI recently. Disabling for now to
unblock the release.
2025-09-09 15:38:43 +02:00
Daniel Osvaldo Rahmanto
54bda9febc
fix(ext/node): readline line separators ( #30630 )
ci / pre-build (push) Has been cancelled
ci / build libs (push) Has been cancelled
ci / test release macos-aarch64 (push) Has been cancelled
ci / bench release linux-x86_64 (push) Has been cancelled
ci / lint debug linux-x86_64 (push) Has been cancelled
ci / lint debug macos-x86_64 (push) Has been cancelled
ci / lint debug windows-x86_64 (push) Has been cancelled
ci / test debug linux-x86_64 (push) Has been cancelled
ci / test release linux-x86_64 (push) Has been cancelled
ci / test debug macos-x86_64 (push) Has been cancelled
ci / test release macos-x86_64 (push) Has been cancelled
ci / test debug windows-x86_64 (push) Has been cancelled
ci / test release windows-x86_64 (push) Has been cancelled
ci / test debug linux-aarch64 (push) Has been cancelled
ci / test release linux-aarch64 (push) Has been cancelled
ci / test debug macos-aarch64 (push) Has been cancelled
ci / publish canary (push) Has been cancelled
2025-09-06 11:48:54 -04:00
Daniel Osvaldo Rahmanto
e60f5d2c52
fix(ext/node): fs.mkdtemp and fs.mkdtempSync compatibility ( #30602 )
...
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
`fs.mkdtemp` and `fs.mkdtempSync` now accept `Buffer` and `Uint8Array`
path. The implementation has been moved to Rust, including directory
suffix generation and directory creation.
2025-09-05 16:12:42 -04:00
Daniel Osvaldo Rahmanto
e843a115fd
fix(ext/node): fs.symlink and fs.symlinkSync compatibility ( #30555 )
2025-09-03 17:48:13 -04:00
gitstart-app[bot]
e85fc18273
feat(node): implement async hooks for nextTick TickObject tracking ( #30578 )
...
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
test-stream-writable-samecb-singletick.js passes
---------
Co-authored-by: gitstart-app[bot] <80938352+gitstart-app[bot]@users.noreply.github.com>
2025-09-03 10:44:10 +02:00
Daniel Osvaldo Rahmanto
a9fd667cf6
chore(test): add reason field to node compat test config ( #30469 )
...
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
This was done so we can show it later on `node-test-viewer`.
Other notable changes:
- Move ignored test list from `run_all_test_unmodified.ts` to
`config.toml`
- Add `parallel/test-os-checked-function.js` to the ignore list
- Adjust the `README.md`
2025-09-01 23:44:11 +02:00
Daniel Osvaldo Rahmanto
1ef0d0838e
fix(ext/node): implement http.res.setHeaders ( #30586 )
...
Closes #30540
Also fixes res.writeHead implementation to parse array values correctly.
For example, `res.writeHead(200, [["foo", "bar"]])` and
`res.writeHead(200, ["foo", "bar"])` should produce the same result.
These changes allows
[parallel/test-http-response-setheaders.js](https://github.com/nodejs/node/blob/v24.2.0/test/parallel/test-http-response-setheaders.js )
to pass.
2025-09-01 23:13:03 +02:00
Daniel Osvaldo Rahmanto
6d49e26d60
fix(ext/node): path.relative compatibility ( #30566 )
...
Forked from Node.js implementation:
-
591ba692bf/lib/path.js (L548)
-
591ba692bf/lib/path.js (L1294)
This allows `parallel/test-path-relative.js` test to pass.
2025-09-01 11:44:51 +02:00
gitstart-app[bot]
c1f873dc4f
fix(ext/node): Readable adapter cancel semantics ( #30526 )
...
Fix WebStreams adapter race condition when canceling during stream close
---------
Co-authored-by: gitstart-app[bot] <80938352+gitstart-app[bot]@users.noreply.github.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2025-09-01 09:29:06 +00:00