summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-04-19refactor: move redirect handling into deno_graph (#23444)David Sherret
2024-04-19perf(lsp): cleanup document dependencies (#23426)Nayeem Rahman
2024-04-18fix(fmt): error for more unterminated nodes (#23449)David Sherret
https://github.com/dprint/dprint-plugin-typescript/pull/628 Closes https://github.com/denoland/deno/issues/23438
2024-04-18fix(ext/node): remove unwraps from fallible conversions (#23447)Bartek Iwańczuk
Removes `.unwrap()` calls from fallible conversion and replaces with graceful error returns.
2024-04-19test: fix node_compat_test (#23446)Bartek Iwańczuk
It's not clear to me how these tests worked correctly on CI, but they were failing hard locally because of two problems: - missing env var that tests URL for fake npm registry - trying to run a directory that contains native Node.js tests that require a special harness
2024-04-18test: deflake tests for rejection handled (#23448)Bartek Iwańczuk
Fixes flakiness for rejection handled tests on Windows (7 failures in the past day).
2024-04-18fix(cli): avoid `deno add` and `deno vendor` errors when deno.json is empty ↵nokazn
(#23439)
2024-04-18chore: make remaining submodules shallow (#23441)David Sherret
2024-04-18chore: remove unused, unstable 'http' namespace (#23436)Matt Mastracci
Landing parts of #21903 in preparation for the removal of serveHttp.
2024-04-18feat(ext/net): extract TLS key and certificate from interfaces (#23327)Bartek Iwańczuk
Relands #23325
2024-04-18fix(ext/node): Correctly send ALPN on node TLS connections (#23434)Matt Mastracci
Landing work from #21903, plus fixing a node compat bug. We were always sending the HTTP/2 ALPN on TLS connections which might confuse upstream servers. Changes: - Configure HTTP/2 ALPN when making the TLS connection from the HTTP/2 code - Read the `ALPNProtocols` property from the TLS connection options rather than the deno `alpnProtocols` field - Add tests Prereq for landing Deno.serveHttp on Deno.serve: removing older HTTP servers from the codebase.
2024-04-17test(publish): check specifiers outside fast check module graph (#23369)Asher Gomez
Closes #23023
2024-04-17perf(lsp): release unused documents (#23398)Nayeem Rahman
2024-04-17chore(lsp): Include new benchmark in the collected benchmark data (#23420)Nathan Whitaker
So it will actually show up on the [deno benchmarks site](http://deno.com/benchmarks)
2024-04-17fix(publish): support import equals (#23421)Luca Casonato
2024-04-17perf: v8 code cache (#23081)Igor Zinkovsky
This PR enables V8 code cache for ES modules and for `require` scripts through `op_eval_context`. Code cache artifacts are transparently stored and fetched using sqlite db and are passed to V8. `--no-code-cache` can be used to disable. --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-04-17fix: allow WPT to successfully exit using `--exit-zero` (#23418)Asher Gomez
I went with `--exit-zero`. Happy to change to `--no-exit` if feelings are strong. Supercedes #23417
2024-04-17chore: update WPT (#23389)Asher Gomez
It's best that this only gets merged with the latest version of the suite, so there's little difference between the `ci` and `wpt_epoch` workflows. This should make troubleshooting easier.
2024-04-16fix(cli): Identify and fix a test deadlock (#23411)Matt Mastracci
If a worker tried to flush large amounts of data right as the test was ending, it could cause the flush sync marker to get lost.
2024-04-16fix(ci): Fix bench job (#23410)Nathan Whitaker
Forgot to add the step to clone the new submodule added in #23395 😅.
2024-04-16feat(check): allow using side effect imports with unknown module kinds (ex. ↵David Sherret
css modules) (#23392) This allows people to use imports like: ```ts import "./app.css"; ``` ...with `deno check` in systems where there's a bundle step (ex. Vite). This will still error when using it with `deno run` or if the referenced file does not exist. See test cases for behaviour.
2024-04-16chore(lsp): Add benchmark for performance on a large real-world repo (#23395)Nathan Whitaker
This PR adds a benchmark intended to measure how the LSP handles larger repos, as well as its performance on a more realistic workload. The repo being benchmarked is [deco-cx/apps](https://github.com/deco-cx/apps) which has been vendored along with its dependencies. It's included as a git submodule as its fairly large. The LSP requests used in the benchmark are the actual requests sent by VSCode as I opened, modified, and navigated around a file (to simulate an actual user interaction). The main motivation is to have a more realistic benchmark that measures how we do with a large number of files and dependencies. The improvements made from 1.42 to 1.42.3 mostly improved performance with larger repos, so none of our existing benchmarks showed an improvement. Here are the results for the changes made from 1.42 to 1.42.3 (the new benchmark is the last one listed): **1.42.0** ```test Starting Deno benchmark -> Start benchmarking lsp - Simple Startup/Shutdown (10 runs, mean: 379ms) - Big Document/Several Edits (5 runs, mean: 1142ms) - Find/Replace (10 runs, mean: 51ms) - Code Lens (10 runs, mean: 443ms) - deco-cx/apps Multiple Edits + Navigation (5 runs, mean: 25121ms) <- End benchmarking lsp ``` **1.42.3** ```text Starting Deno benchmark -> Start benchmarking lsp - Simple Startup/Shutdown (10 runs, mean: 383ms) - Big Document/Several Edits (5 runs, mean: 1135ms) - Find/Replace (10 runs, mean: 55ms) - Code Lens (10 runs, mean: 440ms) - deco-cx/apps Multiple Edits + Navigation (5 runs, mean: 11675ms) <- End benchmarking lsp ```
2024-04-16fix(cli): TestEventSender should be !Clone (#23405)Matt Mastracci
`TestEventSender` should not be Clone so we don't end up with multiple copies of the same writer FD. This is probably not the cause of the test channel lockups, but it's a lot easier to reason about.
2024-04-16fix(ext/node): worker_threads.receiveMessageOnPort doesn't panic (#23406)Bartek Iwańczuk
Follow up to https://github.com/denoland/deno/pull/23386. Instead of using async `recv()` method, it was replaced with a poll based function that doesn't hold onto RefCell borrow across await point. Fixes https://github.com/denoland/deno/issues/23362
2024-04-17fix: add `DENO_FUTURE` to `deno --help` (#23368)Asher Gomez
2024-04-16feat(ext/url): add `URL.parse` (#23318)Kenta Moriuchi
Closes #23069
2024-04-16fix(ext/node): dispatch beforeExit/exit events irrespective of listeners ↵Satya Rohith
(#23382) Closes https://github.com/denoland/deno/issues/23342 Closes https://github.com/denoland/deno/issues/21757
2024-04-16chore: forward v1.42.4 commit to `main` (#23394)Bartek Iwańczuk
Co-authored-by: denobot <33910674+denobot@users.noreply.github.com> Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
2024-04-15test: add test for running in V8 jitless mode (#23054)Bartek Iwańczuk
Fixes https://github.com/denoland/deno/issues/22453 This is fixed due to upgrade of deno_core, just adding a test here.
2024-04-16fix(lsp): slice strings by byte index in code actions (#23387)Nayeem Rahman
Fixes #23361.
2024-04-16fix(ext/node): panic on 'worker_threads.receiveMessageOnPort' (#23386)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/23362 Previously we were panicking if there was a pending read on a port and `receiveMessageOnPort` was called. This is now fixed by cancelling the pending read, trying to read a message and resuming reading in a loop.
2024-04-15fix(check): cache bust when changing nodeModulesDir setting (#23355)David Sherret
2024-04-15chore: upgrade deno_core to 0.275.0 (#23383)Bartek Iwańczuk
2024-04-15fix(lsp): improved cjs tracking (#23374)David Sherret
Our cjs tracking was a bit broken. It was marking stuff as esm that was actually cjs leading to type checking errors.
2024-04-15fix(ext/io): Fix NUL termination error in windows named pipes (#23379)Matt Mastracci
Due to a terminating NUL that was placed in a `r#` string, we were not actually NUL-terminating pipe names on Windows. While this has no security implications due to the random nature of the prefix, it would occasionally cause random failures when the trailing garbage would make the pipe name invalid.
2024-04-15refactor: move lifecycle events dispatch to Rust (#23358)Bartek Iwańczuk
This commit moves logic of dispatching lifecycle events ( "load", "beforeunload", "unload") to be triggered from Rust. Before that we were executing scripts from Rust, but now we are storing references to functions from "99_main.js" and calling them directly. Prerequisite for https://github.com/denoland/deno/issues/23342
2024-04-15fix(ext/node): add stub for AsyncResource#asyncId() (#23372)Divy Srivastava
Ref https://github.com/denoland/deno/issues/23263
2024-04-15fix(lsp): ensure project version is incremented when config changes (#23366)David Sherret
I'm running into a node resolution bug in the lsp only and while tracking it down I noticed this one. Fixed by moving the project version out of `Documents`.
2024-04-14refactor(lsp): use fallback resolution in op_resolve() (#23329)Nayeem Rahman
2024-04-14perf: do not clone swc `Program` when transpiling (#23365)David Sherret
2024-04-13fix(publish): do not error for param with initializer before required ↵David Sherret
parameter (#23356) * https://github.com/denoland/deno_graph/pull/440 Closes https://github.com/denoland/deno/issues/23331
2024-04-13fix(ext/node): use ext/io stdio in WriteStream (#23354)Divy Srivastava
This is the same issue as https://github.com/denoland/deno/pull/23044 but in `WriteStream`. Adding a docusarus test in npm_smoke_tests repo.
2024-04-13fix(ext/node): promise rejection in VM contexts (#23305)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/23297 `docusaurus build` works! ``` $ deno run -A repro.js fish: Job 1, 'deno run -A ../../littledivy/fs…' terminated by signal SIGSEGV (Address boundary error) $ denod run -A repro.js error: Uncaught (in promise) Error: rejected ``` Depends on https://github.com/denoland/deno_core/pull/693
2024-04-12fix(publish): handle definite assignment on ts private properties (#23345)David Sherret
2024-04-12perf(lsp): Only deserialize response from `op_respond` once (#23349)Nathan Whitaker
Previously we were deserializing it twice - once to `serde_json::Value`, and then again from the `serde_json::Value` to a concrete type
2024-04-12chore(test): use file_test_runner for spec tests (#23348)David Sherret
Extracted out this code to https://github.com/denoland/file_test_runner and added parallelism. This makes these tests run 6 seconds faster on my machine and allows re-using this code in other crates like deno_graph, deno_doc, etc (ex. https://github.com/denoland/deno_graph/pull/437).
2024-04-12chore: upgrade deno_core to 0.274.0 (#23344)Divy Srivastava
Signed-off-by: Divy Srivastava <dj.srivastava23@gmail.com>
2024-04-12chore: fix nightly builds (#23328)Matt Mastracci
- Bump `curve25519-dalek` to fix unstable features - Bump to llvm-17 to match latest minimum - cargo update to fix all the things that break w/llvm-17
2024-04-12chore: remove repetitive words (#23341)youngwendy
Signed-off-by: youngwendy <clonefetch@outlook.com>
2024-04-12chore: update deno_graph (#23340)Luca Casonato