mirror of
https://github.com/jupyterhub/jupyterhub.git
synced 2025-10-07 01:54:09 +00:00
![pre-commit-ci[bot]](/assets/img/avatar_default.png)
updates: - [github.com/astral-sh/ruff-pre-commit: v0.12.7 → v0.12.11](https://github.com/astral-sh/ruff-pre-commit/compare/v0.12.7...v0.12.11) - [github.com/pre-commit/pre-commit-hooks: v5.0.0 → v6.0.0](https://github.com/pre-commit/pre-commit-hooks/compare/v5.0.0...v6.0.0)
87 lines
2.6 KiB
YAML
87 lines
2.6 KiB
YAML
# 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
|
|
#
|
|
|
|
ci:
|
|
# pre-commit.ci will open PRs updating our hooks once a month
|
|
autoupdate_schedule: monthly
|
|
|
|
repos:
|
|
# autoformat and lint Python code
|
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
rev: v0.12.11
|
|
hooks:
|
|
- id: ruff
|
|
types_or:
|
|
- python
|
|
- jupyter
|
|
args: ["--fix", "--show-fixes"]
|
|
- id: ruff-format
|
|
types_or:
|
|
- python
|
|
- jupyter
|
|
|
|
# Autoformat: markdown, yaml, javascript (see the file .prettierignore)
|
|
- repo: https://github.com/rbubley/mirrors-prettier
|
|
rev: v3.6.2
|
|
hooks:
|
|
- id: prettier
|
|
exclude: .*/templates/.*|docs/source/_static/rest-api.yml|docs/source/rbac/scope-table.md
|
|
|
|
# autoformat HTML templates
|
|
- repo: https://github.com/djlint/djLint
|
|
rev: v1.36.4
|
|
hooks:
|
|
- id: djlint-reformat-jinja
|
|
files: ".*templates/.*.html"
|
|
types_or: ["html"]
|
|
exclude: redoc.html
|
|
- id: djlint-jinja
|
|
files: ".*templates/.*.html"
|
|
types_or: ["html"]
|
|
|
|
# Autoformat and linting, misc. details
|
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
rev: v6.0.0
|
|
hooks:
|
|
- id: end-of-file-fixer
|
|
exclude: share/jupyterhub/static/js/admin-react.js
|
|
- id: requirements-txt-fixer
|
|
- id: check-case-conflict
|
|
- id: check-executables-have-shebangs
|
|
|
|
# source docs: rest-api.yml and scope-table.md are autogenerated
|
|
- repo: local
|
|
hooks:
|
|
- id: update-api-and-scope-docs
|
|
name: Update rest-api.yml and scope-table.md based on scopes.py
|
|
language: python
|
|
additional_dependencies: ["pytablewriter", "ruamel.yaml"]
|
|
entry: python docs/source/rbac/generate-scope-table.py
|
|
args:
|
|
- --update
|
|
files: jupyterhub/scopes.py
|
|
pass_filenames: false
|
|
|
|
# run eslint in the jsx directory
|
|
# need to pass through 'jsx:install-run' hook in
|
|
# top-level package.json to ensure dependencies are installed
|
|
# eslint pre-commit hook doesn't really work with eslint 9,
|
|
# so use `npm run lint:fix`
|
|
- id: jsx-eslint
|
|
name: eslint in jsx/
|
|
entry: npm run jsx:install-run lint:fix
|
|
pass_filenames: false
|
|
language: node
|
|
files: "jsx/.*"
|
|
# can't run on pre-commit; hangs, for some reason
|
|
stages:
|
|
- manual
|