diff --git a/CMake/NPMInstall.cmake b/CMake/NPMInstall.cmake
index 687480f98adeae32f9b44b4b05f4a1e1486a0c01..bedfc0148ebcd9b46c27f8206a053b01040a2e4e 100644
--- a/CMake/NPMInstall.cmake
+++ b/CMake/NPMInstall.cmake
@@ -83,8 +83,9 @@ function(npm_install NPM_PACKAGE_SPECIFICATION)
     endif(NOT NPM_INSTALL_SOURCE)
 
 
+    
+    string(REPLACE ".json" "-lock.json" JSON_PACKAGE_LOCK_SPECIFICATION "${JSON_PACKAGE_SPECIFICATION}")
     # Compute the full path to the source, and the public directory, and the json spec
-
     get_filename_component(WEBSITE_PUBLIC_DIR "${NPM_INSTALL_PUBLIC}" REALPATH)
     get_filename_component(WEBSITE_SOURCE_DIR "${NPM_INSTALL_SOURCE}" REALPATH)
     get_filename_component(JSON_PACKAGE_SPECIFICATION "${NPM_PACKAGE_SPECIFICATION}" REALPATH)
@@ -111,10 +112,17 @@ function(npm_install NPM_PACKAGE_SPECIFICATION)
 
     add_custom_command(
     OUTPUT "${NPM_BINARY_DIR}/package.json"
+    OUTPUT "${NPM_BINARY_DIR}/package-lock.json"
     COMMAND ${CMAKE_COMMAND} -E copy_if_different "${JSON_PACKAGE_SPECIFICATION}" "${NPM_BINARY_DIR}/package.json"
-    DEPENDS ${JSON_PACKAGE_SPECIFICATION}
+    COMMAND ${CMAKE_COMMAND} -E copy_if_different "${JSON_PACKAGE_LOCK_SPECIFICATION}" "${NPM_BINARY_DIR}/package-lock.json"
+    DEPENDS 
+            ${JSON_PACKAGE_SPECIFICATION}    
+            ${JSON_PACKAGE_LOCK_SPECIFICATION}
     COMMENT "Copying ${JSON_PACKAGE_SPECIFICATION} to ${NPM_BINARY_DIR}/package.json for ${PACKAGE_NAME}")
 
+   
+
+
     foreach(file ${SOURCE_FILES})
         add_custom_command(OUTPUT "${NPM_BINARY_DIR}/src/${file}"
                     COMMAND ${CMAKE_COMMAND} -E copy_if_different ${WEBSITE_SOURCE_DIR}/${file} ${NPM_BINARY_DIR}/src/${file}
@@ -161,11 +169,13 @@ function(npm_install NPM_PACKAGE_SPECIFICATION)
 
 
     add_custom_command(
-    OUTPUT "${NPM_BINARY_DIR}/node_modules" "${NPM_BINARY_DIR}/package-lock.json"
-    COMMAND NODE_OPTIONS="--max-old-space-size=8192" npm install --legacy-peer-deps
-    DEPENDS "${NPM_BINARY_DIR}/package.json"
+    OUTPUT "${NPM_BINARY_DIR}/node_modules" 
+    COMMAND ${CMAKE_COMMAND} -E echo "Starting NPM CI"
+    COMMAND NODE_OPTIONS="--max-old-space-size=8192" npm ci 
+    COMMAND ${CMAKE_COMMAND} -E echo "Completed  NPM CI"
+    DEPENDS "${NPM_BINARY_DIR}/package.json" "${NPM_BINARY_DIR}/package-lock.json"
     WORKING_DIRECTORY "${NPM_BINARY_DIR}"
-    COMMENT "Downloading npm dependencies for ${NPM_BINARY_DIR}/package.json")
+    COMMENT "Downloading npm dependencies for ${NPM_BINARY_DIR}/package.json with the help of the lock file")
 
     add_custom_command(
     TARGET start_development_server_${PACKAGE_NAME}