From 8764b678413f02b07d20373c0b025124fe8c1951 Mon Sep 17 00:00:00 2001
From: RIHTARSIC Joze <joze.rihtarsic@ext.ec.europa.eu>
Date: Sat, 26 Oct 2024 06:32:09 +0200
Subject: [PATCH] Fix angular build with preinstalled node and update angular
 libraries

---
 Notice.md                     |  27 ++--
 pom.xml                       |   1 -
 smp-angular/package-lock.json | 283 ++++++++++++++++++----------------
 smp-angular/package.json      |  37 +++--
 smp-angular/pom.xml           |  39 ++---
 5 files changed, 186 insertions(+), 201 deletions(-)

diff --git a/Notice.md b/Notice.md
index 145e621ed..0e394ca25 100644
--- a/Notice.md
+++ b/Notice.md
@@ -24,28 +24,28 @@ This product includes dynamically linked software developed by third parties whi
 - Copyright:
   - Copyright (c) 2005 - 2024 QOS.ch (http://www.qos.ch), Ceki Gulcu, Joern Huxhorn
 
-***com.fasterxml.jackson.core:jackson-core:2.17.2*** 
+***com.fasterxml.jackson.core:jackson-core:2.18.0*** 
 - License: Apache-2.0
 - Url: https://www.apache.org/licenses/LICENSE-2.0.txt
 - File: license/third-party-licenses/Apache-2.0.txt
 - Copyright:
   - Copyright (c) 2008 - 2024 FasterXML (http://fasterxml.com/), Tatu Saloranta
 
-***com.fasterxml.jackson.core:jackson-databind:2.17.2*** 
+***com.fasterxml.jackson.core:jackson-databind:2.18.0*** 
 - License: Apache-2.0
 - Url: https://www.apache.org/licenses/LICENSE-2.0.txt
 - File: license/third-party-licenses/Apache-2.0.txt
 - Copyright:
   - Copyright (c) 2008 - 2024 FasterXML (http://fasterxml.com/), Tatu Saloranta
 
-***com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.17.2*** 
+***com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.18.0*** 
 - License: Apache-2.0
 - Url: http://www.apache.org/licenses/LICENSE-2.0.txt
 - File: license/third-party-licenses/Apache-2.0.txt
 - Copyright:
   - Copyright (c) 2024 FasterXML (http://fasterxml.com/), Nick Williams
 
-***com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.17.2*** 
+***com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.18.0*** 
 - License: Apache-2.0
 - Url: https://www.apache.org/licenses/LICENSE-2.0.txt
 - File: license/third-party-licenses/Apache-2.0.txt
@@ -80,7 +80,7 @@ This product includes dynamically linked software developed by third parties whi
 - Copyright:
   - Copyright (c) 2002 - 2024 The Apache Software Foundation (https://www.apache.org/), Don Brown, Martin Cooper, David Graham, Ted Husted, Rob Leland, Craig McClanahan, James Mitchell, Niall Pemberton, James Turner, David Winterfeldt, Henri Yandell, Ben Speakmon, Nick Burch, SimoneTripodi, Benedikt Ritter, Gary Gregory
 
-***jakarta.servlet:jakarta.servlet-api:4.0.2*** 
+***jakarta.servlet:jakarta.servlet-api:4.0.4*** 
 - License: EPL-2.0
 - Url: http://www.eclipse.org/legal/epl-2.0
 - File: license/third-party-licenses/EPL-2.0.txt
@@ -147,7 +147,7 @@ This product includes dynamically linked software developed by third parties whi
 - Copyright:
   - Copyright (c) 1999 - 2024 The Apache Software Foundation (http://www.apache.org/), Ortwin Glueck, Oleg Kalnichevski, Asankha C. Perera, Sebastian Bazley, Erik Abele, Ant Elder, Paul Fremantle, Roland Weber, Sam Berlin, Sean C. Sullivan, Jonathan Moore, Gary Gregory, William Speirs, Karl Wright, Francois-Xavier Bonnet
 
-***org.apache.tomcat.embed:tomcat-embed-jasper:9.0.95*** 
+***org.apache.tomcat.embed:tomcat-embed-jasper:9.0.96*** 
 - License: Apache-2.0
 - Url: http://www.apache.org/licenses/LICENSE-2.0.txt
 - File: license/third-party-licenses/Apache-2.0.txt
@@ -161,13 +161,6 @@ This product includes dynamically linked software developed by third parties whi
 - Copyright:
   - Copyright (c) 2024 Terracotta Inc., a wholly-owned subsidiary of Software AG USA, Inc. (http://terracotta.org), Terracotta Engineers
 
-***org.glassfish.jaxb:jaxb-runtime:2.3.8*** 
-- License: BSD-3-Clause
-- Url: http://www.eclipse.org/org/documents/edl-v10.php
-- File: license/third-party-licenses/BSD-3-Clause.txt
-- Copyright:
-  - Copyright (c) 2017 - 2024 Eclipse Foundation (https://www.eclipse.org), Roman Grigoriadi
-
 ***org.glassfish.jaxb:jaxb-runtime:2.3.9*** 
 - License: BSD-3-Clause
 - Url: http://www.eclipse.org/org/documents/edl-v10.php
@@ -266,28 +259,28 @@ This product includes dynamically linked software developed by third parties whi
 - Copyright:
   - Copyright (c) 2024 VMware, Inc. (https://spring.io), Spring
 
-***org.springframework.security:spring-security-cas:5.8.14*** 
+***org.springframework.security:spring-security-cas:5.8.15*** 
 - License: Apache-2.0
 - Url: https://www.apache.org/licenses/LICENSE-2.0
 - File: license/third-party-licenses/Apache-2.0.txt
 - Copyright:
   - Copyright (c) 2024 Pivotal Software, Inc. (https://spring.io), Pivotal
 
-***org.springframework.security:spring-security-config:5.8.14*** 
+***org.springframework.security:spring-security-config:5.8.15*** 
 - License: Apache-2.0
 - Url: https://www.apache.org/licenses/LICENSE-2.0
 - File: license/third-party-licenses/Apache-2.0.txt
 - Copyright:
   - Copyright (c) 2024 Pivotal Software, Inc. (https://spring.io), Pivotal
 
-***org.springframework.security:spring-security-core:5.8.14*** 
+***org.springframework.security:spring-security-core:5.8.15*** 
 - License: Apache-2.0
 - Url: https://www.apache.org/licenses/LICENSE-2.0
 - File: license/third-party-licenses/Apache-2.0.txt
 - Copyright:
   - Copyright (c) 2024 Pivotal Software, Inc. (https://spring.io), Pivotal
 
-***org.springframework.security:spring-security-test:5.8.14*** 
+***org.springframework.security:spring-security-test:5.8.15*** 
 - License: Apache-2.0
 - Url: https://www.apache.org/licenses/LICENSE-2.0
 - File: license/third-party-licenses/Apache-2.0.txt
diff --git a/pom.xml b/pom.xml
index 94802db30..67224e3e0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1035,7 +1035,6 @@ See the Licence for the specific language governing permissions and limitations
                                     <stylesheet>license/config/license.xsl</stylesheet>
                                     <outputDir>./</outputDir>
 
-
                                     <fileMappers>
                                         <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.RegExpFileMapper">
                                             <pattern>licenses.xml</pattern>
diff --git a/smp-angular/package-lock.json b/smp-angular/package-lock.json
index b8ca27f26..dc1579459 100644
--- a/smp-angular/package-lock.json
+++ b/smp-angular/package-lock.json
@@ -9,19 +9,19 @@
       "version": "5.1.0",
       "license": "EUPL 1.2",
       "dependencies": {
-        "@angular/animations": "^18.2.8",
-        "@angular/cdk": "^18.2.9",
-        "@angular/common": "^18.2.8",
-        "@angular/compiler": "^18.2.8",
-        "@angular/core": "^18.2.8",
+        "@angular/animations": "^18.2.9",
+        "@angular/cdk": "^18.2.10",
+        "@angular/common": "^18.2.9",
+        "@angular/compiler": "^18.2.9",
+        "@angular/core": "^18.2.9",
         "@angular/flex-layout": "^15.0.0-beta.42",
-        "@angular/forms": "^18.2.8",
-        "@angular/material": "^18.2.9",
-        "@angular/material-moment-adapter": "^18.2.9",
-        "@angular/platform-browser": "^18.2.8",
-        "@angular/platform-browser-dynamic": "^18.2.8",
-        "@angular/platform-server": "^18.2.8",
-        "@angular/router": "^18.2.8",
+        "@angular/forms": "^18.2.9",
+        "@angular/material": "^18.2.10",
+        "@angular/material-moment-adapter": "^18.2.10",
+        "@angular/platform-browser": "^18.2.9",
+        "@angular/platform-browser-dynamic": "^18.2.9",
+        "@angular/platform-server": "^18.2.9",
+        "@angular/router": "^18.2.9",
         "@codemirror/commands": "^6.7.1",
         "@codemirror/language": "^6.10.3",
         "@codemirror/language-data": "^6.5.1",
@@ -37,18 +37,17 @@
         "zone.js": "^0.14.10"
       },
       "devDependencies": {
-        "@angular-devkit/build-angular": "^18.2.8",
-        "@angular/cli": "^18.2.8",
-        "@angular/compiler-cli": "^18.2.8",
+        "@angular-devkit/build-angular": "^18.2.10",
+        "@angular/cli": "^18.2.10",
+        "@angular/compiler-cli": "^18.2.9",
         "@types/jasmine": "^5.1.4",
-        "@types/node": "^18.15.6",
+        "@types/node": "^18.19.59",
         "hammerjs": "^2.0.8",
         "jasmine-spec-reporter": "7.0.0",
         "karma": "^6.4.4",
         "karma-jasmine": "^5.1.0",
         "ng-packagr": "^18.2.1",
         "postcss": "^8.4.47",
-        "tslib": "^2.7.0",
         "typescript": "^5.4.5"
       },
       "peerDependencies": {
@@ -70,13 +69,13 @@
       }
     },
     "node_modules/@angular-devkit/architect": {
-      "version": "0.1802.9",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.9.tgz",
-      "integrity": "sha512-fubJf4WC/t3ITy+tyjI4/CKKwUP4XJTmV+Y0nyPcrkcthVyUcIpZB74NlUOvg6WECiPQuIc+CtoAaA9X5+RQ5Q==",
+      "version": "0.1802.10",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.10.tgz",
+      "integrity": "sha512-/xudcHK2s4J/GcL6qyobmGaWMHQcYLSMqCaWMT+nK6I6tu9VEAj/p3R83Tzx8B/eKi31Pz499uHw9pmqdtbafg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@angular-devkit/core": "18.2.9",
+        "@angular-devkit/core": "18.2.10",
         "rxjs": "7.8.1"
       },
       "engines": {
@@ -86,17 +85,17 @@
       }
     },
     "node_modules/@angular-devkit/build-angular": {
-      "version": "18.2.9",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-18.2.9.tgz",
-      "integrity": "sha512-d4W6t9vBozFUmOP2VvihMcSg/zgr3AvJY6/b7OPuATlK+W3P6tmsqxGIQ6eKc1TxXeu3lWhi14mV2pPykfrwfA==",
+      "version": "18.2.10",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-18.2.10.tgz",
+      "integrity": "sha512-47XgJ5fdIqlZUFWAo/XtNsh3y597DtLZWvfsnwShw6/TgyiV0rbL1Z24Rn2TCV1D/b3VhLutAIIZ/i5O5BirxQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "@ampproject/remapping": "2.3.0",
-        "@angular-devkit/architect": "0.1802.9",
-        "@angular-devkit/build-webpack": "0.1802.9",
-        "@angular-devkit/core": "18.2.9",
-        "@angular/build": "18.2.9",
+        "@angular-devkit/architect": "0.1802.10",
+        "@angular-devkit/build-webpack": "0.1802.10",
+        "@angular-devkit/core": "18.2.10",
+        "@angular/build": "18.2.10",
         "@babel/core": "7.25.2",
         "@babel/generator": "7.25.0",
         "@babel/helper-annotate-as-pure": "7.24.7",
@@ -107,7 +106,7 @@
         "@babel/preset-env": "7.25.3",
         "@babel/runtime": "7.25.0",
         "@discoveryjs/json-ext": "0.6.1",
-        "@ngtools/webpack": "18.2.9",
+        "@ngtools/webpack": "18.2.10",
         "@vitejs/plugin-basic-ssl": "1.1.0",
         "ansi-colors": "4.1.3",
         "autoprefixer": "10.4.20",
@@ -118,7 +117,7 @@
         "css-loader": "7.1.2",
         "esbuild-wasm": "0.23.0",
         "fast-glob": "3.3.2",
-        "http-proxy-middleware": "3.0.0",
+        "http-proxy-middleware": "3.0.3",
         "https-proxy-agent": "7.0.5",
         "istanbul-lib-instrument": "6.0.3",
         "jsonc-parser": "3.3.1",
@@ -251,13 +250,13 @@
       "license": "0BSD"
     },
     "node_modules/@angular-devkit/build-webpack": {
-      "version": "0.1802.9",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1802.9.tgz",
-      "integrity": "sha512-p7xNGo5ZTV/Z0Rk+q2/E68QQLw9VT33kauDh6s010jIeBLrOwMo74JpzXMSFttQo5O4bLKP8IORzIM+0q7Uzjg==",
+      "version": "0.1802.10",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1802.10.tgz",
+      "integrity": "sha512-WRftK/RJ9rBDDmkx5IAtIpyNo0DJiMfgGUTuZNpNUaJfSfGeaSZYgC7o1++axMchID8pncmI3Hr8L8gaP94WQg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@angular-devkit/architect": "0.1802.9",
+        "@angular-devkit/architect": "0.1802.10",
         "rxjs": "7.8.1"
       },
       "engines": {
@@ -271,9 +270,9 @@
       }
     },
     "node_modules/@angular-devkit/core": {
-      "version": "18.2.9",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.2.9.tgz",
-      "integrity": "sha512-bsVt//5E0ua7FZfO0dCF/qGGY6KQD34/bNGyRu5B6HedimpdU2/0PGDptksU5v3yKEc9gNw0xC6mT0UsY/R9pA==",
+      "version": "18.2.10",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.2.10.tgz",
+      "integrity": "sha512-LFqiNdraBujg8e1lhuB0bkFVAoIbVbeXXwfoeROKH60OPbP8tHdgV6sFTqU7UGBKA+b+bYye70KFTG2Ys8QzKQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -299,13 +298,13 @@
       }
     },
     "node_modules/@angular-devkit/schematics": {
-      "version": "18.2.9",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-18.2.9.tgz",
-      "integrity": "sha512-aIY5/IomDOINGCtFYi77uo0acDpdQNNCighfBBUGEBNMQ1eE3oGNGpLAH/qWeuxJndgmxrdKsvws9DdT46kLig==",
+      "version": "18.2.10",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-18.2.10.tgz",
+      "integrity": "sha512-EIm/yCYg3ZYPsPYJxXRX5F6PofJCbNQ5rZEuQEY09vy+ZRTqGezH0qoUP5WxlYeJrjiRLYqADI9WtVNzDyaD4w==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@angular-devkit/core": "18.2.9",
+        "@angular-devkit/core": "18.2.10",
         "jsonc-parser": "3.3.1",
         "magic-string": "0.30.11",
         "ora": "5.4.1",
@@ -318,9 +317,9 @@
       }
     },
     "node_modules/@angular/animations": {
-      "version": "18.2.8",
-      "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-18.2.8.tgz",
-      "integrity": "sha512-dMSn2hg70siv3lhP+vqhMbgc923xw6XBUvnpCPEzhZqFHvPXfh/LubmsD5RtqHmjWebXtgVcgS+zg3Gq3jB2lg==",
+      "version": "18.2.9",
+      "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-18.2.9.tgz",
+      "integrity": "sha512-GAsTKENoTRVKgXX4ACBMMTp8SW4rW8u637uLag+ttJV2XBzC3YJlw5m6b/W4cdrmqZjztoEwUjR6CUTjBqMujQ==",
       "license": "MIT",
       "dependencies": {
         "tslib": "^2.3.0"
@@ -329,18 +328,18 @@
         "node": "^18.19.1 || ^20.11.1 || >=22.0.0"
       },
       "peerDependencies": {
-        "@angular/core": "18.2.8"
+        "@angular/core": "18.2.9"
       }
     },
     "node_modules/@angular/build": {
-      "version": "18.2.9",
-      "resolved": "https://registry.npmjs.org/@angular/build/-/build-18.2.9.tgz",
-      "integrity": "sha512-o1hOEM2e6ARy+ck2Pohl0d/RFgbbXTw6/hTLAj3CBKjtqAGStRaVF2UlJjhi+xOxlfsOPuJJc9IpzLBteku+Ag==",
+      "version": "18.2.10",
+      "resolved": "https://registry.npmjs.org/@angular/build/-/build-18.2.10.tgz",
+      "integrity": "sha512-YFBKvAyC5sH17yRYcx7VHCtJ4KUg7xCjCQ4Pe16kiTvW6vuYsgU6Btyti0Qgewd7XaWpTM8hk8N6hE4Z0hpflw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "@ampproject/remapping": "2.3.0",
-        "@angular-devkit/architect": "0.1802.9",
+        "@angular-devkit/architect": "0.1802.10",
         "@babel/core": "7.25.2",
         "@babel/helper-annotate-as-pure": "7.24.7",
         "@babel/helper-split-export-declaration": "7.24.7",
@@ -402,9 +401,9 @@
       }
     },
     "node_modules/@angular/cdk": {
-      "version": "18.2.9",
-      "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-18.2.9.tgz",
-      "integrity": "sha512-hV2dXpvy2TLwCsRtI/ZXkb2EoaJiellRr+kbcnKwO15LFoz3mTAOhKtsvu7yOyURkaPiI605qiIZrPP4zLL1qw==",
+      "version": "18.2.10",
+      "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-18.2.10.tgz",
+      "integrity": "sha512-Weh0slrfWNp5N6UO4m3tXzs2QBFexNsnJf1dq0oaLDBgfkuqUmxdCkurSv5+lWZRkTPLYmd/hQeJpvrhxMCleg==",
       "license": "MIT",
       "dependencies": {
         "tslib": "^2.3.0"
@@ -419,18 +418,18 @@
       }
     },
     "node_modules/@angular/cli": {
-      "version": "18.2.9",
-      "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-18.2.9.tgz",
-      "integrity": "sha512-ejTIqwvPABwK7MtVmI2qWbEaMhhbHNsq0NPzl1hwLtkrLbjdDrEVv0Wy+gN0xqrT9NyCPl4AmNLz/xuYTzgU5g==",
+      "version": "18.2.10",
+      "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-18.2.10.tgz",
+      "integrity": "sha512-qW/F3XVZMzzenFzbn+7FGpw8GOt9qW8UxBtYya7gUNdWlcsgGUk+ZaGC2OLbfI5gX6pchW4TOPMsDSMeaCEI2Q==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@angular-devkit/architect": "0.1802.9",
-        "@angular-devkit/core": "18.2.9",
-        "@angular-devkit/schematics": "18.2.9",
+        "@angular-devkit/architect": "0.1802.10",
+        "@angular-devkit/core": "18.2.10",
+        "@angular-devkit/schematics": "18.2.10",
         "@inquirer/prompts": "5.3.8",
         "@listr2/prompt-adapter-inquirer": "2.0.15",
-        "@schematics/angular": "18.2.9",
+        "@schematics/angular": "18.2.10",
         "@yarnpkg/lockfile": "1.1.0",
         "ini": "4.1.3",
         "jsonc-parser": "3.3.1",
@@ -453,9 +452,9 @@
       }
     },
     "node_modules/@angular/common": {
-      "version": "18.2.8",
-      "resolved": "https://registry.npmjs.org/@angular/common/-/common-18.2.8.tgz",
-      "integrity": "sha512-TYsKtE5nVaIScWSLGSO34Skc+s3hB/BujSddnfQHoNFvPT/WR0dfmdlpVCTeLj+f50htFoMhW11tW99PbK+whQ==",
+      "version": "18.2.9",
+      "resolved": "https://registry.npmjs.org/@angular/common/-/common-18.2.9.tgz",
+      "integrity": "sha512-Opi6DVaU0aGyJqLk5jPmeYx559fp3afj4wuxM5aDzV4KEVGDVbNCpO0hMuwHZ6rtCjHhv1fQthgS48qoiQ6LKw==",
       "license": "MIT",
       "dependencies": {
         "tslib": "^2.3.0"
@@ -464,14 +463,14 @@
         "node": "^18.19.1 || ^20.11.1 || >=22.0.0"
       },
       "peerDependencies": {
-        "@angular/core": "18.2.8",
+        "@angular/core": "18.2.9",
         "rxjs": "^6.5.3 || ^7.4.0"
       }
     },
     "node_modules/@angular/compiler": {
-      "version": "18.2.8",
-      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-18.2.8.tgz",
-      "integrity": "sha512-JRedHNfK1CCPVyeGQB5w3WBYqMA6X8Q240CkvjlGfn0pVXihf9DWk3nkSQJVgYxpvpHfxdgjaYZ5IpMzlkmkhw==",
+      "version": "18.2.9",
+      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-18.2.9.tgz",
+      "integrity": "sha512-fchbcbsyTOd/qHGy+yPEmE1p10OTNEjGrWHQzUbf3xdlm23EvxHTitHh8i6EBdwYnM5zz0IIBhltP8tt89oeYw==",
       "license": "MIT",
       "dependencies": {
         "tslib": "^2.3.0"
@@ -480,7 +479,7 @@
         "node": "^18.19.1 || ^20.11.1 || >=22.0.0"
       },
       "peerDependencies": {
-        "@angular/core": "18.2.8"
+        "@angular/core": "18.2.9"
       },
       "peerDependenciesMeta": {
         "@angular/core": {
@@ -489,9 +488,9 @@
       }
     },
     "node_modules/@angular/compiler-cli": {
-      "version": "18.2.8",
-      "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-18.2.8.tgz",
-      "integrity": "sha512-OksDE4LWQUCcIvMjtZF7eiDCdIMrcMMpC1+Q0PIYi7KmnqXFGs4/Y0NdJvtn/LrQznzz5WaKM3ZDVNZTRX4wmw==",
+      "version": "18.2.9",
+      "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-18.2.9.tgz",
+      "integrity": "sha512-4iMoRvyMmq/fdI/4Gob9HKjL/jvTlCjbS4kouAYHuGO9w9dmUhi1pY1z+mALtCEl9/Q8CzU2W8e5cU2xtV4nVg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -513,7 +512,7 @@
         "node": "^18.19.1 || ^20.11.1 || >=22.0.0"
       },
       "peerDependencies": {
-        "@angular/compiler": "18.2.8",
+        "@angular/compiler": "18.2.9",
         "typescript": ">=5.4 <5.6"
       }
     },
@@ -548,9 +547,9 @@
       }
     },
     "node_modules/@angular/core": {
-      "version": "18.2.8",
-      "resolved": "https://registry.npmjs.org/@angular/core/-/core-18.2.8.tgz",
-      "integrity": "sha512-NwIuX/Iby1jT6Iv1/s6S3wOFf8xfuQR3MPGvKhGgNtjXLbHG+TXceK9+QPZC0s9/Z8JR/hz+li34B79GrIKgUg==",
+      "version": "18.2.9",
+      "resolved": "https://registry.npmjs.org/@angular/core/-/core-18.2.9.tgz",
+      "integrity": "sha512-h9/Bzo/7LTPzzh9I/1Gk8TWOXPGeHt3jLlnYrCh2KbrWbTErNtW0V3ad5I3Zv+K2Z7RSl9Z3D3Y6ILH796N4ZA==",
       "license": "MIT",
       "dependencies": {
         "tslib": "^2.3.0"
@@ -581,9 +580,9 @@
       }
     },
     "node_modules/@angular/forms": {
-      "version": "18.2.8",
-      "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-18.2.8.tgz",
-      "integrity": "sha512-JCLki7KC6D5vF6dE6yGlBmW33khIgpHs8N9SzuiJtkQqNDTIQA8cPsGV6qpLpxflxASynQOX5lDkWYdQyfm77Q==",
+      "version": "18.2.9",
+      "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-18.2.9.tgz",
+      "integrity": "sha512-yyN5dG60CXH6MRte8rv4aGUTeNOMz/pUV7rVxittpjN7tPHfGEL9Xz89Or90Aa1QiHuBmHFk+9A39s03aO1rDQ==",
       "license": "MIT",
       "dependencies": {
         "tslib": "^2.3.0"
@@ -592,23 +591,23 @@
         "node": "^18.19.1 || ^20.11.1 || >=22.0.0"
       },
       "peerDependencies": {
-        "@angular/common": "18.2.8",
-        "@angular/core": "18.2.8",
-        "@angular/platform-browser": "18.2.8",
+        "@angular/common": "18.2.9",
+        "@angular/core": "18.2.9",
+        "@angular/platform-browser": "18.2.9",
         "rxjs": "^6.5.3 || ^7.4.0"
       }
     },
     "node_modules/@angular/material": {
-      "version": "18.2.9",
-      "resolved": "https://registry.npmjs.org/@angular/material/-/material-18.2.9.tgz",
-      "integrity": "sha512-M2oCgPPIMMd6BLgEJCD+FvdC7gRDeCjj9yktNn3ctHmkKUWRvpJ3xRBH/WjVXb+9fPCCW1iNwZI7+bN1fHE7cA==",
+      "version": "18.2.10",
+      "resolved": "https://registry.npmjs.org/@angular/material/-/material-18.2.10.tgz",
+      "integrity": "sha512-XZISsICpTOzq2qR9yUaWrAz9WZCAh/B457gq/ftkkiiafLwFCvbKur19FFUJO5GX+uVdo074133L85xreOkFFw==",
       "license": "MIT",
       "dependencies": {
         "tslib": "^2.3.0"
       },
       "peerDependencies": {
         "@angular/animations": "^18.0.0 || ^19.0.0",
-        "@angular/cdk": "18.2.9",
+        "@angular/cdk": "18.2.10",
         "@angular/common": "^18.0.0 || ^19.0.0",
         "@angular/core": "^18.0.0 || ^19.0.0",
         "@angular/forms": "^18.0.0 || ^19.0.0",
@@ -617,23 +616,23 @@
       }
     },
     "node_modules/@angular/material-moment-adapter": {
-      "version": "18.2.9",
-      "resolved": "https://registry.npmjs.org/@angular/material-moment-adapter/-/material-moment-adapter-18.2.9.tgz",
-      "integrity": "sha512-GjvqMoVcPPP1xpqMPSKEL1eSSfG2omULTdYnN3xFUroKmo8ZPS9+rgcbIi3At3ErnWctayEB0BUycoZwYtwg2A==",
+      "version": "18.2.10",
+      "resolved": "https://registry.npmjs.org/@angular/material-moment-adapter/-/material-moment-adapter-18.2.10.tgz",
+      "integrity": "sha512-Ckyh1KADWLFqgNH55sVoqNxGdPqerAQbGrxCZNN24B5C5u+sX6BnfUR0HC4zMjHf82PJBAF4+MqXlqO1jk66UQ==",
       "license": "MIT",
       "dependencies": {
         "tslib": "^2.3.0"
       },
       "peerDependencies": {
         "@angular/core": "^18.0.0 || ^19.0.0",
-        "@angular/material": "18.2.9",
+        "@angular/material": "18.2.10",
         "moment": "^2.18.1"
       }
     },
     "node_modules/@angular/platform-browser": {
-      "version": "18.2.8",
-      "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-18.2.8.tgz",
-      "integrity": "sha512-EPai4ZPqSq3ilLJUC85kPi9wo5j5suQovwtgRyjM/75D9Qy4TV19g8hkVM5Co/zrltO8a2G6vDscCNI5BeGw2A==",
+      "version": "18.2.9",
+      "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-18.2.9.tgz",
+      "integrity": "sha512-UNu6XjK0SV35FFe55yd1yefZI8tzflVKzev/RzC31XngrczhlH0+WCbae4rG1XJULzJwJ1R1p7gqq4+ktEczRQ==",
       "license": "MIT",
       "dependencies": {
         "tslib": "^2.3.0"
@@ -642,9 +641,9 @@
         "node": "^18.19.1 || ^20.11.1 || >=22.0.0"
       },
       "peerDependencies": {
-        "@angular/animations": "18.2.8",
-        "@angular/common": "18.2.8",
-        "@angular/core": "18.2.8"
+        "@angular/animations": "18.2.9",
+        "@angular/common": "18.2.9",
+        "@angular/core": "18.2.9"
       },
       "peerDependenciesMeta": {
         "@angular/animations": {
@@ -653,9 +652,9 @@
       }
     },
     "node_modules/@angular/platform-browser-dynamic": {
-      "version": "18.2.8",
-      "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-18.2.8.tgz",
-      "integrity": "sha512-poZoapDqyN/rxGKQ3C6esdPiPLMkSpP2v12hoEa12KHgfPk7T1e+a+NMyJjV8HeOY3WyvL7tGRhW0NPTajTkhw==",
+      "version": "18.2.9",
+      "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-18.2.9.tgz",
+      "integrity": "sha512-cUTB8Jc3I/fu2UKv/PJmNGQGvKyyTo8ln4GUX3EJ4wUHzgkrU0s4x7DNok0Ql8FZKs5dLR8C0xVbG7Dv/ViPdw==",
       "license": "MIT",
       "dependencies": {
         "tslib": "^2.3.0"
@@ -664,16 +663,16 @@
         "node": "^18.19.1 || ^20.11.1 || >=22.0.0"
       },
       "peerDependencies": {
-        "@angular/common": "18.2.8",
-        "@angular/compiler": "18.2.8",
-        "@angular/core": "18.2.8",
-        "@angular/platform-browser": "18.2.8"
+        "@angular/common": "18.2.9",
+        "@angular/compiler": "18.2.9",
+        "@angular/core": "18.2.9",
+        "@angular/platform-browser": "18.2.9"
       }
     },
     "node_modules/@angular/platform-server": {
-      "version": "18.2.8",
-      "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-18.2.8.tgz",
-      "integrity": "sha512-gt+UKnDhnsDgpiXTQmkMsTzBMh0+FVkihGHHvjoL/HQ1lBz5od9QIj6EB6+aco5XkPoXaSqkfJ5hi/bnnEJDcg==",
+      "version": "18.2.9",
+      "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-18.2.9.tgz",
+      "integrity": "sha512-lKCFngM/xDH1et5vt5eYDCIpB9p+C1lGGcbAfrsDLnQmMxou506kOoLxW+a6KB1By8yonNFL18MsEPTDxRLtqw==",
       "license": "MIT",
       "dependencies": {
         "tslib": "^2.3.0",
@@ -683,17 +682,17 @@
         "node": "^18.19.1 || ^20.11.1 || >=22.0.0"
       },
       "peerDependencies": {
-        "@angular/animations": "18.2.8",
-        "@angular/common": "18.2.8",
-        "@angular/compiler": "18.2.8",
-        "@angular/core": "18.2.8",
-        "@angular/platform-browser": "18.2.8"
+        "@angular/animations": "18.2.9",
+        "@angular/common": "18.2.9",
+        "@angular/compiler": "18.2.9",
+        "@angular/core": "18.2.9",
+        "@angular/platform-browser": "18.2.9"
       }
     },
     "node_modules/@angular/router": {
-      "version": "18.2.8",
-      "resolved": "https://registry.npmjs.org/@angular/router/-/router-18.2.8.tgz",
-      "integrity": "sha512-L+olYgxIiBq+tbfayVI0cv1yOuymsw33msnGC2l/vpc9sSVfqGzESFnB4yMVU3vHtE9v6v2Y6O+iV44/b79W/g==",
+      "version": "18.2.9",
+      "resolved": "https://registry.npmjs.org/@angular/router/-/router-18.2.9.tgz",
+      "integrity": "sha512-D0rSrMf/sbhr5yQgz+LNBxdv1BR3S4pYDj1Exq6yVRKX8HSbjc5hxe/44VaOEKBh8StJ6GRiNOMoIcDt73Jang==",
       "license": "MIT",
       "dependencies": {
         "tslib": "^2.3.0"
@@ -702,9 +701,9 @@
         "node": "^18.19.1 || ^20.11.1 || >=22.0.0"
       },
       "peerDependencies": {
-        "@angular/common": "18.2.8",
-        "@angular/core": "18.2.8",
-        "@angular/platform-browser": "18.2.8",
+        "@angular/common": "18.2.9",
+        "@angular/core": "18.2.9",
+        "@angular/platform-browser": "18.2.9",
         "rxjs": "^6.5.3 || ^7.4.0"
       }
     },
@@ -4340,9 +4339,9 @@
       ]
     },
     "node_modules/@ngtools/webpack": {
-      "version": "18.2.9",
-      "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-18.2.9.tgz",
-      "integrity": "sha512-/apDvs4qevjSWoYw3h3/c/mILFrf2EgCJfBy9f3E7PEgi2tjifOIszBRrLQkVpeHAaFgEH8zKS2ol0hAmOl8sw==",
+      "version": "18.2.10",
+      "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-18.2.10.tgz",
+      "integrity": "sha512-CGYr8rdM5ntdb4kLUAhrLBPrhJQ4KBPo3KMT6qJE/S+jJJn5zHzedpuGFOCVhC1Siw+n1pOBSI8leTRJIW/eCQ==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -4960,14 +4959,14 @@
       }
     },
     "node_modules/@schematics/angular": {
-      "version": "18.2.9",
-      "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-18.2.9.tgz",
-      "integrity": "sha512-LlMHZQ6f8zrqSK24OBXi4u2MTNHNu9ZN6JXpbElq0bz/9QkUR2zy+Kk2wLpPxCwXYTZby7/xgHiTzXvG+zTdhw==",
+      "version": "18.2.10",
+      "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-18.2.10.tgz",
+      "integrity": "sha512-2pDHT4aSzfs8Up4RQmHHuFd5FeuUebS1ZJwyt46MfXzRMFtzUZV/JKsIvDqyMwnkvFfLvgJyTCkl8JGw5jQObg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@angular-devkit/core": "18.2.9",
-        "@angular-devkit/schematics": "18.2.9",
+        "@angular-devkit/core": "18.2.10",
+        "@angular-devkit/schematics": "18.2.10",
         "jsonc-parser": "3.3.1"
       },
       "engines": {
@@ -5221,9 +5220,9 @@
       }
     },
     "node_modules/@types/express-serve-static-core": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.0.tgz",
