summaryrefslogtreecommitdiff
path: root/cli/worker.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/worker.rs')
-rw-r--r--cli/worker.rs20
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(