Ctrl K
ComunidadGuías…

lefthook.yml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# 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