Pre commit é uma lib que faz diversas validações antes de enviar seu código para o repositório; como formatar seu código, validar arquivos e outros.
Primeiro passo vamos instalar o pre-commit.
pip install pre-commit
Agora é preciso criar o arquivo na raiz do projeto com o nome ‘.pre-commit-config.yaml’
exclude: "^\
(third-party/.*)\
"
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
hooks:
- id: check-added-large-files # prevents giant files from being committed.
- id: check-case-conflict # checks for files that would conflict in case-insensitive filesystems.
- id: check-merge-conflict # checks for files that contain merge conflict strings.
- id: check-yaml # checks yaml files for parseable syntax.
- id: detect-private-key # detects the presence of private keys.
- id: end-of-file-fixer # ensures that a file is either empty, or ends with one newline.
- id: fix-byte-order-marker # removes utf-8 byte order marker.
- id: mixed-line-ending # replaces or checks mixed line ending.
- id: requirements-txt-fixer # sorts entries in requirements.txt.
- id: trailing-whitespace # trims trailing whitespace.
- repo: https://github.com/ambv/black
rev: 22.12.0
hooks:
- id: black
language_version: python3.10
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v2.5.1
hooks:
- id: prettier
files: \.(js|ts|jsx|tsx|css|less|html|json|markdown|md|yaml|yml)$
Execute o comando para adicionar todos os arquivos para validação.
pre-commit run --all-files
Toda vez que você fizer um commit, ele irá formatar e validar os arquivos.