diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 00000000..b61543ba --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,74 @@ +# pre-commit is a tool to perform a predefined set of tasks manually and/or +# automatically before git commits are made. +# +# Config reference: https://pre-commit.com/#pre-commit-configyaml---top-level +# +# Common tasks +# +# - Run on all files: pre-commit run --all-files +# - Register git hooks: pre-commit install --install-hooks +# +repos: + # FIXME: Autoformatting of our .py files by pyupgrade/autoflake/isort/black is + # initially not enabled as it would lead to large indentation changes + # while we currently have several open PRs good to resolve first. + # + + # # Autoformat: Python code, syntax patterns are modernized + # - repo: https://github.com/asottile/pyupgrade + # rev: v3.3.1 + # hooks: + # - id: pyupgrade + # args: + # - --py37-plus + + # # Autoformat: Python code + # - repo: https://github.com/PyCQA/autoflake + # rev: v2.0.0 + # hooks: + # - id: autoflake + # # args ref: https://github.com/PyCQA/autoflake#advanced-usage + # args: + # - --in-place + + # # Autoformat: Python code + # - repo: https://github.com/pycqa/isort + # rev: 5.11.4 + # hooks: + # - id: isort + + # # Autoformat: Python code + # - repo: https://github.com/psf/black + # rev: 22.12.0 + # hooks: + # - id: black + + # Autoformat: markdown, yaml, javascript (see the file .prettierignore) + - repo: https://github.com/pre-commit/mirrors-prettier + rev: v3.0.0-alpha.4 + hooks: + - id: prettier + # FIXME: Autoformatting of our .js files is initially not enabled as it + # would lead to large indentation changes while we currently have + # several open PRs good to resolve first. + exclude_types: + - "javascript" + + # Autoformat and linting, misc. details + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.4.0 + hooks: + - id: end-of-file-fixer + - id: requirements-txt-fixer + - id: check-case-conflict + - id: check-executables-have-shebangs + + # Linting: Python code (see the file .flake8) + - repo: https://github.com/PyCQA/flake8 + rev: "6.0.0" + hooks: + - id: flake8 + +ci: + # pre-commit.ci will open PRs updating our hooks once a month + autoupdate_schedule: monthly diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000..9cc05fa6 --- /dev/null +++ b/.prettierignore @@ -0,0 +1 @@ +nbgitpuller/templates/