From 50920ceed3b5b7ec75d2a2f498cb47ed28100ca0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=97=A0=E6=98=9F?= <32910694@qq.com> Date: Sat, 13 Nov 2021 14:54:56 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/actions/add.js | 2 +- src/actions/del.js | 25 +++++++++++++++++++ src/index.js | 61 ++++++++-------------------------------------- 3 files changed, 36 insertions(+), 52 deletions(-) create mode 100644 src/actions/del.js diff --git a/src/actions/add.js b/src/actions/add.js index e64d488..9b8c80e 100644 --- a/src/actions/add.js +++ b/src/actions/add.js @@ -21,6 +21,6 @@ const add = (name, url) => { const customPath = path.join(__dirname,"../config/templates/custom.json") // 转成json写入 fs.writeFileSync(customPath, JSON.stringify(result, null, '\t')) - successLog("成功写入,输入wxplatform-cli ls查看最新template") + successLog("成功写入,输入xingwu ls查看最新template") } module.exports = add \ No newline at end of file diff --git a/src/actions/del.js b/src/actions/del.js new file mode 100644 index 0000000..3c62c2a --- /dev/null +++ b/src/actions/del.js @@ -0,0 +1,25 @@ +const cusRegs = require('../config/templates/custom.json'); +const templates = require('../config/templates/templates.json'); +const { successLog, errorLog } = require('../utils/log') +const path = require('path'); +const fs = require('fs-extra') +const _ = require('lodash') + +function del (name) { + if (templates.hasOwnProperty(name)) { + errorLog(name + "为预设定模板,不可删除"); + return; + } else if (!cusRegs.hasOwnProperty(name)) { + successLog(name + "模板不存在,请检查输入是否正确"); + return; + } + // 添加 + let result = _.omit(cusRegs, name) + // 转成json写入 + const customPath = path.join(__dirname,"../config/templates/custom.json") + // 转成json写入 + fs.writeFileSync(customPath, JSON.stringify(result, null, '\t')) + successLog("成功删除,输入xingwu ls查看最新template") +} + +module.exports = del \ No newline at end of file diff --git a/src/index.js b/src/index.js index d933b9f..4acf737 100755 --- a/src/index.js +++ b/src/index.js @@ -6,6 +6,7 @@ const {figletLog} = require('./utils/log') const init = require('./actions/init') const list = require('./actions/list') const add = require('./actions/add') +const del = require('./actions/del') const addGitHooks = require('./actions/gitHooks') // 读取packgaejson const packageConfig = require('../package.json') @@ -34,6 +35,14 @@ program add(name,url) }); +// 移除模板 +program + .command('remove-template ') + .description('移除本地模板') + .action((name)=>{ + del(name) + }); + // 添加git hook program .command('add-githooks') @@ -53,59 +62,9 @@ program list() }) - - // 需求响应 program.on('--help', () => { console.log('新需求?可反馈给329106954@qq.com') }) // 必须放到最后一行用于解析 -program.parse(process.argv) -/* -const create = require('../lib/init') -const onList = require('../lib/onList') -const onAdd = require('../lib/onAdd') -const onDel = require('../lib/onDel') -// 用来进行命令行交互的 -const { program } = require('commander') - -// 读取packgaejson -const packageConfig = require('../package.json') -// 这样输出-V或--version就能看到版本号了 -program.version(packageConfig.version) - -// init -program - .command('init ') - .alias('i') - .description('新建项目的命令') - .action((name, cmd) => { - console.log('开始新建项目,项目名' + name) - create(name) - }) - -// 查看模板 -program - .command('ls') - .description('查看当前所有模板') - .action(onList) - -// 添加模板 -program - .command('add ') - .description('本地添加模板, 域名:所有者/项目名称#分支 例如 https://github.com:xingxiaowu/template-vue#master') - .action(onAdd); - -// 移除模板 -program - .command('del ') - .description('移除本地模板') - .action(onDel); - -program.on('--help', () => { - console.log('新需求?可反馈给329106954@qq.com') -}) - -// 必须放到最后一行用于解析 -program.parse(process.argv) -*/ \ No newline at end of file +program.parse(process.argv) \ No newline at end of file