summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-04-25perf(ext/http): cache abort signal error (#23548)Divy Srivastava
Fixes a perf regression introduced in https://github.com/denoland/deno/commit/eed2598e6cf1db643b4edd07b5eff94c59eb9408 ([flamegraph](https://profiler.firefox.com/public/83whz7mrfkshk5q6hd6hjmrmw8tgmw67s96m4p0/flame-graph/?globalTrackOrder=0&hiddenLocalTracksByPid=12691-0we&symbolServer=http%3A%2F%2F127.0.0.1%3A3000%2F316cvciry38ippl9i74fmcxrd5q9asfrr28xp02&thread=0&v=10)) this patch: ``` Summary: Success rate: 100.00% Total: 10.0007 secs Slowest: 0.0145 secs Fastest: 0.0001 secs Average: 0.0006 secs Requests/sec: 80341.4816 Total data: 9.19 MiB Size/request: 12 Size/sec: 941.44 KiB ``` main: ``` Summary: Success rate: 100.00% Total: 10.0007 secs Slowest: 0.0068 secs Fastest: 0.0002 secs Average: 0.0009 secs Requests/sec: 56560.0551 Total data: 6.47 MiB Size/request: 12 Size/sec: 662.75 KiB ```
2024-04-25fix: unref stdin read (#23534)Bartek Iwańczuk
Closes https://github.com/denoland/deno_core/issues/648 Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2024-04-25feat(ext/webgpu): support `UnsafeWindowSurface` on wayland (#23423)chirsz
2024-04-24feat(jsr): support importing from jsr via HTTPS specifiers (except for type ↵David Sherret
checking) (#23513) Closes https://github.com/jsr-io/jsr/issues/322
2024-04-24chore: update deno_doc (#23544)Leo Kettmeir
2024-04-24fix(lsp): inherit missing fmt and lint config from parent scopes (#23547)Nayeem Rahman
2024-04-24fix(config): move json schema unstable examples to item (#23506)David Sherret
2024-04-24chore(cli): Add workspaces property to config schema (#23546)Nathan Whitaker
2024-04-24chore(lsp): Print out stack trace if exception occurs in TS request (#23543)Nathan Whitaker
Before this PR, there would just be an uninformative "Error occurred" message, after this PR you'll get a stack trace in the LSP output window like this: ```text Error during TS request "$getSupportedCodeFixes": Error: i threw an exception at serverRequest (ext:deno_tsc/99_main_compiler.js:1089:11) ```
2024-04-24feat: Add `deno serve` subcommand (#23511)Matt Mastracci
By default, `deno serve` will assign port 8000 (like `Deno.serve`). Users may choose a different port using `--port`. `deno serve /tmp/file.ts` `server.ts`: ```ts export default { fetch(req) { return new Response("hello world!\n"); }, }; ```
2024-04-24chore(lsp): revert respect shouldCreateNewSourceFile (#23535)David Sherret
Reverts https://github.com/denoland/deno/pull/23515 but adds a comment for why this is ignored
2024-04-24fix(publish): --dry-publish should error for gitignored excluded files (#23540)David Sherret
Files that were gitignored only were not included in the diagnostic.
2024-04-24fix(ext/net): check for TLS using undefined rather than using ReflectHas ↵Matt Mastracci
(#23538) Fixes #23537
2024-04-24feat(ext/http): Implement request.signal for Deno.serve (#23425)Matt Mastracci
When the response has been successfully send, we abort the `Request.signal` property to indicate that all resources associated with this transaction may be torn down.
2024-04-24chore: use deno_unsync through deno_core (#23532)Matt Mastracci
2024-04-24fix(ext/node): worker_threads copies env object (#23536)Bartek Iwańczuk
Most common argument to `env` option for `worker_threads.Worker` will be `process.env`. In Deno `process.env` is a `Proxy` which can't be cloned using structured clone algorithm. So to be safe, I'm creating a copy of actual object before it's sent to the worker thread. Ref #23522
2024-04-23fix(lsp): Fix logic for coalescing pending changes + clear script names ↵Nathan Whitaker
cache when file is closed (#23517)
2024-04-23chore(lsp): respect shouldCreateNewSourceFile parameter (#23515)David Sherret
2024-04-23test: add private npm registry (#23510)Bartek Iwańczuk
This commit adds a "private npm registry" to the test server. This registry requires to send an appropriate Authorization header. Towards https://github.com/denoland/deno/issues/16105
2024-04-23fix: Float16Array support (#23512)Kenta Moriuchi
Ref #23490, #23277 * remove `--js-float16array` flag (This flag has already added to deno_core) * add some `Float16Array` support
2024-04-23chore: bump deno_core (#23497)Matt Mastracci
Fixes #21686 Unblocks #23490
2024-04-23fix(cli): Don't panic on invalid emit options (#23463)Nathan Whitaker
Fixes #23456.
2024-04-23perf(lsp): Call `serverRequest` via V8 instead of via `executeScript` (#23409)Nathan Whitaker
Doesn't have a noticeable perf impact from my benchmarking, but theoretically should be better.
2024-04-23fix(workspace): provide workspace members as 'imports' in import map (#23492)Bartek Iwańczuk
This commit changes the workspace support to provide all workspace members to be available as imports based on their names and versions. Closes https://github.com/denoland/deno/issues/23343
2024-04-23feat: enable Float16Array support (#23490)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/23450
2024-04-23fix: update CLI flags for WPT (#23501)Asher Gomez
Fixes #23500
2024-04-22refactor(lsp): use CliGraphResolver in documents params (#23499)Nayeem Rahman
2024-04-22fix(lsp): remove Document::open_data on close (#23483)Nayeem Rahman
2024-04-22feat: add jsx precompile skip element option (#23457)Marvin Hagemeister
<!-- Before submitting a PR, please read https://docs.deno.com/runtime/manual/references/contributing 1. Give the PR a descriptive title. Examples of good title: - fix(std/http): Fix race condition in server - docs(console): Update docstrings - feat(doc): Handle nested reexports Examples of bad title: - fix #7123 - update docs - fix bugs 2. Ensure there is a related issue and it is referenced in the PR text. 3. Ensure there are tests that cover the changes. 4. Ensure `cargo test` passes. 5. Ensure `./tools/format.js` passes without changing files. 6. Ensure `./tools/lint.js` passes. 7. Open as a draft PR if your work is still in progress. The CI won't run all steps, but you can add '[ci]' to a commit message to force it to. 8. If you would like to run the benchmarks on the CI, add the 'ci-bench' label. --> This PR wires up a new `jsxPrecompileSkipElements` option in `compilerOptions` that can be used to exempt a list of elements from being precompiled with the `precompile` JSX transform.
2024-04-22perf(lsp): Batch "$projectChanged" notification in with the next JS request ↵Nathan Whitaker
(#23451) The actual handling of `$projectChanged` is quick, but JS requests are not. The cleared caches only get repopulated on the next actual request, so just batch the change notification in with the next actual request. No significant difference in benchmarks on my machine, but this speeds up `did_change` handling and reduces our total number of JS requests (in addition to coalescing multiple JS change notifs into one).
2024-04-21FUTURE(ext/net): remove ↵Asher Gomez
`Deno.ConnectTlsOptions.(certFile|certChain|privateKey)` (#23270) Towards #23089 --------- Signed-off-by: Asher Gomez <ashersaupingomez@gmail.com>
2024-04-21fix(ext/node): define http.maxHeaderSize (#23479)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/23432
2024-04-21FUTURE(ext/net): remove `Deno.ListenTlsOptions.(keyFile|certFile)` (#23271)Asher Gomez
Towards #23089 --------- Signed-off-by: Asher Gomez <ashersaupingomez@gmail.com>
2024-04-21chore: update deno_config to 0.16.1 (#23480)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/23343
2024-04-20feat(task): support running npm binary commands in deno.json (#23478)David Sherret
npm binary commands like `vite` from a `node_modules/.bin` folder will now execute when defined in a deno.json Closes https://github.com/denoland/deno/issues/23477
2024-04-21fix: Fix some typos in comments (#23470)welfuture
Signed-off-by: welfuture <wellfuture@qq.com>
2024-04-20chore: auto-complete for __spec__.jsonc file (#23476)David Sherret
This makes writing these tests a little easier.
2024-04-20chore: add lint script to ensure no new `itest!` tests (#23475)David Sherret
2024-04-20perf(lsp): Pass code action trigger kind to TSC (#23466)Nathan Whitaker
2024-04-20fix(ext/node): implement process.kill in Rust (#23130)Divy Srivastava
Closes https://github.com/denoland/deno/issues/23056
2024-04-20fix(ext/node): `cp` into non-existent parent directory (#23469)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/20604
2024-04-20fix(ext/node): Support `env` option in worker_thread (#23462)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/23455
2024-04-19refactor(ext/http): extract 02_websocket.ts from 01_http.js (#23460)Matt Mastracci
Landing part of https://github.com/denoland/deno/pull/21903 This will allow us to more easily refactor `serveHttp` to live on top of `serve` by splitting the websocket code out. There's probably a lot more we could do here but this helps.
2024-04-20perf(lsp): only store parsed sources for open documents (#23454)Nayeem Rahman
2024-04-19feat(runtime): Allow embedders to perform additional access checks on file ↵Matt Mastracci
open (#23208) Embedders may have special requirements around file opening, so we add a new `check_open` permission check that is called as part of the file open process.
2024-04-19feat(ext/http): Add `addr` to HttpServer (#23442)Matt Mastracci
Adds an `addr` field to `HttpServer` to simplify the pattern `Deno.serve({ onListen({ port } => listenPort = port })`. This becomes: `const server = Deno.serve({}); port = server.addr.port`. Changes: - Refactors `serve` overloads to split TLS out (in preparation for landing a place for the TLS SNI information) - Adds an `addr` field to `HttpServer` that matches the `addr` field of the corresponding `Deno.Listener`s.
2024-04-19chore(deps): bump rustls from 0.21.10 to 0.21.11 (#23464)dependabot[bot]
Bumps [rustls](https://github.com/rustls/rustls) from 0.21.10 to 0.21.11. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/rustls/rustls/commit/7b8d1dbc1e666dc4d83640c64e96d257d39cfda4"><code>7b8d1db</code></a> Prepare 0.21.11</li> <li><a href="https://github.com/rustls/rustls/commit/ebcb4782f23b4edf9b10a7065d9e8d4362439d9c"><code>ebcb478</code></a> complete_io: bail out if progress is impossible</li> <li><a href="https://github.com/rustls/rustls/commit/20f35dfb6d3c353294c562723d4cb6639a8bd01b"><code>20f35df</code></a> Regression test for <code>complete_io</code> infinite loop bug</li> <li><a href="https://github.com/rustls/rustls/commit/2f2aae15a4293639669291ab2b257835a2d4bdca"><code>2f2aae1</code></a> Don't specially handle unauthenticated close_notify alerts</li> <li><a href="https://github.com/rustls/rustls/commit/e163587b985c894a6ce651992b91eb6897edde8b"><code>e163587</code></a> Don't deny warnings from nightly clippy</li> <li><a href="https://github.com/rustls/rustls/commit/9f864874cff7d977cccd4204463ea34fd161a2fe"><code>9f86487</code></a> server::handy: fix new nightly clippy lint</li> <li><a href="https://github.com/rustls/rustls/commit/7e0e8ab599a19c2a733be294aaf91eeb6fdebaaa"><code>7e0e8ab</code></a> Correct assorted clippy warnings in test code</li> <li><a href="https://github.com/rustls/rustls/commit/3587d98f4ea434495facc0688b8b07313cb02e4a"><code>3587d98</code></a> Apply clippy suggestions from Rust 1.72</li> <li><a href="https://github.com/rustls/rustls/commit/d082e837b34c0605b1851e45c421c91c1d15391c"><code>d082e83</code></a> Address <code>clippy::redundant_static_lifetimes</code></li> <li><a href="https://github.com/rustls/rustls/commit/5e7a06ca457a6fe67dfbb57193f55138be7ef611"><code>5e7a06c</code></a> Address <code>clippy::slow_vector_initialization</code></li> <li>Additional commits viewable in <a href="https://github.com/rustls/rustls/compare/v/0.21.10...v/0.21.11">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rustls&package-manager=cargo&previous-version=0.21.10&new-version=0.21.11)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/denoland/deno/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-19perf(lsp): Avoid passing struct into op_resolve (#23452)Nathan Whitaker
Going through serde_v8 is slow, so just pass the args separately. `op_resolve` is especially hot, so any speedups are good.
2024-04-19feat: upgrade V8 to 12.4 (#23435)Bartek Iwańczuk
2024-04-19FUTURE: remove `Deno.customInspect` (#23453)Asher Gomez