2025-09-25 19:28:23 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
|
|
set -euo pipefail
|
|
|
|
|
|
|
|
|
|
echo "Script started with $# arguments"
|
|
|
|
|
echo "Arguments: $*"
|
|
|
|
|
echo "Script location: $(dirname "$0")"
|
|
|
|
|
|
|
|
|
|
cd "$(dirname "$0")/.."
|
|
|
|
|
echo "Changed to directory: $(pwd)"
|
|
|
|
|
|
|
|
|
|
if [ $# -eq 0 ]; then
|
|
|
|
|
echo "Usage: $0 <file-with-paths> [additional-formatter-args...]"
|
|
|
|
|
echo "The file should contain one file path per line"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
FILE_LIST="$1"
|
|
|
|
|
|
|
|
|
|
echo "Looking for file: $FILE_LIST"
|
|
|
|
|
|
|
|
|
|
if [ ! -f "$FILE_LIST" ]; then
|
|
|
|
|
echo "Error: File '$FILE_LIST' not found"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
echo "==> Running eslint --fix"
|
|
|
|
|
ESLINT_FILES="$(grep '\.ts$' "$FILE_LIST" || true)"
|
|
|
|
|
if ! [ -z "$ESLINT_FILES" ]; then
|
|
|
|
|
echo "$ESLINT_FILES" | xargs ./node_modules/.bin/eslint --cache --fix
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
echo "==> Running prettier --write"
|
|
|
|
|
# format things eslint didn't
|
|
|
|
|
PRETTIER_FILES="$(grep '\.\(js\|json\)$' "$FILE_LIST" || true)"
|
|
|
|
|
if ! [ -z "$PRETTIER_FILES" ]; then
|
|
|
|
|
echo "$PRETTIER_FILES" | xargs ./node_modules/.bin/prettier \
|
2025-09-26 14:07:06 +00:00
|
|
|
--write --cache --cache-strategy metadata --no-error-on-unmatched-pattern \
|
2025-09-25 19:28:23 +00:00
|
|
|
'!**/dist' '!**/*.ts' '!**/*.mts' '!**/*.cts' '!**/*.js' '!**/*.mjs' '!**/*.cjs'
|
|
|
|
|
fi
|