From 81640034f48c908dc30ee5a550010c0372abae82 Mon Sep 17 00:00:00 2001 From: snowrugar-beep Date: Tue, 30 Jun 2026 03:05:54 +0000 Subject: [PATCH] fix(#775): enforce Node.js >= 20 on startup --- src/main.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/main.ts b/src/main.ts index da3ac899..86dc447b 100644 --- a/src/main.ts +++ b/src/main.ts @@ -19,10 +19,17 @@ async function bootstrap() { const logger = new Logger('Bootstrap'); - // Node.js version check (#775) + // Node.js version check (#775): + // package.json declares engines.node >= 18, but several transitive + // dependencies (e.g. @nestjs/* v11) require Node 20+. Enforce that here + // and exit early with a clear message well before any module loads. const nodeMajor = parseInt(process.versions.node.split('.')[0], 10); - if (nodeMajor < 18) { - logger.error(`Node.js >= 18 required, found ${process.versions.node}`); + const REQUIRED_NODE_MAJOR = 20; + if (Number.isNaN(nodeMajor) || nodeMajor < REQUIRED_NODE_MAJOR) { + logger.error( + `Node.js >= ${REQUIRED_NODE_MAJOR} required, found ${process.versions.node}. ` + + `Please upgrade Node.js (see https://nodejs.org/).`, + ); process.exit(1); }