| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 | #!/usr/bin/env bash# SPDX-License-Identifier: AGPL-3.0-or-laterdeclare _Bluedeclare _cresetexport NODE_MINIMUM_VERSION="16.13.0"node.help(){    cat <<EOFnode.:  env       : download & install SearXNG's npm dependencies locally  env.dev   : download & install developer and CI tools  clean     : drop locally npm installationsEOF}nodejs.ensure() {    if ! nvm.min_node "${NODE_MINIMUM_VERSION}"; then        info_msg "install Node.js by NVM"        nvm.nodejs    fi}node.env() {    nodejs.ensure    (   set -e        build_msg INSTALL "[npm] ./searx/static/themes/simple/package.json"        npm --prefix searx/static/themes/simple install    )    dump_return $?}node.env.dev() {    nodejs.ensure    build_msg INSTALL "[npm] ./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"        return 0    fi    build_msg CLEAN "themes -- locally installed npm dependencies"    (   set -e        npm --prefix searx/static/themes/simple run clean \	    | prefix_stdout "${_Blue}CLEAN    ${_creset} "	if [ "${PIPESTATUS[0]}" -ne "0" ]; then            return 1	fi    )    build_msg CLEAN "locally installed developer and CI tools"    (   set -e        npm --prefix . run clean \	    | prefix_stdout "${_Blue}CLEAN    ${_creset} "	if [ "${PIPESTATUS[0]}" -ne "0" ]; then            return 1	fi    )    dump_return $?}
 |