Repository: denoland/deno
Pull request: feat(info): show location for Web Cache

Hi. team.  
I have confirmed that there is another cache directory. However, this is not visible when running deno info. Therefore, I sent this request, but if you have any better suggestions or if this is unnecessary, please let me know.

Closes #26181 
  
Checked `cargo test -vv`  
```
alleycat:[hrtaro]:~/deno$ ./target/debug/deno info
DENO_DIR location: /home/hrtaro/.cache/deno
Remote modules cache: /home/hrtaro/.cache/deno/remote
npm modules cache: /home/hrtaro/.cache/deno/npm
Emitted modules cache: /home/hrtaro/.cache/deno/gen
Language server registries cache: /home/hrtaro/.cache/deno/registries
Origin storage: /home/hrtaro/.cache/deno/location_data
Deno Cache: /tmp/deno_cache
````

Changed files:
filename: cli/tools/info.rs
patch: @@ -126,6 +126,7 @@ fn print_cache_info(
   let registry_cache = dir.registries_folder_path();
   let mut origin_dir = dir.origin_data_folder_path();
   let deno_dir = dir.root_path_for_display().to_string();
+  let web_cache_dir = crate::worker::get_cache_storage_dir();
 
   if let Some(location) = &location {
     origin_dir =
@@ -143,6 +144,7 @@ fn print_cache_info(
       "typescriptCache": typescript_cache,
       "registryCache": registry_cache,
       "originStorage": origin_dir,
+      "webCacheStorage": web_cache_dir,
     });
 
     if location.is_some() {
@@ -177,6 +179,11 @@ fn print_cache_info(
       colors::bold("Origin storage:"),
       origin_dir.display()
     );
+    println!(
+      "{} {}",
+      colors::bold("Web cache storage:"),
+      web_cache_dir.display()
+    );
     if location.is_some() {
       println!(
         "{} {}",

filename: cli/worker.rs
patch: @@ -393,6 +393,13 @@ impl CliMainWorker {
   }
 }
 
+// TODO(bartlomieju): this should be moved to some other place, added to avoid string
+// duplication between worker setups and `deno info` output.
+pub fn get_cache_storage_dir() -> PathBuf {
+  // Note: we currently use temp_dir() to avoid managing storage size.
+  std::env::temp_dir().join("deno_cache")
+}
+
 #[derive(Clone)]
 pub struct CliMainWorkerFactory {
   shared: Arc<SharedWorkerState>,
@@ -529,10 +536,7 @@ impl CliMainWorkerFactory {
     });
     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()]))
+      get_cache_storage_dir().join(checksum::gen(&[key.as_bytes()]))
     });
 
     // TODO(bartlomieju): this is cruft, update FeatureChecker to spit out
@@ -729,10 +733,7 @@ fn create_web_worker_callback(
       .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()]))
+      get_cache_storage_dir().join(checksum::gen(&[key.as_bytes()]))
     });
 
     // TODO(bartlomieju): this is cruft, update FeatureChecker to spit out

filename: tests/specs/info/flag/041_info_flag.out
patch: @@ -4,3 +4,4 @@ npm modules cache: [WILDCARD]npm
 Emitted modules cache: [WILDCARD]gen
 Language server registries cache: [WILDCARD]registries
 Origin storage: [WILDCARD]location_data
+Web cache storage: [WILDCARD]deno_cache

filename: tests/specs/info/flag_location/041_info_flag_location.out
patch: @@ -4,4 +4,5 @@ npm modules cache: [WILDCARD]npm
 Emitted modules cache: [WILDCARD]gen
 Language server registries cache: [WILDCARD]registries
 Origin storage: [WILDCARD]location_data[WILDCARD]
+Web cache storage: [WILDCARD]deno_cache
 Local Storage: [WILDCARD]location_data[WILDCARD]local_storage

filename: tests/specs/info/json/info_json.out
patch: @@ -5,5 +5,6 @@
   "npmCache": "[WILDCARD]npm",
   "typescriptCache": "[WILDCARD]gen",
   "registryCache": "[WILDCARD]registries",
-  "originStorage": "[WILDCARD]location_data"
+  "originStorage": "[WILDCARD]location_data",
+  "webCacheStorage": [WILDCARD]deno_cache"
 }