Commit graph

14322 commits

Author SHA1 Message Date
Kingsword
64525d289a
feat(fmt): remove UTF-8 BOM instead of maintaining it (#29796)
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 / 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 / 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 / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
Co-authored-by: David Sherret <dsherret@users.noreply.github.com>
2025-06-28 00:50:22 -04:00
Yoshiya Hinosawa
e786e7ac64
chore(ext/node): disable node compat CI check temporarily (#29932) 2025-06-28 13:17:45 +09:00
Nathan Whitaker
c36a20f6bb
feat(run): resolve main module with workspace resolver (#29928)
Closes https://github.com/denoland/deno/issues/29897.
Closes https://github.com/denoland/deno/issues/14066.
Closes https://github.com/denoland/deno/issues/19955.

With this PR we'll attempt to resolve bare specifiers passed to `run` or
`serve` with the workspace resolver. This means you can run specifiers
that are defined in your import map/package.json.

If the specifier looks like a path (starts with `.`, or is an absolute
path) then we won't try to resolve it via the import map.

This does have the potential to break someone, in the case that you have
something like

```
{
  "imports": { "foo.ts": "./bar.ts" }
}
```

and you have a file named `foo.ts`, previously `deno run foo.ts` would
run `./foo.ts`, now we would run `./bar.ts`. I can't see a way around
that without doing an extra stat to see if the file exists, or deferring
this to module load time (which seems complex). I don't think many
people would hit that, and if someone does there's a simple fix – just
add `./` to the front.

From my benchmarking, this change has no effect on startup time
2025-06-27 19:14:30 -07:00
Nayeem Rahman
8019d9db95
fix(check): don't detect tsconfigs with no deno.json/package.json or --no-config (#29925)
Some checks are pending
ci / build libs (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 / 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 / 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 / publish canary (push) Blocked by required conditions
2025-06-27 22:09:55 +00:00
Bartek Iwańczuk
3b8df8fde6
fix(ext/node): don't show deprecation warnings for dependencies (#29909)
Some checks are pending
ci / pre-build (push) Waiting to run
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 / build libs (push) Blocked by required conditions
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 / 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 / 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 / publish canary (push) Blocked by required conditions
Note: We found a case where the v8::StackTrace::current_stack_trace(scope, 20) returns the stack trace which only contains ext: entries in op_node_call_is_from_dependency.

Steps to reproduce:

```
touch package.json
deno i npm:vitest
```
```
// foo.test.ts
import { expect, suite, test } from "vitest";

suite("foo", () => {
  test("bar", () => {
    expect(1 + 2).toEqual(3);
  });
});
```
and run
```
deno run -A npm:vitest
```
This causes new Buffer invocation with stack trace only containing ext:deno_node/internal/buffer.mjs as script names.

This PR fixes such case.
2025-06-27 15:27:45 +02:00
Yoshiya Hinosawa
c73b91318b
chore(ext/node): reorg node compat test CI check (#29893)
This PR reorganizes the node compat test CI check.

Now we don't copy (or modify) tests from the vendored dir
(`tests/node_compat/runner/suite`), instead run them directly.

There seem currently 1.4K test cases which pass without modification in
all OSes. The list of such test files are now stored in
`tests/node_compat/config.toml`, and `tests/node_compat/test.ts` run
them as `Deno.test` cases.

(Note: `config.toml` is created by this script:
https://github.com/denoland/node_test_viewer/blob/main/get_consistently_passing_test_names_as_toml.ts.
It checks the daily node compat test runs for the last 10 days, and
retrieves consistently passing test cases.)

closes #29857
2025-06-27 21:06:18 +09:00
Yoshiya Hinosawa
9026234a23
fix(ext/node): keep BOM in buffer.toString('utf8') (#29896)
Some checks are pending
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 / build libs (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 / 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 / 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 / publish canary (push) Blocked by required conditions
2025-06-27 12:41:27 +09:00
Yoshiya Hinosawa
7d36d8e8ff
fix(ext/node): fix reference error in node:stream (#29894) 2025-06-27 09:45:52 +09:00
Yoshiya Hinosawa
65e1aaefba
fix(ext/node): add type check to LibuvStreamWrap.writeBuffer (#29879)
Some checks are pending
ci / build libs (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 / 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 / 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 / publish canary (push) Blocked by required conditions
2025-06-27 08:48:57 +09:00
Nathan Whitaker
de02d99a17
feat(bundle): support text and bytes imports in bundle (#29908) 2025-06-26 22:39:58 +00:00
Nayeem Rahman
7a9ab843bd
feat(check): tsconfig "references", "extends", "files", "include" and "exclude" (#29843)
- Each workspace directory is probed for a `tsconfig.json`.
- These and any that are included by their `references` are put into a
list ordered by priority.
  - A tsconfig has lower priority than its `references`.
- An earlier listed entry in `references` has higher priority than a
later one.
- A probed tsconfig in an inner directory has higher priority than an
outer one. Their `references` would be interspersed between them.
- Each tsconfig has a filter based on its `files`, `include` and
`exclude` fields. If it doesn't have `files` or `include`, it will match
any path in its containing directory not exempted by `exclude`.
- For type-checking, each root path will be allocated compiler options
based on the first tsconfig it whose filter it matches from this list.
- Only if it doesn't match any tsconfig, it will fall back to using the
nearest `deno.json`. If it's a workspace member and the root `deno.json`
has `compilerOptions`, these will be merged using the same logic from
`extends`.

Inheritance between configs strictly occurs via `extends` in a
`tsconfig.json`, and between workspace member and root `deno.json`s'
`compilerOptions`. There is no implicit inheritance between
`tsconfig.json` and `deno.json`.

The default compiler options currently applied against tsconfigs are
Deno's normal defaults, with the exception of `lib`. The default value
for `lib` is `["deno.window", "deno.unstable", "dom"]` for files in the
scope of a tsconfig with `lib` unspecified. This behaviour is depended
on by, for example, the template project created by `create-vite ->
svelte`. I expect we'll add more such exceptions over time with other
fields.
2025-06-26 21:17:07 +00:00
Bartek Iwańczuk
9913311860
feat: stabilize --node-conditions flag (#29628)
Stabilizes `--conditions` flag added in
https://github.com/denoland/deno/pull/29586.

Closes https://github.com/denoland/deno/issues/23757
2025-06-26 22:52:04 +02:00
Simon Lecoq
7554b28a04
fix: support Deno.permissions.query({name:"import"}) (#29610)
Closes #27050
2025-06-26 22:13:56 +02:00
David Emanuel Buchmann
3cefece2da
feat: --allow-net supports CIDR ranges (#29704)
This commit adds support for specifying CIDR ranges in
`--allow-net` and `--deny-net` flag:

Eg: trying to run `deno run --allow-net --deny-net=192.168.0.0/16`
and `fetch` from `http://127.0.0.1:4545/` will raise `NotCapable`
error.
2025-06-26 22:13:04 +02:00
David Sherret
d2a6958f14
feat(signals): support listening for ctrl+close on Windows (#27880) 2025-06-26 16:03:16 -04:00
Nathan Whitaker
8cefe97b09
fix(bundle): only replace require shim in js files, spruce up output (#29892)
We were trying to do the hack of replacing the esbuild require shim on
every output file, regardless of whether it was js/ts.
This fixes that.

In addition, this spruces up the output of deno bundle a bit.

before:
![Screenshot 2025-06-25 at 6 33
55 PM](https://github.com/user-attachments/assets/9f2a4bfb-7f00-422e-8b45-84141b8447b7)

after:
![Screenshot 2025-06-25 at 6 33
32 PM](https://github.com/user-attachments/assets/567cee6b-8f72-4722-878a-849704ecbe79)
2025-06-26 18:35:19 +00:00
Bartek Iwańczuk
0a4f946fd9
feat: add 'deno update' subcommand (#29187)
Just to save a few characters, because it's an alias to "deno outdated
--update"

Ref https://github.com/denoland/deno/issues/29778
2025-06-26 19:13:29 +02:00
David Sherret
2ed8a1d675
chore: add back node-globals to json schema (#29899) 2025-06-26 17:11:18 +00:00
Nayeem Rahman
99ae41f6bb
feat: stabilize --allow-net subdomain wildcards (#29902)
Closes #29499.
2025-06-26 17:00:43 +00:00
Daniel Osvaldo R
e69a668e1f
fix(ext/node): export promise based lchown and lutimes from node:fs/promises (#29870)
The promised based `lchown` and `lutimes` were implemented in #24418 and
#23172 , but haven't been exported through the `node:fs/promises`
namespace.

Signed-off-by: Daniel Osvaldo R <daniel.rahmanto@gmail.com>
2025-06-26 09:55:47 -07:00
David Sherret
ec32c6e5ba
feat(unstable): bytes and text imports (#29855)
Some checks are pending
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 / build libs (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 / 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 / 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 / publish canary (push) Blocked by required conditions
2025-06-26 11:21:16 -04:00
Nayeem Rahman
880ed76b99
fix(lsp): don't show no-export diagnostics for type-only npm imports (#29888) 2025-06-26 15:53:05 +01:00
Bartek Iwańczuk
e8d9d59b83
feat: deprecate --unstable-node-globals flag (#29887)
`--unstable-node-globals` flag is no longer needed after following
PRs had landed:
- https://github.com/denoland/deno/pull/29877
- https://github.com/denoland/deno/pull/29734
- https://github.com/denoland/deno/pull/29416

This commit hides this flag from the `--help=unstable` output,
but still keep the flag to not break previously working invocations.
2025-06-26 12:49:24 +02:00
Bartek Iwańczuk
a8f59c1af9
feat: add DENO_COMPAT env var (#29889)
This commit adds the `DENO_COMPAT` env var, that
when specified enables several features:
- --unstable-bare-node-builtins
- --unstable-detect-cjs
- --unstable-sloppy-imports

With Deno v2.3.x, it is a common situation where these 3 flags have to
specified
to run an existing Node.js project, causing a friction that many users
experience.

The idea is that this env var could be "set and forget" for many people,
that should
provide better DX for running Node.js projects.

It is necessary to note that using this env var _impacts performance_ -
especially startup time.
2025-06-26 12:06:24 +02:00
Bartek Iwańczuk
1192bc0040
feat: rename --unstable-node-conditions to --unstable-conditions (#29885)
The `DENO_NODE_CONDITIONS` env var was renamed to `DENO_CONDITIONS`.

Ref https://github.com/denoland/deno/pull/29628
Ref https://github.com/denoland/deno/issues/23757
2025-06-26 12:05:57 +02:00
Daniel Osvaldo R
9bcd4366ee
fix(ext/node): add lchmod, lchmod promise, lchmodSync to node:fs (#29833)
Some checks are pending
ci / build libs (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 / 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 / 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 / publish canary (push) Blocked by required conditions
2025-06-26 15:46:07 +09:00
David Sherret
4a0cd18a6b
fix(install/global): resolve bin name from npm packument (#29884)
Some checks are pending
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 / build libs (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 / 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 / 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 / publish canary (push) Blocked by required conditions
2025-06-25 15:10:26 -04:00
Bartek Iwańczuk
f781796402
feat: Deno.execPath() no longer requires --allow-read permission (#29620)
This commit changes `Deno.execPath()` API to no longer require
read permission.

This change is dictated by the fact that in common scenarios, requiring
read permission is less secure than not requiring permissions - if
a user wants to spawn a Deno subprocess using the current executable,
they would do something like:

```
new Deno.Command(Deno.execPath(), { args: ["eval", "1+1"] }).outputSync();
```

To run this program, currently one needs to pass `--allow-read
--allow-run=deno` flags.
It's possible to limit scope of `--allow-read` flag, but it's really
cumbersome to do,
so most users will opt to give a blanket `--allow-read` permission.

Not requiring read permissions allows the above program to be run with
just `--allow-run=deno` flag.

This change is in similar to relaxing of permissions in `Deno.cwd()` API
done in https://github.com/denoland/deno/pull/27192.

Ref
https://github.com/denoland/deno/issues/20061#issuecomment-2942497783
2025-06-25 20:57:35 +02:00
Bartek Iwańczuk
d4b02455df
feat: make setImmediate and clearImmediate as globals (#29877)
Some checks are pending
ci / build libs (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 / bench 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 / 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 / publish canary (push) Blocked by required conditions
Follow up to https://github.com/denoland/deno/pull/29323 and
https://github.com/denoland/deno/pull/29416.

This effort is to reduce a number of different globals available to user
code and npm dependencies. Also improves performance when these globals
are used.
This brings the number of "managed globals" down to 6. 

Towards https://github.com/denoland/deno/issues/29703
2025-06-25 15:21:10 +02:00
Asher Gomez
002a18cf03
feat(ext/http): support onListen() callback in deno serve (#29449)
Closes #26070

Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2025-06-25 15:20:27 +02:00
Yoshiya Hinosawa
56d7660ee4
feat(cli): add --coverage flag to deno run command (#29329)
closes #16440

This PR adds `--coverage` flag to `deno run` command. When the flag is
specified, it generates the coverage profile in the directory specified
(default is `coverage`). The coverage directory can also be specified
from the env var `DENO_COVERAGE_DIR`.

---------

Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2025-06-25 13:34:30 +02:00
Bartek Iwańczuk
bff09506bd
feat(unstable): add DENO_NODE_CONDITIONS env var (#29848)
Some checks are pending
ci / build libs (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 / 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 / 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 / publish canary (push) Blocked by required conditions
Follow up to https://github.com/denoland/deno/pull/29586 that
adds a `DENO_NODE_CONDITIONS` env var that allows to
specify conditional exports when the user can't control
CLI flags passed to the command (eg. on Deploy).
2025-06-25 07:16:11 +00:00
Yoshiya Hinosawa
864a6f5774
fix(ext/node): improve input validations of stream/consumers (#29880) 2025-06-25 16:10:57 +09:00
Yoshiya Hinosawa
507e103ad3
test(ext/node): expose TTY class from tty_wrap for testing (#29862) 2025-06-25 12:54:35 +09:00
Yoshiya Hinosawa
be3e7f4ae9
fix(ext/node): improve assert.fail (#29850) 2025-06-25 10:26:33 +09:00
Yoshiya Hinosawa
b6d09f65b1
chore(ext/node): exclude known_issues dir from test targets (#29859) 2025-06-25 10:25:27 +09:00
Yoshiya Hinosawa
68bfb7a9f6
fix(ext/node): remove duplicated stream classes (#29860) 2025-06-25 10:21:03 +09:00
Bartek Iwańczuk
695df57358
fix(fmt/css): prefer collapsing font-family values (#29864)
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 / 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 / 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 / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
Closes https://github.com/denoland/deno/issues/29336
2025-06-24 20:28:53 +00:00
Bartek Iwańczuk
4e23d9b5f0
feat(fmt): add support for .xml, .svg and .mustache files (#29851)
Formatting `.mustache` files still requires `--unstable-component`
flag when running `deno fmt`

Closes https://github.com/denoland/deno/issues/20205
2025-06-24 17:16:33 +02:00
Bartek Iwańczuk
14f9d77f3d
feat(otel): stabilize OpenTelemetry support (#29822)
Some checks are pending
ci / build libs (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 / 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 / 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 / publish canary (push) Blocked by required conditions
This commit stabilizes support for OpenTelemetry in Deno,
effectively removing the need to use `--unstable-otel` flag
or using `{ "unstable": ["otel"] }` option in the config file.

Supersedes https://github.com/denoland/deno/pull/29500
Closes https://github.com/denoland/deno/issues/29477
2025-06-24 16:49:04 +02:00
Bartek Iwańczuk
ed0c77edb3
feat: make 'Buffer' and 'global' available as globals (#29416)
Follow up to https://github.com/denoland/deno/pull/29323.

This effort is to reduce a number of different globals available to user
code and npm dependencies. Also improves performance when these globals
are used.

Towards https://github.com/denoland/deno/issues/29703
2025-06-24 14:31:06 +02:00
Leo Kettmeir
38f6720185
feat: unflag the deploy subcommand (#29863) 2025-06-24 12:23:58 +00:00
Bartek Iwańczuk
c50b37c234
test: fix specs::coverage::data_url test (#29865) 2025-06-24 16:22:28 +05:30
Boye Lillejord-Nygård
ef6ff554b0
fix(bench): Make output table markdown compatible (#29532)
This changes the format of the table outputted by `deno bench` to be
markdown compatible.

Related #29533 
Closes #29466
2025-06-24 11:27:42 +02:00
Boye Lillejord-Nygård
5b65313d48
fix(coverage): Make output table markdown compatible (#29533)
This changes the format of the table outputted by `deno coverage` to be
markdown compatible.

Related #29532 
Closes #29465
2025-06-24 11:27:07 +02:00
Bartek Iwańczuk
fd352537ce
feat: add DENO_AUTO_SERVE env var (#29852)
This commits adds `DENO_AUTO_SERVE` env var, that when specified
makes `deno run` behave like `deno serve` if the entrypoint satisfies
the `Deno.ServeDefaultExport` interface.
2025-06-24 11:05:59 +02:00
denobot
0d76cd50af
2.3.7 (#29853)
Some checks are pending
ci / pre-build (push) Waiting to run
ci / build libs (push) Blocked by required conditions
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 / 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 / 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 / publish canary (push) Blocked by required conditions
Bumped versions for 2.3.7

---------

Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2025-06-23 23:51:36 +02:00
Nathan Whitaker
19d08d12d3
fix(bundle): transform import.meta.main (#29830)
For entrypoints, it remains untouched. For non-entrypoints it becomes
`false`.
2025-06-23 20:51:24 +00:00
Yoshiya Hinosawa
ef938a8cd5
test(ext/node): update some node compat tests to the latest version (#29844)
Some checks are pending
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / build libs (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 / 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 / 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 / publish canary (push) Blocked by required conditions
2025-06-23 21:17:50 +09:00
Yoshiya Hinosawa
b5c59ed215
fix(ext/node): improve assert.ifError (#29846) 2025-06-23 21:16:53 +09:00