lx-music-desktop/publish/utils/copyFile.js

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)
})
}