David Sherret
96e214d9d0
fix(fmt/json): support formatting number with exponent and no sign ( #18894 )
...
Numbers with an exponent and no sign (ex. `1e1`) would fail to parse.
2023-04-30 10:03:39 -04:00
Divy Srivastava
314799bc4f
perf(ext/websocket): use internal dispatch for msg events ( #18904 )
...
```
Linux divy-2 5.19.0-1022-gcp #24~22.04.1-Ubuntu SMP Sun Apr 23 09:51:08 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
32GiB System memory
Intel(R) Xeon(R) CPU @ 3.10GHz
# main
Msg/sec: 89398.250000
Msg/sec: 90079.750000
# this patch
Msg/sec: 91919.750000
Msg/sec: 91762.250000
```
2023-04-30 12:24:56 +02:00
Kenta Moriuchi
74bb09aa38
fix(ext/url): throw TypeError
for empty argument ( #18896 )
...
Fixes #18893
2023-04-30 12:24:34 +02:00
Leo Kettmeir
59825a95b4
refactor: remove ext/console/01_colors.js ( #18927 )
2023-04-30 09:11:37 +00:00
Matt Mastracci
bb1f5e4262
perf(core): async op pseudo-codegen and performance work ( #18887 )
...
Performance:
```
async_ops.js: 760k -> 1030k (!)
async_ops_deferred.js: 730k -> 770k
Deno.serve bench: 118k -> 124k
WS test w/ third_party/prebuilt/mac/load_test 100 localhost 8000 0 0: unchanged
Startup time: approx 0.5ms slower (13.7 -> 14.2ms)
```
2023-04-30 08:50:24 +00:00
Leo Kettmeir
9c8ebce3dc
refactor: merge Deno & Node inspectors ( #18691 )
2023-04-30 07:24:13 +00:00
Divy Srivastava
64e072e499
fix(ext/websocket): update fastwebsockets to 0.3.1 ( #18916 )
...
Fixes https://github.com/denoland/deno/issues/18912
Fixes https://github.com/denoland/deno/issues/18808
2023-04-29 22:39:18 +05:30
Luca Casonato
1066490847
fix(ext/kv): stricter structured clone serializer ( #18914 )
2023-04-29 17:43:07 +02:00
Igor Zinkovsky
10ae5ee265
fix(ext/io) several sync fs fixes ( #18886 )
...
2 fixes related to sync fs:
* update the 2 sync methods on `Resource` trait to take `Rc<Self>`
(consistent with other methods)
* fix a bug in `StdFileResource::with_inner_and_metadata`, which
currently can trigger a panic if a sync method is called on a file with
a pending async operation. This could happen in the code path where
`File::try_clone`
[fails](39ece1fe0d/ext/io/lib.rs (L485-L489)
).
2023-04-28 12:16:17 -07:00
denobot
6369098ad7
chore: forward v1.33.1 release commit to main ( #18897 )
...
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-04-28 21:14:26 +02:00
Divy Srivastava
8739519ebc
fix(ext/websocket): client connect URI ( #18892 )
2023-04-28 18:00:27 +02:00
Bartek Iwańczuk
142c1ab9fc
fix(ext/websocket): restore op_ws_send_ping ( #18891 )
...
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2023-04-28 16:48:00 +02:00
Nayeem Rahman
0b296c6378
fix(repl): don't panic on undefined exception ( #18888 )
...
Fixes regression from #18878 where `Promise.reject()`,
`Promise.reject(undefined)` and `reportError(undefined)` panic in the
REPL.
Fixes `throw undefined` printing `Uncaught Unknown exception` instead of
`Uncaught undefined`.
2023-04-28 15:21:55 +02:00
Luca Casonato
84b921555f
fix(ext/fetch): subview Uint8Array in Req/Resp ( #18890 )
2023-04-28 14:26:21 +02:00
Bartek Iwańczuk
de5bd4e536
build: define features for 'hyper' crate ( #18882 )
...
Fixes the "publish" CI step. Somehow neither `cargo build` nor
`cargo clippy` don't complain about it.
2023-04-28 09:09:42 +05:30
denobot
39ece1fe0d
1.33.0 ( #18879 )
...
Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-04-28 01:18:57 +02:00
Bartek Iwańczuk
683dbd7f3b
Revert "refactor: don't expose Deno[Deno.internal].core namespace" ( #18881 )
...
Also conditionally disabled one test if there's not enough space on
device.
2023-04-28 00:37:03 +02:00
Nayeem Rahman
504482dadd
fix(repl): print unhandled rejections and event errors ( #18878 )
...
Fixes #8858 .
Fixes #8869 .
```
$ target/debug/deno
Deno 1.32.5
exit using ctrl+d, ctrl+c, or close()
REPL is running with all permissions allowed.
To specify permissions, run `deno repl` with allow flags.
> Promise.reject(new Error("bar"));
Promise { <rejected> Error: bar
at <anonymous>:2:16 }
Uncaught (in promise) Error: bar
at <anonymous>:2:16
> reportError(new Error("baz"));
undefined
Uncaught Error: baz
at <anonymous>:2:13
>
2023-04-27 23:36:49 +02:00
Bartek Iwańczuk
6cd62ea5e9
chore: upgrade rusty_v8 to 0.71.0 ( #18868 )
2023-04-27 20:50:46 +02:00
Levente Kurusa
c3d670dbc9
feat(node/crypto): Elliptic Curve Diffie-Hellman (ECDH) support ( #18832 )
...
- ECDH class
- crypto.createECDH()
- Supported curves:
- secp256k1
- prime256v1 / secp256r1
- secp384r1
- secp224r1
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-04-27 18:31:35 +02:00
Luca Casonato
3fbb31c3c1
feat(kv): return ok bool from atomic commit ( #18873 )
2023-04-27 16:59:02 +02:00
Divy Srivastava
b0264bea7d
fix(ext/node): prime generation ( #18861 )
...
Towards https://github.com/denoland/deno/issues/18455
`safe`, `add` and `rem` options are not implemented because there is no
rust crate that provides this functionality (except rust-openssl maybe)
and its just not clear if this API is used widely.
2023-04-27 19:40:59 +05:30
David Sherret
742cc3111c
refactor(cli): extract out ProcState from CliMainWorker ( #18867 )
2023-04-27 10:05:20 -04:00
Nayeem Rahman
03132e19da
fix(test): handle dispatched exceptions from test functions ( #18853 )
...
Fixes #18852 .
2023-04-27 14:40:03 +02:00
Bartek Iwańczuk
d043a6d72c
perf(ext/websocket): various performance improvements ( #18862 )
...
- No need to wrap buffer in a `new DataView()`
- Deferred ops are still eagerly polled, but resolved on the next
tick of the event loop, we don't want them to be eagerly polled
- Using "core.opAsync"/"core.opAsync2" incurs additional cost
of looking up these functions on each call. Similarly with "ops.*"
---------
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2023-04-27 12:47:52 +02:00
Bartek Iwańczuk
1e331a4873
refactor(ext/node): migrate back to using "Deno.serve" API for HTTP server ( #18865 )
...
This commit fixes "node:http" API to properly handle "upgrade"
requests and thus marking Vite work again.
This is done by migrating back to "Deno.serve()" and internal
"upgradeHttpRaw" APIs for "node:http" module polyfill.
2023-04-27 12:45:13 +02:00
scarf
90a5ef5e34
feat(cli): flatten deno.json configuaration ( #17799 )
2023-04-26 23:02:36 -04:00
Bartek Iwańczuk
4192978c3a
feat(lint): add Deno.run
to no-deprecated-deno-api
( #18869 )
...
This upgrade includes a warning for the deprecated "Deno.run()" API.
---------
Co-authored-by: David Sherret <dsherret@gmail.com>
2023-04-27 02:52:52 +00:00
Kevin Whinnery
a16ad526e9
docs: Improve inline docs for permissions (deno run --help) ( #18757 )
...
Hey there! I took a crack at improving these embedded docs [as requested
here](https://github.com/denoland/deno/issues/18685 ). These should
accurately reflect the functionality of the permission-related flags for
`deno run`.
### Highlights
* Adds human-readable argument string in the format [prescribed in the
docs](https://docs.rs/clap/latest/clap/struct.Arg.html#method.value_name )
* Keeps text description terse, but includes a relevant copy/pasteable
docs link
* Includes example argument usage/formatting
2023-04-27 02:49:59 +02:00
Bartek Iwańczuk
1054723a4b
feat(serde_v8): better error output ( #18815 )
...
The type that was received is now printed as part of a message.
2023-04-27 02:12:39 +02:00
Bartek Iwańczuk
09b6dbc0a6
feat: Deprecate Deno.run API in favor of Deno.Command ( #17630 ) ( #18866 )
...
This commit adds `@deprecated` comments to `Deno.run` API declarations.
Since stabilization of `Deno.Command` API in [Deno
v1.31](https://deno.com/blog/v1.31#api-stabilizations ), `Deno.Command`
is the preferred (more reliable) API to interact with subprocesses.
This is the preparation for the removal of `Deno.run` API in Deno 2.0.
2023-04-27 02:11:23 +02:00
David Sherret
f4e442da4d
fix(dts): URLPatternComponentResult
groups should have possibly undefined key values ( #18643 )
...
Closes #18640
2023-04-26 19:15:25 -04:00
Matt Mastracci
e2761df3fe
fix(ext/http): internal upgradeHttpRaw works with "Deno.serve()" API ( #18859 )
...
Fix internal "upgradeHttpRaw" API restoring capability to upgrade HTTP
connection in polyfilles "node:http" API.
2023-04-27 00:58:18 +02:00
David Sherret
a8b4e346b4
refactor(ext/node): use a snapshottable global name for Node's globalThis ( #18860 )
2023-04-26 18:53:13 -04:00
Bartek Iwańczuk
7415aff983
bench: fix more benchmarks ( #18864 )
2023-04-26 21:59:32 +00:00
Nayeem Rahman
3d8a4d3b81
feat(cli): don't check permissions for statically analyzable dynamic imports ( #18713 )
...
Closes #17697
Closes #17658
2023-04-26 16:23:28 -04:00
David Sherret
c2f5c09692
chore: fix benchmarks ( #18863 )
2023-04-26 19:09:28 +00:00
Bartek Iwańczuk
77e25a656e
refactor(core): simplify op types and codegeneration ( #18843 )
...
About 2% improvement on WS/HTTP benchmarks, possibly unlocking more
optimizations in the future.
---------
Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2023-04-26 20:02:27 +02:00
Bartek Iwańczuk
14aaa73c02
refactor: don't expose Deno[Deno.internal].core namespace ( #18816 )
2023-04-26 19:57:38 +02:00
Ryan Dahl
2df6db36c8
feat(ext/kv): add more atomic operation helpers ( #18854 )
...
Co-authored-by: losfair <zhy20000919@hotmail.com>
Co-authored-by: Luca Casonato <hello@lcas.dev>
2023-04-26 17:14:01 +00:00
David Sherret
55a9977c62
refactor(compile): remove usage of ProcState and CliOptions ( #18855 )
2023-04-26 13:07:15 -04:00
Divy Srivastava
5f7db93d0b
perf(ext/http): optimize away code based on callback length ( #18849 )
...
hello world on macOS:
```
divy@mini ~> wrk -d 10s --latency http://127.0.0.1:4500
Running 10s test @ http://127.0.0.1:4500
2 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 80.82us 42.95us 2.91ms 96.40%
Req/Sec 56.91k 1.94k 60.77k 95.54%
Latency Distribution
50% 77.00us
75% 89.00us
90% 105.00us
99% 146.00us
1143455 requests in 10.10s, 138.49MB read
Requests/sec: 113212.38
Transfer/sec: 13.71MB
divy@mini ~> wrk -d 10s --latency http://127.0.0.1:4500
Running 10s test @ http://127.0.0.1:4500
2 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 88.63us 78.77us 2.55ms 98.72%
Req/Sec 54.84k 2.16k 57.35k 98.51%
Latency Distribution
50% 80.00us
75% 93.00us
90% 109.00us
99% 249.00us
1102313 requests in 10.10s, 133.51MB read
Requests/sec: 109136.61
Transfer/sec: 13.22MB
```
Expected to have a larger impact on Linux
2023-04-26 22:11:54 +05:30
Bartek Iwańczuk
17d1c7e444
Revert "chore(ext/websocket): Add autobahn|testsuite fuzzingclient (#… ( #18856 )
...
…18846)"
This reverts commit 036778c2e8
.
Keeps failing on `main` branch.
2023-04-26 15:48:23 +00:00
Matt Mastracci
38681dfa88
perf(ext/http): optimize for zero or one-packet response streams ( #18834 )
...
Improve `deno_reactdom_ssr_flash.jsx` by optimizing for zero/one-packet response streams.
2023-04-26 15:33:30 +02:00
Bartek Iwańczuk
1b450015e7
BREAKING(unstable): remove "Deno.serve(handler, options)" overload ( #18759 )
...
In preparation to stabilization of the API this overload was decided to
be removed.
2023-04-26 14:54:03 +02:00
Divy Srivastava
036778c2e8
chore(ext/websocket): Add autobahn|testsuite fuzzingclient ( #18846 )
...
Closes #17242
2023-04-26 17:55:48 +05:30
Divy Srivastava
fbefceeb56
perf(ext/http): use smi for slab IDs ( #18848 )
2023-04-26 15:38:13 +05:30
Divy Srivastava
18170f2326
perf(ext/http): avoid spread arg deopt in op_http_wait ( #18850 )
...
2% improvement on macOS hello world.
2023-04-26 15:37:57 +05:30
Divy Srivastava
9d7e3f84c8
chore(ext/websocket): remove ping frame handling ( #18847 )
...
Automatically done in the fastwebsockets crate
2023-04-26 15:37:38 +05:30
Bartek Iwańczuk
106e4c475f
chore: upgrade rusty_v8 to 0.70.0 ( #18844 )
...
Closes https://github.com/denoland/deno/issues/18369
2023-04-26 10:02:03 +02:00