清除文件
This commit is contained in:
		@@ -1,57 +0,0 @@
 | 
			
		||||
const {chalkTag, fsExtra, findApp, copyFiles, fs, path} = require("../../bin/tools");
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 初始化打包配置文件
 | 
			
		||||
 */
 | 
			
		||||
const init = () => {
 | 
			
		||||
  chalkTag.info('开始运行项目打包工具...')
 | 
			
		||||
  return new Promise(resolve => fs.readdir('./src/project', (err, files) => {
 | 
			
		||||
    resolve(files.filter(e => e.indexOf('.') < 0))
 | 
			
		||||
  }))
 | 
			
		||||
}
 | 
			
		||||
/**
 | 
			
		||||
 * 拷贝对应文件
 | 
			
		||||
 */
 | 
			
		||||
const generateMain = project => {
 | 
			
		||||
  const getApps = new Promise(resolve => {
 | 
			
		||||
    const appLib = path.join(__dirname, project.toString(), 'apps.import.json')
 | 
			
		||||
    fsExtra.readJson(appLib, (err, data) => {
 | 
			
		||||
      fsExtra.emptyDirSync(`src/project/${project}/apps`)
 | 
			
		||||
      let apps = []
 | 
			
		||||
      if (data) {
 | 
			
		||||
        chalkTag.info(project + '加载业务应用配置...')
 | 
			
		||||
        Promise.all([
 | 
			
		||||
          findApp(`src/project/${project}`, file => {
 | 
			
		||||
            let reg = new RegExp(/.+[\\\/](App[^\\\/]+)$/)
 | 
			
		||||
            if (reg.test(file)) {
 | 
			
		||||
              data[file.replace(reg, '$1')] = file.replace(reg, '$1')
 | 
			
		||||
            }
 | 
			
		||||
            return apps.push(file)
 | 
			
		||||
          }),
 | 
			
		||||
          findApp('src/mods', file => apps.push(file))
 | 
			
		||||
        ]).then(() => Promise.all(Object.keys(data).map(e => {
 | 
			
		||||
          let app = [...new Set(apps)].find(s => s.indexOf(e) > -1)
 | 
			
		||||
          if (app) {
 | 
			
		||||
            return copyFiles(`src/project/${project}/apps/${e}`, app)
 | 
			
		||||
          }
 | 
			
		||||
        }))).then(() => {
 | 
			
		||||
          chalkTag.done(project + '业务应用加载完成')
 | 
			
		||||
          resolve()
 | 
			
		||||
        })
 | 
			
		||||
      } else {
 | 
			
		||||
        chalkTag.done(project + '业务应用无打包')
 | 
			
		||||
        resolve()
 | 
			
		||||
      }
 | 
			
		||||
    })
 | 
			
		||||
  })
 | 
			
		||||
  return Promise.all([getApps])
 | 
			
		||||
}
 | 
			
		||||
const start = () => {
 | 
			
		||||
  //询问打包哪个项目
 | 
			
		||||
  init().then(choices => {
 | 
			
		||||
    return Promise.all(choices.map(prj => generateMain(prj))).then(() => {
 | 
			
		||||
      chalkTag.info('开始发布...')
 | 
			
		||||
    })
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
start();
 | 
			
		||||
		Reference in New Issue
	
	Block a user