diff options
Diffstat (limited to 'cli/worker.rs')
-rw-r--r-- | cli/worker.rs | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/cli/worker.rs b/cli/worker.rs index cc497630e..0454069fa 100644 --- a/cli/worker.rs +++ b/cli/worker.rs @@ -379,13 +379,20 @@ pub async fn create_main_worker( create_web_worker_pre_execute_module_callback(ps.clone()); let maybe_storage_key = ps.options.resolve_storage_key(&main_module); - let origin_storage_dir = maybe_storage_key.map(|key| { + let origin_storage_dir = maybe_storage_key.as_ref().map(|key| { ps.dir .root // TODO(@crowlKats): change to origin_data for 2.0 .join("location_data") .join(checksum::gen(&[key.as_bytes()])) }); + let cache_storage_dir = maybe_storage_key.map(|key| { + // TODO(@satyarohith): storage quota management + // Note: we currently use temp_dir() to avoid managing storage size. + std::env::temp_dir() + .join("deno_cache") + .join(checksum::gen(&[key.as_bytes()])) + }); let mut extensions = ops::cli_exts(ps.clone()); extensions.append(&mut custom_extensions); @@ -427,6 +434,7 @@ pub async fn create_main_worker( module_loader, npm_resolver: Some(Rc::new(ps.npm_resolver.clone())), get_error_class_fn: Some(&errors::get_error_class_name), + cache_storage_dir, origin_storage_dir, blob_store: ps.blob_store.clone(), broadcast_channel: ps.broadcast_channel.clone(), @@ -496,6 +504,15 @@ fn create_web_worker_callback( let extensions = ops::cli_exts(ps.clone()); + let maybe_storage_key = ps.options.resolve_storage_key(&args.main_module); + let cache_storage_dir = maybe_storage_key.map(|key| { + // TODO(@satyarohith): storage quota management + // Note: we currently use temp_dir() to avoid managing storage size. + std::env::temp_dir() + .join("deno_cache") + .join(checksum::gen(&[key.as_bytes()])) + }); + let options = WebWorkerOptions { bootstrap: BootstrapOptions { args: ps.options.argv().clone(), @@ -538,6 +555,7 @@ fn create_web_worker_callback( shared_array_buffer_store: Some(ps.shared_array_buffer_store.clone()), compiled_wasm_module_store: Some(ps.compiled_wasm_module_store.clone()), stdio: stdio.clone(), + cache_storage_dir, }; WebWorker::bootstrap_from_options( |