mirror of
https://github.com/EvolutionAPI/evolution-manager.git
synced 2025-07-14 01:41:24 -06:00
54 lines
1.4 KiB
JavaScript
54 lines
1.4 KiB
JavaScript
const { exec } = require('child_process')
|
|
const fs = require('fs')
|
|
const path = require('path')
|
|
|
|
module.exports = (envs = {}) => {
|
|
return new Promise((resolve, reject) => {
|
|
verifyViteInstallation().then(() => {
|
|
console.log('📦 Build start')
|
|
console.time('📦 Build complete')
|
|
const distFolder = path.join(__dirname, '..', '..', 'dist')
|
|
if (fs.existsSync(distFolder)) {
|
|
console.time('📦 Remove dist folder')
|
|
fs.rmSync(distFolder, { recursive: true, force: true })
|
|
console.timeEnd('📦 Remove dist folder')
|
|
}
|
|
|
|
// pass envs to build
|
|
exec(`npm run build`, { env: envs, cwd: path.join(__dirname, '..', '..') }, (err, stdout) => {
|
|
if (err) {
|
|
console.error(err)
|
|
reject(err)
|
|
return
|
|
}
|
|
console.log(stdout)
|
|
console.timeEnd('📦 Build complete')
|
|
resolve()
|
|
})
|
|
})
|
|
}).catch(() => {
|
|
return
|
|
})
|
|
}
|
|
|
|
|
|
const verifyViteInstallation = () => {
|
|
return new Promise((resolve, reject) => {
|
|
exec(`vite --v`, (err) => {
|
|
if (!err) return resolve()
|
|
|
|
console.log('🚨 Vite not installed, trying to install it')
|
|
exec(`npm install -g vite`, (err) => {
|
|
if (err) {
|
|
console.log('🚨 Vite installation failed')
|
|
reject(err)
|
|
return
|
|
}
|
|
|
|
console.log('🚨 Vite installed')
|
|
console.log('🔁 Run the command again')
|
|
reject()
|
|
})
|
|
})
|
|
})
|
|
} |