Files
NYSM-NYD/.pre-commit-config.yaml

114 lines
2.7 KiB
YAML

repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-added-large-files
- id: check-merge-conflict
- id: check-case-conflict
- id: check-docstring-first
- id: check-json
- id: check-merge-conflict
- id: debug-statements
- id: name-tests-test
- id: requirements-txt-fixer
- repo: https://github.com/psf/black
rev: 23.3.0
hooks:
- id: black
language_version: python3
- repo: https://github.com/pycqa/isort
rev: 5.12.0
hooks:
- id: isort
args: ["--profile", "black"]
- repo: https://github.com/pycqa/flake8
rev: 6.0.0
hooks:
- id: flake8
args: [--max-line-length=88, --extend-ignore=E203,W503]
- repo: https://github.com/pycqa/bandit
rev: 1.7.5
hooks:
- id: bandit
args: [-r, src/, -f, json, -o, bandit-report.json]
exclude: ^(tests/|docs/)
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.3.0
hooks:
- id: mypy
additional_dependencies: [types-all]
args: [--ignore-missing-imports]
- repo: https://github.com/pycqa/pylint
rev: v2.17.4
hooks:
- id: pylint
args: [--rcfile=.pylintrc]
- repo: https://github.com/asottile/pyupgrade
rev: v3.7.0
hooks:
- id: pyupgrade
args: [--py38-plus]
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v3.0.0
hooks:
- id: prettier
types: [json, yaml, markdown]
- repo: https://github.com/igorshubovych/markdownlint-cli
rev: v0.35.0
hooks:
- id: markdownlint
args: [--fix]
- repo: https://github.com/crate-ci/typos
rev: v1.15.0
hooks:
- id: typos
- repo: https://github.com/pre-commit/mirrors-eslint
rev: v8.42.0
hooks:
- id: eslint
files: \.(js|jsx|ts|tsx)$
types: [file]
additional_dependencies:
- eslint@8.42.0
- "@typescript-eslint/eslint-plugin@5.59.0"
- "@typescript-eslint/parser@5.59.0"
- repo: local
hooks:
- id: check-cmake
name: Check CMake
entry: cmake --build build --target help
language: system
pass_filenames: false
always_run: true
stages: [manual]
- id: run-tests
name: Run Tests
entry: python -m pytest tests/ -v
language: system
pass_filenames: false
always_run: true
stages: [manual]
- id: security-scan
name: Security Scan
entry: bandit -r src/ -f json -o bandit-report.json
language: system
pass_filenames: false
always_run: true
stages: [manual]