From ee719c23d49677270533cbe924d43dcd550a344d Mon Sep 17 00:00:00 2001 From: Linus Groh Date: Sun, 27 Dec 2020 15:36:04 +0100 Subject: [PATCH] Meta: Add lint-prettier.sh This is a script similar to the clang-format one to ensure prettier formatting of most JavaScript files. --- .prettierignore | 1 + Meta/lint-prettier.sh | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 .prettierignore create mode 100755 Meta/lint-prettier.sh diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000000..0883de519fa --- /dev/null +++ b/.prettierignore @@ -0,0 +1 @@ +Base/home/anon/Source/js diff --git a/Meta/lint-prettier.sh b/Meta/lint-prettier.sh new file mode 100755 index 00000000000..3824232b648 --- /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