Bartek Iwańczuk
0733943fe7
fix(cli): avoid crash on import of invalid module names ( #19523 )
...
Fixes https://github.com/denoland/deno/issues/17748
Closes #17770
Co-authored-by: Anton Bershanskiy
<bershanskiy@users.noreply.github.com>
Co-authored-by: David Sherret <dsherret@users.noreply.github.com>
2023-06-15 18:36:33 +00:00
David Sherret
fa63fd4610
refactor(flags): move watch flags into subcommand structs ( #19516 )
...
Moves the watch setting out of the `Flags` struct and into the
individual subcommands
2023-06-15 13:09:37 -04:00
Heyang Zhou
b2e546e530
chore(ext/kv): disable flaky test ( #19522 )
2023-06-15 18:53:36 +02:00
markthree
43d5644048
refactor(ext/fetch): const for max header cache size ( #19496 )
2023-06-15 18:27:21 +02:00
Vedant Pandey
0c50c39c35
fix(node): Worker constructor doesn't check type: module of package.json ( #19480 )
2023-06-15 17:00:30 +02:00
Bartek Iwańczuk
f145cbfacc
refactor(ext/fetch): simplify fetch ops ( #19494 )
...
Addresses feedback from
https://github.com/denoland/deno/pull/19412#discussion_r1227912676
2023-06-15 15:34:21 +02:00
Matt Mastracci
3d71c36888
chore(ext/net): ignore startTls test ( #19515 )
2023-06-15 01:33:24 +00:00
Igor Zinkovsky
c71c497b1b
chore(kv) another fix for queue flaky test ( #19513 )
2023-06-14 16:27:59 -07:00
David Sherret
84c793275b
fix: reload config files on watcher restarts ( #19487 )
...
Closes #19468
2023-06-14 22:29:19 +00:00
Matt Mastracci
48c6f71787
refactor(core): Remove MaybeDone from ops to eventually remove the box ( #19508 )
...
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-14 16:22:54 -06:00
Leo Kettmeir
fc4e4c3e93
chore(ext/node): bring back changes to ClientRequest.onSocket ( #19509 )
...
Reverts denoland/deno#19426
2023-06-14 22:59:27 +02:00
Matt Mastracci
88e6e9c1e6
refactor(core): some runtime methods should live on the module map ( #19502 )
...
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-14 16:45:59 +00:00
David Sherret
cd27757184
fix(compile): some npm dependencies were missing in compiled output ( #19503 )
...
Test is in deno_npm.
Closes #19500
2023-06-14 11:53:14 -04:00
Bartek Iwańczuk
348287825c
perf(web): optimize timer resolution ( #19493 )
...
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-14 17:04:49 +02:00
Bartek Iwańczuk
5ef225853c
perf: don't run microtask checkpoint if macrotask callback did no work ( #19492 )
...
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-14 16:21:06 +02:00
Igor Zinkovsky
691ef2cc6a
chore(kv) fix flaky queue test ( #19495 )
2023-06-14 07:14:32 -07:00
Jhan S. Álvarez
4b67ffe11b
fix(ext/http): Include hostname in onListen argument ( #19497 )
...
Closes #19470 .
2023-06-14 06:58:41 -06:00
Matt Mastracci
ec8e9d4f5b
chore(core): Refactor runtime and split out tests ( #19491 )
...
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-14 02:03:10 +00:00
Igor Zinkovsky
fd9d6baea3
feat(kv) queue implementation ( #19459 )
...
Extend the unstable `Deno.Kv` API to support queues.
2023-06-13 17:49:57 -07:00
Matt Mastracci
d451abfc91
chore(core): Split modules.rs into multiple files (no code changes) ( #19486 )
...
A simple refactoring to make it easier to understand. No code changes.
2023-06-13 23:22:49 +00:00
Bartek Iwańczuk
60bf79c184
Revert "refactor(core): cleanup feature flags for js source inclusion… ( #19490 )
...
… (#19463 )"
This reverts commit ceb03cfb03
.
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-13 22:36:16 +00:00
David Sherret
82dd90f98d
chore: fix compile error on main ( #19489 )
2023-06-13 21:11:29 +00:00
David Sherret
015ea60d25
fix(lsp): don't pre-load documents matched in the config file's "exclude" ( #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-13 15:48:53 -04:00
Leo Kettmeir
92e7287f4a
fix(node/buffer): make slice be the same as subarray ( #19481 )
2023-06-13 21:26:28 +02:00
Bartek Iwańczuk
7e81d3c876
perf(http): cache verified headers ( #19465 )
...
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-13 21:13:34 +02:00
Matt Mastracci
133f9a952b
fix(ext/http): replace await Deno.serve with await Deno.serve().finished ( #19485 )
...
We have a bunch of these to clean up after we changed the API.
2023-06-13 18:05:23 +00:00
Matt Mastracci
72da18dd47
fix(ext/websockets): ensure we fully send frames before close ( #19484 )
...
Fixes #19483
2023-06-13 17:16:17 +00:00
Nayeem Rahman
ceb03cfb03
refactor(core): cleanup feature flags for js source inclusion ( #19463 )
...
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-13 09:45:06 -06:00
David Sherret
5348778666
fix(npm): warn when tarball contains hardlink or symlink ( #19474 )
...
This is to help us get some visibility into whether we need to support
this.
2023-06-13 09:48:13 -04:00
David Sherret
3191ffdaaf
chore(repl): mark some tests as flaky ( #19475 )
2023-06-13 09:36:21 -04:00
David Sherret
39bf1d2fd5
fix(lsp): update import map config when deno.json changes ( #19476 )
...
Half of #19468
2023-06-13 09:24:22 -04:00
Bartek Iwańczuk
07cbec4a82
fix(ext/node): handle 'upgrade' responses ( #19412 )
...
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-13 14:11:27 +02:00
Kaique da Silva
44bd59c05e
test(ext/node): add fs dirent unit test from std ( #19461 )
...
Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
2023-06-13 15:32:02 +09:00
Leo Kettmeir
b4ae37a617
feat(node): HTTPS server ( #19362 )
2023-06-13 04:15:08 +02:00
Matt Mastracci
d2c638464d
chore(ext/http): fix github lint issue ( #19479 )
2023-06-13 02:59:41 +02:00
Matt Mastracci
397b22eccf
perf(ext/http): from_maybe_shared_unchecked for header values ( #19478 )
...
Prevents re-checking strings we already know are latin-1. Small
improvement: 115k->116k
2023-06-12 23:43:49 +00:00
Matt Mastracci
e8ed59208c
chore: No longer need a sparse checkout thanks to cargo sparse index ( #19423 )
...
`cargo`'s sparse index showed up in 1.68
2023-06-12 15:59:34 -06:00
Matt Mastracci
45e15674b7
chore(core): fix flaky flock_test on windows ( #19477 )
2023-06-12 20:30:29 +00:00
Leo Kettmeir
e1be2bb80d
chore: update clap ( #19467 )
...
Also switches to use defer for all subcommands besides run.
2023-06-12 13:54:04 +02:00
VlkrS
ea97af312f
feat: Adaptations to support OpenBSD port ( #19153 )
2023-06-12 13:14:27 +03:00
David Sherret
7f15126f23
chore(tests): test_util - Add PathRef
( #19450 )
...
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-10 11:09:45 -04:00
Marvin Hagemeister
f3326eebd6
perf(serve): hoist promise error callback ( #19456 )
2023-06-10 12:17:56 +02:00
Bartek Iwańczuk
848cda619e
perf: optimize ByteString checks, hoist server rid getter ( #19452 )
...
Further improves preact SSR and express benches by about 2k RPS.
Ref https://github.com/denoland/deno/issues/19451
2023-06-09 22:45:56 +00:00
David Sherret
f99a849a5f
chore: fix flaky package_json_auto_discovered_for_local_script_arg ( #19445 )
2023-06-09 17:23:01 -04:00
Marvin Hagemeister
ed76456059
perf(serve): hoist repeated condition ( #19449 )
2023-06-09 23:21:26 +02:00
Gustrb
2b2eebd583
perf(node): cache realpath_sync calls in read permission check ( #19379 )
2023-06-09 14:41:18 -04:00
David Sherret
ff690b0ab4
chore: fix flaky stdio_streams_are_locked_in_permission_prompt ( #19443 )
2023-06-09 13:24:39 -04:00
David Sherret
748a102919
fix(fmt): do not panic formatting json with multiple values ( #19442 )
2023-06-09 16:38:38 +00:00
Bartek Iwańczuk
a4c760702b
chore: update release doc template ( #19441 )
...
That action is not working properly.
2023-06-09 14:59:15 +02:00
David Sherret
5df735d3da
fix(config): do not canonicalize config file path before loading ( #19436 )
...
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-09 08:56:11 -04:00