renovate
Version:
Automated dependency updates. Flexible so you don't need to be.
1,590 lines (1,589 loc) • 94.8 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getOptions = getOptions;
const manager_list_generated_1 = require("../../manager-list.generated");
const manager_1 = require("../../modules/manager");
const custom_1 = require("../../modules/manager/custom");
const platform_1 = require("../../modules/platform");
const versioning_1 = require("../../modules/versioning");
const merge_confidence_1 = require("../presets/internal/merge-confidence");
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: ['gitea'],
},
{
name: 'autodiscoverRepoSort',
description: 'The sort method for autodiscover server side repository search.',
type: 'string',
default: null,
globalOnly: true,
allowedValues: ['alpha', 'created', 'updated', 'size', 'id'],
supportedPlatforms: ['gitea'],
},
{
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: merge_confidence_1.supportedDatasources,
default: merge_confidence_1.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,
},
{
name: 'userAgent',
description: 'If set to any string, Renovate will use this as the `user-agent` it sends with HTTP requests.',
type: 'string',
default: null,
globalOnly: 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,
},
{
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'],
},
{
name: 'filePatterns',
description: 'A list of patterns to match files that contain the version string.',
type: 'array',
subType: 'string',
parents: ['bumpVersions'],
},
{
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',
},
},
{
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,
},
{
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: '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: 'onboardingCommitMessage',
description: 'Change this value to override the default onboarding commit message.',
type: 'string',
default: null,
globalOnly: true,
inheritConfigSupport: true,
cli: false,
},
{
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: '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: '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: '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 Renovate bot.`,
stage: 'package',
type: 'boolean',
default: true,
},
{
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: '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: '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', 'gitea', 'github', 'gitlab'],
},
{
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_',
},
{
name: 'dockerCliOptions',
description: 'Pass CLI flags to `docker run` command when `binarySource=docker`.',
type: 'string',
globalOnly: true,
},
{
name: 'dockerSidecarImage',
description: 'Change this value to override the default Renovate sidecar image.',
type: 'string',
default: 'ghcr.io/containerbase/sidecar:13.8.23',
globalOnly: true,
},
{
name: 'dockerUser',
description: 'Set the `UID` and `GID` for Docker-based binaries if you use `binarySource=docker`.',
globalOnly: true,
type: 'string',
},
{
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'],
},
// Log options
{
name: 'logContext',
description: 'Add a global or per-repo log context to each log entry.',
globalOnly: true,
type: 'string',
default: null,
stage: 'global',
},
// Onboarding
{
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: ['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,
},
{
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,
},
// Dependency Dashboard
{
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: '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.',
},
{
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',
},
{
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,
},
// encryption
{
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,
},
// Scheduling
{
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,
},
// Bot administration
{
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,
},
{
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: '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: (0, platform_1.getPlatformList)(),
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'],
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: 'updateLockFiles',
description: 'Set to `false` to disable lock file updating.',
type: 'boolean',
default: true,
supportedManagers: ['npm'],
},
{
name: 'skipInstalls',
description: 'Skip installing modules/dependencies if lock file updating is possible without a full install.',
type: 'boolean',
default: null,
},
{
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,
},
{
name: 'autodiscoverNamespaces',
description: 'Filter the list of autodiscovered repositories by namespaces.',
stage: 'global',
type: 'array',
subType: 'string',
default: null,
globalOnly: true,
supportedPlatforms: ['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: ['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: 'baseBranches',
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,
},
{
name: 'useBaseBranchConfig',
description: 'Whether to read configuration from `baseBranches` 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',
},
{
name: 'gitPrivateKey',
description: 'PGP key to use for signing Git commits.',
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: [],
},
{
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/**'],
},
{
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,
},
{
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',
'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,
},
{
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: (0, versioning_1.getVersioningList)(),
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'],
},
// depType
{
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,
},
{
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,
},
{
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,
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,
},
{
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,
},
{
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,
},
{
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,
},
{
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,
},
{
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,
},
{
name: 'sourceUrl',
description: 'The source URL of the package.',
type: 'string',
parents: ['packageRules'],
cli: false,
env: false,
},
{
name: 'sourceDirectory',
description: 'The source directory in which the package is present at its source.',
type: 'string',
parents: ['packageRules'],
cli: false,
env: false,
},
{
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,
},
{
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,
},
{
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,
},
{
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,
},
{
name: 'matchFileNames',
description: 'List of strings to do an exact match against package and lock files with full path. Only works inside a `packageRules` object.',
type: 'array',
subType: 'string',
stage: 'repository',
parents: ['packageRules'],
cli: false,
env: false,
},
{
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,
},
// Version behavior
{
name: 'allowedVersions',
description: 'A version range or regex pattern capturing allowed versions for dependencies.',
type: 'string',
parents: ['packageRules'],
stage: 'package',
cli: false,
env: false,
},
{
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: '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/`,
},
{
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'],
},
// Major/Minor/Patch
{
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`.',