65 lines
1.8 KiB
JavaScript
65 lines
1.8 KiB
JavaScript
// usage: node env_loc.js hbxCli iosTransporter simsimPath openShare
|
|
|
|
const fs = require('fs')
|
|
const path = require('path')
|
|
const os = require('os')
|
|
|
|
const params = process.argv.slice(2)
|
|
|
|
// 默认值。如要覆盖,请在 env_loc.gitomit.sfomit.json 中修改。
|
|
const defaultEnv = {
|
|
hbxCli:
|
|
os.type() === 'Darwin' &&
|
|
fs.existsSync('/Applications/HBuilderX.app/Contents/MacOS/cli')
|
|
? '/Applications/HBuilderX.app/Contents/MacOS/cli'
|
|
: os.type() === 'Windows_NT' && fs.existsSync('C:/HBuilderX/cli.exe')
|
|
? 'C:/HBuilderX/cli.exe'
|
|
: '',
|
|
iosTransporter:
|
|
os.type() === 'Darwin' &&
|
|
fs.existsSync(
|
|
'/Applications/Transporter.app/Contents/itms/bin/iTMSTransporter'
|
|
)
|
|
? '/Applications/Transporter.app/Contents/itms/bin/iTMSTransporter'
|
|
: '',
|
|
simsimPath: module.paths.some(modulesPath =>
|
|
fs.existsSync(path.join(modulesPath, 'sesame-basic'))
|
|
)
|
|
? 'sesame-basic'
|
|
: fs.existsSync('../../../simsim/sesame-basic')
|
|
? path.resolve('../../../simsim/sesame-basic')
|
|
: fs.existsSync(`${os.homedir()}/simsim/sesame-basic`)
|
|
? path.resolve(`${os.homedir()}/simsim/sesame-basic`)
|
|
: '',
|
|
openShare: fs.existsSync('../../npm')
|
|
? path.resolve('../../npm')
|
|
: fs.existsSync(`${os.homedir()}/openShare`)
|
|
? path.resolve(`${os.homedir()}/openShare`)
|
|
: ''
|
|
}
|
|
|
|
const localEnv = Object.assign(
|
|
{},
|
|
params.reduce((acc, cur) => {
|
|
if (defaultEnv[cur]) {
|
|
acc[cur] = defaultEnv[cur]
|
|
} else {
|
|
acc[cur] = ''
|
|
}
|
|
return acc
|
|
}, {}),
|
|
fs.existsSync('./env_loc.gitomit.sfomit.json')
|
|
? require(path.resolve('./env_loc.gitomit.sfomit.json'))
|
|
: {}
|
|
)
|
|
|
|
fs.writeFileSync(
|
|
path.resolve('./env_loc.gitomit.sfomit.json'),
|
|
JSON.stringify(localEnv, null, 2),
|
|
'utf8'
|
|
)
|
|
|
|
console.log(localEnv)
|
|
|
|
module.exports = localEnv
|