2021-01-22 19:44:05 +03:00
|
|
|
#!/usr/bin/env bash
|
2020-12-27 17:36:04 +03:00
|
|
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
script_path=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
|
|
|
|
cd "${script_path}/.." || exit 1
|
|
|
|
|
|
|
|
if [ "$#" -eq "0" ]; then
|
|
|
|
mapfile -t files < <(
|
|
|
|
git ls-files \
|
|
|
|
--exclude-from .prettierignore \
|
|
|
|
-- \
|
2022-01-18 21:39:36 +03:00
|
|
|
'*.js' '*.mjs'
|
2020-12-27 17:36:04 +03:00
|
|
|
)
|
|
|
|
else
|
|
|
|
files=()
|
|
|
|
for file in "$@"; do
|
2022-01-18 21:39:36 +03:00
|
|
|
if [[ "${file}" == *".js" ]] || [[ "${file}" == *".mjs" ]]; then
|
2020-12-27 17:36:04 +03:00
|
|
|
files+=("${file}")
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
fi
|
|
|
|
|
|
|
|
if (( ${#files[@]} )); then
|
2021-01-10 10:20:21 +03:00
|
|
|
if ! command -v prettier >/dev/null 2>&1 ; then
|
|
|
|
echo "prettier is not available, but JS files need linting! Either skip this script, or install prettier."
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
if ! prettier --version | grep -qF '2.' ; then
|
|
|
|
echo "You are using '$(prettier --version)', which appears to not be prettier 2."
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2020-12-27 17:36:04 +03:00
|
|
|
prettier --check "${files[@]}"
|
|
|
|
else
|
2022-01-18 21:39:36 +03:00
|
|
|
echo "No .js or .mjs files to check."
|
2020-12-27 17:36:04 +03:00
|
|
|
fi
|