blob: 1acbe45e8e8a6f174a5789ce2ac74979d8d88bc2 [file] [log] [blame]
Leo Repp58b9f112021-11-22 11:57:47 +01001var os = require('os');
2var path = require('path');
3var userHome = require('homedir-polyfill')();
4
5var env = process.env;
6var name = 'js-v8flags';
7
8function macos() {
9 var library = path.join(userHome, 'Library');
10 return path.join(library, 'Caches', name);
11}
12
13function windows() {
14 var appData = env.LOCALAPPDATA || path.join(userHome, 'AppData', 'Local');
15 return path.join(appData, name);
16}
17
18// https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
19function linux() {
20 var username = path.basename(userHome);
21 return path.join(env.XDG_CACHE_HOME || path.join(userHome, '.cache'), name);
22}
23
24module.exports = function(platform) {
25 if (!userHome) {
26 return os.tmpdir();
27 }
28
29 if (platform === 'darwin') {
30 return macos();
31 }
32
33 if (platform === 'win32') {
34 return windows();
35 }
36
37 return linux();
38};