UNPKG

renovate

Version:

Automated dependency updates. Flexible so you don't need to be.

321 lines (320 loc) • 11.5 kB
//#region lib/config/presets/internal/workarounds.preset.ts const presets = { all: { description: ["Apply crowd-sourced workarounds for known problems with packages."], extends: [ "workarounds:mavenCommonsAncientVersion", "workarounds:ignoreSpringCloudNumeric", "workarounds:ignoreWeb3jCoreWithOldReleaseTimestamp", "workarounds:ignoreHttp4sDigestMilestones", "workarounds:typesNodeVersioning", "workarounds:nodeDockerVersioning", "workarounds:doNotUpgradeFromAlpineStableToEdge", "workarounds:supportRedHatImageVersion", "workarounds:javaLTSVersions", "workarounds:disableEclipseLifecycleMapping", "workarounds:disableGradleReplacements", "workarounds:disableMavenParentRoot", "workarounds:containerbase", "workarounds:bitnamiDockerImageVersioning", "workarounds:clamavDockerImageVersioning", "workarounds:grafanaDockerImageVersioning", "workarounds:k3sKubernetesVersioning", "workarounds:rke2KubernetesVersioning", "workarounds:libericaJdkDockerVersioning", "workarounds:ubuntuDockerVersioning" ], ignoreDeps: [] }, bitnamiDockerImageVersioning: { description: "Use custom regex versioning for bitnami images", packageRules: [{ matchCurrentValue: "/^(?<major>\\d+)(?:\\.(?<minor>\\d+)(?:\\.(?<patch>\\d+))?)?-(?<compatibility>.+)-(?<build>\\d+)(?:-r(?<revision>\\d+))?$/", matchDatasources: ["docker"], matchPackageNames: [ "bitnami/**", "docker.io/bitnami/**", "gcr.io/bitnami-containers/**", "*-docker.pkg.dev/vmw-app-catalog/**" ], versioning: "regex:^(?<major>\\d+)(?:\\.(?<minor>\\d+)(?:\\.(?<patch>\\d+))?)?(:?-(?<compatibility>.+)-(?<build>\\d+)(?:-r(?<revision>\\d+))?)?$" }] }, clamavDockerImageVersioning: { description: "Use custom regex versioning for ClamAV images", packageRules: [{ matchDatasources: ["docker"], matchPackageNames: ["clamav/clamav", "clamav/clamav-debian"], versioning: "regex:^(?<major>\\d+)\\.(?<minor>\\d+)(\\.(?<patch>\\d+))?(-(?<build>\\d+))?(_(?<compatibility>.+))?$" }] }, containerbase: { description: "Add some containerbase overrides.", packageRules: [{ description: "Use node versioning for `(containerbase|renovate)/node` images", matchDatasources: ["docker"], matchPackageNames: ["/^(?:(?:docker|ghcr)\\.io/)?(?:containerbase|renovate)/node$/"], versioning: "node" }] }, disableEclipseLifecycleMapping: { description: "Disable Eclipse m2e lifecycle-mapping placeholder package.", packageRules: [{ enabled: false, matchDatasources: ["maven"], matchPackageNames: ["org.eclipse.m2e:lifecycle-mapping"] }] }, disableGradleReplacements: { description: "Disable package replacement updates for gradle dependencies.", packageRules: [{ enabled: false, matchManagers: ["gradle"], matchUpdateTypes: ["replacement"] }] }, disableMavenParentRoot: { description: "Avoid version fetching for Maven packages detected as project root.", packageRules: [{ enabled: false, matchDepTypes: ["parent-root"], matchManagers: ["maven"] }] }, doNotUpgradeFromAlpineStableToEdge: { description: "Do not upgrade from Alpine stable to edge.", packageRules: [{ allowedVersions: "<20000000", matchCurrentVersion: "!/^\\d{8}$/", matchDatasources: ["docker"], matchDepNames: ["alpine"] }, { allowedVersions: "<20000000", matchCurrentVersion: "!/^\\d{8}$/", matchDatasources: ["docker"], matchPackageNames: ["alpine"] }] }, grafanaDockerImageVersioning: { description: "Support security releases on Grafana (product) images", packageRules: [{ matchDatasources: ["docker"], matchPackageNames: [ "grafana/grafana", "docker.io/grafana/grafana", "grafana/grafana-enterprise", "docker.io/grafana/grafana-enterprise" ], versioning: "regex:^(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)(?:-security-(?<build>\\d+))?(?:-(?<compatibility>.*))?$" }] }, ignoreHttp4sDigestMilestones: { description: "Ignore `http4s` digest-based `1.x` milestones.", packageRules: [{ allowedVersions: `!/^1\\.0-\\d+-[a-fA-F0-9]{7}$/`, matchManagers: ["sbt"], matchPackageNames: ["org.http4s:**"] }] }, ignoreSpringCloudNumeric: { description: "Ignore spring cloud `1.x` releases.", packageRules: [{ allowedVersions: "/^[A-Z]/", matchDatasources: ["maven"], matchPackageNames: ["org.springframework.cloud:spring-cloud-starter-parent"] }] }, ignoreWeb3jCoreWithOldReleaseTimestamp: { description: "Ignore `web3j` `5.0.0` release.", packageRules: [{ allowedVersions: "!/^5\\.0\\.0/", matchDatasources: ["maven"], matchPackageNames: ["org.web3j:core"] }] }, javaLTSVersions: { description: "Limit Java runtime versions to LTS releases.", packageRules: [ { allowedVersions: "/^(?:8|11|17|21|25)(?:\\.|-|$)/", description: "Limit Java runtime versions to LTS releases. To receive all major releases add `workarounds:javaLTSVersions` to the `ignorePresets` array.", matchDatasources: ["docker", "java-version"], matchPackageNames: [ "eclipse-temurin", "amazoncorretto", "adoptopenjdk", "openjdk", "java", "java-jdk", "java-jre", "sapmachine", "/^azul/zulu-openjdk/", "/^bellsoft/liberica-openj(dk|re)-/", "/^cimg/openjdk/" ], versioning: "regex:^(?<major>\\d+)?(\\.(?<minor>\\d+))?(\\.(?<patch>\\d+))?([\\._+](?<build>(\\d\\.?)+)(LTS)?)?(-(?<compatibility>.*))?$" }, { allowedVersions: "/^(?:8|11|17|21|25)(?:\\.|-|$)/", description: "Limit Java runtime versions to LTS releases. To receive all major releases add `workarounds:javaLTSVersions` to the `ignorePresets` array.", matchDatasources: ["docker", "java-version"], matchDepNames: [ "eclipse-temurin", "amazoncorretto", "adoptopenjdk", "openjdk", "java", "java-jre", "sapmachine" ], versioning: "regex:^(?<major>\\d+)?(\\.(?<minor>\\d+))?(\\.(?<patch>\\d+))?([\\._+](?<build>(\\d\\.?)+)(LTS)?)?(-(?<compatibility>.*))?$" }, { description: "Use docker versioning for major-only Java image tags so rolling tags (e.g. 21-jre) are not upgraded to full-precision tags (e.g. 21.0.11_10-jre).", matchCurrentValue: "/^\\d+(-|$)/", matchDatasources: ["docker"], matchPackageNames: [ "eclipse-temurin", "amazoncorretto", "adoptopenjdk", "openjdk", "java", "java-jdk", "java-jre", "sapmachine", "/^azul/zulu-openjdk/", "/^bellsoft/liberica-openj(dk|re)-/", "/^cimg/openjdk/" ], versioning: "docker" }, { description: "Use docker versioning for major-only Java image tags so rolling tags (e.g. 21-jre) are not upgraded to full-precision tags (e.g. 21.0.11_10-jre).", matchCurrentValue: "/^\\d+(-|$)/", matchDatasources: ["docker"], matchDepNames: [ "eclipse-temurin", "amazoncorretto", "adoptopenjdk", "openjdk", "java", "java-jre", "sapmachine" ], versioning: "docker" }, { allowedVersions: "/^(?:jdk|jdk-all|jre)-(?:8|11|17|21|25)(?:\\.|-|$)/", description: "Limit Java runtime versions to LTS releases. To receive all major releases add `workarounds:javaLTSVersions` to the `ignorePresets` array.", matchDatasources: ["docker"], matchPackageNames: ["bellsoft/hardened-liberica-runtime-container", "bellsoft/liberica-runtime-container"] } ] }, k3sKubernetesVersioning: { description: "Use custom regex versioning for k3s-io/k3s", packageRules: [{ matchDatasources: ["github-releases"], matchPackageNames: ["k3s-io/k3s"], versioning: "regex:^v(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)(?:-(?<prerelease>[a-z]+\\d+))?(?<compatibility>\\+k3s)(?<build>\\d+)$" }] }, libericaJdkDockerVersioning: { description: "Use custom regex versioning for bellsoft/liberica-runtime-container", packageRules: [ { description: "Liberica JDK Lite version optimized for the Cloud", matchCurrentValue: "/^jdk-[^a][^l]{2}/", matchDatasources: ["docker"], matchPackageNames: ["bellsoft/hardened-liberica-runtime-container", "bellsoft/liberica-runtime-container"], versioning: "regex:^jdk-(?<major>\\d+)?(\\.(?<minor>\\d+))?(\\.(?<patch>\\d+))?([\\._+](?<build>(\\d\\.?)+))?(-(?<compatibility>.*))?$" }, { description: "Liberica JDK that can be used to create a custom runtime with a help of jlink tool", matchCurrentValue: "/^jdk-all/", matchDatasources: ["docker"], matchPackageNames: ["bellsoft/hardened-liberica-runtime-container", "bellsoft/liberica-runtime-container"], versioning: "regex:^jdk-all-(?<major>\\d+)?(\\.(?<minor>\\d+))?(\\.(?<patch>\\d+))?([\\._+](?<build>(\\d\\.?)+))?(-(?<compatibility>.*))?$" }, { description: "Liberica JRE (only the runtime without the rest of JDK tools) for running Java applications", matchCurrentValue: "/^jre-/", matchDatasources: ["docker"], matchPackageNames: ["bellsoft/hardened-liberica-runtime-container", "bellsoft/liberica-runtime-container"], versioning: "regex:^jre-(?<major>\\d+)?(\\.(?<minor>\\d+))?(\\.(?<patch>\\d+))?([\\._+](?<build>(\\d\\.?)+))?(-(?<compatibility>.*))?$" } ] }, mavenCommonsAncientVersion: { description: "Fix some problems with very old Maven commons versions.", packageRules: [{ allowedVersions: "!/^200\\d{5}(\\.\\d+)?/", matchDatasources: ["maven", "sbt-package"], matchPackageNames: ["commons-**"] }] }, nodeDockerVersioning: { description: "Use node versioning for `node` docker images.", packageRules: [{ matchDatasources: ["docker"], matchPackageNames: [ "/(?:^|/)node$/", "!calico/node", "!docker.io/calico/node", "!ghcr.io/devcontainers/features/node", "!kindest/node", "!docker.io/kindest/node" ], versionCompatibility: "^(?<version>[^-]+)(?<compatibility>-.*)?$", versioning: "node" }] }, rke2KubernetesVersioning: { description: "Use custom regex versioning for rancher/rke2", packageRules: [{ matchDatasources: ["github-releases"], matchPackageNames: ["rancher/rke2"], versioning: "regex:^v(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)(?:-(?<prerelease>[a-z]+\\d+))?(?<compatibility>\\+rke2r)(?<build>\\d+)$" }] }, supportRedHatImageVersion: { description: "Use specific versioning for Red Hat-maintained container images.", packageRules: [{ matchDatasources: ["docker"], matchPackageNames: [ "registry.access.redhat.com/rhel", "registry.access.redhat.com/rhel-atomic", "registry.access.redhat.com/rhel-init", "registry.access.redhat.com/rhel-minimal", "registry.access.redhat.com/rhceph/**", "registry.access.redhat.com/rhgs3/**", "registry.access.redhat.com/rhel7**", "registry.access.redhat.com/rhel8/**", "registry.access.redhat.com/rhel9/**", "registry.access.redhat.com/rhscl/**", "registry.access.redhat.com/ubi*{,/}**", "redhat/**" ], versioning: "redhat" }] }, typesNodeVersioning: { description: "Use node versioning for `@types/node`.", packageRules: [{ matchManagers: ["npm"], matchPackageNames: ["@types/node"], versioning: `node` }] }, ubuntuDockerVersioning: { description: "Use ubuntu versioning for `ubuntu` docker images.", packageRules: [{ matchDatasources: ["docker"], matchDepNames: ["ubuntu"], versioning: "ubuntu" }] } }; //#endregion export { presets }; //# sourceMappingURL=workarounds.preset.js.map