Age | Commit message (Collapse) | Author |
|
|
|
|
|
Temporarily marking two "fetch" tests as flaky, since
they've been failing on CI for the past 24h.
|
|
Currently `Deno.openKv(":memory:")` requests read+write permissions for
`./:memory:` even though no file is read or written. Also added some
guards for special sqlite paths that were unintentionally opted into.
|
|
This commit adds unstable "Deno.openKv()" API that allows to open
a key-value database at a specified path.
---------
Co-authored-by: Luca Casonato <hello@lcas.dev>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
|
|
This test is flaky: https://github.com/denoland/deno/issues/18341
|
|
Disable Write-Ahead Log for the cached module source database.
This brings SQLite connection cost on startup from 2.5% to 1.6%.
|
|
(#18337)
…'t automatically re-created (#18330)"
This reverts commit 2ef8269fdb395b0736153ff5fbb9696cbb976e42.
Printing these messages by default (instead of requiring `-L debug`
flag) caused
various tests to start printing it and mismatch in output assertions.
|
|
Reduce the number of copies and allocations of script code by carrying
around ownership/reference information from creation time.
As an advantage, this allows us to maintain the identity of `&'static
str`-based scripts and use v8's external 1-byte strings (to avoid
incorrectly passing non-ASCII strings, debug `assert!`s gate all string
reference paths).
Benchmark results:
Perf improvements -- ~0.1 - 0.2ms faster, but should reduce garbage
w/external strings and reduces data copies overall. May also unlock some
more interesting optimizations in the future.
This requires adding some generics to functions, but manual
monomorphization has been applied (outer/inner function) to avoid code
bloat.
|
|
Closes #18171
|
|
|
|
This reverts commit 0d27de943a60f5ca60e2116648719c235163361a.
|
|
context(format!(...)) to avoid allocations in non-error path (#18332)
|
|
This commit disables compression of the TSC snapshot.
The compression only decreased the size of snapshot by 0.5Mb
and it took about 40s during release build to compress.
With recent gains in TS 5.0 upgrade in terms of size and performance
it makes sense to remove this compression.
|
|
automatically re-created (#18330)
|
|
The copyright checker was erroring out with a bad interpolation if
errors existed.
|
|
This upgrades TypeScript to 5.0.2, but does not have ES decorator
support because swc does not support that yet.
|
|
|
|
|
|
|
|
|
|
(#18283)
This PR changes the inspect result of anonymous functions from
`[Function]` to `[Function (anonymous)]`. This behavior is aligned
to `util.inspect` of Node.js.
|
|
|
|
Moving some code around in `ext/node` is it's a bit better well defined
and makes it possible for others to embed it.
I expect to see no difference in startup perf with this change.
|
|
Fixes https://github.com/denoland/deno/issues/18281.
This imports `Deno.Command` from `ext:runtime/40_process.js` instead of
using `Deno[Deno.internal]?.nodeUnstable?.Command`.
|
|
These functions don't need to be async, as they are only calling
synchronous JavaScript code. As a follow up, all 3 functions
should be merge together - this will reduce roundtrips for
calling V8 from Rust, which is somewhat expensive
|
|
This commit adds support for spawning Web Workers in self-contained
binaries created with "deno compile" subcommand.
As long as module requested in "new Worker" constructor is part of the
eszip (by means of statically importing it beforehand, or using "--include"
flag), then the worker can be spawned.
|
|
Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
|
|
|
|
part of https://github.com/denoland/deno/issues/17840
|
|
`http` is very stable, it's safe to "unpin" it from `=0.28.0` version.
This helps embedders that depend on newer version of `http` crate.
|
|
|
|
This change will enable dynamic imports and web workers to use modules
not reachable from the main module, by passing a list of extra side
module roots as options to `deno compile`.
This can be done by specifying "--include" flag that accepts a file path or a
URL. This flag can be specified multiple times, to include several modules.
The modules specified with "--include" flag, will be added to the produced
"eszip".
|
|
This upgrade "dlint" and "hyperfine" tools we use in our CI.
|
|
Relanding 4b6305f4f25fc76f974bbdcc9cdb139d5ab8f5f4
|
|
|
|
Relanding #18264
-------
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
|
|
|
|
(#18270)
…64)"
This reverts commit 8af0c8351935ea7c6c0441055d5164908322c9d6.
Causes bench stage to fail on CI.
|
|
As per review comment in original PR:
https://github.com/denoland/deno/pull/18244#issuecomment-1473769606
|
|
This reverts commit 4b6305f4f25fc76f974bbdcc9cdb139d5ab8f5f4.
|
|
Closes #18085
---------
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
|
|
|
|
|
|
This commit changes the build process in a way that preserves already
registered ops in the snapshot. This allows us to skip creating hundreds of
"v8::String" on each startup, but sadly there is still some op registration
going on startup (however we're registering 49 ops instead of >200 ops).
This situation could be further improved, by moving some of the ops
from "runtime/" to a separate extension crates.
---------
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
|
|
Avoid creating an extra closure when no config needed. I eventually want
to make OpStateFn fixed sized to avoid boxing it.
|
|
Fixes https://github.com/denoland/deno/issues/17733
---------
Co-authored-by: Matt Mastracci <matthew@mastracci.com>
|
|
(#18257)
These bounds were needlessly strict.
|
|
Follow-up to #18210:
* we are passing the generated `cfg` object into the state function
rather than passing individual config fields
* reduce cloning dramatically by making the state_fn `FnOnce`
* `take` for `ExtensionBuilder` to avoid more unnecessary copies
* renamed `config` to `options`
|
|
(#18210)
This implements two macros to simplify extension registration and centralize a lot of the boilerplate as a base for future improvements:
* `deno_core::ops!` registers a block of `#[op]`s, optionally with type
parameters, useful for places where we share lists of ops
* `deno_core::extension!` is used to register an extension, and creates
two methods that can be used at runtime/snapshot generation time:
`init_ops` and `init_ops_and_esm`.
---------
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
|