1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-22 15:24:46 -05:00
denoland-deno/cli/tools
Matt Mastracci 4380a09a05
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-16 04:36:36 +09:00
..
bench fix(bench): iter/s calculation (#20016) 2023-08-02 10:01:49 -04:00
coverage feat(unstable): rename deno_modules to vendor (#20065) 2023-08-06 21:56:56 -04:00
init fix(cli/init): update to assert/mod.ts (#19924) 2023-07-24 19:57:01 +00:00
repl feat(ext/node): eagerly bootstrap node (#20153) 2023-08-16 04:36:36 +09:00
test refactor: use '--reporter' and '--junit-path' flags for 'deno test' (#20031) 2023-08-02 22:05:34 -04:00
vendor fix: error on invalid & unsupported jsx compiler options (#19954) 2023-07-27 12:15:39 -04:00
bundle.rs refactor(flags): move watch flags into subcommand structs (#19516) 2023-06-15 13:09:37 -04:00
check.rs fix: do not include jsx without @ts-check in tsc roots (#19964) 2023-07-27 14:09:02 -04:00
compile.rs feat(compile): Add --no-terminal to compile command (#17991) 2023-07-28 18:46:26 +03:00
doc.rs Reland "fix(cli): don't store blob and data urls in the module cache" (#18581) 2023-07-02 00:52:30 +02:00
fmt.rs feat(unstable): rename deno_modules to vendor (#20065) 2023-08-06 21:56:56 -04:00
info.rs feat(unstable): optional deno_modules directory (#19977) 2023-08-02 00:49:09 +00:00
installer.rs chore(tests): test_util - Add PathRef (#19450) 2023-06-10 11:09:45 -04:00
lint.rs feat(unstable): rename deno_modules to vendor (#20065) 2023-08-06 21:56:56 -04:00
mod.rs feat(compile): unstable npm and node specifier support (#19005) 2023-05-10 20:06:59 -04:00
run.rs Reland "fix(cli): don't store blob and data urls in the module cache" (#18581) 2023-07-02 00:52:30 +02:00
task.rs chore: fix typos (#19572) 2023-06-26 09:10:27 -04:00
upgrade.rs fix(cli): output file handling in deno upgrade (#18994) 2023-07-20 19:51:02 +00:00