summaryrefslogtreecommitdiff
path: root/ext/node
AgeCommit message (Collapse)Author
2024-06-19chore: forward v1.44.4 release commit to main (#24271)denobot
This is the release commit being forwarded back to main for 1.44.4 Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
2024-06-19Revert "chore: upgrade to reqwest 0.12.4 and rustls 0.22 (#24056)" (#24262)Bartek Iwańczuk
This reverts commit fb31eaa9ca59f6daaee0210d5cd206185c7041b9. Reverting because users reported spurious errors when downloading dependencies - https://github.com/denoland/deno/issues/24260. Closes https://github.com/denoland/deno/issues/24260
2024-06-19fix(ext/node): use primordials in `ext/node/polyfills/_utils.ts` (#24253)Asher Gomez
2024-06-19fix(ext/node): Add Dirent.path and Dirent.parentPath (#24257)Divy Srivastava
2024-06-19chore: forward v1.44.3 release commit to main (#24256)denobot
This is the release commit being forwarded back to main for 1.44.3 Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com> Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-06-18perf(node): ensure cjs wrapper module has deterministic output (#24248)David Sherret
2024-06-18fix(ext/node): make process.versions own property (#24240)Divy Srivastava
2024-06-18feat(ext/node): add BlockList & SocketAddress classes (#24229)Satya Rohith
Closes https://github.com/denoland/deno/issues/24059
2024-06-15fix(ext/node): better support for `node:diagnostics_channel` module (#24088)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/24060
2024-06-14chore: upgrade to rust 1.79 (#24207)Satya Rohith
2024-06-14fix(ext/node): `server.close()` does graceful shutdown (#24184)Divy Srivastava
2024-06-13chore: upgrade to reqwest 0.12.4 and rustls 0.22 (#24056)Bartek Iwańczuk
This commit updates Deno to use `reqwest` at 0.12.4 and `rustls` at 0.22. Other related crates were updated as well to match versions accepted by `reqwest` and `rustls`. Note: we are not using the latest available `rustls` yet, but this upgrade was non-trivial already, so a bump to 0.23 for `rustls` will be done in a separate commit. Closes #23370 --------- Signed-off-by: Ryan Dahl <ry@tinyclouds.org> Signed-off-by: Bartek Iwańczuk <biwanczuk@gmail.com> Co-authored-by: Ryan Dahl <ry@tinyclouds.org> Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2024-06-13chore(ext/node): remove old vm ops (#24187)Divy Srivastava
Unused; before the recent rewrite of node:vm
2024-06-13chore: forward v1.44.2 release commit to main (#24194)denobot
Co-authored-by: nathanwhit <nathanwhit@users.noreply.github.com>
2024-06-12fix(ext/node): fix vm memory usage and context initialization (#23976)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/22441 Fixes https://github.com/denoland/deno/issues/23913 Fixes https://github.com/denoland/deno/issues/23852 Fixes https://github.com/denoland/deno/issues/23917
2024-06-11chore: upgrade deno_core (#24146)Divy Srivastava
With changes for https://github.com/denoland/deno_core/pull/778
2024-06-11chore: sync up Node.js test files for v20.11.1 (#24066)Bartek Iwańczuk
Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
2024-06-11fix(ext/node): ServerResponse header array handling (#24149)Luca Casonato
Previously res.setHeader("foo", ["bar", "baz"]) added a single header with a value of `bar,baz`. Really this should add two separate headers. This is visible in `set-cookie` for example.
2024-06-10fix: Rewrite Node-API (#24101)snek
Phase 1 node-api rewrite
2024-06-10fix(ext/node): send data frame with end_stream flag on _final call (#24147)Satya Rohith
2024-06-08fix(check): attempt to resolve types from pkg before `@types` pkg (#24152)David Sherret
I've been meaning to fix this for ages, but I finally ran into it here: https://github.com/dsherret/ts-ast-viewer/actions/runs/9432038675/job/25981325408 We need to resolve the `@types` package as a fallback instead of eagerly resolving it.
2024-06-09fix(ext/node): add crypto and zlib constants (#24151)Luca Casonato
2024-06-09fix(ext/net): make node:http2 work with DENO_FUTURE=1 (#24144)Bartek Iwańczuk
2024-06-08fix(ext/node): lossy UTF-8 read node_modules files (#24140)Luca Casonato
Previously various reads of files in `node_modules` would error on invalid UTF-8. These were cases involving: - reading package.json from Rust - reading package.json from JS - reading CommonJS files from JS - reading CommonJS files from Rust (for ESM translation) - reading ESM files from Rust
2024-06-07fix: upgrade deno_core (#24128)Bartek Iwańczuk
Includes https://github.com/denoland/deno_core/pull/770 necessary for https://github.com/denoland/deno/pull/24101. Also includes https://github.com/denoland/deno_core/pull/769 that fixes https://github.com/denoland/deno/issues/24098 and https://github.com/denoland/deno/issues/24069 and https://github.com/denoland/deno/issues/24089.
2024-06-07fix(ext/node): support stdin child_process IPC & fd stdout/stderr (#24106)Divy Srivastava
Add supports for "ipc" and fd options in child_process spawn API. Internal changes: Adds a hidden rid and "ipc_for_internal_use" option to Deno.Command. Used by `node:child_process` Example: ```js const out = fs.openSync("./logfile.txt", 'a') const proc = spawn(process.execPath, ["./main.mjs", "child"], { stdio: ["ipc", out, "inherit"] }); ``` Ref #16753
2024-06-07chore(ext/node): remove dead op (#24131)Satya Rohith
2024-06-06refactor: remove `PermissionsContainer` in deno_runtime (#24119)David Sherret
Also removes permissions being passed in for node resolution. It was completely useless because we only checked it for reading package.json files, but Deno reading package.json files for resolution is perfectly fine. My guess is this is also a perf improvement because Deno is doing less work.
2024-06-06chore: forward v1.44.1 release commit to main (#24115)denobot
This is the release commit being forwarded back to main for 1.44.1 Co-authored-by: devsnek <devsnek@users.noreply.github.com> Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2024-06-02fix: validate integer values in `Deno.exitCode` setter (#24068)Kenta Moriuchi
2024-05-301.44.0 (#24045)denobot
Bumped versions for 1.44.0 Co-authored-by: littledivy <littledivy@users.noreply.github.com>
2024-05-29feat: Add `Deno.exitCode` API (#23609)Luke Edwards
This commits adds the ability to set a would-be exit code for the Deno process without forcing an immediate exit, through the new `Deno.exitCode` API. - **Implements `Deno.exitCode` getter and setter**: Adds support for setting and retrieving a would-be exit code via `Deno.exitCode`. This allows for asynchronous cleanup before process termination without immediately exiting. - **Ensures type safety**: The setter for `Deno.exitCode` validates that the provided value is a number, throwing a TypeError if not, to ensure that only valid exit codes are set. Closes to #23605 --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-05-29fix(ext/node): don't encode buffer data as utf8 in http2 (#24016)Satya Rohith
2024-05-28fix(ext/http): flush gzip streaming response (#23991)Bartek Iwańczuk
This commit changes `gzip` compression in `Deno.serve` API to flush data after each write. There's a slight performance regression, but provided test shows a scenario that was not possible before. --------- Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2024-05-28fix(ext/node/fs): `position` argument not applied (#24009)Marvin Hagemeister
We didn't honour the `position` options of `fd.read` and `fd.write` because we checked if the buffer is of type `Buffer` instead of just `Uint8Array`. Node does the latter. In doing so I noticed that the file handle id was written to a public property which it definitely shouldn't be. This was probably a typo. Fixes https://github.com/denoland/deno/issues/23707
2024-05-28fix(ext/node): add `throwIfNoEntry` option in `fs.lstatSync` (#24006)Marvin Hagemeister
We didn't support the `throwIfNoEntry` option for Node's `fs.lstatSync` method. Note that the async variant doesn't have this option. Fixes https://github.com/denoland/deno/issues/23996
2024-05-26fix(node): set default http server response code 200 (#23977)Marvin Hagemeister
Node sets the default HTTP response status code to 200 on the `ServerResponse`. We initialised it as `undefined` before which caused a problem with 11ty's dev server. Thanks to @vrugtehagel for reporting this issue and finding the correct fix as well 🎉 Fixes https://github.com/denoland/deno/issues/23970
2024-05-23fix(ext/node): return cancelled flag in get_response_body_chunk op (#23962)Satya Rohith
The flag lets us exit from read loop without throwing an error when the stream is cancelled. This fixes gRPC cancellation example. Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-05-23fix(ext/node): add stubs for perf_hooks.PerformaceObserver (#23958)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/23943
2024-05-22chore: forward v1.43.6 release commit to main (#23936)Bartek Iwańczuk
Bumped versions for 1.43.6 Co-authored-by: denobot <33910674+denobot@users.noreply.github.com> Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
2024-05-21feat(node): buffer isUtf8/isAscii (#23928)snek
Fixes: https://github.com/denoland/deno/issues/23657 Implements `isUtf8` and `isAscii` as ops.
2024-05-21perf: analyze cjs re-exports in parallel (#23894)David Sherret
2024-05-20fix(node): stub findSourceMap for `ava` (#23899)Marvin Hagemeister
This stubs `findSourceMap` in `node:module` by always returning `undefined` as if it never found a source map. This unblocks the `ava` test runner. Fixes https://github.com/denoland/deno/issues/18666
2024-05-20fix(node): track `SIG*` listeners in `process.listeners` (#23890)Marvin Hagemeister
Some npm libraries like `signal-exit` rely on the length of the listener array returned by `process.listeners("SIGNT")` to be correct to function. We weren't tracking `SIG*` events there, which broke those npm libraries. Fixes https://github.com/denoland/deno/issues/22892
2024-05-20fix(node): patch MessagePort in worker_thread message (#23871)Marvin Hagemeister
Our `MessagePort` to Node's `MessagePort` conversion logic was missing the case where a `MessagePort` is sent _inside_ the message. This broke `tinypool` which is used by `vitest` as it relies on some node specific methods on `MessagePort`. Fixes https://github.com/denoland/deno/issues/23854 , Fixes https://github.com/denoland/deno/pull/23871
2024-05-19fix: handle signal 0 in process.kill (#23473)Bedis Nbiba
the last commit had a regression, where it removed this branch, I haven't tested the code but I think it should work --------- Signed-off-by: Bedis Nbiba <bedisnbiba@gmail.com>
2024-05-18perf: analyze cjs exports and emit typescript in parallel (#23856)David Sherret
2024-05-17fix(node): instantiating process class without new (#23865)Marvin Hagemeister
Popular test runners like Jest instantiate a new `Process` object themselves and expect the class constructor to be callable without the `new` keyword. This PR refactors our `Process` class implementation from a proper ES2015 class to an ES5-style class which can be invoked both with and without the `new` keyword like in Node. Fixes https://github.com/denoland/deno/issues/23863
2024-05-17chore: forward v1.43.4 commit to main (#23861)Bartek Iwańczuk
Co-authored-by: denobot <33910674+denobot@users.noreply.github.com> Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
2024-05-16fix(ext/node): fix grpc error_handling example (#23755)Satya Rohith
gRPC depends only on the END_STREAM flag to emit "trailers" event which is responsible to propagate the errors correctly. This patch uses Body::is_end_stream() to determine if a stream will end and set the END_STREAM flag. Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>