summaryrefslogtreecommitdiff
path: root/ext
AgeCommit message (Collapse)Author
2024-02-23refactor(cli): clean up test runner channels (#22422)Matt Mastracci
Gets us closer to solving #20707. Rewrites the `TestEventSender`: - Allow for explicit creation of multiple streams. This will allow for one-std{out,err}-per-worker - All test events are received along with a worker ID, allowing for eventual, proper parallel threading of test events. In theory this should open up proper interleaving of test output, however that is left for a future PR. I had some plans for a better performing synchronization primitive, but the inter-thread communication is tricky. This does, however, speed up the processing of large numbers of tests 15-25% (possibly even more on 100,000+). Before ``` ok | 1000 passed | 0 failed (32ms) ok | 10000 passed | 0 failed (276ms) ``` After ``` ok | 1000 passed | 0 failed (25ms) ok | 10000 passed | 0 failed (230ms) ```
2024-02-23fix(ext/node): set correct process.argv0 (#22555)Satya Rohith
2024-02-23fix(ext/node): init arch, pid, platform at startup (#22561)Satya Rohith
2024-02-221.41.0 (#22524)denobot
Bumped versions for 1.41.0 Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com> Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-02-22chore(io): Add a cross-platform unidirectional pipe implementation (#22522)Matt Mastracci
Currently useful for `deno test` and internal tests, but could potentially be exposed at a later time as a `Deno` API.
2024-02-21fix(ext/fs): make errors in tempfile creation clearer (#22498)Matt Mastracci
When using a prefix or suffix containing an invalid filename character, it's not entirely clear where the errors come from. We make these errors more consistent across platforms. In addition, all permission prompts for tempfile and tempdir were printing the same API name. We also take the opportunity to make the tempfile random space larger by 2x (using a base32-encoded u64 rather than a hex-encoded u32).
2024-02-21fix(ext/node): pass alpnProtocols to Deno.startTls (#22512)Satya Rohith
2024-02-20fix(node/test): disable Deno test sanitizers (#22480)David Sherret
Closes #22473
2024-02-21Revert "fix(console): support NO_COLOR and colors option in all scena… ↵Bartek Iwańczuk
(#22507) …rios (#21910)" This reverts commit bd1358efab8ba7339a8e70034315fa7da840292e. This change caused https://github.com/denoland/deno/issues/22496 and https://github.com/denoland/deno/issues/22445
2024-02-20fix(ext/node): permission prompt for missing `process.env` permissions (#22487)Asher Gomez
Closes #18665 Closes #20213
2024-02-20fix(ext/node): unimplemented code when not IPC child_process (#22488)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/22299
2024-02-19chore(fs): rename `op_fs_file_stat_{async/sync}` ops (#22476)Asher Gomez
Renames `op_fs_fstat_{sync/async}` to `op_fs_file_stat_{async/sync}` in preparation of the upcoming removal of `Deno.fstat()` in v2.
2024-02-19BREAKING(net/unstable): remove `Deno.DatagramConn.rid` (#22475)Asher Gomez
As part of ongoing efforts to remove `rid` properties from the public API. Note: this property is undocumented.
2024-02-18feat: `Deno.ConnectTlsOptions.{cert,key}` (#22274)Asher Gomez
Towards #22197
2024-02-18fix: util.parseArgs() missing node:process import (#22405)Javier Hernández
fix parseArgs() not working due to missing import of node:process this commit fixes issue #22363
2024-02-18feat(fs): `Deno.FsFile.{isTerminal,setRaw}()` (#22234)Asher Gomez
Closes #22229. --------- Signed-off-by: Asher Gomez <ashersaupingomez@gmail.com>
2024-02-18BREAKING(unstable): remove `Deno.HttpClient.rid` (#22075)Asher Gomez
As part of ongoing works to make `rid` private. --------- Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2024-02-18BREAKING: add `Deno.CreateHttpClientOptions.{cert,key}` (#22280)Asher Gomez
This change deprecates `Deno.CreateHttpClientOptions.{certChain,privateKey}` in favour of `Deno.CreateHttpClientOptions.{cert,key}`. Closes #22278 Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2024-02-16chore(ext/web): refactor timer ops before landing op sanitizer (#22435)Matt Mastracci
Splitting the sleep and interval ops allows us to detect an interval timer. We also remove the use of the `op_async_void_deferred` call. A future PR will be able to split the op sanitizer messages for timers and intervals.
2024-02-15chore: forward v1.40.5 release commit to main (#22424)denobot
This is the release commit being forwarded back to main for 1.40.5 Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2024-02-13fix(ext/web): Prevent (De-)CompressionStream resource leak on stream ↵Florian Schwalm
cancellation (#21199) Based on #21074 and #20741 I was looking for further potential use cases of `TransformStream` `cancel()` method, so here go `CompressionStream` and `DecompressionStream`. Fixes #14212
2024-02-13chore: cleanup `ext/net/02_tls.js` (#22032)Asher Gomez
`certFile` was being passed to `op_tls_start()` when it's unused and undocumented. Signed-off-by: Asher Gomez <ashersaupingomez@gmail.com> Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2024-02-13chore: cleanup obsolete `Datagram` export (#22078)Asher Gomez
This isn't used anywhere outside the originating file.
2024-02-13chore: move `test_util/std` to `tests/util/std` (#22402)Asher Gomez
Note: tests are not the only part of the codebase that uses `std`. Other parts, like `tools/`, do too. So, it could be argued that this is a little misleading. Either way, I'm doing this as discussed with @mmastrac.
2024-02-13fix(ext/node): export process.umask (#22348)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/20914
2024-02-12chore: move test_ffi and test_nap to tests/ [WIP] (#22394)Matt Mastracci
Moving some additional NAPI and. FFI tests out of the tree root.
2024-02-12fix(console): support NO_COLOR and colors option in all scenarios (#21910)Leo Kettmeir
Noticed in #21607
2024-02-12chore: update to Rust 1.76 (#22376)林炳权
Update to Rust 1.76
2024-02-09refactor: split integration tests from CLI (part 1) (#22308)Matt Mastracci
This PR separates integration tests from CLI tests into a new project named `cli_tests`. This is a prerequisite for an integration test runner that can work with either the CLI binary in the current project, or one that is built ahead of time. ## Background Rust does not have the concept of artifact dependencies yet (https://github.com/rust-lang/cargo/issues/9096). Because of this, the only way we can ensure a binary is built before running associated tests is by hanging tests off the crate with the binary itself. Unfortunately this means that to run those tests, you _must_ build the binary and in the case of the deno executable that might be a 10 minute wait in release mode. ## Implementation To allow for tests to run with and without the requirement that the binary is up-to-date, we split the integration tests into a project of their own. As these tests would not require the binary to build itself before being run as-is, we add a stub integration `[[test]]` target in the `cli` project that invokes these tests using `cargo test`. The stub test runner we add has `harness = false` so that we can get access to a `main` function. This `main` function's sole job is to `execvp` the command `cargo test -p deno_cli`, effectively "calling" another cargo target. This ensures that the deno executable is always correctly rebuilt before running the stub test runner from `cli`, and gets us closer to be able to run the entire integration test suite on arbitrary deno executables (and therefore split the build into multiple phases). The new `cli_tests` project lives within `cli` to avoid a large PR. In later PRs, the test data will be split from the `cli` project. As there are a few thousand files, it'll be better to do this as a completely separate PR to avoid noise.
2024-02-08chore: forward v1.40.4 release commit to main (#22345)denobot
This is the release commit being forwarded back to main for 1.40.4 Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2024-02-07docs: point to "Deno 1.x to 2.x Migration Guide" for net APIs (#22275)Asher Gomez
These were missed in #22199.
2024-02-07fix(node): handle brotli compression end chunk sizes (#22322)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/22259
2024-02-07chore: upgrade deno_core to 0.259.0 (#22311)Bartek Iwańczuk
This update brings number of ops available to user code down to 45.
2024-02-07refactor: move ImageData to web extension (#22295)Leo Kettmeir
Signed-off-by: Leo Kettmeir <crowlkats@toaxl.com>
2024-02-06fix(ext/node): Ensure os.cpus() works on arm64 linux (#22302)Matt Mastracci
`/proc/cpuinfo` on ARM doesn't have the model name per CPU, so we leave those as "unknown".
2024-02-06refactor: use web utils and lazy load utils from core (#22289)Leo Kettmeir
2024-02-06fix: Support Symbol.metadata (#22282)Bartek Iwańczuk
This commit adds support for "Symbol.metadata" which was omitted when adding support for the Decorators Proposal. Closes https://github.com/denoland/deno/issues/22111
2024-02-06chore(ws): remove unused op_ws_send_pong (#22283)Divy Srivastava
2024-02-06fix(node): add `cp` to fs/promises (#22263)Divy Srivastava
2024-02-05refactor(cli): Move op descriptions into Rust and prepare for op import (#22271)Matt Mastracci
This moves the op sanitizer descriptions into Rust code and prepares for eventual op import from `ext:core/ops`. We cannot import these ops from `ext:core/ops` as the testing infrastructure ops are not always present. Changes: - Op descriptions live in `cli` code and are currently accessible via an op for the older sanitizer code - `phf` dep moved to workspace root so we can use it here - `ops.op_XXX` changed to to `op_XXX` to prepare for op imports later on.
2024-02-06fix(unstable): validate kv list selector (#22265)Heyang Zhou
Check that in a `KvListSelector`, `start` and `end` are actually within the keyspace bounds defined by `prefix`, if both are present.
2024-02-05fix(ext/node): fix timeout param validation in cp.execFile (#22262)Yoshiya Hinosawa
2024-02-04chore: bump deno core (#22243)Matt Mastracci
Migrations: - Error registration no longer required for Interrupted or BadResource (these are core exception) - `include_js_files!`/`ExtensionFileSource` changes
2024-02-05feat(unstable): `Deno.FsFile.lock[Sync]()` and `Deno.FsFile.unlock[Sync]()` ↵Asher Gomez
(#22235) Closes #22178.
2024-02-01chore: forward v1.40.3 release commit to main (#22220)Divy Srivastava
This is the release commit being forwarded back to main for 1.40.3 Ref https://github.com/denoland/deno/pull/22219
2024-02-01fix(fs): copyFile NUL path on macOS (#22216)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/22211
2024-02-01fix(node): add `ppid` getter for `node:process` (#22167)Yusuke Tanaka
This commit adds `ppid` getter for `node:process` to improve Node compatibility one step further. There is one problem though, which is that `Deno.ppid`, which `process.ppid` internally calls, is actually of type `bigint` although it's supposed to be `number`. I filed an issue for this (#22166). For the time being, explciit type conversion from `bigint` to `number` is applied to match the Node.js behavior.
2024-02-01fix(ext/node): add `aes256` algorithm support (#22198)Asher Gomez
Towards #21804
2024-02-01fix(node): `util.callbackify` (#22200)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/22180 Matches the Node.js implementation more closely. Removed types, they do not help just make it harder to debug with stack traces.
2024-01-31refactor: migrate runtime/ and ext/canvas/ to virtual ops module (#22196)Bartek Iwańczuk