perfect prepublish process

This commit is contained in:
JM
2019-07-03 22:00:43 +08:00
parent ca392ba2f7
commit 070a47011b
6 changed files with 199 additions and 47 deletions

19
publish/plugin/exec.js Normal file
View File

@ -0,0 +1,19 @@
const { exec } = require('child_process')
function doExec (execString, maxBuffer = 1024 ** 5) {
return new Promise(resolve => {
exec(execString, {
maxBuffer
}, err => {
if (err) {
console.error(err)
resolve(false)
} else {
resolve(true)
}
})
})
}
module.exports = doExec

View File

@ -33,7 +33,7 @@ function mkdir (src) {
return new Promise(resolve => {
fs.mkdir(src, err => {
if (err) {
console.warn(err)
console.error(err)
resolve(false)
}
@ -186,7 +186,7 @@ async function unlinkDirFileByExtname (src, extnames = []) {
async function copyDir (src, target) {
if (!src || !target) {
console.warn('copyDir missing parameters!')
console.error('copyDir missing parameters!')
return false
}
@ -243,7 +243,7 @@ async function copyDir (src, target) {
async function fileForEach (src, callback) {
if (!src || !callback) {
console.warn('fileForEach missing parameters!')
console.error('fileForEach missing parameters!')
return false
}
@ -285,7 +285,7 @@ async function readFile (src, encoding = 'utf8') {
return new Promise(resolve => {
fs.readFile(src, encoding, (err, data) => {
if (err) {
console.warn(err)
console.error(err)
resolve(false)
} else {
@ -295,6 +295,20 @@ async function readFile (src, encoding = 'utf8') {
})
}
async function writeFile (src, string, encoding = 'utf8') {
return new Promise(resolve => {
fs.writeFile(src, string, encoding, err => {
if (err) {
console.error(err)
resolve(false)
} else {
resolve(true)
}
})
})
}
module.exports = {
readDir,
stat,
@ -304,5 +318,6 @@ module.exports = {
unlinkDirFileByExtname,
copyDir,
fileForEach,
readFile
readFile,
writeFile
}

View File

@ -3,16 +3,19 @@ const print = {
console.log(info)
},
warn (info) {
console.log('\033[31;33m' + info)
console.log('\033[31;33m' + info + '\033[0m')
},
error (info) {
console.log('\033[31;30m' + info)
console.log('\033[31;40m' + info + '\033[0m')
},
tip (info) {
console.log('\033[40;32m' + info)
console.log('\033[40;32m' + info + '\033[0m')
},
success (info) {
console.log('\033[42;30m' + info)
console.log('\033[42;30m' + info + '\033[0m')
},
yellow (info) {
console.log('\033[31;33m' + info + '\033[0m')
}
}