summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-06-13fix(ext/node): handle 'upgrade' responses (#19412)Bartek Iwańczuk
This commit adds support for "upgrade" events in "node:http" "ClientRequest". Currently only "Websocket" upgrades are handled. Thanks to this change package like "npm:puppeteer" and "npm:discord" should work. Closes https://github.com/denoland/deno/issues/18913 Closes https://github.com/denoland/deno/issues/17847
2023-06-13test(ext/node): add fs dirent unit test from std (#19461)Kaique da Silva
Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
2023-06-13feat(node): HTTPS server (#19362)Leo Kettmeir
2023-06-13chore(ext/http): fix github lint issue (#19479)Matt Mastracci
2023-06-12perf(ext/http): from_maybe_shared_unchecked for header values (#19478)Matt Mastracci
Prevents re-checking strings we already know are latin-1. Small improvement: 115k->116k
2023-06-12chore: No longer need a sparse checkout thanks to cargo sparse index (#19423)Matt Mastracci
`cargo`'s sparse index showed up in 1.68
2023-06-12chore(core): fix flaky flock_test on windows (#19477)Matt Mastracci
2023-06-12chore: update clap (#19467)Leo Kettmeir
Also switches to use defer for all subcommands besides run.
2023-06-12feat: Adaptations to support OpenBSD port (#19153)VlkrS
2023-06-10chore(tests): test_util - Add `PathRef` (#19450)David Sherret
This adds a new `PathRef` struct to test_util for making it easier to work with paths in test code. I'm going to expand on this more in the future.
2023-06-10perf(serve): hoist promise error callback (#19456)Marvin Hagemeister
2023-06-09perf: optimize ByteString checks, hoist server rid getter (#19452)Bartek Iwańczuk
Further improves preact SSR and express benches by about 2k RPS. Ref https://github.com/denoland/deno/issues/19451
2023-06-09chore: fix flaky package_json_auto_discovered_for_local_script_arg (#19445)David Sherret
2023-06-09perf(serve): hoist repeated condition (#19449)Marvin Hagemeister
2023-06-09perf(node): cache realpath_sync calls in read permission check (#19379)Gustrb
2023-06-09chore: fix flaky stdio_streams_are_locked_in_permission_prompt (#19443)David Sherret
2023-06-09fix(fmt): do not panic formatting json with multiple values (#19442)David Sherret
2023-06-09chore: update release doc template (#19441)Bartek Iwańczuk
That action is not working properly.
2023-06-09fix(config): do not canonicalize config file path before loading (#19436)David Sherret
I'm unsure why we canonicalize the config file path when loading and the canonicalization is causing issues in #19431 because everything in the lsp is not canonicalized except the config file (actually, the config file is only canonicalized when auto-discovered and not whens pecified). We also don't canonicalize module paths when loading them. Canonicalization was added in https://github.com/denoland/deno/pull/7621
2023-06-09chore(tests): add `.use_symlinked_temp_dir()` to `TestBuilder` (#19435)David Sherret
This allows easily using a symlinked temporary directory, which is useful for debugging issues locally that happen on the CI with a symlinked temporary directory. For example: ```rs let context = TestContextBuilder::new() .use_temp_cwd() .use_symlinked_temp_dir() // add this .build(); ```
2023-06-09perf: add Tokio runtime monitor (#19415)Bartek Iwańczuk
This commit adds ability to print metrics of the Tokio runtime to the console by passing "DENO_TOKIO_METRICS=1" env var. Metrics will be printed every second, but this can be changed by "DENO_TOKIO_METRICS_INTERVAL=500" env var.
2023-06-09chore: forward v1.34.2 release commit to main (#19434)denobot
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-06-08chore: update wpt (#19422)Leo Kettmeir
2023-06-08ci: use windows-xl runner for `--release` on main (#19429)David Sherret
2023-06-08chore(ext/node): revert changes to ClientRequest.onSocket (#19426)Bartek Iwańczuk
Partially reverts https://github.com/denoland/deno/pull/19340 because it causes hangs in some situations.
2023-06-08fix(ext/websocket): Close socket on bad string data (#19424)Matt Mastracci
2023-06-08chore: Use relative paths for assert imports to avoid test flakes (#19427)Matt Mastracci
Tests occasionally fail if we get a bad gateway attempting to fetch the assertion module
2023-06-08refactor(compile): store the npm snapshot in the eszip (#19343)David Sherret
2023-06-08perf(ext/websocket): Reduce GC pressure & monomorpize op_ws_next_event (#19405)Matt Mastracci
Reduce the GC pressure from the websocket event method by splitting it into an event getter and a buffer getter. Before: 165.9k msg/sec After: 169.9k msg/sec
2023-06-08chore: Ensure we only end up with the clang version we want & upgrade libffi ↵Matt Mastracci
(#19421) The number of clang versions installed on the build machines is too dang high.
2023-06-08feat(node_compat): Add a write method to the FileHandle class (#19385)nasa
## WHY ref: https://github.com/denoland/deno/issues/19165 The FileHandle class has many missing methods compared to node. ## WHAT Add write method
2023-06-08feat(node_compat): Add a read method to the FileHandle class (#19359)nasa
ref: #19165 The FileHandle class has many missing methods compared to node.
2023-06-08perf: use sendto syscalls (#19414)Bartek Iwańczuk
This switches syscall used in HTTP and WS server from "writev" to "sendto". "DENO_USE_WRITEV=1" can be used to enable using "writev" syscall. Doing this for easier testing of various setups.
2023-06-08chore: upgrade to Rust 1.68.2 (#19416)Bartek Iwańczuk
Also prints disk size in release builds.
2023-06-07fix(napi): don't panic if symbol can't be found (#19397)Bartek Iwańczuk
This should return an error to the caller to make it easier to track what went wrong. Should help with debugging https://github.com/denoland/deno/issues/19389
2023-06-07chore: downgrade to Rust 1.68 (#19411)David Sherret
Problems still persist from https://github.com/denoland/deno/pull/19407 -- downgrading to try out 1.68
2023-06-07ci: output file system space before and after building (#19409)David Sherret
This will help give us better insight.
2023-06-07refactor(core): use JoinSet instead of FuturesUnordered (#19378)Bartek Iwańczuk
This commit migrates "deno_core" from using "FuturesUnordered" to "tokio::task::JoinSet". This makes every op to be a separate Tokio task and should unlock better utilization of kqueue/epoll. There were two quirks added to this PR: - because of the fact that "JoinSet" immediately polls spawn tasks, op sanitizers can give false positives in some cases, this was alleviated by polling event loop once before running a test with "deno test", which gives canceled ops an opportunity to settle - "JsRuntimeState::waker" was moved to "OpState::waker" so that FFI API can still use threadsafe functions - without this change the registered wakers were wrong as they would not wake up the whole "JsRuntime" but the task associated with an op --------- Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2023-06-07chore: downgrade to Rust 1.69 (#19407)David Sherret
2023-06-07refactor: helpers methods on `TypeCheckMode` (#19393)David Sherret
2023-06-07fix(cli): formatting bench with colors (#19323)Mike Mulchrone
2023-06-07perf(ext/websocket): monomorphize code (#19394)Bartek Iwańczuk
Using `deopt-explorer` I found that a bunch of fields on `WebSocket` class were polymorphic. Fortunately it was enough to initialize them to `undefined` to fix the problem.
2023-06-06perf(cli): conditionally load typescript declaration files (#19392)David Sherret
Closes #18583
2023-06-06fix(repl): correctly print string exception (#19391)sigmaSd
Fixes a recent regression where `throw "hello"` in the repl prints `Uncaught undefined` instead of `throw "hello"`
2023-06-06chore(core): build_bench tool (#19387)Matt Mastracci
This is a quick tool that I've been using to build benchmarking builds for Deno. Usage: Build a benchmark `HEAD~1` and `origin/main` executable: ```sh deno run tools/build_bench.ts HEAD~1 origin/main ``` Build debug benchmark executables of the last three commits: ```sh deno run tools/build_bench.ts --profile debug HEAD HEAD~1 HEAD~2 ```
2023-06-06perf(http): avoid flattening http headers (#19384)Marvin Hagemeister
2023-06-06fix(node/http): use fake socket and proper url handling (#19340)Leo Kettmeir
Fixes https://github.com/denoland/deno/issues/19349 --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-06-06refactor(serde_v8): don't access backing store twice (#19382)Bartek Iwańczuk
I did that change recently, did spot that we're calling `get_backing_store()` in succession and that API call is not cheap.
2023-06-06perf(ext/websocket): Make send sync for non-stream websockets (#19376)Matt Mastracci
No need to go through the async machinery for `send(String | Buffer)` -- we can fire and forget, and then route any send errors into the async call we're already making (`op_ws_next_event`). Early benchmark on MacOS: Before: 155.8k msg/sec After: 166.2k msg/sec (+6.6%) Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-06-06feat(ext/node): Very basic node:http2 support (#19344)Matt Mastracci
This commit adds basic support for "node:http2" module. Not all APIs have been yet implemented, but this change already allows to use this module for some basic functions. The "grpc" package is still not working, but it's a good stepping stone. --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>