diff --git a/scripts/bash/npm-helpers/npm_build_package.sh b/scripts/bash/npm-helpers/npm_build_package.sh
index 59d2e0ac505ffaa1dde6e68a66d13657b232415c..78ba021e5fc6a974c75fade31c066039602d02d3 100755
--- a/scripts/bash/npm-helpers/npm_build_package.sh
+++ b/scripts/bash/npm-helpers/npm_build_package.sh
@@ -15,7 +15,7 @@ pushd "${SOURCE_DIR}" # move to the project directory (where package.json file i
 
 "${SCRIPTPATH}/npm_generate_version.sh" "${SOURCE_DIR}" "${REGISTRY_URL}" "${SCOPE}" "${PROJECT_NAME}" "${COMMIT_REF_PROTECTED}" "${COMMIT_TAG}"
 
-npm run build
+pnpm --recursive --workspace-concurrency=1 run build
 
 "${SCRIPTPATH}/npm_pack_package.sh" "${SOURCE_DIR}" "${REGISTRY_URL}" "${SCOPE}" "${PROJECT_NAME}" "${OUTPUT_DIR}" "${COMMIT_REF_PROTECTED}" "${COMMIT_TAG}"
 
diff --git a/scripts/bash/npm-helpers/npm_publish.sh b/scripts/bash/npm-helpers/npm_publish.sh
index 68e6175783ff6aefab6f1934778ed2094f0487d0..0a4790b9c4155207aa2194dbd15b1b25eb39bdd9 100755
--- a/scripts/bash/npm-helpers/npm_publish.sh
+++ b/scripts/bash/npm-helpers/npm_publish.sh
@@ -40,7 +40,7 @@ else
   set -e
   echo "Publishing ${NAME}@${VERSION} to tag ${PACKAGE_DIST_TAG}"
   # We are going to repack the tarball as there are registry-dependent data in each job for package.json
-  pnpm publish --no-git-checks --access=public --tag "${PACKAGE_DIST_TAG}"
+  pnpm --recursive publish --no-git-checks --access=public --tag "${PACKAGE_DIST_TAG}"
 fi
 
 popd
diff --git a/templates/npm_projects.gitlab-ci.yml b/templates/npm_projects.gitlab-ci.yml
index 8bc7607961edb64604b7a9e290af0c30c6f4a8ce..981118e045700e85cc3d1bc3af3939c3c5a716ec 100644
--- a/templates/npm_projects.gitlab-ci.yml
+++ b/templates/npm_projects.gitlab-ci.yml
@@ -28,7 +28,7 @@ variables:
 
   before_script:
     - !reference [.node_based_job_base, before_script]
-    - pnpm install --frozen-lockfile  # install all required dependencies
+    - pnpm --recursive install --frozen-lockfile  # install all required dependencies
 
 .filter_out_swagger_json:
   extends: .node_based_job_base