pack: rename runner directory
This commit is contained in:
1 parent
0178318f25
commit
ce3c07a75b
9 files changed
+10
-10
No files matched your search
@@ -0,0 +1,100 @@
|
||||
import './env.mjs'
|
||||
import chalk from 'chalk'
|
||||
import webpack from 'webpack'
|
||||
import Listr from 'listr'
|
||||
import { performance } from 'perf_hooks'
|
||||
import _ from 'qsu'
|
||||
import FsMan from 'fsman'
|
||||
import mainConfig from '../config/webpack.main.mjs'
|
||||
import rendererConfig from '../config/webpack.renderer.mjs'
|
||||
|
||||
const TAG_ERROR = `${chalk.bgRed.white(' ERROR ')} `
|
||||
const TAG_SUCCESS = `${chalk.bgGreen.black(' SUCCESS ')} `
|
||||
|
||||
async function build () {
|
||||
FsMan.empty('dist/electron')
|
||||
|
||||
let results = ''
|
||||
|
||||
const tasks = new Listr(
|
||||
[
|
||||
{
|
||||
title: 'building main process',
|
||||
task: async () => {
|
||||
await pack(mainConfig)
|
||||
.then(result => {
|
||||
results += result + '\n\n'
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(`\n ${TAG_ERROR}failed to build main process`)
|
||||
console.error(`\n${err}\n`)
|
||||
})
|
||||
}
|
||||
},
|
||||
{
|
||||
title: 'building renderer process',
|
||||
task: async () => {
|
||||
await pack(rendererConfig)
|
||||
.then(result => {
|
||||
results += result + '\n\n'
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(`\n ${TAG_ERROR}failed to build renderer process`)
|
||||
console.error(`\n${err}\n`)
|
||||
})
|
||||
}
|
||||
}
|
||||
],
|
||||
{
|
||||
concurrent: 2
|
||||
}
|
||||
)
|
||||
|
||||
await tasks.run()
|
||||
.catch(() => {
|
||||
process.exit(1)
|
||||
})
|
||||
|
||||
process.stdout.write('\x1B[2J\x1B[0f')
|
||||
console.log(`
|
||||
\n\n${results}
|
||||
${TAG_SUCCESS}Wait for ${chalk.greenBright('`electron-builder`')} process...
|
||||
${TAG_SUCCESS}${chalk.yellowBright(`Webpack Build Time: ${_.msToTime(performance.now())}`)}\n
|
||||
`)
|
||||
process.exit()
|
||||
}
|
||||
|
||||
function pack (config) {
|
||||
return new Promise((resolve, reject) => {
|
||||
config.mode = 'production'
|
||||
|
||||
webpack(config, (err, stats) => {
|
||||
if (err) {
|
||||
reject(err.stack || err)
|
||||
} else if (stats.hasErrors()) {
|
||||
let err = ''
|
||||
|
||||
stats.toString({
|
||||
chunks: false,
|
||||
colors: true
|
||||
})
|
||||
.split(/\r?\n/)
|
||||
.forEach(line => {
|
||||
err += ` ${line}\n`
|
||||
})
|
||||
|
||||
reject(err)
|
||||
} else {
|
||||
resolve(stats.toString({
|
||||
chunks: false,
|
||||
colors: true
|
||||
}))
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
(async () => {
|
||||
performance.now()
|
||||
await build()
|
||||
})()
|
||||
@@ -0,0 +1,2 @@
|
||||
import dotenv from 'dotenv'
|
||||
dotenv.config({ path: '.env.build' })
|
||||
Reference in new issue
Block a user