@conecli/cone-cli
Version:
松果编辑器命令行工具
34 lines (33 loc) • 1.12 kB
JavaScript
const path = require('path')
const { homedir } = require('os')
const async = require('async')
const logger = require('../utils/logger')
const { downloadRepoByConfig } = require('../utils/util')
const { TEMPLATE_DIR } = require('../utils/const')
/**
* 按顺序依次下载相关扩展点到临时文件夹
* @param extConfigs
* @param extentionKey
*/
module.exports = function downloadExtentions(extConfigs, extentionKey) {
return new Promise((resolve, reject) => {
if (extConfigs) {
const extentionsTmp = path.join(homedir(), TEMPLATE_DIR, extentionKey)
const keys = Object.keys(extConfigs)
async.eachSeries(keys, (key, next) => {
const info = extConfigs[key]
const dest = path.join(extentionsTmp, key)
downloadRepoByConfig(key, info, dest).then(() => {
next()
}).catch(err => {
logger.fatal(err.message)
})
}, () => {
resolve(true)
})
}
else {
resolve(false)
}
})
}