fix: show clear error when Node.js is too old instead of a parse crash

This commit is contained in:
LeBaronDeCharlus
2026-06-29 14:36:41 +02:00
parent 69027331b2
commit cda377a420
3 changed files with 23 additions and 4 deletions
+3 -3
View File
@@ -1,11 +1,11 @@
{
"name": "torlink",
"name": "torlnk",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "torlink",
"name": "torlnk",
"version": "1.0.0",
"license": "MIT",
"dependencies": {
@@ -16,7 +16,7 @@
"webtorrent": "^2.4.1"
},
"bin": {
"torlink": "dist/index.js"
"torlnk": "dist/cli.cjs"
},
"devDependencies": {
"@types/node": "^25.9.2",
+2 -1
View File
@@ -4,7 +4,7 @@
"description": "A sleek, zero-setup torrent finder and downloader that lives right in your terminal.",
"type": "module",
"bin": {
"torlnk": "./dist/index.js"
"torlnk": "./dist/cli.cjs"
},
"files": [
"dist",
@@ -16,6 +16,7 @@
"scripts": {
"dev": "tsx src/index.tsx",
"build": "tsup",
"postbuild": "cp scripts/cli-entry.cjs dist/cli.cjs && chmod +x dist/cli.cjs",
"start": "node dist/index.js",
"typecheck": "tsc --noEmit",
"test": "vitest run",
+18
View File
@@ -0,0 +1,18 @@
#!/usr/bin/env node
'use strict';
var major = parseInt(process.versions.node.split('.')[0], 10);
if (major < 22) {
process.stderr.write(
'\ntorlnk requires Node.js v22 or later.\n' +
'You are running v' + process.versions.node + '.\n\n' +
'Upgrade: https://nodejs.org\n' +
'With nvm: nvm install 22 && nvm use 22\n\n'
);
process.exit(1);
}
import('./index.js').catch(function (err) {
process.stderr.write(String((err && err.message) || err) + '\n');
process.exit(1);
});