forked from sqlfluff/sqlfluff
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.pre-commit-config.yaml
95 lines (95 loc) · 3.81 KB
/
.pre-commit-config.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
hooks:
- id: no-commit-to-branch
args: [--branch, main]
# If adding any exceptions here, make sure to add them to .editorconfig as well
- id: end-of-file-fixer
exclude: |
(?x)^
(
test/fixtures/templater/jinja_l_metas/0(0[134578]|11).sql|
test/fixtures/linter/sqlfluffignore/[^/]*/[^/]*.sql|
test/fixtures/config/inheritance_b/(nested/)?example.sql|
(.*)/trailing_newlines.sql|
plugins/sqlfluff-templater-dbt/test/fixtures/dbt.*/dbt_project/models/my_new_project/multiple_trailing_newline.sql|
plugins/sqlfluff-templater-dbt/test/fixtures/dbt.*/templated_output/macro_in_macro.sql|
plugins/sqlfluff-templater-dbt/test/fixtures/dbt.*/templated_output/(dbt_utils_0.8.0/)?last_day.sql|
test/fixtures/linter/indentation_errors.sql|
test/fixtures/templater/jinja_d_roundtrip/test.sql
)$
- id: trailing-whitespace
exclude: |
(?x)^(
test/fixtures/linter/indentation_errors.sql|
test/fixtures/templater/jinja_d_roundtrip/test.sql|
test/fixtures/config/inheritance_b/example.sql|
test/fixtures/config/inheritance_b/nested/example.sql|
plugins/sqlfluff-templater-dbt/test/fixtures/dbt.*/templated_output/macro_in_macro.sql|
plugins/sqlfluff-templater-dbt/test/fixtures/dbt.*/templated_output/last_day.sql|
plugins/sqlfluff-templater-dbt/test/fixtures/dbt.*/templated_output/dbt_utils_0.8.0/last_day.sql|
test/fixtures/linter/sqlfluffignore/
)$
- repo: https://github.com/psf/black
rev: 24.2.0
hooks:
- id: black
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.11.2
hooks:
- id: mypy
additional_dependencies:
# NOTE: These dependencies should be the same as the `types-*` dependencies in
# `requirements_dev.txt`. If you update these, make sure to update those too.
[
types-toml,
types-chardet,
types-appdirs,
types-colorama,
types-pyyaml,
types-regex,
types-tqdm,
# Type stubs are obvious to import, but some dependencies also define their own
# types directly (e.g. jinja). pre-commit doesn't actually install the python
# package, and so doesn't automatically install the dependencies from
# `pyproject.toml` either. We include them here to make sure mypy can function
# properly.
jinja2,
pathspec,
pytest, # and by extension... pluggy
click,
]
files: ^src/sqlfluff/.*
# The mypy pre-commit hook by default sets a few arguments that we don't normally
# use. To undo that we reset the `args` to be empty here. This is important to
# ensure we don't get conflicting results from the pre-commit hook and from the
# CI job.
args: []
- repo: https://github.com/pycqa/flake8
rev: 7.0.0
hooks:
- id: flake8
additional_dependencies: [flake8-black>=0.3.6]
- repo: https://github.com/pycqa/doc8
rev: v1.1.1
hooks:
- id: doc8
args: [--file-encoding, utf8]
files: docs/source/.*\.rst$
- repo: https://github.com/adrienverge/yamllint.git
rev: v1.35.1
hooks:
- id: yamllint
args: [-c=.yamllint]
- repo: https://github.com/charliermarsh/ruff-pre-commit
# Ruff version.
rev: "v0.3.2"
hooks:
- id: ruff
- repo: https://github.com/codespell-project/codespell
rev: v2.2.6
hooks:
- id: codespell
exclude: (?x)^(test/fixtures/.*|pyproject.toml)$
additional_dependencies: [tomli]