1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-02 17:01:14 -05:00
denoland-deno/cli
Matt Mastracci f1a2d928cb feat(ext/node): eagerly bootstrap node (#20153)
To fix bugs around detection of when node emulation is required, we will
just eagerly initialize it. The improvements we make to reduce the
impact of the startup time:

 - [x] Process stdin/stdout/stderr are lazily created
 - [x] node.js global proxy no longer allocates on each access check
- [x] Process checks for `beforeExit` listeners before doing expensive
shutdown work
- [x] Process should avoid adding global event handlers until listeners
are added

Benchmarking this PR (`89de7e1ff`) vs main (`41cad2179`)

```
12:36 $ third_party/prebuilt/mac/hyperfine --warmup 100 -S none './deno-41cad2179 run ./empty.js' './deno-89de7e1ff run ./empty.js'
Benchmark 1: ./deno-41cad2179 run ./empty.js
  Time (mean ± σ):      24.3 ms ±   1.6 ms    [User: 16.2 ms, System: 6.0 ms]
  Range (min … max):    21.1 ms …  29.1 ms    115 runs
 
Benchmark 2: ./deno-89de7e1ff run ./empty.js
  Time (mean ± σ):      24.0 ms ±   1.4 ms    [User: 16.3 ms, System: 5.6 ms]
  Range (min … max):    21.3 ms …  28.6 ms    126 runs
```

Fixes https://github.com/denoland/deno/issues/20142
Fixes https://github.com/denoland/deno/issues/15826
Fixes https://github.com/denoland/deno/issues/20028
2023-08-21 17:00:44 +05:30
..
args fix(cli) error gracefully when script arg is not present and --v8-flags is present in deno run (#20145) 2023-08-21 17:00:44 +05:30
bench chore: upgrade to dprint 0.39 (#19768) 2023-07-08 18:34:08 +00:00
cache refactor: use deno_cache_dir crate (#20092) 2023-08-08 14:23:02 +00:00
js fix(test): handle ASCII escape chars in test name (#20081) 2023-08-10 01:40:34 +02:00
lsp refactor(cli): move snapshot_from_lockfile function to deno_npm (#20024) 2023-08-08 10:07:29 -07:00
napi 1.36.0 (#20036) 2023-08-03 18:26:25 +02:00
npm feat(ext/node): eagerly bootstrap node (#20153) 2023-08-21 17:00:44 +05:30
ops build: allow disabling snapshots for dev (#20048) 2023-08-06 01:47:15 +02:00
schemas feat(unstable): rename deno_modules to vendor (#20065) 2023-08-06 21:56:56 -04:00
standalone feat(ext/node): eagerly bootstrap node (#20153) 2023-08-21 17:00:44 +05:30
tests fix(runtime): navigator.userAgent in web worker (#20129) 2023-08-21 17:00:44 +05:30
tools feat(ext/node): eagerly bootstrap node (#20153) 2023-08-21 17:00:44 +05:30
tsc feat(permissions): add "--deny-*" flags (#19070) 2023-08-03 13:19:19 +02:00
util feat(unstable): rename deno_modules to vendor (#20065) 2023-08-06 21:56:56 -04:00
auth_tokens.rs chore: upgrade to Rust 1.67 (#17548) 2023-01-27 10:43:16 -05:00
build.rs build: remove redundant rerun-if-changed for compiler snapshot (#20094) 2023-08-08 09:21:54 +02:00
Cargo.toml refactor(cli): move snapshot_from_lockfile function to deno_npm (#20024) 2023-08-08 10:07:29 -07:00
deno.ico fix(cli): add icon and metadata to deno.exe on Windows (#6693) 2020-07-15 21:54:38 +02:00
deno_std.rs 1.36.0 (#20036) 2023-08-03 18:26:25 +02:00
emit.rs refactor(lsp): move config file related code to config.rs (#19790) 2023-07-10 21:45:09 +00:00
errors.rs feat: TypeScript 5.0.2 (except decorators) (#18294) 2023-03-21 15:46:40 +00:00
factory.rs feat(ext/node): eagerly bootstrap node (#20153) 2023-08-21 17:00:44 +05:30
file_fetcher.rs refactor: use deno_cache_dir crate (#20092) 2023-08-08 14:23:02 +00:00
graph_util.rs feat(unstable): optional deno_modules directory (#19977) 2023-08-02 00:49:09 +00:00
http_util.rs feat(unstable): add more options to Deno.createHttpClient (#17385) 2023-05-21 03:43:54 +02:00
js.rs build: allow disabling snapshots for dev (#20048) 2023-08-06 01:47:15 +02:00
main.rs fix(lint): allow to use --rules with --rules-tags (#19754) 2023-07-25 17:24:06 -04:00
module_loader.rs chore: rename some helpers on the Fs trait (#20097) 2023-08-08 16:28:18 -04:00
node.rs chore: rename some helpers on the Fs trait (#20097) 2023-08-08 16:28:18 -04:00
README.md docs(cli): do not need gen doc for cli (#17260) 2023-01-04 13:19:58 +01:00
resolver.rs feat: top level package.json install when node_modules dir is explicitly opted into (#19233) 2023-05-23 18:51:48 -04:00
version.rs refactor: make version and user_agent &'static str (#18400) 2023-03-23 23:27:58 +01:00
worker.rs feat(ext/node): eagerly bootstrap node (#20153) 2023-08-21 17:00:44 +05:30

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.