fabasoad/business-card

View on GitHub
.pre-commit-config.yaml

Summary

Maintainability
Test Coverage
---
default_install_hook_types: ["pre-commit", "pre-push"]
default_stages: ["commit", "push"]
exclude: ^(\.yarn/.*|src/libs/.*)$
minimum_pre_commit_version: 2.18.0
repos:
  - repo: local
    hooks:
      - id: build
        name: Build
        entry: yarn run build:prod
        language: system
        pass_filenames: false
        verbose: true
        stages: ["push"]
      - id: lint
        name: Lint
        entry: yarn run lint
        language: system
        pass_filenames: false
        verbose: true
      - id: test
        name: Unit tests
        entry: yarn test
        language: system
        pass_filenames: false
        verbose: true
        stages: ["push"]
  # Security
      - id: audit
        name: Yarn audit
        entry: yarn npm audit --all
        language: system
        pass_filenames: false
        verbose: false
        stages: ["push"]
  - repo: https://github.com/Yelp/detect-secrets
    rev: v1.5.0
    hooks:
      - id: detect-secrets
        # Excluding Hacker Rank certificate id located in items.json file
        args: ['--exclude-lines', '^(  "id": "F75CDD8ED9F0",)$']
  - repo: https://github.com/gitleaks/gitleaks
    rev: v8.18.4
    hooks:
      - id: gitleaks
  - repo: https://github.com/fabasoad/pre-commit-snyk
    rev: v0.6.2
    hooks:
      - id: snyk-test
        stages: ["push"]
  # Markdown
  - repo: https://github.com/igorshubovych/markdownlint-cli
    rev: v0.41.0
    hooks:
      - id: markdownlint-fix
        stages: ["commit"]
  # Yaml
  - repo: https://github.com/adrienverge/yamllint
    rev: v1.35.1
    hooks:
      - id: yamllint
        stages: ["push"]
  # GitHub Actions
  - repo: https://github.com/rhysd/actionlint
    rev: v1.7.1
    hooks:
      - id: actionlint
        args: ["-pyflakes="]
        stages: ["commit"]
  # Other
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.6.0
    hooks:
      - id: check-merge-conflict
      - id: check-json
        stages: ["push"]
      - id: detect-private-key
      - id: end-of-file-fixer
      - id: mixed-line-ending
        args: ["--fix=lf"]
      - id: no-commit-to-branch
        stages: ["commit"]
      - id: trailing-whitespace