1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-14 03:23:17 -05:00
Commit graph

2470 commits

Author SHA1 Message Date
Yoshiya Hinosawa
7471848dc4
refactor: dedupe op_node_http_request_with_conn and op_node_http_request_with_tls_conn 2024-10-03 21:42:51 +09:00
Divy Srivastava
e54809f2d5
fix(ext/crypto): fix identity test for x25519 derive bits (#26011) 2024-10-03 16:46:48 +05:30
Yoshiya Hinosawa
5e0c89d813
apply the same fix to op_node_http_request_with_tls_conn 2024-10-03 19:22:41 +09:00
Yoshiya Hinosawa
a372ed518b
refactor: use _encrypted field 2024-10-03 19:04:45 +09:00
Yoshiya Hinosawa
6b6669f0df
chore: fix lint 2024-10-03 18:42:33 +09:00
Yoshiya Hinosawa
8d41fbc2da
enable a test case 'ClientRequest search params' 2024-10-03 17:58:25 +09:00
Satya Rohith
007b5265b8
fix: support https requests
Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
2024-10-03 11:28:23 +05:30
Yoshiya Hinosawa
8714e718bc
enable another case 2024-10-03 13:31:59 +09:00
Yoshiya Hinosawa
cf6ae67a31
refactor: reduce duplication 2024-10-03 12:05:04 +09:00
Leo Kettmeir
1837aed79b
Revert "fix(urlpattern): fallback to empty string for undefined group values" (#25961) 2024-10-02 09:02:46 -07:00
denobot
55c2a88099
chore: release deno_* crates (#25987)
Testing once again if the crates are being properly released.

---------

Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-10-02 14:27:34 +00:00
denobot
2d3e0284d9
chore: release deno_* crates (#25976)
Test run before Deno 2.0 release to make sure that the publishing
process passes correctly.

---------

Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-10-02 14:44:04 +02:00
Satya Rohith
32c1278736
feat(ext/node): buffer.transcode() (#25972)
Closes https://github.com/denoland/deno/issues/25911
2024-10-02 08:23:14 +00:00
Divy Srivastava
620e6b43a6
fix(ext/node): remove unimplemented promiseHook stubs (#25979)
`temporalio` sdk [will try to
use](faa64225a7/packages/worker/src/workflow/vm-shared.ts (L199-L202))
promiseHook if it is found. This patch removes the unimplemented stubs.

```ts
    if (promiseHooks) {
      // Node >=16.14 only
      this.stopPromiseHook = promiseHooks.createHook({
        init: (promise: Promise<unknown>, parent: Promise<unknown>) => {
```

Fixes https://github.com/denoland/deno/issues/25977
2024-10-02 12:52:05 +05:30
Ian Bull
41a70898ad
refactor(ext): align error messages (#25914)
Aligns the error messages in the ext folder to be in-line with the Deno
style guide.

https://github.com/denoland/deno/issues/25269

<!--
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.
-->
2024-10-01 14:26:06 -04:00
Yoshiya Hinosawa
e60e727e5e
enable another test case 2024-10-02 00:40:56 +09:00
Yoshiya Hinosawa
0467865e17
Merge branch 'main' into support_create_connection 2024-10-01 15:50:35 +09:00
Yoshiya Hinosawa
17bb2c46eb
revert unnecessary change 2024-10-01 15:50:02 +09:00
David Sherret
5faf769ac6
refactor: extract out sloppy imports resolution from CLI crate (#25920)
This is slow progress towards creating a `deno_resolver`  crate.

Waiting on:

* https://github.com/denoland/deno/pull/25918
* https://github.com/denoland/deno/pull/25916
2024-09-28 19:17:48 -04:00
David Sherret
1bb47805d6
refactor: move NpmCacheDir to deno_cache_dir (#25916)
Part of the ongoing work to move more of Deno's resolution out of the
CLI crate (for use in Wasm and other things)

Includes:

* https://github.com/denoland/deno_cache_dir/pull/60
2024-09-28 08:50:16 -04:00
David Sherret
fc739dc5eb
refactor: use deno_path_util (#25918) 2024-09-28 07:55:01 -04:00
Nathan Whitaker
fbddd5a2eb
fix(node): Pass NPM_PROCESS_STATE to subprocesses via temp file instead of env var (#25896)
Fixes https://github.com/denoland/deno/issues/25401. Fixes
https://github.com/denoland/deno/issues/25841. Fixes
https://github.com/denoland/deno/issues/25891.
2024-09-27 12:35:37 -07:00
Luca Casonato
3134abefa4
BREAKING(ext/net): improved error code accuracy (#25383)
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-09-27 14:07:20 +00:00
Asher Gomez
88a4f8dd97
chore: update simd-json (#25897) 2024-09-27 14:57:27 +10:00
Yoshiya Hinosawa
0c4f78619f
fix lint errors 2024-09-26 19:37:12 +09:00
Satya Rohith
2c60a4352d
wip: abort request when destroy() is invoked
Yoshiya Hinosawa <stibium121@gmail.com>
2024-09-26 14:20:48 +05:30
Yoshiya Hinosawa
122cefaed4
fix lint errors 2024-09-26 13:54:09 +09:00
Yoshiya Hinosawa
33c4efac51
fmt 2024-09-26 13:31:09 +09:00
Yoshiya Hinosawa
a32ea23dea
fmt 2024-09-26 13:26:53 +09:00
Yoshiya Hinosawa
6301b5831c
update test cases 2024-09-26 13:24:55 +09:00
Yoshiya Hinosawa
2f9cdaa67d
fixes 2024-09-26 13:05:21 +09:00
Yoshiya Hinosawa
9c1b39ba2d
clean up debug logs 2024-09-26 12:45:33 +09:00
Divy Srivastava
121d9697a1
fix(ext/node): fix process.stdin.pause() (#25864)
Fixes https://github.com/denoland/deno/issues/25844
2024-09-26 08:47:29 +05:30
Yoshiya Hinosawa
be8c90de6f
fmt 2024-09-24 20:28:50 +09:00
Divy Srivastava
7d7e541724
fix(ext/node): Fix vm sandbox object panic (#24985) 2024-09-24 15:47:13 +05:30
Satya Rohith
65eb113359
wip 2024-09-24 11:40:18 +05:30
Satya Rohith
e98525c0a0
get get_data.js working 2024-09-24 11:01:56 +05:30
Satya Rohith
32614733bf
wip 2024-09-24 11:01:56 +05:30
Satya Rohith
f9c1219f7c
wip 2024-09-24 11:01:56 +05:30
Satya Rohith
95ad0faddb
wip 2024-09-24 11:01:56 +05:30
Satya Rohith
d95db75de5
fix ids 2024-09-24 11:01:56 +05:30
Satya Rohith
29fe1768a8
introduce more ops to wait for connection ready 2024-09-24 11:01:56 +05:30
Satya Rohith
821d5a5653
flush buffer once socket is ready 2024-09-24 11:01:56 +05:30
Satya Rohith
ae5d72a870
feat: use buffer, introduce flushHeaders, flushBody 2024-09-24 11:01:55 +05:30
Satya Rohith
a3363a9a6a
feat(ext/node): set on("socket") listener for write 2024-09-24 11:01:55 +05:30
Satya Rohith
2c576e8d78
feat(ext/node): fallback to net.createConnection in client 2024-09-24 11:01:55 +05:30
Satya Rohith
c883a72f27
chore(ext/node): remove old ops 2024-09-24 11:01:55 +05:30
Satya Rohith
568cd787cc
feat: op_node_http_request_with_conn 2024-09-24 11:01:55 +05:30
David Sherret
33f169beb9
chore: add code generation for @types/deno (#25545) 2024-09-23 19:18:52 +00:00
Divy Srivastava
bfdca5bc7a
feat(ext/crypto): import and export p521 keys (#25789)
Towards https://github.com/denoland/deno/issues/13449
2024-09-23 19:40:36 +05:30
carles escrig royo
8f32a1577e
fix(ext/web): don't ignore capture in EventTarget.removeEventListener (#25788) 2024-09-23 11:19:59 +02:00
Volker Schlecht
37cedefb4d
fix(ext/node): stub cpu_info() for OpenBSD (#25807)
Add an implementation of cpu_info() for OpenBSD, that returns a
correctly-sized array. Since Rust's libc bindings for OpenBSD do not
contain all symbols necessary for a full implementation and it is not
planned to add them, this solution at least avoids problems with code
that relies on cpu_info() purely for the size of the returned array to
derive the number of available CPUs.

This addresses https://github.com/denoland/deno/issues/25621
2024-09-23 09:08:16 +05:30
Divy Srivastava
0cb00a6e89
BREAKING(webgpu/unstable): move width and height options to UnsafeWindowSurface constructor (#24200)
Fixes https://github.com/denoland/deno/issues/23508

`width` and `height` are required to configure the wgpu surface because
Deno is headless and depends on user to create a window. The options
were non-standard extension of `GPUCanvasConfiguration#configure`.

This PR adds a required options parameter with the `width` and `height`
options to `Deno.UnsafeWindowSurface` constructor.

```typescript
// Old, non-standard extension of GPUCanvasConfiguration
const surface = new Deno.UnsafeWindowSurface("x11", displayHandle, windowHandle);

const context  = surface.getContext();
context.configure({ width: 600, height: 800, /* ... */ });
```

```typescript
// New
const surface = new Deno.UnsafeWindowSurface({
  system: "x11",
  windowHandle,
  displayHandle,
  width: 600,
  height: 800,
});

const context  = surface.getContext();
context.configure({ /* ... */ });
```
2024-09-22 09:10:54 +05:30
Nathan Whitaker
9be8dce0c7
fix(node): Include "node" condition during CJS re-export analysis (#25785)
Fixes #25777.

We were missing the "node" condition, so we were resolving to the wrong
conditional export, causing our analysis to be incorrect.
2024-09-21 16:10:38 -07:00
Nathan Whitaker
4b022103a1
chore: Revert child_process close ordering change (#25781)
From
https://github.com/denoland/deno/commit/18b89d948dcb849c4dc577478794c3d5fb23b59

May have caused the recent flakiness of
parallel/test-child-process-ipc-next-tick.js
2024-09-20 23:46:42 +00:00
carles escrig royo
88a469e823
perf(ext/web): optimize performance.measure() (#25774)
This PR optimizes the case when `performance.measure()` needs to find
the startMark by name. It is a simple change on `findMostRecent` fn to
avoiding copying and reversing the complete entries list.

Adds minor missing tests for:
- `clearMarks()`, general
- `clearMeasures()`, general
- `measure()`, case when the startMarks name exists more than once

### Benchmarks

#### main

```
    CPU | AMD Ryzen 7 PRO 6850U with Radeon Graphics
Runtime | Deno 2.0.0-rc.4 (x86_64-unknown-linux-gnu)

benchmark              time/iter (avg)        iter/s      (min … max)           p75      p99     p995
---------------------- ----------------------------- --------------------- --------------------------
worst case measure()            2.1 ms         486.9 (  1.7 ms …   2.4 ms)   2.2 ms   2.4 ms   2.4 ms
```

#### this PR

```
    CPU | AMD Ryzen 7 PRO 6850U with Radeon Graphics
Runtime | Deno 2.0.0-rc.4 (x86_64-unknown-linux-gnu)

benchmark              time/iter (avg)        iter/s      (min … max)           p75      p99     p995
---------------------- ----------------------------- --------------------- --------------------------
worst case measure()          966.3 µs         1,035 (876.9 µs …   1.1 ms)   1.0 ms   1.1 ms   1.1 ms
```

```ts
Deno.bench("worst case measure()", (b) => {
  performance.mark('start');

  for (let i = 0; i < 1e5; i += 1) {
    performance.mark(crypto.randomUUID());
  }

  b.start();

  performance.measure('total', 'start');

  b.end();

  performance.clearMarks();
  performance.clearMeasures();
});
```
2024-09-20 16:24:59 -07:00
Divy Srivastava
92fc702cec
fix(ext/crypto): ensure EC public keys are exported uncompressed (#25766)
Fixes https://github.com/denoland/deno/issues/18050
2024-09-20 20:59:05 +05:30
Divy Srivastava
a92ebd95a1
fix(ext/crypto): reject empty usages in SubtleCrypto#importKey (#25759)
Fixes https://github.com/denoland/deno/issues/19051
2024-09-20 18:02:28 +05:30
snek
a01dce3a25
fix: cjs resolution cases (#25739)
Fixes cjs modules being loaded as esm.
2024-09-19 21:10:34 -07:00
Nathan Whitaker
f1ba266613
fix(node): Don't error out if we fail to statically analyze CJS re-export (#25748)
Fixes rsbuild running in deno.

You can look at the test to see what was failing, the gist is that we
were trying to statically analyze the re-exports of a CJS script, and if
we couldn't find the source for the re-exported file we would fail.

Instead, we should just treat these as if they were too dynamic to
analyze, and let it fail (or succeed) at runtime. This aligns with
node's behavior.
2024-09-19 18:37:36 -07:00
Divy Srivastava
e97f00f6f6
fix(ext/node): support x509 certificates in createPublicKey (#25731)
Fixes https://github.com/denoland/deno/issues/25681
2024-09-19 19:12:23 +05:30
Luca Casonato
159ac45a85
fix(ext/console): more precision in console.time (#25723) 2024-09-19 14:41:05 +02:00
Sean McArthur
68065351df
fix(ext/fetch): fix lowercase http_proxy classified as https (#25686)
While investigating something else, I noticed this typo which treated
`http_proxy` as `Filter::Https`.
2024-09-19 08:03:07 +00:00
Ian Bull
d420829908
refactor(ext/kv): align error messages (#25500)
Towards https://github.com/denoland/deno/issues/25269
2024-09-19 13:20:09 +05:30
Ian Bull
3035cdddb8
refactor(ext/webidl): align error messages (#25625)
Towards https://github.com/denoland/deno/issues/25269
2024-09-19 13:03:32 +05:30
Ian Bull
486cb18fc5
refactor(ext/webgpu): align error messages (#25719)
Aligns the error messages in the ext/webgpu folder to be in-line with
the Deno style guide.

https://github.com/denoland/deno/issues/25269
2024-09-19 09:14:54 +02:00
Yoshiya Hinosawa
f460188e58
fix(ext/node): don't throw error for unsupported signal binding on windows (#25699) 2024-09-19 12:22:01 +09:00
Ian Bull
282c4c262d
refactor(ext): align error messages (#25496)
Aligns the error messages in the ext/http and a few messages in the
ext/fetch folder to be in-line with the Deno style guide.

This change-set also removes some unnecessary checks in the 00_serve.ts.
These options were recently removed, so it doesn't make sense to check
for them anymore.

https://github.com/denoland/deno/issues/25269
2024-09-18 18:19:45 -07:00
Luca Casonato
7a41a93997
fix(ext/http): gracefully handle Response.error responses (#25712)
Fixes #14371
2024-09-18 21:14:40 +02:00
Luca Casonato
ab1e391e1d
feat(ext/node): add rootCertificates to node:tls (#25707)
Closes https://github.com/denoland/deno/issues/25604

Signed-off-by: Satya Rohith <me@satyarohith.com>
Co-authored-by: Satya Rohith <me@satyarohith.com>
2024-09-18 21:14:26 +02:00
David Sherret
3dd83fdbdb
Revert "feat(fmt): sort type-only named import/exports last" (#25705)
Reverts #25690

This was not an issue with the ts compiler anymore. Discussion here:
https://github.com/dprint/dprint-plugin-typescript/pull/664#issuecomment-2357000053
2024-09-18 13:54:52 +00:00
Ian Bull
97b8c9be38
refactor(ext/websocket): align error messages (#25622)
Aligns the error messages in the ext/websocket folder to be in-line with
the Deno style guide.

https://github.com/denoland/deno/issues/25269
2024-09-17 15:32:12 -07:00
Divy Srivastava
063f427ddf
fix(ext/node): stub inspector/promises (#25635)
Signed-off-by: Divy Srivastava <dj.srivastava23@gmail.com>
2024-09-17 22:57:19 +05:30
David Sherret
a14e9f55b4
feat(fmt): sort type-only named import/exports last (#25690)
Closes #22583
2024-09-17 18:26:23 +01:00
Bartek Iwańczuk
aaf2bf4bfb
chore: upgrade deno_core (#25674)
No functional changes, just removes dead code.
2024-09-17 01:13:34 +00:00
David Sherret
62e952559f
refactor(permissions): split up Descriptor into Allow, Deny, and Query (#25508)
This makes the permission system more versatile.
2024-09-16 21:39:37 +01:00
Luca Casonato
8fa92228bb
fix(types): simplify mtls related types (#25658)
Instead of two overloads for `Deno.connectTls` and
`Deno.createHttpClient`, there is now just one.
2024-09-16 14:35:55 +02:00
Luca Casonato
74069add3f
fix(runtime): don't error child.output() on consumed stream (#25657)
This fixes the fast path for `readableStreamCollectIntoUint8Array` to
only trigger if the readable stream has not yet been disturbed -
because otherwise we may not be able to close it if the
read errors.
2024-09-16 14:23:40 +02:00
Luca Casonato
81c9e0ba25
fix(ext/crypto): support md4 digest algorithm (#25656)
Fixes #25646
2024-09-16 11:04:40 +00:00
Divy Srivastava
db6fc12b9e
fix(ext/node): add vm.constants (#25630) 2024-09-15 08:15:28 +05:30
Divy Srivastava
4655172c0b
fix(ext/node): export process.allowedNodeEnvironmentFlags (#25629) 2024-09-15 08:15:19 +05:30
Divy Srivastava
ccd1ca8a8b
fix(ext/node): add stubs for node:trace_events (#25628) 2024-09-15 08:15:09 +05:30
Marvin Hagemeister
597f2d8d4d
feat: print Listening on messages on stderr instead of stdout (#25491)
Fixes https://github.com/denoland/deno/issues/25114

---------

Signed-off-by: Leo Kettmeir <crowlkats@toaxl.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
Co-authored-by: crowlkats <crowlkats@toaxl.com>
Co-authored-by: Nathan Whitaker <17734409+nathanwhit@users.noreply.github.com>
2024-09-14 23:30:06 +02:00
snek
2c0bf6fd65
fix(ext/node): attach console stream properties (#25617)
`kBindStreamsLazy` should be called with `process` during init, but it
never was.
2024-09-13 17:28:35 -07:00
Jake Abed
d162733db2
fix(ext/node): use primordials in ext/node/polyfills/wasi.ts (#25608)
Toward #24236
2024-09-13 22:31:07 +05:30
Nathan Whitaker
7477c2d706
feat(serve): Support second parameter in deno serve (#25606)
Closes #24099
2024-09-12 23:32:28 +00:00
Bartek Iwańczuk
71d5d47ca9
feat(ext/node): export 'promises' symbol from 'node:timers' (#25589) 2024-09-12 20:30:49 +00:00
Nathan Whitaker
18b89d948d
fix(ext/node): Implement detached option in child_process (#25218)
Fixes https://github.com/denoland/deno/issues/25193.
2024-09-12 19:24:58 +00:00
Yoshiya Hinosawa
3f15e30062
fix(ext/node): fix Decipheriv when autoPadding disabled (#25598)
This change fixes Decipheriv behavior when autoPadding disabled and enabled.

By this change, the example given in
https://github.com/denoland/deno/issues/20924#issuecomment-2345931295
works in the same way as Node.

closes #20924
2024-09-13 01:13:56 +09:00
Asher Gomez
9e8f84214f
refactor: cleanup unstable checks for WebGPU, FFI and FS APIs (#25586)
Continuation of work in #25488.

---------

Signed-off-by: Asher Gomez <ashersaupingomez@gmail.com>
2024-09-12 12:27:16 +00:00
MujahedSafaa
4983f763d4
fix(ext/console): prevent duplicate error printing when the cause is assigned (#25327)
This commit fixes the error format when the cause is assigned
separately, ensuring that the cause is only printed once instead of
twice.

The fix addresses issue
[#21651](https://github.com/denoland/deno/issues/21651).
2024-09-12 05:02:32 -07:00
Bartek Iwańczuk
46d5f38a0f
fix(ext/node): export request and response clases from http2 module (#25592)
Closes https://github.com/denoland/deno/issues/20612
Closes https://github.com/denoland/deno/issues/23326

This makes `qwik` work.
2024-09-12 02:03:57 +00:00
Bartek Iwańczuk
f794781ffb
feat(ext/node): expose ES modules for _ modules (#25588)
Exposes following modules:
- `"node:_http_agent"`
- `"node:_http_common"`
- `"node:_http_outgoing"`
- `"node:_http_server"`
- `"node:_stream_duplex"`
- `"node:_stream_passthrough"`
- `"node:_stream_readable"`
- `"node:_stream_transform"`
- `"node:_stream_writable"`
- `"node:_tls_common"`
- `"node:_tls_wrap"`
2024-09-12 00:52:08 +00:00
Asher Gomez
8476bbff9a
feat: stabilize Deno.createHttpClient() (#25569)
Closes #25518
2024-09-12 10:46:48 +10:00
Bartek Iwańczuk
3a3837545c
feat(ext/node): export missing symbols from domain, puncode, repl, tls (#25585) 2024-09-12 02:25:46 +02:00
Bartek Iwańczuk
3f6605d123
feat(ext/node): export missing constants from 'zlib' module (#25584)
That puts us at 99.5% compatibility for this module.
2024-09-12 01:12:10 +02:00
Bartek Iwańczuk
05bd547238
feat(ext/node): export more symbols from streams and timers/promises (#25582) 2024-09-12 01:02:50 +02:00
Yoshiya Hinosawa
aae3a6bcb4
fix(ext/node): fix Cipheriv#update(string, undefined) (#25571) 2024-09-11 19:24:17 +09:00
Yoshiya Hinosawa
200145a09a
fix(ext/node): avoid showing UNKNOWN error from TCP handle (#25550) 2024-09-11 19:19:02 +09:00
Yoshiya Hinosawa
8bdd364dd5
fix(ext/node): add FileHandle#writeFile (#25555)
This PR adds `writeFile` methods of `FileHandle` class
https://nodejs.org/api/fs.html#filehandlewritefiledata-options
2024-09-11 11:08:40 +02:00