blob: 30087e31c25d8ece27f20799e5e22ecfe38a5994 [file] [log] [blame]
#!/bin/bash
set -e
# Script to run formatters for both Go and webui files
# Usage: bin/run-formatters.sh [check]
# If 'check' is provided, only checks formatting without making changes
CHECK_MODE=false
if [ "$1" = "check" ]; then
CHECK_MODE=true
echo "Running in check mode (formatting will not be modified)"
else
echo "Running in fix mode (formatting will be modified)"
fi
# Go formatting with gofumpt
echo "Checking Go formatting..."
if [ "$CHECK_MODE" = true ]; then
# In check mode, we want to display the files that need formatting and exit with error if any
FILES_TO_FORMAT=$(gofumpt -l .)
if [ -n "$FILES_TO_FORMAT" ]; then
echo "The following Go files need formatting:"
echo "$FILES_TO_FORMAT"
exit 1
else
echo "Go formatting check passed"
fi
else
# In fix mode, we apply the formatting
echo "Fixing Go formatting with gofumpt"
gofumpt -w .
echo "Go formatting complete"
fi
# Webui formatting with Prettier
echo "Checking webui formatting..."
if [ -d "./webui" ]; then
cd webui
if [ "$CHECK_MODE" = true ]; then
echo "Checking webui formatting with Prettier"
if ! npx prettier --check .; then
echo "Webui files need formatting"
exit 1
fi
else
echo "Fixing webui formatting with Prettier"
npx prettier --write .
echo "Webui formatting complete"
fi
else
echo "No webui directory found, skipping Prettier check"
fi
if [ "$CHECK_MODE" = true ]; then
echo "All formatting checks passed"
else
echo "All formatting has been fixed"
fi