| var os = require('os'); |
| var path = require('path'); |
| var userHome = require('homedir-polyfill')(); |
| |
| var env = process.env; |
| var name = 'js-v8flags'; |
| |
| function macos() { |
| var library = path.join(userHome, 'Library'); |
| return path.join(library, 'Caches', name); |
| } |
| |
| function windows() { |
| var appData = env.LOCALAPPDATA || path.join(userHome, 'AppData', 'Local'); |
| return path.join(appData, name); |
| } |
| |
| // https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html |
| function linux() { |
| var username = path.basename(userHome); |
| return path.join(env.XDG_CACHE_HOME || path.join(userHome, '.cache'), name); |
| } |
| |
| module.exports = function(platform) { |
| if (!userHome) { |
| return os.tmpdir(); |
| } |
| |
| if (platform === 'darwin') { |
| return macos(); |
| } |
| |
| if (platform === 'win32') { |
| return windows(); |
| } |
| |
| return linux(); |
| }; |