denobot
8f59d18202
2.0.6 ( #26803 )
...
Bumped versions for 2.0.6
Signed-off-by: Divy Srivastava <dj.srivastava23@gmail.com>
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2024-11-10 10:08:11 +05:30
snek
811f99dc7d
fix: performance.timeOrigin ( #26787 )
...
`performance.timeOrigin` was being set from when JS started executing,
but `op_now` measures from an `std::time::Instant` stored in `OpState`,
which is created at a completely different time. This caused
`performance.timeOrigin` to be very incorrect. This PR corrects the
origin and also cleans up some of the timer code.
Compared to `Date.now()`, `performance`'s time origin is now
consistently within 5us (0.005ms) of system time.
![image](https://github.com/user-attachments/assets/0a7be04a-4f6d-4816-bd25-38a2e6136926 )
2024-11-10 09:24:22 +05:30
Divy Srivastava
f16980bec6
feat(ext/http): abort event when request is cancelled ( #26781 )
...
```js
Deno.serve(async (req) => {
const { promise, resolve } = Promise.withResolvers<void>();
req.signal.addEventListener("abort", () => {
resolve();
});
await promise;
return new Response("Ok");
});
```
2024-11-10 09:24:22 +05:30
Divy Srivastava
1363822048
fix(ext/cache): don't panic when creating cache ( #26780 )
2024-11-10 09:24:22 +05:30
Divy Srivastava
12c48f9117
feat(ext/http): abort signal when request is cancelled ( #26761 )
...
Closes https://github.com/denoland/deno/issues/21653
2024-11-10 09:24:22 +05:30
Leo Kettmeir
8441aefc8c
refactor: use concrete error type for remaining ops ( #26746 )
2024-11-10 09:24:22 +05:30
Kaveh
3b37162c46
refactor(ext/net): Use hickory dns instead of unmaintained trust-dns ( #26741 )
...
This PR replaces the unmaintained and rebranded `trust-dns` to `hickory`
for resolver in `deno_net`.
2024-11-10 09:24:22 +05:30
Satya Rohith
faed1d8e59
fix(node:zlib): gzip & gzipSync should accept ArrayBuffer ( #26762 )
...
Closes https://github.com/denoland/deno/issues/26638
2024-11-10 09:24:22 +05:30
snek
6040d69c15
fix(ext/node): better inspector support ( #26471 )
...
implement local inspector
future changes:
- wire up InspectorServer to enable open/close/url
- wire up connectToMainThread
Fixes https://github.com/denoland/deno/issues/25004
2024-11-10 09:24:22 +05:30
denobot
78a799b494
2.0.5 ( #26753 )
...
Bumped versions for 2.0.5
Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
2024-11-06 01:19:05 +01:00
Nathan Whitaker
331f101279
fix(ext/node): add findSourceMap
to the default export of node:module
( #26720 )
...
Next.js 15.0.2 tries to use this and errors out
2024-11-06 00:36:25 +01:00
Leo Kettmeir
1bdecc8c73
refactor(runtime/permissions): use concrete error types ( #26464 )
2024-11-06 00:36:25 +01:00
Kenta Moriuchi
3bded14144
chore: update dlint to v0.68.0 for internal ( #26711 )
2024-11-06 00:36:24 +01:00
David Sherret
c5887708a9
fix: improved support for cjs and cts modules ( #26558 )
...
* cts support
* better cjs/cts type checking
* deno compile cjs/cts support
* More efficient detect cjs (going towards stabilization)
* Determination of whether .js, .ts, .jsx, or .tsx is cjs or esm is only
done after loading
* Support `import x = require(...);`
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-11-06 00:36:24 +01:00
Divy Srivastava
2e70376451
chore: upgrade to rust 1.82 and LLVM 19 ( #26615 )
...
Upgrade to rust 1.82 and LLVM 19 . Removes one webusb test because
`requestAdapter` not working on new ubuntu 24 runners
2024-11-06 00:36:24 +01:00
Nathan Whitaker
8c70b6151a
fix(node): Implement os.userInfo
properly, add missing toPrimitive
( #24702 )
...
Fixes the implementation of `os.userInfo`, and adds a missing
`toPrimitive` for `tmpdir`. This allows us to enable the corresponding
node_compat test.
2024-11-06 00:36:23 +01:00
Nathan Whitaker
68cee70838
fix(ext/node): resolve exports even if parent module filename isn't present ( #26553 )
...
Fixes https://github.com/denoland/deno/issues/26505
I'm not exactly sure how this case comes about (I tried to write tests
for it but couldn't manage to reproduce it), but what happens is the
parent filename ends up null, and we bail out of resolving the specifier
in package exports.
I've checked, and in node the parent filename is also null (so that's
not a bug on our part), but node continues to resolve even in that case.
So this PR should match node's behavior more closely than we currently
do.
2024-11-06 00:36:23 +01:00
Nathan Whitaker
d284d1c6a8
fix(ext/node): convert errors from fs.readFile/fs.readFileSync
to node format ( #26632 )
...
Fixes the original issue reported in #26404 . storybook runs into other
errors after this PR (the new errors will be fixed in other PRs).
Some code used by a dependency of storybook does a [string comparison on
the error
message](ce30b2be34/node-src/lib/getConfiguration.ts (L88-L92)
)
thrown here to check for a file not found error.
2024-11-06 00:36:23 +01:00
Divy Srivastava
13612e7112
fix: clamp smi in fast calls by default ( #26506 )
...
Fixes https://github.com/denoland/deno/issues/26480
Ref
d2945fb65b
2024-11-06 00:36:22 +01:00
David Sherret
b9cec00c47
fix: remove permission check in op_require_node_module_paths ( #26645 )
2024-11-06 00:36:22 +01:00
Nathan Whitaker
0e2a7315b7
fix(ext/node): return this
from http.Server.ref/unref()
( #26647 )
...
Fixes https://github.com/denoland/deno/issues/26642
2024-11-06 00:36:22 +01:00
denobot
b7c282d2f8
2.0.4 ( #26630 )
...
Bumped versions for 2.0.4
Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
2024-10-30 01:15:35 +01:00
Yoshiya Hinosawa
36b7f9d9ed
Revert "fix(ext/node): fix dns.lookup result ordering ( #26264 )" ( #26621 )
...
This reverts commit d59599fc18
.
Closes #26588
2024-10-30 00:16:13 +01:00
Volker Schlecht
6f6879327c
fix(ext/napi): export dynamic symbols list for {Free,Open}BSD ( #26605 )
...
The two BSD ports are reusing the Linux code here.
2024-10-30 00:16:13 +01:00
Volker Schlecht
99febad5e2
fix(ext/node): compatibility with {Free,Open}BSD ( #26604 )
...
Ports for both BSDs contain patches to the same effect.
See
https://github.com/freebsd/freebsd-ports/blob/main/www/deno/files/patch-ext_node_ops_fs.rs
and
8644910cae/lang/deno/patches/patch-ext_node_ops_fs_rs
2024-10-30 00:16:12 +01:00
Bartek Iwańczuk
a2dacc7686
Revert "fix(ext/node): use primordials in ext/node/polyfills/https.ts
( #26323 )" ( #26613 )
...
…s` (#26323 )"
This reverts commit afb33b3c25
.
Reverting because it caused a regression -
https://github.com/denoland/deno/issues/26612 .
Closes https://github.com/denoland/deno/issues/26612 .
2024-10-30 00:16:12 +01:00
snek
96e931a721
fix: report exceptions from nextTick ( #26579 )
...
Fixes: https://github.com/denoland/deno/issues/24713
Fixes: https://github.com/denoland/deno/issues/25855
2024-10-30 00:16:12 +01:00
familyboat
56ecc26b71
fix(ext/node): add path to fs.stat
and fs.statSync
error ( #26037 )
2024-10-30 00:16:11 +01:00
Mayank Kumar
16f3c31c97
fix(ext/node): use primordials in ext\node\polyfills\internal\crypto\_randomInt.ts ( #26534 )
...
Towards #24236
2024-10-30 00:15:38 +01:00
Bartek Iwańczuk
571751b00d
build: use 'fs' feature of 'nix' crate in ext/fs ( #26533 )
...
Hot-fix to unblock `v2.0.3` release
2024-10-25 12:53:54 +02:00
denobot
997bd47fc2
2.0.3 ( #26532 )
...
Bumped versions for 2.0.3
---------
Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-10-25 02:57:52 +02:00
Nicola Bovolato
6c415bf819
fix(ext/node): refactor http.ServerResponse into function class ( #26210 )
...
While testing, I found out that light-my-request relies on
`ServerResponse.connection`, which is deprecated, so I added that and
`socket`, the non deprecated property.
It also relies on an undocumented `_header` property, apparently for
[raw header
processing](https://github.com/fastify/light-my-request/blob/v6.1.0/lib/response.js#L180-L186 ).
I added it as an empty string, feel free to provide other approaches.
Fixes #19901
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-10-25 02:09:39 +02:00
Leo Kettmeir
f62283f0c4
refactor(ext/node): use concrete error types ( #26419 )
2024-10-25 02:09:38 +02:00
Marvin Hagemeister
01c2bb9c9d
fix(node/util): support array formats in styleText
( #26507 )
...
We missed adding support for an array of formats being passed to
`util.styleText`.
Fixes https://github.com/denoland/deno/issues/26496
2024-10-25 02:09:38 +02:00
snek
e1c893fab8
feat: support node-api in denort ( #26389 )
...
exposes node-api symbols in denort so that `deno compile` can run native
addons.
2024-10-25 02:09:38 +02:00
Nathan Whitaker
c9c972dfb4
fix(ext/node): cancel pending ipc writes on channel close ( #26504 )
...
Fixes the issue described in
https://github.com/denoland/deno/issues/23882#issuecomment-2423316362 .
The parent was starting to send a message right before the process would
exit, and the channel closed in the middle of the write. Unlike with
reads, we weren't cancelling the pending writes, which resulted in a
`Broken pipe` error surfacing to the user.
2024-10-25 02:09:37 +02:00
Nathan Whitaker
2ea51d923a
fix(ext/node): only set our end of child process pipe to nonblocking mode ( #26495 )
...
Fixes playwright on linux, as reported in
https://github.com/denoland/deno/issues/16899#issuecomment-2378268454 .
The issue was that we were opening the socket in nonblocking mode, which
meant that subprocesses trying to use it would get a `EWOULDBLOCK` error
(unexpectedly). The fix here is to only set nonblocking mode on our end
(which we need to use asynchronously)
2024-10-25 02:09:37 +02:00
Divy Srivastava
bb3c8e2925
fix(ext/ffi): return u64/i64 as bigints from nonblocking ffi calls ( #26486 )
...
Fixes https://github.com/denoland/deno/issues/25194
2024-10-25 02:09:37 +02:00
Satya Rohith
c5536669b6
fix(node:tls): set TLSSocket.alpnProtocol for client connections ( #26476 )
...
Towards https://github.com/denoland/deno/issues/26127
2024-10-25 02:09:37 +02:00
Yoshiya Hinosawa
dc46d546ac
fix(ext/node): map ERROR_INVALID_NAME
to ENOENT
on windows ( #26475 )
...
In libuv on windows, `ERROR_INVALID_NAME` is mapped to `ENOENT`, but it
is mapped to `EINVAL` in our compat implementation, which causes the
issue #24899 .
ref:
d4ab6fbba4/src/win/error.c (L138)
closes #24899
closes #26411
closes #23635
closes #21165
closes #19067
2024-10-25 02:09:36 +02:00
Leo Kettmeir
ad563c3098
fix(ext/console): ignore casing for named colors in css parsing ( #26466 )
2024-10-25 02:09:35 +02:00
jiang1997
9623219604
fix(ext/node): use primordials in ext/node/polyfills/https.ts
( #26323 )
...
Towards https://github.com/denoland/deno/issues/24236
2024-10-25 02:09:34 +02:00
Leo Kettmeir
b21fe64093
chore: update nix crate ( #26422 )
...
Dedupes nix dependency, since `rustyline` depends on a newer version
that what we currently use
2024-10-25 02:09:34 +02:00
Divy Srivastava
11b3bccf30
perf: avoid multiple calls to runMicrotask ( #26378 )
...
Improves HTTP throughput by 8-9k rps on Linux:
this patch
```
Requests/sec: 145001.69
Transfer/sec: 20.74MB
```
main
```
Requests/sec: 137866.61
Transfer/sec: 19.72MB
```
The improvements comes from the reduced number of calls to
`op_run_microtask` per request. Returning `true` from a macrotask
callback already calls `op_run_microtask` so the extra call was
redundant.
Here's `--strace-ops` output for a single request:
main
```
[ 4.667] op_http_wait : CompletedAsync Async
[ 4.667] op_run_microtasks : Dispatched Slow
[ 4.668] op_http_try_wait : Dispatched Slow
[ 4.668] op_http_try_wait : Completed Slow
[ 4.668] op_http_wait : Dispatched Async
[ 4.668] op_http_set_response_header : Dispatched Slow
[ 4.668] op_http_set_response_header : Completed Slow
[ 4.669] op_http_set_response_body_text : Dispatched Slow
[ 4.669] op_http_set_response_body_text : Completed Slow
[ 4.669] op_run_microtasks : Completed Slow
[ 4.669] op_has_tick_scheduled : Dispatched Slow
[ 4.669] op_has_tick_scheduled : Completed Slow
[ 4.669] op_run_microtasks : Dispatched Slow
[ 4.669] op_run_microtasks : Completed Slow
[ 4.669] op_run_microtasks : Dispatched Slow
[ 4.669] op_run_microtasks : Completed Slow
```
this pr
```
[ 3.726] op_http_wait : CompletedAsync Async
[ 3.727] op_run_microtasks : Dispatched Slow
[ 3.727] op_http_try_wait : Dispatched Slow
[ 3.727] op_http_try_wait : Completed Slow
[ 3.727] op_http_wait : Dispatched Async
[ 3.727] op_http_set_response_header : Dispatched Slow
[ 3.728] op_http_set_response_header : Completed Slow
[ 3.728] op_http_set_response_body_text : Dispatched Slow
[ 3.728] op_http_set_response_body_text : Completed Slow
[ 3.728] op_run_microtasks : Completed Slow
[ 3.728] op_run_microtasks : Dispatched Slow
[ 3.728] op_run_microtasks : Completed Slow
```
2024-10-25 02:09:34 +02:00
Leo Kettmeir
2319d8a79f
refactor(ext/webgpu): use concrete error type ( #26198 )
2024-10-25 02:09:33 +02:00
Leo Kettmeir
6fdfd02f8f
refactor(ext/fetch): use concrete error types ( #26220 )
2024-10-25 02:09:33 +02:00
Leo Kettmeir
9f4aadacb2
refactor(ext/http): use concrete error types ( #26377 )
2024-10-25 02:09:33 +02:00
Leo Kettmeir
1bc3694e79
refactor(ext/crypto): use concrete error types ( #26167 )
2024-10-25 02:09:33 +02:00
Nathan Whitaker
8f51b0e82f
fix(ext/node): stub HTTPParser internal binding ( #26401 )
...
Fixes https://github.com/denoland/deno/issues/26394 .
2024-10-25 02:09:32 +02:00
Leo Kettmeir
998a371f5d
refactor(ext/websocket): use concrete error type ( #26226 )
2024-10-25 02:09:32 +02:00