deno/cli
Felipe Cardozo 355d8994b2
Some checks failed
ci / pre-build (push) Has been cancelled
ci / test debug linux-aarch64 (push) Has been cancelled
ci / test release linux-aarch64 (push) Has been cancelled
ci / test debug macos-aarch64 (push) Has been cancelled
ci / test release macos-aarch64 (push) Has been cancelled
ci / bench release linux-x86_64 (push) Has been cancelled
ci / test debug linux-x86_64 (push) Has been cancelled
ci / test release linux-x86_64 (push) Has been cancelled
ci / test debug macos-x86_64 (push) Has been cancelled
ci / test release macos-x86_64 (push) Has been cancelled
ci / test debug windows-x86_64 (push) Has been cancelled
ci / test release windows-x86_64 (push) Has been cancelled
ci / lint debug linux-x86_64 (push) Has been cancelled
ci / lint debug macos-x86_64 (push) Has been cancelled
ci / lint debug windows-x86_64 (push) Has been cancelled
ci / build libs (push) Has been cancelled
ci / publish canary (push) Has been cancelled
fix: fetch fd leak (#31375)
Solution for: https://github.com/denoland/deno/issues/31080

Modern reqwest (0.12+) can safely share clients across tokio runtimes.
Because it uses the current runtime's executor instead of spawning
background threads.
Using a single shared client prevents resource leaks when worker threads
terminate.

## Context
It seems that we started to use one client per thread because hyper and
reqwest was not safe to share across tokio runtimes
(https://github.com/denoland/deno/pull/23699). But seems it's fixed at
latest reqwest versions
(https://github.com/seanmonstar/reqwest/issues/1148#issuecomment-3120048532).

This PR is using one client again, as we now already use the version of
reqwest with this fix.
2025-11-21 23:27:04 -03:00
..
args feat(BREAKING/install): require -- for script arg in deno install -g and support installing multiple packages (#31292) 2025-11-20 11:37:35 -05:00
bench chore(cli): new error message for missing dependency (#30901) 2025-10-02 19:15:55 +01:00
cache chore: Rust 1.89.0 (#30364) 2025-08-09 11:11:48 +00:00
js fix(unstable): don't panic on invalid reported lint range (#31261) 2025-11-12 15:11:40 +01:00
lib fix(bundle): Deno.bundle work in Worker (#31316) 2025-11-17 18:41:16 -08:00
lsp fix(lsp): organizeImports without resolving specifiers (#31230) 2025-11-17 06:57:54 +00:00
ops feat(test): Add setup and teardown APIs to Deno.test API (#30504) 2025-09-02 16:27:04 +02:00
rt refactor: remove permission traits + generics from extension crates (#31284) 2025-11-17 10:30:36 -08:00
schemas feat: add --ignore-env=... (#31187) 2025-11-19 15:49:06 +00:00
snapshot 2.5.6 (#31136) 2025-10-29 23:50:18 +00:00
standalone fix(compile): support --preload flag in deno compile (#31152) 2025-11-03 11:41:27 +01:00
tools feat(unstable): support authenticated socket.dev audit reports (#31370) 2025-11-21 21:18:07 +05:30
tsc feat(ext/web): stabilize BroadcastChannel (#30770) 2025-11-18 12:47:23 +01:00
util feat(cli): print working dir in grey in stack traces, relative paths in check + compile output (#31194) 2025-11-06 20:38:25 +00:00
build.rs fix(dts): add Uint8Array base64/hex methods (#30686) 2025-09-23 13:55:29 -04:00
Cargo.toml fix(cli): put tasks first in zsh dynamic completions (#31350) 2025-11-20 09:42:31 +01:00
cdp.rs chore: upgrade to Rust 1.90 (#30793) 2025-09-29 15:16:55 -04:00
clippy.toml chore: fix lint warnings (#30399) 2025-08-13 20:25:57 -04:00
deno.ico
entitlements.plist chore: start codesigning mac release builds (#21303) 2023-11-23 15:30:26 -07:00
factory.rs feat(cli): print working dir in grey in stack traces, relative paths in check + compile output (#31194) 2025-11-06 20:38:25 +00:00
file_fetcher.rs feat(install): more informative deno install output (#30387) 2025-08-21 12:35:02 +02:00
graph_container.rs fix(cache): cache excluded modules explicitly provided on the command line (#30442) 2025-08-18 17:54:44 -04:00
graph_util.rs fix(check): ensure @types/node is cached when already in resolution (#31235) 2025-11-10 08:10:11 -05:00
http_util.rs fix: fetch fd leak (#31375) 2025-11-21 23:27:04 -03:00
integration_tests_runner.rs refactor: move denort to separate crate (#27688) 2025-01-17 20:39:29 +00:00
jsr.rs feat(unstable): ability to specify minimum dependency age in deno.json file (#31007) 2025-10-20 14:50:17 +00:00
main.rs fix(tunnel): misc fixes (#30968) 2025-11-14 14:10:00 +09:00
module_loader.rs refactor: remove permission traits + generics from extension crates (#31284) 2025-11-17 10:30:36 -08:00
node.rs refactor: extract PreparedModuleLoader from CLI (#29977) 2025-07-03 14:11:46 -04:00
npm.rs feat(unstable): ability to specify minimum dependency age in deno.json file (#31007) 2025-10-20 14:50:17 +00:00
README.md docs(cli): do not need gen doc for cli (#17260) 2023-01-04 13:19:58 +01:00
registry.rs feat(unstable): deploy subcommand (#29407) 2025-05-30 16:28:49 +00:00
resolver.rs refactor: add NpmInstallerFactory and push more functionality down into deno_npm_installer (#29342) 2025-05-17 15:10:06 -04:00
task_runner.rs fix(npm): handle deno run/install of npm package with only directories.bin (#30919) 2025-10-17 12:06:15 -04:00
type_checker.rs feat(cli): print working dir in grey in stack traces, relative paths in check + compile output (#31194) 2025-11-06 20:38:25 +00:00
worker.rs feat(cli): print working dir in grey in stack traces, relative paths in check + compile output (#31194) 2025-11-06 20:38:25 +00:00

Deno CLI Crate

crates

This provides the actual deno executable and the user-facing APIs.

The deno crate uses the deno_core to provide the executable.