blob: 1acbe45e8e8a6f174a5789ce2ac74979d8d88bc2 [file] [log] [blame]
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();
};