import { spawnSync } from 'node:child_process'
import { dirname, join } from 'node:path'
import { fileURLToPath } from 'node:url'

const root = join(dirname(fileURLToPath(import.meta.url)), '..')
const inner = join(root, 'scripts', 'run-dev-inner.mjs')
const major = parseInt(process.versions.node.split('.')[0], 10)

const cmd = major >= 20 ? process.execPath : 'npx'
const args = major >= 20 ? [inner] : ['-y', '-p', 'node@20', 'node', inner]

const r = spawnSync(cmd, args, { stdio: 'inherit', cwd: root, shell: false })
process.exit(r.status ?? 1)
