diff options
author | Philipp A <flying-sheep@web.de> | 2019-02-13 14:57:00 +0100 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2019-02-13 08:57:00 -0500 |
commit | e782ba1a6fd8342cddd961da9274dbd0244685d1 (patch) | |
tree | b90bb6e75169ae6e122f8a2a05dbcde8c2ddb1e0 /src | |
parent | c468be64ed6cc3d3d3c2a74f15ba1157082f0f5b (diff) |
Use proper directory for cache files (#1763)
Operating systems have defined directories for cache files.
That allows them to do smart things such as leaving them out when doing a backup,
or deleting them when disk space gets low.
Also a %home%\.deno folder on windows made no sense whatsoever.
Fixes #481
Diffstat (limited to 'src')
-rw-r--r-- | src/deno_dir.rs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/deno_dir.rs b/src/deno_dir.rs index 9d175077a..bcde87927 100644 --- a/src/deno_dir.rs +++ b/src/deno_dir.rs @@ -63,7 +63,13 @@ impl DenoDir { ) -> std::io::Result<Self> { // Only setup once. let home_dir = dirs::home_dir().expect("Could not get home directory."); - let default = home_dir.join(".deno"); + let fallback = home_dir.join(".deno"); + // We use the OS cache dir because all files deno writes are cache files + // Once that changes we need to start using different roots if DENO_DIR + // is not set, and keep a single one if it is. + let default = dirs::cache_dir() + .map(|d| d.join("deno")) + .unwrap_or(fallback); let root: PathBuf = custom_root.unwrap_or(default); let gen = root.as_path().join("gen"); |