Divy Srivastava
d84866e933
chore: use aws_lc_rs ( #28244 )
2025-06-19 01:07:00 -07:00
Yoshiya Hinosawa
94e26a90ea
fix(ext/node): improve scrypt support ( #29773 )
2025-06-18 09:50:37 +09:00
Yoshiya Hinosawa
2572b8398b
fix(ext/node): fix input validation of crypto hkdf ( #29775 )
2025-06-18 09:49:14 +09:00
Yoshiya Hinosawa
413aa404f9
fix(ext/node): add key length validation in DiffieHellman.prototype.computeSecret
( #29757 )
2025-06-16 21:32:05 +09:00
Divy Srivastava
02cff572b2
fix(ext/node): validate auth tag for GCM mode cipher ( #29739 )
...
Enables `parallel/test-crypto-gcm-explicit-short-tag.js`
Ref https://github.com/denoland/deno/issues/29637
2025-06-16 11:04:41 +09:00
Divy Srivastava
fa3208bf27
fix(ext/node): Fix crypto.pbkdf2
compat ( #29738 )
2025-06-13 09:10:41 -07:00
Divy Srivastava
cdf4834ba0
fix(ext/node): fix oneshot hash validation ( #29661 )
...
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 / test debug linux-x86_64 (push) Blocked by required conditions
ci / build wasm32 (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
Enables `parallel/test-crypto-oneshot-hash.js`
Ref https://github.com/denoland/deno/issues/29637
---------
Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
2025-06-13 10:12:10 +05:30
Nathan Whitaker
9602e13d53
fix(process,node): roll our own process spawning on windows ( #29609 )
...
Fixes #16899 .
Fixes https://github.com/denoland/deno/issues/23524 .
Fixes https://github.com/denoland/deno/issues/23938 .
Fixes https://github.com/denoland/deno/issues/27869 .
Unblocks #5501 .
This PR adds support for additional stdio pipes to windows, as well as
the detached option in `node:child_process`. I also ported over the
`kill` implementation for windows, which means we now can support
`kill(0)` as well as some other signals.
This means that playwright will now work on windows.
Now that we have a way to support detached processes on all platforms,
we can also easily add a `detached` option to `Deno.Command`, similar to
`child_process.spawn`.
---
The reason for moving away from `std::process::Command` is that the
standard library doesn't expose what we need to control the file
descriptor table of child processes on windows. The implementation here
is based off of parts of `std` and parts of `libuv`, and allows us to
support passing extra pipes in addition to detached processes on
windows.
2025-06-12 02:56:13 +00:00
Divy Srivastava
b49523780d
fix(ext/node): update decipherIv error properties ( #29652 )
...
Enables `parallel/test-crypto-stream.js` test
Ref https://github.com/denoland/deno/issues/29637
2025-06-11 04:15:45 +00:00
Bartek Iwańczuk
ccc30edcb5
fix(ext/node): make conditional exports work in require()
( #29640 )
...
This commit fixes passing conditional exports specified with
`--unstable-node-conditions` flag to `require()` calls.
Fixes scenario from
https://github.com/denoland/deno/issues/23757#issuecomment-2949344042
---------
Co-authored-by: Nayeem Rahman <nayeemrmn99@gmail.com>
2025-06-10 02:09:46 +02:00
Yoshiya Hinosawa
8e69075889
fix(ext/node): handle -p flag in spawn, fix "from dependency" check in windows ( #29611 )
...
This PR updates `op_node_call_is_from_dependency` op, which now detects
node_modules path on windows correctly.
This PR also updates the handling of
`child_process.spawn(process.execPath, ["-p", souceCode])`. It runs the
given string as source code, and prints the last evaluated value. This
PR adds wrapper for simulating that behavior.
2025-06-06 11:53:04 +09:00
Yoshiya Hinosawa
ff8160b594
fix(ext/node): support DEP0005 deprecation warning ( #29530 )
...
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 / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / build wasm32 (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
This commit adds support of `DEP0005` warning which is emitted when the user
calls `Buffer` as constructor.
2025-06-04 12:25:32 +09:00
Divy Srivastava
fc02cf6a1b
fix(ext/node): various node:sqlite
fixes ( #29404 )
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-06-02 10:44:52 -07:00
Divy Srivastava
cb1e8a87a5
fix(ext/node): return undefined
instead of null
in sqlite ( #29567 )
...
<!--
Before submitting a PR, please read
https://docs.deno.com/runtime/manual/references/contributing
1. Give the PR a descriptive title.
Examples of good title:
- fix(std/http): Fix race condition in server
- docs(console): Update docstrings
- feat(doc): Handle nested reexports
Examples of bad title:
- fix #7123
- update docs
- fix bugs
2. Ensure there is a related issue and it is referenced in the PR text.
3. Ensure there are tests that cover the changes.
4. Ensure `cargo test` passes.
5. Ensure `./tools/format.js` passes without changing files.
6. Ensure `./tools/lint.js` passes.
7. Open as a draft PR if your work is still in progress. The CI won't
run
all steps, but you can add '[ci]' to a commit message to force it to.
8. If you would like to run the benchmarks on the CI, add the 'ci-bench'
label.
-->
2025-06-02 15:00:23 +00:00
Divy Srivastava
7b7aa8846b
fix(ext/node): make DatabaseSync readOnly
optional ( #29564 )
...
Extracted from https://github.com/denoland/deno/pull/29404
2025-06-02 15:10:29 +02:00
Divy Srivastava
fb723098a5
fix(ext/node): export StatementSync from node:sqlite
( #29563 )
...
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 / 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 / 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 / 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
Extracted from https://github.com/denoland/deno/pull/29404
Upgrades deno_core to 0.350.0
2025-06-02 11:34:41 +00:00
Nathan Whitaker
e2e4919347
fix(zlib): don't return a smi from crc32 ( #29546 )
...
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 / 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 / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / build wasm32 (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
Fixes https://github.com/denoland/deno/issues/29545 .
2025-05-30 17:27:58 -07:00
林炳权
cb738ee5da
chore: Rust 1.86.0 ( #29435 )
...
Since `rust 1.87.0` reported `undefined symbol:
ring::pbkdf2::PBKDF2_HMAC_SHA1::*` in CI and it was difficult to debug
locally, use `rust 1.86.0` in CI tests for troubleshoot the errors
2025-05-25 23:40:48 +02:00
David Sherret
0d6fac61f0
fix(node): do not look up node_module paths when using global resolver ( #29398 )
...
It doesn't make sense for the global resolver to search for npm packages
because the structure of the folder there doesn't do node_resolution.
2025-05-21 13:52:23 -04:00
David Sherret
224908c39a
fix(node): do not require permission checks for require's node_modules stats ( #29397 )
...
This change specifically allows op_require_stat to stat node_module
directories without having to go through the permission system.
Closes https://github.com/denoland/deno/issues/20484
2025-05-20 15:50:41 +00:00
Divy Srivastava
ff2354be0b
fix(ext/node): Fix Database#exec
should return undefined ( #29368 )
2025-05-19 19:20:49 -07:00
Leo Kettmeir
97b84669a8
fix(node): use JsErrorClass
for code
property on node resolver errors ( #29294 )
...
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 / test debug macos-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
Superseeds #26631
---------
Signed-off-by: Leo Kettmeir <crowlkats@toaxl.com>
Co-authored-by: David Sherret <dsherret@gmail.com>
2025-05-16 20:54:47 +02:00
Divy Srivastava
5044f2f355
fix(ext/node): hold weak reference to sqlite database in instances ( #29210 )
...
Deterministic close and releases file lock on Windows.
Fixes https://github.com/denoland/deno/issues/29033
2025-05-10 09:21:53 +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
Divy Srivastava
f334f903ef
fix(ext/node): arrayBufferViewHasBuffer
internal util ( #28827 )
2025-05-08 09:58:08 +05:30
snek
5c6c52d132
fix: update deno_core ( #29166 )
...
for https://github.com/denoland/deno_core/pull/1111
2025-05-05 13:58:34 -05:00
JasperVanEsveld
7b28e76881
fix(compile): panic when compiled with --no-terminal flag ( #28823 )
...
When compiled with the `--no-terminal` flag under windows there are some
issues related to stdin, stdout and stderr.
This pull request fixes the panic when during bootstrap the terminal
type is requested.
Previously it would return the error if the terminal was not valid,
instead it now returns UNKNOWN.
2025-04-29 17:10:20 +00:00
Divy Srivastava
81a4f9e502
fix(ext/node): implement DatabaseSync#loadExtension ( #29050 )
...
Requires full `--allow-ffi`
Fixes https://github.com/denoland/deno/issues/29030
2025-04-29 12:30:21 +00:00
snek
2221cf3e7c
feat: deno_core 0.344.0 ( #29089 )
...
- new ops init api
- fix op order
- remove deno_os_worker since extensions must now match the snapshot
exactly
- isatty test change
2025-04-29 13:15:08 +02:00
Divy Srivastava
d74a6943a5
fix(ext/node): verbose zlib error messages ( #28831 )
2025-04-11 17:17:32 +05:30
Divy Srivastava
1e50c7981b
refactor(ext/node): rewrite HandleWrap in Rust ( #28765 )
...
Ports `HandleWrap` and `AsyncWrap` to Rust.
2025-04-10 17:20:25 +05:30
Arsh
447b5038c0
fix(ext/node): alias shake-128
and shake-256
hash algorithms ( #28451 )
...
Fixes #28442
---------
Signed-off-by: Arsh <69170106+lilnasy@users.noreply.github.com>
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2025-04-10 07:58:44 +00:00
Nathan Whitaker
6d33141d8d
fix(node): add reset method to event loop delay histogram ( #28788 )
...
Fixes https://github.com/denoland/deno/issues/28767
Don't love the `RefCell`, but don't really see a (safe) way around it.
2025-04-07 22:05:53 -07:00
Yoshiya Hinosawa
f2d73abdd7
fix(ext/node): better dns.lookup compatibility ( #27936 )
2025-04-02 11:38:07 +09:00
Divy Srivastava
5bc4266101
fix(ext/node): sqlite handle empty blob being NULL ( #28674 )
...
Fixes https://github.com/denoland/deno/issues/28672
2025-04-01 13:50:26 +00:00
c00kie17
208992ad53
fix(ext/node): sqlite error details ( #28431 )
...
Improves SQLite error reporting by including `err_code`, `err_str`,
matching Node.js behavior.
Fixes #28289
2025-03-22 07:52:22 +05:30
snek
d4ee94962f
feat: upgrade deno_core and V8 ( #28562 )
...
includes V8 upgrade to 135
2025-03-21 00:19:44 +01:00
Divy Srivastava
fb3df15fc8
fix(ext/node): restrict ATTACH DATABASE statement ( #28513 )
...
Disable `ATTACH DATABASE` statement in `node:sqlite` since it is not
supervised by Deno's permission system
2025-03-18 22:03:35 +05:30
Paolo Barbolini
1516e3ef58
refactor: reduce dependency on futures
crate ( #28515 )
...
Over time many `futures` APIs have been stabilized in `std`. This
migrates most uses to the std variants.
2025-03-17 14:14:19 +00:00
Divy Srivastava
c638f9ade1
fix(ext/node): reset statement immidiately in run() ( #28506 )
...
Fixes https://github.com/denoland/deno/issues/28492
2025-03-15 20:14:24 +05:30
Nathan Whitaker
9a2386c82d
chore: fix linter error on main
( #28301 )
...
3779830822
2025-02-25 18:11:00 +00:00
Nathan Whitaker
ee4c14a550
chore: update to rust 1.85 ( #28236 )
...
Updates to use rust 1.85. Doesn't move to the 2024 edition, as that's a
fair bit more involved.
A nice side benefit is that the new rustc version seems to lead to a
slight reduction in binary size (at least on mac):
```
FILE SIZE
--------------
+4.3% +102Ki __DATA_CONST,__const
[NEW] +69.3Ki __TEXT,__literals
[NEW] +68.5Ki Rebase Info
+5.0% +39.9Ki __TEXT,__unwind_info
+57% +8.85Ki [__TEXT]
[NEW] +8.59Ki Lazy Binding Info
[NEW] +5.16Ki __TEXT,__stub_helper
[NEW] +3.58Ki Export Info
[NEW] +3.42Ki __DATA,__la_symbol_ptr
-0.1% -726 [12 Others]
-21.4% -3.10Ki [__DATA_CONST]
-95.8% -3.39Ki __DATA_CONST,__got
-20.9% -3.43Ki [__DATA]
-0.5% -4.52Ki Code Signature
-100.0% -11.6Ki [__LINKEDIT]
-1.0% -43.5Ki Symbol Table
-1.6% -44.0Ki __TEXT,__gcc_except_tab
-0.2% -48.1Ki __TEXT,__const
-3.3% -78.6Ki __TEXT,__eh_frame
-0.7% -320Ki __TEXT,__text
-1.5% -334Ki String Table
-0.5% -586Ki TOTAL
```
2025-02-25 08:50:01 -08:00
Divy Srivastava
e66ef32a8f
fix(ext/node): SQLite reset guards to prevent database locks ( #28298 )
...
Fixes https://github.com/denoland/deno/issues/28295
2025-02-25 19:27:55 +05:30
Divy Srivastava
7fa8fc4b26
fix(ext/node): descriptive sqlite error messages ( #28272 )
...
Fixes https://github.com/denoland/deno/issues/28259
2025-02-24 17:55:36 +05:30
Divy Srivastava
648ee8f0e7
fix(ext/node): decipherIv() range error on invalid final block length ( #28215 )
...
Fixes https://github.com/denoland/deno/issues/28208
2025-02-21 04:48:38 +00:00
Divy Srivastava
c1276d8fa0
fix(ext/node): rewrite SQLite named parameter handing ( #28197 )
...
Allow bare named params and handle invalid param name. Also adds
`StatementSync#setAllowBareNamedParameters`
Fixes https://github.com/denoland/deno/issues/28183
2025-02-20 18:34:34 +05:30
Divy Srivastava
664d50fab8
fix(ext/node): Fix handling of sqlite large integers ( #28193 )
...
Use `v8::Number` instead of `v8::Integer` to handle > i32::MAX.
Fixes https://github.com/denoland/deno/issues/28187
2025-02-20 16:32:46 +05:30
Gowtham K
9b9eeabcc8
fix(node/sqlite): sqlite named parameters ( #28154 )
...
This PR introduces support for named parameters in SQLite queries, as
outlined in #28134
2025-02-18 22:03:39 +05:30
Divy Srivastava
4ab380e0a7
fix(ext/node): implement StatementSync#iterate ( #28168 )
...
Fixes https://github.com/denoland/deno/issues/28130
2025-02-18 21:26:17 +05:30
Divy Srivastava
196ceb76bb
fix(ext/node): DatabaseSync#exec
should execute batch statements ( #28053 )
...
Fixes https://github.com/denoland/deno/issues/28050
2025-02-11 19:52:33 +05:30