diff options
author | Luca Casonato <lucacasonato@yahoo.com> | 2021-05-17 09:44:38 +0200 |
---|---|---|
committer | Luca Casonato <lucacasonato@yahoo.com> | 2021-05-17 09:45:54 +0200 |
commit | 5151afa123a9635d2f4de9555f8843460b284a11 (patch) | |
tree | 7c4686c3f5562dc27d8b863897225236aeb97b14 /cli/program_state.rs | |
parent | 910935c07125e4710830be0df32a16c3ef278ba6 (diff) |
fix: static import permissions in dynamic imports
Co-authored-by: Bartek IwaĆczuk <biwanczuk@gmail.com>
Diffstat (limited to 'cli/program_state.rs')
-rw-r--r-- | cli/program_state.rs | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/cli/program_state.rs b/cli/program_state.rs index 0051e744b..50890b9e4 100644 --- a/cli/program_state.rs +++ b/cli/program_state.rs @@ -153,12 +153,14 @@ impl ProgramState { self: &Arc<Self>, specifiers: Vec<ModuleSpecifier>, lib: TypeLib, - runtime_permissions: Permissions, + root_permissions: Permissions, + dynamic_permissions: Permissions, maybe_import_map: Option<ImportMap>, ) -> Result<(), AnyError> { let handler = Arc::new(Mutex::new(FetchHandler::new( self, - runtime_permissions.clone(), + root_permissions, + dynamic_permissions, )?)); let mut builder = @@ -221,19 +223,17 @@ impl ProgramState { self: &Arc<Self>, specifier: ModuleSpecifier, lib: TypeLib, - mut runtime_permissions: Permissions, + root_permissions: Permissions, + dynamic_permissions: Permissions, is_dynamic: bool, maybe_import_map: Option<ImportMap>, ) -> Result<(), AnyError> { let specifier = specifier.clone(); - // Workers are subject to the current runtime permissions. We do the - // permission check here early to avoid "wasting" time building a module - // graph for a module that cannot be loaded. - if lib == TypeLib::DenoWorker || lib == TypeLib::UnstableDenoWorker { - runtime_permissions.check_specifier(&specifier)?; - } - let handler = - Arc::new(Mutex::new(FetchHandler::new(self, runtime_permissions)?)); + let handler = Arc::new(Mutex::new(FetchHandler::new( + self, + root_permissions, + dynamic_permissions, + )?)); let mut builder = GraphBuilder::new(handler, maybe_import_map, self.lockfile.clone()); builder.add(&specifier, is_dynamic).await?; |