v2: Add left-hook pre-push (#1003)
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com>
This commit is contained in:
parent
78bae7426d
commit
40174d2dff
5 changed files with 165 additions and 0 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
|
@ -52,3 +52,6 @@ dist/
|
|||
|
||||
# Conformance test results
|
||||
results/
|
||||
|
||||
# Ignore local lefthook configuration
|
||||
lefthook-local.yml
|
||||
|
|
|
|||
23
lefthook-local.example.yml
Normal file
23
lefthook-local.example.yml
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
# Optional local lefthook configuration
|
||||
# To enable this:
|
||||
# cp lefthook-local.example.yml lefthook-local.yml
|
||||
|
||||
pre-commit:
|
||||
parallel: true
|
||||
jobs:
|
||||
- name: 'Typecheck'
|
||||
run: pnpm typecheck:all
|
||||
|
||||
- name: 'Lint Fix & Format'
|
||||
run: pnpm lint:fix:all
|
||||
stage_fixed: true
|
||||
|
||||
post-checkout:
|
||||
jobs:
|
||||
- name: 'Install Dependencies'
|
||||
run: pnpm install
|
||||
|
||||
post-merge:
|
||||
jobs:
|
||||
- name: 'Install Dependencies'
|
||||
run: pnpm install
|
||||
37
lefthook.yml
Normal file
37
lefthook.yml
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
# lefthook.yml
|
||||
# Configuration reference: https://lefthook.dev/configuration/
|
||||
|
||||
assert_lefthook_installed: true
|
||||
|
||||
output:
|
||||
- meta # Print lefthook version
|
||||
- summary # Print summary block (successful and failed steps)
|
||||
- empty_summary # Print summary heading when there are no steps to run
|
||||
- success # Print successful steps
|
||||
- failure # Print failed steps printing
|
||||
- execution # Print any execution logs (but prints if the execution failed)
|
||||
- execution_out # Print execution output (but still prints failed commands output)
|
||||
- execution_info # Print `EXECUTE > ...` logging
|
||||
- skips # Print "skip" (i.e. no files matched)
|
||||
|
||||
pre-push:
|
||||
follow: true
|
||||
parallel: true
|
||||
jobs:
|
||||
- name: 'Typecheck'
|
||||
run: pnpm run typecheck:all
|
||||
fail_text: |
|
||||
💡 To catch typechecking issues earlier, enable the pre-commit hook:
|
||||
cp lefthook-local.example.yml lefthook-local.yml
|
||||
|
||||
- name: 'Lint'
|
||||
run: pnpm run lint:all
|
||||
fail_text: |
|
||||
💡 To catch linting issues earlier, enable the pre-commit hook:
|
||||
cp lefthook-local.example.yml lefthook-local.yml
|
||||
|
||||
- name: 'Build'
|
||||
run: pnpm run build:all
|
||||
fail_text: |
|
||||
💡 To catch build issues earlier, enable the pre-commit hook:
|
||||
cp lefthook-local.example.yml lefthook-local.yml
|
||||
|
|
@ -34,6 +34,7 @@
|
|||
"lint:fix:all": "pnpm sync:snippets && pnpm -r lint:fix",
|
||||
"check:all": "pnpm -r typecheck && pnpm -r lint && pnpm run docs:check",
|
||||
"test:all": "pnpm -r test",
|
||||
"prepare": "npx --no-install lefthook install",
|
||||
"test:conformance:client": "pnpm --filter @modelcontextprotocol/test-conformance run test:conformance:client",
|
||||
"test:conformance:client:all": "pnpm --filter @modelcontextprotocol/test-conformance run test:conformance:client:all",
|
||||
"test:conformance:client:run": "pnpm --filter @modelcontextprotocol/test-conformance run test:conformance:client:run",
|
||||
|
|
@ -43,6 +44,7 @@
|
|||
"test:conformance:all": "pnpm run test:conformance:client:all && pnpm run test:conformance:server:all"
|
||||
},
|
||||
"devDependencies": {
|
||||
"lefthook": "^2.0.16",
|
||||
"@cfworker/json-schema": "catalog:runtimeShared",
|
||||
"@changesets/changelog-github": "^0.5.2",
|
||||
"@changesets/cli": "^2.29.8",
|
||||
|
|
|
|||
100
pnpm-lock.yaml
generated
100
pnpm-lock.yaml
generated
|
|
@ -203,6 +203,9 @@ importers:
|
|||
fast-glob:
|
||||
specifier: ^3.3.3
|
||||
version: 3.3.3
|
||||
lefthook:
|
||||
specifier: ^2.0.16
|
||||
version: 2.0.16
|
||||
prettier:
|
||||
specifier: catalog:devTools
|
||||
version: 3.6.2
|
||||
|
|
@ -3710,6 +3713,60 @@ packages:
|
|||
resolution: {integrity: sha512-3BeXMoiOhpOwu62CiVpO6lxfq4eS6KMYfQdMsN/2kUCRNuF2YiEr7u0HLHaQU+O4Xu8YXE3bHVkwaQ85i72EuA==}
|
||||
engines: {node: '>=20.0.0'}
|
||||
|
||||
lefthook-darwin-arm64@2.0.16:
|
||||
resolution: {integrity: sha512-kjVHkD7rfPa7M0aKJSx/yatdV9uC6o3cJyzM9zk7cg5HD7alSwchFalgF/P0w6nt7C02rAUx8C05qiWCDWaKeA==}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
lefthook-darwin-x64@2.0.16:
|
||||
resolution: {integrity: sha512-tbJ0mdT49DNRLqknro0BvWrYNC23TTcqBJFQnQ32pq1/H9B87bTNKvKKAtogp/saxfHUzkIq1i3twZlBZ3G3Xw==}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
lefthook-freebsd-arm64@2.0.16:
|
||||
resolution: {integrity: sha512-wa1KFD5tSUhw3tuetVef/BCSxbbmS7auTDNdoLx3WFeuN5RS15woSN9+E8GPGOOY1g2HCsgdLrhrexEomulfjQ==}
|
||||
cpu: [arm64]
|
||||
os: [freebsd]
|
||||
|
||||
lefthook-freebsd-x64@2.0.16:
|
||||
resolution: {integrity: sha512-UXowfn2e94AwNk9UuoePRK+qiF15jZsssiyA15VK5GTtxpn6Sn+Z2QFciofxJczXXxM4abaf7qgx2OoJBt32VA==}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
|
||||
lefthook-linux-arm64@2.0.16:
|
||||
resolution: {integrity: sha512-U355elz4Z0AHSVqxfcglN09TGR86ov/GtYlliDknci2mmz6EWLiD3dTYnqJiwa4dYxqmuCDc/DvAL9rgb3YJiQ==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
lefthook-linux-x64@2.0.16:
|
||||
resolution: {integrity: sha512-7eAvBeWGAgjOKZ23OQbjJINLPImDIuDeX8dXOfk+aI6IFt2X6KCzRkp+ASUvGQtrPuNZQZT43EhW0/1jZU14ZQ==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
lefthook-openbsd-arm64@2.0.16:
|
||||
resolution: {integrity: sha512-Fcd+E17ZkWGnRSQINb5gf+rNy2So5PYn5mBljiC31dl+TgWM8Wy46mSEGveHo7lKCO3q+DkmHIa50Qm58G03AQ==}
|
||||
cpu: [arm64]
|
||||
os: [openbsd]
|
||||
|
||||
lefthook-openbsd-x64@2.0.16:
|
||||
resolution: {integrity: sha512-uL5nOkz8eBtQHped0/tB5X8clZ5kfnyjQrv1fpKbGAjeFHI2J+GmRqcn6Awq2IeuBbQvkyV6jDjpATyHBp5mCA==}
|
||||
cpu: [x64]
|
||||
os: [openbsd]
|
||||
|
||||
lefthook-windows-arm64@2.0.16:
|
||||
resolution: {integrity: sha512-U61bNWzD6Vd2kjuJ7b4voPfTQ4mlBFOyTpCU3k/h0YjpKDQEFT1T5fDKkDothdnw/JVDSgrclIcfAY7Jyr/UIg==}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
lefthook-windows-x64@2.0.16:
|
||||
resolution: {integrity: sha512-dCHi2+hebhPI0LQUGRNjPMsGRyXhrTN3Y/b8M4HO8KVyGamKB3Yemf67ya81tZopDkxNVy5XUBXLYWKGhnAfLQ==}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
lefthook@2.0.16:
|
||||
resolution: {integrity: sha512-ABs3M5V9c4nqxFnZO509HXuQTu8GM8hmqc9ruV0acQ81yKlxEq70MRoYP5Z1dr5le326X8vA5qj3arJA36yE3A==}
|
||||
hasBin: true
|
||||
|
||||
levn@0.4.1:
|
||||
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
|
||||
engines: {node: '>= 0.8.0'}
|
||||
|
|
@ -7344,6 +7401,49 @@ snapshots:
|
|||
|
||||
kysely@0.28.9: {}
|
||||
|
||||
lefthook-darwin-arm64@2.0.16:
|
||||
optional: true
|
||||
|
||||
lefthook-darwin-x64@2.0.16:
|
||||
optional: true
|
||||
|
||||
lefthook-freebsd-arm64@2.0.16:
|
||||
optional: true
|
||||
|
||||
lefthook-freebsd-x64@2.0.16:
|
||||
optional: true
|
||||
|
||||
lefthook-linux-arm64@2.0.16:
|
||||
optional: true
|
||||
|
||||
lefthook-linux-x64@2.0.16:
|
||||
optional: true
|
||||
|
||||
lefthook-openbsd-arm64@2.0.16:
|
||||
optional: true
|
||||
|
||||
lefthook-openbsd-x64@2.0.16:
|
||||
optional: true
|
||||
|
||||
lefthook-windows-arm64@2.0.16:
|
||||
optional: true
|
||||
|
||||
lefthook-windows-x64@2.0.16:
|
||||
optional: true
|
||||
|
||||
lefthook@2.0.16:
|
||||
optionalDependencies:
|
||||
lefthook-darwin-arm64: 2.0.16
|
||||
lefthook-darwin-x64: 2.0.16
|
||||
lefthook-freebsd-arm64: 2.0.16
|
||||
lefthook-freebsd-x64: 2.0.16
|
||||
lefthook-linux-arm64: 2.0.16
|
||||
lefthook-linux-x64: 2.0.16
|
||||
lefthook-openbsd-arm64: 2.0.16
|
||||
lefthook-openbsd-x64: 2.0.16
|
||||
lefthook-windows-arm64: 2.0.16
|
||||
lefthook-windows-x64: 2.0.16
|
||||
|
||||
levn@0.4.1:
|
||||
dependencies:
|
||||
prelude-ls: 1.2.1
|
||||
|
|
|
|||
Loading…
Reference in a new issue