liudong
2023-05-29 340f156319b863525e50e900c58e59b86ecb3d5e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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();
};