#!/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 [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 \ --write --cache --cache-strategy metadata --no-error-on-unmatched-pattern \ '!**/dist' '!**/*.ts' '!**/*.mts' '!**/*.cts' '!**/*.js' '!**/*.mjs' '!**/*.cjs' fi