summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-04-27refactor(ext/node): migrate back to using "Deno.serve" API for HTTP server ↵Bartek Iwańczuk
(#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-26feat(cli): flatten deno.json configuaration (#17799)scarf
2023-04-27feat(lint): add `Deno.run` to `no-deprecated-deno-api` (#18869)Bartek Iwańczuk
This upgrade includes a warning for the deprecated "Deno.run()" API. --------- Co-authored-by: David Sherret <dsherret@gmail.com>
2023-04-27docs: Improve inline docs for permissions (deno run --help) (#18757)Kevin Whinnery
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-27feat(serde_v8): better error output (#18815)Bartek Iwańczuk
The type that was received is now printed as part of a message.
2023-04-27feat: Deprecate Deno.run API in favor of Deno.Command (#17630) (#18866)Bartek Iwańczuk
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-26fix(dts): `URLPatternComponentResult` groups should have possibly undefined ↵David Sherret
key values (#18643) Closes #18640
2023-04-27fix(ext/http): internal upgradeHttpRaw works with "Deno.serve()" API (#18859)Matt Mastracci
Fix internal "upgradeHttpRaw" API restoring capability to upgrade HTTP connection in polyfilles "node:http" API.
2023-04-26refactor(ext/node): use a snapshottable global name for Node's globalThis ↵David Sherret
(#18860)
2023-04-26bench: fix more benchmarks (#18864)Bartek Iwańczuk
2023-04-26feat(cli): don't check permissions for statically analyzable dynamic imports ↵Nayeem Rahman
(#18713) Closes #17697 Closes #17658
2023-04-26chore: fix benchmarks (#18863)David Sherret
2023-04-26refactor(core): simplify op types and codegeneration (#18843)Bartek Iwańczuk
About 2% improvement on WS/HTTP benchmarks, possibly unlocking more optimizations in the future. --------- Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2023-04-26refactor: don't expose Deno[Deno.internal].core namespace (#18816)Bartek Iwańczuk
2023-04-26feat(ext/kv): add more atomic operation helpers (#18854)Ryan Dahl
Co-authored-by: losfair <zhy20000919@hotmail.com> Co-authored-by: Luca Casonato <hello@lcas.dev>
2023-04-26refactor(compile): remove usage of ProcState and CliOptions (#18855)David Sherret
2023-04-26perf(ext/http): optimize away code based on callback length (#18849)Divy Srivastava
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-26Revert "chore(ext/websocket): Add autobahn|testsuite fuzzingclient (#… ↵Bartek Iwańczuk
(#18856) …18846)" This reverts commit 036778c2e8e159ef1e586de4102f823367b7c554. Keeps failing on `main` branch.
2023-04-26perf(ext/http): optimize for zero or one-packet response streams (#18834)Matt Mastracci
Improve `deno_reactdom_ssr_flash.jsx` by optimizing for zero/one-packet response streams.
2023-04-26BREAKING(unstable): remove "Deno.serve(handler, options)" overload (#18759)Bartek Iwańczuk
In preparation to stabilization of the API this overload was decided to be removed.
2023-04-26chore(ext/websocket): Add autobahn|testsuite fuzzingclient (#18846)Divy Srivastava
Closes #17242
2023-04-26perf(ext/http): use smi for slab IDs (#18848)Divy Srivastava
2023-04-26perf(ext/http): avoid spread arg deopt in op_http_wait (#18850)Divy Srivastava
2% improvement on macOS hello world.
2023-04-26chore(ext/websocket): remove ping frame handling (#18847)Divy Srivastava
Automatically done in the fastwebsockets crate
2023-04-26chore: upgrade rusty_v8 to 0.70.0 (#18844)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/18369
2023-04-26ci: switch release doc to mention dotcom (#18845)Leo Kettmeir
2023-04-25refactor(cli): extract out NpmModuleLoader from CliModuleLoader (#18842)David Sherret
Need to share this with the loader used in deno compile
2023-04-26fix(core): Wrap safe collections' argument of primordials (#18750)Kenta Moriuchi
2023-04-25refactor(ext/kv): don't use bigint literals (#18841)Bartek Iwańczuk
This causes `DCHECK` fail in V8 when pointer compression is disabled.
2023-04-25refactor(ext/websocket): use specialized ops (#18819)Bartek Iwańczuk
Instead of relying on `op_ws_send` to send different kinds of messages, use specialized ops everywhere.
2023-04-25refactor(ext/http): comments for h2c code (#18833)Matt Mastracci
2023-04-25fix(ext/node): fix hash.flush (#18818)Yoshiya Hinosawa
2023-04-24refactor(ext/node): enforce interior mutable for `NodePermissions` to remove ↵David Sherret
clones (#18831) We can make `NodePermissions` rely on interior mutability (which the `PermissionsContainer` is already doing) in order to not have to clone everything all the time. This also reduces the chance of an accidental `borrow` while `borrrow_mut`.
2023-04-24fix(lsp): show dependency errors for repeated imports (#18807)Nayeem Rahman
2023-04-24refactor(ext/node): allow injecting `NodeFs` from CLI (#18829)David Sherret
This allows providing a `NodeFs` as part of the `WorkerOptions`.
2023-04-24feat(ext/http): h2c for http/2 (#18817)Matt Mastracci
This implements HTTP/2 prior-knowledge connections, allowing clients to request HTTP/2 over plaintext or TLS-without-ALPN connections. If a client requests a specific protocol via ALPN (`h2` or `http/1.1`), however, the protocol is forced and must be used.
2023-04-24fix(npm): only include top level packages in top level node_modules ↵David Sherret
directory (#18824) We were indeterministically including packages in the top level `node_modules/` folder when using a local node_modules directory. This change aligns with pnpm and only includes top level packages in this folder. This should be faster for initializing the folder, but may expose issues in packages that reference other packages not defined in their dependencies. That said, the behaviour previously was previously broken. This has exposed a bug in the require implementation where it doesn't find a package (which is the main underlying issue here). There is a failing test already for this in the test suite after this change. Closes #18822 --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-04-24docs: add categories to APIs without (#18826)Leo Kettmeir
2023-04-24test: disable flaky Node test (#18821)Bartek Iwańczuk
If we hit a slow runner this test almost always fails.
2023-04-24docs(security): clarify storage explosion attacks in policy (#18697)Tristan F
Deno does not cover storage explosion attacks from evaluated runtime code. I've chosen the following parts for this clarification: - _Evaluated_ code - storage explosion attacks caused by services in Deno such as the HTTP server should still be covered. - Isolated - If the storage explosion attack can happen at arbitrary different files, it may leave a much more lasting impact on a targeted host system than on simply the Deno cache.
2023-04-24refactor(ext/node): reorganize ops (#18799)Bartek Iwańczuk
Move all op related code of "ext/node" to "ext/node/ops" module. These files were unnecessarily scattered around the extension.
2023-04-23chore: remove tokio-tungstenite dependency (#18814)Bartek Iwańczuk
2023-04-23test: deflake worker tests (#18813)Bartek Iwańczuk
2023-04-23refactor: rewrite client side tests to 'fastwebsockets' crate (#18800)Bartek Iwańczuk
Follow up to https://github.com/denoland/deno/pull/18781.
2023-04-23refactor(ext/websocket): Remove dep on tungstenite by reworking code (#18812)Matt Mastracci
2023-04-23tests: update tests relying on deno.land (#18811)Leo Kettmeir
2023-04-23fix(ext/http): ensure that multiple upgrades and multiple simultaneous ↵Matt Mastracci
requests cannot cause a panic (#18810) Fix a bug where we weren't saving `slabId` in #18619, plus add some robustness checks around multiple upgrades (w/test).
2023-04-22feat(ext/http): Rework Deno.serve using hyper 1.0-rc3 (#18619)Matt Mastracci
This is a rewrite of the `Deno.serve` API to live on top of hyper 1.0-rc3. The code should be more maintainable long-term, and avoids some of the slower mpsc patterns that made the older code less efficient than it could have been. Missing features: - `upgradeHttp` and `upgradeHttpRaw` (`upgradeWebSocket` is available, however). - Automatic compression is unavailable on responses.
2023-04-22feat(node/http): implement ClientRequest.setTimeout() (#18783)Levente Kurusa
- implement setTimeout with matching semantics of Node - add the test from Node but leave it turned off because ClientRequest has no underlying socket
2023-04-22refactor: rewrite tests to "fastwebsockets" crate (#18781)Bartek Iwańczuk
Migrating off of `tokio-tungstenite` crate. --------- Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>