# See https://pre-commit.com for more information # See https://pre-commit.com/hooks.html for more hooks exclude: (^LICENSE.md$|^src/VERSION$|^src/(bw/misc/root-ca.pem$|deps/src/|common/core/modsecurity/files|ui/static/js/(editor/|utils/purify/|tsparticles\.bundle\.min\.js))|\.(svg|drawio|patch\d?|ascii|tf|tftpl)$) repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: c4a0b883114b00d8d76b479c820ce7950211c99b # frozen: v4.5.0 hooks: - id: requirements-txt-fixer name: Fix requirements.txt and requirements.in files description: Sorts entries in requirements.txt and requirements.in files. files: (requirements|constraints).*\.(txt|in)$ - id: trailing-whitespace - id: end-of-file-fixer - id: check-yaml exclude: ^(mkdocs.yml|examples/bigbluebutton/docker-compose.yml)$ args: ["--allow-multiple-documents"] - id: check-case-conflict - repo: https://github.com/ambv/black rev: 2a1c67e0b2f81df602ec1f6e7aeb030b9709dc7c # frozen: 23.11.0 hooks: - id: black name: Black Python Formatter language_version: python3.9 - repo: https://github.com/pre-commit/mirrors-prettier rev: ffb6a759a979008c0e6dff86e39f4745a2d9eac4 # frozen: v3.1.0 hooks: - id: prettier name: Prettier Code Formatter - repo: https://github.com/JohnnyMorganz/StyLua rev: f9afc7f33bc19f7708fbc1d7eea0606e0d41080a # frozen: v0.19.1 hooks: - id: stylua-github exclude: ^src/(bw/lua/middleclass.lua|common/core/antibot/captcha.lua)$ - repo: https://github.com/lunarmodules/luacheck rev: ababb6d403d634eb74d2c541035e9ede966e710d # frozen: v1.1.1 hooks: - id: luacheck exclude: ^src/(bw/lua/middleclass.lua|common/core/antibot/captcha.lua)$ args: ["--std", "min", "--codes", "--ranges", "--no-cache"] - repo: https://github.com/pycqa/flake8 rev: 10f4af6dbcf93456ba7df762278ae61ba3120dc6 # frozen: 6.1.0 hooks: - id: flake8 name: Flake8 Python Linter args: ["--max-line-length=250", "--ignore=E266,E402,E722,W503"] - repo: https://github.com/dosisod/refurb rev: a25b5d6087bba1509f96654c583efcd7796452cd # frozen: v1.24.0 hooks: - id: refurb name: Refurb Python Refactoring Tool exclude: ^tests/ - repo: https://github.com/codespell-project/codespell rev: 6e41aba91fb32e9feb741a6258eefeb9c6e4a482 # frozen: v2.2.6 hooks: - id: codespell name: Codespell Spell Checker exclude: (^src/(ui/templates|common/core/.+/files|bw/loading)/.+.html|modsecurity-rules.conf.*)$ entry: codespell --ignore-regex="(tabEl|Widgits)" --skip src/ui/static/js/utils/flatpickr.js,CHANGELOG.md language: python types: [text] - repo: https://github.com/gitleaks/gitleaks rev: e815c559e3ac76227e8e7463cf3a6598b715687b # frozen: v8.18.1 hooks: - id: gitleaks - repo: https://github.com/koalaman/shellcheck-precommit rev: 3f77b826548d8dc2d26675f077361c92773b50a7 # frozen: v0.9.0 hooks: - id: shellcheck