Add .pre-commit-config.yaml
This commit is contained in:
40
.pre-commit-config.yaml
Normal file
40
.pre-commit-config.yaml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
# .pre-commit-config.yaml
|
||||||
|
repos:
|
||||||
|
# Black (code formatter)
|
||||||
|
- repo: https://github.com/psf/black
|
||||||
|
rev: 24.4.2 # Use the latest stable version
|
||||||
|
hooks:
|
||||||
|
- id: black
|
||||||
|
language_version: python3.11 # Specify your Python version
|
||||||
|
|
||||||
|
# Flake8 (linter)
|
||||||
|
- repo: https://github.com/PyCQA/flake8
|
||||||
|
rev: 7.1.0 # Use the latest stable version
|
||||||
|
hooks:
|
||||||
|
- id: flake8
|
||||||
|
additional_dependencies: [
|
||||||
|
"flake8-bugbear", # Optional: for common programming mistakes
|
||||||
|
"flake8-comprehensions", # Optional: for better comprehensions
|
||||||
|
"flake8-isort", # Optional: to integrate isort checks with flake8
|
||||||
|
"pep8-naming", # Optional: for PEP8 naming conventions
|
||||||
|
]
|
||||||
|
|
||||||
|
# isort (import sorter)
|
||||||
|
- repo: https://https://github.com/PyCQA/isort
|
||||||
|
rev: 5.13.2 # Use the latest stable version
|
||||||
|
hooks:
|
||||||
|
- id: isort
|
||||||
|
name: isort (python)
|
||||||
|
args: ["--profile", "black"] # Use black profile for compatibility
|
||||||
|
|
||||||
|
# Custom Hook for Django Tests with Coverage
|
||||||
|
- repo: local
|
||||||
|
hooks:
|
||||||
|
- id: django-test-coverage
|
||||||
|
name: Django Test Coverage Check
|
||||||
|
entry: bash -c 'coverage run manage.py test --failfast && coverage report --fail-under=90' # Adjust 90 to your desired percentage
|
||||||
|
language: system
|
||||||
|
pass_filenames: false # The command doesn't need specific filenames
|
||||||
|
always_run: true # This hook should always run
|
||||||
|
types: [python] # Only run if Python files are staged (adjust if needed)
|
||||||
|
files: '\.py$' # Trigger on Python files (adjust regex if you have other relevant files)
|
||||||
Reference in New Issue
Block a user