1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-21 06:44:45 -05:00
Commit graph

12839 commits

Author SHA1 Message Date
Nayeem Rahman
49d82e609f
feat(lsp): jsr support first pass (#22382)
This implementation heavily depends on there being a lockfile, meaning
JSR specifiers will always diagnose as uncached unless it's there. In
practice this affects cases where a `deno.json` isn't being used. Our
NPM specifier support isn't subject to this.

The reason for this is that the version constraint solving code is
currently buried in `deno_graph` and not usable from the LSP, so the
only way to reuse that logic is the solved-version map in the lockfile's
`packages.specifiers`.
2024-02-12 22:12:49 +00:00
Matt Mastracci
f60720090c
chore: move test_ffi and test_nap to tests/ [WIP] (#22394)
Moving some additional NAPI and. FFI tests out of the tree root.
2024-02-12 13:46:50 -07:00
Leo Kettmeir
bd1358efab
fix(console): support NO_COLOR and colors option in all scenarios (#21910)
Noticed in #21607
2024-02-12 14:35:23 +01:00
林炳权
80d5ffbe7c
chore: update to Rust 1.76 (#22376)
Update to Rust 1.76
2024-02-12 03:00:33 +00:00
Matt Mastracci
26d9b2f317
chore: deno_core bump (#22379)
- Updates to V8 12.1.285.27

https://github.com/denoland/rusty_v8/pull/1383

 - Swaps Box for Rc for `source_map_getter`
2024-02-10 19:08:02 -07:00
Matt Mastracci
f5e46c9bf2
chore: move cli/tests/ -> tests/ (#22369)
This looks like a massive PR, but it's only a move from cli/tests ->
tests, and updates of relative paths for files.

This is the first step towards aggregate all of the integration test
files under tests/, which will lead to a set of integration tests that
can run without the CLI binary being built.

While we could leave these tests under `cli`, it would require us to
keep a more complex directory structure for the various test runners. In
addition, we have a lot of complexity to ignore various test files in
the `cli` project itself (cargo publish exclusion rules, autotests =
false, etc).

And finally, the `tests/` folder will eventually house the `test_ffi`,
`test_napi` and other testing code, reducing the size of the root repo
directory.

For easier review, the extremely large and noisy "move" is in the first
commit (with no changes -- just a move), while the remainder of the
changes to actual files is in the second commit.
2024-02-10 20:22:13 +00:00
David Sherret
d2477f7806
fix: cache bust jsr deps on constraint failure (#22372)
Removes the `FileFetcher`'s internal cache because I don't believe it's
necessary (we already cache this kind of stuff in places like deno_graph
or config files in different places). Removing it fixes this bug because
this functionality was already implemented in deno_graph and lowers
memory usage of the CLI a little bit.
2024-02-10 10:02:31 -05:00
Nayeem Rahman
34c8d17140
fix(lsp): complete npm specifier versions correctly (#22332) 2024-02-10 01:27:04 +00:00
David Sherret
f232c36c48
fix: lockfile was sometimes getting corrupt when changing config deps (#22359)
Tests are in the deno_lockfile repo.

Closes #22250
2024-02-09 18:03:05 -05:00
Matt Mastracci
dcbbcd23f5
refactor: split integration tests from CLI (part 1) (#22308)
This PR separates integration tests from CLI tests into a new project
named `cli_tests`. This is a prerequisite for an integration test runner
that can work with either the CLI binary in the current project, or one
that is built ahead of time.

## Background

Rust does not have the concept of artifact dependencies yet
(https://github.com/rust-lang/cargo/issues/9096). Because of this, the
only way we can ensure a binary is built before running associated tests
is by hanging tests off the crate with the binary itself.

Unfortunately this means that to run those tests, you _must_ build the
binary and in the case of the deno executable that might be a 10 minute
wait in release mode.

## Implementation

To allow for tests to run with and without the requirement that the
binary is up-to-date, we split the integration tests into a project of
their own. As these tests would not require the binary to build itself
before being run as-is, we add a stub integration `[[test]]` target in
the `cli` project that invokes these tests using `cargo test`.

The stub test runner we add has `harness = false` so that we can get
access to a `main` function. This `main` function's sole job is to
`execvp` the command `cargo test -p deno_cli`, effectively "calling"
another cargo target.

This ensures that the deno executable is always correctly rebuilt before
running the stub test runner from `cli`, and gets us closer to be able
to run the entire integration test suite on arbitrary deno executables
(and therefore split the build into multiple phases).

The new `cli_tests` project lives within `cli` to avoid a large PR. In
later PRs, the test data will be split from the `cli` project. As there
are a few thousand files, it'll be better to do this as a completely
separate PR to avoid noise.
2024-02-09 13:33:05 -07:00
Matt Mastracci
24bdc1de33
chore: fix nightly bench (#22362)
This has been broken for a while, but I think `setup-deno` is all that
it needs.
2024-02-09 03:16:13 +00:00
David Sherret
b0119134f7
fix: handle non-file scopes in synthetic import map (#22361)
Closes #22353
2024-02-09 02:13:08 +00:00
Matt Mastracci
2fc8d2a354
chore: completely disable websocketstream_test (#22360) 2024-02-09 02:09:19 +00:00
David Sherret
e5e2c45998
fix: upgrade to deno_ast 0.33 (#22341)
* Uses diagnostics from deno_ast
* Real fix for https://github.com/denoland/deno/pull/22310
* Moves `deno lint --json` code here
* Upgrades swc
   
 Closes #22117
 Closes #22109
 Closes #21927
 Closes #20993
2024-02-09 01:40:26 +00:00
Matt Mastracci
b07a156b1d
chore(cli): disable some of the restored WSS tests (#22357) 2024-02-08 18:36:07 -05:00
Matt Mastracci
a417772bd7
chore: Promote some integration tests to js_unit_tests (#22355)
- Move a workers test to js_unit_tests and make it work
- (slightly) repair the websocketstream_test and make it a JS unit test.
This test was being ignored and rotted quite a bit, but there's some
value in running as much of it as we can.
 - Merge the two websocket test files
2024-02-08 13:09:47 -07:00
Matt Mastracci
d704007e5f
chore: Repair arm64-linux (#22352) 2024-02-08 11:51:37 -07:00
Matt Mastracci
087ecf1532
chore: bump action versions (#22354)
These should be our last node v16 actions.
2024-02-08 11:03:36 -07:00
Divy Srivastava
82eba2b53a
chore: update asset count to 9 in release_doc_template (#22347) 2024-02-08 17:58:04 +00:00
Matt Mastracci
de78e4ef1e
chore: temporarily disable ARM64 (#22350)
While we figure out the build breakage.
2024-02-08 16:50:11 +00:00
denobot
ed34429a5f
chore: forward v1.40.4 release commit to main (#22345)
This is the release commit being forwarded back to main for 1.40.4

Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2024-02-08 12:39:39 +00:00
Matt Mastracci
431bf31062
chore: remove wget from amd64 linux sysroot (#22336)
We don't need to wget `libdl` because we can just copy the one from
within the sysroot, saving two network accesses.

This allows amd64 to use the same build strategy as arm64.
2024-02-07 19:54:21 -07:00
Matt Mastracci
162653932d
chore: Update PR template (#22340)
Signed-off-by: Matt Mastracci <matthew@mastracci.com>
2024-02-07 19:54:08 -07:00
Matt Mastracci
31dcf2f9c1
chore: Update PR template (#22339)
Signed-off-by: Matt Mastracci <matthew@mastracci.com>
2024-02-08 01:33:15 +00:00
Jason Ford
9714cc3136
docs(cli): add unit info for idleTimeout (#22335)
Signed-off-by: Jason Ford <fordjason@gmail.com>
2024-02-07 18:09:08 -07:00
Asher Gomez
046ed6e86a
fix(lint): point to migration docs in deprecated APIs rule (#22338) 2024-02-08 00:37:45 +00:00
Bartek Iwańczuk
5fd5a613a1
chore: upgrade deno_core to 0.260.0 (#22334) 2024-02-07 23:26:02 +00:00
Matt Mastracci
64ebd441e9
chore: use @test_util for node_compat tests (#22331) 2024-02-07 23:21:32 +00:00
Matt Mastracci
13616d62e9
feat: use sysroot for ARM64 (#22329)
Follow-up from #22298: Use a sysroot to build ARM64 so we work all the
way back to Xenial.

We generate a sysroot ahead-of-time in the
https://github.com/denoland/deno_sysroot_build project and use that to
bootstrap a sysroot here.
2024-02-07 23:17:21 +00:00
Asher Gomez
8a8dffbafc
docs: point to "Deno 1.x to 2.x Migration Guide" for net APIs (#22275)
These were missed in #22199.
2024-02-07 23:42:33 +01:00
Asher Gomez
96c07e90ca
docs: correct JSDoc @category for Deno.fsync[Sync]() and Deno.fdatasync[Sync]() (#22177)
As other APIs with the "f" prefix denote being part of the "File System"
`@category`.
2024-02-07 23:42:17 +01:00
Matt Mastracci
ffbb1bad03
chore(cli): Use @test_util for relative path for unit tests (#22327)
This removes the majority of `../../../../../../test_util` relative
imports from the codebase, allowing us to move this code more easily in
the future.
2024-02-07 09:51:28 -07:00
David Sherret
83d72e5c1c
refactor: extract out runtime::colors to deno_terminal::colors (#22324) 2024-02-07 11:25:14 -05:00
Divy Srivastava
a32e7f0eb2
fix(node): handle brotli compression end chunk sizes (#22322)
Fixes https://github.com/denoland/deno/issues/22259
2024-02-07 21:53:32 +05:30
Matt Mastracci
e5ae142fbe
feat: ARM64 builds (#22298)
This implements officially blessed and tested deno binaries for ARM64. 

Thanks to @LukeChannings for his tireless work in maintaining the
deno-arm64 [1] repo, without which this project would have been far more
complicated. For those of you requiring support for older GLIBC
versions, that repo may still be required for the near future.

Limitations: 

- This initial build is built on Ubuntu 22 using the stock GLIBC, which
will limit the utility of these binaries in certain use-cases (eg: early
versions of Ubuntu). We will attempt to support earlier versions of
ARM64 GLIBC in a later revision.
- Like the stock Linux x64 build, this is not a static build and
requires GLIBC. Running on Alpine will require installation of GLIBC.
 
Fixes #1846, #4862 

[1] https://github.com/LukeChannings/deno-arm64
2024-02-07 09:06:33 -07:00
Bartek Iwańczuk
93e8ece147
chore: update WPT (#22312)
Fixes https://github.com/denoland/deno/issues/22257
2024-02-07 15:46:44 +01:00
restlessronin
b16e6220a2
fix: enable "--allow-sys=cpus" for "deno run" (#22260)
Fixes #22221 with the suggested fix, and added "cpus" to the existing
tests.
2024-02-07 06:38:40 +00:00
Bartek Iwańczuk
6c15dc3f06
chore: remove op_spawn_child test (#22314)
This test is not needed because the op is not available to user code
anymore.

This brings number of ops exposed to user code down to 15.
2024-02-07 04:44:51 +01:00
Bartek Iwańczuk
edab1bb927
chore: don't expose FFI ops to user code (#22313)
This commit removes some not really necessary FFI tests and in effect
removes them from being accessible from the user code.

This lowers the number of ops accessible to user code to 16.
2024-02-07 04:15:11 +01:00
David Sherret
227ec14e6c
chore: use same test server for jsr tests (#22303)
We had two test servers.
2024-02-07 02:06:34 +00:00
Bartek Iwańczuk
043fee48fd
chore: upgrade deno_core to 0.259.0 (#22311)
This update brings number of ops available to user code down to 45.
2024-02-07 02:16:08 +01:00
David Sherret
e54684864d
fix(publish): handle diagnostic outside graph (#22310)
Hacky quick fix. The real fix is a lot more work to do (move the
`SourceTextInfo` into all the diagnostics in order to make this less
error pone). I've already started on it, but it will require a lot of
downstream create changes.

Closes #22288
2024-02-06 19:21:26 -05:00
Leo Kettmeir
1007358768
refactor: move ImageData to web extension (#22295)
Signed-off-by: Leo Kettmeir <crowlkats@toaxl.com>
2024-02-07 01:11:15 +01:00
Bartek Iwańczuk
89ae2d88b8
chore: remove unneeded benchmark (#22300)
Brings down the number of ops available to user code to 49.
2024-02-07 01:00:18 +01:00
John Spurlock
82401e9fe0
fix(publish): 'explit' typo (#22296) 2024-02-06 18:49:24 -05:00
Matt Mastracci
33d12c1d57
fix(ext/node): Ensure os.cpus() works on arm64 linux (#22302)
`/proc/cpuinfo` on ARM doesn't have the model name per CPU, so we leave
those as "unknown".
2024-02-06 16:27:42 -07:00
Asher Gomez
9955cbdb56
chore: upgrade CI workflows to use Node 20 (#22304)
No longer uses Node 16, which is deprecated.
2024-02-06 21:47:44 +00:00
Leo Kettmeir
c8b2af8ed1
refactor: use web utils and lazy load utils from core (#22289) 2024-02-06 22:28:32 +01:00
David Sherret
c6def993e0
fix(publish): lazily parse sources (#22301)
Closes #22290
2024-02-06 15:57:10 -05:00
Matt Mastracci
a6b2a4474e
fix(cli): Add IP address support to DENO_AUTH_TOKEN (#22297)
Auth tokens may be specified for one of the following:

 - `abc123@deno.land`: `deno.land`, `www.deno.land`, etc
 - `abc123@deno.land:8080`: `deno.land:8080`, `www.deno.land:8080`, etc
 - `abc123@1.1.1.1`: IP `1.1.1.1` only
 - `abc123@1.1.1.1:8080`: IP `1.1.1.1`, port 8080 only
 - `abc123@[ipv6]`: IPv6 `[ipv6]` only
 - `abc123@[ipv6]:8080`: IPv6 `[ipv6]`, port 8080 only

Leading dots are ignored, so `.deno.dev` is equivalent to `deno.dev`.
2024-02-06 19:45:40 +01:00