{ "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": [ "config:recommended", ":configMigration", "docker:pinDigests", "helpers:pinGitHubActionDigestsToSemver", "abandonments:recommended" ], "recreateWhen": "never", "minimumReleaseAge": "5 days", "minimumReleaseAgeBehaviour": "timestamp-optional", "schedule": "before 9am on tuesday", "prConcurrentLimit": 0, "prHourlyLimit": 0, "labels": ["dependencies", "renovate", "changelog:skip"], "postUpdateOptions": ["pnpmDedupe"], "packageRules": [ { "groupName": "@immich/ui", "matchPackageNames": ["@immich/ui"] }, { "matchPackageNames": ["@immich/**"], "minimumReleaseAge": "0" }, { "groupName": "flutter", "matchPackageNames": [ "/flutter/" ] }, { "groupName": "exiftool", "matchPackageNames": [ "exiftool{/,}**" ] }, { "groupName": "sharp", "matchPackageNames": [ "sharp" ] }, { "groupName": "svelte", "matchUpdateTypes": [ "major" ], "matchPackageNames": [ "@sveltejs{/,}**" ] }, { "matchManagers": ["github-actions"], "groupName": "github-actions" }, { "groupName": "base-image", "minimumReleaseAge": "0", "versioning": "loose", "matchPackageNames": [ "ghcr.io/immich-app/base-server{/,}**" ] }, { "matchPackageNames": [ "com.google.guava:guava" ], "versioning": "docker" }, { "matchDatasources": [ "npm" ], "rangeStrategy": "bump", "groupName": "node", "versioning": "node", "matchPackageNames": [ "node", "@types/node" ] }, { "groupName": "node", "matchDatasources": [ "docker" ], "matchPackageNames": [ "node" ], "versionCompatibility": "^(?[^-]+)(?-.*)?$", "versioning": "node" }, { "groupName": "typescript-projects", "matchDatasources": [ "npm" ], "matchUpdateTypes": [ "minor", "patch" ], "matchPackageNames": [ "!exiftool{/,}**", "!reflect-metadata{/,}**", "!@immich/ui", "!node", "!@types/node", "!@mapbox/mapbox-gl-rtl-text", "!sharp" ] }, { "matchPackageNames": ["immich-app/devtools"], "matchFileNames": ["**/.github/workflows/org-**"], "enabled": false }, { "matchPackageNames": ["immich-app/devtools"], "matchDepTypes": ["action"], "groupName": "github-actions", "ignoreUnstable": false, "versionCompatibility": "^(?.*)-(?.*)$", "minimumReleaseAge": "0", "extractVersion": "^(?.+)$" }, { "description": "zer0ver: 0.x minors can break at any time, route them onto the major branches", "matchUpdateTypes": ["minor"], "matchCurrentVersion": "/^v?0\\./", "additionalBranchPrefix": "major-" } ], "customManagers": [ { "customType": "regex", "description": "Process custom dependencies", "managerFilePatterns": ["/.*/"], "matchStrings": [ "datasource=(?\\S+) depName=(?\\S+)(?: versioning=(?\\S+))?\\s*\\n(?:.*?[:=]|\\s*-)\\s*\"?(?[^\"\\s]+)\"?" ], "datasourceTemplate": "{{#if datasource}}{{{datasource}}}{{else}}github-releases{{/if}}", "versioningTemplate": "{{#if versioning}}{{{versioning}}}{{else}}semver{{/if}}" } ] }