39 lines
		
	
	
		
			933 B
		
	
	
	
		
			JavaScript
		
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			933 B
		
	
	
	
		
			JavaScript
		
	
	
const fs = require('fs')
 | 
						|
const chalk = require('chalk')
 | 
						|
const { jp, copyFile } = require('./index')
 | 
						|
 | 
						|
const buildDir = '../../build'
 | 
						|
 | 
						|
 | 
						|
const getBuildFileName = () => {
 | 
						|
  const names = []
 | 
						|
  const pathRegExp = [
 | 
						|
    /latest\.yml$/,
 | 
						|
    /\.exe$/,
 | 
						|
    /\.blockmap$/,
 | 
						|
  ]
 | 
						|
  const files = fs.readdirSync(jp(buildDir), 'utf8')
 | 
						|
  files.forEach(name => {
 | 
						|
    pathRegExp.forEach(regexp => {
 | 
						|
      if (regexp.test(name)) names.push(name)
 | 
						|
    })
 | 
						|
  })
 | 
						|
  return names
 | 
						|
}
 | 
						|
 | 
						|
const copy = names => {
 | 
						|
  const tasks = names.map(name => copyFile(jp(buildDir, name), jp('../assets', name)))
 | 
						|
  return Promise.all(tasks)
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
module.exports = (isCopyVersion = true) => {
 | 
						|
  copy(getBuildFileName()).then(() => {
 | 
						|
    if (isCopyVersion) fs.writeFileSync(jp('../assets/version.json'), JSON.stringify(require('../version.json')), 'utf8')
 | 
						|
  }).catch(err => {
 | 
						|
    console.log(err)
 | 
						|
    console.log(chalk.red('File copy failed.'))
 | 
						|
    return Promise.reject(err)
 | 
						|
  })
 | 
						|
}
 |