mirror of
https://github.com/denoland/deno.git
synced 2025-08-04 02:48:24 +00:00
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.
This commit is contained in:
parent
43d4978cea
commit
c3dd19c5d3
3 changed files with 24 additions and 12 deletions
|
@ -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]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue