mirror of
https://github.com/mas-cli/mas
synced 2024-11-22 11:33:13 +00:00
43 lines
1 KiB
Bash
Executable file
43 lines
1 KiB
Bash
Executable file
#!/bin/bash -e
|
|
#
|
|
# script/format
|
|
# mas
|
|
#
|
|
# Linting checks for development and CI.
|
|
#
|
|
# Automatically formats and fixes style violations using various tools.
|
|
# Additionally runs `lint` to report any remaining style violations.
|
|
#
|
|
# Please keep in sync with script/lint.
|
|
#
|
|
|
|
echo "==> 🚨 Formatting mas"
|
|
|
|
for LINTER in markdownlint prettier shfmt swiftformat swiftlint yamllint; 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 "--> 🕊️ Swift"
|
|
for SOURCE in Package.swift Sources Tests; do
|
|
swiftformat ${SOURCE}
|
|
swift run swift-format format --in-place --recursive ${SOURCE}
|
|
swiftlint lint --fix --strict ${SOURCE}
|
|
done
|
|
|
|
echo "--> 〽️ Markdown"
|
|
markdownlint --config .markdownlint.json --fix .github .
|
|
|
|
echo "--> 🖊 YAML"
|
|
# shellcheck disable=SC2046
|
|
prettier --write $(yamllint --list-files .)
|
|
|
|
echo "--> 📜 Bash"
|
|
shfmt \
|
|
--write \
|
|
--list \
|
|
--indent 2 \
|
|
--case-indent \
|
|
contrib/ script/
|