From: Pascal Date: Fri, 5 Jun 2026 12:57:32 +0000 (+0200) Subject: ui: run npm install when package-lock.json is newer than node_modules (#24171) X-Git-Tag: upstream/0.0.10438~910 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=2016bf2b3bca10e49e06a00586a8a2fde9f6cc32;p=pkg%2Fggml%2Fsources%2Fllama.cpp ui: run npm install when package-lock.json is newer than node_modules (#24171) --- diff --git a/scripts/ui-assets.cmake b/scripts/ui-assets.cmake index ae7a1cc26..f85c562bd 100644 --- a/scripts/ui-assets.cmake +++ b/scripts/ui-assets.cmake @@ -126,8 +126,22 @@ function(npm_build out_var) return() endif() - if(NOT EXISTS "${UI_SOURCE_DIR}/node_modules") - message(STATUS "UI: running npm install (first time)") + # npm writes node_modules/.package-lock.json on every successful install, + # so a package-lock.json newer than this marker means node_modules is stale + set(NPM_MARKER "${UI_SOURCE_DIR}/node_modules/.package-lock.json") + set(need_install FALSE) + if(NOT EXISTS "${NPM_MARKER}") + set(need_install TRUE) + else() + file(TIMESTAMP "${UI_SOURCE_DIR}/package-lock.json" lock_ts) + file(TIMESTAMP "${NPM_MARKER}" marker_ts) + if(lock_ts STRGREATER marker_ts) + set(need_install TRUE) + endif() + endif() + + if(need_install) + message(STATUS "UI: running npm install") execute_process( COMMAND ${NPM_EXECUTABLE} install WORKING_DIRECTORY "${UI_SOURCE_DIR}"