-      "integrity": "sha512-AbXMTZGt40T+KON9/Fdxx0B2WK5hsgxcfXJLr5bFpZ7b4JCex2WyQPTEKdXqfHiY5nKKBScZ7yCoO6Pvgxfvnw==",
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.1.tgz",
+      "integrity": "sha512-CRICJIl0N5cXDONAdlTv5ShATZ4HEwk6kDDIW2/w9qOWKg+NU/5F8wYRWCrONad0/UKkloNSmmyN/wX4rtpbVA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -5295,9 +5294,9 @@
       }
     },
     "node_modules/@types/node": {
-      "version": "18.19.57",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.57.tgz",
-      "integrity": "sha512-I2ioBd/IPrYDMv9UNR5NlPElOZ68QB7yY5V2EsLtSrTO0LM0PnCEFF9biLWHf5k+sIy4ohueCV9t4gk1AEdlVA==",
+      "version": "18.19.59",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.59.tgz",
+      "integrity": "sha512-vizm2EqwV/7Zay+A6J3tGl9Lhr7CjZe2HmWS988sefiEmsyP9CeXEleho6i4hJk/8UtZAo0bWN4QPZZr83RxvQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -8756,23 +8755,33 @@
       }
     },
     "node_modules/http-proxy-middleware": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-3.0.0.tgz",
