@@ -4,7 +4,8 @@ set -euo pipefail
44ROOT_DIR=" $( git rev-parse --show-toplevel) "
55cd " $ROOT_DIR "
66
7- TARGET_PREFIX=" apps/codebattle/assets/js/"
7+ JS_PREFIX=" apps/codebattle/assets/js/"
8+ SCSS_PREFIX=" apps/codebattle/assets/css/"
89APP_DIR=" apps/codebattle"
910APP_PREFIX=" apps/codebattle/"
1011ELIXIR_PATTERN=' (^mix\.exs$|^\.formatter\.exs$|^config/.*\.exs$|.*\.(ex|exs)$)'
@@ -14,7 +15,15 @@ while IFS= read -r file; do
1415 JS_STAGED_FILES+=(" $file " )
1516done < <(
1617 git diff --cached --name-only --diff-filter=ACMR |
17- grep -E " ^${TARGET_PREFIX} .*\\ .(js|jsx|ts|tsx)$" || true
18+ grep -E " ^${JS_PREFIX} .*\\ .(js|jsx|ts|tsx)$" || true
19+ )
20+
21+ SCSS_STAGED_FILES=()
22+ while IFS= read -r file; do
23+ SCSS_STAGED_FILES+=(" $file " )
24+ done < <(
25+ git diff --cached --name-only --diff-filter=ACMR |
26+ grep -E " ^${SCSS_PREFIX} .*\\ .scss$" || true
1827)
1928
2029ELIXIR_STAGED_FILES=()
@@ -25,7 +34,9 @@ done < <(
2534 grep -E " ${ELIXIR_PATTERN} " || true
2635)
2736
28- if [ " ${# JS_STAGED_FILES[@]} " -eq 0 ] && [ " ${# ELIXIR_STAGED_FILES[@]} " -eq 0 ]; then
37+ if [ " ${# JS_STAGED_FILES[@]} " -eq 0 ] \
38+ && [ " ${# SCSS_STAGED_FILES[@]} " -eq 0 ] \
39+ && [ " ${# ELIXIR_STAGED_FILES[@]} " -eq 0 ]; then
2940 exit 0
3041fi
3142
@@ -36,12 +47,23 @@ if [ "${#ELIXIR_STAGED_FILES[@]}" -gt 0 ]; then
3647fi
3748
3849if [ " ${# JS_STAGED_FILES[@]} " -gt 0 ]; then
39- APP_FILES =()
50+ JS_APP_FILES =()
4051 for file in " ${JS_STAGED_FILES[@]} " ; do
41- APP_FILES +=(" ${file# ${APP_PREFIX} } " )
52+ JS_APP_FILES +=(" ${file# ${APP_PREFIX} } " )
4253 done
4354
44- pnpm --dir " $APP_DIR " exec oxfmt --write " ${APP_FILES[@]} "
55+ pnpm --dir " $APP_DIR " exec oxfmt --write " ${JS_APP_FILES[@]} "
56+ pnpm --dir " $APP_DIR " exec oxlint --fix " ${JS_APP_FILES[@]} " || true
4557 git add -- " ${JS_STAGED_FILES[@]} "
46- pnpm --dir " $APP_DIR " exec oxlint " ${APP_FILES[@]} "
58+ fi
59+
60+ if [ " ${# SCSS_STAGED_FILES[@]} " -gt 0 ]; then
61+ SCSS_APP_FILES=()
62+ for file in " ${SCSS_STAGED_FILES[@]} " ; do
63+ SCSS_APP_FILES+=(" ${file# ${APP_PREFIX} } " )
64+ done
65+
66+ pnpm --dir " $APP_DIR " exec prettier --write " ${SCSS_APP_FILES[@]} "
67+ pnpm --dir " $APP_DIR " exec stylelint --fix " ${SCSS_APP_FILES[@]} " || true
68+ git add -- " ${SCSS_STAGED_FILES[@]} "
4769fi
0 commit comments