lefthook.yml
Rama main · réplica de lectura del repositorio original.
# https://lefthook.dev/configuration/
#
# Keep commits fast by checking lint and formatting only. Pushes are the local
# quality gate: they rerun those checks, verify dead code and types, and run the
# unit and integration suites. Coverage remains a CI concern.
#
# Workspace checks remain repository-wide because dead-code and dependency
# boundaries are cross-file properties. ESI lint and formatting remain
# package-wide but only run when non-generated ESI files changed.
#
# `typecheck` runs on push only. It is the slowest check (~20s for vue-tsc across
# the Nuxt app) and it is the one that catches `.vue` and type-level regressions
# that lint, knip, and Vitest all miss, so it guards the shared branch without
# taxing every local commit.
glob_matcher: doublestar
pre-commit:
piped: true
jobs:
- name: format:workspace
run: pnpm format:check:workspace
- name: format:esi-client
exclude:
- 'packages/esi-client/docs/generated/**'
- 'packages/esi-client/examples/generated/**'
- 'packages/esi-client/openapi/generated/**'
- 'packages/esi-client/src/generated/**'
- 'packages/esi-client/tests/generated/**'
glob: 'packages/esi-client/**'
run: pnpm --filter @evespace/esi-client format:check
- name: lint:workspace
run: pnpm lint:workspace
- name: lint:esi-client
exclude:
- 'packages/esi-client/docs/generated/**'
- 'packages/esi-client/examples/generated/**'
- 'packages/esi-client/openapi/generated/**'
- 'packages/esi-client/src/generated/**'
- 'packages/esi-client/tests/generated/**'
glob: 'packages/esi-client/**'
run: pnpm --filter @evespace/esi-client lint
pre-push:
piped: true
jobs:
- name: knip
run: pnpm knip
- name: format:workspace
run: pnpm format:check:workspace
- name: format:esi-client
exclude:
- 'packages/esi-client/docs/generated/**'
- 'packages/esi-client/examples/generated/**'
- 'packages/esi-client/openapi/generated/**'
- 'packages/esi-client/src/generated/**'
- 'packages/esi-client/tests/generated/**'
glob: 'packages/esi-client/**'
run: pnpm --filter @evespace/esi-client format:check
- name: lint:workspace
run: pnpm lint:workspace
- name: lint:esi-client
exclude:
- 'packages/esi-client/docs/generated/**'
- 'packages/esi-client/examples/generated/**'
- 'packages/esi-client/openapi/generated/**'
- 'packages/esi-client/src/generated/**'
- 'packages/esi-client/tests/generated/**'
glob: 'packages/esi-client/**'
run: pnpm --filter @evespace/esi-client lint
- name: test:frontend
run: pnpm test:frontend
- name: test:registry
run: pnpm test:registry
- name: test:modules
run: pnpm test:modules
- name: test:api
run: pnpm test:api
- name: typecheck
run: pnpm typecheck
- name: test:redis
run: pnpm test:redis:no-coverage
- name: test:postgres
run: pnpm test:postgres