Divy Srivastava
642c4a44a5
fix(ext/node): querystring stringify without encode callback ( #21740 )
...
Fixes https://github.com/denoland/deno/issues/21734
Changes:
- Use default encode when options do not provide a encode callback.
- Remove internal TS for `node:querystring`. Its not helping catching
bugs like this because of invalid type assumptions and use of `any`,
more of a maintenance burden.
2024-01-02 04:54:11 +00:00
David Sherret
7e72f3af61
chore: update copyright to 2024 ( #21753 )
2024-01-01 19:58:21 +00:00
Jovi De Croock
4339a6c55d
fix(node/zlib): consistently return buffer ( #21747 )
...
This fixes point 3 of https://github.com/denoland/deno/issues/20516
This PR creates consistency between the sync and async versions of the
brotli compress where we will always return a buffer like Node.
2023-12-31 17:23:09 +05:30
Jovi De Croock
08fc8d50e3
fix(node/zlib): cast Dataview and Buffer to uint8 ( #21746 )
...
This fixes point 2 of #20516
This adds a conversion from Dataview/Buffer by returning `obj.buffer`
which can be converted to a `UInt8Array`.
Question: Regarding point 4 of the mentioned issue would it be
appropriate to copy the toU8 helper to the `zlib.mjs` methods?
2023-12-31 17:20:37 +05:30
Divy Srivastava
c08319262a
fix(node): Implement os.cpus() ( #21697 )
...
Fixes https://github.com/denoland/deno/issues/21666
Zero added dependency and tries to match the libuv implementation
2023-12-28 09:08:50 +05:30
Lino Le Van
d5f6e271ff
fix(ext/node): Implement aes-192-ecb
and aes-256-ecb
( #21710 )
2023-12-27 17:24:52 +05:30
Divy Srivastava
60da9d493c
fix(ext/node): add ClientRequest#setNoDelay ( #21694 )
...
Fixes https://github.com/denoland/deno/issues/18316
2023-12-25 08:58:51 +05:30
Divy Srivastava
26cf06ed9f
fix(node): child_process kill cancel pending IPC reads ( #21647 )
2023-12-20 07:55:09 +05:30
Divy Srivastava
5aa27c45f1
fix(node): add crypto.pseudoRandomBytes ( #21649 )
2023-12-20 07:54:55 +05:30
Divy Srivastava
5ace65485f
fix(node): return false from vm.isContext ( #21568 )
...
https://github.com/denoland/deno/issues/20851#issuecomment-1779226106
for `jsdom`
2023-12-14 10:19:50 +00:00
Divy Srivastava
38002ffdd7
fix(zlib): handle no flush flag in handle_.write ( #21432 )
...
Fixes https://github.com/denoland/deno/issues/21096
2023-12-13 09:58:56 -07:00
Divy Srivastava
02e138dca9
fix(ext/node): basic vm.runInNewContext implementation ( #21527 )
...
Simple implementation to support webpack (& Next.js):
8766092180/lib/javascript/JavascriptParser.js (L4329)
2023-12-11 07:08:45 +00:00
Divy Srivastava
5e24e28318
fix(ext/node): ServerResponse getHeader() return undefined ( #21525 )
...
Matches Node's return type.
Next.js check for `if (header === undefined)`:
e02fe314dc/packages/next/src/server/base-http/node.ts (L93)
2023-12-11 11:11:59 +05:30
Divy Srivastava
e8fc7c20b7
fix(ext/node): stub ServerResponse#flushHeaders ( #21526 )
...
This commit adds a no-op flushHeaders method to the ServerResponse
object. It is a nop because the ServerResponse implementation is based
on top of the Deno server API instead of the Node `OutgoingMessage`
base.
Fixes #21509
2023-12-11 04:46:12 +00:00
Yoshiya Hinosawa
3a74fa60ca
fix(ext/node): allow null value for req.setHeader ( #21391 )
...
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-12-08 17:43:19 +09:00
Yoshiya Hinosawa
f75eb12801
test(ext/node): compare free memory in log scale ( #21475 )
2023-12-07 00:32:39 +09:00
David Sherret
a24d3e8763
perf(node/fs): faster existsSync
when not exists ( #21458 )
2023-12-04 21:05:40 +00:00
Divy Srivastava
32438d25c3
fix(ext/node): sign with PEM private keys ( #21287 )
...
Add support for signing with a RSA PEM private key: `pkcs8` and `pkcs1`.
Fixes https://github.com/denoland/deno/issues/18972
Ref #21124
Verified fix with `npm:sshpk`. Unverfied but fixes
`npm:google-auth-library`, `npm:web-push` & `oracle/oci-typescript-sdk`
---------
Signed-off-by: Divy Srivastava <dj.srivastava23@gmail.com>
2023-12-03 09:58:13 +05:30
David Sherret
f29075ae4c
fix(node): setting process.exitCode should change exit code of process ( #21429 )
2023-12-02 16:03:37 +00:00
Asher Gomez
d2b5254c33
chore: update std to 0.208.0 ( #21318 )
...
Re-attempt at #21284 . I was more thorough this time.
---------
Signed-off-by: Asher Gomez <ashersaupingomez@gmail.com>
2023-12-02 03:20:06 +01:00
Daniel Mizerski
687ae870d1
fix(ext/node): add stubbed process.report ( #21373 )
...
Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
2023-12-01 15:36:11 +09:00
Yoshiya Hinosawa
3591ba8578
fix(ext/node): fix os.freemem ( #21347 )
2023-11-30 22:06:01 +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
7d8f0ae038
chore(ext/node): remove unnecessary test case ( #21337 )
...
This test case is covered by the last case in
5710fffb12/cli/tests/node_compat/test/parallel/test-stream2-transform.js
and not necessary anymore.
2023-11-25 12:20:47 +09:00
Bartek Iwańczuk
998d9061ef
chore: deflake unit_node/crypto/crypto_key_test.ts ( #21331 )
...
Ref https://github.com/denoland/deno/issues/21187
On CI we are going to run only fast tests, with an option to
pass `SLOW_TESTS=1` env var to enable more comprehensive tests.
2023-11-24 12:56:05 -07:00
Yoshiya Hinosawa
bf42467e21
fix(ext/node): fix node:stream.Writable ( #21297 )
...
This change applies the same fix as
https://github.com/nodejs/node/pull/46818 , and the original example
given in #20456 works as expected.
closes #20456
2023-11-23 09:57:05 +09:00
Asher Gomez
616354e76c
refactor: replace deferred()
from std/async
with Promise.withResolvers()
( #21234 )
...
Closes #21041
---------
Signed-off-by: Asher Gomez <ashersaupingomez@gmail.com>
2023-11-22 12:11:20 +01:00
Bartek Iwańczuk
0ffcb46e0f
Revert "chore: update to std@0.207.0
( #21284 )" ( #21295 )
...
This reverts commit 20aa0796e6
.
`main` has been failing consistenly on `kv_undelivered_test` and
`serve_test` after this upgrade.
2023-11-22 04:13:56 +00:00
Asher Gomez
20aa0796e6
chore: update to std@0.207.0
( #21284 )
...
Closes #21002
2023-11-22 02:03:03 +01:00
Divy Srivastava
c97a97240b
fix(ext/node): handle closing process.stdin more than once ( #21267 )
...
Fixes https://github.com/denoland/deno/issues/21112
Aligns more towards what Node.js does. Closing stdin more than once is a
nop.
2023-11-20 18:57:18 +05:30
Bartek Iwańczuk
cf6673b23d
fix(ext/node): add APIs perf_hook.performance ( #21192 )
...
Required for Next.js.
2023-11-14 16:33:09 +05:30
Jacob Hummer
b2e3389a6a
fix(node/http): export globalAgent ( #21081 )
...
Fixes #21080
Fixes #18312
---------
Signed-off-by: Jacob Hummer <jcbhmr@outlook.com>
2023-11-11 10:13:30 +05:30
Divy Srivastava
df14835b83
fix(ext/node): implement process.geteuid ( #21151 )
...
Fixes #21097
2023-11-10 11:49:57 -07:00
Bartek Iwańczuk
612b7dfcc7
fix(node/child_process): properly normalize stdio for 'spawnSync' ( #21103 )
...
Closes https://github.com/denoland/deno/issues/20782
2023-11-10 05:59:39 +00:00
Divy Srivastava
c4029f6af2
fix(node): implement createPrivateKey ( #20981 )
...
Towards #18455
2023-11-09 23:26:59 +05:30
Gasman
837c870ff4
fix(node/http): socket.setTimeout ( #20930 )
...
Fixes #20923
2023-11-07 00:51:14 +01: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
Kenta Moriuchi
841f215fd4
fix(ext/node): adapt dynamic type checking to Node.js behavior ( #21014 )
2023-11-01 16:06:25 +09:00
Bartek Iwańczuk
e7abb705f9
Revert "chore: update deno_std submodule ( #20994 )" ( #21001 )
...
This reverts commit 6e2abb2b13
.
2023-10-28 01:24:37 +00:00
Bartek Iwańczuk
6e2abb2b13
chore: update deno_std submodule ( #20994 )
2023-10-27 10:34:30 -04:00
sigmaSd
9f9c3d9048
fix(polyfill): correctly handle flag when its equal 0 ( #20953 )
...
Fixes https://github.com/denoland/deno/issues/20910
2023-10-22 08:02:55 +00:00
Bartek Iwańczuk
5095af7801
fix(ext/node): process.argv0 ( #20925 )
...
Fixes https://github.com/denoland/deno/issues/20924
2023-10-18 01:51:39 +02:00
Bartek Iwańczuk
cee221109a
fix(node/http2): fixes to support grpc ( #20712 )
...
This commit improves "node:http2" module implementation, by enabling
to use "options.createConnection" callback when starting an HTTP2
session.
This change enables to pass basic client-side test with "grpc-js/grpc"
package.
Smaller fixes like "Http2Session.unref()" and "Http2Session.setTimeout()"
were handled as well.
Fixes #16647
2023-10-12 14:03:19 +00:00
Divy Srivastava
ab3c9d41e4
fix(ext/node): implement uv.errname ( #20785 )
...
Fixes https://github.com/denoland/deno/issues/20617
2023-10-05 18:27:20 +00:00
Luca Casonato
d5b6c636b0
fix(ext/node): don't call undefined nextTick fn ( #20724 )
...
The `process` global is not defined in this file.
Fixes #20441
---------
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-10-02 14:13:57 +02:00
Divy Srivastava
75a724890d
fix(node): supported arguments to randomFillSync
( #20637 )
...
Fixes https://github.com/denoland/deno/issues/20634
2023-09-23 10:04:55 +02:00
Luca Casonato
430b63c2c4
perf: improve async op santizer speed and accuracy ( #20501 )
...
This commit improves async op sanitizer speed by only delaying metrics
collection if there are pending ops. This
results in a speedup of around 30% for small CPU bound unit tests.
It performs this check and possible delay on every collection now,
fixing an issue with parent test leaks into steps.
2023-09-16 07:48:31 +02:00
Bartek Iwańczuk
5a1505db67
feat(ext/node): http2.connect() API ( #19671 )
...
This commit improves compatibility of "node:http2" module by polyfilling
"connect" method and "ClientHttp2Session" class. Basic operations like
streaming, header and trailer handling are working correctly.
Refing/unrefing is still a TODO and "npm:grpc-js/grpc" is not yet working
correctly.
---------
Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2023-09-15 21:51:25 +02:00
Curran McConnell
a9cc4631ca
fix(ext/node/ops/zlib/brotli): Allow decompressing more than 4096 bytes ( #20301 )
...
Fixes https://github.com/denoland/deno/issues/19816
In that issue, I suggest switching over the other brotli functionality
to the Rust API provided by the `brotli` crate. Here, I only do that
with the `brotli_decompress` function to fix the bug with buffers longer
than 4096 bytes.
2023-09-08 09:11:33 +05:30
Divy Srivastava
9befa566ec
fix(ext/node): implement AES GCM cipher ( #20368 )
...
Adds support for AES-GCM 128/256 bit keys in `node:crypto` and
`setAAD()`, `setAuthTag()` and `getAuthTag()`
Uses https://github.com/littledivy/aead-gcm-stream
Fixes https://github.com/denoland/deno/issues/19836
https://github.com/denoland/deno/issues/20353
2023-09-06 11:01:50 +05:30