deno/ext
Divy Srivastava de28e6fc09
refactor: add deno_permissions crate (#22236)
Issue https://github.com/denoland/deno/issues/22222


![image](https://github.com/denoland/deno/assets/34997667/2af8474b-b919-4519-98ce-9d29bc7829f2)

This PR moves `runtime/permissions` code to a upstream crate called
`deno_permissions`. The `deno_permissions::PermissionsContainer` is put
into the OpState and can be used instead of the current trait-based
permissions system.

For this PR, I've migrated `deno_fetch` to the new crate but kept the
rest of the trait-based system as a wrapper of `deno_permissions` crate.
Doing the migration all at once is error prone and hard to review.

Comparing incremental compile times for `ext/fetch` on Mac M1:

| profile | `cargo build --bin deno` | `cargo plonk build --bin deno` |
| --------- | ------------- | ------------------- |
| `debug`   | 20 s          | 0.8s                |
| `release` | 4 mins 12 s   | 1.4s                  |
2024-03-12 10:42:26 -07:00
..
broadcast_channel chore: forward v1.41.2 release commit to main (#22793) 2024-03-08 09:12:36 +00:00
cache chore: forward v1.41.2 release commit to main (#22793) 2024-03-08 09:12:36 +00:00
canvas chore: replace 'call' to 'execute' in error messages (#22579) 2024-03-10 02:23:14 +00:00
console chore: forward v1.41.2 release commit to main (#22793) 2024-03-08 09:12:36 +00:00
cron chore: forward v1.41.2 release commit to main (#22793) 2024-03-08 09:12:36 +00:00
crypto chore: enable clippy unused_async rule (#22834) 2024-03-11 23:48:00 -04:00
fetch refactor: add deno_permissions crate (#22236) 2024-03-12 10:42:26 -07:00
ffi chore: forward v1.41.2 release commit to main (#22793) 2024-03-08 09:12:36 +00:00
fs fix(ext/node): support junction symlinks on Windows (#22762) 2024-03-09 09:07:29 +05:30
http chore: forward v1.41.2 release commit to main (#22793) 2024-03-08 09:12:36 +00:00
io chore: forward v1.41.2 release commit to main (#22793) 2024-03-08 09:12:36 +00:00
kv chore: forward v1.41.2 release commit to main (#22793) 2024-03-08 09:12:36 +00:00
napi chore: forward v1.41.2 release commit to main (#22793) 2024-03-08 09:12:36 +00:00
net chore: enable clippy unused_async rule (#22834) 2024-03-11 23:48:00 -04:00
node fix(ext/node): flush brotli decompression stream (#22856) 2024-03-12 17:23:31 +05:30
tls chore: forward v1.41.2 release commit to main (#22793) 2024-03-08 09:12:36 +00:00
url chore: replace 'call' to 'execute' in error messages (#22579) 2024-03-10 02:23:14 +00:00
web chore: enable clippy unused_async rule (#22834) 2024-03-11 23:48:00 -04:00
webgpu chore: enable clippy unused_async rule (#22834) 2024-03-11 23:48:00 -04:00
webidl chore: forward v1.41.2 release commit to main (#22793) 2024-03-08 09:12:36 +00:00
websocket fix(ext/websocket): do not continue reading if socket rid closes (#21849) 2024-03-09 09:36:17 +05:30
webstorage chore: forward v1.41.2 release commit to main (#22793) 2024-03-08 09:12:36 +00:00