#!/usr/bin/env bash
. $BIN_DIR/_lib.sh

echo '🔎 Linting ...'

# Lint JavaScript
JS_ERROR_CODE=0

FILES=$(find $WORKING_DIR \( -name '*.js' -o -name '*.html' \) -not -path "$WORKING_DIR/.reify-cache/*" -not -path "$WORKING_DIR/node_modules/*" -not -path "$WORKING_DIR/dist/*" -not -path "$WORKING_DIR/tmp/*")

if [[ "${FILES:-x}" != "x" ]]; then
  echo -e "   $(echo "$FILES" | wc -l | awk '{print $1}') JavaScript, HTML, and Svelte files"

  set +e
  eslint -c "$MONO_DIR/.eslintrc.js" --ignore-path "$MONO_DIR/.eslintignore" $FILES

  JS_ERROR_CODE=$?
  set -e
fi

# Lint SCSS
CSS_ERROR_CODE=0

FILES=$(find $WORKING_DIR \( -name '*.scss' -o -name '*.scss' -o -name '*.html' \) -not -path "$WORKING_DIR/.reify-cache/*" -not -path "$WORKING_DIR/node_modules/*" -not -path "$WORKING_DIR/dist/*" -not -path "$WORKING_DIR/tmp/*")

if [[ "${FILES:-x}" != "x" ]]; then
  echo -e "   $(echo "$FILES" | wc -l | awk '{print $1}') CSS files"

  set +e
  stylelint --fix --ignore-path "$MONO_DIR/.stylelintignore" $FILES

  CSS_ERROR_CODE=$?
  set -e
fi

if [[ $JS_ERROR_CODE -gt 0 ]] || [[ $CSS_ERROR_CODE -gt 0 ]]; then
  exit 1
fi