diff --git a/.husky/_/pre-commit b/.husky/_/pre-commit index 0d1ec07..b253d32 100644 --- a/.husky/_/pre-commit +++ b/.husky/_/pre-commit @@ -6,19 +6,39 @@ exists() { [ -e "$1" ]; } echo "[pre-commit] lint-staged" npx --no-install lint-staged -# Preventing prettier errors -npm run format +echo "[pre-commit] prettier check (root)" +if ! npm run -s format:check; then + echo "[pre-commit] applying prettier fixes (root)" + npm run -s format + git add -A + echo "[pre-commit] formatting applied. commit again." + exit 1 +fi if exists apps/frontend/package.json; then echo "[pre-commit] frontend" - npm run -s precommit:frontend || exit 1 + if ! npm --prefix apps/frontend run -s precommit; then + echo "[pre-commit] frontend precommit failed → running format" + npm --prefix apps/frontend run -s format || true + git add -A + echo "[pre-commit] frontend fixed. commit again." + exit 1 + fi else echo "[pre-commit] skip frontend (missing)" fi if exists apps/backend/composer.json; then echo "[pre-commit] backend" - npm run -s precommit:backend || exit 1 + if ! (cd apps/backend && composer run -q precommit); then + echo "[pre-commit] backend precommit failed → running pint" + (cd apps/backend && php artisan pint) || true + git add -A + echo "[pre-commit] backend fixed. commit again." + exit 1 + fi else echo "[pre-commit] skip backend (missing)" fi + +echo "[pre-commit] OK" diff --git a/.husky/_/pre-push b/.husky/_/pre-push index 10ee492..d10c152 100644 --- a/.husky/_/pre-push +++ b/.husky/_/pre-push @@ -1,2 +1,11 @@ #!/usr/bin/env sh +set -euo pipefail +echo "[pre-push] format check (root)" +if ! npm run -s format:check; then + echo "[pre-push] applying prettier fixes" + npm run -s format + git add -A + echo "[pre-push] formatting applied. commit and push again." + exit 1 +fi \ No newline at end of file diff --git a/apps/backend/composer.json b/apps/backend/composer.json index 22062cb..b2bb087 100644 --- a/apps/backend/composer.json +++ b/apps/backend/composer.json @@ -64,7 +64,8 @@ "@php artisan test" ], "precommit": [ - "@php artisan config:clear --ansi" + "@php artisan config:clear --ansi", + "@php artisan test" ] }, "extra": { diff --git a/apps/frontend/.prettierignore b/apps/frontend/.prettierignore new file mode 100644 index 0000000..f4cc619 --- /dev/null +++ b/apps/frontend/.prettierignore @@ -0,0 +1,5 @@ +package-lock.json +node_modules +dist +build +coverage