summaryrefslogtreecommitdiff
path: root/Meta/lint-prettier.sh
diff options
context:
space:
mode:
authorLinus Groh <mail@linusgroh.de>2020-12-27 15:36:04 +0100
committerAndreas Kling <kling@serenityos.org>2020-12-27 21:25:27 +0100
commitee719c23d49677270533cbe924d43dcd550a344d (patch)
tree1bb5d21edc460d1cf5063c769a8850b7986daa1d /Meta/lint-prettier.sh
parent51bcfb5a44ebedc319bb8dc66dfe814f936e5e83 (diff)
downloadserenity-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-xMeta/lint-prettier.sh38
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