-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
53effd6
commit bc2cdc8
Showing
3 changed files
with
218 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
repos: | ||
- repo: https://github.com/pre-commit/pre-commit-hooks | ||
rev: v4.6.0 # Use the ref you want to point at | ||
hooks: | ||
- id: trailing-whitespace | ||
- id: end-of-file-fixer | ||
- id: check-yaml | ||
args: [--allow-multiple-documents] | ||
- id: check-added-large-files | ||
args: [--maxkb=100] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,206 @@ | ||
- id: check-added-large-files | ||
name: check for added large files | ||
description: prevents giant files from being committed. | ||
entry: check-added-large-files | ||
language: python | ||
stages: [commit, push, manual] | ||
- id: check-ast | ||
name: check python ast | ||
description: simply checks whether the files parse as valid python. | ||
entry: check-ast | ||
language: python | ||
types: [python] | ||
- id: check-byte-order-marker | ||
name: 'check BOM - deprecated: use fix-byte-order-marker' | ||
description: forbids files which have a utf-8 byte-order marker. | ||
entry: check-byte-order-marker | ||
language: python | ||
types: [text] | ||
- id: check-builtin-literals | ||
name: check builtin type constructor use | ||
description: requires literal syntax when initializing empty or zero python builtin types. | ||
entry: check-builtin-literals | ||
language: python | ||
types: [python] | ||
- id: check-case-conflict | ||
name: check for case conflicts | ||
description: checks for files that would conflict in case-insensitive filesystems. | ||
entry: check-case-conflict | ||
language: python | ||
- id: check-docstring-first | ||
name: check docstring is first | ||
description: checks a common error of defining a docstring after code. | ||
entry: check-docstring-first | ||
language: python | ||
types: [python] | ||
- id: check-executables-have-shebangs | ||
name: check that executables have shebangs | ||
description: ensures that (non-binary) executables have a shebang. | ||
entry: check-executables-have-shebangs | ||
language: python | ||
types: [text, executable] | ||
stages: [commit, push, manual] | ||
- id: check-illegal-windows-names | ||
name: check illegal windows names | ||
entry: Illegal windows filenames detected | ||
language: fail | ||
files: '(?i)((^|/)(CON|PRN|AUX|NUL|COM[1-9]|LPT[1-9])(\.|/|$)|:)' | ||
- id: check-json | ||
name: check json | ||
description: checks json files for parseable syntax. | ||
entry: check-json | ||
language: python | ||
types: [json] | ||
- id: check-shebang-scripts-are-executable | ||
name: check that scripts with shebangs are executable | ||
description: ensures that (non-binary) files with a shebang are executable. | ||
entry: check-shebang-scripts-are-executable | ||
language: python | ||
types: [text] | ||
stages: [commit, push, manual] | ||
- id: pretty-format-json | ||
name: pretty format json | ||
description: sets a standard for formatting json files. | ||
entry: pretty-format-json | ||
language: python | ||
types: [json] | ||
- id: check-merge-conflict | ||
name: check for merge conflicts | ||
description: checks for files that contain merge conflict strings. | ||
entry: check-merge-conflict | ||
language: python | ||
types: [text] | ||
- id: check-symlinks | ||
name: check for broken symlinks | ||
description: checks for symlinks which do not point to anything. | ||
entry: check-symlinks | ||
language: python | ||
types: [symlink] | ||
- id: check-toml | ||
name: check toml | ||
description: checks toml files for parseable syntax. | ||
entry: check-toml | ||
language: python | ||
types: [toml] | ||
- id: check-vcs-permalinks | ||
name: check vcs permalinks | ||
description: ensures that links to vcs websites are permalinks. | ||
entry: check-vcs-permalinks | ||
language: python | ||
types: [text] | ||
- id: check-xml | ||
name: check xml | ||
description: checks xml files for parseable syntax. | ||
entry: check-xml | ||
language: python | ||
types: [xml] | ||
- id: check-yaml | ||
name: check yaml | ||
description: checks yaml files for parseable syntax. | ||
entry: check-yaml | ||
language: python | ||
types: [yaml] | ||
- id: debug-statements | ||
name: debug statements (python) | ||
description: checks for debugger imports and py37+ `breakpoint()` calls in python source. | ||
entry: debug-statement-hook | ||
language: python | ||
types: [python] | ||
- id: destroyed-symlinks | ||
name: detect destroyed symlinks | ||
description: detects symlinks which are changed to regular files with a content of a path which that symlink was pointing to. | ||
entry: destroyed-symlinks | ||
language: python | ||
types: [file] | ||
- id: detect-aws-credentials | ||
name: detect aws credentials | ||
description: detects *your* aws credentials from the aws cli credentials file. | ||
entry: detect-aws-credentials | ||
language: python | ||
types: [text] | ||
- id: detect-private-key | ||
name: detect private key | ||
description: detects the presence of private keys. | ||
entry: detect-private-key | ||
language: python | ||
types: [text] | ||
- id: double-quote-string-fixer | ||
name: fix double quoted strings | ||
description: replaces double quoted strings with single quoted strings. | ||
entry: double-quote-string-fixer | ||
language: python | ||
types: [python] | ||
- id: end-of-file-fixer | ||
name: fix end of files | ||
description: ensures that a file is either empty, or ends with one newline. | ||
entry: end-of-file-fixer | ||
language: python | ||
types: [text] | ||
stages: [commit, push, manual] | ||
- id: file-contents-sorter | ||
name: file contents sorter | ||
description: sorts the lines in specified files (defaults to alphabetical). you must provide list of target files as input in your .pre-commit-config.yaml file. | ||
entry: file-contents-sorter | ||
language: python | ||
files: '^$' | ||
- id: fix-byte-order-marker | ||
name: fix utf-8 byte order marker | ||
description: removes utf-8 byte order marker. | ||
entry: fix-byte-order-marker | ||
language: python | ||
types: [text] | ||
- id: fix-encoding-pragma | ||
name: fix python encoding pragma (deprecated) | ||
description: 'adds # -*- coding: utf-8 -*- to the top of python files.' | ||
language: python | ||
entry: fix-encoding-pragma | ||
types: [python] | ||
- id: forbid-new-submodules | ||
name: forbid new submodules | ||
description: prevents addition of new git submodules. | ||
language: python | ||
entry: forbid-new-submodules | ||
types: [directory] | ||
- id: forbid-submodules | ||
name: forbid submodules | ||
description: forbids any submodules in the repository | ||
language: fail | ||
entry: 'submodules are not allowed in this repository:' | ||
types: [directory] | ||
- id: mixed-line-ending | ||
name: mixed line ending | ||
description: replaces or checks mixed line ending. | ||
entry: mixed-line-ending | ||
language: python | ||
types: [text] | ||
- id: name-tests-test | ||
name: python tests naming | ||
description: verifies that test files are named correctly. | ||
entry: name-tests-test | ||
language: python | ||
files: (^|/)tests/.+\.py$ | ||
- id: no-commit-to-branch | ||
name: "don't commit to branch" | ||
entry: no-commit-to-branch | ||
language: python | ||
pass_filenames: false | ||
always_run: true | ||
- id: requirements-txt-fixer | ||
name: fix requirements.txt | ||
description: sorts entries in requirements.txt. | ||
entry: requirements-txt-fixer | ||
language: python | ||
files: (requirements|constraints).*\.txt$ | ||
- id: sort-simple-yaml | ||
name: sort simple yaml files | ||
description: sorts simple yaml files which consist only of top-level keys, preserving comments and blocks. | ||
language: python | ||
entry: sort-simple-yaml | ||
files: '^$' | ||
- id: trailing-whitespace | ||
name: trim trailing whitespace | ||
description: trims trailing whitespace. | ||
entry: trailing-whitespace-fixer | ||
language: python | ||
types: [text] | ||
stages: [commit, push, manual] |