{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "extends": ["config:base", "docker:pinDigests"],
  "minimumReleaseAge": "5 days",
  "packageRules": [
    {
      "matchFileNames": ["cli/**"],
      "groupName": "@immich/cli",
      "matchUpdateTypes": ["minor", "patch"],
      "schedule": "on tuesday"
    },
    {
      "matchFileNames": ["docs/**"],
      "groupName": "docs",
      "matchUpdateTypes": ["minor", "patch"],
      "schedule": "on tuesday"
    },
    {
      "matchFileNames": ["mobile/**"],
      "groupName": "mobile",
      "matchUpdateTypes": ["minor", "patch"],
      "schedule": "on tuesday"
    },
    {
      "matchFileNames": ["server/**"],
      "groupName": "server",
      "matchUpdateTypes": ["minor", "patch"],
      "excludePackagePrefixes": ["exiftool", "reflect-metadata"],
      "schedule": "on tuesday"
    },
    {
      "matchFileNames": ["open-api/**"],
      "groupName": "open-api",
      "matchUpdateTypes": ["minor", "patch"],
      "schedule": "on tuesday"
    },
    {
      "groupName": "exiftool",
      "matchPackagePrefixes": ["exiftool"],
      "schedule": "on tuesday"
    },
    {
      "groupName": "svelte",
      "matchUpdateTypes": ["major"],
      "matchPackagePrefixes": ["@sveltejs"],
      "schedule": "on tuesday"
    },
    {
      "matchFileNames": ["web/**"],
      "groupName": "web",
      "matchUpdateTypes": ["minor", "patch"],
      "schedule": "on tuesday"
    },
    {
      "matchFileNames": ["machine-learning/**"],
      "groupName": "machine-learning",
      "rangeStrategy": "in-range-only",
      "schedule": "on tuesday"
    },
    {
      "matchFileNames": [".github/**"],
      "groupName": "github-actions",
      "schedule": "on tuesday"
    },
    {
      "groupName": "base-image",
      "matchPackagePrefixes": ["ghcr.io/immich-app/base-server"],
      "minimumReleaseAge": "0"
    },
    {
      "matchDatasources": ["docker"],
      "matchPackageNames": ["node"],
      "versionCompatibility": "^(?<version>[^-]+)(?<compatibility>-.*)?$",
      "versioning": "node",
      "schedule": "on tuesday"
    },
    {
      "packageNames": ["com.google.guava:guava"],
      "versionScheme": "docker",
      "schedule": "on tuesday"
    }
  ],
  "ignorePaths": ["mobile/openapi/pubspec.yaml"],
  "ignoreDeps": [
    "http",
    "intl"
  ],
  "labels": ["dependencies", "renovate"]
}
