]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commitdiff
ui: run npm install when package-lock.json is newer than node_modules (#24171)
authorPascal <redacted>
Fri, 5 Jun 2026 12:57:32 +0000 (14:57 +0200)
committerGitHub <redacted>
Fri, 5 Jun 2026 12:57:32 +0000 (14:57 +0200)
scripts/ui-assets.cmake

index ae7a1cc26d334b75aca4d4f8f88f571ef01330c6..f85c562bd0e5fdcd925e542d494ab11d9ab81409 100644 (file)
@@ -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}"