summaryrefslogtreecommitdiff
path: root/ext
AgeCommit message (Collapse)Author
2024-01-18chore: upgrade deno_core to 0.247.0 (#21974)Bartek Iwańczuk
2024-01-18fix(node): update `req.socket` on WS upgrade (#21984)Divy Srivastava
Update the `req.socket` to be a `net.Socket` from `FakeSocket` Fixes #21979
2024-01-16chore: bump rustls-tokio-stream and rustls (#21955)Matt Mastracci
2024-01-15chore(ext/cache): remove CachePutResource in preparation for resource ↵Matt Mastracci
rewrite (#21949) We can use `resourceForReadableStream` to ensure that cached resources are implemented more efficiently and remove one more resource special case.
2024-01-15feat(unstable): add Temporal API support (#21738)Bartek Iwańczuk
This commit adds support for [Stage 3 Temporal API proposal](https://tc39.es/proposal-temporal/docs/). The API is available when `--unstable-temporal` flag is passed. --------- Signed-off-by: Bartek Iwańczuk <biwanczuk@gmail.com> Co-authored-by: David Sherret <dsherret@gmail.com> Co-authored-by: Kenta Moriuchi <moriken@kimamass.com>
2024-01-14feat: Stabilize Deno.connect for 'unix' transport (#21937)Bartek Iwańczuk
2024-01-14feat: stabilize Deno.connectTls options and Deno.TlsConn.handshake (#21889)Bartek Iwańczuk
2024-01-14feat: stabilize Deno.Conn.ref/unref (#21890)Bartek Iwańczuk
2024-01-13chore: forward v1.39.4 release commit to main (#21933)denobot
Co-authored-by: David Sherret <dsherret@gmail.com>
2024-01-12feat: "rejectionhandled" Web event and "rejectionHandled" Node event (#21875)Bartek Iwańczuk
This commit adds support for "rejectionhandled" Web Event and "rejectionHandled" Node event. ```js import process from "node:process"; process.on("rejectionHandled", (promise) => { console.log("rejectionHandled", reason, promise); }); window.addEventListener("rejectionhandled", (event) => { console.log("rejectionhandled", event.reason, event.promise); }); ``` --------- Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2024-01-12chore: forward v1.39.3 to main (#21915)Bartek Iwańczuk
Co-authored-by: denobot <33910674+denobot@users.noreply.github.com> Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
2024-01-12fix: add EventSource typings (#21908)Leo Kettmeir
Fixes #21691
2024-01-10refactor: use `core.ensureFastOps()` (#21888)Kenta Moriuchi
2024-01-10fix: android support (#19437)cions
<!-- Before submitting a PR, please read https://deno.com/manual/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. --> --------- Signed-off-by: Matt Mastracci <matthew@mastracci.com> Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2024-01-09chore: upgrade deno_core to 0.244.0 (#21859)Bartek Iwańczuk
2024-01-09fix(ext/websocket): pass on uncaught errors in idleTimeout (#21846)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/21840 The problem was hard to reproduce as its a race condition. I've added a test that reproduces the problem 1/10 tries. We should move the idleTimeout handling to Rust (maybe even built into fastwebsocket).
2024-01-09chore: cleanup `readAll()` logic (#21862)Asher Gomez
2024-01-08fix: cjs export rewritten to invalid identifier (#21853)Marvin Hagemeister
<!-- Before submitting a PR, please read https://deno.com/manual/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. --> Fixes https://github.com/denoland/deno/issues/21836
2024-01-08chore(ext/io): cleanup unused functions (#21844)Asher Gomez
These functions don't appear to be used anywhere.
2024-01-07fix(ext): enable prefer-primordials for internal TypeScript (#21813)Kenta Moriuchi
Enabled prefer-primordials lint for ext/cron and ext/kv.
2024-01-06refactor: split runtime/98_global_scope.js (#21785)Bartek Iwańczuk
2024-01-06feat(ext/crypto): initial support for p521 in `generateKey` and `importKey` ↵Divy Srivastava
(#21815) Part 1 of a potential 3 part series. Ref #13449 The current implementation passes key material back and forth RustCrypto group of crates and ring. ring does not implement p521 yet. This PR adds support for P521 named curve in `generateKey` and `importKey` where we use RustCrypto. Other parts should be moved over to the RustGroup group of crates for consistency.
2024-01-05fix(ext/node): add WriteStream.isTTY (#21801)Divy Srivastava
2024-01-05chore: update deno_lint for CI (#21802)Kenta Moriuchi
2024-01-05chore(ext/webgpu): include GPUCanvasContext in snapshot (#21773)Divy Srivastava
Part 1 of #21713 Changes: - Remove `.present()` and add a `presentGPUCanvasContext` (not exposed yet to users) - Move lazy load logic to `00_init.js`. This can be used to use webgpu on-demand from future code (OffScreenCanvas)
2024-01-05fix(ci): update copright year for _fs_cp.js (#21803)Divy Srivastava
2024-01-05fix(ext/node): add fs.cp, fs.cpSync, promises.cp (#21745)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/20803 Fixes https://github.com/denoland/deno/issues/21723 Performance: copying a 48GiB rust `target` folder (recursive) | Platform | `deno` | `node v21.5` | Improvement | | -------- | ------- | ------- | ------- | | macOS (APFS) | 3.1secs | 127.99 secs | **42x** | | Windows | 18.3secs | 67.2secs | **3.8x** | Copying files with varying sizes: ![image](https://github.com/denoland/deno/assets/34997667/58932652-6f7a-47f5-8504-896dc9ab4ddc)
2024-01-04chore: forward v1.39.2 release commit to main (#21793)Bartek Iwańczuk
2024-01-04fix: strict type check for cross realms (#21669)Kenta Moriuchi
Deno v1.39 introduces `vm.runInNewContext`. This may cause problems when using `Object.prototype.isPrototypeOf` to check built-in types. ```js import vm from "node:vm"; const err = new Error(); const crossErr = vm.runInNewContext(`new Error()`); console.assert( !(crossErr instanceof Error) ); console.assert( Object.getPrototypeOf(err) !== Object.getPrototypeOf(crossErr) ); ``` This PR changes to check using internal slots solves them. --- current: ``` > import vm from "node:vm"; undefined > vm.runInNewContext(`new Error("message")`) Error {} > vm.runInNewContext(`new Date("2018-12-10T02:26:59.002Z")`) Date {} ``` this PR: ``` > import vm from "node:vm"; undefined > vm.runInNewContext(`new Error("message")`) Error: message at <anonymous>:1:1 > vm.runInNewContext(`new Date("2018-12-10T02:26:59.002Z")`) 2018-12-10T02:26:59.002Z ``` --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-01-04fix(ext/node): UdpSocket ref and unref (#21777)Divy Srivastava
2024-01-03fix(node/zlib): accept dataview and buffer in zlib bindings (#21756)Jovi De Croock
Fixes #20516 Follow up to #21747 and #21746 This tackles the last point of #20516 where certain inputs weren't accepted in the other zlib methods This adds the `toU8` conversion of `_brotli` to `_zlib.mjs`, when we create the ZLibBuffer, we'll sanitize the input. I noticed that the async had no handler for `string` input so I added that as well.
2024-01-02fix(ext/node): use node:process in _streams.mjs (#21755)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/21644 `next build` works: ``` ~/gh/deno/target/debug/deno run -A --unstable-byonm ./node_modules/.bin/next build Warning: Not implemented: process.on("rejectionHandled") ▲ Next.js 14.0.4 ✓ Creating an optimized production build ✓ Compiled successfully ✓ Linting and checking validity of types Collecting page data ..Warning: Not implemented: process.on("rejectionHandled") Warning: Not implemented: process.on("rejectionHandled") Warning: Not implemented: process.on("rejectionHandled") Warning: Not implemented: process.on("rejectionHandled") Warning: Not implemented: process.on("rejectionHandled") ✓ Collecting page data Generating static pages (0/5) [ ]Warning: Not implemented: process.on("rejectionHandled") Warning: Not implemented: process.on("rejectionHandled") Warning: Not implemented: process.on("rejectionHandled") Warning: Not implemented: process.on("rejectionHandled") Warning: Not implemented: process.on("rejectionHandled") ✓ Generating static pages (5/5) ✓ Collecting build traces ✓ Finalizing page optimization Route (app) Size First Load JS ┌ ○ / 5.32 kB 87.4 kB └ ○ /_not-found 875 B 83 kB + First Load JS shared by all 82.1 kB ├ chunks/938-5e061ba0d46125b1.js 26.8 kB ├ chunks/fd9d1056-735d320b4b8745cb.js 53.5 kB ├ chunks/main-app-2945f337109ea73c.js 220 B └ chunks/webpack-e3c6517d4ab8d680.js 1.68 kB ○ (Static) prerendered as static content ```
2024-01-02fix(ext/node): implement os.machine (#21751)Divy Srivastava
2024-01-02fix(ext/http): use arraybuffer binaryType for server websocket (#21741)Divy Srivastava
Ref https://github.com/denoland/deno/issues/15340#issuecomment-1872353134
2024-01-02fix(ext/node): querystring stringify without encode callback (#21740)Divy Srivastava
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-01chore: update to Rust 1.75 (#21731)林炳权
2024-01-01chore: update copyright to 2024 (#21753)David Sherret
2023-12-31fix(http_client): Fix Deno.createHttpClient to accept poolIdleTimeout ↵Raashid Anwar
parameter (#21603) Fixed the bug `Deno.createHttpClient` to accept `poolIdleTimeout` parameter. Fixes https://github.com/denoland/deno/issues/21546
2023-12-31fix(node/zlib): consistently return buffer (#21747)Jovi De Croock
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-31fix(node/zlib): cast Dataview and Buffer to uint8 (#21746)Jovi De Croock
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-30fix(ext/node): add process.abort() (#21742)Divy Srivastava
2023-12-30chore(runtime): internalize pipe fd for ext/node (#21570)Divy Srivastava
Signed-off-by: Divy Srivastava <dj.srivastava23@gmail.com>
2023-12-29fix(node): support nested tests in "node:test" (#21717)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/21679
2023-12-28chore: update deno_core to 0.240.0 (#21726)Bartek Iwańczuk
2023-12-28fix(node): Implement os.cpus() (#21697)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/21666 Zero added dependency and tries to match the libuv implementation
2023-12-27refactor: simplify hyper, http, h2 deps (#21715)Bartek Iwańczuk
Main change is that: - "hyper" has been renamed to "hyper_v014" to signal that it's legacy - "hyper1" has been renamed to "hyper" and should be the default
2023-12-27refactor: finish test_util server cleanup, simplify dependencies (#21714)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/21578
2023-12-27fix(ext/node): Implement `aes-192-ecb` and `aes-256-ecb` (#21710)Lino Le Van
2023-12-27perf: remove opAsync (#21690)Matt Mastracci
`opAsync` requires a lookup by name on each async call. This is a mechanical translation of all opAsync calls to ensureFastOps. The `opAsync` API on Deno.core will be removed at a later time.
2023-12-26refactor: fastwebsockets renames (#21707)Bartek Iwańczuk
We now use only a single version of "fastwebsockets" crate, so we no longer need to have an alias.