mirror of
https://github.com/PR0M3TH3AN/VoxVera.git
synced 2025-09-07 06:28:43 +00:00
54 lines
994 B
Bash
Executable File
54 lines
994 B
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
check_cmd() {
|
|
command -v "$1" >/dev/null 2>&1
|
|
}
|
|
|
|
apt_packages=()
|
|
|
|
if ! check_cmd jq; then
|
|
apt_packages+=(jq)
|
|
fi
|
|
|
|
if ! check_cmd qrencode; then
|
|
apt_packages+=(qrencode)
|
|
fi
|
|
|
|
if ! check_cmd convert; then
|
|
apt_packages+=(imagemagick)
|
|
fi
|
|
|
|
if ! check_cmd pdftotext; then
|
|
apt_packages+=(poppler-utils)
|
|
fi
|
|
|
|
if ! check_cmd node || ! check_cmd npm; then
|
|
apt_packages+=(nodejs npm)
|
|
fi
|
|
|
|
if [ ${#apt_packages[@]} -gt 0 ]; then
|
|
echo "Installing system packages: ${apt_packages[*]}"
|
|
sudo apt-get update
|
|
sudo apt-get install -y "${apt_packages[@]}"
|
|
fi
|
|
|
|
for pkg in javascript-obfuscator html-minifier-terser; do
|
|
if ! check_cmd "$pkg"; then
|
|
npm install -g "$pkg"
|
|
fi
|
|
done
|
|
|
|
# ensure Python packages used by the CLI are available
|
|
for py in InquirerPy rich; do
|
|
if ! python3 - <<EOF >/dev/null 2>&1
|
|
import importlib.util, sys
|
|
sys.exit(0 if importlib.util.find_spec('$py') else 1)
|
|
EOF
|
|
then
|
|
pip install --user "$py"
|
|
fi
|
|
done
|
|
|
|
echo "All dependencies are installed."
|