From 795e932b8fd49f2e5f831512fec4ad63858a45a2 Mon Sep 17 00:00:00 2001 From: filtered <176114999+webfiltered@users.noreply.github.com> Date: Wed, 30 Oct 2024 05:15:07 +1100 Subject: [PATCH] Fix husky pre-commit & type check only staged (#1361) * Fix husky pre-commit on some Windows clients https://github.com/typicode/husky/issues/1072#issuecomment-1784006332 * Limit commit type check to staged files Adds tsc-files package (dev only) and its config * Remove deprecated git add from lint-staged --- .husky/pre-commit | 7 +++++-- package-lock.json | 14 ++++++++++++++ package.json | 7 +++---- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/.husky/pre-commit b/.husky/pre-commit index f3f510d27..a19f49ff7 100644 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,2 +1,5 @@ -npx lint-staged -npm run typecheck +if [[ "$OS" == "Windows_NT" ]]; then + npx.cmd lint-staged +else + npx lint-staged +fi diff --git a/package-lock.json b/package-lock.json index c5aedfbf5..711afbe44 100644 --- a/package-lock.json +++ b/package-lock.json @@ -58,6 +58,7 @@ "tailwindcss": "^3.4.4", "ts-jest": "^29.1.4", "ts-node": "^10.9.2", + "tsc-files": "^1.1.4", "tsx": "^4.15.6", "typescript": "^5.4.5", "typescript-eslint": "^8.0.0", @@ -12105,6 +12106,19 @@ } } }, + "node_modules/tsc-files": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/tsc-files/-/tsc-files-1.1.4.tgz", + "integrity": "sha512-RePsRsOLru3BPpnf237y1Xe1oCGta8rmSYzM76kYo5tLGsv5R2r3s64yapYorGTPuuLyfS9NVbh9ydzmvNie2w==", + "dev": true, + "license": "MIT", + "bin": { + "tsc-files": "cli.js" + }, + "peerDependencies": { + "typescript": ">=3" + } + }, "node_modules/tsconfig": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-7.0.0.tgz", diff --git a/package.json b/package.json index c57885ddd..2d93ac921 100644 --- a/package.json +++ b/package.json @@ -53,6 +53,7 @@ "tailwindcss": "^3.4.4", "ts-jest": "^29.1.4", "ts-node": "^10.9.2", + "tsc-files": "^1.1.4", "tsx": "^4.15.6", "typescript": "^5.4.5", "typescript-eslint": "^8.0.0", @@ -83,9 +84,7 @@ "zod-validation-error": "^3.3.0" }, "lint-staged": { - "./**/*.{js,ts,tsx,vue}": [ - "prettier --write", - "git add" - ] + "./**/*.{js,ts,tsx,vue}": "prettier --write", + "**/*.ts": "tsc-files --noEmit" } }