Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 5 additions & 9 deletions codepack.sh
Original file line number Diff line number Diff line change
Expand Up @@ -886,7 +886,8 @@ extract_files_content() {
# Read file content and clean invalid characters
local content=""
if [[ -r "$file" && -s "$file" ]]; then
content=$(cat "$file" 2>/dev/null | tr -cd '\11\12\15\40-\176' 2>/dev/null || echo "")
# Optimization: Use redirection < instead of cat | tr to save process forks
content=$(tr -cd '\11\12\15\40-\176' < "$file" 2>/dev/null || echo "")
fi

debug_log "Content length: ${#content}" >&2
Expand All @@ -898,14 +899,9 @@ extract_files_content() {
debug_log "Minification complete for: $filename" >&2
fi

# Check if content is empty or only whitespace after processing
local cleaned_content=""
if [[ -n "$content" ]]; then
cleaned_content=$(echo "$content" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//' 2>/dev/null | sed '/^[[:space:]]*$/d' 2>/dev/null)
fi

# Only write to output if file has actual content
if [[ -n "$cleaned_content" ]]; then
# Check if content has at least one non-whitespace character
# Optimization: Use bash regex instead of creating 3 sed processes + subshell
if [[ "$content" =~ [^[:space:]] ]]; then
debug_log "Writing to output: $filename" >&2
{
echo -e "\n+-------------------"
Expand Down