summaryrefslogtreecommitdiff
path: root/cli
AgeCommit message (Collapse)Author
2024-02-09refactor: split integration tests from CLI (part 1) (#22308)Matt Mastracci
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-09fix: handle non-file scopes in synthetic import map (#22361)David Sherret
Closes #22353
2024-02-09chore: completely disable websocketstream_test (#22360)Matt Mastracci
2024-02-09fix: upgrade to deno_ast 0.33 (#22341)David Sherret
* 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-08chore(cli): disable some of the restored WSS tests (#22357)Matt Mastracci
2024-02-08chore: Promote some integration tests to js_unit_tests (#22355)Matt Mastracci
- 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-08chore: forward v1.40.4 release commit to main (#22345)denobot
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-07docs(cli): add unit info for idleTimeout (#22335)Jason Ford
Signed-off-by: Jason Ford <fordjason@gmail.com>
2024-02-08fix(lint): point to migration docs in deprecated APIs rule (#22338)Asher Gomez
2024-02-07chore: use @test_util for node_compat tests (#22331)Matt Mastracci
2024-02-07docs: correct JSDoc `@category` for `Deno.fsync[Sync]()` and ↵Asher Gomez
`Deno.fdatasync[Sync]()` (#22177) As other APIs with the "f" prefix denote being part of the "File System" `@category`.
2024-02-07chore(cli): Use @test_util for relative path for unit tests (#22327)Matt Mastracci
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-07refactor: extract out `runtime::colors` to `deno_terminal::colors` (#22324)David Sherret
2024-02-07fix(node): handle brotli compression end chunk sizes (#22322)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/22259
2024-02-07fix: enable "--allow-sys=cpus" for "deno run" (#22260)restlessronin
Fixes #22221 with the suggested fix, and added "cpus" to the existing tests.
2024-02-07chore: remove op_spawn_child test (#22314)Bartek Iwańczuk
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-07chore: don't expose FFI ops to user code (#22313)Bartek Iwańczuk
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-07chore: use same test server for jsr tests (#22303)David Sherret
We had two test servers.
2024-02-07chore: upgrade deno_core to 0.259.0 (#22311)Bartek Iwańczuk
This update brings number of ops available to user code down to 45.
2024-02-06fix(publish): handle diagnostic outside graph (#22310)David Sherret
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-07chore: remove unneeded benchmark (#22300)Bartek Iwańczuk
Brings down the number of ops available to user code to 49.
2024-02-06fix(publish): 'explit' typo (#22296)John Spurlock
2024-02-06fix(publish): lazily parse sources (#22301)David Sherret
Closes #22290
2024-02-06fix(cli): Add IP address support to DENO_AUTH_TOKEN (#22297)Matt Mastracci
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-06fix(lsp): disable no-cache diagnostics for jsr specifiers (#22284)Nayeem Rahman
2024-02-06fix: Support Symbol.metadata (#22282)Bartek Iwańczuk
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-06chore(ws): remove unused op_ws_send_pong (#22283)Divy Srivastava
2024-02-06fix(node): add `cp` to fs/promises (#22263)Divy Srivastava
2024-02-06refactor: don't expose some ops (#22281)Bartek Iwańczuk
This commit brings down the number of ops exposed to user code to 51.
2024-02-06bench: fix benchmark (#22279)Bartek Iwańczuk
Missed in https://github.com/denoland/deno/pull/22277
2024-02-06chore: remove benchmarks for ops (#22277)Bartek Iwańczuk
These are not useful, as we bench them in `deno_core` already.
2024-02-06refactor: don't expose ops to user code (#22273)Bartek Iwańczuk
Brings the number of ops exposed to user code down to 58.
2024-02-05refactor(cli): Move op descriptions into Rust and prepare for op import (#22271)Matt Mastracci
This moves the op sanitizer descriptions into Rust code and prepares for eventual op import from `ext:core/ops`. We cannot import these ops from `ext:core/ops` as the testing infrastructure ops are not always present. Changes: - Op descriptions live in `cli` code and are currently accessible via an op for the older sanitizer code - `phf` dep moved to workspace root so we can use it here - `ops.op_XXX` changed to to `op_XXX` to prepare for op imports later on.
2024-02-05Reland refactor(cli): use new sanitizer for resources (#22226)Matt Mastracci
Originally in #22125 Reverted in #22153 because of #22148 Fixed in deno_core https://github.com/denoland/deno_core/pull/538 Test plan: 1. Check out: https://github.com/poolifier/poolifier-deno.git 2. `PATH=.../deno/target/release/:$PATH deno task test` 3. `ok | 13 passed (188 steps) | 0 failed (18s)`
2024-02-05refactor(cli): Add TestFailureDescription (#22267)Matt Mastracci
Extract zero-risk changes from #22226
2024-02-05fix: Fix segmentation fault in tests on CPUs with PKU support (#22152)Alessandro Cosentino
This is a followup on denoland/deno_core#471. Fixes #21439.
2024-02-06fix(unstable): validate kv list selector (#22265)Heyang Zhou
Check that in a `KvListSelector`, `start` and `end` are actually within the keyspace bounds defined by `prefix`, if both are present.
2024-02-05fix(ext/node): fix timeout param validation in cp.execFile (#22262)Yoshiya Hinosawa
2024-02-05feat(unstable): `Deno.FsFile.lock[Sync]()` and `Deno.FsFile.unlock[Sync]()` ↵Asher Gomez
(#22235) Closes #22178.
2024-02-04chore: remove opcall_test.ts (#22227)Bartek Iwańczuk
This test should be in `deno_core`. Ref https://github.com/denoland/deno_core/issues/533
2024-02-04perf: remove duplicate `env::current_dir` call in package.json search (#22255)David Sherret
Micro-optimization.
2024-02-03fix(test/regression): handle CLI arg directory using `../` in path (#22244)David Sherret
Closes #22239
2024-02-02chore: fix typo in docs (#22232)Dan Rose
Signed-off-by: Dan Rose <danoftheroses@gmail.com>
2024-02-02docs: point to new "Deno 1.x to 2.x Migration Guide" (#22199)Asher Gomez
Signed-off-by: Asher Gomez <ashersaupingomez@gmail.com> Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-02-01fix(publish): use lighter crate for opening browser (#22224)Bartek Iwańczuk
Alternative to https://github.com/denoland/deno/pull/22223 which switches `webbrowser` crate to `open` (https://crates.io/crates/open) which is lighterweight.
2024-02-01chore: forward v1.40.3 release commit to main (#22220)Divy Srivastava
This is the release commit being forwarded back to main for 1.40.3 Ref https://github.com/denoland/deno/pull/22219
2024-02-01fix(fs): copyFile NUL path on macOS (#22216)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/22211
2024-02-01fix(publish): add node specifiers (#22213)Leo Kettmeir
2024-02-01fix(node): add `ppid` getter for `node:process` (#22167)Yusuke Tanaka
This commit adds `ppid` getter for `node:process` to improve Node compatibility one step further. There is one problem though, which is that `Deno.ppid`, which `process.ppid` internally calls, is actually of type `bigint` although it's supposed to be `number`. I filed an issue for this (#22166). For the time being, explciit type conversion from `bigint` to `number` is applied to match the Node.js behavior.
2024-02-01fix(install): forward granular --unstable-* flags (#22164)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/22154