@samitouri / QOSami-HFS / commits / 11e1ed8c

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