summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-06-07fix(ext/node): support stdin child_process IPC & fd stdout/stderr (#24106)Divy Srivastava
Add supports for "ipc" and fd options in child_process spawn API. Internal changes: Adds a hidden rid and "ipc_for_internal_use" option to Deno.Command. Used by `node:child_process` Example: ```js const out = fs.openSync("./logfile.txt", 'a') const proc = spawn(process.execPath, ["./main.mjs", "child"], { stdio: ["ipc", out, "inherit"] }); ``` Ref #16753
2024-06-07fix: make writing to the deps cache more reliable (#24135)David Sherret
I was able to reproduce this locally. ``` [error] Failed to execute snippet: import { validate } from "@std/uuid"; import { assert, assertFalse } from "@std/assert"; assert(validate("6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b")); assertFalse(validate("not a UUID")); Download https://jsr.io/@std/uuid/meta.json Download https://jsr.io/@std/uuid/1.0.0-rc.1_meta.json Download https://jsr.io/@std/uuid/1.0.0-rc.1/mod.ts Download https://jsr.io/@std/uuid/1.0.0-rc.1/common.ts Download https://jsr.io/@std/uuid/1.0.0-rc.1/constants.ts Download https://jsr.io/@std/uuid/1.0.0-rc.1/v1.ts Download https://jsr.io/@std/uuid/1.0.0-rc.1/v3.ts Download https://jsr.io/@std/uuid/1.0.0-rc.1/v4.ts Download https://jsr.io/@std/uuid/1.0.0-rc.1/v5.ts Download https://jsr.io/@std/uuid/1.0.0-rc.1/_common.ts error: Access is denied. (os error 5) (for 'V:\.cache\deno\deps\https\jsr.io\2ae5bb614c7526d0876be0b76da1372fd51304ae27d6202ee94df720b3523d08') at file:///V:/deno_std/uuid/common.ts:43 [error] Failed to execute snippet: import { v5, NAMESPACE_DNS, NIL_UUID } from "@std/uuid"; import { assert, assertFalse } from "@std/assert"; const data = new TextEncoder().encode("deno.land"); const uuid = await v5.generate(NAMESPACE_DNS, data); assert(v5.validate(uuid)); assertFalse(v5.validate(NIL_UUID)); Download https://jsr.io/@std/uuid/meta.json Download https://jsr.io/@std/uuid/1.0.0-rc.1_meta.json Download https://jsr.io/@std/uuid/1.0.0-rc.1/mod.ts Download https://jsr.io/@std/uuid/1.0.0-rc.1/common.ts Download https://jsr.io/@std/uuid/1.0.0-rc.1/constants.ts Download https://jsr.io/@std/uuid/1.0.0-rc.1/v1.ts Download https://jsr.io/@std/uuid/1.0.0-rc.1/v3.ts Download https://jsr.io/@std/uuid/1.0.0-rc.1/v4.ts Download https://jsr.io/@std/uuid/1.0.0-rc.1/v5.ts Download https://jsr.io/@std/uuid/1.0.0-rc.1/_common.ts error: Access is denied. (os error 5) (for 'V:\.cache\deno\deps\https\jsr.io\63dd818c5fc1ac39c04df9b42bd9dd4bbc07f7d1b174e405d003731125778da1') at https://jsr.io/@std/uuid/1.0.0-rc.1/mod.ts:30:15 at file:///V:/deno_std/uuid/mod.ts:4 [error] Failed to execute snippet: import { isNil } from "@std/uuid"; import { assert, assertFalse } from "@std/assert"; assert(isNil("00000000-0000-0000-0000-000000000000")); assertFalse(isNil(crypto.randomUUID())); Download https://jsr.io/@std/uuid/meta.json Download https://jsr.io/@std/uuid/1.0.0-rc.1_meta.json Download https://jsr.io/@std/uuid/1.0.0-rc.1/mod.ts Download https://jsr.io/@std/uuid/1.0.0-rc.1/common.ts Download https://jsr.io/@std/uuid/1.0.0-rc.1/constants.ts Download https://jsr.io/@std/uuid/1.0.0-rc.1/v1.ts Download https://jsr.io/@std/uuid/1.0.0-rc.1/v3.ts Download https://jsr.io/@std/uuid/1.0.0-rc.1/v4.ts Download https://jsr.io/@std/uuid/1.0.0-rc.1/v5.ts Download https://jsr.io/@std/uuid/1.0.0-rc.1/_common.ts error: Access is denied. (os error 5) (for 'V:\.cache\deno\deps\https\jsr.io\fd3a12fc091d16ee29f10fa7a05eeeb8bd6c3cc014642e72478c757f00e7261e') at https://jsr.io/@std/uuid/1.0.0-rc.1/mod.ts:34:40 at file:///V:/deno_std/uuid/common.ts:23 [error] Failed to execute snippet: import { version } from "@std/uuid"; import { assertEquals } from "@std/assert/assert-equals"; assertEquals(version("d9428888-122b-11e1-b85c-61cd3cbb3210"), 1); assertEquals(version("6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b"), 4); Download https://jsr.io/@std/uuid/meta.json Download https://jsr.io/@std/uuid/1.0.0-rc.1_meta.json Download https://jsr.io/@std/uuid/1.0.0-rc.1/mod.ts Download https://jsr.io/@std/uuid/1.0.0-rc.1/common.ts Download https://jsr.io/@std/uuid/1.0.0-rc.1/constants.ts Download https://jsr.io/@std/uuid/1.0.0-rc.1/v1.ts Download https://jsr.io/@std/uuid/1.0.0-rc.1/v3.ts Download https://jsr.io/@std/uuid/1.0.0-rc.1/v4.ts Download https://jsr.io/@std/uuid/1.0.0-rc.1/v5.ts Download https://jsr.io/@std/uuid/1.0.0-rc.1/_common.ts error: Access is denied. (os error 5) (for 'V:\.cache\deno\deps\https\jsr.io\2ae5bb614c7526d0876be0b76da1372fd51304ae27d6202ee94df720b3523d08') at file:///V:/deno_std/uuid/common.ts:66 4 errors found ``` It occurs when many Deno processes are writing to the deps cache at the same time. Fix is to use `atomic_write_with_retries` which is much more reliable (and the function that helped make the ecosystem tests more reliable too). After this change I no longer have this issue. Closes https://github.com/denoland/deno/issues/24073
2024-06-07fix: do not panic linting files with UTF-8 BOM (#24136)David Sherret
Closes #24122
2024-06-07chore(ext/node): remove dead op (#24131)Satya Rohith
2024-06-06refactor: remove `PermissionsContainer` in deno_runtime (#24119)David Sherret
Also removes permissions being passed in for node resolution. It was completely useless because we only checked it for reading package.json files, but Deno reading package.json files for resolution is perfectly fine. My guess is this is also a perf improvement because Deno is doing less work.
2024-06-07docs: clarify release instructions (#24124)snek
just a small change Signed-off-by: snek <the@snek.dev> Co-authored-by: David Sherret <dsherret@users.noreply.github.com>
2024-06-06refactor: `NpmRegistryApi` - `#[async_trait(?Send)]` (#24126)David Sherret
2024-06-06fix(cli): Overwrite existing bin entries in `node_modules` (#24123)Nathan Whitaker
Previously we warned on unix and didn't touch them on windows, now we unconditionally overwrite them. This matches what npm does.
2024-06-06ci: bump timeout minutes due to slow mac aarch64 runner (#24116)David Sherret
For the future...
2024-06-06chore: support `-- --nocapture` in the spec tests (#24113)David Sherret
2024-06-06chore: forward v1.44.1 release commit to main (#24115)denobot
This is the release commit being forwarded back to main for 1.44.1 Co-authored-by: devsnek <devsnek@users.noreply.github.com> Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2024-06-05chore: upgrade trust-dns-resolver and friends (#24108)Ryan Dahl
To avoid duplicate winreg crate in #24056 --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-06-05fix(npm): use configured auth for tarball urls instead of scope auth (#24111)David Sherret
Deno was using the scope auth for the tarball urls, which is not always correct. We are going to do a release immediately for this issue.
2024-06-05fix: update deno_npm (#24065)Bartek Iwańczuk
2024-06-05fix: support importing statically unanalyzable npm specifiers (#24107)David Sherret
Closes https://github.com/denoland/deno/issues/20479 Closes https://github.com/denoland/deno/issues/18744
2024-06-05refactor(npm): improve locking around updating npm resolution (#24104)David Sherret
Introduces a `SyncReadAsyncWriteLock` to make it harder to write to the npm resolution without first waiting async in a queue. For the npm resolution, reading synchronously is fine, but when updating, someone should wait async, clone the data, then write the data at the end back.
2024-06-05fix: better handling of npm resolution occurring on workers (#24094)David Sherret
Closes https://github.com/denoland/deno/issues/24063
2024-06-04ci: label for running CI on draft PRs (#24102)David Sherret
2024-06-05chore: upgrade dlint to 0.60.0 (#24041)Bartek Iwańczuk
Factoring out `dlint` upgrade from https://github.com/denoland/deno/pull/24034 as it requires us to change the lint step on mac to use ARM runners. --------- Co-authored-by: Luca Casonato <hello@lcas.dev> Co-authored-by: David Sherret <dsherret@users.noreply.github.com>
2024-06-05chore(ext/web): use `Error.captureStackTrace` in `DOMException` constructor ↵ud2
(#23986) This makes `DOMException`'s `stack` property behave the same as native errors' – `stack` is now an own accessor property on every instance, and the getter calls `Error.prepareStackTrace`. Upgrades `deno_core` to 0.284.0. --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-06-04fix(docs): update Deno.Command docs (#24097)Igor Zinkovsky
2024-06-04docs(console): More clearly indicate the contents of DENO_CERT (#24091)Andreas Kohn
The PEM file specified by DENO_CERT can contain multiple certificates https://github.com/denoland/deno/blob/13924fdb1b75325b9b6116accb800bd9f567f2c1/cli/args/mod.rs#L722-L742 Signed-off-by: Andreas Kohn <andreas.kohn@gmail.com>
2024-06-04chore(ext/webgpu): clean up buffer_get_map_async (#24087)Luca Casonato
2024-06-03refactor: don't share `reqwest::HttpClient` across tokio runtimes (#24092)David Sherret
This also fixes several issues where we weren't properly creating http clients with the user's settings.
2024-06-03fix(lsp): complete exports for import mapped jsr specifiers (#24054)Nayeem Rahman
2024-06-03fix(console): add missing AssertionError to js (#22358)Oliver Medhurst
Previously it did not exist, so `assert` would crash the wrong way if it failed. Signed-off-by: CanadaHonk <honk@goose.icu>
2024-06-03refactor: extract structs for downloading tarballs and npm registry ↵David Sherret
packuments (#24067)
2024-06-02fix: validate integer values in `Deno.exitCode` setter (#24068)Kenta Moriuchi
2024-06-02chore: disable part of `test-fs-read-stream.js` (#24085)Bartek Iwańczuk
2024-06-02chore: update wpt suite (#24070)Kenta Moriuchi
2024-05-31fix: retry writing lockfile on failure (#24052)David Sherret
Ran into this running the deno_graph ecosystem tests where many processes writing to the same path at the same time would cause an error.
2024-05-30chore: update release template (#24046)Divy Srivastava
Use `@here` instead of `@channel` as it pings everyone sleeping too. Signed-off-by: Divy Srivastava <dj.srivastava23@gmail.com>
2024-05-30fix(cron): enable chrono `now` feature (#24047)Divy Srivastava
2024-05-301.44.0 (#24045)denobot
Bumped versions for 1.44.0 Co-authored-by: littledivy <littledivy@users.noreply.github.com>
2024-05-30feat: do not require `DENO_FUTURE=1` for npmrc support (#24043)David Sherret
2024-05-30feat(lsp): support .npmrc (#24042)Nayeem Rahman
Closes #24040
2024-05-30BREAKING(ffi/unstable): use BigInt representation in turbocall (#23983)Aapo Alasuutari
Built ontop of #23981, this sets FFI turbocalls (Fast Call API) to use the BigInt representation.
2024-05-29fix(cli): Prefer npm bin entries provided by packages closer to the root ↵Nathan Whitaker
(#24024) Fixes #24012. In the case of multiple packages providing a binary with a same name, we were basically leaving the results undefined (since we set up things in parallel, and whichever got set up first won). In addition, we were warning about these cases, even though it's a situation that's expected to occur. Instead, in the case of a collision in the binary names, we prefer the binary provided by the package with the least depth in the dependency tree. While I was at it, I also took moved more code to `bin_entries.rs` since it was starting to get a bit cluttered.
2024-05-30feat(lint): add `no-boolean-literal-for-arguments` rule and enable ↵Luca Casonato
`no-unused-vars` for jsx files (#24034) * https://github.com/denoland/deno_lint/pull/1271 * https://github.com/denoland/deno_lint/pull/1277 --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-05-29feat: Add `Deno.exitCode` API (#23609)Luke Edwards
This commits adds the ability to set a would-be exit code for the Deno process without forcing an immediate exit, through the new `Deno.exitCode` API. - **Implements `Deno.exitCode` getter and setter**: Adds support for setting and retrieving a would-be exit code via `Deno.exitCode`. This allows for asynchronous cleanup before process termination without immediately exiting. - **Ensures type safety**: The setter for `Deno.exitCode` validates that the provided value is a number, throwing a TypeError if not, to ensure that only valid exit codes are set. Closes to #23605 --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-05-29chore: upgrade jupyter runtimelib to 0.11.0 (#24036)Kyle Kelley
Brings in: * More fully typed structures (for when we get to implementing more) * `with_metadata`, `with_buffers`, etc. from https://github.com/runtimed/runtimed/pull/99 --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-05-29perf(repl): don't walk workspace in repl language server (#24037)Nayeem Rahman
2024-05-29fix(task): always use `npm` for `npm run` with flags (#24028)Marvin Hagemeister
2024-05-29perf: avoid building module graph if dynamic specifier already in graph (#24035)David Sherret
2024-05-29fix: bump cache sqlite dbs to v2 for WAL journal mode change (#24030)David Sherret
In https://github.com/denoland/deno/pull/23955 we changed the sqlite db journal mode to WAL. This causes issues when someone is running an old version of Deno using TRUNCATE and a new version because the two fight against each other.
2024-05-29fix(lsp): don't discover deno.json in vendor dir (#24032)Nayeem Rahman
2024-05-29fix(ext/node): windows cancel stdin read in line mode (#23969)Divy Srivastava
This patch fixes stdin read hanging on user input when switching tty mode on Windows Fixes #21111 On Windows, when switching from line to raw mode: - Cancel ongoing console read by writing a return keypress to its input buffer. This blocks the main thread until any ongoing read has been cancelled to prevent interference with the screen state. - On the read thread, restore the cursor position to where it was before writing the enter, undoing its effect on the screen state. - Restart reading and notify the main thread.
2024-05-29fix(ext/node): don't encode buffer data as utf8 in http2 (#24016)Satya Rohith
2024-05-28chore: set lockfile as having no content changes after write (#24023)David Sherret
Slight perf regression when updating deno_lockfile in https://github.com/denoland/deno/pull/23979
2024-05-29perf(lsp): lock out requests until init is complete (#23998)Nayeem Rahman