30 lines
664 B
Bash
30 lines
664 B
Bash
|
|
#!/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"
|
||
|
|
|