39 lines
842 B
JavaScript
39 lines
842 B
JavaScript
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();
|
|
};
|