exclude: 'node_modules|.git' default_stages: [pre-commit] fail_fast: false repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.3.0 hooks: - id: trailing-whitespace files: "erpnext.*" exclude: ".*json$|.*txt$|.*csv|.*md" - id: check-yaml - id: no-commit-to-branch args: ['--branch', 'develop'] - id: check-merge-conflict - id: check-ast - id: check-json - id: check-toml - id: check-yaml - id: debug-statements - repo: https://github.com/pre-commit/mirrors-prettier rev: v2.7.1 hooks: - id: prettier types_or: [javascript, vue, scss] # Ignore any files that might contain jinja / bundles exclude: | (?x)^( erpnext/public/dist/.*| cypress/.*| .*node_modules.*| .*boilerplate.*| erpnext/templates/includes/.* )$ - repo: https://github.com/pre-commit/mirrors-eslint rev: v8.44.0 hooks: - id: eslint types_or: [javascript] args: ['--quiet'] # Ignore any files that might contain jinja / bundles exclude: | (?x)^( erpnext/public/dist/.*| cypress/.*| .*node_modules.*| .*boilerplate.*| erpnext/templates/pages/order.js| erpnext/templates/includes/.* )$ - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.2.0 hooks: - id: ruff name: "Run ruff import sorter" args: ["--select=I", "--fix"] - id: ruff name: "Run ruff linter" - id: ruff-format name: "Run ruff formatter" - repo: local hooks: - id: postgres-compat name: "PostgreSQL compatibility (static check)" description: "Flags MySQL-only SQL that breaks on Postgres; the label-gated PG test job is the backstop for semantic divergences." entry: .github/helper/postgres_compat.py language: script files: ^erpnext/.*\.py$ # patches/ are historical, version-gated migrations (skipped on fresh Postgres installs); # out of scope for the always-on gate. exclude: ^erpnext/patches/ ci: autoupdate_schedule: weekly skip: [] submodules: false