summaryrefslogtreecommitdiff
path: root/ext
AgeCommit message (Collapse)Author
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
2024-01-29refactor: Use virtul ops module (#22175)Bartek Iwańczuk
Follow up to #22157. This leaves us with 4 usages of `ensureFastOps()` in `deno` itself. There's also about 150 usages of `Deno.core.ops.<op_name>` left as well.
2024-01-29refactor: migrate 'ext/node' extension to virtual ops module (#22157)Bartek Iwańczuk
Follow up to https://github.com/denoland/deno/pull/22135
2024-01-27feat(unstable): implement `navigator.gpu.getPreferredCanvasFormat()` (#22149)Divy Srivastava
2024-01-27fix(ext/node): limit OpState borrow in op_napi_open (#22151)Matt Mastracci
Fixes #22150
2024-01-27chore: upgrade deno_core to 0.256.0 (#22145)Divy Srivastava
2024-01-26refactor: migrate extensions to virtual ops module (#22135)Bartek Iwańczuk
First pass of migrating away from `Deno.core.ensureFastOps()`. A few "tricky" ones have been left for a follow up.
2024-01-26refactor: make 'rid' properties non-enumerable (#22137)Bartek Iwańczuk
Now these props will not show up when inspecting objects in console.
2024-01-26chore: upgrade deno_core (#22124)Bartek Iwańczuk
Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2024-01-26chore: forward v1.40.2 commit to main (#22133)Bartek Iwańczuk
Co-authored-by: denobot <33910674+denobot@users.noreply.github.com> Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
2024-01-26fix(ext/http): smarter handling of Accept-Encoding (#22130)Matt Mastracci
2024-01-26fix(node): remove deprecation warnings (#22120)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/22116
2024-01-25fix(fs): instanceof check for Deno.FsFile (#22121)Bartek Iwańczuk
Regression caused by https://github.com/denoland/deno/pull/22072. I added a relevant test so we don't regress again. Fixes https://github.com/denoland/deno/issues/22115
2024-01-25chore: forward v1.40.1 commit to main (#22107)Bartek Iwańczuk
Co-authored-by: denobot <33910674+denobot@users.noreply.github.com> Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
2024-01-25Revert "chore: bump rustls-tokio-stream and rustls (#21955)" (#22097)Bartek Iwańczuk
This reverts commit 971eb0e5e836cdeaaefc25b2bab4c6a6a9f8e213. To unblock v1.40 release.
2024-01-251.40.0 (#22096)denobot
Bumped versions for 1.40.0 Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com> Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-01-25fix: don't use public rid accessors in internal APIs (#22091)Bartek Iwańczuk
Co-authored-by: Asher Gomez <ashersaupingomez@gmail.com>
2024-01-24fix: use `warnOnDeprecatedApi()` in `Deno.TlsListener.rid` (#22089)Asher Gomez
Missed in #22077
2024-01-24revert: Remove deprecations of file sync APIs (#22085)Bartek Iwańczuk
- `Deno.FsFile.dataSync` -> `Deno.FsFile.syncData` - `Deno.FsFile.dataSyncSync` -> `Deno.FsFile.syncDataSync` Also marks these APIs as unstable
2024-01-24feat(publish): error on invalid external imports (#22088)Luca Casonato
2024-01-24feat: deprecate `Deno.{Conn,TcpConn,TlsConn,UnixConn}.rid` (#22077)Asher Gomez
For removal in Deno v2. Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-01-24feat: deprecate `Deno.{stdin,stdout,stderr}.rid` (#22073)Asher Gomez
For removal in Deno v2. There are two issues: 1. Any script being run causes the output of `warnOnDeprecatedApi()` to be printed, even when none of the `rid` properties are called. 2. `.rid` of these classes is used in multiple tests. I'm not sure how to account for that. I thought of having `STDIN_RID`, and friends, constants, whose values can be shared between the tests and the classes themselves. Should we go with that or do something else? --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-01-24feat: deprecate `Deno.fstat()` and `Deno.fstatSync()` (#22068)Asher Gomez
For removal in Deno v2.
2024-01-24feat: deprecate `Deno.Listener.rid` (#22076)Asher Gomez
For removal in Deno v2.
2024-01-24feat: `Deno.FsFile.{utime,utimeSync}()` and deprecate ↵Asher Gomez
`Deno.{futime,futimeSync}` (#22070) For removal in Deno v2. --------- Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com> Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-01-24feat: deprecate `Deno.close()` (#22066)Asher Gomez
For removal in Deno v2. --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-01-24feat: deprecate `Deno.ftruncate()` and `Deno.ftruncateSync()` (#22069)Asher Gomez
For removal in Deno 2.0.