Add lefthook git hooks with a vendor-manifest guard

pre-commit: ESLint --fix on staged files (vendored source excluded),
incremental typecheck, and the vendor-manifest guard — any staged
change under vendor/*/src must be accompanied by a vendor/README.md
update in the same commit, mechanizing the local-modification log
discipline. pre-push: tests + hygiene (knip/publint/constraints).
Hooks call the same package.json scripts CI runs (single source of
truth); installed automatically via postinstall.
This commit is contained in:
Tianyi Cui
2026-06-11 15:07:55 +08:00
parent 6796a3922d
commit 9d20a36cc4
4 changed files with 161 additions and 1 deletions

112
yarn.lock
View File

@@ -184,6 +184,7 @@ __metadata:
dumble: "npm:^0.2.3"
eslint: "npm:^10.4.1"
knip: "npm:^6.16.1"
lefthook: "npm:^2.1.9"
publint: "npm:^0.3.21"
tsx: "npm:^4.22.4"
typescript: "npm:^6.0.3"
@@ -2248,6 +2249,117 @@ __metadata:
languageName: node
linkType: hard
"lefthook-darwin-arm64@npm:2.1.9":
version: 2.1.9
resolution: "lefthook-darwin-arm64@npm:2.1.9"
conditions: os=darwin & cpu=arm64
languageName: node
linkType: hard
"lefthook-darwin-x64@npm:2.1.9":
version: 2.1.9
resolution: "lefthook-darwin-x64@npm:2.1.9"
conditions: os=darwin & cpu=x64
languageName: node
linkType: hard
"lefthook-freebsd-arm64@npm:2.1.9":
version: 2.1.9
resolution: "lefthook-freebsd-arm64@npm:2.1.9"
conditions: os=freebsd & cpu=arm64
languageName: node
linkType: hard
"lefthook-freebsd-x64@npm:2.1.9":
version: 2.1.9
resolution: "lefthook-freebsd-x64@npm:2.1.9"
conditions: os=freebsd & cpu=x64
languageName: node
linkType: hard
"lefthook-linux-arm64@npm:2.1.9":
version: 2.1.9
resolution: "lefthook-linux-arm64@npm:2.1.9"
conditions: os=linux & cpu=arm64
languageName: node
linkType: hard
"lefthook-linux-x64@npm:2.1.9":
version: 2.1.9
resolution: "lefthook-linux-x64@npm:2.1.9"
conditions: os=linux & cpu=x64
languageName: node
linkType: hard
"lefthook-openbsd-arm64@npm:2.1.9":
version: 2.1.9
resolution: "lefthook-openbsd-arm64@npm:2.1.9"
conditions: os=openbsd & cpu=arm64
languageName: node
linkType: hard
"lefthook-openbsd-x64@npm:2.1.9":
version: 2.1.9
resolution: "lefthook-openbsd-x64@npm:2.1.9"
conditions: os=openbsd & cpu=x64
languageName: node
linkType: hard
"lefthook-windows-arm64@npm:2.1.9":
version: 2.1.9
resolution: "lefthook-windows-arm64@npm:2.1.9"
conditions: os=win32 & cpu=arm64
languageName: node
linkType: hard
"lefthook-windows-x64@npm:2.1.9":
version: 2.1.9
resolution: "lefthook-windows-x64@npm:2.1.9"
conditions: os=win32 & cpu=x64
languageName: node
linkType: hard
"lefthook@npm:^2.1.9":
version: 2.1.9
resolution: "lefthook@npm:2.1.9"
dependencies:
lefthook-darwin-arm64: "npm:2.1.9"
lefthook-darwin-x64: "npm:2.1.9"
lefthook-freebsd-arm64: "npm:2.1.9"
lefthook-freebsd-x64: "npm:2.1.9"
lefthook-linux-arm64: "npm:2.1.9"
lefthook-linux-x64: "npm:2.1.9"
lefthook-openbsd-arm64: "npm:2.1.9"
lefthook-openbsd-x64: "npm:2.1.9"
lefthook-windows-arm64: "npm:2.1.9"
lefthook-windows-x64: "npm:2.1.9"
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/676d9798942439d1cd5373bb0b2c9907f6a8097b29c05cc028d87d897d2a2cfe15a8f7e4f40b02fa93cd1ae0f02528f24053a10fb5c5967210a9c23f3c7b5059
languageName: node
linkType: hard
"levn@npm:^0.4.1":
version: 0.4.1
resolution: "levn@npm:0.4.1"