check node version at start
Massimo Melina committed
Aug 27, 2025 at 00:02 UTC
11e1ed8c59827ac15ad9113bfad365efc456e3e5
2 files changed
+7
-2
src/config.ts
+1
-1
@@ -42,7 +42,7 @@ export const versionToScalar = _.memoize((ver: string) => { // memoize so we don
42
return officialScalar - betaScalar
43
})
44
45
-class Version extends String {
45
+export class Version extends String {
46
readonly scalar
47
constructor(v: string) {
48
super(v)
src/index.ts
+6
-1
@@ -15,7 +15,7 @@ import { serveGuiAndSharedFiles } from './serveGuiAndSharedFiles'
15
import './listen'
16
import './commands'
17
import { adminApis } from './adminApis'
18
-import { defineConfig } from './config'
18
+import { defineConfig, Version } from './config'
19
import { ok } from 'assert'
20
import _ from 'lodash'
21
import { randomId } from './misc'
@@ -30,6 +30,11 @@ import './outboundProxy'
30
31
ok(_.intersection(Object.keys(frontEndApis), Object.keys(adminApis)).length === 0) // they share same endpoints, don't clash
32
33
+if (new Version(process.versions.node).olderThan('18.15.0')) {
34
+ console.error("Node.js 18.15+ is required, please update")
35
+ process.exit(2)
36
+}
37
+
38
process.title = 'HFS ' + VERSION
39
const keys = process.env.COOKIE_SIGN_KEYS?.split(',')
40
|| [randomId(30)] // randomness at start gives some extra security, btu also invalidates existing sessions