import Installer from './Installer' import Path from 'path' import fs from 'fs' class UnixInstall extends Installer{ getLocalConfig(){ var data={} data.binarypath= process.env.HOME +"/bin" if(!fs.existsSync(data.binarypath)) fs.mkdirSync(data.binarypath) this.local= true return data } getGlobalConfig(){ var data={} data.binarypath= "/usr/bin" data.binarypath= Path.join(core.VW.PackageManager.Environment.globalPath,'bin') if(!fs.existsSync(data.binarypath)) fs.mkdirSync(data.binarypath) this.local= false return data } $binaryStr(dir, bin){ var str=[] var file= Path.join(dir,bin) str.push("#!/usr/bin/env vox") /* str.push("if [ -f ~/.bash_profile ]; then") str.push(" ~/.bash_profile") str.push("fi") */ str.push("module.exports= require(" + JSON.stringify(file) + ")") str= str.join("\n") return str } generateBinaries(config, installConfig){ var conf, text, file1 for(var id in config.bin){ conf= config.bin[id] text= this.$binaryStr(installConfig.path, conf.exec) this._binStr= text file1= Path.join(installConfig.binarypath, id) fs.writeFileSync(file1, text) conf.executable= file1 fs.chmodSync(file1, '777') } } } export default UnixInstall