diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2020-11-02 23:37:55 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-02 23:37:55 +0100 |
commit | c3dd19c5d37a9c0801857669b59bd708a5bb0a71 (patch) | |
tree | 01b65494d5fada50a76a5b96609bdfddabdc5f5b /cli/worker.rs | |
parent | 43d4978ceabb9d5879ab8d86bbf0f1ee551f9500 (diff) |
refactor(cli): remove ProgramState::permissions (#8228)
This commit removes ProgramState::permissions field.
Having permissions parsed from CLI flags stored on globally
accessible state object made it easy to mistakenly use these
permissions in situations which required "runtime" permissions.
Diffstat (limited to 'cli/worker.rs')
-rw-r--r-- | cli/worker.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/cli/worker.rs b/cli/worker.rs index a8722e7a4..a09e96ce4 100644 --- a/cli/worker.rs +++ b/cli/worker.rs @@ -253,6 +253,7 @@ impl MainWorker { pub fn new( program_state: &Arc<ProgramState>, main_module: ModuleSpecifier, + permissions: Permissions, ) -> Self { let loader = CliModuleLoader::new(program_state.maybe_import_map.clone()); let mut worker = Worker::new( @@ -270,7 +271,7 @@ impl MainWorker { let mut op_state = op_state.borrow_mut(); op_state.put::<Metrics>(Default::default()); op_state.put::<Arc<ProgramState>>(program_state.clone()); - op_state.put::<Permissions>(program_state.permissions.clone()); + op_state.put::<Permissions>(permissions); } ops::runtime::init(js_runtime, main_module); @@ -600,9 +601,10 @@ mod tests { }, ..Default::default() }; + let permissions = Permissions::from_flags(&flags); let program_state = ProgramState::mock(vec!["deno".to_string()], Some(flags)); - MainWorker::new(&program_state, main_module) + MainWorker::new(&program_state, main_module, permissions) } #[tokio::test] |