UNPKG

renovate

Version:

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

1,997 lines • 89.6 kB
import { PLATFORM_HOST_TYPES } from "../../constants/platforms.js"; import { managerDefaultConfigs } from "../../manager-default-configs.generated.js"; import { AllManagersListLiteral } from "../../manager-list.generated.js"; import { AllVersioningsListLiteral } from "../../versioning-list.generated.js"; import { supportedDatasources } from "../presets/internal/merge-confidence.preset.js"; import { UpdateTypesOptions } from "../types.js"; import { isArray, isObject } from "@sindresorhus/is"; //#region lib/config/options/index.ts const options = [ { name: "mode", description: "Mode of operation.", type: "string", default: "full", allowedValues: ["full", "silent"] }, { name: "allowedHeaders", description: "List of allowed patterns for header names in repository hostRules config.", type: "array", default: ["X-*"], subType: "string", globalOnly: true, patternMatch: true }, { name: "autodiscoverRepoOrder", description: "The order method for autodiscover server side repository search.", type: "string", default: null, globalOnly: true, allowedValues: ["asc", "desc"], supportedPlatforms: [ "forgejo", "gitea", "gitlab" ] }, { name: "autodiscoverRepoSort", description: "The sort method for autodiscover server side repository search.", type: "string", default: null, globalOnly: true, allowedValues: [ "alpha", "created", "created_at", "updated", "updated_at", "size", "id" ], supportedPlatforms: [ "forgejo", "gitea", "gitlab" ] }, { name: "allowedEnv", description: "List of allowed patterns for environment variable names in repository env config.", type: "array", default: [], subType: "string", globalOnly: true, patternMatch: true, mergeable: true }, { name: "detectGlobalManagerConfig", description: "If `true`, Renovate tries to detect global manager configuration from the file system.", type: "boolean", default: false, globalOnly: true }, { name: "detectHostRulesFromEnv", description: "If `true`, Renovate tries to detect host rules from environment variables.", type: "boolean", default: false, globalOnly: true }, { name: "mergeConfidenceEndpoint", description: "If set, Renovate will query this API for Merge Confidence data.", stage: "global", type: "string", default: "https://developer.mend.io/", advancedUse: true, globalOnly: true }, { name: "mergeConfidenceDatasources", description: "If set, Renovate will query the merge-confidence JSON API only for datasources that are part of this list.", stage: "global", allowedValues: supportedDatasources, default: supportedDatasources, type: "array", subType: "string", globalOnly: true }, { name: "useCloudMetadataServices", description: "If `false`, Renovate does not try to access cloud metadata services.", type: "boolean", default: true, globalOnly: true, cli: false }, { name: "userAgent", description: "Sets the `user-agent` header to be sent with HTTP requests. Supports `{{renovateVersion}}` as a template variable for the current Renovate version.", type: "string", default: `Renovate/{{renovateVersion}} (https://github.com/renovatebot/renovate)`, globalOnly: true, supportsTemplating: true }, { name: "allowedCommands", description: "A list of regular expressions that decide which commands are allowed in post-upgrade tasks.", type: "array", subType: "string", default: [], globalOnly: true, patternMatch: true }, { name: "bumpVersions", description: "A list of bumpVersion config options to bump generic version numbers.", type: "array", subType: "object", default: [], cli: false, env: false, experimental: true }, { name: "bumpType", description: "The semver level to use when bumping versions. This is used by the `bumpVersions` feature.", type: "string", parents: ["bumpVersions"], allowedValues: [ "major", "minor", "patch", "sync" ], supportsTemplating: true }, { name: "filePatterns", description: "A list of patterns to match files that contain the version string.", type: "array", subType: "string", parents: ["bumpVersions"], supportsTemplating: true }, { name: "name", description: "A name for the bumpVersion config. This is used for logging and debugging.", type: "string", parents: ["bumpVersions"] }, { name: "postUpgradeTasks", description: "Post-upgrade tasks that are executed before a commit is made by Renovate.", type: "object", default: { commands: [], fileFilters: [], executionMode: "update", installTools: {} } }, { name: "commands", description: "A list of post-upgrade commands that are executed before a commit is made by Renovate.", type: "array", subType: "string", parents: ["postUpgradeTasks"], default: [], cli: false, supportsTemplating: true }, { name: "workingDirTemplate", description: "A template describing the working directory in which post-upgrade tasks should be executed.", type: "string", parents: ["postUpgradeTasks"], cli: false, env: false, supportsTemplating: true }, { name: "dataFileTemplate", description: "A template to create post-upgrade command data file from.", type: "string", parents: ["postUpgradeTasks"], cli: false, env: false, supportsTemplating: true }, { name: "fileFilters", description: "Files that match the glob pattern will be committed after running a post-upgrade task.", type: "array", subType: "string", parents: ["postUpgradeTasks"], default: ["**/*"], cli: false }, { name: "installTools", description: "Install tools before executing commands", type: "object", parents: ["postUpgradeTasks"], default: {}, additionalProperties: { type: "object", properties: {}, additionalProperties: false }, mergeable: false, freeChoice: true, cli: false }, { name: "format", description: "Format of the custom datasource.", type: "string", parents: ["customDatasources"], default: "json", allowedValues: ["json", "plain"], cli: false, env: false }, { name: "executionMode", description: "Controls when the post upgrade tasks run: on every update, or once per upgrade branch.", type: "string", parents: ["postUpgradeTasks"], allowedValues: ["update", "branch"], default: "update", cli: false }, { name: "onboardingBranch", description: "Change this value to override the default onboarding branch name.", type: "string", default: "renovate/configure", globalOnly: true, inheritConfigSupport: true, cli: false }, { name: "onboardingAutoCloseAge", description: "Maximum number of days after which Renovate will stop trying to onboard the repository, and will close any existing onboarding PRs", type: "integer", default: null, globalOnly: true, inheritConfigSupport: true, cli: false }, { name: "onboardingCommitMessage", description: "Change this value to override the default onboarding commit message.", type: "string", default: null, globalOnly: true, inheritConfigSupport: true, cli: false }, { name: "configFileNames", description: "List of filenames where repository config will be stored.", type: "array", subType: "string", default: null, globalOnly: true, inheritConfigSupport: true }, { name: "onboardingConfigFileName", description: "Change this value to override the default onboarding config file name.", type: "string", default: "renovate.json", globalOnly: true, inheritConfigSupport: true, cli: false }, { name: "onboardingNoDeps", description: "Onboard the repository even if no dependencies are found.", type: "string", default: "auto", allowedValues: [ "auto", "enabled", "disabled" ], globalOnly: true, inheritConfigSupport: true }, { name: "onboardingPrTitle", description: "Change this value to override the default onboarding PR title.", type: "string", default: "Configure Renovate", globalOnly: true, inheritConfigSupport: true, cli: false }, { name: "configMigration", description: "Enable this to get config migration PRs when needed.", stage: "repository", type: "boolean", default: false, experimental: true, experimentalDescription: "Config migration PRs are still being improved, in particular to reduce the amount of reordering and whitespace changes.", experimentalIssues: [16359] }, { name: "productLinks", description: "Links which are used in PRs, issues and comments.", type: "object", globalOnly: true, mergeable: true, default: { documentation: "https://docs.renovatebot.com/", help: "https://github.com/renovatebot/renovate/discussions", homepage: "https://github.com/renovatebot/renovate" }, additionalProperties: { type: "string", format: "uri" } }, { name: "secrets", description: "Object which holds secret name/value pairs.", type: "object", globalOnly: true, mergeable: true, default: {}, additionalProperties: { type: "string" } }, { name: "variables", description: "Object which holds variable name/value pairs.", type: "object", globalOnly: true, mergeable: true, default: {}, additionalProperties: { type: "string" } }, { name: "statusCheckNames", description: "Custom strings to use as status check names.", type: "object", mergeable: true, advancedUse: true, default: { artifactError: "renovate/artifacts", configValidation: "renovate/config-validation", mergeConfidence: "renovate/merge-confidence", minimumReleaseAge: "renovate/stability-days" } }, { name: "statusCheckWhen", description: "Control when each Renovate status check is set on branches. Keys match `statusCheckNames`.", type: "object", mergeable: true, advancedUse: true, default: { artifactError: "failed", configValidation: "always", mergeConfidence: "always", minimumReleaseAge: "always" } }, { name: "extends", description: "Configuration presets to use or extend.", stage: "package", type: "array", subType: "string", allowString: true, cli: false }, { name: "ignorePresets", description: "A list of presets to ignore, including any that are nested inside an `extends` array.", stage: "package", type: "array", subType: "string", allowString: true, cli: false }, { name: "migratePresets", description: "Define presets here which have been removed or renamed and should be migrated automatically.", type: "object", globalOnly: true, default: {}, additionalProperties: { type: "string" } }, { name: "minimumGroupSize", description: "The minimum number of updates which must be in a group for branches to be created.", type: "integer", default: 1 }, { name: "presetCachePersistence", description: "Cache resolved presets in package cache.", type: "boolean", default: false, globalOnly: true }, { name: "globalExtends", description: "Configuration presets to use or extend for a self-hosted config.", type: "array", subType: "string", globalOnly: true }, { name: "description", description: "Plain text description for a config or preset.", type: "array", subType: "string", stage: "repository", allowString: true, mergeable: true, cli: false, env: false }, { name: "enabled", description: `Enable or disable corresponding functionality.`, stage: "package", type: "boolean", default: true, parents: [ ".", "packageRules", ...AllManagersListLiteral, "hostRules", "vulnerabilityAlerts", ...UpdateTypesOptions ] }, { name: "constraintsFiltering", description: "Perform release filtering based on language constraints.", type: "string", allowedValues: ["none", "strict"], cli: false, default: "none" }, { name: "repositoryCache", description: "This option decides if Renovate uses a JSON cache to speed up extractions.", globalOnly: true, type: "string", allowedValues: [ "disabled", "enabled", "reset" ], stage: "repository", default: "disabled" }, { name: "repositoryCacheType", description: "Set the type of renovate repository cache if `repositoryCache` is enabled.", globalOnly: true, type: "string", stage: "repository", default: "local" }, { name: "repositoryCacheForceLocal", description: "If set to `true`, Renovate will persist repository cache locally after uploading to S3.", type: "boolean", default: false, globalOnly: true }, { name: "reportType", description: "Set how, or if, reports should be generated.", globalOnly: true, type: "string", default: null, experimental: true, allowedValues: [ "logging", "file", "s3" ] }, { name: "reportPath", description: "Path to where the file should be written. In case of `s3` this has to be a full S3 URI.", globalOnly: true, type: "string", default: null, experimental: true }, { name: "reportFormatting", description: "If set to `true`, Renovate will format the report JSON with Prettier before writing.", globalOnly: true, type: "boolean", default: false, experimental: true, cli: false }, { name: "force", description: "Any configuration set in this object will force override existing settings.", stage: "package", globalOnly: true, type: "object", cli: false, mergeable: true }, { name: "forceCli", description: "Decides if CLI configuration options are moved to the `force` config section.", stage: "global", type: "boolean", default: true, globalOnly: true }, { name: "draftPR", description: "If set to `true` then Renovate creates draft PRs, instead of normal status PRs.", type: "boolean", default: false, supportedPlatforms: [ "azure", "forgejo", "gitea", "github", "gitlab", "scm-manager" ] }, { name: "dryRun", description: "If enabled, perform a dry run by logging messages instead of creating/updating/deleting branches and PRs.", type: "string", globalOnly: true, allowedValues: [ "extract", "lookup", "full" ], default: null }, { name: "printConfig", description: "If enabled, Renovate logs the fully resolved config for each repository, plus the fully resolved presets.", type: "boolean", default: false }, { name: "binarySource", description: "Controls how third-party tools like npm or Gradle are called: directly, via Docker sidecar containers, or via dynamic install.", globalOnly: true, type: "string", allowedValues: [ "global", "docker", "install", "hermit" ], default: "install" }, { name: "redisUrl", description: "If set, this Redis URL will be used for caching instead of the file system.", stage: "global", type: "string", globalOnly: true }, { name: "redisPrefix", description: "Key prefix for redis cache entries.", stage: "global", type: "string", globalOnly: true }, { name: "baseDir", description: "The base directory for Renovate to store local files, including repository files and cache. If left empty, Renovate will create its own temporary directory to use.", stage: "global", type: "string", globalOnly: true }, { name: "cacheDir", description: "The directory where Renovate stores its cache. If left empty, Renovate creates a subdirectory within the `baseDir`.", globalOnly: true, type: "string" }, { name: "containerbaseDir", description: "The directory where Renovate stores its containerbase cache. If left empty, Renovate creates a subdirectory within the `cacheDir`.", globalOnly: true, type: "string" }, { name: "customEnvVariables", description: "Custom environment variables for child processes and sidecar Docker containers.", globalOnly: true, type: "object", default: {} }, { name: "env", description: "Environment variables that Renovate uses when executing package manager commands.", type: "object", default: {} }, { name: "customDatasources", description: "Defines custom datasources for usage by managers.", type: "object", experimental: true, experimentalIssues: [23286], default: {}, mergeable: true }, { name: "dockerChildPrefix", description: "Change this value to add a prefix to the Renovate Docker sidecar container names and labels.", type: "string", globalOnly: true, default: "renovate_", deprecationMsg: "The usage of `binarySource=docker` is deprecated, and will be removed in the future" }, { name: "dockerCliOptions", description: "Pass CLI flags to `docker run` command when `binarySource=docker`.", type: "string", globalOnly: true, deprecationMsg: "The usage of `binarySource=docker` is deprecated, and will be removed in the future" }, { name: "dockerSidecarImage", description: "Change this value to override the default Renovate sidecar image.", type: "string", default: "ghcr.io/renovatebot/base-image:13.58.0", globalOnly: true, deprecationMsg: "The usage of `binarySource=docker` is deprecated, and will be removed in the future" }, { name: "dockerUser", description: "Set the `UID` and `GID` for Docker-based binaries if you use `binarySource=docker`.", globalOnly: true, type: "string", deprecationMsg: "The usage of `binarySource=docker` is deprecated, and will be removed in the future", default: "12021" }, { name: "composerIgnorePlatformReqs", description: "Configure use of `--ignore-platform-reqs` or `--ignore-platform-req` for the Composer package manager.", type: "array", subType: "string", default: [] }, { name: "goGetDirs", description: "Directory pattern to run `go get` on.", type: "array", subType: "string", default: ["./..."], supportedManagers: ["gomod"] }, { name: "logContext", description: "Add a global or per-repo log context to each log entry.", globalOnly: true, type: "string", default: null, stage: "global" }, { name: "onboarding", description: "Require a Configuration PR first.", stage: "repository", type: "boolean", globalOnly: true, inheritConfigSupport: true }, { name: "onboardingConfig", description: "Configuration to use for onboarding PRs.", stage: "repository", type: "object", default: { $schema: "https://docs.renovatebot.com/renovate-schema.json" }, globalOnly: true, inheritConfigSupport: true, mergeable: true }, { name: "onboardingRebaseCheckbox", description: "Set to enable rebase/retry markdown checkbox for onboarding PRs.", type: "boolean", default: false, supportedPlatforms: [ "forgejo", "gitea", "github", "gitlab" ], globalOnly: true, experimental: true, experimentalIssues: [17633] }, { name: "forkProcessing", description: "Whether to process forked repositories. By default, all forked repositories are skipped when in `autodiscover` mode.", stage: "repository", type: "string", allowedValues: [ "auto", "enabled", "disabled" ], default: "auto" }, { name: "includeMirrors", description: "Whether to process repositories that are mirrors. By default, repositories that are mirrors are skipped.", type: "boolean", default: false, supportedPlatforms: ["gitlab"], globalOnly: true }, { name: "forkCreation", description: "Whether to create forks as needed at runtime when running in \"fork mode\".", stage: "repository", type: "boolean", globalOnly: true, supportedPlatforms: ["github"], experimental: true, default: true }, { name: "forkToken", description: "Set a personal access token here to enable \"fork mode\".", stage: "repository", type: "string", globalOnly: true, supportedPlatforms: ["github"], experimental: true }, { name: "forkOrg", description: "The preferred organization to create or find forked repositories, when in fork mode.", stage: "repository", type: "string", globalOnly: true, supportedPlatforms: ["github"], experimental: true }, { name: "githubTokenWarn", description: "Display warnings about GitHub token not being set.", type: "boolean", default: true, globalOnly: true }, { name: "encryptedWarning", description: "Warning text to use if encrypted config is found.", type: "string", globalOnly: true, advancedUse: true }, { name: "inheritConfig", description: "If `true`, Renovate will inherit configuration from the `inheritConfigFileName` file in `inheritConfigRepoName`.", type: "boolean", default: false, globalOnly: true }, { name: "inheritConfigRepoName", description: "Renovate will look in this repo for the `inheritConfigFileName`.", type: "string", default: "{{parentOrg}}/renovate-config", globalOnly: true, supportsTemplating: true }, { name: "inheritConfigFileName", description: "Renovate will look for this config file name in the `inheritConfigRepoName`.", type: "string", default: "org-inherited-config.json", globalOnly: true }, { name: "inheritConfigStrict", description: "If `true`, any `inheritedConfig` fetch error will result in an aborted run.", type: "boolean", default: false, globalOnly: true }, { name: "requireConfig", description: "Controls Renovate's behavior regarding repository config files such as `renovate.json`.", stage: "repository", type: "string", default: "required", allowedValues: [ "required", "optional", "ignored" ], globalOnly: true, inheritConfigSupport: true }, { name: "optimizeForDisabled", description: "Set to `true` to perform a check for disabled config prior to cloning.", stage: "repository", type: "boolean", default: false, globalOnly: true }, { name: "dependencyDashboard", description: "Whether to create a \"Dependency Dashboard\" issue in the repository.", type: "boolean", default: false }, { name: "dependencyDashboardApproval", description: "Controls if updates need manual approval from the Dependency Dashboard issue before PRs are created.", type: "boolean", default: false }, { name: "dependencyDashboardAutoclose", description: "Set to `true` to let Renovate close the Dependency Dashboard issue if there are no more updates.", type: "boolean", default: false }, { name: "dependencyDashboardTitle", description: "Title for the Dependency Dashboard issue.", type: "string", default: `Dependency Dashboard` }, { name: "dependencyDashboardCategory", description: "The category to group branches on the Dependency Dashboard issue.", type: "string", default: null, cli: false, env: false }, { name: "dependencyDashboardHeader", description: "Any text added here will be placed first in the Dependency Dashboard issue body.", type: "string", default: "This issue lists Renovate updates and detected dependencies. Read the [Dependency Dashboard](https://docs.renovatebot.com/key-concepts/dashboard/) docs to learn more.", supportsTemplating: true }, { name: "dependencyDashboardFooter", description: "Any text added here will be placed last in the Dependency Dashboard issue body, with a divider separator before it.", type: "string", supportsTemplating: true }, { name: "dependencyDashboardLabels", description: "These labels will always be applied on the Dependency Dashboard issue, even when they have been removed manually.", type: "array", subType: "string", default: null }, { name: "dependencyDashboardOSVVulnerabilitySummary", description: "Control if the Dependency Dashboard issue lists CVEs supplied by [osv.dev](https://osv.dev).", type: "string", allowedValues: [ "none", "all", "unresolved" ], default: "none", experimental: true }, { name: "configWarningReuseIssue", description: "Set this to `true` to make Renovate reuse/reopen an existing closed Config Warning issue, instead of opening a new one each time.", type: "boolean", default: false }, { name: "privateKey", description: "Server-side private key.", stage: "repository", type: "string", replaceLineReturns: true, globalOnly: true }, { name: "privateKeyOld", description: "Secondary or old private key to try.", stage: "repository", type: "string", replaceLineReturns: true, globalOnly: true }, { name: "privateKeyPath", description: "Path to the Server-side private key.", stage: "repository", type: "string", globalOnly: true }, { name: "privateKeyPathOld", description: "Path to the Server-side old private key.", stage: "repository", type: "string", globalOnly: true }, { name: "encrypted", description: "An object containing configuration encrypted with project key.", stage: "repository", type: "object", default: null }, { name: "timezone", description: "Must conform to [IANA Time Zone](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) format.", type: "string" }, { name: "schedule", description: "Limit branch creation to these times of day or week.", type: "array", subType: "string", allowString: true, cli: true, env: false, default: ["at any time"] }, { name: "automergeSchedule", description: "Limit automerge to these times of day or week.", type: "array", subType: "string", allowString: true, cli: true, env: false, default: ["at any time"] }, { name: "updateNotScheduled", description: "Whether to update branches when not scheduled. Renovate will not create branches outside of the schedule.", stage: "branch", type: "boolean", default: true }, { name: "persistRepoData", description: "If set to `true`: keep repository data between runs instead of deleting the data.", type: "boolean", default: false, globalOnly: true }, { name: "exposeAllEnv", description: "Set this to `true` to allow passing of all environment variables to package managers.", globalOnly: true, type: "boolean", default: false, advancedUse: true }, { name: "allowPlugins", description: "Set this to `true` if repositories are allowed to run install plugins.", globalOnly: true, type: "boolean", default: false }, { name: "allowScripts", description: "Set this to `true` if repositories are allowed to run install scripts.", globalOnly: true, type: "boolean", default: false }, { name: "allowShellExecutorForPostUpgradeCommands", description: "Whether to run commands for `postUpgradeTasks` inside a shell. This has security implications, as it means that they can call out to other commands or access shell variables. It is difficult to craft an `allowedCommands` regex to restrict this.", globalOnly: true, type: "boolean", default: false }, { name: "allowCustomCrateRegistries", description: "Set this to `true` to allow custom crate registries.", globalOnly: true, type: "boolean", default: false }, { name: "ignorePlugins", description: "Set this to `true` if `allowPlugins=true` but you wish to skip running plugins when updating lock files.", type: "boolean", default: false }, { name: "ignoreScripts", description: "Set this to `false` if `allowScripts=true` and you wish to run scripts when updating lock files.", type: "boolean", default: true, supportedManagers: [ "npm", "bun", "composer", "copier" ] }, { name: "platform", description: "Platform type of repository.", type: "string", allowedValues: [...PLATFORM_HOST_TYPES], default: "github", globalOnly: true }, { name: "endpoint", description: "Custom endpoint to use.", type: "string", globalOnly: true, default: null }, { name: "token", description: "Repository Auth Token.", stage: "repository", type: "string", globalOnly: true }, { name: "username", description: "Username for authentication.", stage: "repository", type: "string", supportedPlatforms: [ "azure", "bitbucket", "bitbucket-server", "scm-manager" ], globalOnly: true }, { name: "password", description: "Password for authentication.", stage: "repository", type: "string", supportedPlatforms: [ "azure", "bitbucket", "bitbucket-server" ], globalOnly: true }, { name: "npmrc", description: "String copy of `.npmrc` file. Use `\\n` instead of line breaks.", stage: "branch", type: "string" }, { name: "npmrcMerge", description: "Whether to merge `config.npmrc` with repo `.npmrc` content if both are found.", stage: "branch", type: "boolean", default: false }, { name: "npmToken", description: "npm token used to authenticate with the default registry.", stage: "branch", type: "string" }, { name: "skipArtifactsUpdate", description: "Skip Renovate's automatic artifact updating.", type: "boolean", default: false }, { name: "skipInstalls", description: "Skip installing modules/dependencies if lock file updating is possible without a full install.", type: "boolean", default: null, supportedManagers: ["npm"] }, { name: "autodiscover", description: "Autodiscover all repositories.", stage: "global", type: "boolean", default: false, globalOnly: true }, { name: "autodiscoverFilter", description: "Filter the list of autodiscovered repositories.", stage: "global", type: "array", subType: "string", allowString: true, default: null, globalOnly: true, patternMatch: true }, { name: "autodiscoverNamespaces", description: "Filter the list of autodiscovered repositories by namespaces.", stage: "global", type: "array", subType: "string", default: null, globalOnly: true, supportedPlatforms: [ "forgejo", "gitea", "gitlab" ] }, { name: "autodiscoverProjects", description: "Filter the list of autodiscovered repositories by project names.", stage: "global", type: "array", subType: "string", default: null, globalOnly: true, supportedPlatforms: ["bitbucket"], patternMatch: true }, { name: "autodiscoverTopics", description: "Filter the list of autodiscovered repositories by topics.", stage: "global", type: "array", subType: "string", default: null, globalOnly: true, supportedPlatforms: [ "forgejo", "gitea", "github", "gitlab" ] }, { name: "prCommitsPerRunLimit", description: "Set the maximum number of commits per Renovate run. By default there is no limit.", stage: "global", type: "integer", default: 0, globalOnly: true }, { name: "repositories", description: "List of Repositories.", stage: "global", type: "array", subType: "string", cli: false, globalOnly: true }, { name: "baseBranchPatterns", description: "List of one or more custom base branches defined as exact strings and/or via regex expressions.", type: "array", subType: "string", stage: "package", cli: false, patternMatch: true }, { name: "useBaseBranchConfig", description: "Whether to read configuration from base branches instead of only the default branch.", type: "string", allowedValues: ["merge", "none"], default: "none" }, { name: "gitAuthor", description: "Author to use for Git commits. Must conform to [RFC5322](https://datatracker.ietf.org/doc/html/rfc5322).", type: "string", supportsTemplating: true }, { name: "gitPrivateKey", description: "PGP key to use for signing Git commits.", type: "string", cli: false, globalOnly: true, stage: "global" }, { name: "gitPrivateKeyPassphrase", description: "Passphrase for the `gitPrivateKey`", type: "string", cli: false, globalOnly: true, stage: "global" }, { name: "gitIgnoredAuthors", description: "Git authors which are ignored by Renovate. Must conform to [RFC5322](https://datatracker.ietf.org/doc/html/rfc5322).", type: "array", subType: "string", stage: "repository" }, { name: "gitTimeout", description: "Configure the timeout with a number of milliseconds to wait for a Git task.", type: "integer", globalOnly: true, default: 0 }, { name: "enabledManagers", description: "A list of package managers to enable. Only managers on the list are enabled.", type: "array", subType: "string", mergeable: false, stage: "repository" }, { name: "includePaths", description: "Include package files only within these defined paths.", type: "array", subType: "string", stage: "repository", default: [], patternMatch: true }, { name: "ignorePaths", description: "Skip any package file whose path matches one of these. Can be a string or glob pattern.", type: "array", mergeable: false, subType: "string", stage: "repository", default: ["**/node_modules/**", "**/bower_components/**"], patternMatch: true }, { name: "excludeCommitPaths", description: "A file matching any of these glob patterns will not be committed, even if the file has been updated.", type: "array", subType: "string", default: [], advancedUse: true, patternMatch: true }, { name: "executionTimeout", description: "Default execution timeout in minutes for child processes Renovate creates.", type: "integer", default: 15, globalOnly: true }, { name: "registryAliases", description: "Aliases for registries.", mergeable: true, type: "object", default: {}, additionalProperties: { type: "string" }, supportedManagers: [ "ansible", "bitbucket-pipelines", "buildpacks", "crossplane", "crow", "devcontainer", "docker-compose", "dockerfile", "droneci", "gitlabci", "helm-requirements", "helmfile", "helmv3", "kubernetes", "kustomize", "maven", "terraform", "vendir", "woodpecker" ] }, { name: "defaultRegistryUrls", description: "List of registry URLs to use as the default for a datasource.", type: "array", subType: "string", default: null, stage: "branch", cli: false, env: false }, { name: "defaultRegistryUrlTemplate", description: "Template for generating a `defaultRegistryUrl` for custom datasource.", type: "string", default: "", parents: ["customDatasources"], cli: false, env: false, supportsTemplating: true }, { name: "registryUrls", description: "List of URLs to try for dependency lookup. Package manager specific.", type: "array", subType: "string", default: null, stage: "branch", cli: false, env: false }, { name: "extractVersion", description: "A regex (`re2`) to extract a version from a datasource's raw version string.", type: "string", format: "regex", cli: false, env: false }, { name: "versionCompatibility", description: "A regex (`re2`) with named capture groups to show how version and compatibility are split from a raw version string.", type: "string", format: "regex", cli: false, env: false }, { name: "versioning", description: "Versioning to use for filtering and comparisons.", type: "string", allowedValues: [...AllVersioningsListLiteral], cli: false, env: false }, { name: "azureWorkItemId", description: "The id of an existing work item on Azure Boards to link to each PR.", type: "integer", default: 0, supportedPlatforms: ["azure"] }, { name: "autoApprove", description: "Set to `true` to automatically approve PRs.", type: "boolean", default: false, supportedPlatforms: [ "azure", "gerrit", "gitlab" ] }, { name: "ignoreDeps", description: "Dependencies to ignore.", type: "array", subType: "string", stage: "package", mergeable: true }, { name: "updateInternalDeps", description: "Whether to update internal dep versions in a monorepo. Works on Yarn Workspaces.", type: "boolean", default: false, stage: "package" }, { name: "packageRules", description: "Rules for matching packages.", type: "array", stage: "package", mergeable: true }, { name: "matchCurrentAge", description: "Matches the current age of the package derived from its release timestamp. Valid only within a `packageRules` object.", type: "string", parents: ["packageRules"], stage: "package", mergeable: true, cli: false, env: false }, { name: "matchCategories", description: "List of categories to match (for example: `[\"python\"]`). Valid only within a `packageRules` object.", type: "array", subType: "string", allowString: true, parents: ["packageRules"], stage: "package", mergeable: true, cli: false, env: false, patternMatch: true }, { name: "matchRepositories", description: "List of repositories to match (e.g. `[\"**/*-archived\"]`). Valid only within a `packageRules` object.", type: "array", subType: "string", allowString: true, stage: "package", parents: ["packageRules"], mergeable: true, cli: false, env: false, patternMatch: true }, { name: "matchBaseBranches", description: "List of strings containing exact matches (e.g. `[\"main\"]`) and/or regex expressions (e.g. `[\"/^release/.*/\"]`). Valid only within a `packageRules` object.", type: "array", subType: "string", allowString: true, parents: ["packageRules"], stage: "package", mergeable: true, cli: false, env: false, patternMatch: true }, { name: "matchManagers", description: "List of package managers to match (e.g. `[\"pipenv\"]`). Valid only within a `packageRules` object.", type: "array", subType: "string", allowString: true, parents: ["packageRules"], stage: "package", mergeable: true, patternMatch: true, cli: false, env: false }, { name: "matchDatasources", description: "List of datasources to match (e.g. `[\"orb\"]`). Valid only within a `packageRules` object.", type: "array", subType: "string", allowString: true, parents: ["packageRules"], stage: "package", mergeable: true, cli: false, env: false, patternMatch: true }, { name: "matchDepTypes", description: "List of depTypes to match (e.g. [`peerDependencies`]). Valid only within `packageRules` object.", type: "array", subType: "string", allowString: true, parents: ["packageRules"], stage: "package", mergeable: true, cli: false, env: false, patternMatch: true }, { name: "matchPackageNames", description: "Package names to match. Valid only within a `packageRules` object.", type: "array", subType: "string", allowString: true, stage: "package", parents: ["packageRules"], mergeable: true, cli: false, env: false, patternMatch: true }, { name: "matchDepNames", description: "Dep names to match. Valid only within a `packageRules` object.", type: "array", subType: "string", allowString: true, stage: "package", parents: ["packageRules"], mergeable: true, cli: false, env: false, patternMatch: true }, { name: "matchCurrentValue", description: "A regex or glob pattern to match against the raw `currentValue` string of a dependency. Valid only within a `packageRules` object.", type: "string", stage: "package", parents: ["packageRules"], mergeable: true, cli: false, env: false, patternMatch: true }, { name: "matchCurrentVersion", description: "A version, or range of versions, to match against the current version of a package. Valid only within a `packageRules` object.", type: "string", stage: "package", parents: ["packageRules"], mergeable: true, cli: false, env: false }, { name: "matchNewValue", description: "A regex or glob pattern to match against the raw `newValue` string of a dependency. Valid only within a `packageRules` object.", type: "string", stage: "package", parents: ["packageRules"], mergeable: true, cli: false, env: false, patternMatch: true }, { name: "sourceUrl", description: "The source URL of the package.", type: "string", parents: ["packageRules"], cli: false, env: false, supportsTemplating: true }, { name: "sourceDirectory", description: "The source directory in which the package is present at its source.", type: "string", parents: ["packageRules"], cli: false, env: false, supportsTemplating: true }, { name: "matchSourceUrls", description: "A list of exact match URLs (or URL patterns) to match sourceUrl against.", type: "array", subType: "string", allowString: true, stage: "package", parents: ["packageRules"], mergeable: true, cli: false, env: false, patternMatch: true }, { name: "matchRegistryUrls", description: "A list of URLs (or URL patterns) to match against registryUrls.", type: "array", subType: "string", allowString: true, stage: "package", patternMatch: true, parents: ["packageRules"], mergeable: true, cli: false, env: false }, { name: "autoReplaceGlobalMatch", description: "Control whether replacement regular expressions are global matches or only the first match.", type: "boolean", default: true }, { name: "replacementName", description: "The name of the new dependency that replaces the old deprecated dependency.", type: "string", stage: "package", parents: ["packageRules"], cli: false, env: false }, { name: "replacementNameTemplate", description: "Controls what the replacement package name.", type: "string", default: "{{{packageName}}}", stage: "package", parents: ["packageRules"], cli: false, env: false, supportsTemplating: true }, { name: "replacementVersion", description: "The version of the new dependency that replaces the old deprecated dependency.", type: "string", stage: "package", parents: ["packageRules"], cli: false, env: false }, { name: "replacementVersionTemplate", description: "Template field for the version of the new dependency that replaces the old deprecated dependency.", type: "string", stage: "package", parents: ["packageRules"], cli: false, env: false, supportsTemplating: true }, { name: "replacementApproach", description: "Select whether to perform a direct replacement or alias replacement.", type: "string", stage: "branch", allowedValues: ["replace", "alias"], supportedManagers: ["npm"], default: "replace" }, { name: "matchConfidence", description: "Merge confidence levels to match against (`low`, `neutral`, `high`, `very high`). Valid only within `packageRules` object.", type: "array", subType: "string", allowedValues: [ "low", "neutral", "high", "very high" ], allowString: true, stage: "package", parents: ["packageRules"], mergeable: true, cli: false, env: false }, { name: "matchUpdateTypes", description: "Update types to match against (`major`, `minor`, `pin`, `pinDigest`, etc). Valid only within `packageRules` object.", type: "array", subType: "string", allowedValues: [ "major", "minor", "patch", "pin", "pinDigest", "digest", "lockFileMaintenance", "rollback", "bump", "replacement" ], allowString: true, stage: "package", parents: ["packageRules"], mergeable: true, cli: false, env: false, patternMatch: true }, { name: "matchFileNames", description: "List of patterns to match against package and lock file paths. Valid only within a `packageRules` object.", type: "array", subType: "string", stage: "repository", parents: ["packageRules"], cli: false, env: false, patternMatch: true }, { name: "matchJsonata", description: "A JSONata expression to match against the full config object. Valid only within a `packageRules` object.", type: "array", subType: "string", stage: "package", parents: ["packageRules"], mergeable: true, cli: false, env: false }, { name: "allowedVersions", description: "A version range or regex pattern capturing allowed versions for dependencies.", type: "string", parents: ["packageRules"], stage: "package", cli: false, env: false, supportsTemplating: true }, { name: "changelogUrl", description: "Set a custom URL for the changelog. Renovate will put this URL in the PR body text.", type: "string", stage: "pr", parents: ["packageRules"], cli: false, env: false }, { name: "pinDigests", description: "Whether to add digests to Dockerfile source images.", type: "boolean", default: false }, { name: "separateMajorMinor", description: "If set to `false`, Renovate will upgrade dependencies to their latest release only. Renovate will not separate major or minor branches.", type: "boolean", default: true }, { name: "separateMultipleMajor", description: "If set to `true`, PRs will be raised separately for each available `major` upgrade version.", stage: "package", type: "boolean", default: false }, { name: "separateMultipleMinor", description: "If set to `true`, Renovate creates separate PRs for each `minor` stream.", stage: "package", type: "boolean", default: false, experimental: true }, { name: "separateMinorPatch", description: "If set to `true`, Renovate will separate `minor` and `patch` updates into separate branches.", type: "boolean", default: false }, { name: "ignoreUnstable", description: "Ignore versions with unstable SemVer.", stage: "package", type: "boolean", default: true }, { name: "ignoreDeprecated", description: "Avoid upgrading from a non-deprecated version to a deprecated one.", stage: "package", type: "boolean", default: true }, { name: "followTag", description: "If defined, packages will follow this release tag exactly.", stage: "package", type: "string", cli: false, env: false, advancedUse: true }, { name: "maxMajorIncrement", description: "Limit the maximum major version increment allowed. Set to 0 to disable.", stage: "package", type: "integer", default: 500, cli: false, env: false }, { name: "respectLatest", description: "Ignore versions newer than npm \"latest\" version.", stage: "package", type: "boolean", default: true }, { name: "rangeStrategy", description: "Determines how to modify or update existing ranges.", type: "string", default: "auto", allowedValues: [ "auto", "pin", "bump", "replace", "widen", "update-lockfile", "in-range-only" ], cli: false, env: false }, { name: "branchPrefix", description: "Prefix to use for all branch names.", stage: "branch", type: "string", default: `renovate/`, supportsTemplating: true }, { name: "branchPrefixOld", description: "Old branchPrefix value to check for existing PRs.", stage: "branch", type: "string", default: `renovate/` }, { name: "bumpVersion", description: "Bump the version in the package file being updated.", type: "string", allowedValues: [ "major", "minor", "patch", "prerelease" ], supportedManagers: [ "helmv3", "npm", "nuget", "maven", "sbt" ] }, { name: "major", description: "Configuration to apply when an update type is `major`.", stage: "package", type: "object", default: {}, cli: false, mergeable: true }, { name: "minor", description: "Configuration to apply when an update type is `minor`.", stage: "package", type: "object", default: {}, cli: false, mergeable: true }, { name: "patch", description: "Configuration to apply when an update type is `patch`.", stage: "package", type: "object", default: {}, cli: false, mergeable: true }, { name: "pin", description: "Configuration to apply when an update type is `pin`.", stage: "package", type: "object", default: { rebaseWhen: "behind-base-branch", groupName: "Pin Dependencies", groupSlug: "pin-dependencies", commitMessageAction: "Pin", group: { commitMessageTopic: "dependencies", commitMessageExtra: "" } }, cli: false, mergeable: true }, { name: "digest", description: "Configuration to apply when updating a digest (no change in tag/version).", stage: "package", type: "object", default: { branchTopic: "{{{depNameSanitized}}}-digest", commitMessageExtra: "to {{newDigestShort}}", commitMessageTopic: "{{{depName}}} digest" }, cli: false, mergeable: true }, { name: "pinDigest", description: "Configuration to apply when pinning a digest (no change in tag/version).", stage: "package", type: "object", default: { groupName: "Pin Dependencies", groupSlug: "pin-dependencies", commitMessageAction: "Pin", group: { commitMessageTopic: "dependencies", commitMessageExtra: "" } }, cli: false, mergeable: true }, { name: "rollback", description: "Configuration to apply when rolling back a version.", stage: "package", type: "object", default: { branchTopic: "{{{depNameSanitized}}}-rollback", commitMessageAction: "Roll back", semanticCommitType: "fix" }, cli: false, mergeable: true }, { name: "replacement", description: "Configuration to apply when replacing a dependency.", stage: "package", type: "object", default: { branchTopic: "{{{depNameSanitized}}}-replacement", commitMessageAction: "Replace", commitMessageExtra: "with {{newName}} {{#if isMajor}}{{{prettyNewMajor}}}{{else}}{{#if isSingleVersion}}{{{prettyNewVersion}}}{{else}}{{{newValue}}}{{/if}}{{/if}}", prBodyNotes: ["This is a special PR that replaces `{{{depName}}}` with the community suggested minimal stable replacement version."] }, cli: false, mergeable: true }, { name: "semanticCommits", description: "Enable Semantic Commit prefixes for commits and PR titles.", type: "string", allowedValues: [ "auto", "enabled", "disabled" ], default: "auto" }, { name: "semanticCommitType", description: "Commit type to use if Semantic Commits is enabled.", type: "string", default: "chore", supportsTemplating: true }, { name: "semanticCommitScope", description: "Commit scope to use if Semantic Commits are enabled.", type: "string", default: "deps", supportsTemplating: true }, { name: "commitMessageLowerCase", description: "Lowercase PR- and commit titles.", type: "string", allowedValues: ["auto", "never"], default: "auto" }, { name: "keepUpdatedLabel