UNPKG

uino-kiss-cli

Version:

uino-kiss-cli 用来初始化项目的方便工具

51 lines (45 loc) 1.73 kB
#!/usr/bin/env node const fs = require('fs'); const path = require('path'); const chalk = require('chalk'); const log = console.log; const isWin32 = process.platform === 'win32'; const installPacks = require('./install-packs'); const register = ()=>{ const basePath = path.resolve('./'); // const package = require(basePath+'/package.json'); const filePath = `${basePath}/vue.config.js` // 读取 vue.config.js 文件 let data = fs.readFileSync(filePath, 'utf8').split(/\r\n|\n|\r/gm); const requireString = 'const kissFontPlugin = require(\'kiss-font-plugin\')' if(!data.includes(requireString)){ // 添加引入包 data.unshift(requireString) // 添加chainWebpack方法注入 const n1 = data.findIndex(e=>/chainWebpack:/.test(e)) if(n1>-1) data.splice(n1+1,0,' kissFontPlugin.utils.chainWebpack(config);') // 添加 configureWebpack.plugins const reg1 = /plugins: \[\]/,reg2 = /plugins:\[\]/ const n2 = data.findIndex(e=>reg1.test(e)||reg2.test(e)) if(n2>-1) data.splice(n2,1,' plugins: [new kissFontPlugin.Plugin(),]') const reg3 = /plugins: \[$/,reg4 = /plugins:\[$/ const n3 = data.findIndex(e=>reg3.test(e)||reg4.test(e)) if(n3>-1) data.splice(n2+1,0,' new kissFontPlugin.Plugin(),') // 写入 vue.config.js 文件 fs.writeFileSync(filePath, data.join('\r\n')) // 写入 kiss.font.config.js 文件 const kissFontConfigPath = `${basePath}/kiss.font.config.js` const kissFontConfig = [ 'module.exports = {', ' remotePath: \'\',', ' files: []', '}' ] fs.writeFileSync(kissFontConfigPath, kissFontConfig.join('\r\n')) } } module.exports = { start(){ installPacks.kissIcon(register) }, };