version: 2
updates:
  # Runtime + dev npm dependencies
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"
      day: "monday"
      time: "06:00"
      timezone: "Europe/Chisinau"
    open-pull-requests-limit: 5
    labels:
      - "dependencies"
      - "npm"
    commit-message:
      prefix: "chore(deps)"
      prefix-development: "chore(deps-dev)"
      include: "scope"
    groups:
      production-minor-patch:
        dependency-type: "production"
        update-types:
          - "minor"
          - "patch"
      development-minor-patch:
        dependency-type: "development"
        update-types:
          - "minor"
          - "patch"
    # Major bumps remain individual so they get reviewed deliberately.
    ignore:
      # Pin transitive churn that does not affect the runtime surface.
      - dependency-name: "@types/node"
        update-types: ["version-update:semver-major"]

  # GitHub Actions runners and pinned actions
  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "weekly"
      day: "monday"
    labels:
      - "dependencies"
      - "github-actions"
    commit-message:
      prefix: "ci"
      include: "scope"
    groups:
      actions-minor-patch:
        update-types:
          - "minor"
          - "patch"

  # Container base image and any future Docker layers
  - package-ecosystem: "docker"
    directory: "/"
    schedule:
      interval: "weekly"
      day: "monday"
    labels:
      - "dependencies"
      - "docker"
    commit-message:
      prefix: "chore(deps)"
      include: "scope"
