UNPKG

bia

Version:

a tool for download git repository

95 lines (93 loc) 3.51 kB
/* * @Author: hzxulin@yeah.net * @Date: 2018-11-20 20:59:08 * @Last Modified by: hzxulin@yeah.net * @Last Modified time: 2019-07-25 16:39:46 */ const utils = require('./utils') const question = require('./question') module.exports = (cmd, opts) => { switch (cmd) { case 'list': { question.askGitOperation().then(type => { switch (type) { case 'export': { // 导出git模板 question.askExportPath().then(dist => { return utils.exportExcel(dist) }).then(dist => { console.log(`git-tpl.xlsx is created successfully, the path is: ${dist}`) }).catch(err => { console.log(err) }) break } case 'import': { // 导入excel,批量创建 question.askImportExcel().then(file => { return utils.importExcel(file) }).then(list => { return Promise.all(list.map(_v => { return utils.createGitRepo(_v) })) }).then(res => { res.forEach((_v) => { console.log(`\n\t${_v.name}\turl: ${_v.web_url} \r`) }) }).catch(err => { console.log(err) }) break } } }) break } case 'config': { utils.consoleToken().then(() => { return question.askConfigOperation() }).then(answer => { switch (answer) { case 'set': { question.askTokenInput().then((res) => { return utils.setGitToken(res) }).then(() => { console.log('\ngit token 已成功设置。 \r') utils.consoleToken() }).catch(err => { console.log(err) }) break } case 'clear': { question.askTokenConfirm().then((res) => { if (res) { utils.setGitToken('').then(() => { console.log('\n\tgit token 已清空。 \r') utils.consoleToken() }).catch(err => { console.log(err) }) } }) break } } }).catch(err => { console.log(err) }) break } case 'default': default: { question.askGitRepoInfo().then(answer => { return utils.createGitRepo(answer) }).then(newOpts => { console.log(`\n\turl: ${newOpts.web_url} \r`) }).catch(err => { console.log(err) }) break } } }