summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-06-15chore(ext/net): ignore startTls test (#19515)Matt Mastracci
2023-06-14chore(kv) another fix for queue flaky test (#19513)Igor Zinkovsky
2023-06-14fix: reload config files on watcher restarts (#19487)David Sherret
Closes #19468
2023-06-14refactor(core): Remove MaybeDone from ops to eventually remove the box (#19508)Matt Mastracci
This removes MaybeDone from op resolution. While it would be nice to avoid the box, most of the work for that future task is done here.
2023-06-14chore(ext/node): bring back changes to ClientRequest.onSocket (#19509)Leo Kettmeir
Reverts denoland/deno#19426
2023-06-14refactor(core): some runtime methods should live on the module map (#19502)Matt Mastracci
A few easy migrations of module code from the runtime to the module map. The module map already has a few places where it needs a handle scope, so we're not coupling it any further with the v8 runtime. `init_runtime_module_map` is replaced with an option to reduce API surface of JsRuntime. `module_resolve_callback` now lives in the `ModuleMap` and we use a annex data to avoid having to go through the `Rc<RefCell<...>>` stored in the `JsRuntime`'s isolate.
2023-06-14fix(compile): some npm dependencies were missing in compiled output (#19503)David Sherret
Test is in deno_npm. Closes #19500
2023-06-14perf(web): optimize timer resolution (#19493)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/19348 This changes benchmark from the issue from: ``` deno run -A https://raw.githubusercontent.com/nats-io/nats.deno/deno-transport-changes/examples/bench.js --subject a --payload 3500 --pub --count 650000 pub 7,636 msgs/sec - [85.13 secs] ~ 25.49 MB/sec 85127.8765/85127.8765 ``` to: ``` > ./target/release/deno run -A https://raw.githubusercontent.com/nats-io/nats.deno/deno-transport-changes/examples/bench.js --subject a --payload 3500 --pub --count 650000 pub 176,840 msgs/sec - [3.68 secs] ~ 590.27 MB/sec 3675.646833/3675.646833 > ./target/release/deno run -A https://raw.githubusercontent.com/nats-io/nats.deno/deno-transport-changes/examples/bench.js --subject a --payload 3500 --pub --count 650000 pub 174,589 msgs/sec - [3.72 secs] ~ 582.76 MB/sec 3723.01925/3723.01925 ```
2023-06-14perf: don't run microtask checkpoint if macrotask callback did no work (#19492)Bartek Iwańczuk
Most of the time there's no firing timers, nor pending promise rejections, so it's wasteful to run microtask checkpoint additionally twice on each tick of the event loop. Closes https://github.com/denoland/deno/issues/18871 Ref https://github.com/denoland/deno/issues/19451
2023-06-14chore(kv) fix flaky queue test (#19495)Igor Zinkovsky
2023-06-14fix(ext/http): Include hostname in onListen argument (#19497)Jhan S. Álvarez
Closes #19470.
2023-06-14chore(core): Refactor runtime and split out tests (#19491)Matt Mastracci
This is a quick first refactoring to split the tests out of runtime and move runtime-related code to a top-level runtime module. There will be a followup to refactor imports a bit, but this is the major change that will most likely conflict with other work and I want to merge it early.
2023-06-13feat(kv) queue implementation (#19459)Igor Zinkovsky
Extend the unstable `Deno.Kv` API to support queues.
2023-06-13chore(core): Split modules.rs into multiple files (no code changes) (#19486)Matt Mastracci
A simple refactoring to make it easier to understand. No code changes.
2023-06-13Revert "refactor(core): cleanup feature flags for js source inclusion… ↵Bartek Iwańczuk
(#19490) … (#19463)" This reverts commit ceb03cfb037cf7024a5048b17b508ddda59cfa05. This is being reverted because it causes 3.5Mb increase in the binary size, due to runtime JS code being included in the binary, even though it's already snapshotted. CC @nayeemrmn
2023-06-13chore: fix compile error on main (#19489)David Sherret
2023-06-13fix(lsp): don't pre-load documents matched in the config file's "exclude" ↵David Sherret
(#19431) This prevents documents specified in a deno.json's "exclude" from being pre-loaded by the lsp. For example, someone may have something like: ```jsonc // deno.json { "exclude": [ "dist" // build directory ] } ```
2023-06-13fix(node/buffer): make slice be the same as subarray (#19481)Leo Kettmeir
2023-06-13perf(http): cache verified headers (#19465)Bartek Iwańczuk
Use `Map` to cache validated HTTP headers. Cache has a capacity of 4096 elements and it's cleared once that capacity is reached. In `preactssr` benchmark it lowers the time spent when adding headers from 180ms to 2.5ms.
2023-06-13fix(ext/http): replace await Deno.serve with await Deno.serve().finished ↵Matt Mastracci
(#19485) We have a bunch of these to clean up after we changed the API.
2023-06-13fix(ext/websockets): ensure we fully send frames before close (#19484)Matt Mastracci
Fixes #19483
2023-06-13refactor(core): cleanup feature flags for js source inclusion (#19463)Nayeem Rahman
Remove `ExtensionFileSourceCode::LoadedFromFsDuringSnapshot` and feature `include_js_for_snapshotting` since they leak paths that are only applicable in this repo to embedders. Replace with feature `exclude_js_sources`. Additionally the feature `force_include_js_sources` allows negating it, if both features are set. We need both of these because features are additive and there must be a way of force including sources for snapshot creation while still having the `exclude_js_sources` feature. `force_include_js_sources` is only set for build deps, so sources are still excluded from the final binary. You can also specify `force_include_js_sources` on any extension to override the above features for that extension. Towards #19398. But there was still the snapshot-from-snapshot situation where code could be executed twice, I addressed that by making `mod_evaluate()` and scripts like `core/01_core.js` behave idempotently. This allowed unifying `ext::init_ops()` and `ext::init_ops_and_esm()` into `ext::init()`.
2023-06-13fix(npm): warn when tarball contains hardlink or symlink (#19474)David Sherret
This is to help us get some visibility into whether we need to support this.
2023-06-13chore(repl): mark some tests as flaky (#19475)David Sherret
2023-06-13fix(lsp): update import map config when deno.json changes (#19476)David Sherret
Half of #19468
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.