#!/bin/bash # Lint files in batches to avoid memory issues # Usage: ./scripts/lint-batch.sh [files...] set -e BATCH_SIZE=20 FILES=("$@") if [ ${#FILES[@]} -eq 0 ]; then echo "No files provided" exit 0 fi echo "Linting ${#FILES[@]} files in batches of $BATCH_SIZE..." for ((i=0; i<${#FILES[@]}; i+=BATCH_SIZE)); do BATCH=("${FILES[@]:i:BATCH_SIZE}") echo "Processing batch $((i/BATCH_SIZE + 1)): ${#BATCH[@]} files" NODE_OPTIONS='--max-old-space-size=4096' \ eslint --fix --config eslint.config.js "${BATCH[@]}" || { echo "ESLint failed on batch $((i/BATCH_SIZE + 1))" exit 1 } done echo "All batches processed successfully"