-      "integrity": "sha512-36AV1fIaI2cWRzHo+rbcxhe3M3jUDCNzc4D5zRl57sEWRAxdXYtw7FSQKYY6PDKssiAKjLYypbssHk+xs/kMXw==",
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-3.0.3.tgz",
+      "integrity": "sha512-usY0HG5nyDUwtqpiZdETNbmKtw3QQ1jwYFZ9wi5iHzX2BcILwQKtYDJPo7XHTsu5Z0B2Hj3W9NNnbd+AjFWjqg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@types/http-proxy": "^1.17.10",
-        "debug": "^4.3.4",
+        "@types/http-proxy": "^1.17.15",
+        "debug": "^4.3.6",
         "http-proxy": "^1.18.1",
-        "is-glob": "^4.0.1",
-        "is-plain-obj": "^3.0.0",
-        "micromatch": "^4.0.5"
+        "is-glob": "^4.0.3",
+        "is-plain-object": "^5.0.0",
+        "micromatch": "^4.0.8"
       },
       "engines": {
         "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
+    "node_modules/http-proxy-middleware/node_modules/is-plain-object": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
+      "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
     "node_modules/https-proxy-agent": {
       "version": "7.0.5",
       "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz",
diff --git a/smp-angular/package.json b/smp-angular/package.json
index 494a6a579..c9c9b5e1b 100644
--- a/smp-angular/package.json
+++ b/smp-angular/package.json
@@ -16,19 +16,19 @@
   },
   "private": true,
   "dependencies": {
-    "@angular/animations": "^18.2.8",
-    "@angular/cdk": "^18.2.9",
-    "@angular/common": "^18.2.8",
-    "@angular/compiler": "^18.2.8",
-    "@angular/core": "^18.2.8",
+    "@angular/animations": "^18.2.9",
+    "@angular/cdk": "^18.2.10",
+    "@angular/common": "^18.2.9",
+    "@angular/compiler": "^18.2.9",
+    "@angular/core": "^18.2.9",
     "@angular/flex-layout": "^15.0.0-beta.42",
-    "@angular/forms": "^18.2.8",
-    "@angular/material": "^18.2.9",
-    "@angular/material-moment-adapter": "^18.2.9",
-    "@angular/platform-browser": "^18.2.8",
-    "@angular/platform-browser-dynamic": "^18.2.8",
-    "@angular/platform-server": "^18.2.8",
-    "@angular/router": "^18.2.8",
+    "@angular/forms": "^18.2.9",
+    "@angular/material": "^18.2.10",
+    "@angular/material-moment-adapter": "^18.2.10",
+    "@angular/platform-browser": "^18.2.9",
+    "@angular/platform-browser-dynamic": "^18.2.9",
+    "@angular/platform-server": "^18.2.9",
+    "@angular/router": "^18.2.9",
     "@codemirror/commands": "^6.7.1",
     "@codemirror/language": "^6.10.3",
     "@codemirror/language-data": "^6.5.1",
@@ -39,22 +39,21 @@
     "@ngx-translate/core": "^15.0.0",
     "@ngx-translate/http-loader": "^8.0.0",
     "@swimlane/ngx-datatable": "^20.1.0",
+    "moment": "^2.30.1",
     "rxjs": "^7.8.1",
-    "zone.js": "^0.14.10",
-    "moment": "^2.30.1"
+    "zone.js": "^0.14.10"
   },
   "devDependencies": {
-    "@angular-devkit/build-angular": "^18.2.8",
-    "@angular/cli": "^18.2.8",
-    "@angular/compiler-cli": "^18.2.8",
+    "@angular-devkit/build-angular": "^18.2.10",
+    "@angular/cli": "^18.2.10",
+    "@angular/compiler-cli": "^18.2.9",
     "@types/jasmine": "^5.1.4",
-    "@types/node": "^18.15.6",
+    "@types/node": "^18.19.59",
     "hammerjs": "^2.0.8",
     "jasmine-spec-reporter": "7.0.0",
     "karma": "^6.4.4",
     "karma-jasmine": "^5.1.0",
     "ng-packagr": "^18.2.1",
-    "tslib": "^2.7.0",
     "postcss": "^8.4.47",
     "typescript": "^5.4.5"
   },
diff --git a/smp-angular/pom.xml b/smp-angular/pom.xml
index a2c195b9c..3cd91cee5 100644
--- a/smp-angular/pom.xml
+++ b/smp-angular/pom.xml
@@ -33,8 +33,11 @@
     (works only on linux for Windows update arguments in exec plugin below)
     mvn clean install -DusePreInstalledNpm -Dnpm.path=/opt/programs/node-v14.17.0-linux-x64/bin
     -->
-    <!--suppress UnresolvedMavenProperty -->
+    <!-- to build with external node
+    mvn clean verify -Dnpm.path=/opt/programs/node-v20.18.0-linux-x64/bin/ -PusePreInstalledNpm
+    or set variable in here
     <npm.path>${env.bamboo_CITNET_NODEJS_20_LINUX_PATH}</npm.path>
+    -->
   </properties>
 
 
@@ -122,22 +125,15 @@
           <plugin>
             <groupId>org.codehaus.mojo</groupId>
             <artifactId>exec-maven-plugin</artifactId>
+            <!-- set executable -->
+            <configuration>
+              <!-- set PATH to node executable. NOTE this is specific to linux like OS -->
+              <environmentVariables>
+                <PATH>${npm.path}:${PATH}</PATH>
+              </environmentVariables>
+              <executable>${npm.path}/node</executable>
+            </configuration>
             <executions>
-              <execution>
-                <id>npm install</id>
-                <phase>generate-resources</phase>
-                <goals>
-                  <goal>exec</goal>
-                </goals>
-                <configuration>
-                  <arguments>
-                    <argument>${npm.path}/npm</argument>
-                    <argument>install</argument>
-                    <argument>@angular/cli</argument>
-                  </arguments>
-                </configuration>
-              </execution>
-
               <execution>
                 <id>angular build</id>
                 <phase>generate-resources</phase>
@@ -154,17 +150,6 @@
 
               </execution>
             </executions>
-            <configuration>
-              <executable>${npm.path}/node</executable>
-            </configuration>
-            <!--configuration>
-              <executable>${npm.path}/node</executable>
-              <arguments>
-                <argument>${npm.path}/npm</argument>
-                <argument>run-script</argument>
-                <argument>prod</argument>
-              </arguments>
-            </configuration-->
           </plugin>
         </plugins>
       </build>
-- 
GitLab