# Install pre-commit hooks via
# pre-commit install

exclude: >
    (?x)^(
      \.vscode/settings\.json|
      tests/.*xml|
      tests/.*txt|
    )$

repos:

  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.6.0
    hooks:
    - id: check-json
    - id: check-yaml
    - id: end-of-file-fixer
    - id: trailing-whitespace

  - repo: https://github.com/astral-sh/ruff-pre-commit
    rev: v0.5.5
    hooks:
    - id: ruff
      args: [--fix]
    - id: ruff-format

  - repo: https://github.com/pre-commit/mirrors-mypy
    rev: v1.11.1
    hooks:
    - id: mypy
      additional_dependencies: []

  - repo: local
    hooks:
    - id: css
      name: css
      description: Compile the SCSS/SASS files to CSS inside the python package
      files: \.(scss|sass)$
      language: node
      additional_dependencies: ['sass@1.35.2']
      # entry: sass
      entry: npm run css
      require_serial: true
      pass_filenames: false
      # args: [--style=compressed, --no-source-map, style/index.scss, sphinx_design/compiled/style.min.css]

    - id: tsc
      name: tsc (jsdoc)
      entry: tsc
      language: node
      files: \.(js)$
      types_or: [javascript]
      args: [--allowJs, --noEmit, --strict]
      additional_dependencies:
      - typescript
