summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-03-20refactor(ext/node): untangle dependencies between js files (#18284)Bartek Iwańczuk
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.
2023-03-20fix(ext/node): use Deno.Command from `ext:runtime` (#18289)Geert-Jan Zwiers
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`.
2023-03-20refactor(ext/node): make initialization functions sync (#18282)Bartek Iwańczuk
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
2023-03-19feat(compile): Add support for web workers in standalone mode (#17657)Andreu Botella
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.
2023-03-20test(ext/node): port _fs tests from std/node (#18262)Max Dahlgren
Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
2023-03-19test(ext/node): add querystring_test.ts and readline_test.ts (#18256)Sanskar Gauchan
2023-03-19test(ext/node): add _fs_access_test.ts and _fs_watch_test.ts (#18249)Sanskar Gauchan
part of https://github.com/denoland/deno/issues/17840
2023-03-19chore: bump http to ^0.29.0 (#18259)Max
`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.
2023-03-19fix(runtime): Extract error code for all OS error variants (#17958)Kamil Ogórek
2023-03-19feat(compile): Enable multiple roots for a standalone module graph (#17663)Andreu Botella
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".
2023-03-19chore: update "deno_third_party" submodule (#18274)Bartek Iwańczuk
This upgrade "dlint" and "hyperfine" tools we use in our CI.
2023-03-18Reland "perf(core): preserve ops between snapshots (#18080)" (#18272)Bartek Iwańczuk
Relanding 4b6305f4f25fc76f974bbdcc9cdb139d5ab8f5f4
2023-03-18chore(ci): allow 'Reland' PR title prefix (#18273)Bartek Iwańczuk
2023-03-18perf(core): use static specifier in ExtensionFileSource (#18271)Bartek Iwańczuk
Relanding #18264 ------- Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2023-03-18chore(bench): add RUNTIME_SNAPSHOT.bin (#18269)Leo Kettmeir
2023-03-18Revert "perf(core): use static specifier in ExtensionFileSource (#182… ↵Bartek Iwańczuk
(#18270) …64)" This reverts commit 8af0c8351935ea7c6c0441055d5164908322c9d6. Causes bench stage to fail on CI.
2023-03-18chore(cli/tests): move macos_shared_libraries test to macos_test.rs (#18268)Divy Srivastava
As per review comment in original PR: https://github.com/denoland/deno/pull/18244#issuecomment-1473769606
2023-03-18Revert "perf(core): preserve ops between snapshots (#18080)" (#18267)Bartek Iwańczuk
This reverts commit 4b6305f4f25fc76f974bbdcc9cdb139d5ab8f5f4.
2023-03-18perf(core): use static specifier in ExtensionFileSource (#18264)Divy Srivastava
Closes #18085 --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-03-18fix(ext/node): add createDecipheriv (#18245)Yoshiya Hinosawa
2023-03-18docs(FFI/UnsafePointerView): fix a typo in a docstring (#18034)Andrew
2023-03-18perf(core): preserve ops between snapshots (#18080)Bartek Iwańczuk
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>
2023-03-18chore(core): simplify extension config codegen (#18263)Divy Srivastava
Avoid creating an extra closure when no config needed. I eventually want to make OpStateFn fixed sized to avoid boxing it.
2023-03-17fix(cli): preserve blob store when resetting file watcher (#18253)Geert-Jan Zwiers
Fixes https://github.com/denoland/deno/issues/17733 --------- Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2023-03-17refactor(core): don't require Clone trait bounds in deno_core::extension ↵Bartek Iwańczuk
(#18257) These bounds were needlessly strict.
2023-03-17perf(core) Reduce copying and cloning in extension initialization (#18252)Matt Mastracci
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`
2023-03-17feat(core) deno_core::extension! macro to simplify extension registration ↵Matt Mastracci
(#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>
2023-03-17chore: add tests for node:async_hooks (#18004)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/17878 --------- Co-authored-by: crowlkats <crowlkats@toaxl.com>
2023-03-17fix(cli/integration): clippy lints (#18248)Farsen976
This addresses two warnings from clippy, redundant-static-lifetimes and trim-split-whitespace. closes #18247
2023-03-17fix(test_util): parse strace usecs/call in total line if present (#18241)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/18235
2023-03-17chore: add test for macOS shared libraries (#18244)Divy Srivastava
Closes https://github.com/denoland/deno/issues/18243
2023-03-17chore(ext/console): add 'quotes' internal option to Deno.inspect (#18183)Yoshiya Hinosawa
2023-03-17perf: disable runtime snapshot compression (#18239)Bartek Iwańczuk
This commit removes compression for the runtime JS code. It means that we will have a bigger binary, but faster startup. After several discussion in the CLI team we decided it's worth to trade about 3Mb of binary size for 2ms faster startup time. With WebGPU removed in 35196eab279340376929dd75ed717ef4830e2fa9 it shouldn't have such a big impact on the binary size.
2023-03-17BREAKING(unstable): remove WebGPU (#18094)Leo Kettmeir
This PR _**temporarily**_ removes WebGPU (which has behind the `--unstable` flag in Deno), due to performance complications due to its presence. It will be brought back in the future; as a point of reference, Chrome will ship WebGPU to stable on 26/04/2023. --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-03-17BREAKING(ext/fs): FileInfo.dev is defined on Windows (#18237)Bartek Iwańczuk
Addresses feedback from https://github.com/denoland/deno/pull/18073#issuecomment-1471480385. Reverts changes to `FileInfo` fields that are not available on Windows making them `null`. Only `FileInfo.dev` is non-null.
2023-03-16chore(ci): allow 'BREAKING' PR title prefix (#18238)Bartek Iwańczuk
So that we can land PRs like https://github.com/denoland/deno/pull/18237 or https://github.com/denoland/deno/pull/18094
2023-03-16chore: bump rusty_v8 to 0.65.0 (#18231)Divy Srivastava
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-03-16fix(ext/node): resource leak in createHmac (#18229)Divy Srivastava
This commit fixes https://github.com/denoland/deno/issues/18140. Verified that test fails on `main`.
2023-03-16fix(repl): Hide indexable properties in tab completion (#18141)Roy Li
Closes #17831. This change hides the indices of any indexed collection when triggering tab completion for object properties in the REPL. An example is shown in the issue, but for verbosity here is another. Before the change: ``` > const arr = new Uint8ClampedArray([1, 2, 3]) undefined > arr. 0 map 1 reverse 2 reduce ... ``` After the change: ``` > const arr = new Uint8ClampedArray([1, 2, 3]) undefined > arr. constructor reduce BYTES_PER_ELEMENT reduceRight buffer set ... ``` Co-authored-by: David Sherret <dsherret@users.noreply.github.com>
2023-03-16chore: ignore permission_prompt_strips_ansi_codes_and_control_chars test ↵David Sherret
(#18234) This test hangs on all operating systems. Opened https://github.com/denoland/deno/issues/18233 for the future
2023-03-16chore(ci): save a cargo cache specifically for linting (#18219)David Sherret
2023-03-16refactor: reorder op initialization (#18228)Bartek Iwańczuk
To be able to preserve "Deno.core.ops" we need to ensure that ops are registered in the same order in various places, otherwise we will get mismatch in external references ordering. Prerequisite for https://github.com/denoland/deno/pull/18080
2023-03-16feat(serde_v8): support BigInt serialization (#18225)Luca Casonato
This commit enables serializing `v8::BigInt` to `num_bigint::BigInt` in Rust. Pre-requisite for sub upcoming feature work.
2023-03-17feat(repl): add `DENO_REPL_HISTORY` to change history file path (#18047)Nick Hanley
2023-03-16refactor(core): op initialization and snapshot creator (#18221)Bartek Iwańczuk
This PR cleans up APIs related to snapshot creation and how ops are initialized. Prerequisite for #18080 --------- Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2023-03-16chore: upgrade deno_automation to 0.19.0 (#18213)David Sherret
I updated the lockfile with: ``` deno cache --lock=tools/deno.lock.json --lock-write ./tools/wpt.ts ./tools/upload_wptfyi.js ./tools/release/deps.ts ```
2023-03-16chore(ops): inline FastFunction trait methods (#18226)Divy Srivastava
2023-03-16chore: forward v1.31.3 release commit to main (#18222)denobot
Co-authored-by: kt3k <kt3k@users.noreply.github.com>
2023-03-16fix(ext/node): implement "ascii" encoding for node:fs writeFile() (#18097)Farsen976
2023-03-15test: ignore global-immutable-prototype.any.worker.html (#18208)Bartek Iwańczuk
This test is very flaky on CI, ignoring it for now. https://github.com/denoland/deno/issues/17405