mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-07 20:31:06 -05:00
b91f43f4f2
[web] locales: cleanup unused locales and check on it in CI GitOrigin-RevId: 7625047f1731ec627df43bb9eb00348f110eadaf
40 lines
816 B
Bash
Executable file
40 lines
816 B
Bash
Executable file
#!/bin/bash
|
||
|
||
set -e
|
||
|
||
# Ensure all locale files are sorted.
|
||
node scripts/translations/sort.js --check
|
||
|
||
# Ensure all locales are still in use
|
||
node scripts/translations/cleanupUnusedLocales.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 <<MSG >&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
|