Age | Commit message (Collapse) | Author |
|
Fixes #19483
|
|
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()`.
|
|
This is to help us get some visibility into whether we need to support
this.
|
|
|
|
Half of #19468
|
|
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
|
|
Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
|
|
|
|
|
|
Prevents re-checking strings we already know are latin-1. Small
improvement: 115k->116k
|
|
`cargo`'s sparse index showed up in 1.68
|
|
|
|
Also switches to use defer for all subcommands besides run.
|
|
|
|
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.
|
|
|
|
Further improves preact SSR and express benches by about 2k RPS.
Ref https://github.com/denoland/deno/issues/19451
|
|
|
|
|
|
|
|
|
|
|
|
That action is not working properly.
|
|
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
|
|
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();
```
|
|
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.
|
|
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
|
|
|
|
|
|
Partially reverts https://github.com/denoland/deno/pull/19340
because it causes hangs in some situations.
|
|
|
|
Tests occasionally fail if we get a bad gateway attempting to fetch the
assertion module
|
|
|
|
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
|
|
(#19421)
The number of clang versions installed on the build machines is too dang
high.
|
|
## WHY
ref: https://github.com/denoland/deno/issues/19165
The FileHandle class has many missing methods compared to node.
## WHAT
Add write method
|
|
ref: #19165
The FileHandle class has many missing methods compared to node.
|
|
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.
|
|
Also prints disk size in release builds.
|
|
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
|
|
Problems still persist from https://github.com/denoland/deno/pull/19407
-- downgrading to try out 1.68
|
|
This will help give us better insight.
|
|
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>
|
|
|
|
|
|
|
|
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.
|
|
Closes #18583
|
|
Fixes a recent regression where `throw "hello"` in the repl prints
`Uncaught undefined` instead of `throw "hello"`
|
|
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
```
|