diff --git a/package.json b/package.json index 1659e0aa6..a2ec15ef5 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "dev:bun": "bun scripts/dev.cjs", "verify": "tsgo --noEmit", "verify:tsc": "tsc --noEmit", - "raw": "node --experimental-transform-types src/index.ts", + "raw": "node scripts/raw-precheck.js && node --experimental-transform-types src/index.ts", "raw:bun": "bun src/index.ts", "lint": "eslint --ext .ts .", "lint:ci": "eslint --ext .ts --rule \"prettier/prettier: off\" .", diff --git a/scripts/raw-precheck.js b/scripts/raw-precheck.js new file mode 100644 index 000000000..a18c418f2 --- /dev/null +++ b/scripts/raw-precheck.js @@ -0,0 +1,9 @@ +const [major, minor] = process.versions.node.split(".").map(x => parseInt(x)); +if (major > 22 || (major == 22 && minor >= 7)) { + // ok +} else { + console.log("Sorry, your Node version is a bit too old for this. You have 2 options:"); + console.log("- Update Node.js."); + console.log("- Use 'npm run build && npm run start'. Optional libraries must be installed for this."); + process.exit(1); +}