MCPcopy
hub / github.com/Fission-AI/OpenSpec / getGlobalDataDir

Function getGlobalDataDir

src/core/global-config.ts:80–104  ·  view source on GitHub ↗
(options: GlobalDataDirOptions = {})

Source from the content-addressed store, hash-verified

78}
79
80export function getGlobalDataDir(options: GlobalDataDirOptions = {}): string {
81 const env = options.env ?? process.env;
82 const platform = options.platform ?? os.platform();
83
84 // XDG_DATA_HOME takes precedence on all platforms when explicitly set
85 const xdgDataHome = env.XDG_DATA_HOME;
86 if (xdgDataHome) {
87 return joinGlobalDataPath(platform, xdgDataHome, GLOBAL_DATA_DIR_NAME);
88 }
89
90 const homedir = options.homedir ?? os.homedir();
91
92 if (platform === 'win32') {
93 // Windows: use %LOCALAPPDATA%
94 const localAppData = env.LOCALAPPDATA;
95 if (localAppData) {
96 return joinGlobalDataPath(platform, localAppData, GLOBAL_DATA_DIR_NAME);
97 }
98 // Fallback for Windows if LOCALAPPDATA is not set
99 return joinGlobalDataPath(platform, homedir, 'AppData', 'Local', GLOBAL_DATA_DIR_NAME);
100 }
101
102 // Unix/macOS fallback: ~/.local/share
103 return joinGlobalDataPath(platform, homedir, '.local', 'share', GLOBAL_DATA_DIR_NAME);
104}
105
106/**
107 * Gets the path to the global config file.

Calls 1

joinGlobalDataPathFunction · 0.85

Tested by

no test coverage detected