You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.4 KiB
54 lines
1.4 KiB
// @ts-nocheck
|
|
import { exec, spawn, ChildProcess } from "child_process"
|
|
import { join } from "path"
|
|
|
|
export function devVite() {
|
|
return new Promise((resolve, reject) => {
|
|
let viteProcess = spawn("node", [join(__dirname, "../../node_modules/vite/bin/vite.js")], {
|
|
stdio: "pipe",
|
|
// env: Object.assign(process.env, { NODE_ENV: argv.env }),
|
|
})
|
|
if (viteProcess) {
|
|
let isReady = false
|
|
viteProcess.stdout.on("data", data => {
|
|
console.log(`${data}`)
|
|
if (!isReady && data.indexOf("ready") != -1) {
|
|
resolve(viteProcess)
|
|
}
|
|
})
|
|
|
|
viteProcess.stderr.on("data", data => {
|
|
console.error(`[vite err]: ${data}`)
|
|
reject()
|
|
})
|
|
|
|
viteProcess.on("close", code => {
|
|
console.log(`[vite close]: exited with code ${code}`)
|
|
reject()
|
|
})
|
|
} else {
|
|
reject()
|
|
}
|
|
})
|
|
}
|
|
|
|
export function buildVite() {
|
|
return new Promise((resolve, reject) => {
|
|
let viteProcess = spawn("node", [join(__dirname, "../../node_modules/vite/bin/vite.js"), "build"], {
|
|
stdio: "pipe",
|
|
// env: Object.assign(process.env, { NODE_ENV: argv.env }),
|
|
})
|
|
if (viteProcess) {
|
|
viteProcess.stdout.on("end", data => {
|
|
console.log(`\n[vite build end]`)
|
|
resolve(viteProcess)
|
|
})
|
|
viteProcess.stderr.on("data", data => {
|
|
console.error(`\n[vite build err]: ${data}`)
|
|
reject()
|
|
})
|
|
} else {
|
|
reject()
|
|
}
|
|
})
|
|
}
|
|
|