1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-01-22 06:09:25 -05:00
Commit graph

10784 commits

Author SHA1 Message Date
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
Leo Kettmeir
9167433a56 refactor: use web utils and lazy load utils from core (#22289) 2024-02-08 14:56:46 +05:30
David Sherret
6d2d376c24 fix(publish): lazily parse sources (#22301)
Closes #22290
2024-02-08 14:56:46 +05:30
Matt Mastracci
de23e3b60b 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-08 14:56:46 +05:30
Nayeem Rahman
3d0b1ec7e5 fix(lsp): disable no-cache diagnostics for jsr specifiers (#22284) 2024-02-08 14:56:46 +05:30
Bartek Iwańczuk
c7bcfaba87 fix: Support Symbol.metadata (#22282)
This commit adds support for "Symbol.metadata" which was 
omitted when adding support for the Decorators Proposal.

Closes https://github.com/denoland/deno/issues/22111
2024-02-08 14:56:46 +05:30
Divy Srivastava
2399228411 chore(ws): remove unused op_ws_send_pong (#22283) 2024-02-08 14:56:46 +05:30
Divy Srivastava
01648f5525 fix(node): add cp to fs/promises (#22263) 2024-02-08 14:56:46 +05:30
Bartek Iwańczuk
3a92576760 refactor: don't expose some ops (#22281)
This commit brings down the number of ops exposed to user
code to 51.
2024-02-08 14:56:46 +05:30