Commit graph

7708 commits

Author SHA1 Message Date
Nayeem Rahman
d91658b45e
refactor(lsp): separate document and module storage (#28469) 2025-03-31 22:25:27 +01:00
Kenta Moriuchi
76a18a2220
fix(types): add Error.isError type (#28679) 2025-03-31 17:22:31 -04:00
David Sherret
1e65d21071
fix: show referrer for Wasm module dependency errors (#28653) 2025-03-28 09:13:39 -04:00
Kenta Moriuchi
f2299353a0
fix(webgpu): move isFallbackAdapter from GPUAdapter to GPUAdapterInfo (#28650)
fix #28618

I also fixed `Deno.privateCustomInspect`, which was defined as static
methods of the classes and was not working properly.
2025-03-28 03:08:57 -07:00
denobot
a1724f5d5a
chore: forward v2.2.6 release commit to main (#28657)
This is the release commit being forwarded back to main for 2.2.6

Co-authored-by: littledivy <littledivy@users.noreply.github.com>
2025-03-28 13:32:27 +05:30
David Sherret
e2f66d4059
fix(npm): improve optional peer dep handling (#28651) 2025-03-27 22:53:41 +00:00
Nathan Whitaker
ec4391f412
chore: downgrade warning to debug log on clonefile failure (#28637)
Ref https://github.com/denoland/deno/issues/26928.

This was originally a warning so potential bugs would be visible. Now
that the code has been working for a while without issues, and since the
warning can be triggered in a valid case (as in the issue above, where
the warnings also hid the real diagnostic), let's downgrade this from a
warning to a debug log.
2025-03-26 22:01:55 +00:00
Nathan Whitaker
863ab45436
fix(npm): set up bin entries for package even if it's already downloaded (#28626)
Fixes #28617
2025-03-25 22:32:15 +00:00
David Sherret
31f6c05c9c
feat(unstable/run): ability to lazily load statically analyzable dynamic imports (#28593)
This allows lazily loading statically analyzable dynamic imports when
not type checking.
2025-03-25 11:38:45 -04:00
David Sherret
c239d37d20
fix(npm): resolve non-version matching peer deps and warn instead (#28616)
This improves peer dependency resolution to be more relaxed and resolve
non-version matching ancestors similar to pnpm rather than introducing
duplicate dependencies. Deno will warn when this occurs. In the future,
we should look into introducing an option to have Deno error in this
scenario.
2025-03-25 11:10:13 -04:00
Divy Srivastava
48ccb67131
chore(ext/http): add "legacy_abort" runtime flag (#28371)
Deno.serve `Request` abort signals are aborted by default even when it
is finished successfully. This PR gates this behavior behind the
"legacy_abort" which is the default right now.

Turning the `no_legacy_abort` runtime option on is a **breaking change**
and will only abort request signals when there is a failure, thereby
cannot be used to determine if the request finished. This aligns with
`fetch` API.

Ref https://github.com/denoland/deno/issues/27005
2025-03-22 08:13:57 +05:30
denobot
43f6137d92
chore: forward v2.2.5 release commit to main (#28579)
NOTE: Commit 27363d389 was incorrectly landed in main before the release
completed and is not included in v2.2.5. The official v2.2.5 release was made
from the v2.2 branch.
2025-03-21 06:25:03 -07:00
David Sherret
94c9681385
feat(unstable): support using a local copy of npm packages (#28512)
This adds support for using a local copy of an npm package.

```js
// deno.json
{
  "patch": [
    "../path/to/local_npm_package"
  ],
  // required until Deno 2.3, but it will still be considered unstable
  "unstable": ["npm-patch"]
}
```

1. Requires using a node_modules folder.
2. When using `"nodeModulesDir": "auto"`, it recreates the folder in the
node_modules directory on each run which will slightly increase startup
time.
3. When using the default with a package.json (`"nodeModulesDir":
"manual"`), updating the package requires running `deno install`. This
is to get the package into the node_modules directory of the current
workspace. This is necessary instead of linking because packages can
have multiple "copy packages" due to peer dep resolution.

Caveat: Specifying a local copy of an npm package or making changes to
its dependencies will purge npm packages from the lockfile. This might
cause npm resolution to resolve differently and it may end up not using
the local copy of the npm package. It's very difficult to only
invalidate resolution midway through the graph and then only rebuild
that part of the resolution, so this is just a first pass that can be
improved in the future. In practice, this probably won't be an issue for
most people.

Another limitation is this also requires the npm package name to exist
in the registry at the moment.
2025-03-21 03:09:57 +00:00
Jo Franchetti
177d5b1476
docs: add docs for some webgpu APIs (#28548) 2025-03-20 23:35:21 +00:00
David Sherret
60b502db80
fix(lsp): do not show import-map-remap diagnostic when referrer and target are within the entry base (#28560)
For example, if someone has `"$src/": "./src"` in their import map, this
will no longer show a diagnostic when someone imports `"./a.ts"` from
./src/b.ts`
2025-03-20 11:20:24 -04:00
Jo Franchetti
3e547da20b
docs: adding jsdocs for temporalAPI (#28542) 2025-03-18 11:49:15 -07:00
Jake Champion
5aeb04f443
fix: add stackTraceLimit to ErrorConstructor interface and removed ErrorWithStackTraceLimit interface (#28539)
Signed-off-by: Jake Champion <me@jakechampion.name>
2025-03-18 09:56:39 -04:00
Jo Franchetti
1eaac23af8
docs: adding jsdocs for url and workers (#28528) 2025-03-18 06:33:46 -07:00
Paolo Barbolini
1516e3ef58
refactor: reduce dependency on futures crate (#28515)
Over time many `futures` APIs have been stabilized in `std`. This
migrates most uses to the std variants.
2025-03-17 14:14:19 +00:00
Paolo Barbolini
bb4c662660
refactor: replace memmem with memchr (#28516) 2025-03-17 09:33:51 -04:00
denobot
5f00b9700f
chore: forward v2.2.4 release commit to main (#28500) 2025-03-14 15:40:38 -07:00
Ryan Dahl
6d53bb9c9e
docs: randomUUID and getRandomValues (#28496) 2025-03-14 18:06:06 +00:00
David Sherret
ed2fac89eb
refactor: handle deno_media_type having Html and Sql variants (#28495) 2025-03-15 00:19:08 +09:00
Ryan Dahl
4f738660b9
feat: support FORCE_COLOR (#28490)
fixes https://github.com/denoland/deno/issues/17229
2025-03-14 07:15:29 -07:00
Nayeem Rahman
30aa94010a
fix(lsp): auto-import from npm package exports with manual node_modules (#28414) 2025-03-13 20:29:17 +00:00
Jo Franchetti
ea982cba78
docs: making copy a little clearer (#28481)
Updating compile help text copy to make it a little clearer
Reported in https://github.com/denoland/docs/issues/1500
2025-03-13 14:21:21 -04:00
Leo Kettmeir
28e5c388b4
feat(otel): span context propagators (#28460)
Co-authored-by: Luca Casonato <hello@lcas.dev>
2025-03-13 16:32:45 +01:00
Ryan Dahl
f3e9325a91
docs: ignore absent window global variable in d.ts (#28456) 2025-03-12 06:10:15 -07:00
Luca Casonato
5c8d894aa3
fix(otel): don't print otel warning when variable is not set (#28475) 2025-03-12 06:37:08 +01:00
Jo Franchetti
fa51d5de44
docs: adding a missing full stop to context help text (#28465)
Full top missing from help text of config
2025-03-11 14:36:55 +00:00
David Sherret
ff28ecd91a
fix(bench): lower bench time budget when n is specified (#28454)
Closes #28430
2025-03-10 16:17:19 -04:00
David Sherret
9ea4f82643
fix(check): support types@ export conditions (#28450) 2025-03-10 13:20:48 -04:00
Nayeem Rahman
0ef3f6ba88
perf(lsp): lazily start the ts server (#28392) 2025-03-06 18:05:25 +00:00
Nayeem Rahman
e579440170
fix(lsp): silence errors from "codeAction/resolve" (#28400) 2025-03-06 18:00:44 +00:00
Bartek Iwańczuk
e6637ab6f1
chore(internal): reland eszip changes (#28294)
Co-authored-by: David Sherret <dsherret@gmail.com>
2025-03-05 22:25:56 +00:00
David Sherret
2292eb1c92
fix(node): support re-exported esm modules in cjs export analysis (#28379)
Adds support for re-exporting an ES module from a CJS one and then
importing the CJS module from ESM. Also fixes a bug where require esm
wasn't working in deno compile.
2025-03-05 16:37:46 -05:00
Nathan Whitaker
0c0757fe66
fix(install): exclude npm workspace packages from graph roots in install (#28401)
Fixes #28374.
2025-03-05 20:41:05 +00:00
Marvin Hagemeister
be73f11f83
fix(unstable): lint plugin !== wrongly parsed as != (#28403)
That's an emberassing typo. The `!==` operator was wrongly converted to
`!=`.

Fixes https://github.com/denoland/deno/issues/28397
2025-03-05 20:14:50 +00:00
Marvin Hagemeister
7f7b51c414
fix(unstable): wrong node with shorthand ObjectPattern + AssignPattern (#28402)
We did not serialize the `AssignmentPattern` node inside `ObjectPattern`
properties.

```ts
({ a = b } = {})
```

This is a bit different in SWC and looks like I got confused with the
different AST formats.

Fixes https://github.com/denoland/deno/issues/28399
2025-03-05 20:12:19 +00:00
David Sherret
731a238d34
fix(install): support "file:" dependencies in local package.json (#28396)
This adds support for installing `file:` dependencies in a local
package.json.

In order to use these, you must not set `--node-modules-dir=...` when
using a package.json and it should use the default of
`--node-modules-dir=manual`.

Closes https://github.com/denoland/deno/issues/18701
2025-03-05 14:08:05 -05:00
Luca Casonato
abfd45f8d2
fix(cli): warn when an otel env var has an invalid value (#28394) 2025-03-05 12:05:40 +00:00
denobot
d91402ae20
chore: forward v2.2.3 release commit to main (#28391)
This is the release commit being forwarded back to main for 2.2.3

Co-authored-by: littledivy <littledivy@users.noreply.github.com>
2025-03-05 05:57:04 +00:00
Nayeem Rahman
25a9d1c74f
perf(lsp): register semantic tokens provider upon opening enabled doc (#28384) 2025-03-04 16:28:19 +00:00
Marvin Hagemeister
1f6f561979
fix(unstable): lint plugin fix :has(), :is/where/matches and :not() selectors (#28348)
This PR adds support for `:has/:is/:where()` and `:not()`. The latter
was already present, but found a bunch of issues with it and I'd say
that it didn't really work before this PR.


Fixes https://github.com/denoland/deno/issues/28335
2025-03-04 16:04:39 +01:00
Marvin Hagemeister
842a906295
fix(unstable): lint plugin child combinator not working with groups (#28360)
Internally, we use a group node for array-like children, which is hidden
from the user. When we're asking for a parent of a node we need to take
group nodes into account and walk over them.

Fixes one issue reported in
https://github.com/denoland/deno/issues/28355
2025-03-03 21:44:04 +01:00
Marvin Hagemeister
9bcbef6d2f
fix(unstable): lint plugin swapped exported and source for ExportAllDeclaration (#28357)
The `source` and `exported` property were swapped for the
`ExportAllDeclaration` node.

Fixes one issue reported at
https://github.com/denoland/deno/issues/28355
2025-03-03 11:03:29 +01:00
Marvin Hagemeister
62bc07884b
fix(unstable): Missing PrivateIdentifier type for PropertyDefinition key (#28358)
The `PropertyDefinition` node also allows `PrivateIdentifier` as a type
for the `key`. Example:

```ts
class Foo {
  #foo = 2;
}
```

Fixes one issue reported in
https://github.com/denoland/deno/issues/28355
2025-03-03 11:03:06 +01:00
Marvin Hagemeister
287bde1f72
fix(unstable): lint plugin ObjectPattern inconsistencies (#28359)
Fixes inconsistencies with `ObjectPattern` node to match TSESTree.

Fixes one issue reported in
https://github.com/denoland/deno/issues/28355
2025-03-03 11:02:52 +01:00
Marvin Hagemeister
b6b5c7d7d9
fix(unstable/lint): remove duplicated Fix vs FixData interface (#28344)
Noticed that we have two interfaces describing the same thing: `Fix` and
`FixData`. This PR removes the `FixData` one.
2025-02-28 16:20:23 +01:00
David Sherret
2a803fe2de
fix(check/npm): move not found errors inside npm packages to tsc diagnostics (#28337) 2025-02-28 10:06:20 -05:00