forked from zhouruizhe/gmTouringMiniApp
32 lines
864 B
JavaScript
32 lines
864 B
JavaScript
import { spawn } from 'node:child_process'
|
||
import { resolve } from 'node:path'
|
||
import process from 'node:process'
|
||
|
||
const projectRoot = process.cwd()
|
||
const uniCli = resolve(projectRoot, 'node_modules/@dcloudio/vite-plugin-uni/bin/uni.js')
|
||
|
||
// Some macOS sessions expose a low launchd file-watch limit even when the
|
||
// shell's ulimit is high. Polling keeps uni-app builds reliable in that case.
|
||
const child = spawn(process.execPath, [uniCli, ...process.argv.slice(2)], {
|
||
cwd: projectRoot,
|
||
env: {
|
||
...process.env,
|
||
CHOKIDAR_USEPOLLING: process.env.CHOKIDAR_USEPOLLING || '1',
|
||
},
|
||
stdio: 'inherit',
|
||
})
|
||
|
||
child.on('error', (error) => {
|
||
console.error(`无法启动 uni-app CLI:${error.message}`)
|
||
process.exit(1)
|
||
})
|
||
|
||
child.on('exit', (code, signal) => {
|
||
if (signal) {
|
||
process.kill(process.pid, signal)
|
||
return
|
||
}
|
||
|
||
process.exit(code ?? 1)
|
||
})
|