91admin-cli
Version:
A simple CLI for creating your projects from own Git server
65 lines (60 loc) • 1.51 kB
JavaScript
const { prompt } = require('inquirer')
const { writeFile } = require('fs')
const { listTable } = require(`${__dirname}/../utils`)
let tplList = require(`${__dirname}/../templates`)
const question = [
{
type: 'input',
name: 'name',
message: '脚手架名称:',
validate (val) {
if (tplList[val]) {
return '该脚手架已存在,请重新命名!'
} else if (val === '') {
return '请填写脚手架名称!'
} else {
return true
}
}
},
{
type: 'input',
name: 'place',
message: 'Git地址:',
validate (val) {
if (val !== '') {
return true
}
return '请填写脚手架地址!'
}
},
// {
// type: 'input',
// name: 'clone',
// message: 'Clone the template(y/n):',
// validate(val) {
// if (val !== '' && ['y', 'yes', 'n', 'no'].indexOf(val) > -1) {
// return true
// }
// return 'Result is required!'
// }
// },
{
type: 'input',
name: 'branch',
message: '脚手架所在Git分支:',
default: 'master'
}
]
module.exports = prompt(question).then(({name, place, clone, branch}) => {
tplList[name] = {}
tplList[name]['owner/name'] = place
// tplList[name]['clone'] = clone
tplList[name]['branch'] = branch
writeFile(`${__dirname}/../templates.json`, JSON.stringify(tplList), 'utf-8', (err) => {
if (err) {
console.log(err)
}
listTable(tplList, 'New template has been added successfully!')
})
})