Age | Commit message (Collapse) | Author |
|
Closes https://github.com/denoland/deno/issues/21133
|
|
|
|
Closes #21134
|
|
Move most runtime options to be lazily loaded. Constant options will be
covered in a different PR.
Towards https://github.com/denoland/deno/issues/21133
|
|
Closes https://github.com/denoland/deno/issues/21135
~1ms startup time improvement
---------
Signed-off-by: Divy Srivastava <dj.srivastava23@gmail.com>
Co-authored-by: David Sherret <dsherret@users.noreply.github.com>
|
|
We only want one zlib dependency.
Zlib dependencies are reorganized so they use a hidden
`__vendored_zlib_ng` flag in cli that enables zlib-ng for both libz-sys
(used by ext/node) and flate2 (used by deno_web).
|
|
Example usage:
```
# Trace every op except op_*tick*
cargo run -- run --unstable -A --strace-ops=-tick '/Users/matt/Documents/github/deno/deno/ext/websocket/autobahn/autobahn_server.js
# Trace any op matching op_*http*
cargo run -- run --unstable -A --strace-ops=http ...
```
Example output:
```
[ 11.478] op_ws_get_buffer : Dispatched Slow
[ 11.478] op_ws_get_buffer : Completed Slow
[ 11.478] op_ws_send_binary : Dispatched Fast
[ 11.478] op_ws_send_binary : Completed Fast
[ 11.478] op_ws_next_event : Dispatched Async
[ 11.478] op_try_close : Dispatched Fast
[ 11.478] op_try_close : Completed Fast
[ 11.478] op_timer_handle : Dispatched Fast
[ 11.478] op_timer_handle : Completed Fast
[ 11.478] op_sleep : Dispatched Asyn
```
|
|
Towards #21136
- [x] assign serializePermissions, setTimeout and setExitHandler APIs to
internal namespace
- [x] remove usage of assert
|
|
This is the release commit being forwarded back to main for 1.38.1
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
Co-authored-by: littledivy <littledivy@users.noreply.github.com>
|
|
We can move all promise ID knowledge to deno_core, allowing us to better
experiment with promise implementation in deno_core.
`{un,}refOpPromise(promise)` is equivalent to
`{un,}refOp(promise[promiseIdSymbol])`
|
|
|
|
- Uses the new OpMetrics system for sync and async calls
- Partial revert of #21048 as we moved Array.fromAsync upstream to
deno_core
|
|
Closes #21046
|
|
`libc::atexit` incurrs 2% dyld cost at startup on macOS. This PR moves
the setup to when the tty mode is changed using op_stdin_set_raw.
|
|
Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
|
|
This commit adds granular `--unstable-*` flags:
- "--unstable-broadcast-channel"
- "--unstable-ffi"
- "--unstable-fs"
- "--unstable-http"
- "--unstable-kv"
- "--unstable-net"
- "--unstable-worker-options"
- "--unstable-cron"
These flags are meant to replace a "catch-all" flag - "--unstable", that
gives a binary control whether unstable features are enabled or not. The
downside of this flag that allowing eg. Deno KV API also enables the FFI
API (though the latter is still gated with a permission).
These flags can also be specified in `deno.json` file under `unstable`
key.
Currently, "--unstable" flag works the same way - I will open a follow
up PR that will print a warning when using "--unstable" and suggest to use
concrete "--unstable-*" flag instead. We plan to phase out "--unstable"
completely in Deno 2.
|
|
This commit implements Symbol.dispose and Symbol.asyncDispose for
the relevant resources.
Closes #20839
---------
Signed-off-by: Bartek Iwańczuk <biwanczuk@gmail.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
|
|
This PR adds unstable `Deno.cron` API to trigger execution of cron jobs.
* State: All cron state is in memory. Cron jobs are scheduled according
to the cron schedule expression and the current time. No state is
persisted to disk.
* Time zone: Cron expressions specify time in UTC.
* Overlapping executions: not permitted. If the next scheduled execution
time occurs while the same cron job is still executing, the scheduled
execution is skipped.
* Retries: failed jobs are automatically retried until they succeed or
until retry threshold is reached. Retry policy can be optionally
specified using `options.backoffSchedule`.
|
|
Closes #10298
---------
Co-authored-by: Aapo Alasuutari <aapo.alasuutari@gmail.com>
|
|
This commit updates the ext/kv module to use the denokv_* crates for
the protocol and the sqlite backend. This also fixes a couple of bugs in
the sqlite backend, and updates versionstamps to be updated less
linearly.
|
|
|
|
Signed-off-by: Matt Mastracci <matthew@mastracci.com>
Co-authored-by: Matt Mastracci <matthew@mastracci.com>
|
|
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
|
|
Towards https://github.com/denoland/deno/issues/20779.
|
|
This is dead code that was not used in any way.
Ref https://github.com/denoland/deno/pull/20797
|
|
Closes https://github.com/denoland/deno/issues/20750
This matches what browsers do:
https://developer.mozilla.org/en-US/docs/Web/API/Window/name
In the future we might want to change the behavior to actually update
the process name, but that needs a bit of discussion regarding if
it needs a permission flag (that would make polyfiling `process.title`
setter really easy too).
|
|
Getting closer...
|
|
Fixes #20525
|
|
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
|
|
|
|
|
|
This is the release commit being forwarded back to main for 1.37.1
Co-authored-by: littledivy <littledivy@users.noreply.github.com>
|
|
Closes https://github.com/denoland/deno/issues/20591
---------
Co-authored-by: Kyle Kelley <rgbkrk@gmail.com>
|
|
Speeds up `Deno.test` calls by a bit.
|
|
```
Updating aes-gcm v0.10.2 -> v0.10.3
Updating aho-corasick v1.1.0 -> v1.1.1
Updating curve25519-dalek v4.1.0 -> v4.1.1
Updating deno_core v0.214.0 -> v0.215.0
Updating deno_ops v0.90.0 -> v0.91.0
Updating deno_unsync v0.2.1 -> v0.3.0
Updating md-5 v0.10.5 -> v0.10.6
Updating rustix v0.38.13 -> v0.38.14
Updating rustls-webpki v0.101.5 -> v0.101.6
Updating serde_v8 v0.123.0 -> v0.124.0
Updating sha1 v0.10.5 -> v0.10.6
Updating smallvec v1.11.0 -> v1.11.1
Updating tokio-util v0.7.8 -> v0.7.9
Updating v8 v0.76.0 -> v0.77.0
Updating winapi-util v0.1.5 -> v0.1.6
```
|
|
|
|
Co-authored-by: David Sherret <dsherret@gmail.com>
|
|
(#20460)
|
|
|
|
This adds support for `using` and `await using` declarations in
TypeScript only. We need to wait for v8 to support it for this to work
in JS.
|
|
Bump deno_core, pulling in new rusty_v8. Requires some op2/deprecation
fixes.
|
|
Functions should generally be annotated with `#[allow]` blocks rather
than using inner `#![allow]` annotations.
|
|
|
|
(#20303) (#20370)
This reverts commit
https://github.com/denoland/deno/commit/83426be6eead06c680ae527468aeaf8723543ff2.
Includes a regression test.
|
|
Rewrites 3 ops that used "op(deferred)" to use "op2(async(lazy))"
instead.
This will allow us to remove codepath for handling "deferred" ops in
"deno_core".
|
|
Co-authored-by: denobot <33910674+denobot@users.noreply.github.com>
|
|
queries (#14130)
Closes #14122.
Adds two extensions to `--allow-run` behaviour:
- When `--allow-run=foo` is specified and `foo` is found in the `PATH`
at startup, `RunDescriptor::Path(which("foo"))` is added to the
allowlist alongside `RunDescriptor::Name("foo")`. Currently only the
latter is.
- When run permission for `foo` is queried and `foo` is found in the
`PATH` at runtime, either `RunDescriptor::Path(which("foo"))` or
`RunDescriptor::Name("foo")` would qualify in the allowlist. Currently
only the latter does.
|
|
Adds `runtime/shared.rs` which is imported by both `build.rs` and the
rest of the crate, containing utilities used by both.
Renames the `snapshot_from_snapshot` feature to
`exclude_runtime_main_js` since that's what it does and it's relevant
outside of snapshotting when `__runtime_js_sources` is specified.
|
|
<!--
Before submitting a PR, please read https://deno.com/manual/contributing
1. Give the PR a descriptive title.
Examples of good title:
- fix(std/http): Fix race condition in server
- docs(console): Update docstrings
- feat(doc): Handle nested reexports
Examples of bad title:
- fix #7123
- update docs
- fix bugs
2. Ensure there is a related issue and it is referenced in the PR text.
3. Ensure there are tests that cover the changes.
4. Ensure `cargo test` passes.
5. Ensure `./tools/format.js` passes without changing files.
6. Ensure `./tools/lint.js` passes.
7. Open as a draft PR if your work is still in progress. The CI won't
run
all steps, but you can add '[ci]' to a commit message to force it to.
8. If you would like to run the benchmarks on the CI, add the 'ci-bench'
label.
-->
As the title.
---------
Co-authored-by: Matt Mastracci <matthew@mastracci.com>
|
|
This fully removes the `atty` crate from deno by bumping `env_logger`
and removing the now-unused `atty` dep for runtime.
|