Divy Srivastava
5a91a065b8
fix: implement child_process IPC ( #21490 )
...
This PR implements the Node child_process IPC functionality in Deno on
Unix systems.
For `fd > 2` a duplex unix pipe is set up between the parent and child
processes. Currently implements data passing via the channel in the JSON
serialization format.
2023-12-13 11:14:16 +01:00
Yoshiya Hinosawa
e9ab9ba9f0
test(ext/node): enable some compat test cases ( #21532 )
...
This change uncomments Node.js compat test cases which was enabled by the
addition of `vm.runInNewContext`
https://github.com/denoland/deno/pull/21527
2023-12-11 19:17:36 +09:00
Yoshiya Hinosawa
e332fa4a83
fix(ext/node): add util.parseArgs ( #21342 )
2023-11-29 15:42:58 +09:00
Yoshiya Hinosawa
567d7ff923
fix(ext/node): fix Buffer.copy when sourceStart > source.length ( #21345 )
2023-11-28 22:28:07 +09:00
Yoshiya Hinosawa
4ed9278bf4
fix(ext/node): fix duplexify compatibility ( #21346 )
2023-11-28 12:14:57 +09:00
David Sherret
d4ef471744
fix(node): spawnSync
's status
was incorrect ( #21359 )
...
The exit code wasn't hooked up properly.
2023-11-27 19:54:01 -05:00
Yoshiya Hinosawa
5710fffb12
chore: update node_compat test suites to v18.18.2 ( #21328 )
2023-11-25 11:35:36 +09:00
Kenta Moriuchi
0c1ab2c7f7
fix(ext/node): Re-enable alloc max size test ( #21059 )
...
Ref #21036
2023-11-11 08:23:01 +00:00
Kenta Moriuchi
90189dd997
fix(ext): use String#toWellFormed
in ext/webidl and ext/node ( #21054 )
...
Fixes #18802
This PR adds `util.toUSVString` to node:util:
```js
import util from "node:util";
util.toUSVString("string\ud801"); // => "string\ufffd"
```
2023-11-06 22:18:28 +01:00
Bartek Iwańczuk
1d19b1011b
chore: upgrade deno_core ( #21036 )
...
Updated to deno_core 0.224.0 and V8 12.0.
---------
Co-authored-by: Aapo Alasuutari <aapo.alasuutari@gmail.com>
2023-11-01 20:25:09 +01:00
Divy Srivastava
82643857cc
Revert "chore: use kqueue backend of notify on macOS" ( #21039 )
...
Reverts denoland/deno#21028
Reason:
https://github.com/notify-rs/notify/blob/main/notify/src/kqueue.rs#L79-L81
Need to wait for the watcher thread to spawn otherwise we hit flakes
---------
Signed-off-by: Divy Srivastava <dj.srivastava23@gmail.com>
2023-11-01 15:54:27 +00:00
Divy Srivastava
646afdf259
chore: use kqueue backend of notify on macOS ( #21028 )
...
Towards #20996
"macos_fsevent" feature of notify links us to CoreFoundation on macOS.
2023-10-31 16:43:04 +00:00
Divy Srivastava
09204107d8
fix: implement node:tty ( #20892 )
...
Fixes #21012
Closes https://github.com/denoland/deno/issues/20855
Fixes https://github.com/denoland/deno/issues/20890
Fixes https://github.com/denoland/deno/issues/20611
Fixes https://github.com/denoland/deno/issues/20336
Fixes `create-svelte` from https://github.com/denoland/deno/issues/17248
Fixes more reports here:
- https://github.com/denoland/deno/issues/6529#issuecomment-1432690559
- https://github.com/denoland/deno/issues/6529#issuecomment-1522059006
- https://github.com/denoland/deno/issues/6529#issuecomment-1695803570
2023-10-30 15:53:08 +00:00
Aapo Alasuutari
effb5e1ce4
fix(node/buffer): utf8ToBytes should return a Uint8Array ( #20769 )
2023-10-08 11:09:50 +09:00
Rui He
74e4c7f80f
feat(node/os): Add availableParallelism
( #20745 )
2023-09-30 19:51:06 +05:30
Hirotaka Tagawa / wafuwafu13
9017e789df
test(node_compat): add test-http-url.parse*
( #20458 )
...
Add `test-http-url.parse*` tests for Node compat.
2023-09-30 10:14:48 +02:00
Bartek Iwańczuk
2a1ba2732e
chore: disable 'test-http-content-length.js` test ( #20344 )
2023-09-04 23:23:01 +02:00
osddeitf
c2547ba039
fix(node/http): correctly send Content-length
header instead of Transfer-Encoding: chunked
( #20127 )
...
Fix #20063 .
2023-08-28 09:32:54 +02:00
Evan
79d1445796
fix(ext/node): allow for the reassignment of userInfo() on Windows ( #20165 )
...
The goal of this PR is to address issue #20106 where a `TypeError`
occurs when the variables `uid` and `gid` from `userInfo()` in `node:os`
are reassigned if the user is on Windows. Both `uid` and `gid` are
marked as `const` therefore producing a `TypeError` when the two are
reassigned.
This PR achieves that goal by marking `uid` and `gid` as `let`
2023-08-16 11:28:49 +02:00
Yoshiya Hinosawa
cd2525d4cf
test(ext/node): clean up node:path test cases ( #19610 )
2023-07-05 16:13:34 +09:00
Ryan Clements
b37b286f7f
fix(ext/node): remove path.toFileUrl ( #19536 )
2023-06-26 13:08:17 +09:00
Hirotaka Tagawa / wafuwafu13
0104741d6f
chore(node_compat): fix path strings generated by setup.ts
( #19347 )
2023-06-02 15:05:32 +09:00
Leo Kettmeir
be59e93220
refactor(node/http): don't use readablestream for writing to request ( #19282 )
...
Refactors the internal usage of a readablestream to write to the
resource directly
---------
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-05-27 15:42:20 +02:00
Yoshiya Hinosawa
243d9c846d
fix(ext/node): fix whatwg url formatting ( #19146 )
2023-05-17 14:51:51 +09:00
Leo Kettmeir
867a6d3032
refactor(node): reimplement http client ( #19122 )
...
This commit reimplements most of "node:http" client APIs using
"ext/fetch".
There is some duplicated code and two removed Node compat tests that
will be fixed in follow up PRs.
---------
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-05-17 01:20:32 +02:00
Levente Kurusa
1171c54952
feat(node/crypto): Builtin Diffie-Hellman Groups ( #19137 )
...
Towards #18455
2023-05-16 00:07:58 +02:00
Levente Kurusa
3356173d00
feat(node/crypto): Diffie Hellman Support ( #18943 )
...
Support crypto.DiffieHellman class in ext/node/crypto
2023-05-15 19:41:53 +02:00
Yoshiya Hinosawa
ab88dc2c68
chore(ext/node): removed skipped compat test cases ( #19109 )
2023-05-13 15:26:16 +09:00
Yoshiya Hinosawa
2a0c664840
chore: fix & update node compat config ( #19106 )
2023-05-13 14:49:11 +09:00
Marvin Hagemeister
f1d0f745d3
fix(node): expose channels in worker_threads ( #19086 )
...
This PR ensures that node's `worker_threads` module exports
`MessageChannel`, `MessagePort` and the `BroadcastChannel` API. Fixing
these won't make `esbuild` work, but brings us one step closer 🎉
Fixes #19028 .
2023-05-11 12:32:19 +02:00
Marvin Hagemeister
5fd74bfa1c
feat(node): add Module.runMain()
( #19080 )
...
This PR adds the missing `Module.runMain()` function which is required
for tools like `ts-node`.
Fixes #19033
2023-05-11 00:13:45 +02:00
Leo Kettmeir
9c8ebce3dc
refactor: merge Deno & Node inspectors ( #18691 )
2023-04-30 07:24:13 +00:00
Divy Srivastava
b0264bea7d
fix(ext/node): prime generation ( #18861 )
...
Towards https://github.com/denoland/deno/issues/18455
`safe`, `add` and `rem` options are not implemented because there is no
rust crate that provides this functionality (except rust-openssl maybe)
and its just not clear if this API is used widely.
2023-04-27 19:40:59 +05:30
Yoshiya Hinosawa
63befe9377
fix(ext/node): fix hash.flush ( #18818 )
2023-04-25 11:21:26 +09:00
Bartek Iwańczuk
ebfc75fe8c
test: disable flaky Node test ( #18821 )
...
If we hit a slow runner this test almost always fails.
2023-04-24 22:55:06 +09:00
Yoshiya Hinosawa
53c9f5918c
fix(ext/node): improve vm.runInThisContext ( #18767 )
2023-04-19 23:26:16 +09:00
Bartek Iwańczuk
972469d309
tests: disable another flaky test ( #18762 )
...
This test is flaky too, it actually shouldn't be running since it's not
listed in `cli/tests/node_compat/config.jsonc` at all.
2023-04-19 00:10:01 +00:00
Bartek Iwańczuk
edca01c35e
chore: disable flaky Node compat tests ( #18760 )
...
I'm not able to reproduce any of the failures from CI on my machine.
I'm going to disable these tests for now as they are holding us back.
2023-04-19 00:32:21 +02:00
Yoshiya Hinosawa
5f44396a9e
fix(ext/node): implement crypto.createVerify ( #18703 )
2023-04-18 21:04:51 +09:00
Yoshiya Hinosawa
de21a780fd
fix(ext/node): add req.socket.remoteAddress ( #18733 )
2023-04-18 16:00:51 +09:00
Yoshiya Hinosawa
559a61b879
chore: update node compat config ( #18736 )
2023-04-18 00:36:49 +09:00
Divy Srivastava
a0dd0cbcb9
fix(ext/node): add X509Certificate ( #18625 )
...
Towards #18455
2023-04-07 22:54:16 +05:30
Divy Srivastava
df72420d72
fix(ext/node): implement hkdf-expand ( #18612 )
...
Towards https://github.com/denoland/deno/issues/18455
2023-04-06 16:56:56 +00:00
Divy Srivastava
3b62a58818
fix(ext/node): add symmetric keygen ( #18609 )
...
Towards #18455
2023-04-06 18:39:25 +05:30
Bartek Iwańczuk
381f5801f9
Revert "refactor(ext/node): Use Deno.inspect ( #17960 )" ( #18491 )
...
This reverts commit a3529d0232
.
This change made debugging Node tests very hard - `AssertionError` is
now printed as `[Circular *1]` giving no visibility what failed.
We need to align two implementations together and remove this one then.
2023-03-30 15:33:28 +00:00
Bartek Iwańczuk
d418f792a9
test: fix test_check_origin_not_supported ( #18504 )
...
Merge of dotland and dotcom caused this test to fail.
2023-03-30 19:17:39 +05:30
Divy Srivastava
10012c2fe3
feat(ext/node): add crypto.checkPrime
API ( #18465 )
...
Towards #18455
This commit implements `checkPrimeSync` and `checkPrime` in node:crypto
using the Miller-Rabin primality test (fun fact: it actually is a test
for composite numbers)
It first compares the candidate against many known small primes and if
not, proceeds to run the Miller-Rabin primality test.
http://nickle.org/examples/miller-rabin.5c used as reference
implementation.
2023-03-28 10:56:38 +00:00
Ryan Dahl
a3529d0232
refactor(ext/node): Use Deno.inspect ( #17960 )
...
No need for two almost identical implementations of the same thing
---------
Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
Co-authored-by: Aapo Alasuutari <aapo.alasuutari@gmail.com>
2023-03-23 10:01:07 -04:00
Yoshiya Hinosawa
aa729a42b4
chore(tools): restore node compat test setup script ( #18290 )
2023-03-21 22:38:07 +09:00
Yoshiya Hinosawa
6915a9b7a7
test(ext/node): more node compat tests ( #17827 )
...
This PR adds the remaining ~650 Node.js compat test cases from std/node.
Among these 650 cases, about 130 cases are now failing. These failing
cases are prefixed with `TODO:` in `tests/node_compat/config.json`.
These will be addressed in later PRs.
2023-02-20 16:35:04 +01:00