0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-02-02 04:38:21 -05:00
Commit graph

10792 commits

Author SHA1 Message Date
Lino Le Van
0b2ce108a2 chore: bump deno_graph to 0.65.3 (#22397) 2024-02-15 10:32:21 +05:30
Matt Mastracci
30628e87a4 chore: continue tests/ re-org (#22396)
Split `node_compat_tests` into its own top-level test so its stdout
doesn't stomp on the remainder of the tests.
2024-02-15 10:32:21 +05:30
Nayeem Rahman
e39d610545 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-15 10:32:21 +05:30
Matt Mastracci
de664f9a9d 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-15 10:32:21 +05:30
Leo Kettmeir
fe18597e34 fix(console): support NO_COLOR and colors option in all scenarios (#21910)
Noticed in #21607
2024-02-15 10:32:21 +05:30
林炳权
1a26898377 chore: update to Rust 1.76 (#22376)
Update to Rust 1.76
2024-02-15 10:32:21 +05:30
Matt Mastracci
a23c3ccc70 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-15 10:32:21 +05:30
Matt Mastracci
6016881eaa 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-15 10:32:21 +05:30
David Sherret
3d5f42d158 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-15 10:32:20 +05:30
Nayeem Rahman
506092f93c fix(lsp): complete npm specifier versions correctly (#22332) 2024-02-15 10:32:20 +05:30
David Sherret
37f7407f0e fix: lockfile was sometimes getting corrupt when changing config deps (#22359)
Tests are in the deno_lockfile repo.

Closes #22250
2024-02-15 10:32:20 +05:30
Matt Mastracci
83074caed0 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-15 10:32:20 +05:30
Matt Mastracci
bb8114f49b chore: fix nightly bench (#22362)
This has been broken for a while, but I think `setup-deno` is all that
it needs.
2024-02-15 10:32:20 +05:30
David Sherret
7ef1720474 fix: handle non-file scopes in synthetic import map (#22361)
Closes #22353
2024-02-15 10:32:20 +05:30
Matt Mastracci
8cc5adce1e chore: completely disable websocketstream_test (#22360) 2024-02-15 10:32:20 +05:30
David Sherret
019fae0154 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-15 10:32:20 +05:30
Matt Mastracci
7882d9b666 chore(cli): disable some of the restored WSS tests (#22357) 2024-02-15 10:32:20 +05:30
Matt Mastracci
95fab8a46f 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-15 10:32:20 +05:30
Matt Mastracci
64b5c5f228 chore: Repair arm64-linux (#22352) 2024-02-15 10:32:20 +05:30
Matt Mastracci
75f2a9a7dc chore: bump action versions (#22354)
These should be our last node v16 actions.
2024-02-15 10:32:20 +05:30
Divy Srivastava
6df8063ed7 chore: update asset count to 9 in release_doc_template (#22347) 2024-02-15 10:32:20 +05:30
Matt Mastracci
ebecc26f0d chore: temporarily disable ARM64 (#22350)
While we figure out the build breakage.
2024-02-15 10:32:20 +05:30
Divy Srivastava
49214d309f
fix: ci workflow permissions (#22346) 2024-02-08 16:35:01 +05:30
denobot
32fa58564e
1.40.4 (#22344)
Bumped versions for 1.40.4

Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2024-02-08 15:48:32 +05:30
Matt Mastracci
15d3e59a8f 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-08 14:56:46 +05:30
Matt Mastracci
cb0ea28322 chore: Update PR template (#22340)
Signed-off-by: Matt Mastracci <matthew@mastracci.com>
2024-02-08 14:56:46 +05:30
Matt Mastracci
e48bfcabdb chore: Update PR template (#22339)
Signed-off-by: Matt Mastracci <matthew@mastracci.com>
2024-02-08 14:56:46 +05:30
Jason Ford
5fd8d59555 docs(cli): add unit info for idleTimeout (#22335)
Signed-off-by: Jason Ford <fordjason@gmail.com>
2024-02-08 14:56:46 +05:30
Asher Gomez
64e8b229f6 fix(lint): point to migration docs in deprecated APIs rule (#22338) 2024-02-08 14:56:46 +05:30
Bartek Iwańczuk
73dc94a149 chore: upgrade deno_core to 0.260.0 (#22334) 2024-02-08 14:56:46 +05:30
Matt Mastracci
6a0f89c32d chore: use @test_util for node_compat tests (#22331) 2024-02-08 14:56:46 +05:30
Matt Mastracci
f6e70712e4 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-08 14:56:46 +05:30
Asher Gomez
4fb0a17089 docs: point to "Deno 1.x to 2.x Migration Guide" for net APIs (#22275)
These were missed in #22199.
2024-02-08 14:56:46 +05:30
Asher Gomez
f417b64ddf 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-08 14:56:46 +05:30
Matt Mastracci
f50ac004c2 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-08 14:56:46 +05:30
David Sherret
be74d051f0 refactor: extract out runtime::colors to deno_terminal::colors (#22324) 2024-02-08 14:56:46 +05:30
Divy Srivastava
e0ecfbf4fc fix(node): handle brotli compression end chunk sizes (#22322)
Fixes https://github.com/denoland/deno/issues/22259
2024-02-08 14:56:46 +05:30
Matt Mastracci
230db54f74 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-08 14:56:46 +05:30
Bartek Iwańczuk
70d0495a9e chore: update WPT (#22312)
Fixes https://github.com/denoland/deno/issues/22257
2024-02-08 14:56:46 +05:30
restlessronin
a67d01dd84 fix: enable "--allow-sys=cpus" for "deno run" (#22260)
Fixes #22221 with the suggested fix, and added "cpus" to the existing
tests.
2024-02-08 14:56:46 +05:30
Bartek Iwańczuk
0e10efb834 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-08 14:56:46 +05:30
Bartek Iwańczuk
a2e5ff7348 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-08 14:56:46 +05:30
David Sherret
7aa47f565e chore: use same test server for jsr tests (#22303)
We had two test servers.
2024-02-08 14:56:46 +05:30
Bartek Iwańczuk
cbc1ae8f58 chore: upgrade deno_core to 0.259.0 (#22311)
This update brings number of ops available to user code down to 45.
2024-02-08 14:56:46 +05:30
David Sherret
2ad7e70d88 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-08 14:56:46 +05:30
Leo Kettmeir
bcf3a96901 refactor: move ImageData to web extension (#22295)
Signed-off-by: Leo Kettmeir <crowlkats@toaxl.com>
2024-02-08 14:56:46 +05:30
Bartek Iwańczuk
a744d5b9c8 chore: remove unneeded benchmark (#22300)
Brings down the number of ops available to user code to 49.
2024-02-08 14:56:46 +05:30
John Spurlock
fa3d530d18 fix(publish): 'explit' typo (#22296) 2024-02-08 14:56:46 +05:30
Matt Mastracci
ca8d7e9623 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-08 14:56:46 +05:30
Asher Gomez
ea7d36ba41 chore: upgrade CI workflows to use Node 20 (#22304)
No longer uses Node 16, which is deprecated.
2024-02-08 14:56:46 +05:30