From 309147d86f08f69ce1467aa4d25d3d6a56b2bc46 Mon Sep 17 00:00:00 2001
From: Markus Heiser <markus.heiser@darmarit.de>
Date: Sat, 22 Jan 2022 09:26:17 +0100
Subject: [PATCH] [mod] introduce node.env.devtools function

---
 manage           | 12 +++++++++---
 utils/lib_nvm.sh |  3 +++
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/manage b/manage
index 45853de3d..6cc98c1be 100755
--- a/manage
+++ b/manage
@@ -20,6 +20,8 @@ source "$(dirname "${BASH_SOURCE[0]}")/utils/lib_go.sh"
 # shellcheck source=utils/lib_redis.sh
 source "$(dirname "${BASH_SOURCE[0]}")/utils/lib_redis.sh"
 
+PATH="${REPO_ROOT}/node_modules/.bin:${PATH}"
+
 # config
 
 PYOBJECTS="searx"
@@ -559,6 +561,12 @@ node.env() {
     dump_return $?
 }
 
+node.env.devtools() {
+    nodejs.ensure
+    build_msg INSTALL "package.json: developer and CI tools"
+    npm install
+}
+
 node.clean() {
     if ! required_commands npm 2>/dev/null; then
         build_msg CLEAN "npm is not installed / ignore npm dependencies"
@@ -683,11 +691,9 @@ test.pylint() {
     dump_return $?
 }
 
-
 test.pyright() {
     build_msg TEST "[pyright] static type check of python sources"
-    nodejs.ensure
-    npm install
+    node.env.devtools
     # We run Pyright in the virtual environment because Pyright
     # executes "python" to determine the Python version.
     pyenv.cmd npx --no-install pyright -p pyrightconfig-ci.json
diff --git a/utils/lib_nvm.sh b/utils/lib_nvm.sh
index cd2fbc189..ec0ed5c8f 100755
--- a/utils/lib_nvm.sh
+++ b/utils/lib_nvm.sh
@@ -117,6 +117,9 @@ nvm.install() {
     info_msg "checkout ${NVM_VERSION_TAG}"
     git checkout "${NVM_VERSION_TAG}" 2>&1 | prefix_stdout "  ${_Yellow}||${_creset} "
     popd &> /dev/null
+    if [ -f "${REPO_ROOT}/.nvm_packages" ]; then
+        cp "${REPO_ROOT}/.nvm_packages" "${NVM_DIR}/default-packages"
+    fi
     nvm.env
 }