add env_loc.js

This commit is contained in:
luk 2024-10-31 08:20:41 +08:00
parent 1665611cd5
commit 7a8d57a276
2 changed files with 71 additions and 6 deletions

View File

@ -4,11 +4,13 @@ const { execSync } = require('child_process')
const path = require('path')
// Main function to link libraries
const openNpmPath = fs.existsSync(path.resolve('./env_loc.gitomit.sfomit.json'))
? require(path.resolve('./env_loc.gitomit.sfomit.json')).openNpm
const openSharePath = fs.existsSync(
path.resolve('./env_loc.gitomit.sfomit.json')
)
? require(path.resolve('./env_loc.gitomit.sfomit.json')).openShare
: ''
console.log('openNpm:', openNpmPath)
if (!openNpmPath) {
console.log('openShare:', openSharePath)
if (!openSharePath) {
return
}
@ -24,10 +26,9 @@ const libs = fs
libName.startsWith('wo-') ||
libName === 'tic-crypto'
)
console.log('libs:', libs)
libs.forEach(libName => {
const libPath = path.join(openNpmPath, libName)
const libPath = path.join(openSharePath, libName)
if (fs.existsSync(libPath)) {
console.log(`Copying ${libName}`)
const sourceFiles = fs

64
env_loc.js Normal file
View File

@ -0,0 +1,64 @@
// 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