44 lines
1.0 KiB
JavaScript
44 lines
1.0 KiB
JavaScript
var path = require('path')
|
|
var os = require('os')
|
|
|
|
function data () {
|
|
switch (this.__platform || process.platform) {
|
|
case 'win32': return path.resolve(process.env.APPDATA)
|
|
case 'darwin': return path.resolve(path.join(home.call(this), 'Library/Application Support/'))
|
|
default: return process.env.XDG_CONFIG_HOME
|
|
? path.resolve(process.env.XDG_CONFIG_HOME)
|
|
: path.resolve(path.join(home.call(this), '.config/'))
|
|
}
|
|
}
|
|
|
|
function desktop () {
|
|
return path.join(home.call(this), 'Desktop')
|
|
}
|
|
|
|
function home () {
|
|
// io.js >= 2.3
|
|
if ('homedir' in os) return os.homedir()
|
|
|
|
switch (this.__platform || process.platform) {
|
|
case 'win32': return path.resolve(process.env.USERPROFILE)
|
|
default: return path.resolve(process.env.HOME)
|
|
}
|
|
}
|
|
|
|
function tmp () {
|
|
switch (this.__platform || process.platform) {
|
|
case 'win32': return path.resolve(process.env.TEMP)
|
|
default: return path.resolve('/tmp')
|
|
}
|
|
}
|
|
|
|
var ospath = {
|
|
__platform: process.platform,
|
|
data: data,
|
|
desktop: desktop,
|
|
home: home,
|
|
tmp: tmp
|
|
}
|
|
|
|
module.exports = ospath
|