Commit graph

786 commits

Author SHA1 Message Date
Divy Srivastava
ba9c80eda8
fix(ext/node): fix function error message in invalidArgTypeHelper (#29526)
Some checks are pending
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (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 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 wasm32 (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
Fixes `parallel/test-buffer-from.js` in daily Node compat tests runs.
The test was already enabled in CI but that used a different helper than
the daily Node compat tests runners - updated now.

```
divy@divy-macbook deno % deno -A ./tools/node_compat_tests.js -f parallel/test-buffer-from
Found 0 sequential tests and 1 parallel tests
Running 1 tests
   1 FAIL parallel/test-buffer-from.js
    FAIL parallel/test-buffer-from.js
    exit code: 1
    error: Uncaught (in promise) AssertionError: Values are not equal:


    [Diff] Actual / Expected


-   The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received type function ([Function (anonymous)])
+   The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received function


    at new AssertionError (ext:deno_node/assertion_error.ts:412:11)
    at toNode (node:assert:48:15)
    at deepStrictEqual (node:assert:267:3)
    at validateThrownError (node:assert:622:9)
    at throws (node:assert:104:9)
    at file:///Users/divy/gh/deno/tests/node_compat/runner/suite/test/parallel/test-buffer-from.js:59:3
    at Array.forEach (<anonymous>)
    at Object.<anonymous> (file:///Users/divy/gh/deno/tests/node_compat/runner/suite/test/parallel/test-buffer-from.js:51:3)
    at Object.<anonymous> (file:///Users/divy/gh/deno/tests/node_compat/runner/suite/test/parallel/test-buffer-from.js:146:4)
    at Module._compile (node:module:745:34)

Filtered tests: 0/1 (0.00%)
Elapsed time: 0.20s
divy@divy-macbook deno % target/debug/deno -A ./tools/node_compat_tests.js -f parallel/test-buffer-from
Found 0 sequential tests and 1 parallel tests
Running 1 tests
   1 PASS parallel/test-buffer-from.js
    PASS parallel/test-buffer-from.js
Filtered tests: 1/1 (100.00%)
Elapsed time: 0.40s
```
2025-05-30 12:13:22 +05:30
Divy Srivastava
342ea09135
fix(ext/node): stub getFipsCrypto to false (#29485)
This makes Deno act as a non-FIPS compliant build of Node.js to node
modules.
2025-05-30 15:15:03 +09:00
Divy Srivastava
b2f668550d
fix(ext/node): Buffer write OOB checks (#29524)
Enables `parallel/test-buffer-write.js` test
2025-05-30 11:28:22 +05:30
Yoshiya Hinosawa
4a80e1d29b
fix(ext/node): correct kMaxLength value of node:buffer (#29504) 2025-05-30 11:37:34 +09:00
Yoshiya Hinosawa
f1fd29aba0
fix(ext/node): fix getEventListeners in node:events (#29480) 2025-05-28 21:47:31 +09:00
Yoshiya Hinosawa
e56dc01cb8
fix(ext/node): add "internal/http2/util" module (#29474) 2025-05-28 21:46:36 +09:00
Luca Casonato
a88c61de3d
fix(ext/node): return values in node:domain (#29440)
When using Domain#bind, Domain#intercept, and Domain#run we were
invoking the callback but then not actually returning the value returned
from that callback.

This makes Gulp work with async functions as tasks.
2025-05-28 13:50:46 +02:00
Bartek Iwańczuk
32db2db121
fix(ext/node): createInterface doesn't require env permission (#29472)
Closes https://github.com/denoland/deno/issues/29441
2025-05-28 11:59:26 +02:00
Yoshiya Hinosawa
077f0c5665
fix(ext/node): ignore some Node.js specific flags (#29461) 2025-05-28 12:02:26 +09:00
Bartek Iwańczuk
1b6736d3f9
fix(ext/node): node:buffer validates INSPECT_MAX_BYTES (#29469)
Some checks are pending
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 wasm32 (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
Co-authored-by: David Sherret <dsherret@users.noreply.github.com>
2025-05-27 23:31:35 +00:00
JasperVanEsveld
bca0a9a6bf
fix(compile): init dummy stdin after debug env is initialized (#29144)
This should be the last change to fix
https://github.com/denoland/deno/issues/27730 and
https://github.com/denoland/deno/issues/21091

The dummy stdin needed when using `--no-terminal` instantly closes, but
closing can't be done until the debug environment is initialized.

This PR delays creation (and closing) of the stdin until after the debug
environment is initialized.

Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2025-05-27 12:10:20 +05:30
James Bronder
ffe8ce6204
fix(ext/node): use primordials in ext/node/polyfills/internal/util.mjs (#29430)
Towards #24236. Replaces JS builtins with equivalent primordials.
2025-05-25 22:30:31 +00:00
Andy Vu
90c320f71b
fix(ext/node): use primordials in ext/node/polyfills/_fs/_fs_truncate.ts (#29422)
Towards #24236. Replaces `Error`, `instanceof`, and `Promise.then()`
with the equivalent primordials.
2025-05-25 23:49:39 +02:00
Yoshiya Hinosawa
3de21f1b8d
fix(ext/node): add fchown and fchownSync to node:fs (#29408)
Some checks failed
ci / pre-build (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 / 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 / build wasm32 (push) Has been cancelled
ci / publish canary (push) Has been cancelled
2025-05-23 15:00:39 +09:00
James Bronder
7abce12183
fix(ext/node): use primordials in ext/node/polyfills/internal/errors.ts (#29382)
Some checks are pending
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 wasm32 (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
2025-05-21 12:49:40 +09:00
Divy Srivastava
71d1384a89
fix(ext/node): include assert.ok in node:test (#29383)
Some checks are pending
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 wasm32 (push) Blocked by required conditions
ci / publish canary (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
2025-05-20 04:05:19 +00:00
Divy Srivastava
69eeabb879
fix(ext/node): implement before and after hooks in node:test (#29367)
Ref https://github.com/denoland/deno/issues/29360 and
https://github.com/denoland/deno/issues/28837. Needed for `node:sqlite`
tests
2025-05-19 07:26:41 +00:00
Divy Srivastava
3c6a99fce3
fix(ext/node): handle null ssl options in node:https (#29365)
Fixes https://github.com/denoland/deno/issues/29364
2025-05-19 07:55:15 +02:00
Divy Srivastava
69eafe4814
fix(ext/node): prevent stdin double read (#29353)
Accidental debug code from
28cb8f7011
2025-05-17 17:17:39 +00:00
Divy Srivastava
28cb8f7011
fix: process.stdin.pause() (#29330) 2025-05-17 18:46:26 +05:30
Bartek Iwańczuk
a08d4a09f0
fix(ext/node): emit 'worker' event when a new worker thread is created (#29345)
As per title. Enables one Node compat test
2025-05-17 12:35:05 +05:30
Bartek Iwańczuk
b41fe8c566
feat: use a single 'performance' global (#29323)
This commit changes how "performance" global is handled -
instead of having separate "performance" globals for user and npm
code, we now have a single implementation.

This implementation is a de facto Node.js implementation - ie. it
contains additional properties compared to the "Web" implementation.

The two global can be compared using these docs sites:
- Web - https://developer.mozilla.org/en-US/docs/Web/API/Performance
- Node.js https://nodejs.org/api/perf_hooks.html

The benefit of this change is that when you use `performance.now()` in a
tight loop, the actual runtime of the code significantly improves - this
is because the `performance` global doesn't have to be "looked up" and
decided which is to be used, the "Web" or the "Node.js" version.
2025-05-17 00:11:11 +02:00
James Bronder
3f7b7d612d
fix(ext/node): use primordials in ext/node/polyfills/internal/net.ts (#29297)
Towards #24236. Replaces `Symbol`, `RegExp` and its instance method,
`.test()`, with primordial equivalents.
2025-05-15 09:01:50 +02:00
James Bronder
6fe8fcda33
fix(ext/node): use primordials in ext/node/polyfills/internal/validators.mjs (#29302)
Towards #24236. Replaces JS instrinsics with equivalent primordials.
2025-05-15 09:01:14 +02:00
James Bronder
5437871a52
fix(ext/node): use primordials in ext/node/polyfills/internal/stream_base_commons.ts (#29290)
Towards #24236. Replaces JS intrinsics with primordial equivalents. Lint
"ignore" statements were added for `Readable` stream instances.
2025-05-14 11:54:23 +02:00
James Bronder
df7ddfc7df
fix(ext/node): use primordials in ext/node/polyfills/internal/url.ts (#29146)
Some checks are pending
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 wasm32 (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
Towards #24236.
2025-05-13 23:30:44 +00:00
James Bronder
527c7401d5
fix(ext/node): use primordials in ext/node/polyfills/internal/normalize_encoding.mjs (#29283)
Towards #24236. Replaces the `.toLowerCase` method with its equivalent
primordial method.
2025-05-14 00:03:04 +02:00
Divy Srivastava
e6c2ad1431
fix(ext/node): TLS server unref (#29279)
Fixes https://github.com/denoland/deno/issues/29230
2025-05-13 21:38:41 +05:30
Divy Srivastava
6002d2624e
fix(ext/node): allow rejectUnauthorized: false in node:tls (#29245)
Fix #29228

Allow disable TLS cert verification using `options.rejectUnauthorized`.
If passed. `--unsafely-ignore-certificate-errors` overrides
`rejectUnauthorized: false`
2025-05-13 17:43:58 +05:30
Yoshiya Hinosawa
1022decc79
fix(ext/node): align input validation of Buffer.compare (#29275)
Some checks are pending
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / test debug macos-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 / build wasm32 (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
2025-05-13 17:14:19 +09:00
Divy Srivastava
acd0c94b46
fix(ext/node): add AES CTR to supported ciphers list (#29273)
Fix https://github.com/denoland/deno/issues/29047
2025-05-13 09:45:36 +05:30
James Bronder
eb1303b8f2
fix(ext/node): use primordials in ext/node/polyfills/internal/querystring.ts (#29264)
Some checks are pending
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 / 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 / build wasm32 (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
2025-05-13 11:06:25 +09:00
Yoshiya Hinosawa
363223aa6a
fix(ext/node): export CallTracker as named export (#29271) 2025-05-13 10:15:48 +09:00
James Bronder
865d046ba3
fix(ext/node): use primordials in ext/node/polyfills/internal/timers.mjs (#29269)
Towards #24236. Replaces JS intrinsics with equivalent primordial
versions.
2025-05-13 02:09:51 +02:00
Divy Srivastava
9cb72064d3
fix(ext/node): implement dgram setMulticastLoopback (#29241)
`npm:multicast-dns` works in Deno now.

Ref https://github.com/denoland/deno/issues/18324
2025-05-12 08:53:15 +05:30
James Bronder
5ab029db22
fix(ext/node): use primordials in ext/node/polyfills/internal/cli_table.ts (#29257)
Towards #24236. Replaces JS intrinsics with their equivalent primordial
versions.
2025-05-12 02:47:28 +02:00
James Bronder
2a01ac4482
fix(ext/node): use primordials in ext/node/polyfills/internal/fs/handle.ts (#29239)
Towards #24236. This PR updates JS intrinsics with their primordial
equivalents.
2025-05-11 13:38:53 +02:00
Divy Srivastava
c27aaf9f26
fix(ext/node): implement dgram socket setMulticastTTL (#29232)
Ref https://github.com/ipfs/helia/issues/73#issuecomment-2864091259
2025-05-10 09:22:02 +05:30
Divy Srivastava
b14e104306
fix(ext/node): use "localhost" as default tls hostname (#29231)
Fixes https://github.com/denoland/deno/issues/29229
2025-05-10 09:21:49 +05:30
Divy Srivastava
7852806c3a
fix(ext/node): Fix export loadEnvFile from node:process (#29237)
Fixes https://github.com/denoland/deno/issues/29236
2025-05-10 09:21:26 +05:30
Bartek Iwańczuk
6bbba3c348
fix(ext/node): add assert.CallTracker (#29226) 2025-05-09 14:55:28 +00:00
David Sherret
cd877fd16f
fix(node/test): basic support for t.skip and t.todo (#29222)
Adds basic support for `t.skip` and `t.todo`
2025-05-09 01:40:16 +02:00
Marvin Hagemeister
ed55e915a2
fix(node:http): ServerResponse.req not set (#29211)
This PR sets `ServerRsposne.req` properly. See
e38ce27f3c/lib/_http_server.js (L201)

Fixes https://github.com/denoland/deno/issues/29209
2025-05-08 18:42:04 +02:00
Divy Srivastava
e2047941f7
fix(ext/node): dgram multicast group membership (#29207)
Closes https://github.com/denoland/deno/issues/28421
Ref https://github.com/denoland/deno/issues/18324
2025-05-08 22:07:40 +05:30
Satya Rohith
5f139910a1
fix(ext/node): support http over unix sockets (#29182)
Closes https://github.com/denoland/deno/issues/20255

---------

Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2025-05-08 22:07:28 +05:30
James Bronder
ac42843157
fix(ext/node): use primordials in ext/node/polyfills/internal/dgram.ts (#29204)
Towards #24236. Replaces `Symbol` as well as as `Function` and `Map`
instance methods with the primordial equivalents. A "prefer-primordial"
ignore comment was added to the `handle.bind` method call within the
`_createSocketHandle` function since this is a method call on a `UDP`
instance instead of a `bind` call on a `Function` object.

Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2025-05-08 16:03:55 +02:00
Divy Srivastava
f334f903ef
fix(ext/node): arrayBufferViewHasBuffer internal util (#28827) 2025-05-08 09:58:08 +05:30
Divy Srivastava
802826e54e
fix(ext/node): implement dgram setBroadcast (#29195) 2025-05-08 09:03:43 +05:30
James Bronder
f3943bf6e3
fix(ext/node): use primordials in ext/node/polyfills/internal/idna.ts (#29085)
Towards #24236. This PR replaces JS built-ins, `String` and `Array`,
with the primordial versions.
2025-05-07 16:01:03 +02:00
Efe
cf8b9778d9
fix(ext/node): use primordials in ext/node/polyfills/_fs/_fs_mkdtemp.ts (#29072)
Towards #24236
2025-05-07 16:00:26 +02:00