forked from zaclys/searxng
52 lines
1.2 KiB
Bash
52 lines
1.2 KiB
Bash
|
#!/usr/bin/env bash
|
||
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||
|
|
||
|
export NODE_MINIMUM_VERSION="16.13.0"
|
||
|
|
||
|
node.help(){
|
||
|
cat <<EOF
|
||
|
node.:
|
||
|
env : download & install SearXNG's npm dependencies locally
|
||
|
env.dev : download & install developer and CI tools
|
||
|
clean : drop locally npm installations
|
||
|
EOF
|
||
|
}
|
||
|
|
||
|
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 "./searx/static/themes/simple/package.json"
|
||
|
npm --prefix searx/static/themes/simple install
|
||
|
)
|
||
|
dump_return $?
|
||
|
}
|
||
|
|
||
|
node.env.dev() {
|
||
|
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"
|
||
|
return 0
|
||
|
fi
|
||
|
build_msg CLEAN "themes -- locally installed npm dependencies"
|
||
|
( set -e
|
||
|
npm --prefix searx/static/themes/simple run clean
|
||
|
)
|
||
|
build_msg CLEAN "locally installed developer and CI tools"
|
||
|
( set -e
|
||
|
npm --prefix . run clean
|
||
|
)
|
||
|
dump_return $?
|
||
|
}
|