summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-07-21fix(node/http): add encrypted field to FakeSocket (#19886)Leo Kettmeir
Fixes #19557
2023-07-20fix(cli): output file handling in deno upgrade (#18994)solach
2023-07-20fix(lsp): auto-discover deno.json in more cases (#19894)David Sherret
We weren't auto-discovering the deno.json in two cases: 1. A project that didn't have a deno.json and just added one. 2. After a syntax error in the deno.json. This now rediscovers it in both these cases. Closes https://github.com/denoland/vscode_deno/issues/867
2023-07-20refactor(ext/http): Use const thread-local initializer for slightly better ↵Matt Mastracci
perf (#19881) Benchmarking shows numbers are pretty close, however this is recommended for the best possible thread-local performance and may improve in future Rust compiler revisions.
2023-07-20perf(lsp): format in a blocking task (#19883)David Sherret
2023-07-20chore: forward v1.35.2 release commit to main (#19887)denobot
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-07-19fix(ext/http): Error on deprecated/unavailable features (#19880)Matt Mastracci
Throws an error when user code attempts to use unsupported options (may help reduce confusion when migrating to Deno.serve)
2023-07-19fix(napi): update env_test.js (#19876)Bartek Iwańczuk
2023-07-19feat(ext/node): properly segregate node globals (#19307)Luca Casonato
Code run within Deno-mode and Node-mode should have access to a slightly different set of globals. Previously this was done through a compile time code-transform for Node-mode, but this is not ideal and has many edge cases, for example Node's globalThis having a different identity than Deno's globalThis. This commit makes the `globalThis` of the entire runtime a semi-proxy. This proxy returns a different set of globals depending on the caller's mode. This is not a full proxy, because it is shadowed by "real" properties on globalThis. This is done to avoid the overhead of a full proxy for all globalThis operations. The globals between Deno-mode and Node-mode are now properly segregated. This means that code running in Deno-mode will not have access to Node's globals, and vice versa. Deleting a managed global in Deno-mode will NOT delete the corresponding global in Node-mode, and vice versa. --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com> Co-authored-by: Aapo Alasuutari <aapo.alasuutari@gmail.com>
2023-07-19fix(node/http): call callback after request is sent (#19871)Leo Kettmeir
Fixes #19762
2023-07-19fix(runtime): print process name in case of spawn error (#19855)sigmaSd
Fix https://github.com/denoland/deno/issues/19400 Co-authored-by: David Sherret <dsherret@users.noreply.github.com>
2023-07-19fix(node/net): Server connection callback include socket value (#19779)Leo Kettmeir
2023-07-18fix(ext/node): check if resource can be used with write_vectored (#19868)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/19766 Fixes https://github.com/denoland/deno/issues/19846
2023-07-18fix(node): add process.dlopen API (#19860)Bartek Iwańczuk
Fixes https://github.com/denoland/deno/issues/19830
2023-07-17chore: disable rustls logging (#19859)Bartek Iwańczuk
This commit disables internal logging coming from `rustls` crate. So messages like: ``` TLS alert received: AlertMessagePayload { level: Fatal, description: UnknownCA, } ``` will no longer appear unconditionally.
2023-07-17fix(npm): support dynamic import of Deno TS from npm package (#19858)David Sherret
Closes #19843
2023-07-17fix(bench): run warmup benchmark to break JIT bias (#19844)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/15277 This commit adds a single "warmup" run of empty function when running `deno bench`. This change will break so-called "JIT bias" which makes V8 optimize the first function and then bail out of optimization on second function. In essence the "warmup" function is getting optimized and then all user benches are bailed out of optimization.
2023-07-17fix(node): improve error message requiring non-npm es module (#19856)David Sherret
Closes #19842 Closes #16913
2023-07-17fix(node): improve require esm error messages (#19853)David Sherret
Part of #19842. Closes #19583 Closes #16913
2023-07-17fix(ext/node): fix stream/promises export (#19820)await-ovo
2023-07-14fix(vendor): do not panic vendoring with jsxImportSource and no jsx files ↵David Sherret
(#19837) Closes #19833
2023-07-14fix(npm): improve error message importing non-existent file in a ↵David Sherret
node_modules npm package (#19835)
2023-07-14fix(npm): improve error message on directory import in npm package (#19538)Elian Cordoba
Co-authored-by: David Sherret <dsherret@users.noreply.github.com>
2023-07-14chore: update log, percent-encoding, and rusqlite (#19815)puffyCid
2023-07-13fix(tsc): more informative diagnostic when `Deno` does not exist (#19825)David Sherret
Also improved the diagnostic when using something like `Deno.openKv` and it doesn't exist.
2023-07-13chore: update to Rust 1.71 (#19822)Matt Mastracci
2023-07-13docs: use `Deno.serve` in README (#19805)idanran
2023-07-12chore: forward 1.35.1 back to main (#19814)David Sherret
2023-07-12chore: disable failing node compat test (#19811)Bartek Iwańczuk
2023-07-11fix(lsp): stop diagnostics flickering (#19803)David Sherret
Closes https://github.com/denoland/vscode_deno/issues/835
2023-07-11refactor(lsp): update diagnostics.rs to use structs instead of records (#19799)David Sherret
Part of https://github.com/denoland/vscode_deno/issues/835
2023-07-11fix(node/http): add destroy to FakeSocket (#19796)Leo Kettmeir
Closes #19782
2023-07-11fix(node/http): allow callback in first argument of end call (#19778)Leo Kettmeir
Closes #19762
2023-07-11fix(lsp): remove quotes and period surrounding specifier in uncached ↵David Sherret
messages (#19794)
2023-07-10fix(lsp): exclude files in deno.json "exclude" (#19791)David Sherret
Closes #19788
2023-07-10refactor(cli): Creating a TestReporter trait (#19786)Cooper Benson
This PR breaks the addition of the `TestReporter` trait and refactoring of `PrettyTestReporter` out of #19747. The goal is to enable the addition of test reporters, including machine readable output.
2023-07-10refactor(lsp): move config file related code to config.rs (#19790)David Sherret
Will make #19788 easier.
2023-07-10perf: add setup cache for node_modules folder (#19787)David Sherret
Part of #19774. This makes it twice as fast on my machine. Stores a file at `node_modules/.deno/setup-cache.bin`, which contains information about how the node_modules folder is currently setup. Obviously there is a risk that this information will get out of date with the current folder structure.
2023-07-10chore(tests): update info_with_compiled_source to use TestContextBuilder ↵David Sherret
(#19783)
2023-07-10fix(node/http): server use FakeSocket and add end method (#19660)Leo Kettmeir
Fixes #19324
2023-07-09chore: upgrade deno_core and rusty_v8 (#19773)Bartek Iwańczuk
2023-07-08refactor: abstract away file system to be buried inside HttpCache (#19760)David Sherret
This improves the HttpCache to make it being stored on the file system an implementation detail.
2023-07-08chore: upgrade to dprint 0.39 (#19768)David Sherret
2023-07-07perf(ext/node): native vectored write for server streams (#19752)Divy Srivastava
``` # main $ ./load_test 10 0.0.0.0 8080 0 0 Using message size of 20 bytes Running benchmark now... Msg/sec: 106182.250000 Msg/sec: 110279.750000 ^C # this PR $ ./load_test 10 0.0.0.0 8080 0 0 Using message size of 20 bytes Running benchmark now... Msg/sec: 131632.250000 Msg/sec: 134754.250000 ^C ```
2023-07-07fix(ext/http): Use brotli compression params (#19758)Matt Mastracci
Fixes #19737 by adding brotli compression parameters. Time after: `Accept-Encoding: gzip`: ``` real 0m0.214s user 0m0.005s sys 0m0.013s ``` `Accept-Encoding: br`: Before: ``` real 0m10.303s user 0m0.005s sys 0m0.010s ``` After: ``` real 0m0.127s user 0m0.006s sys 0m0.014s ```
2023-07-07perf(ext/websocket): optimize server websocket js (#19719)Divy Srivastava
Split from https://github.com/denoland/deno/pull/19686 - timestamp set to 0 for server websocket events. - take fast call path with op_ws_send_binary.
2023-07-07tests: add more jsxImportSource regression tests (#15592)Luca Casonato
This commit adds some regression tests for using `jsxImportSource` in the config file in combination with an import map. These underlying issues were fixed by #15561. Closes #13389 Closes #14723 --------- Co-authored-by: Aapo Alasuutari <aapo.alasuutari@gmail.com> Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-07-06fix: remove unstable check for Deno.listenTls#alpnProtocols (#19732)Bartek Iwańczuk
2023-07-06perf(node/async_hooks): optimize AsyncLocalStorage (#19729)Bartek Iwańczuk
This makes the implementation of "AsyncLocalStorage" from "node:async_hooks" 3.5x faster than before for noop benchmark (measuring baseline overhead). It's still 3.5x slower than not using `AsyncLocalStorage` and 1.64x slower than using noop promise hooks.
2023-07-05perf(ext/node): optimize net streams (#19678)Divy Srivastava
~4.5x improvement in `npm:ws` echo benchmark: ``` $ ./load_test 10 0.0.0.0 8080 0 0 Using message size of 20 bytes Running benchmark now... Msg/sec: 101083.750000 Msg/sec: 103606.000000 ^C $ ./load_test 10 0.0.0.0 8080 0 0 Using message size of 20 bytes Running benchmark now... Msg/sec: 24906.750000 Msg/sec: 28478.000000 ^C ```