From 95ae3a3eeeee75a836dcb8ba5634775c86d461ee Mon Sep 17 00:00:00 2001 From: italo jose Date: Mon, 30 Mar 2026 09:26:50 -0300 Subject: [PATCH] adding lefthook --- .husky/_/pre-push | 71 +++++++++++++++++++++++++++++++++++++++++++++++ .husky/pre-push | 2 -- lefthook.yml | 6 ++++ package-lock.json | 39 ++++++++++++++------------ package.json | 4 +-- 5 files changed, 101 insertions(+), 21 deletions(-) create mode 100755 .husky/_/pre-push delete mode 100644 .husky/pre-push create mode 100644 lefthook.yml diff --git a/.husky/_/pre-push b/.husky/_/pre-push new file mode 100755 index 0000000000..58c90c8e93 --- /dev/null +++ b/.husky/_/pre-push @@ -0,0 +1,71 @@ +#!/bin/sh + +if [ "$LEFTHOOK_VERBOSE" = "1" -o "$LEFTHOOK_VERBOSE" = "true" ]; then + set -x +fi + +if [ "$LEFTHOOK" = "0" ]; then + exit 0 +fi + +call_lefthook() +{ + if test -n "$LEFTHOOK_BIN" + then + "$LEFTHOOK_BIN" "$@" + elif lefthook -h >/dev/null 2>&1 + then + lefthook "$@" + elif /Users/italojose/dev/meteor-dev/meteor/node_modules/@evilmartians/lefthook/bin/lefthook-darwin-arm64/lefthook -h >/dev/null 2>&1 + then + /Users/italojose/dev/meteor-dev/meteor/node_modules/@evilmartians/lefthook/bin/lefthook-darwin-arm64/lefthook "$@" + else + dir="$(git rev-parse --show-toplevel)" + osArch=$(uname | tr '[:upper:]' '[:lower:]') + cpuArch=$(uname -m | sed 's/aarch64/arm64/;s/x86_64/x64/') + if test -f "$dir/node_modules/lefthook-${osArch}-${cpuArch}/bin/lefthook" + then + "$dir/node_modules/lefthook-${osArch}-${cpuArch}/bin/lefthook" "$@" + elif test -f "$dir/node_modules/@evilmartians/lefthook/bin/lefthook-${osArch}-${cpuArch}/lefthook" + then + "$dir/node_modules/@evilmartians/lefthook/bin/lefthook-${osArch}-${cpuArch}/lefthook" "$@" + elif test -f "$dir/node_modules/@evilmartians/lefthook-installer/bin/lefthook" + then + "$dir/node_modules/@evilmartians/lefthook-installer/bin/lefthook" "$@" + elif test -f "$dir/node_modules/lefthook/bin/index.js" + then + "$dir/node_modules/lefthook/bin/index.js" "$@" + elif go tool lefthook -h >/dev/null 2>&1 + then + go tool lefthook "$@" + elif bundle exec lefthook -h >/dev/null 2>&1 + then + bundle exec lefthook "$@" + elif yarn lefthook -h >/dev/null 2>&1 + then + yarn lefthook "$@" + elif pnpm lefthook -h >/dev/null 2>&1 + then + pnpm lefthook "$@" + elif swift package lefthook >/dev/null 2>&1 + then + swift package --build-path .build/lefthook --disable-sandbox lefthook "$@" + elif command -v mint >/dev/null 2>&1 + then + mint run csjones/lefthook-plugin "$@" + elif uv run lefthook -h >/dev/null 2>&1 + then + uv run lefthook "$@" + elif mise exec -- lefthook -h >/dev/null 2>&1 + then + mise exec -- lefthook "$@" + elif devbox run lefthook -h >/dev/null 2>&1 + then + devbox run lefthook "$@" + else + echo "Can't find lefthook in PATH" + fi + fi +} + +call_lefthook run "pre-push" "$@" diff --git a/.husky/pre-push b/.husky/pre-push deleted file mode 100644 index 4600925318..0000000000 --- a/.husky/pre-push +++ /dev/null @@ -1,2 +0,0 @@ -npm run fmt:check -npm run lint diff --git a/lefthook.yml b/lefthook.yml new file mode 100644 index 0000000000..ca985c5d9f --- /dev/null +++ b/lefthook.yml @@ -0,0 +1,6 @@ +pre-push: + commands: + fmt-check: + run: npm run fmt:check + lint: + run: npm run lint diff --git a/package-lock.json b/package-lock.json index 99ae2dbe7f..3a76b1a8df 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,11 +11,11 @@ "devDependencies": { "@babel/core": "^7.21.3", "@babel/preset-react": "^7.18.6", + "@evilmartians/lefthook": "^2.1.4", "@types/lodash.isempty": "^4.4.9", "@types/node": "^18.16.18", "@types/sockjs": "^0.3.36", "@types/sockjs-client": "^1.5.4", - "husky": "^9.1.7", "oxfmt": "^0.42.0", "oxlint": "^1.57.0", "typescript": "^5.4.5" @@ -466,6 +466,27 @@ "node": ">=6.9.0" } }, + "node_modules/@evilmartians/lefthook": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@evilmartians/lefthook/-/lefthook-2.1.4.tgz", + "integrity": "sha512-OxJ4JgMnGHGsHU9hGH2ge9N+PCtdBKsCpNvQ0bOrIkD+a5noGNrwB3Ms0Ab3xSxYy6QOjSa0kLJ700uAOPxuwA==", + "cpu": [ + "x64", + "arm64", + "ia32" + ], + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "os": [ + "darwin", + "linux", + "win32" + ], + "bin": { + "lefthook": "bin/index.js" + } + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.12", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz", @@ -1289,22 +1310,6 @@ "node": ">=6.9.0" } }, - "node_modules/husky": { - "version": "9.1.7", - "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz", - "integrity": "sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==", - "dev": true, - "license": "MIT", - "bin": { - "husky": "bin.js" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/typicode" - } - }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", diff --git a/package.json b/package.json index 8adc7fc830..dfc4f6d766 100644 --- a/package.json +++ b/package.json @@ -14,11 +14,11 @@ "devDependencies": { "@babel/core": "^7.21.3", "@babel/preset-react": "^7.18.6", + "@evilmartians/lefthook": "^2.1.4", "@types/lodash.isempty": "^4.4.9", "@types/node": "^18.16.18", "@types/sockjs": "^0.3.36", "@types/sockjs-client": "^1.5.4", - "husky": "^9.1.7", "oxfmt": "^0.42.0", "oxlint": "^1.57.0", "typescript": "^5.4.5" @@ -33,6 +33,6 @@ "test:idle-bot": "node --test .github/scripts/__tests__/inactive-issues.test.js", "install:e2e": "cd tools/modern-tests && npm install && npx playwright install --with-deps chromium chromium-headless-shell", "test:e2e": "cd tools/modern-tests && npm test -- ", - "prepare": "husky" + "prepare": "lefthook install" } }