From 5151afa123a9635d2f4de9555f8843460b284a11 Mon Sep 17 00:00:00 2001 From: Luca Casonato Date: Mon, 17 May 2021 09:44:38 +0200 Subject: fix: static import permissions in dynamic imports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Bartek IwaƄczuk --- cli/program_state.rs | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'cli/program_state.rs') 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, specifiers: Vec, lib: TypeLib, - runtime_permissions: Permissions, + root_permissions: Permissions, + dynamic_permissions: Permissions, maybe_import_map: Option, ) -> 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, specifier: ModuleSpecifier, lib: TypeLib, - mut runtime_permissions: Permissions, + root_permissions: Permissions, + dynamic_permissions: Permissions, is_dynamic: bool, maybe_import_map: Option, ) -> 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?; -- cgit v1.2.3