#!/bin/bash set -e # Ensure all locale files are sorted. node scripts/translations/sort.js --check # Ensure no locales contain single quotes. LOCALES_WITH_SINGLE_QUOTE=$(\ grep \ --files-with-matches \ --recursive locales/ \ --regex "'" \ || true ) for file in ${LOCALES_WITH_SINGLE_QUOTE}; do cat <&2 ERROR: $file contains a locale with a single quote. --- $(grep "$file" --regex "'") --- Using single quotes in locales can lead to Angular XSS. You will need to replace the quote with a similar looking character. ’ (\u2019) is a good candidate. Links: - https://en.wikipedia.org/wiki/Right_single_quotation_mark - https://github.com/overleaf/issues/issues/4478 MSG exit 1 done