From 450c1f37a0ca7debf125c47bd43cf85e00c95704 Mon Sep 17 00:00:00 2001 From: "CanbiZ (MickLesk)" <47820557+MickLesk@users.noreply.github.com> Date: Thu, 23 Apr 2026 13:58:55 +0200 Subject: [PATCH] refactor(node-heap): raise auto cap to 12GB and simplify OOM hint - Increase setup_nodejs auto heap clamp from 4GB to 12GB for heavy frontend builds - Keep lower bound at 1GB and preserve user override precedence - Simplify error_handler Node OOM output to a single concise hint - Align error_handler heap suggestion clamp to 12GB --- misc/error_handler.func | 12 ++++-------- misc/tools.func | 6 +++--- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/misc/error_handler.func b/misc/error_handler.func index 53ad6e215..50e8dac42 100644 --- a/misc/error_handler.func +++ b/misc/error_handler.func @@ -347,18 +347,14 @@ error_handler() { if [[ -z "$heap_hint_mb" ]] || ((heap_hint_mb < 1024)); then heap_hint_mb=1024 - elif ((heap_hint_mb > 4096)); then - heap_hint_mb=4096 + elif ((heap_hint_mb > 12288)); then + heap_hint_mb=12288 fi if declare -f msg_warn >/dev/null 2>&1; then - msg_warn "Detected possible Node.js heap OOM during build." - msg_warn "Try: export NODE_OPTIONS=\"--max-old-space-size=${heap_hint_mb}\" before npm/pnpm/yarn build." - msg_warn "Recommendation: call setup_nodejs before build steps so heap defaults are applied automatically." + msg_warn "Possible Node.js heap OOM. Try: export NODE_OPTIONS=\"--max-old-space-size=${heap_hint_mb}\" and rerun the build." else - echo -e "${YW}Detected possible Node.js heap OOM during build.${CL}" - echo -e "${YW}Try: export NODE_OPTIONS=\"--max-old-space-size=${heap_hint_mb}\" before npm/pnpm/yarn build.${CL}" - echo -e "${YW}Recommendation: call setup_nodejs before build steps so heap defaults are applied automatically.${CL}" + echo -e "${YW}Possible Node.js heap OOM. Try: export NODE_OPTIONS=\"--max-old-space-size=${heap_hint_mb}\" and rerun the build.${CL}" fi fi diff --git a/misc/tools.func b/misc/tools.func index 87b848326..1c36fe387 100644 --- a/misc/tools.func +++ b/misc/tools.func @@ -6426,7 +6426,7 @@ function setup_nodejs() { # 2) NODE_MAX_OLD_SPACE_SIZE (explicit MB override) # 3) var_ram (LXC memory setting, MB) # 4) /proc/meminfo (runtime memory detection) - # Auto value is clamped to 1024..4096 MB. + # Auto value is clamped to 1024..12288 MB. if [[ -z "${NODE_OPTIONS:-}" ]]; then local node_heap_mb="" @@ -6445,8 +6445,8 @@ function setup_nodejs() { if [[ -z "$node_heap_mb" ]] || ((node_heap_mb < 1024)); then node_heap_mb=1024 - elif ((node_heap_mb > 4096)); then - node_heap_mb=4096 + elif ((node_heap_mb > 12288)); then + node_heap_mb=12288 fi export NODE_OPTIONS="--max-old-space-size=${node_heap_mb}"