exclude: | # NOT INSTALLABLE ADDONS # END NOT INSTALLABLE ADDONS (?x) # Files and folders generated by bots, to avoid loops /static/description/index\.html$| # Files that fail if changed manually .*\.(diff|patch)$| # Library files can have extraneous formatting (even minimized) /static/(src/)?lib/| # You don't usually want a bot to modify your legal texts (LICENSE.*|COPYING.*) default_language_version: python: python3 node: "14.14.0" repos: - repo: local hooks: - id: forbidden-files name: forbidden files entry: found forbidden files; remove them language: fail files: "\\.rej$" - repo: https://github.com/oca/maintainer-tools rev: b9c963d hooks: # update the NOT INSTALLABLE ADDONS section above - id: oca-update-pre-commit-excluded-addons args: - --addons-dir - odoo/custom/src/private - repo: https://github.com/myint/autoflake rev: v1.4 hooks: - id: autoflake args: - --expand-star-imports - --ignore-init-module-imports - --in-place - --remove-all-unused-imports - --remove-duplicate-keys - --remove-unused-variables - repo: https://github.com/psf/black rev: 20.8b1 hooks: - id: black additional_dependencies: ["click<8.1.0"] - repo: https://github.com/asottile/pyupgrade rev: v2.7.2 hooks: - id: pyupgrade args: - --keep-percent-format - repo: https://github.com/timothycrosley/isort rev: 5.5.1 hooks: - id: isort name: isort except __init__.py args: [--settings, .] exclude: /__init__\.py$ - repo: https://github.com/pre-commit/mirrors-prettier rev: v2.1.2 hooks: - id: prettier name: prettier + plugin-xml additional_dependencies: # HACK https://github.com/prettier/pre-commit/issues/16#issuecomment-713474520 - prettier@2.1.2 - "@prettier/plugin-xml@0.12.0" args: - --plugin=@prettier/plugin-xml - repo: https://github.com/pre-commit/pre-commit-hooks rev: v3.2.0 hooks: - id: trailing-whitespace - id: end-of-file-fixer - id: debug-statements - id: fix-encoding-pragma args: ["--remove"] - id: check-case-conflict - id: check-docstring-first - id: check-executables-have-shebangs - id: check-merge-conflict - id: check-symlinks - id: check-xml - id: mixed-line-ending args: ["--fix=lf"] - repo: https://github.com/pycqa/flake8 rev: 3.8.3 hooks: - id: flake8 name: flake8 except __init__.py exclude: /__init__\.py$ additional_dependencies: ["flake8-bugbear==20.1.4", "importlib-metadata<5.0.0"] - id: flake8 name: flake8 only __init__.py args: ["--extend-ignore=F401"] # ignore unused imports in __init__.py files: /__init__\.py$ additional_dependencies: ["flake8-bugbear==20.1.4", "importlib-metadata<5.0.0"] - repo: https://github.com/pycqa/pylint rev: v2.11.1 hooks: - id: pylint name: pylint with optional checks args: - --valid_odoo_versions=14.0 - --rcfile=.pylintrc - --exit-zero verbose: true additional_dependencies: - isort==4.3.21 - pylint-odoo==5.0.5 - id: pylint name: pylint with mandatory checks args: - --valid_odoo_versions=14.0 - --rcfile=.pylintrc-mandatory additional_dependencies: - isort==4.3.21 - pylint-odoo==5.0.5 - repo: https://github.com/pre-commit/mirrors-eslint rev: v7.8.1 hooks: - id: eslint verbose: true args: - --color - --fix