From cc2aa3b01d1f708953c278255438d118a50fd53c Mon Sep 17 00:00:00 2001 From: thePR0M3TH3AN <53631862+PR0M3TH3AN@users.noreply.github.com> Date: Tue, 17 Jun 2025 19:02:30 -0400 Subject: [PATCH] Add dependency checks and strict shell options --- src/create_flyer.sh | 16 ++++++++++++---- src/obfuscate_index.sh | 13 +++++++++++++ src/obfuscate_nostr.sh | 13 +++++++++++++ 3 files changed, 38 insertions(+), 4 deletions(-) diff --git a/src/create_flyer.sh b/src/create_flyer.sh index 16357c2..97d6cfe 100755 --- a/src/create_flyer.sh +++ b/src/create_flyer.sh @@ -1,6 +1,17 @@ #!/bin/bash -set -e +set -euo pipefail + +require_cmd() { + command -v "$1" >/dev/null 2>&1 || { + echo "Error: required command '$1' not found" >&2 + exit 1 + } +} + +for cmd in jq node javascript-obfuscator html-minifier-terser; do + require_cmd "$cmd" +done CONFIG_PATH="src/config.json" FROM_PDF="" @@ -32,9 +43,6 @@ while [[ $# -gt 0 ]]; do esac done -# Ensure jq is installed -command -v jq >/dev/null 2>&1 || { echo "jq is required" >&2; exit 1; } - # Helper function to update config update_config_interactive() { read -rp "Name: " name diff --git a/src/obfuscate_index.sh b/src/obfuscate_index.sh index efff80b..0e73187 100755 --- a/src/obfuscate_index.sh +++ b/src/obfuscate_index.sh @@ -1,5 +1,18 @@ #!/bin/bash +set -euo pipefail + +require_cmd() { + command -v "$1" >/dev/null 2>&1 || { + echo "Error: required command '$1' not found" >&2 + exit 1 + } +} + +for cmd in javascript-obfuscator html-minifier-terser node; do + require_cmd "$cmd" +done + # Input and output file names input_file="index-master.html" output_file="index.html" diff --git a/src/obfuscate_nostr.sh b/src/obfuscate_nostr.sh index ed574f3..a0d0a53 100755 --- a/src/obfuscate_nostr.sh +++ b/src/obfuscate_nostr.sh @@ -1,5 +1,18 @@ #!/bin/bash +set -euo pipefail + +require_cmd() { + command -v "$1" >/dev/null 2>&1 || { + echo "Error: required command '$1' not found" >&2 + exit 1 + } +} + +for cmd in javascript-obfuscator html-minifier-terser node; do + require_cmd "$cmd" +done + # Input and output file names input_file="nostr-master.html" output_file="nostr.html"