Skip to content

Get a path of the standard cache directory for a given application

License

Notifications You must be signed in to change notification settings

shinnn/app-cache-dir

Repository files navigation

app-cache-dir

npm version Build Status codecov

Get a path of the standard cache directory for a given application

const appCacheDir = require('app-cache-dir');

// On most Linuxes
appCacheDir('my-app'); //=> '/root/shinnn/.cache/my-app'

// On macOS
appCacheDir('my-app'); //=> '/Users/shinnn/.cache/my-app'

// On Windows
appCacheDir('my-app'); //=> 'C:\\Users\\shinnn\\AppData\\Local\\my-app\\cache'

Installation

Use npm.

npm install app-cache-dir

API

const appCacheDir = require('app-cache-dir');

appCacheDir(appName)

appName: string (application name)
Return: string (absolute directory path)

It resolves an application name into its standard cache directory presented in the Atom issue tracker, with following the environment variables XDG_CACHE_HOME (POSIX) and LOCALAPPDATA (Windows).

Basically it results:

  • ~/.cache/${appName} on POSIX
  • C:\\Users\\${username}\\AppData\Local\${appName}\cache on Windows
// On macOS

appCacheDir('hi'); //=> '/Users/shinnn/.cache/hi'

process.env.XDG_CACHE_HOME = '/foo/bar/';

appCacheDir('hi'); //=> '/foo/bar/hi'

When it cannot resolve the cache path, for exmaple both HOME and XDG_CACHE_HOME are empty, it returns ${os.tmpdir()}/${appName}/cache as a last resort.

appCacheDir.posix(appName)

appName: string
Return: string

Follow POSIX way regardless of the current OS.

appCacheDir.win32(appName)

appName: string
Return: string

Follow Windows way regardless of the current OS.

License

ISC License © 2017 - 2019 Shinnosuke Watanabe