35 lines
795 B
TypeScript
35 lines
795 B
TypeScript
import { execFileSync } from 'node:child_process'
|
|
import { existsSync } from 'node:fs'
|
|
import path from 'node:path'
|
|
|
|
const VITE_MANIFEST_PATH = path.join(process.cwd(), 'public', 'build', 'manifest.json')
|
|
|
|
function ensureCompiledAssets() {
|
|
if (existsSync(VITE_MANIFEST_PATH)) {
|
|
return
|
|
}
|
|
|
|
const npmCommand = process.platform === 'win32' ? 'npm.cmd' : 'npm'
|
|
|
|
execFileSync(npmCommand, ['run', 'build'], {
|
|
cwd: process.cwd(),
|
|
stdio: 'inherit',
|
|
})
|
|
}
|
|
|
|
function warmBladeViews() {
|
|
execFileSync('php', ['artisan', 'view:clear'], {
|
|
cwd: process.cwd(),
|
|
stdio: 'inherit',
|
|
})
|
|
|
|
execFileSync('php', ['artisan', 'view:cache'], {
|
|
cwd: process.cwd(),
|
|
stdio: 'inherit',
|
|
})
|
|
}
|
|
|
|
export default async function globalSetup() {
|
|
ensureCompiledAssets()
|
|
warmBladeViews()
|
|
} |