0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-02-23 13:43:31 -05:00
Commit graph

13083 commits

Author SHA1 Message Date
Bartek Iwańczuk
212b6e7a21
refactor(tsc): split TS compiler into multiple files, use ESM (#27784)
This is a pure refactor, the `99_main_compiler.js` file
was getting out of hand, being over 1500 lines and serving
3 distinct purposes:
- snapshotting
- type-checking
- running LSP

The file was split into:
- 97_ts_host.js
- 98_lsp.js
- 99_main_compiler.js
2025-01-30 15:34:53 +01:00
David Sherret
d29d4ca648
refactor: use DataUrl from deno_media_type (#27783)
This was moved from deno_graph to deno_media_type.
2025-01-30 15:34:52 +01:00
David Sherret
26ced754fd
chore: fix hmr build (#27781)
Closes #27761
2025-01-30 15:34:52 +01:00
Nayeem Rahman
984a775f89
fix(lsp): silence debug error for 'move to a new file' action (#27780) 2025-01-30 15:34:52 +01:00
Divy Srivastava
7ec06b541e
fix(ext/node): reference error in zlib.crc32 (#27777)
Fixes https://github.com/denoland/deno/issues/27774
2025-01-30 15:34:52 +01:00
snek
9ddb8315a5
feat(unstable): support https otlp endpoints (#27743)
Support HTTPS protocol for otel exporting. Includes support for
`OTEL_EXPORTER_OTLP_CERTIFICATE`, `OTEL_EXPORTER_OTLP_CLIENT_KEY`, and
`OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE`

Fixes: https://github.com/denoland/deno/issues/27703
2025-01-30 15:34:52 +01:00
Divy Srivastava
b3e9c8d38a
perf: full LTO in sysroot (#27771)
Decreases binary size by ~15MB on Linux

```
$ du -h ./deno # full LTO
122M	./deno

$ du -h $(which deno) # thin LTO, canary
137M	/usr/bin/deno
```
2025-01-30 15:34:52 +01:00
Yoshiya Hinosawa
73691487e7
fix(ext/node): fix formatting of debug logs (#27772) 2025-01-30 15:34:51 +01:00
Ian Bull
0589e7d73f
chore: note in flags output that unstable is deprecated (#27334) 2025-01-30 15:34:51 +01:00
crowlkats
379079d904
fix: use serde feature for log crate in cli/lib 2025-01-22 01:51:38 +01:00
denobot
1c02412270
2.1.7 (#27765)
Bumped versions for 2.1.7

Please ensure:
- [x] Target branch is correct (`vX.XX` if a patch release, `main` if
minor)
- [x] Crate versions are bumped correctly
- [x] Releases.md is updated correctly (think relevancy and remove
reverts)

To make edits to this PR:
```shell
git fetch upstream release_2_1.7 && git checkout -b release_2_1.7 upstream/release_2_1.7
```

cc @crowlKats

Co-authored-by: crowlKats <crowlKats@users.noreply.github.com>
2025-01-21 16:13:36 -08:00
ZYSzys
ddaf2955c4
fix(ext/node): add FileHandle#sync (#27677)
(cherry picked from commit 4e0bf4b093)
2025-01-22 00:24:24 +01:00
Dimitris Apostolou
96feacd9b8
fix(deps): update yanked crates (#27512)
Update yanked crates `bytemuck`, `futures-util`, `pest`, `pest_derive`
and `url`.

(cherry picked from commit 6ba99be819)
2025-01-22 00:24:23 +01:00
David Sherret
a4476b4677
fix(install/global): remove importMap field from specified config file (#27744)
Closes https://github.com/denoland/deno/issues/27734

(cherry picked from commit 0d3d4f5466)
2025-01-22 00:24:23 +01:00
Bartek Iwańczuk
1ce0cca0fd
fix(ext/os): pass SignalState to web worker (#27741)
Closes https://github.com/denoland/deno/issues/27717

Made a mistake in https://github.com/denoland/deno/pull/27655 and
didn't add the `SignalStore` for web worker.

(cherry picked from commit 395628026f)
2025-01-22 00:24:23 +01:00
Divy Srivastava
a4003a5292
fix(ext/node): GCM auth tag check on DechiperIv#final (#27733)
(cherry picked from commit 4f27d7cdc0)
2025-01-22 00:24:22 +01:00
ryu
852259fe57
docs(readme): update redirected links (#27726)
(cherry picked from commit e4a16e91fa)
2025-01-22 00:24:21 +01:00
David Sherret
32e5941d91
perf(compile): remove swc from denort (#27721)
This is achieved by storing CJS export analysis ahead of time in the
executable, which should also improve the performance of `denort` by
this never being done anymore (I'm too lazy atm to bench this, but it
will be significant for some programs).

(cherry picked from commit 9aa02769c8)
2025-01-22 00:24:21 +01:00
David Sherret
2a4346ce23
chore: fix canary version (#27723)
Broken by
57dd66ec3d

Closes https://github.com/denoland/deno/issues/27719

(cherry picked from commit b962b87cfe)
2025-01-22 00:24:20 +01:00
David Sherret
39d9047834
refactor: move denort to separate crate (#27688)
This slightly degrades the performance of CJS export analysis on
subsequent runs because I changed it to no longer cache in the DENO_DIR
with this PR (denort now properly has no idea about the DENO_DIR). We'll
have to change it to embed this data in the binary and that will also
allow us to get rid of swc in denort (will do that in a follow-up PR).

(cherry picked from commit 57dd66ec3d)
2025-01-22 00:24:19 +01:00
Leo Kettmeir
4fe353c961
refactor: update deno_core and use more concrete errors (#27620)
waiting for https://github.com/denoland/deno_core/pull/1043

Fixes #27672

(cherry picked from commit 054075730c)
2025-01-22 00:24:19 +01:00
Yoshiya Hinosawa
b4ea2fdf8d
fix(ext/node): tls.connect regression (#27707)
The TLS start sequence has been broken since #26661 because of the way
how we wrap TCP handle to create TLS handle.

#26661 introduced happy-eyeballs algorithm and some connection could be
dropped because of happy-eyeball attempt timeout. The current
implementation doesn't consider that case and it could start TLS
handshake with timed out TCP connection. That caused #27652 .

This PR fixes it by changing the initialization steps. Now `wrapHandle`
of TLSSocket set up `afterConnectTls` callback in TCP handle, and
`afterConnect` of TCP handle calls it at `connect` event timing if it
exists. This avoids starting TLS session with timed out connection.

closes #27652

(cherry picked from commit b55451b178)
2025-01-22 00:24:18 +01:00
Bartek Iwańczuk
f66afc3c0c
ci: use self-hosted mac arm runner on tags (#27708)
(cherry picked from commit 342ccbb99d)
2025-01-22 00:24:18 +01:00
Bartek Iwańczuk
b197dcf4e9
refactor: add 'deno_process' crate (#27680)
Untangled the whole `runtime/ops/process.rs` from `ext/node/` and moved
to a separate `ext/process` crate.

(cherry picked from commit 0050857f51)
2025-01-22 00:24:16 +01:00
Yoshiya Hinosawa
bde9515fdc
fix(ext/node): propagate socket error to client request object (#27678)
Co-authored-by: Satya Rohith <me@satyarohith.com>
(cherry picked from commit 339bc44c58)
2025-01-22 00:24:12 +01:00
Bartek Iwańczuk
77218dfa2d
fix: use 'getrandom' feature for 'sys_traits' crate 2025-01-17 01:17:11 +01:00
denobot
4ee86d8d12
2.1.6 (#27704)
Bumped versions for 2.1.6

Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2025-01-17 00:35:01 +01:00
Nathan Whitaker
5ed8092948
fix(outdated): Use latest tag even when it's the same as the current version (#27699)
Fixes https://github.com/denoland/deno/issues/27696.

Just a `>` that should've been a `>=`. Also made sure to filter out
deprecated versions.
2025-01-16 23:32:14 +01:00
Nathan Whitaker
4fb82de38e
fix(outdated): retain strict semver specifier when updating (#27701)
Fixes https://github.com/denoland/deno/issues/27697

If it's a strict bound (e.g. `1.0.0` as opposed to `^1.0.0` or other),
retain the strictness when we update
2025-01-16 23:32:13 +01:00
Nathan Whitaker
56fd15d92e
fix(check/lsp): fix bugs with tsc type resolution, allow npm packages to augment ImportMeta (#27690)
Fixes #26224.
Fixes #27042.

There were three bugs here:
- we were only resolving `/// <reference types` directives starting with
`npm:`, which meant we failed to resolve bare specifiers (this broke the
`/// <reference types="vite/client">` directive in most of the vite
templates)
- the `$node_modules` workaround caused us to fail to read files for
tsc. For instance tsc would construct new paths based on specifiers
containing `$node_modules`, and since we hadn't created those we weren't
mapping them back to the original (this broke some type resolution
within `vite/client`)
- our separation of `ImportMeta` across node and deno globals in tsc
meant that npm packages couldn't augment `ImportMeta` (this broke
`vite/client`'s augmentation to add `import.meta.env` and others)


After this, the only remaining issue in the vanilla vite template is our
error on `/vite.svg` (which is an ambient module), and I'll look into
that next.
2025-01-16 23:32:13 +01:00
Bartek Iwańczuk
99fc557f96
fix(ext/console): change Temporal color (#27684)
This commit changes output color of `Temporal` instances from
"magenta" to "cyan" to discriminate them from `Date` instances.

Closes https://github.com/denoland/deno/issues/27585
2025-01-16 23:32:13 +01:00
Jo Franchetti
9534112073
docs: adding jsdocs info for console interface (#27666)
Signed-off-by: Jo Franchetti <jofranchetti@gmail.com>
Co-authored-by: Marvin Hagemeister <marvin@deno.com>
2025-01-16 23:32:13 +01:00
Phil Hawksworth
48f2587954
docs: JSDocs examples for prompt, confirm, and alert (#27695)
Adds examples
2025-01-16 23:32:13 +01:00
Phil Hawksworth
59ca3c6c57
docs:Adds examples in JSDocs for localStorage and sessionStorage (#27668)
Improves docs for:

- http://docs.deno.com/api/web/~/localStorage
- http://docs.deno.com/api/web/~/sessionStorage
2025-01-16 23:32:13 +01:00
Muthuraj Ramalingakumar
bf0c5d3a2e
chore: add missing internal core_import_map file paths (#27691)
Noted this when working locally, will help with vscode intellisense.

fixes: https://github.com/denoland/deno/issues/27689
2025-01-16 23:32:12 +01:00
Nathan Whitaker
d2a3319939
fix(check/lsp): correctly resolve compilerOptions.types (#27686)
Fixes https://github.com/denoland/deno/issues/27062

In the LSP we were passing `npm` specifiers to TSC as roots, but TSC
needs fully resolved specifiers (like the actual file path).

In `deno check` we were often excluding the specifiers entirely from the
roots.

In both cases, we need to resolve the specifiers fully and then pass
them to tsc
2025-01-16 23:32:12 +01:00
Bartek Iwańczuk
c913a26da7
ci: try to fix caching on Mac ARM (#27685) 2025-01-16 23:32:12 +01:00
David Sherret
7e495dde58
refactor: create deno_lib crate (#27673)
Shifts just some code down for now. I'll do the rest of the refactor in
the next pr, but didn't want to drop a huge refactor.
2025-01-16 23:32:12 +01:00
Bartek Iwańczuk
032af18789
ci: use self-hosted mac arm runner (#27568) 2025-01-16 23:32:12 +01:00
Masato Yoshioka
928200fcce
fix(ext/node): add chown method to FileHandle class (#27638) 2025-01-16 23:32:12 +01:00
David Sherret
8a75fade0b
chore: fix ci by removing remote server dependent test (#27674)
This was using the lockfile and esm.sh changed breaking the lockfile. We
could pin to a specific esm.sh version, but ideally we shouldn't have
the test suite dependent on remote servers.
2025-01-16 23:32:11 +01:00
Bartek Iwańczuk
e763b374ef
refactor: add 'deno_os' crate (#27655)
This commit creates "deno_os" extension crate and moves
numerous ops from "runtime/" crate to the new crate.
2025-01-16 23:32:11 +01:00
Yoshiya Hinosawa
a49c1d1c4e
fix(ext/node): fix playwright http client (#27662) 2025-01-16 23:32:11 +01:00
David Sherret
1bd66b09cc
refactor: move CliNpmResolver to deno_resolver::npm::NpmResolver (#27659)
As title. After this PR all npm resolution will be out of the CLI crate.
2025-01-16 23:32:11 +01:00
Marvin Hagemeister
526c66dd4e
feat(unstable): refactor js lint plugin AST (#27615)
This PR changes the underlying buffer backed AST format we use for
JavaScript-based linting plugins. It adds support for various new types,
makes traversal code a lot easier and is more polished compared to
previous iterations.

Here is a quick summary (in no particular order):

- Node prop data is separate from traversal, which makes traversal code
so much easier to reason about. Previously, it was interleaved with node
prop data
- spans are in a separate table as well, as they are rarely needed.
- schema is separate from SWC conversion logic, which makes 
- supports recursive plain objects
- supports numbers
- supports bigint
- supports regex
- adds all SWC nodes

Apologies, this is kinda a big PR, but it's worth it imo.

_Marking as draft because I need to update some tests tomorrow._
2025-01-16 23:32:11 +01:00
David Sherret
f6820dec52
refactor: deno_config 0.45 (#27660) 2025-01-16 23:32:11 +01:00
siaeyy
a96c06fdc4
fix(node/fs): add utimes method to the FileHandle class (#27582) 2025-01-16 23:32:10 +01:00
Aaron Ang
30c99a7a22
fix(ext/node): add writev method to FileHandle (#27563)
Part of #25554
2025-01-16 23:32:10 +01:00
David Sherret
72124bb854
fix(compile/windows): better handling of deno_dir on different drive letter than code (#27654)
Closes https://github.com/denoland/deno/issues/27651
2025-01-16 23:32:10 +01:00
David Sherret
8b5b6cd561
refactor: create NpmInstaller (#27626)
This separates npm resolution code from npm installation (more work
towards moving resolution code out of the CLI and cleaning up this
code).
2025-01-16 23:32:10 +01:00