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]