Skip to content

Commit a2db2af

Browse files
committed
PKGX_HOME
1 parent 6bec5a6 commit a2db2af

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

src/hooks/useConfig.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,43 +19,43 @@ export interface Config {
1919
git?: Path
2020
}
2121

22-
function platform_cache_default() {
22+
function platform_cache_default(home: Path) {
2323
switch (Deno.build.os) {
2424
case 'darwin':
25-
return Path.home().join('Library/Caches')
25+
return home.join('Library/Caches')
2626
case 'windows':
27-
return flatmap(Deno.env.get("LOCALAPPDATA"), Path.abs) ?? Path.home().join('AppData/Local')
27+
return flatmap(Deno.env.get("LOCALAPPDATA"), Path.abs) ?? home.join('AppData/Local')
2828
default:
29-
return Path.home().join('.cache')
29+
return home.join('.cache')
3030
}
3131
}
3232

33-
function platform_data_home_default() {
33+
function platform_data_home_default(home: Path) {
3434
switch (host().platform) {
3535
case 'darwin':
36-
return Path.home().join("Library/Application Support")
36+
return home.join("Library/Application Support")
3737
case 'windows': {
3838
const LOCALAPPDATA = Deno.env.get('LOCALAPPDATA')
3939
if (LOCALAPPDATA) {
4040
return new Path(LOCALAPPDATA).join("pkgx")
4141
} else {
42-
return Path.home().join("AppData/Local/pkgx")
42+
return home.join("AppData/Local/pkgx")
4343
}}
4444
default:
45-
return Path.home().join(".local/share")
45+
return home.join(".local/share")
4646
}
4747
}
4848

4949
const SEP = Deno.build.os == 'windows' ? ';' : ':'
5050

5151
export function ConfigDefault(env = Deno.env.toObject()): Config {
52-
const prefix = flatmap(env['PKGX_DIR']?.trim(), x => new Path(x)) ?? Path.home().join('.pkgx')
52+
const home = flatmap(env['PKGX_HOME'], x => new Path(x)) ?? Path.home()
53+
const prefix = flatmap(env['PKGX_DIR']?.trim(), x => new Path(x)) ?? home.join('.pkgx')
5354
const pantries = env['PKGX_PANTRY_PATH']?.split(SEP).compact(x => flatmap(x.trim(), x => Path.abs(x) ?? Path.cwd().join(x))) ?? []
54-
const cache = (flatmap(env["XDG_CACHE_HOME"], Path.abs) ?? platform_cache_default()).join("pkgx")
55-
const data = (flatmap(env["XDG_DATA_HOME"], Path.abs) ?? platform_data_home_default()).join("pkgx")
55+
const cache = (flatmap(env["XDG_CACHE_HOME"], Path.abs) ?? platform_cache_default(home)).join("pkgx")
56+
const data = (flatmap(env["XDG_DATA_HOME"], Path.abs) ?? platform_data_home_default(home)).join("pkgx")
5657
const isCI = boolize(env['CI']) ?? false
5758
const UserAgent = flatmap(getv(), v => `libpkgx/${v}`) ?? 'libpkgx'
58-
5959
//TODO prefer 'xz' on Linux (as well) if supported
6060
const compression = !isCI && host().platform == 'darwin' ? 'xz' : 'gz'
6161

0 commit comments

Comments
 (0)