1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-22 15:24:46 -05:00
denoland-deno/cli
Luca Casonato e511022c74
feat(ext/node): properly segregate node globals (#19307)
Code run within Deno-mode and Node-mode should have access to a
slightly different set of globals. Previously this was done through a
compile time code-transform for Node-mode, but this is not ideal and has
many edge cases, for example Node's globalThis having a different
identity than Deno's globalThis.

This commit makes the `globalThis` of the entire runtime a semi-proxy.
This proxy returns a different set of globals depending on the caller's
mode. This is not a full proxy, because it is shadowed by "real"
properties on globalThis. This is done to avoid the overhead of a full
proxy for all globalThis operations.

The globals between Deno-mode and Node-mode are now properly segregated.
This means that code running in Deno-mode will not have access to Node's
globals, and vice versa. Deleting a managed global in Deno-mode will
NOT delete the corresponding global in Node-mode, and vice versa.

---------

Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
Co-authored-by: Aapo Alasuutari <aapo.alasuutari@gmail.com>
2023-07-19 10:30:04 +02:00
..
args fix(vendor): do not panic vendoring with jsxImportSource and no jsx files (#19837) 2023-07-14 18:10:42 -04:00
bench chore: upgrade to dprint 0.39 (#19768) 2023-07-08 18:34:08 +00:00
cache feat(ext/node): properly segregate node globals (#19307) 2023-07-19 10:30:04 +02:00
js fix(bench): run warmup benchmark to break JIT bias (#19844) 2023-07-17 21:17:28 +00:00
lsp fix(node): improve require esm error messages (#19853) 2023-07-17 14:00:44 -04:00
napi chore: forward 1.35.1 back to main (#19814) 2023-07-12 21:36:42 -04:00
npm fix(node): improve require esm error messages (#19853) 2023-07-17 14:00:44 -04:00
ops fix(bench): run warmup benchmark to break JIT bias (#19844) 2023-07-17 21:17:28 +00:00
schemas fix: add exactOptionalPropertyTypes for configuration file JSON schema (#19647) 2023-06-29 16:20:24 -04:00
standalone feat(ext/node): properly segregate node globals (#19307) 2023-07-19 10:30:04 +02:00
tests feat(ext/node): properly segregate node globals (#19307) 2023-07-19 10:30:04 +02:00
tools fix(bench): run warmup benchmark to break JIT bias (#19844) 2023-07-17 21:17:28 +00:00
tsc fix(tsc): more informative diagnostic when Deno does not exist (#19825) 2023-07-13 23:29:51 +00:00
util chore: disable rustls logging (#19859) 2023-07-17 16:49:03 -06:00
auth_tokens.rs chore: upgrade to Rust 1.67 (#17548) 2023-01-27 10:43:16 -05:00
build.rs feat: upgrade to TypeScript 5.1.6 (#19695) 2023-07-04 00:36:35 +02:00
Cargo.toml chore: forward 1.35.1 back to main (#19814) 2023-07-12 21:36:42 -04: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 chore: forward 1.35.1 back to main (#19814) 2023-07-12 21:36:42 -04: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): properly segregate node globals (#19307) 2023-07-19 10:30:04 +02:00
file_fetcher.rs refactor: abstract away file system to be buried inside HttpCache (#19760) 2023-07-08 16:06:45 -04:00
graph_util.rs feat(lock): skip saving declaration files in the lockfile (#19447) 2023-06-26 15:53:17 -04:00
http_util.rs feat(unstable): add more options to Deno.createHttpClient (#17385) 2023-05-21 03:43:54 +02:00
js.rs feat(ext/node): properly segregate node globals (#19307) 2023-07-19 10:30:04 +02:00
main.rs refactor(flags): move watch flags into subcommand structs (#19516) 2023-06-15 13:09:37 -04:00
module_loader.rs feat(ext/node): properly segregate node globals (#19307) 2023-07-19 10:30:04 +02:00
node.rs feat(ext/node): properly segregate node globals (#19307) 2023-07-19 10:30:04 +02: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 Reland "fix(cli): don't store blob and data urls in the module cache" (#18581) 2023-07-02 00:52:30 +02: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.