Commit graph

14617 commits

Author SHA1 Message Date
Marvin Hagemeister
b8b549d574
fix(node): missing statfs export from node:fs/promises (#31528)
We already had the functionality, we just didn't export it.

Fixes https://github.com/denoland/deno/issues/31526
2025-12-08 09:45:01 +00:00
Murat Kirazkaya
61cf9333a9
feat: deno init --empty (#31516)
This commit adds `--empty` flag to `deno init`
subcommand which generates only `deno.json`
and `main.ts` without any imports.
2025-12-08 10:14:36 +01:00
David Sherret
99c4d22b85
Revert "fix(resolver): fall back to execution if can't resolve types" (#31513)
Some checks are pending
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
Reverts denoland/deno#31507
2025-12-07 15:46:49 +00:00
David Sherret
c27d8f047b
fix: make '@types' package resolution more consistent (#31512)
Some checks are pending
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
Shifts `@types` package resolution down into node_resolver so it's
always done. We were being inconsistent.
2025-12-06 11:59:06 -05:00
Nicholas R
bc9d356059
fix(node/net): return string family in server.address() (#31465)
Some checks are pending
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
## Summary

Aligns Deno's Node.js compatibility layer (`node:net`, `node:http`,
`node:https`,
`node:http2`, `node:dns`) with Node.js v18.4.0+ behavior by returning
the `family`
property as a string (`"IPv4"` or `"IPv6"`) rather than a number in
`server.address()`
   and socket address methods.

Node.js briefly changed `family` from string to number in v18.0.0
(nodejs/node#41431),
   but reverted in v18.4.0 (nodejs/node#43054) due to ecosystem breakage
   (nodejs/node#43014).

This fix ensures compatibility with npm packages that rely on the string
format, which
   has been the stable API since Node.js v18.4.0.

   ## Changes

- Modified `ext/node/polyfills/http.ts` to add `family` property to
`address()` return
- Modified `ext/node/polyfills/internal_binding/tcp_wrap.ts` to return
string `family`
instead of number in `getsockname()`, `getpeername()`, and `#connect()`
- Modified `ext/node/polyfills/net.ts` to fix `socket.remoteFamily`
getter (no longer
   needs conversion since `family` is now a string)
   - Modified `ext/node/polyfills/dns.ts` and
`ext/node/polyfills/internal/dns/promises.ts` to accept string family
values (`"IPv4"`,
`"IPv6"`) in `lookup()`, matching [Node.js
behavior](https://nodejs.org/api/dns.html#dnslookuphostname-options-callback)
- Added tests in `tests/unit_node/http_test.ts`,
`tests/unit_node/http2_test.ts`,
   `tests/unit_node/https_test.ts`, `tests/unit_node/dns_test.ts`, and
   `tests/unit_node/net_test.ts`

   ## Node.js Compatibility Note

For non-IP addresses (when `isIP()` returns 0), the `family` property is
`undefined`.
This matches Node.js C++ behavior in
[`AddressToJS`](https://github.com/nodejs/node/blob/main/src/tcp_wrap.cc)
where family
is only set for `AF_INET` (`"IPv4"`) and `AF_INET6` (`"IPv6"`), and left
undefined
   otherwise.

   ## Refs

   - nodejs/node#43054
   - nodejs/node@70b516e


<!--
Before submitting a PR, please read
https://docs.deno.com/runtime/manual/references/contributing

1. Give the PR a descriptive title.

  Examples of good title:
    - fix(std/http): Fix race condition in server
    - docs(console): Update docstrings
    - feat(doc): Handle nested reexports

  Examples of bad title:
    - fix #7123
    - update docs
    - fix bugs

2. Ensure there is a related issue and it is referenced in the PR text.
3. Ensure there are tests that cover the changes.
4. Ensure `cargo test` passes.
5. Ensure `./tools/format.js` passes without changing files.
6. Ensure `./tools/lint.js` passes.
7. Open as a draft PR if your work is still in progress. The CI won't
run
   all steps, but you can add '[ci]' to a commit message to force it to.
8. If you would like to run the benchmarks on the CI, add the 'ci-bench'
label.
-->

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Daniel Rahmanto <daniel.rahmanto@gmail.com>
2025-12-06 10:51:55 +07:00
David Sherret
8c46ac3228
fix(check): move types not found error to tsc diagnostic (#31509)
Closes https://github.com/denoland/deno/issues/31352
2025-12-06 02:57:45 +00:00
Bartek Iwańczuk
3a4b9de81e
fix: change errors message suggesting to run approve-scripts (#31493)
Some checks are pending
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
Follow up to https://github.com/denoland/deno/pull/31472

Before:
```
$ deno install
...
╭ Warning
│
│  Ignored build scripts for packages:
│  npm:msgpackr-extract@3.0.3
│  npm:@parcel/watcher@2.5.1
│  npm:lmdb@2.8.5
│  npm:@swc/core@1.12.0
│
│  Run "deno install --allow-scripts=npm:msgpackr-extract,npm:@parcel/watcher,npm:lmdb,npm:@swc/core" to run build scripts.
╰─
...
$ deno approve-builds
Approved npm:@swc/core@1.12.0
Approved npm:fsevents@2.3.3
Denied npm:@parcel/watcher@2.5.1
Denied npm:esbuild@0.25.10
Denied npm:lmdb@2.8.5
Denied npm:msgpackr-extract@3.0.3

```

After:
```
$ deno install
...
╭ Warning
│
│  Ignored build scripts for packages:
│  npm:@parcel/watcher@2.5.1
│  npm:lmdb@2.8.5
│  npm:msgpackr-extract@3.0.3
│  npm:@swc/core@1.12.0
│
│  Run "deno approve-scripts" to run build scripts.
╰─
...
$ deno approve-builds
Denied npm:@parcel/watcher@2.5.1
Denied npm:esbuild@0.25.10
Denied npm:msgpackr-extract@3.0.3
Approved npm:@swc/core@1.12.0
Approved npm:fsevents@2.3.3
Approved npm:lmdb@2.8.5
Warning The following packages are deprecated:
┠─ npm:mkdirp@0.5.1 (Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.))
┖─ npm:connect@2.30.2 (connect 2.x series is deprecated)
Run build script npm:@swc/core@1.12.0
Run build script npm:fsevents@2.3.3
Run build script npm:lmdb@2.8.5
```
2025-12-05 21:19:29 +00:00
David Sherret
3089aa8690
Revert "feat(BREAKING/compile): require providing -- for script arguments" (#31505)
Reverts denoland/deno#31296
2025-12-05 21:17:43 +00:00
Nathan Whitaker
a39796500d
fix(resolver): fall back to execution if can't resolve types (#31507)
Fixes https://github.com/denoland/deno/issues/31352

This matches the behavior of the other node_modules_dir modes more
closely as well as tsc's behavior. Failing to find types should not be
an error
2025-12-05 21:34:02 +01:00
David Sherret
dfe26dadb0
chore: mark approve-scripts pty tests as flaky (#31508) 2025-12-05 20:13:32 +00:00
David Sherret
dd3a7d394b
feat(init/npm): add --yes flag to bypass prompt (#31499)
Some checks are pending
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
2025-12-05 11:07:07 -05:00
Bartek Iwańczuk
e687220588
ci: use cirrus linux arm64 runner (#31500)
Migrating away from Ubicloud
2025-12-05 11:36:07 +00:00
Nathan Whitaker
dd0aa99f18
fix: fix npx running in test, make approve-scripts test less flaky (#31501)
Some checks are pending
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
It was doing `npx cowsay` but cowsay wasn't listed as a dependency, so
it was falling back to actual npx.

I also found that the cowsay part sometimes overlaps with the progress
bar, so checking for 'install' is more reliable
2025-12-05 09:20:01 +01:00
Divy
e5f9b441ef
chore: Rust 1.91.1 (#31165)
Some checks are pending
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2025-12-04 13:11:05 -05:00
David Sherret
557c580053
feat(install): add --lockfile-only flag (#31376)
Some checks are pending
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
Adds a `--lockfile-only` flag that only updates the lockfile and doesn't
install any npm deps locally. Note that jsr and https dependencies are
still cached because they require looking at the code to resolve
dependencies.

Applies to `deno install`, `deno add`, `deno remove`, `deno outdated
--update`, and `deno update`

Closes https://github.com/denoland/deno/issues/31371
2025-12-04 09:50:11 -05:00
Bartek Iwańczuk
5b2dc85a3c
Revert "feat: use Node.js timers by default (#31272)" (#31490)
Some checks are pending
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
This reverts commit 7ada8d6589.

This is a breaking change and is postponed until Deno 3.0.
2025-12-04 00:50:11 +00:00
Bartek Iwańczuk
46e02e3e19
ci: revert version to 2.5.6 (#31492) 2025-12-04 00:40:21 +01:00
Bartek Iwańczuk
4b5a26d271
Revert "refactor: remove 'managed globals' infra (#31318)" (#31491)
This reverts commit 9498b36170.

This is a breaking change and is postponed until Deno 3.0.
Related to https://github.com/denoland/deno/pull/31490
2025-12-03 15:27:09 -08:00
denobot
49fa02d988
fix(ext/node): url.domainToASCII returns empty string for invalid domains (#31219)
Some checks are pending
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
## Summary

This PR fixes the behavior of `url.domainToASCII` to match Node.js by
returning an empty string when an invalid domain is passed, instead of
throwing an error.

## Changes

- Modified `op_node_idna_domain_to_ascii` in `ext/node/ops/idna.rs` to
return an empty string on error instead of propagating the error
- Updated documentation in `ext/node/polyfills/internal/idna.ts` to
clarify this behavior
- Added spec test in `tests/specs/node/url_domain_to_ascii/` to verify
the fix

## Test Plan

### Manual Testing
Tested with the example from the issue:
```javascript
import url from 'node:url';
console.log(url.domainToASCII('xn--iñvalid.com')); // Returns empty string instead of throwing
```

Also tested with various valid and invalid domains to ensure
compatibility:
- Valid domains: `example.com` → `example.com`
- Valid unicode: `münchen.de` → `xn--mnchen-3ya.de`
- Invalid punycode: `xn--iñvalid.com` → `` (empty string)
- Invalid domain: `xn--` → `` (empty string)

### Automated Tests
Added spec test that verifies the behavior matches Node.js for both
valid and invalid domains.

## Closes

Fixes #31133

---

_This PR was autogenerated and may require review and adjustments._

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Daniel Rahmanto <daniel.rahmanto@gmail.com>
2025-12-03 21:57:53 +07:00
Bartek Iwańczuk
54412e4e8f
test: disable parallel/test-fs-promises-file-handle-readFile.js (#31485)
This test needs some more work, I've seen it crash multiple times in
various PRs over the last 24h.
2025-12-03 14:46:43 +00:00
Bartek Iwańczuk
62e63ac9ca
fix(audit): remove unwrap in favor of log, don't print empty reports (#31479)
Some checks are pending
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
Changes to print reports from socket.dev, only if something is found.
2025-12-03 08:30:57 +09:00
Nathan Whitaker
746f60d2a4
fix(tsgo): do not error out on non js/ts imports from npm packages (#31478)
Fixes #31423 

This already worked for non npm files because the loading for non-npm
files uses the module graph, and things like CSS don't appear in the
module graph. That meant we weren't prompting tsc to create a source
file and parse those files. For npm files though, we were loading them
manually, which meant tsc tried to load them as ts/js sources
2025-12-02 22:06:15 +00:00
Nathan Whitaker
6b78b55a9a
feat(cli): add approve-scripts AKA "approve-builds" subcommand (#31472)
Refactored out the picker from `update --interactive` to reuse here.
Looks like this:


![foo](https://github.com/user-attachments/assets/ec1aed5f-a6bd-439b-ad78-6872f90f660c)
2025-12-02 21:53:53 +00:00
Nathan Whitaker
57be16042c
chore: speed up macos compile tests (#31477)
Most of the tests for deno compile take >= 20 seconds (each) on macos.
This is mostly due to sha2 and libsui taking a long time to process the
debug binary. This speeds them up to <1 sec each, which saves multiple
minutes when running all the tests
2025-12-02 22:35:36 +01:00
James McNally
0d662fee33
fix(test): Remove ANSI Escape Codes for Junit Reports (#30854)
* Add an option to the report printer to not use ansi codes.
* Made this default fore the junit file output.
* Implemented removal of codes in the formatter.

It would be preferable for performance to not include them in the first
place but that change is higher risk.

Refs: https://github.com/denoland/deno/issues/23316
2025-12-02 18:11:44 +01:00
xBZZZZ
cafd7f6c7f
docs(cli): update description of getCString (#31469)
Some checks are pending
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
2025-12-02 15:09:50 +00:00
Felipe Cardozo
d07f8d198b
feat: add native source maps support (#31268)
Some checks are pending
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
This change refines how the compiler normalizes and resolves source map
URLs. Now is handled embedded and external source maps.
This reduces false negatives when loading source maps and aligns the
behavior with the expected spec semantics.
2025-12-02 00:02:06 -03:00
Daniel Osvaldo Rahmanto
95e434eb37
fix(ext/node): respect abort signal option on FileHandle.readFile (#31462)
Towards #29972

Allows
https://github.com/nodejs/node/blob/v24.2.0/test/parallel/test-fs-promises-file-handle-readFile.js
test to pass.
2025-12-02 08:13:11 +07:00
Kenta Moriuchi
55621d9ef0
fix: wpt assert expectation correctly even if the filter has a layer (#30574)
related: #30501

I fixed to assert properly even if the filter has a layer as follows:

```
./tests/wpt/wpt.ts run -- WebCryptoAPI/import_export
```
2025-12-02 00:51:45 +00:00
Bartek Iwańczuk
1d57559107
feat: support publish: false in deno.json (#30852)
Closes https://github.com/denoland/deno/issues/30848

---------

Co-authored-by: David Sherret <dsherret@gmail.com>
Co-authored-by: David Sherret <dsherret@users.noreply.github.com>
2025-12-02 00:48:13 +00:00
Jo Franchetti
3b27a4e926
docs: adding jsdocs for StructuredSerializeOptions interface (#31329)
because it is empty and a user reported in docs. 
Sorry if this is AI slop, I couldn't find anything on mdn to back it up.

closes https://github.com/denoland/docs/issues/2730

---------

Signed-off-by: Jo Franchetti <jofranchetti@gmail.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2025-12-02 00:29:37 +00:00
Uday Kumar Choudhary
ed684124ef
fix(types): add [Symbol.iterator]() to NodeListOf (fixes #31382) (#31384)
This PR adds missing iterable support to `NodeListOf<TNode>` in the DOM
typings. Without this method, TypeScript raises error TS2488:

```ts
for (const child of div.childNodes) {}
// TS2488: NodeListOf<ChildNode> must have a [Symbol.iterator]() method
```
2025-12-02 01:24:36 +01:00
geogrego
b38897382e
docs(libs): fix some typos in comment (#31250)
Some checks are pending
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
Signed-off-by: geogrego <geogrego@outlook.com>
2025-12-02 00:50:24 +01:00
Nicholas R
42b6c82254
fix(node/process): make process.stdin.isTTY writable (#31464)
## Summary

In Node.js, `tty.ReadStream` sets `isTTY` as a simple instance property
(`this.isTTY = true`), making it naturally writable. Deno's polyfill
used a getter-only property definition, preventing assignment.

Some npm packages need to override `isTTY` at runtime. For example,
Playwright's test server sets `process.stdin.isTTY = undefined` to
prevent reporters from blocking on user input during UI mode
(microsoft/playwright#37867).

This aligns stdin with the stdout/stderr fix from #26130, ensuring all
stdio streams behave consistently with Node.js.

## Refs
-
6a1a3ba045/lib/tty.js (L71)
-
3a5a32d26d/packages/playwright/src/runner/testServer.ts (L257-L266)

Co-authored-by: Claude <noreply@anthropic.com>
2025-12-02 00:37:23 +01:00
xtqqczze
3680f8b799
fix: clippy::derivable_impls (#31460)
https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls
2025-12-02 00:21:36 +01:00
Bartek Iwańczuk
07c3a8bfcd
fix: update deno_error to 0.7.1 (#31450)
Fixes https://github.com/denoland/deno/issues/31430
2025-12-01 14:45:26 -08:00
David Sherret
99a8dbf1f3
feat: --ignore-read (#31363) 2025-12-01 13:58:28 -05:00
ryu
efa4da8643
fix(ext/web): console.dir respects indent level (#31412)
Some checks failed
ci / pre-build (push) Has been cancelled
ci / test debug windows-x86_64 (push) Has been cancelled
ci / test release windows-x86_64 (push) Has been cancelled
ci / lint debug linux-x86_64 (push) Has been cancelled
ci / test debug linux-aarch64 (push) Has been cancelled
ci / test release linux-aarch64 (push) Has been cancelled
ci / test debug macos-aarch64 (push) Has been cancelled
ci / test release macos-aarch64 (push) Has been cancelled
ci / bench release linux-x86_64 (push) Has been cancelled
ci / test debug linux-x86_64 (push) Has been cancelled
ci / test release linux-x86_64 (push) Has been cancelled
ci / test debug macos-x86_64 (push) Has been cancelled
ci / test release macos-x86_64 (push) Has been cancelled
ci / lint debug macos-x86_64 (push) Has been cancelled
ci / lint debug windows-x86_64 (push) Has been cancelled
ci / build libs (push) Has been cancelled
ci / publish canary (push) Has been cancelled
It looks more natural if you respect the indentation of `console.group`.
`console.dir` on Node.js also respects group indentation, so this
improves Node.js compat.

Test code:

```ts
console.dir("1");
console.group();
console.dir("2");
console.group();
console.dir("3");
console.groupEnd();
console.dir("4");
console.groupEnd();
console.dir("5");
```

current output:
```sh
1
2
3
4
5
```

this pr output:
```sh
1
  2
    3
  4
5
```
2025-11-29 00:36:57 +01:00
David Sherret
84b46ea9a6
fix(check): move unknown builtin node: module errors to tsc diagnostics (#31449)
Some checks are pending
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
2025-11-28 19:37:08 +00:00
Bartek Iwańczuk
4c228b455d
fix(ext/node): reimplement setImmediate API (#30328)
Some checks are pending
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
Closes https://github.com/denoland/deno/issues/28016
2025-11-28 11:05:41 +01:00
David Sherret
ef3192d879
fix(node/timers): ensure active timers entry is deleted on Timeout.prototype.refresh (#31436)
Some checks are pending
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
Closes https://github.com/denoland/deno/issues/31435
2025-11-27 14:03:27 -05:00
David Sherret
4876b41d59
fix: upgrade to swc_ecma_parser 27 (#31427) 2025-11-27 13:07:50 -05:00
ud2
24a0209fa1
feat(ext/web): add ImageData Float16Array support (#31394)
Some checks are pending
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
Implements whatwg/html#11143.
2025-11-27 13:04:43 +01:00
Nathan Whitaker
faf9505814
fix(node): support advanced serialization in IPC (#31380)
Some checks are pending
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
Fixes #31354.
2025-11-26 23:15:32 +00:00
Nathan Whitaker
3e22a737ed
perf(node): optimize Buffer compare (#31425)
Implements the comparison part in native code, which effectively uses
memcmp instead of comparing byte by byte

Benchmark:
```ts
import { bench, run } from "mitata";
import { Buffer } from "node:buffer";

const a = Buffer.from(new Array(8 * 1024 * 1024).fill(2));
const b = Buffer.from(new Array(8 * 1024 * 1024).fill(2));

bench("Buffer.compare offset", () => a.compare(b, 6, undefined, 10));

bench("Buffer.compare full", () => Buffer.compare(a, b));

await run();
```

Before:
```
❯ deno run -A compare.mjs
cpu: Apple M3 Max
runtime: deno 3.0.0-rc.0+0bd52c4 (aarch64-apple-darwin)

benchmark                   avg (min … max) p75 / p99    
------------------------------------------- ---------
Buffer.compare offset         14.95 ms/iter  15.22 ms
                      (14.29 ms … 17.19 ms)  16.83 ms  
                    (  1.09 kb …   9.75 kb)   1.64 kb 

Buffer.compare full           17.67 ms/iter  19.75 ms
                      (14.17 ms … 23.50 ms)  22.59 ms
                    (696.00  b … 776.00  b) 698.05  b
```

After:
```
❯ devdeno run -A compare.mjs
cpu: Apple M3 Max
runtime: deno 3.0.0-rc.0 (aarch64-apple-darwin)

benchmark                   avg (min … max) p75 / p99   
------------------------------------------- ---------
Buffer.compare offset        172.66 µs/iter 173.21 µs
                    (162.38 µs … 284.37 µs) 212.33 µs 
                    (  0.00  b … 352.40 kb)   1.03 kb

Buffer.compare full          167.45 µs/iter 167.33 µs
                    (151.21 µs … 266.63 µs) 224.79 µs 
                    (  0.00  b … 448.40 kb)   1.12 kb
```
2025-11-26 23:39:14 +01:00
Nathan Whitaker
d704ca228a
fix(bundle): avoid name clash in hack (#31409)
Some checks are pending
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
One of the issues described in #31407.
2025-11-26 10:30:59 +00:00
Nathan Whitaker
109196ca03
fix(bundle): do not error on failing to clean up esbuild dir (#31408)
Fixes https://github.com/denoland/deno/issues/31406

This is just to save some space on the user's device, no need to hard
error if it fails.
2025-11-26 10:24:25 +00:00
Nathan Whitaker
48546aa4a9
fix(bundle): fix import.meta.main transform with jsr entrypoint (#31415)
Fixes https://github.com/denoland/deno/issues/31404
2025-11-26 11:11:14 +01:00
Nathan Whitaker
bcb3312565
fix(check): fix nil deref with --unstable-tsgo (#31416)
Fixes https://github.com/denoland/deno/issues/31413
2025-11-26 10:36:32 +01:00
Nathan Whitaker
50c728d31c
fix(bundle): treat bun specifiers as external by default (#31411)
Fixes #31397
2025-11-26 09:59:10 +01:00