diff options
author | Linus Groh <mail@linusgroh.de> | 2020-12-27 15:36:04 +0100 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2020-12-27 21:25:27 +0100 |
commit | ee719c23d49677270533cbe924d43dcd550a344d (patch) | |
tree | 1bb5d21edc460d1cf5063c769a8850b7986daa1d /Meta/lint-prettier.sh | |
parent | 51bcfb5a44ebedc319bb8dc66dfe814f936e5e83 (diff) | |
download | serenity-ee719c23d49677270533cbe924d43dcd550a344d.zip |
Meta: Add lint-prettier.sh
This is a script similar to the clang-format one to ensure prettier
formatting of most JavaScript files.
Diffstat (limited to 'Meta/lint-prettier.sh')
-rwxr-xr-x | Meta/lint-prettier.sh | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/Meta/lint-prettier.sh b/Meta/lint-prettier.sh new file mode 100755 index 0000000000..3824232b64 --- /dev/null +++ b/Meta/lint-prettier.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +set -e + +script_path=$(cd -P -- "$(dirname -- "$0")" && pwd -P) +cd "${script_path}/.." || exit 1 + +if ! command -v prettier >/dev/null 2>&1 ; then + echo "prettier is not available. 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 + +if [ "$#" -eq "0" ]; then + mapfile -t files < <( + git ls-files \ + --exclude-from .prettierignore \ + -- \ + '*.js' + ) +else + files=() + for file in "$@"; do + if [[ "${file}" == *".js" ]]; then + files+=("${file}") + fi + done +fi + +if (( ${#files[@]} )); then + prettier --check "${files[@]}" +else + echo "No .js files to check." +fi |