diff --git a/lib/util/fs/index.ts b/lib/util/fs/index.ts index 3c0938380d9c9c00be995063917cfb8a0f412247..8015dfdf850d1f93a154e4ce82120dc31f1aad57 100644 --- a/lib/util/fs/index.ts +++ b/lib/util/fs/index.ts @@ -5,6 +5,7 @@ import * as fs from 'fs-extra'; import { isAbsolute, join, parse } from 'upath'; import { getAdminConfig } from '../../config/admin'; import { logger } from '../../logger'; +import { getChildProcessEnv } from '../exec/env'; export * from './proxies'; @@ -83,12 +84,16 @@ export async function ensureLocalDir(dirName: string): Promise<void> { } export async function ensureCacheDir( - dirName: string, - envPathVar?: string + adminCacheSubdir: string, + envCacheVar?: string ): Promise<string> { - const { cacheDir } = getAdminConfig(); - const envCacheDirName = envPathVar ? process.env[envPathVar] : null; - const cacheDirName = envCacheDirName || join(cacheDir, dirName); + const { cacheDir: adminCacheDir } = getAdminConfig(); + let envCacheDir = null; + if (envCacheVar) { + const env = getChildProcessEnv([envCacheVar]); + envCacheDir = env[envCacheVar]; + } + const cacheDirName = envCacheDir || join(adminCacheDir, adminCacheSubdir); await fs.ensureDir(cacheDirName); return cacheDirName; }