diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100644 index 0000000..72c4429 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1 @@ +npm test diff --git a/.lintstagedrc.json b/.lintstagedrc.json deleted file mode 100644 index 73ced7d..0000000 --- a/.lintstagedrc.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "*.{js,cjs,mjs,ts,tsx,json,yml,yaml}": ["prettier --write"], - "*.md": ["prettier --write", "markdownlint --fix"], - "*.{sh,bash}": ["prettier --write"] -} diff --git a/apps/frontend/package.json b/apps/frontend/package.json index da3a0e9..3bb3f1c 100644 --- a/apps/frontend/package.json +++ b/apps/frontend/package.json @@ -8,7 +8,13 @@ "build": "vite build", "lint": "eslint .", "preview": "vite preview", - "typecheck": "tsc --noEmit -p tsconfig.app.json" + "precommit": "npm run -s eslint:check && npm run -s typecheck && npm run -s prettier:check", + "eslint:check": "eslint .", + "eslint:fix": "eslint . --fix", + "typecheck": "tsc -p tsconfig.json --noEmit", + "prettier:check": "prettier -c .", + "prettier:fix": "prettier -w .", + "test": "vitest run -r" }, "dependencies": { "@supabase/supabase-js": "^2.57.4", diff --git a/package.json b/package.json index cecdd98..378f376 100644 --- a/package.json +++ b/package.json @@ -5,12 +5,29 @@ "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", - "prepare": "husky", "lint": "npm run lint:js && npm run lint:md", "lint:js": "eslint apps --ext .js,.ts --no-error-on-unmatched-pattern", "lint:md": "markdownlint **/*.md --ignore node_modules", "format": "prettier -w .", - "format:check": "prettier -c ." + "format:check": "prettier -c .", + "prepare": "husky", + "precommit:frontend": "npm --prefix apps/frontend run precommit", + "precommit:backend": "composer --working-dir=apps/backend run precommit" + }, + "lint-staged": { + "apps/frontend/**/*.{ts,tsx,js,jsx}": [ + "npm --prefix apps/frontend run eslint:fix", + "npm --prefix apps/frontend run typecheck", + "npm --prefix apps/frontend run prettier:fix" + ], + "apps/frontend/**/*.{css,pcss}": [ + "npm --prefix apps/frontend run stylelint:fix", + "npm --prefix apps/frontend run prettier:fix" + ], + "apps/backend/**/*.php": [ + "composer --working-dir=apps/backend pint -- --dirty", + "composer --working-dir=apps/backend phpstan -- --no-progress" + ] }, "keywords": [], "author": "", @@ -21,8 +38,8 @@ "eslint": "^9.36.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-import": "^2.32.0", - "husky": "^9.1.7", - "lint-staged": "^16.2.3", + "husky": "^9.0.0", + "lint-staged": "^15.0.0", "markdownlint": "^0.38.0", "markdownlint-cli": "^0.45.0", "prettier": "^3.6.2",