#!/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 - </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."