mas/script/lint
2021-04-26 21:19:30 -07:00

35 lines
778 B
Bash
Executable file

#!/bin/bash -e
#
# script/lint
# mas
#
# Linting checks for development and CI.
#
# Reports style violations without making any modifications to the code.
#
# Please keep in sync with script/format.
#
echo "==> 🚨 Linting mas"
for LINTER in git swift-format swiftformat swiftlint; do
if [[ ! -x "$(command -v ${LINTER})" ]]; then
echo "error: ${LINTER} is not installed. Run 'script/bootstrap' or 'brew install ${LINTER}'."
exit 1
fi
done
echo "--> 🌳 Git"
git diff --check
echo
echo "--> 🕊️ Swift"
for SOURCE in Package.swift Sources Tests; do
swiftformat --lint ${SOURCE}
swift-format lint --configuration .swift-format --recursive ${SOURCE}
swiftlint lint --strict ${SOURCE}
done
echo
echo "--> 📜 Bash"
shfmt -d -i 2 -l -w contrib/ script/