const childProcess = require("node:child_process") function getJavaVersionOutput(defaultCommand = "java") { try { const command = childProcess.spawnSync(defaultCommand, ["-version"], { encoding: "utf-8", windowsHide: true, }) if (command.error) { return null } return command.stderr || command.stdout || "" } catch { return null } } function parseJavaOutput(output) { if (!output || typeof output !== "string") { return null } const match = output.match(/version\s+"(?:1\.)?(\d+)/i) return match ? parseInt(match[1], 10) : null } function isJavaCompatible(output, requiredMajor) { return parseJavaOutput(output) === requiredMajor } module.exports = { getJavaVersionOutput, isJavaCompatible, parseJavaOutput, }