UNPKG

1.24 kBJavaScriptView Raw
1'use strict'
2/**
3 * 添加模板
4 */
5
6const co = require('co')
7const prompt = require('co-prompt')
8const chalk = require('chalk')
9const tplJson = require('../tpl')
10const fs = require('fs')
11
12module.exports = () => {
13 co(function *() {
14 // 模板名称
15 let tplName = yield prompt('Template name: ')
16 if(tplName == "" && tplJson.tpl[tplName] !== 'undefined') {
17 console.log(chalk.red('Template name empty or already existed!'))
18 process.exit()
19 }
20
21 let gitUrl = yield prompt('Repository address: ') // 仓库地址
22 if(gitUrl == "") {
23 console.log(chalk.red('Repository address not empty!'))
24 process.exit()
25 }
26
27 let branch = yield prompt('Branch(master): ') // 分支
28
29 tplJson.tpl[tplName] = {}
30 tplJson.tpl[tplName]['url'] = gitUrl.replace(/[\u0000-\u0019]/g, '')
31 tplJson.tpl[tplName]['branch'] = branch || 'master'
32
33 // 写入配置文件
34 fs.writeFile(__dirname + '/../tpl.json', JSON.stringify(tplJson), 'utf-8', (err) => {
35 if (err) console.log(err)
36 console.log()
37 console.log(chalk.green('New template added!\n'))
38 console.log(chalk.grey('The last template list is: \n'))
39 console.log(tplJson)
40 console.log('\n')
41 process.exit()
42 })
43 })
44}