37 lines
953 B
JavaScript
37 lines
953 B
JavaScript
import { spawnSync } from 'node:child_process'
|
|
import { dirname, resolve } from 'node:path'
|
|
import { fileURLToPath } from 'node:url'
|
|
|
|
const __filename = fileURLToPath(import.meta.url)
|
|
const __dirname = dirname(__filename)
|
|
|
|
const args = process.argv.slice(2)
|
|
const mode = args[0] || 'production'
|
|
const keepLogs = args.includes('--keep-logs')
|
|
|
|
const viteBin = resolve(__dirname, '../node_modules/vite/bin/vite.js')
|
|
const versionScript = resolve(__dirname, './generate-version.js')
|
|
|
|
const buildEnv = {
|
|
...process.env,
|
|
LIKEI_KEEP_BUILD_LOGS: keepLogs ? 'true' : 'false',
|
|
}
|
|
|
|
function runNodeScript(scriptPath, scriptArgs = []) {
|
|
const result = spawnSync(process.execPath, [scriptPath, ...scriptArgs], {
|
|
stdio: 'inherit',
|
|
env: buildEnv,
|
|
})
|
|
|
|
if (result.error) {
|
|
throw result.error
|
|
}
|
|
|
|
if (result.status !== 0) {
|
|
process.exit(result.status ?? 1)
|
|
}
|
|
}
|
|
|
|
runNodeScript(viteBin, ['build', '--mode', mode])
|
|
runNodeScript(versionScript)
|