fix(cli): enforce node engine version on start (#30437)
This commit is contained in:
@@ -15,7 +15,7 @@ If you are looking to import your Google Photos takeout, we recommend this commu
|
|||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- Node.js 20 or above
|
- Node.js 22 or above
|
||||||
- Npm
|
- Npm
|
||||||
|
|
||||||
If you can't install node/npm, there is also a Docker version available below.
|
If you can't install node/npm, there is also a Docker version available below.
|
||||||
|
|||||||
+11
-1
@@ -1,2 +1,12 @@
|
|||||||
#!/usr/bin/env node
|
#!/usr/bin/env node
|
||||||
import '../dist/index.js';
|
import { createRequire } from 'node:module';
|
||||||
|
import semver from 'semver';
|
||||||
|
|
||||||
|
const { engines } = createRequire(import.meta.url)('../package.json');
|
||||||
|
|
||||||
|
if (!semver.satisfies(process.version, engines.node, { includePrerelease: true })) {
|
||||||
|
console.error(`The Immich CLI requires Node.js ${engines.node}, but you are running ${process.version}.`);
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
await import('../dist/index.js');
|
||||||
|
|||||||
@@ -59,13 +59,14 @@
|
|||||||
"check": "tsc --noEmit"
|
"check": "tsc --noEmit"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=20.0.0"
|
"node": ">=22.0.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"chokidar": "^4.0.3",
|
"chokidar": "^4.0.3",
|
||||||
"fast-glob": "^3.3.2",
|
"fast-glob": "^3.3.2",
|
||||||
"fastq": "^1.17.1",
|
"fastq": "^1.17.1",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
"micromatch": "^4.0.8"
|
"micromatch": "^4.0.8",
|
||||||
|
"semver": "^7.8.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Generated
+3
@@ -219,6 +219,9 @@ importers:
|
|||||||
micromatch:
|
micromatch:
|
||||||
specifier: ^4.0.8
|
specifier: ^4.0.8
|
||||||
version: 4.0.8
|
version: 4.0.8
|
||||||
|
semver:
|
||||||
|
specifier: ^7.8.1
|
||||||
|
version: 7.8.5
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@eslint/js':
|
'@eslint/js':
|
||||||
specifier: ^10.0.0
|
specifier: ^10.0.0
|
||||||
|
|||||||
Reference in New Issue
Block a user