deno
deno copied to clipboard
refactor: add `deno_permissions` crate
trafficstars
Issue https://github.com/denoland/deno/issues/22222
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 |