From 68d5de37169ff3bc3d8ed22d7afbb9818bc81512 Mon Sep 17 00:00:00 2001 From: Ilia Mashkov Date: Thu, 23 Apr 2026 21:00:43 +0300 Subject: [PATCH] chore: setup lefthook for pre-commit checks --- lefthook.yml | 9 +++++ package.json | 1 + yarn.lock | 112 +++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 122 insertions(+) create mode 100644 lefthook.yml diff --git a/lefthook.yml b/lefthook.yml new file mode 100644 index 0000000..468d0b9 --- /dev/null +++ b/lefthook.yml @@ -0,0 +1,9 @@ +pre-commit: + parallel: true + commands: + biome-check: + glob: "*.{js,ts,jsx,tsx,json,css}" + run: yarn biome check --write {staged_files} + stage_fixed: true + tests: + run: yarn test diff --git a/package.json b/package.json index e246627..70adbe8 100644 --- a/package.json +++ b/package.json @@ -46,6 +46,7 @@ "eslint-config-next": "16.2.4", "eslint-plugin-storybook": "^10.3.5", "jsdom": "^29.0.2", + "lefthook": "^2.1.6", "playwright": "^1.59.1", "storybook": "^10.3.5", "tailwindcss": "^4", diff --git a/yarn.lock b/yarn.lock index 3d8bb68..eb0a8ab 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4917,6 +4917,117 @@ __metadata: languageName: node linkType: hard +"lefthook-darwin-arm64@npm:2.1.6": + version: 2.1.6 + resolution: "lefthook-darwin-arm64@npm:2.1.6" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"lefthook-darwin-x64@npm:2.1.6": + version: 2.1.6 + resolution: "lefthook-darwin-x64@npm:2.1.6" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"lefthook-freebsd-arm64@npm:2.1.6": + version: 2.1.6 + resolution: "lefthook-freebsd-arm64@npm:2.1.6" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"lefthook-freebsd-x64@npm:2.1.6": + version: 2.1.6 + resolution: "lefthook-freebsd-x64@npm:2.1.6" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"lefthook-linux-arm64@npm:2.1.6": + version: 2.1.6 + resolution: "lefthook-linux-arm64@npm:2.1.6" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"lefthook-linux-x64@npm:2.1.6": + version: 2.1.6 + resolution: "lefthook-linux-x64@npm:2.1.6" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"lefthook-openbsd-arm64@npm:2.1.6": + version: 2.1.6 + resolution: "lefthook-openbsd-arm64@npm:2.1.6" + conditions: os=openbsd & cpu=arm64 + languageName: node + linkType: hard + +"lefthook-openbsd-x64@npm:2.1.6": + version: 2.1.6 + resolution: "lefthook-openbsd-x64@npm:2.1.6" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"lefthook-windows-arm64@npm:2.1.6": + version: 2.1.6 + resolution: "lefthook-windows-arm64@npm:2.1.6" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"lefthook-windows-x64@npm:2.1.6": + version: 2.1.6 + resolution: "lefthook-windows-x64@npm:2.1.6" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"lefthook@npm:^2.1.6": + version: 2.1.6 + resolution: "lefthook@npm:2.1.6" + dependencies: + lefthook-darwin-arm64: "npm:2.1.6" + lefthook-darwin-x64: "npm:2.1.6" + lefthook-freebsd-arm64: "npm:2.1.6" + lefthook-freebsd-x64: "npm:2.1.6" + lefthook-linux-arm64: "npm:2.1.6" + lefthook-linux-x64: "npm:2.1.6" + lefthook-openbsd-arm64: "npm:2.1.6" + lefthook-openbsd-x64: "npm:2.1.6" + lefthook-windows-arm64: "npm:2.1.6" + lefthook-windows-x64: "npm:2.1.6" + dependenciesMeta: + lefthook-darwin-arm64: + optional: true + lefthook-darwin-x64: + optional: true + lefthook-freebsd-arm64: + optional: true + lefthook-freebsd-x64: + optional: true + lefthook-linux-arm64: + optional: true + lefthook-linux-x64: + optional: true + lefthook-openbsd-arm64: + optional: true + lefthook-openbsd-x64: + optional: true + lefthook-windows-arm64: + optional: true + lefthook-windows-x64: + optional: true + bin: + lefthook: bin/index.js + checksum: 10c0/3ccbe60951ebf59e35e02ca10dc8942a4455ec106f0f14a5fed2e40f000b5b57190594f3be87715d5a9a8b0cf93de33902cbd3c94688e116ffc07ad1760cfe9e + languageName: node + linkType: hard + "levn@npm:^0.4.1": version: 0.4.1 resolution: "levn@npm:0.4.1" @@ -5749,6 +5860,7 @@ __metadata: eslint-config-next: "npm:16.2.4" eslint-plugin-storybook: "npm:^10.3.5" jsdom: "npm:^29.0.2" + lefthook: "npm:^2.1.6" next: "npm:16.2.4" playwright: "npm:^1.59.1" react: "npm:19.2.4"