Fixed #32165 -- Added pre-commit hooks

* Added pre-commit hooks for isort, flake8 and eslint
* Added documentation on how to install and use the tool
This commit is contained in:
David Smith 2020-12-15 20:32:08 +00:00 committed by Carlton Gibson
parent 3a0ed0ce3f
commit 3bca95cca2
3 changed files with 42 additions and 1 deletions

13
.pre-commit-config.yaml Normal file
View File

@ -0,0 +1,13 @@
repos:
- repo: https://github.com/PyCQA/isort
rev: 5.6.4
hooks:
- id: isort
- repo: https://gitlab.com/pycqa/flake8
rev: 3.8.4
hooks:
- id: flake8
- repo: https://github.com/pre-commit/mirrors-eslint
rev: v7.16.0
hooks:
- id: eslint

View File

@ -4,6 +4,32 @@ Coding style
Please follow these coding standards when writing code for inclusion in Django. Please follow these coding standards when writing code for inclusion in Django.
.. _coding-style-pre-commit:
Pre-commit checks
=================
`pre-commit <https://pre-commit.com>`_ is a framework for managing pre-commit
hooks. These hooks help to identify simple issues before committing code for
review. By checking for these issues before code review it allows the reviewer
to focus on the change itself, and it can also help to reduce the number CI
runs.
To use the tool, first install ``pre-commit`` and then the git hooks::
.. console::
$ pip install pre-commit
$ pre-commit install
On the first commit ``pre-commit`` will install the hooks, these are
installed in their own environments and will take a short while to
install on the first run. Subsequent checks will be significantly faster.
If the an error is found an appropriate error message will be displayed.
If the error was with ``isort`` then the tool will go ahead and fix them for
you. Review the changes and re-stage for commit if you are happy with
them.
.. _coding-style-python: .. _coding-style-python:
Python style Python style

View File

@ -290,7 +290,9 @@ All code changes
* Does the :doc:`coding style * Does the :doc:`coding style
</internals/contributing/writing-code/coding-style>` conform to our </internals/contributing/writing-code/coding-style>` conform to our
guidelines? Are there any ``flake8`` errors? guidelines? Are there any ``flake8`` errors? You can install the
:ref:`pre-commit <coding-style-pre-commit>` hooks to automatically catch
these errors.
* If the change is backwards incompatible in any way, is there a note * If the change is backwards incompatible in any way, is there a note
in the release notes (``docs/releases/A.B.txt``)? in the release notes (``docs/releases/A.B.txt``)?
* Is Django's test suite passing? * Is Django's test suite passing?