2021-08-15 05:25:30 +00:00
import { PLATFORM_TYPE_GITHUB } from '../../constants/platforms' ;
import { getManagers } from '../../manager' ;
import { getPlatformList } from '../../platform' ;
import { getVersioningList } from '../../versioning' ;
import * as dockerVersioning from '../../versioning/docker' ;
import * as pep440Versioning from '../../versioning/pep440' ;
import type { RenovateOptions } from '../types' ;
2019-08-23 13:46:31 +00:00
const options : RenovateOptions [ ] = [
2020-11-10 13:25:37 +00:00
{
name : 'allowPostUpgradeCommandTemplating' ,
description : 'If true allow templating for post-upgrade commands.' ,
type : 'boolean' ,
default : false ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2020-11-10 13:25:37 +00:00
} ,
2020-02-04 05:59:13 +00:00
{
name : 'allowedPostUpgradeCommands' ,
description :
2021-02-09 13:01:39 +00:00
'A list of regular expressions that determine which post-upgrade tasks are allowed.' ,
2020-02-04 05:59:13 +00:00
type : 'array' ,
subType : 'string' ,
default : [ ] ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2020-02-04 05:59:13 +00:00
} ,
{
name : 'postUpgradeTasks' ,
description :
2021-01-30 10:12:14 +00:00
'Post-upgrade tasks that are executed before a commit is made by Renovate.' ,
2020-02-04 05:59:13 +00:00
type : 'object' ,
default : {
commands : [ ] ,
fileFilters : [ ] ,
2021-04-09 03:51:03 +00:00
executionMode : 'update' ,
2020-02-04 05:59:13 +00:00
} ,
} ,
{
name : 'commands' ,
description :
2021-01-30 10:12:14 +00:00
'A list of post-upgrade commands that are executed before a commit is made by Renovate.' ,
2020-02-04 05:59:13 +00:00
type : 'array' ,
subType : 'string' ,
parent : 'postUpgradeTasks' ,
default : [ ] ,
cli : false ,
} ,
{
name : 'fileFilters' ,
description :
2021-01-30 10:12:14 +00:00
'Files that match these glob patterns will be committed if they are present after running a post-upgrade task.' ,
2020-02-04 05:59:13 +00:00
type : 'array' ,
subType : 'string' ,
parent : 'postUpgradeTasks' ,
default : [ ] ,
cli : false ,
} ,
2021-04-09 03:51:03 +00:00
{
name : 'executionMode' ,
description :
'Controls whether the post upgrade tasks runs for every update or once per upgrade branch' ,
type : 'string' ,
parent : 'postUpgradeTasks' ,
allowedValues : [ 'update' , 'branch' ] ,
default : 'update' ,
cli : false ,
} ,
2019-12-05 08:39:39 +00:00
{
name : 'onboardingBranch' ,
description :
'Change this value in order to override the default onboarding branch name.' ,
type : 'string' ,
default : 'renovate/configure' ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2019-12-05 08:39:39 +00:00
cli : false ,
} ,
2020-08-26 13:00:45 +00:00
{
name : 'onboardingCommitMessage' ,
description :
'Change this value in order to override the default onboarding commit message.' ,
type : 'string' ,
default : null ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2020-08-26 13:00:45 +00:00
cli : false ,
} ,
2020-12-07 09:14:46 +00:00
{
name : 'onboardingConfigFileName' ,
description :
'Change this value in order to override the default onboarding config file name.' ,
type : 'string' ,
default : 'renovate.json' ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2020-12-07 09:14:46 +00:00
cli : false ,
} ,
2019-12-05 08:39:39 +00:00
{
name : 'onboardingPrTitle' ,
description :
'Change this value in order to override the default onboarding PR title.' ,
type : 'string' ,
default : 'Configure Renovate' ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2019-12-05 08:39:39 +00:00
cli : false ,
} ,
2019-12-05 09:27:29 +00:00
{
name : 'productLinks' ,
2021-01-30 10:12:14 +00:00
description : 'Links which are embedded within PRs, issues, etc.' ,
2019-12-05 09:27:29 +00:00
type : 'object' ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2019-12-05 09:27:29 +00:00
mergeable : true ,
default : {
documentation : 'https://docs.renovatebot.com/' ,
2020-12-19 07:12:09 +00:00
help : 'https://github.com/renovatebot/renovate/discussions' ,
2019-12-05 09:27:29 +00:00
homepage : 'https://github.com/renovatebot/renovate' ,
} ,
additionalProperties : {
type : 'string' ,
format : 'uri' ,
} ,
} ,
2021-03-22 14:51:38 +00:00
{
name : 'secrets' ,
description : 'Object containing secret name/value pairs' ,
type : 'object' ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2021-03-22 14:51:38 +00:00
mergeable : true ,
default : { } ,
additionalProperties : {
type : 'string' ,
} ,
} ,
2017-08-18 04:10:19 +00:00
{
name : 'extends' ,
2017-12-26 05:28:28 +00:00
description :
2021-01-30 10:12:14 +00:00
'Configuration presets to use/extend. Note: does not work if configured in config.js.' ,
2017-08-18 04:10:19 +00:00
stage : 'package' ,
2019-03-31 06:01:06 +00:00
type : 'array' ,
2019-03-23 06:38:24 +00:00
subType : 'string' ,
2017-08-18 04:10:19 +00:00
allowString : true ,
cli : false ,
} ,
2019-02-18 21:22:33 +00:00
{
name : 'ignorePresets' ,
description :
2021-01-30 10:12:14 +00:00
'A list of presets to ignore, including nested ones inside `extends`.' ,
2019-02-18 21:22:33 +00:00
stage : 'package' ,
2019-03-31 06:01:06 +00:00
type : 'array' ,
2019-03-23 06:38:24 +00:00
subType : 'string' ,
2019-02-18 21:22:33 +00:00
allowString : true ,
cli : false ,
} ,
2021-05-22 21:47:28 +00:00
{
name : 'migratePresets' ,
description :
'Define presets here which have been removed or renamed and should be migrated automatically.' ,
type : 'object' ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2021-05-22 21:47:28 +00:00
default : { } ,
additionalProperties : {
type : 'string' ,
} ,
} ,
2017-08-18 04:10:19 +00:00
{
name : 'description' ,
2021-01-30 10:12:14 +00:00
description : 'Plain text description for a config or preset.' ,
2019-03-31 06:01:06 +00:00
type : 'array' ,
2019-03-23 06:38:24 +00:00
subType : 'string' ,
2018-05-06 09:59:33 +00:00
stage : 'repository' ,
2017-08-18 04:10:19 +00:00
allowString : true ,
mergeable : true ,
cli : false ,
env : false ,
} ,
2017-01-20 13:03:18 +00:00
{
name : 'enabled' ,
2021-01-30 10:12:14 +00:00
description : ` Enable or disable the bot. ` ,
2017-07-03 08:31:36 +00:00
stage : 'package' ,
2017-01-20 13:03:18 +00:00
type : 'boolean' ,
2017-07-03 09:34:46 +00:00
cli : false ,
env : false ,
} ,
2021-08-13 07:38:53 +00:00
{
name : 'deepExtract' ,
description : ` Enable extraction of dependencies using package managers. ` ,
type : 'boolean' ,
default : false ,
cli : false ,
env : false ,
} ,
2020-06-29 13:51:22 +00:00
{
name : 'repositoryCache' ,
description : 'Option to do repository extract caching.' ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2020-06-29 13:51:22 +00:00
type : 'string' ,
allowedValues : [ 'disabled' , 'enabled' , 'reset' ] ,
stage : 'repository' ,
default : 'disabled' ,
} ,
2018-06-21 08:23:59 +00:00
{
name : 'force' ,
description :
2021-01-30 10:12:14 +00:00
'Any configuration defined within this object will force override existing settings.' ,
2018-07-05 10:37:46 +00:00
stage : 'package' ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2019-03-31 06:01:06 +00:00
type : 'object' ,
2018-06-21 08:23:59 +00:00
cli : false ,
env : false ,
} ,
{
name : 'forceCli' ,
description :
2021-01-30 10:12:14 +00:00
'Whether CLI configuration options should be moved to the `force` config section.' ,
2018-06-21 08:23:59 +00:00
stage : 'global' ,
type : 'boolean' ,
2019-04-02 09:28:03 +00:00
default : true ,
2018-06-21 08:23:59 +00:00
} ,
2020-06-01 05:30:11 +00:00
{
name : 'draftPR' ,
description : 'If enabled, the PR created by Renovate is set to a draft.' ,
type : 'boolean' ,
default : false ,
} ,
2018-10-26 07:48:49 +00:00
{
name : 'dryRun' ,
description :
2021-01-30 10:12:14 +00:00
'If enabled, perform a dry run by logging messages instead of creating/updating/deleting branches and PRs.' ,
2018-10-26 07:48:49 +00:00
type : 'boolean' ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2018-10-26 07:48:49 +00:00
default : false ,
} ,
2018-12-10 07:53:55 +00:00
{
name : 'printConfig' ,
description :
2021-01-30 10:12:14 +00:00
'If enabled, log the full resolved config for each repo, including resolved presets.' ,
2018-12-10 07:53:55 +00:00
type : 'boolean' ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2018-12-10 07:53:55 +00:00
default : false ,
} ,
2018-09-14 18:38:52 +00:00
{
name : 'binarySource' ,
2019-01-30 20:17:10 +00:00
description :
2021-02-04 11:14:34 +00:00
'Controls whether third party tools like npm or Gradle are called directly, or via Docker sidecar containers.' ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2018-09-14 18:38:52 +00:00
type : 'string' ,
2021-02-04 11:14:34 +00:00
allowedValues : [ 'global' , 'docker' ] ,
default : 'global' ,
2018-09-14 18:38:52 +00:00
} ,
2020-05-25 08:23:32 +00:00
{
name : 'redisUrl' ,
description :
2021-01-30 10:12:14 +00:00
'If defined, this Redis URL will be used for caching instead of the file system.' ,
2021-02-05 11:43:26 +00:00
stage : 'global' ,
2020-05-25 08:23:32 +00:00
type : 'string' ,
} ,
2019-04-09 15:14:08 +00:00
{
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.' ,
2021-02-05 21:35:03 +00:00
stage : 'global' ,
2019-04-09 15:14:08 +00:00
type : 'string' ,
} ,
{
name : 'cacheDir' ,
description :
'The directory for Renovate for storing caches. If left empty, Renovate will create a subdirectory within `baseDir` to use.' ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2019-04-09 15:14:08 +00:00
type : 'string' ,
} ,
2021-01-19 08:11:45 +00:00
{
name : 'customEnvVariables' ,
description :
'Custom environment variables for child processes and sidecar Docker containers.' ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2021-01-19 08:11:45 +00:00
type : 'object' ,
2021-05-20 10:25:22 +00:00
default : { } ,
2021-01-19 08:11:45 +00:00
} ,
2021-04-08 10:10:25 +00:00
{
name : 'dockerChildPrefix' ,
description :
2021-06-23 05:16:31 +00:00
'Change this value in order to add a prefix to the Renovate Docker sidecar container names and labels.' ,
2021-04-08 10:10:25 +00:00
type : 'string' ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2021-04-08 10:10:25 +00:00
default : 'renovate_' ,
} ,
2020-09-08 10:59:47 +00:00
{
name : 'dockerImagePrefix' ,
description :
2021-01-29 14:05:14 +00:00
'Change this value in order to override the default Renovate Docker sidecar image name prefix.' ,
2020-09-08 10:59:47 +00:00
type : 'string' ,
default : 'docker.io/renovate' ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2020-09-08 10:59:47 +00:00
} ,
2019-10-05 11:56:58 +00:00
{
name : 'dockerUser' ,
description :
2021-01-29 14:05:14 +00:00
'Specify UID and GID for Docker-based binaries when binarySource=docker is used.' ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2019-10-05 11:56:58 +00:00
type : 'string' ,
} ,
2020-04-11 06:40:19 +00:00
{
name : 'composerIgnorePlatformReqs' ,
description :
2021-08-23 18:13:30 +00:00
'Configure use of `--ignore-platform-reqs`/`--ignore-platform-req` for the Composer package manager.' ,
type : 'array' ,
subType : 'string' ,
default : [ ] ,
2020-04-11 06:40:19 +00:00
} ,
2017-07-03 09:34:46 +00:00
// Log options
2017-06-20 19:34:25 +00:00
{
name : 'logFile' ,
2021-01-30 10:12:14 +00:00
description : 'Log file path.' ,
2017-07-03 08:31:36 +00:00
stage : 'global' ,
2017-06-20 19:34:25 +00:00
type : 'string' ,
} ,
{
name : 'logFileLevel' ,
2021-01-30 10:12:14 +00:00
description : 'Log file log level.' ,
2017-07-03 08:31:36 +00:00
stage : 'global' ,
2017-06-20 19:34:25 +00:00
type : 'string' ,
default : 'debug' ,
} ,
2020-02-23 06:31:13 +00:00
{
name : 'logContext' ,
description : 'Add a global or per-repo log context to each log entry.' ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2020-02-23 06:31:13 +00:00
type : 'string' ,
default : null ,
} ,
2017-07-03 09:34:46 +00:00
// Onboarding
{
name : 'onboarding' ,
2021-01-30 10:12:14 +00:00
description : 'Require a Configuration PR first.' ,
2017-07-03 09:34:46 +00:00
stage : 'repository' ,
type : 'boolean' ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2017-07-03 09:34:46 +00:00
} ,
2018-02-21 18:50:58 +00:00
{
name : 'onboardingConfig' ,
2021-01-30 10:12:14 +00:00
description : 'Configuration to use in onboarding PRs.' ,
2018-02-21 18:50:58 +00:00
stage : 'repository' ,
2019-03-31 06:01:06 +00:00
type : 'object' ,
2020-02-17 15:20:21 +00:00
default : { $schema : 'https://docs.renovatebot.com/renovate-schema.json' } ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2018-02-21 18:50:58 +00:00
mergeable : true ,
} ,
2017-11-01 10:53:18 +00:00
{
2018-12-31 05:46:00 +00:00
name : 'includeForks' ,
description :
2021-01-29 14:05:14 +00:00
'Whether to process forked repositories or not. By default, all forked repositories are skipped.' ,
2017-11-01 10:53:18 +00:00
stage : 'repository' ,
type : 'boolean' ,
default : false ,
} ,
2017-12-11 18:14:51 +00:00
{
name : 'forkMode' ,
description :
2021-01-30 10:12:14 +00:00
'Set to true to fork the source repository and create branches there instead.' ,
2017-12-11 18:14:51 +00:00
stage : 'repository' ,
type : 'boolean' ,
default : false ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2017-12-11 18:14:51 +00:00
} ,
2021-04-24 05:54:00 +00:00
{
name : 'forkToken' ,
description :
'Will be used on GitHub when `forkMode` is set to `true` to clone the repositories.' ,
stage : 'repository' ,
type : 'string' ,
default : '' ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2021-04-24 05:54:00 +00:00
} ,
2018-03-21 09:08:55 +00:00
{
name : 'requireConfig' ,
2021-05-13 14:09:50 +00:00
description :
'Set to false if it is optional for repositories to contain a config.' ,
2018-03-21 09:08:55 +00:00
stage : 'repository' ,
type : 'boolean' ,
2019-04-16 08:23:37 +00:00
default : true ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2019-07-14 05:45:39 +00:00
} ,
{
name : 'optimizeForDisabled' ,
description :
2021-01-30 10:12:14 +00:00
'Set to true to first check for disabling in config before cloning.' ,
2019-07-14 05:45:39 +00:00
stage : 'repository' ,
type : 'boolean' ,
default : false ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2018-03-21 09:08:55 +00:00
} ,
2020-07-11 09:55:30 +00:00
// Dependency Dashboard
2019-04-23 14:07:27 +00:00
{
2020-07-11 09:55:30 +00:00
name : 'dependencyDashboard' ,
description :
'Whether to create a "Dependency Dashboard" issue within the repository.' ,
2019-04-23 14:07:27 +00:00
type : 'boolean' ,
default : false ,
} ,
{
2020-07-11 09:55:30 +00:00
name : 'dependencyDashboardApproval' ,
2019-04-23 14:07:27 +00:00
description :
2020-07-11 09:55:30 +00:00
'Whether updates should require manual approval from within the Dependency Dashboard issue before creation.' ,
2019-04-23 14:07:27 +00:00
type : 'boolean' ,
default : false ,
} ,
{
2020-07-11 09:55:30 +00:00
name : 'dependencyDashboardAutoclose' ,
2019-04-23 14:07:27 +00:00
description :
2020-07-11 09:55:30 +00:00
'Set to `true` and Renovate will autoclose the Dependency Dashboard issue if there are no updates.' ,
2019-04-23 14:07:27 +00:00
type : 'boolean' ,
default : false ,
} ,
{
2020-07-11 09:55:30 +00:00
name : 'dependencyDashboardTitle' ,
2021-01-30 10:12:14 +00:00
description : 'Title to use for the Dependency Dashboard issue.' ,
2019-04-23 14:07:27 +00:00
type : 'string' ,
2020-07-11 09:55:30 +00:00
default : ` Dependency Dashboard ` ,
2019-04-23 14:07:27 +00:00
} ,
2020-07-23 13:35:43 +00:00
{
name : 'dependencyDashboardHeader' ,
description :
'Any text added here will be placed first in the Dependency Dashboard issue body.' ,
type : 'string' ,
default :
2021-08-25 11:03:57 +00:00
'This issue provides visibility into Renovate updates and their statuses. [Learn more](https://docs.renovatebot.com/key-concepts/dashboard/)' ,
2020-07-23 13:35:43 +00:00
} ,
{
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' ,
} ,
2021-07-09 07:41:43 +00:00
{
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' ,
2021-07-26 20:27:24 +00:00
default : null ,
2021-07-09 07:41:43 +00:00
} ,
2019-08-15 05:41:01 +00:00
{
name : 'configWarningReuseIssue' ,
description :
'Set this to false and Renovate will open each config warning in a new issue instead of reopening/reusing an existing issue.' ,
type : 'boolean' ,
default : true ,
} ,
2017-09-01 04:45:51 +00:00
// encryption
{
name : 'privateKey' ,
2021-01-30 10:12:14 +00:00
description : 'Server-side private key.' ,
2017-09-01 04:45:51 +00:00
stage : 'repository' ,
type : 'string' ,
replaceLineReturns : true ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2017-09-01 04:45:51 +00:00
} ,
2021-09-10 10:47:33 +00:00
{
name : 'privateKeyOld' ,
description : 'Secondary/old private key to try.' ,
stage : 'repository' ,
type : 'string' ,
replaceLineReturns : true ,
globalOnly : true ,
} ,
2020-09-07 06:42:33 +00:00
{
name : 'privateKeyPath' ,
2021-01-30 10:12:14 +00:00
description : 'Path to the Server-side private key.' ,
2020-09-07 06:42:33 +00:00
stage : 'repository' ,
type : 'string' ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2020-09-07 06:42:33 +00:00
} ,
2021-09-16 10:11:13 +00:00
{
name : 'privateKeyPathOld' ,
description : 'Path to the Server-side old private key.' ,
stage : 'repository' ,
type : 'string' ,
globalOnly : true ,
} ,
2017-09-01 04:45:51 +00:00
{
name : 'encrypted' ,
description :
2019-01-06 13:47:42 +00:00
'A configuration object containing configuration encrypted with project key.' ,
2017-09-01 04:45:51 +00:00
stage : 'repository' ,
2019-03-31 06:01:06 +00:00
type : 'object' ,
2017-09-01 04:45:51 +00:00
default : null ,
} ,
2017-07-03 09:34:46 +00:00
// Scheduling
2017-06-30 12:04:46 +00:00
{
name : 'timezone' ,
description :
'[IANA Time Zone](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)' ,
type : 'string' ,
} ,
{
name : 'schedule' ,
2021-01-30 10:12:14 +00:00
description : 'Times of day/week to limit branch creation to.' ,
2019-03-31 06:01:06 +00:00
type : 'array' ,
2019-03-23 06:38:24 +00:00
subType : 'string' ,
2017-08-11 05:29:16 +00:00
allowString : true ,
2018-06-21 08:23:59 +00:00
cli : true ,
2017-07-03 09:34:46 +00:00
env : false ,
2020-02-24 09:06:51 +00:00
default : [ 'at any time' ] ,
2017-06-30 12:04:46 +00:00
} ,
2017-10-13 04:42:17 +00:00
{
name : 'updateNotScheduled' ,
description :
2021-01-30 10:12:14 +00:00
'Whether to update (but not create) branches when not scheduled.' ,
2017-10-13 04:42:17 +00:00
stage : 'branch' ,
type : 'boolean' ,
} ,
2018-01-25 09:38:30 +00:00
// Bot administration
2019-04-09 15:14:08 +00:00
{
name : 'persistRepoData' ,
description :
2019-10-29 06:19:51 +00:00
'If set to true, repository data will preserved between runs instead of deleted.' ,
2019-04-09 15:14:08 +00:00
type : 'boolean' ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2019-04-09 15:14:08 +00:00
default : false ,
} ,
2018-01-25 09:38:30 +00:00
{
2021-04-15 20:15:30 +00:00
name : 'exposeAllEnv' ,
2018-01-25 09:38:30 +00:00
description :
2021-04-15 20:15:30 +00:00
'Configure this to true to allow passing of all env variables to package managers.' ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2021-04-15 20:15:30 +00:00
type : 'boolean' ,
default : false ,
} ,
{
name : 'allowScripts' ,
description :
'Configure this to true if repositories are allowed to run install scripts.' ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2021-04-15 20:15:30 +00:00
type : 'boolean' ,
default : false ,
} ,
{
name : 'allowCustomCrateRegistries' ,
description :
'Configure this to true if custom crate registries are allowed.' ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2021-04-15 20:15:30 +00:00
type : 'boolean' ,
default : false ,
2018-01-25 09:38:30 +00:00
} ,
2019-12-11 11:59:03 +00:00
{
name : 'ignoreScripts' ,
description :
2021-04-15 20:15:30 +00:00
'Configure this to true if allowScripts=true but you wish to skip running scripts when updating lock files.' ,
2019-12-11 11:59:03 +00:00
type : 'boolean' ,
default : false ,
} ,
2017-01-31 17:16:33 +00:00
{
name : 'platform' ,
2021-01-30 10:12:14 +00:00
description : 'Platform type of repository.' ,
2017-01-31 17:16:33 +00:00
type : 'string' ,
2020-04-08 07:14:32 +00:00
allowedValues : getPlatformList ( ) ,
2020-01-17 07:26:42 +00:00
default : PLATFORM_TYPE_GITHUB ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2017-01-31 17:16:33 +00:00
} ,
2017-02-05 08:10:29 +00:00
{
name : 'endpoint' ,
2021-01-30 10:12:14 +00:00
description : 'Custom endpoint to use.' ,
2017-02-05 08:10:29 +00:00
type : 'string' ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2018-02-03 06:23:24 +00:00
default : null ,
2017-02-05 08:10:29 +00:00
} ,
2017-01-20 13:03:18 +00:00
{
name : 'token' ,
2021-01-30 10:12:14 +00:00
description : 'Repository Auth Token.' ,
2017-07-03 08:31:36 +00:00
stage : 'repository' ,
2017-01-20 13:03:18 +00:00
type : 'string' ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2017-01-20 13:03:18 +00:00
} ,
2018-08-29 05:30:03 +00:00
{
name : 'username' ,
2021-01-30 10:12:14 +00:00
description : 'Username for authentication. Currently Bitbucket only.' ,
2018-08-29 05:30:03 +00:00
stage : 'repository' ,
type : 'string' ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2018-08-29 05:30:03 +00:00
} ,
{
name : 'password' ,
description :
'Password for authentication. Currently Bitbucket only (AppPassword).' ,
stage : 'repository' ,
type : 'string' ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2018-08-29 05:30:03 +00:00
} ,
2017-08-29 07:25:44 +00:00
{
name : 'npmrc' ,
2021-01-30 10:12:14 +00:00
description : 'String copy of npmrc file. Use \\n instead of line breaks.' ,
2017-08-29 07:25:44 +00:00
stage : 'branch' ,
type : 'string' ,
} ,
2017-12-26 04:40:14 +00:00
{
name : 'npmToken' ,
2021-01-30 10:12:14 +00:00
description : 'npm token used for authenticating with the default registry.' ,
2017-12-26 04:40:14 +00:00
stage : 'branch' ,
type : 'string' ,
} ,
2018-03-22 09:41:26 +00:00
{
name : 'updateLockFiles' ,
2021-01-30 10:12:14 +00:00
description : 'Set to false to disable lock file updating.' ,
2018-03-22 09:41:26 +00:00
type : 'boolean' ,
} ,
2018-08-15 15:13:07 +00:00
{
2021-04-21 15:53:57 +00:00
name : 'skipInstalls' ,
2018-08-15 15:13:07 +00:00
description :
2021-04-21 15:53:57 +00:00
'Skip installing modules/dependencies if lock file updating is possible alone.' ,
type : 'boolean' ,
default : null ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2018-08-15 15:13:07 +00:00
} ,
2017-08-29 07:25:44 +00:00
{
name : 'autodiscover' ,
2021-01-30 10:12:14 +00:00
description : 'Autodiscover all repositories.' ,
2017-12-26 04:40:14 +00:00
stage : 'global' ,
2017-08-29 07:25:44 +00:00
type : 'boolean' ,
default : false ,
} ,
2019-03-17 05:49:39 +00:00
{
name : 'autodiscoverFilter' ,
2021-01-30 10:12:14 +00:00
description : 'Filter the list of autodiscovered repositories.' ,
2019-03-17 05:49:39 +00:00
stage : 'global' ,
2021-04-20 06:59:42 +00:00
type : 'string' ,
2019-03-17 05:49:39 +00:00
default : null ,
} ,
2019-10-14 11:15:37 +00:00
{
name : 'prCommitsPerRunLimit' ,
description :
'Set a maximum number of commits per Renovate run. Default is no limit.' ,
stage : 'global' ,
type : 'integer' ,
default : 0 ,
} ,
2017-01-20 13:03:18 +00:00
{
name : 'repositories' ,
2021-01-30 10:12:14 +00:00
description : 'List of Repositories.' ,
2017-07-03 08:31:36 +00:00
stage : 'global' ,
2019-03-31 06:01:06 +00:00
type : 'array' ,
2017-01-20 13:03:18 +00:00
cli : false ,
} ,
2017-07-06 08:26:18 +00:00
{
2018-01-12 06:47:18 +00:00
name : 'baseBranches' ,
2017-07-06 08:26:18 +00:00
description :
2021-01-30 10:12:14 +00:00
'An array of one or more custom base branches to be processed. If left empty, the default branch will be chosen.' ,
2019-03-31 06:01:06 +00:00
type : 'array' ,
2018-05-06 09:59:33 +00:00
stage : 'package' ,
2017-07-06 08:26:18 +00:00
cli : false ,
} ,
2017-12-09 16:09:31 +00:00
{
name : 'gitAuthor' ,
2021-01-30 10:12:14 +00:00
description : 'Author to use for Git commits. Must conform to RFC5322.' ,
2017-12-09 16:09:31 +00:00
type : 'string' ,
} ,
2017-12-09 16:56:23 +00:00
{
name : 'gitPrivateKey' ,
2021-01-30 10:12:14 +00:00
description : 'PGP key to use for signing Git commits.' ,
2017-12-09 16:56:23 +00:00
type : 'string' ,
cli : false ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2020-07-03 13:33:34 +00:00
stage : 'global' ,
2017-12-09 16:56:23 +00:00
} ,
2021-03-14 08:27:40 +00:00
{
name : 'gitIgnoredAuthors' ,
description :
'Additional git authors which are ignored by Renovate. Must conform to RFC5322.' ,
type : 'array' ,
subType : 'string' ,
stage : 'repository' ,
} ,
2018-03-30 15:00:51 +00:00
{
name : 'enabledManagers' ,
description :
'A list of package managers to enable. If defined, then all managers not on the list are disabled.' ,
2019-03-31 06:01:06 +00:00
type : 'array' ,
2018-03-30 15:00:51 +00:00
stage : 'repository' ,
} ,
2018-04-30 14:13:32 +00:00
{
name : 'includePaths' ,
2021-01-30 10:12:14 +00:00
description : 'Include package files only within these defined paths.' ,
2019-03-31 06:01:06 +00:00
type : 'array' ,
2019-03-23 07:22:19 +00:00
subType : 'string' ,
2018-04-30 14:13:32 +00:00
stage : 'repository' ,
default : [ ] ,
} ,
2017-07-08 05:00:58 +00:00
{
2017-08-26 19:28:29 +00:00
name : 'ignorePaths' ,
2017-11-01 09:31:56 +00:00
description :
2021-01-30 10:12:14 +00:00
'Skip any package file whose path matches one of these. Can be a string or glob pattern.' ,
2019-03-31 06:01:06 +00:00
type : 'array' ,
2019-03-23 07:22:19 +00:00
subType : 'string' ,
2017-07-08 05:00:58 +00:00
stage : 'repository' ,
2017-12-14 05:35:12 +00:00
default : [ '**/node_modules/**' , '**/bower_components/**' ] ,
2017-07-08 05:00:58 +00:00
} ,
2019-04-30 06:52:01 +00:00
{
name : 'excludeCommitPaths' ,
description :
'A file that matches any of these glob patterns will not be committed, even if it has been updated.' ,
type : 'array' ,
subType : 'string' ,
default : [ ] ,
} ,
2019-11-24 11:32:00 +00:00
{
name : 'aliases' ,
2021-01-30 10:12:14 +00:00
description : 'Aliases for registries, package manager specific.' ,
2019-11-24 11:32:00 +00:00
type : 'object' ,
default : { } ,
additionalProperties : {
type : 'string' ,
format : 'uri' ,
} ,
} ,
2018-07-05 09:33:50 +00:00
{
name : 'registryUrls' ,
description :
2021-01-30 10:12:14 +00:00
'List of URLs to try for dependency lookup. Package manager specific.' ,
2019-03-31 06:01:06 +00:00
type : 'array' ,
2019-03-23 07:22:19 +00:00
subType : 'string' ,
2018-07-05 09:33:50 +00:00
default : null ,
2018-10-16 02:52:57 +00:00
stage : 'branch' ,
2018-07-05 09:33:50 +00:00
cli : false ,
env : false ,
} ,
2020-09-17 08:06:06 +00:00
{
name : 'extractVersion' ,
description :
2021-01-30 10:12:14 +00:00
"A regex (re2) to extract a version from a datasource's raw version string." ,
2020-09-17 08:06:06 +00:00
type : 'string' ,
format : 'regex' ,
cli : false ,
env : false ,
} ,
2018-12-13 04:29:11 +00:00
{
2020-02-18 07:34:10 +00:00
name : 'versioning' ,
2021-01-30 10:12:14 +00:00
description : 'Versioning to use for filtering and comparisons.' ,
2018-12-13 04:29:11 +00:00
type : 'string' ,
2020-02-18 07:34:10 +00:00
allowedValues : getVersioningList ( ) ,
2018-12-13 04:29:11 +00:00
cli : false ,
env : false ,
} ,
2019-05-13 14:19:31 +00:00
{
name : 'azureAutoComplete' ,
description :
2021-01-30 10:12:14 +00:00
'If set to true, Azure DevOps PRs will be set to auto-complete after all (if any) branch policies have been met.' ,
2019-05-13 14:19:31 +00:00
type : 'boolean' ,
default : false ,
} ,
2019-04-15 12:57:54 +00:00
{
name : 'azureWorkItemId' ,
description :
2021-01-30 10:12:14 +00:00
'The id of an existing work item on Azure Boards to link to each PR.' ,
2019-04-15 12:57:54 +00:00
type : 'integer' ,
default : 0 ,
} ,
2021-05-03 23:48:59 +00:00
{
name : 'azureAutoApprove' ,
description :
'If set to true, Azure DevOps PRs will be automatically approved.' ,
type : 'boolean' ,
default : false ,
} ,
2017-06-27 11:44:03 +00:00
// depType
{
name : 'ignoreDeps' ,
2021-01-30 10:12:14 +00:00
description : 'Dependencies to ignore.' ,
2019-03-31 06:01:06 +00:00
type : 'array' ,
2019-03-23 07:22:19 +00:00
subType : 'string' ,
2018-05-06 09:59:33 +00:00
stage : 'package' ,
2018-05-03 12:14:05 +00:00
mergeable : true ,
2017-06-27 11:44:03 +00:00
} ,
2021-02-22 15:09:35 +00:00
{
name : 'updateInternalDeps' ,
description :
'Whether to update internal dep versions in a monorepo (Lerna or Yarn Workspaces).' ,
type : 'boolean' ,
2021-02-25 10:58:11 +00:00
default : false ,
2021-02-22 15:09:35 +00:00
stage : 'package' ,
} ,
2017-06-27 11:44:03 +00:00
{
2017-08-03 05:55:59 +00:00
name : 'packageRules' ,
2021-01-30 10:12:14 +00:00
description : 'Rules for matching package names.' ,
2019-03-31 06:01:06 +00:00
type : 'array' ,
2018-05-06 09:59:33 +00:00
stage : 'package' ,
2018-12-11 11:55:12 +00:00
mergeable : true ,
cli : false ,
env : false ,
} ,
{
2021-01-29 10:43:42 +00:00
name : 'matchLanguages' ,
2018-12-11 11:55:12 +00:00
description :
2021-01-30 10:12:14 +00:00
'List of languages to match (e.g. ["python"]). Valid only within `packageRules` object.' ,
2019-03-31 06:01:06 +00:00
type : 'array' ,
2019-03-23 06:38:24 +00:00
subType : 'string' ,
2018-12-11 11:55:12 +00:00
allowString : true ,
parent : 'packageRules' ,
stage : 'package' ,
2017-08-06 04:41:45 +00:00
mergeable : true ,
2017-06-27 11:44:03 +00:00
cli : false ,
env : false ,
} ,
2019-03-11 16:42:30 +00:00
{
2021-01-29 10:43:42 +00:00
name : 'matchBaseBranches' ,
2019-03-11 16:42:30 +00:00
description :
2021-01-30 10:12:14 +00:00
'List of branches to match (e.g. ["master"]). Valid only within `packageRules` object.' ,
2019-03-31 06:01:06 +00:00
type : 'array' ,
2019-03-23 06:38:24 +00:00
subType : 'string' ,
2019-03-11 16:42:30 +00:00
allowString : true ,
parent : 'packageRules' ,
stage : 'package' ,
mergeable : true ,
cli : false ,
env : false ,
} ,
2018-12-11 11:37:13 +00:00
{
2021-01-29 10:43:42 +00:00
name : 'matchManagers' ,
2018-12-11 11:37:13 +00:00
description :
2021-01-30 10:12:14 +00:00
'List of package managers to match (e.g. ["pipenv"]). Valid only within `packageRules` object.' ,
2019-03-31 06:01:06 +00:00
type : 'array' ,
2019-03-23 06:38:24 +00:00
subType : 'string' ,
2018-12-11 11:37:13 +00:00
allowString : true ,
parent : 'packageRules' ,
stage : 'package' ,
mergeable : true ,
cli : false ,
env : false ,
} ,
2019-03-12 06:27:49 +00:00
{
2021-01-29 10:43:42 +00:00
name : 'matchDatasources' ,
2019-03-12 06:27:49 +00:00
description :
2021-01-30 10:12:14 +00:00
'List of datasources to match (e.g. ["orb"]). Valid only within `packageRules` object.' ,
2019-03-31 06:01:06 +00:00
type : 'array' ,
2019-03-23 06:38:24 +00:00
subType : 'string' ,
2019-03-12 06:27:49 +00:00
allowString : true ,
parent : 'packageRules' ,
stage : 'package' ,
mergeable : true ,
cli : false ,
env : false ,
} ,
2018-04-09 14:10:34 +00:00
{
2021-01-29 10:43:42 +00:00
name : 'matchDepTypes' ,
2018-04-09 14:10:34 +00:00
description :
2021-01-30 10:12:14 +00:00
'List of depTypes to match (e.g. [`peerDependencies`]). Valid only within `packageRules` object.' ,
2019-03-31 06:01:06 +00:00
type : 'array' ,
2019-03-23 06:38:24 +00:00
subType : 'string' ,
2018-04-09 14:10:34 +00:00
allowString : true ,
2018-05-06 06:29:38 +00:00
parent : 'packageRules' ,
2018-05-06 09:59:33 +00:00
stage : 'package' ,
2018-04-09 14:10:34 +00:00
mergeable : true ,
cli : false ,
env : false ,
} ,
2017-08-02 05:52:28 +00:00
{
2021-01-29 10:43:42 +00:00
name : 'matchPackageNames' ,
2017-08-03 05:55:59 +00:00
description :
2021-01-30 10:12:14 +00:00
'Package names to match. Valid only within `packageRules` object.' ,
2019-03-31 06:01:06 +00:00
type : 'array' ,
2019-03-23 06:38:24 +00:00
subType : 'string' ,
2017-08-11 05:29:16 +00:00
allowString : true ,
2018-05-06 09:59:33 +00:00
stage : 'package' ,
2018-05-06 06:29:38 +00:00
parent : 'packageRules' ,
2017-08-18 04:10:19 +00:00
mergeable : true ,
2017-08-02 05:52:28 +00:00
cli : false ,
env : false ,
} ,
{
2017-08-03 05:55:59 +00:00
name : 'excludePackageNames' ,
2017-08-02 05:52:28 +00:00
description :
2021-01-30 10:12:14 +00:00
'Package names to exclude. Valid only within `packageRules` object.' ,
2019-03-31 06:01:06 +00:00
type : 'array' ,
2019-03-23 06:38:24 +00:00
subType : 'string' ,
2017-08-11 05:29:16 +00:00
allowString : true ,
2018-05-06 09:59:33 +00:00
stage : 'package' ,
2018-05-06 06:29:38 +00:00
parent : 'packageRules' ,
2017-08-18 04:10:19 +00:00
mergeable : true ,
2017-08-03 05:55:59 +00:00
cli : false ,
env : false ,
} ,
2021-04-03 05:18:25 +00:00
{
name : 'matchPackagePrefixes' ,
description :
'Package name prefixes to match. Valid only within `packageRules` object.' ,
type : 'array' ,
subType : 'string' ,
allowString : true ,
stage : 'package' ,
parent : 'packageRules' ,
mergeable : true ,
cli : false ,
env : false ,
} ,
{
name : 'excludePackagePrefixes' ,
description :
'Package name prefixes to exclude. Valid only within `packageRules` object.' ,
type : 'array' ,
subType : 'string' ,
allowString : true ,
stage : 'package' ,
parent : 'packageRules' ,
mergeable : true ,
cli : false ,
env : false ,
} ,
2017-08-03 05:55:59 +00:00
{
2021-01-29 10:43:42 +00:00
name : 'matchPackagePatterns' ,
2017-08-03 05:55:59 +00:00
description :
'Package name patterns to match. Valid only within `packageRules` object.' ,
2019-03-31 06:01:06 +00:00
type : 'array' ,
2019-03-23 06:38:24 +00:00
subType : 'string' ,
2019-03-23 07:27:46 +00:00
format : 'regex' ,
2017-08-11 05:29:16 +00:00
allowString : true ,
2018-05-06 09:59:33 +00:00
stage : 'package' ,
2018-05-06 06:29:38 +00:00
parent : 'packageRules' ,
2017-08-18 04:10:19 +00:00
mergeable : true ,
2017-08-03 05:55:59 +00:00
cli : false ,
env : false ,
} ,
{
name : 'excludePackagePatterns' ,
description :
'Package name patterns to exclude. Valid only within `packageRules` object.' ,
2019-03-31 06:01:06 +00:00
type : 'array' ,
2019-03-23 06:38:24 +00:00
subType : 'string' ,
2019-03-23 07:27:46 +00:00
format : 'regex' ,
2017-08-11 05:29:16 +00:00
allowString : true ,
2018-05-06 09:59:33 +00:00
stage : 'package' ,
2018-05-06 06:29:38 +00:00
parent : 'packageRules' ,
2017-08-18 04:10:19 +00:00
mergeable : true ,
2017-08-02 05:52:28 +00:00
cli : false ,
env : false ,
} ,
2018-04-27 03:45:22 +00:00
{
name : 'matchCurrentVersion' ,
description :
2021-01-30 10:12:14 +00:00
'A version or version range to match against the current version of a package. Valid only within `packageRules` object.' ,
2018-04-27 03:45:22 +00:00
type : 'string' ,
2018-05-06 09:59:33 +00:00
stage : 'package' ,
2018-05-06 06:29:38 +00:00
parent : 'packageRules' ,
2018-04-27 03:45:22 +00:00
mergeable : true ,
cli : false ,
env : false ,
} ,
2018-12-11 11:03:09 +00:00
{
2021-01-29 10:43:42 +00:00
name : 'matchSourceUrlPrefixes' ,
2018-12-11 11:03:09 +00:00
description :
'A list of source URL prefixes to match against, commonly used for grouping of monorepos or packages from the same organization.' ,
2019-03-31 06:01:06 +00:00
type : 'array' ,
2019-03-23 06:38:24 +00:00
subType : 'string' ,
2018-12-11 11:03:09 +00:00
allowString : true ,
stage : 'package' ,
parent : 'packageRules' ,
mergeable : true ,
cli : false ,
env : false ,
} ,
2018-07-04 07:30:29 +00:00
{
2021-01-29 10:43:42 +00:00
name : 'matchUpdateTypes' ,
2018-07-04 07:30:29 +00:00
description :
'Update types to match against (major, minor, pin, etc). Valid only within `packageRules` object.' ,
2019-03-31 06:01:06 +00:00
type : 'array' ,
2019-03-23 06:38:24 +00:00
subType : 'string' ,
2019-03-23 07:50:48 +00:00
allowedValues : [
'major' ,
'minor' ,
'patch' ,
'pin' ,
'digest' ,
'lockFileMaintenance' ,
'rollback' ,
'bump' ,
] ,
2018-07-04 07:30:29 +00:00
allowString : true ,
stage : 'package' ,
parent : 'packageRules' ,
mergeable : true ,
cli : false ,
env : false ,
} ,
2021-02-19 15:29:50 +00:00
{
name : 'matchFiles' ,
description :
'List of strings to do an exact match against package files with full path. Applicable inside packageRules only.' ,
type : 'array' ,
subType : 'string' ,
stage : 'repository' ,
parent : 'packageRules' ,
cli : false ,
env : false ,
} ,
2018-08-24 15:08:32 +00:00
{
2021-01-29 10:43:42 +00:00
name : 'matchPaths' ,
2018-08-24 15:08:32 +00:00
description :
2021-01-30 10:12:14 +00:00
'List of strings or glob patterns to match against package files. Applicable inside packageRules only.' ,
2019-03-31 06:01:06 +00:00
type : 'array' ,
2019-03-23 07:22:19 +00:00
subType : 'string' ,
2018-08-24 15:08:32 +00:00
stage : 'repository' ,
parent : 'packageRules' ,
cli : false ,
env : false ,
} ,
2017-01-20 13:03:18 +00:00
// Version behaviour
2018-03-02 22:10:42 +00:00
{
name : 'allowedVersions' ,
2020-10-07 14:31:35 +00:00
description :
2021-01-30 10:12:14 +00:00
'A version range or regex pattern capturing allowed versions for dependencies.' ,
2018-03-02 22:10:42 +00:00
type : 'string' ,
2018-05-06 06:29:38 +00:00
parent : 'packageRules' ,
2018-03-02 22:10:42 +00:00
stage : 'package' ,
cli : false ,
env : false ,
} ,
2017-10-24 03:33:03 +00:00
{
name : 'pinDigests' ,
2021-01-30 10:12:14 +00:00
description : 'Whether to add digests to Dockerfile source images.' ,
2017-10-24 03:33:03 +00:00
type : 'boolean' ,
2018-06-26 11:31:51 +00:00
default : false ,
2017-10-24 03:33:03 +00:00
} ,
2017-04-15 10:44:50 +00:00
{
2018-05-17 05:36:13 +00:00
name : 'separateMajorMinor' ,
2017-06-02 20:40:00 +00:00
description :
2021-01-30 10:12:14 +00:00
'If set to false, it will upgrade dependencies to latest release only, and not separate major/minor branches.' ,
2017-04-15 10:44:50 +00:00
type : 'boolean' ,
} ,
2017-11-10 03:57:07 +00:00
{
2018-05-17 05:33:59 +00:00
name : 'separateMultipleMajor' ,
2017-11-10 03:57:07 +00:00
description :
2021-01-30 10:12:14 +00:00
'If set to true, PRs will be raised separately for each available major upgrade version.' ,
2017-11-10 03:57:07 +00:00
stage : 'package' ,
type : 'boolean' ,
default : false ,
} ,
2017-08-01 15:10:53 +00:00
{
2018-05-17 05:40:29 +00:00
name : 'separateMinorPatch' ,
2017-08-01 15:10:53 +00:00
description :
2021-01-30 10:12:14 +00:00
'If set to true, it will separate minor and patch updates into separate branches.' ,
2017-08-01 15:10:53 +00:00
type : 'boolean' ,
default : false ,
} ,
2017-01-20 13:03:18 +00:00
{
name : 'ignoreUnstable' ,
2021-01-30 10:12:14 +00:00
description : 'Ignore versions with unstable SemVer.' ,
2017-07-03 08:31:36 +00:00
stage : 'package' ,
2017-01-20 13:03:18 +00:00
type : 'boolean' ,
} ,
2018-07-05 13:10:50 +00:00
{
name : 'ignoreDeprecated' ,
description :
2021-01-30 10:12:14 +00:00
'Ignore deprecated versions unless the current version is deprecated.' ,
2018-07-05 13:10:50 +00:00
stage : 'package' ,
type : 'boolean' ,
default : true ,
} ,
2018-09-19 07:59:33 +00:00
{
name : 'followTag' ,
description : 'If defined, packages will follow this release tag exactly.' ,
stage : 'package' ,
type : 'string' ,
cli : false ,
env : false ,
} ,
2017-01-20 13:03:18 +00:00
{
name : 'respectLatest' ,
2021-01-30 10:12:14 +00:00
description : 'Ignore versions newer than npm "latest" version.' ,
2017-07-03 08:31:36 +00:00
stage : 'package' ,
2017-01-20 13:03:18 +00:00
type : 'boolean' ,
} ,
2018-03-07 06:41:10 +00:00
{
feat: rangeStrategy (#1954)
This PR replaces the existing `pinVersions`, `upgradeInRange` and `versionStrategy` settings with a single one: `rangeStrategy`.
Previously:
- `pinVersions` could be `true` or `false`, but defaulted to `null`, which meant that Renovate would decide. `true` meant that Renovate would replace existing ranges like `^1.0.0` with an exact/pinned version such as `1.2.0`.
- `upgradeInRange` could be true or false, default to false. If `true`, it would mean Renovate would replace an existing range like `^1.0.0` with something like `^1.2.0`
- `versionStrategy` could be `replace` or `widen` and was mainly used for `peerDependencies` to widen existing ranges, e.g. from `^1.0.0` to `^1.0.0 || ^2.0.0`
It was possible to set conflicting settings, e.g. configuring `pinVersions=true` and `upgradeInRange=true`.
Now, we combine them into a single setting: `rangeStrategy`:
- `auto` = Renovate decides (this will be done on a manager-by-manager basis)
- `pin` = convert ranges to exact versions
- `bump` = same as `upgradeInRange` previously, e.g. bump the range even if the new version satisifies the existing range
- `replace` = Same as pinVersions === false && upgradeInRange === false, i.e. only replace the range if the new version falls outside it
- `widen` = Same as previous versionStrategy==='widen'
2018-05-17 05:16:13 +00:00
name : 'rangeStrategy' ,
description : 'Policy for how to modify/update existing ranges.' ,
2018-01-24 14:26:37 +00:00
type : 'string' ,
2018-05-23 09:17:20 +00:00
default : 'replace' ,
2019-01-24 05:23:08 +00:00
allowedValues : [
'auto' ,
'pin' ,
'bump' ,
'replace' ,
'widen' ,
'update-lockfile' ,
] ,
2018-01-24 14:26:37 +00:00
cli : false ,
env : false ,
} ,
2017-08-04 06:32:22 +00:00
{
name : 'branchPrefix' ,
2021-01-30 10:12:14 +00:00
description : 'Prefix to use for all branch names.' ,
2017-08-04 06:32:22 +00:00
stage : 'branch' ,
type : 'string' ,
2019-12-05 09:45:28 +00:00
default : ` renovate/ ` ,
2017-08-04 06:32:22 +00:00
} ,
2018-01-20 08:27:05 +00:00
{
name : 'bumpVersion' ,
2021-01-30 10:12:14 +00:00
description : 'Bump the version in the package file being updated.' ,
2018-01-20 08:27:05 +00:00
type : 'string' ,
2019-03-23 07:50:48 +00:00
allowedValues : [ 'major' , 'minor' , 'patch' ] ,
2018-01-20 08:27:05 +00:00
} ,
2017-08-01 15:10:53 +00:00
// Major/Minor/Patch
{
name : 'major' ,
2021-01-30 10:12:14 +00:00
description : 'Configuration to apply when an update type is major.' ,
2017-08-01 15:10:53 +00:00
stage : 'package' ,
2019-03-31 06:01:06 +00:00
type : 'object' ,
2017-08-01 15:10:53 +00:00
default : { } ,
cli : false ,
mergeable : true ,
} ,
{
name : 'minor' ,
2021-01-30 10:12:14 +00:00
description : 'Configuration to apply when an update type is minor.' ,
2017-08-01 15:10:53 +00:00
stage : 'package' ,
2019-03-31 06:01:06 +00:00
type : 'object' ,
2017-08-01 15:10:53 +00:00
default : { } ,
cli : false ,
mergeable : true ,
} ,
{
name : 'patch' ,
2021-04-21 07:05:17 +00:00
description : 'Configuration to apply when an update type is patch.' ,
2017-08-01 15:10:53 +00:00
stage : 'package' ,
2019-03-31 06:01:06 +00:00
type : 'object' ,
2018-07-05 16:21:43 +00:00
default : { } ,
2017-08-01 15:10:53 +00:00
cli : false ,
mergeable : true ,
} ,
2017-09-13 18:52:07 +00:00
{
name : 'pin' ,
description : 'Configuration to apply when an update type is pin.' ,
stage : 'package' ,
2019-03-31 06:01:06 +00:00
type : 'object' ,
2017-09-13 18:52:07 +00:00
default : {
2020-02-22 15:31:50 +00:00
rebaseWhen : 'behind-base-branch' ,
2018-07-05 20:08:19 +00:00
groupName : 'Pin Dependencies' ,
2019-05-30 05:49:35 +00:00
groupSlug : 'pin-dependencies' ,
2018-07-05 20:08:19 +00:00
commitMessageAction : 'Pin' ,
group : {
commitMessageTopic : 'dependencies' ,
2018-10-14 19:56:42 +00:00
commitMessageExtra : '' ,
2017-09-13 18:52:07 +00:00
} ,
} ,
cli : false ,
mergeable : true ,
} ,
2017-10-25 07:57:57 +00:00
{
name : 'digest' ,
description :
2021-01-30 10:12:14 +00:00
'Configuration to apply when updating a digest (no change in tag/version).' ,
2017-10-25 07:57:57 +00:00
stage : 'package' ,
2019-03-31 06:01:06 +00:00
type : 'object' ,
2018-09-17 09:18:18 +00:00
default : {
branchTopic : '{{{depNameSanitized}}}-digest' ,
commitMessageExtra : 'to {{newDigestShort}}' ,
commitMessageTopic : '{{{depName}}} commit hash' ,
} ,
2017-10-25 07:57:57 +00:00
cli : false ,
mergeable : true ,
} ,
2021-04-17 11:53:03 +00:00
{
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 ,
} ,
2017-06-29 17:50:26 +00:00
// Semantic commit / Semantic release
{
2017-06-30 04:01:50 +00:00
name : 'semanticCommits' ,
2021-01-30 10:12:14 +00:00
description : 'Enable Semantic Commit prefixes for commits and PR titles.' ,
2020-09-11 11:15:04 +00:00
type : 'string' ,
allowedValues : [ 'auto' , 'enabled' , 'disabled' ] ,
default : 'auto' ,
2017-06-29 17:50:26 +00:00
} ,
{
2017-11-24 06:14:58 +00:00
name : 'semanticCommitType' ,
2021-01-30 10:12:14 +00:00
description : 'Commit type to use if Semantic Commits is enabled.' ,
2017-06-29 17:50:26 +00:00
type : 'string' ,
2017-11-24 06:14:58 +00:00
default : 'chore' ,
} ,
{
name : 'semanticCommitScope' ,
2021-01-30 10:12:14 +00:00
description : 'Commit scope to use if Semantic Commits are enabled.' ,
2017-11-24 06:14:58 +00:00
type : 'string' ,
default : 'deps' ,
2017-06-29 17:50:26 +00:00
} ,
2017-01-20 13:03:18 +00:00
// PR Behaviour
2018-07-22 04:49:04 +00:00
{
name : 'rollbackPrs' ,
description :
2021-01-30 10:12:14 +00:00
'Create PRs to roll back versions if the current version is not found in the registry.' ,
2018-07-22 04:49:04 +00:00
type : 'boolean' ,
2019-01-25 05:36:27 +00:00
default : false ,
2018-07-22 04:49:04 +00:00
} ,
2017-01-20 13:03:18 +00:00
{
name : 'recreateClosed' ,
2021-01-30 10:12:14 +00:00
description : 'Recreate PRs even if same ones were closed previously.' ,
2017-01-20 13:03:18 +00:00
type : 'boolean' ,
default : false ,
} ,
2019-08-14 03:59:14 +00:00
{
2020-02-22 15:31:50 +00:00
name : 'rebaseWhen' ,
2021-01-30 10:12:14 +00:00
description : 'Control when Renovate decides to rebase an existing branch.' ,
2020-02-22 15:31:50 +00:00
type : 'string' ,
allowedValues : [ 'auto' , 'never' , 'conflicted' , 'behind-base-branch' ] ,
default : 'auto' ,
2017-02-06 06:56:33 +00:00
} ,
2018-09-14 10:51:33 +00:00
{
name : 'rebaseLabel' ,
2021-01-30 10:12:14 +00:00
description : 'Label to use to request the bot to rebase a PR manually.' ,
2018-09-14 10:51:33 +00:00
type : 'string' ,
default : 'rebase' ,
} ,
2019-08-26 08:32:59 +00:00
{
name : 'stabilityDays' ,
description :
'Number of days required before a new release is considered to be stabilized.' ,
type : 'integer' ,
default : 0 ,
} ,
2021-06-23 20:19:14 +00:00
/ *
* Undocumented experimental feature
{
name : 'minimumConfidence' ,
description :
'Minimum Merge confidence level to filter by. Requires authentication to work.' ,
type : 'string' ,
allowedValues : [ 'low' , 'neutral' , 'high' , 'very high' ] ,
default : 'low' ,
} ,
* /
2021-05-08 12:38:27 +00:00
{
name : 'internalChecksFilter' ,
description : 'When/how to filter based on internal checks.' ,
type : 'string' ,
allowedValues : [ 'strict' , 'flexible' , 'none' ] ,
default : 'none' ,
} ,
2017-04-17 04:46:24 +00:00
{
name : 'prCreation' ,
2019-03-23 07:50:48 +00:00
description : 'When to create the PR for a branch.' ,
2017-04-17 04:46:24 +00:00
type : 'string' ,
2019-07-11 11:48:41 +00:00
allowedValues : [ 'immediate' , 'not-pending' , 'status-success' , 'approval' ] ,
2017-04-17 04:46:24 +00:00
default : 'immediate' ,
} ,
2017-08-28 09:37:09 +00:00
{
name : 'prNotPendingHours' ,
2021-01-30 10:12:14 +00:00
description : 'Timeout in hours for when prCreation=not-pending.' ,
2017-08-28 09:37:09 +00:00
type : 'integer' ,
2018-02-12 06:55:08 +00:00
default : 25 ,
2017-08-28 09:37:09 +00:00
} ,
2018-01-11 10:49:01 +00:00
{
name : 'prHourlyLimit' ,
description :
'Rate limit PRs to maximum x created per hour. 0 (default) means no limit.' ,
type : 'integer' ,
default : 0 , // no limit
} ,
2018-01-30 10:38:55 +00:00
{
name : 'prConcurrentLimit' ,
description :
'Limit to a maximum of x concurrent branches/PRs. 0 (default) means no limit.' ,
type : 'integer' ,
default : 0 , // no limit
} ,
2021-01-10 12:29:14 +00:00
{
name : 'branchConcurrentLimit' ,
description :
'Limit to a maximum of x concurrent branches. 0 means no limit, `null` (default) inherits value from `prConcurrentLimit`.' ,
type : 'integer' ,
default : null , // inherit prConcurrentLimit
} ,
2019-09-03 13:52:53 +00:00
{
name : 'prPriority' ,
description :
'Set sorting priority for PR creation. PRs with higher priority are created first, negative priority last.' ,
type : 'integer' ,
default : 0 ,
cli : false ,
env : false ,
} ,
2019-05-10 11:28:35 +00:00
{
name : 'bbUseDefaultReviewers' ,
2019-09-17 07:48:16 +00:00
description : 'Use the default reviewers (Bitbucket only).' ,
2019-05-10 11:28:35 +00:00
type : 'boolean' ,
default : true ,
} ,
2017-04-20 11:01:23 +00:00
// Automatic merging
{
name : 'automerge' ,
2017-06-02 20:40:00 +00:00
description :
2021-01-30 10:12:14 +00:00
'Whether to automerge branches/PRs automatically, without human intervention.' ,
2017-08-21 11:41:48 +00:00
type : 'boolean' ,
default : false ,
2017-04-20 11:01:23 +00:00
} ,
2017-06-08 04:18:21 +00:00
{
name : 'automergeType' ,
2019-03-23 07:50:48 +00:00
description : 'How to automerge, if enabled.' ,
2017-06-08 04:18:21 +00:00
type : 'string' ,
2019-03-23 07:50:48 +00:00
allowedValues : [ 'branch' , 'pr' , 'pr-comment' ] ,
2017-06-08 04:18:21 +00:00
default : 'pr' ,
} ,
2021-07-29 09:06:55 +00:00
{
name : 'automergeStrategy' ,
description :
'The merge strategy to use when automerging PRs. Used only if `automergeType=pr`.' ,
type : 'string' ,
allowedValues : [ 'auto' , 'fast-forward' , 'merge-commit' , 'rebase' , 'squash' ] ,
default : 'auto' ,
} ,
2018-05-04 04:55:01 +00:00
{
name : 'automergeComment' ,
description :
2021-01-30 10:12:14 +00:00
'PR comment to add to trigger automerge. Used only if automergeType=pr-comment.' ,
2018-05-04 04:55:01 +00:00
type : 'string' ,
default : 'automergeComment' ,
} ,
2017-07-05 05:02:25 +00:00
{
2021-09-12 15:23:18 +00:00
name : 'ignoreTests' ,
description : 'Set to true to enable automerging without tests.' ,
type : 'boolean' ,
default : false ,
2017-07-05 05:02:25 +00:00
} ,
2021-03-01 07:59:57 +00:00
{
name : 'transitiveRemediation' ,
description : 'Enable remediation of transitive dependencies.' ,
type : 'boolean' ,
default : false ,
} ,
2018-07-29 04:35:25 +00:00
{
name : 'vulnerabilityAlerts' ,
description :
2019-01-06 13:47:42 +00:00
'Config to apply when a PR is necessary due to vulnerability of existing package version.' ,
2018-07-29 04:35:25 +00:00
type : 'object' ,
default : {
groupName : null ,
schedule : [ ] ,
2020-07-11 09:55:30 +00:00
dependencyDashboardApproval : false ,
2021-02-24 13:32:59 +00:00
rangeStrategy : 'update-lockfile' ,
2018-07-29 04:35:25 +00:00
commitMessageSuffix : '[SECURITY]' ,
2021-02-22 10:08:39 +00:00
branchTopic : ` {{{datasource}}}-{{{depName}}}-vulnerability ` ,
prCreation : 'immediate' ,
2018-07-29 04:35:25 +00:00
} ,
2021-02-02 06:19:04 +00:00
mergeable : true ,
2018-07-29 04:35:25 +00:00
cli : false ,
env : false ,
} ,
2017-07-01 04:48:38 +00:00
// Default templates
2017-01-20 13:03:18 +00:00
{
name : 'branchName' ,
2021-01-30 10:12:14 +00:00
description : 'Branch name template.' ,
2017-01-20 13:03:18 +00:00
type : 'string' ,
2020-09-01 12:28:18 +00:00
default : '{{{branchPrefix}}}{{{additionalBranchPrefix}}}{{{branchTopic}}}' ,
2018-04-17 06:39:26 +00:00
cli : false ,
} ,
{
2020-09-01 12:28:18 +00:00
name : 'additionalBranchPrefix' ,
2021-01-30 10:12:14 +00:00
description : 'Additional string value to be appended to branchPrefix.' ,
2018-04-17 06:39:26 +00:00
type : 'string' ,
default : '' ,
cli : false ,
} ,
{
name : 'branchTopic' ,
2021-01-30 10:12:14 +00:00
description : 'Branch topic.' ,
2018-04-17 06:39:26 +00:00
type : 'string' ,
2018-07-05 16:21:43 +00:00
default :
2021-05-07 10:01:16 +00:00
'{{{depNameSanitized}}}-{{{newMajor}}}{{#if separateMinorPatch}}{{#if isPatch}}.{{{newMinor}}}{{/if}}{{/if}}.x{{#if isLockfileUpdate}}-lockfile{{/if}}' ,
2017-01-20 13:03:18 +00:00
cli : false ,
} ,
{
name : 'commitMessage' ,
2021-01-30 10:12:14 +00:00
description : 'Message to use for commit messages and pull request titles.' ,
2017-01-20 13:03:18 +00:00
type : 'string' ,
2018-04-17 06:39:26 +00:00
default :
2018-04-17 10:49:59 +00:00
'{{{commitMessagePrefix}}} {{{commitMessageAction}}} {{{commitMessageTopic}}} {{{commitMessageExtra}}} {{{commitMessageSuffix}}}' ,
2017-01-20 13:03:18 +00:00
cli : false ,
} ,
2017-12-25 19:37:14 +00:00
{
name : 'commitBody' ,
description :
'Commit message body template. Will be appended to commit message, separated by two line returns.' ,
type : 'string' ,
cli : false ,
} ,
2019-06-02 08:50:35 +00:00
{
name : 'commitBodyTable' ,
description :
2021-01-30 10:12:14 +00:00
'If enabled, append a table in the commit message body describing all updates in the commit.' ,
2019-06-02 08:50:35 +00:00
type : 'boolean' ,
default : false ,
} ,
2018-04-17 06:39:26 +00:00
{
name : 'commitMessagePrefix' ,
description :
2021-01-30 10:12:14 +00:00
'Prefix to add to start of commit messages and PR titles. Uses a semantic prefix if semanticCommits enabled.' ,
2018-04-17 06:39:26 +00:00
type : 'string' ,
cli : false ,
} ,
{
name : 'commitMessageAction' ,
2021-01-30 10:12:14 +00:00
description : 'Action verb to use in commit messages and PR titles.' ,
2018-04-17 06:39:26 +00:00
type : 'string' ,
default : 'Update' ,
cli : false ,
} ,
{
name : 'commitMessageTopic' ,
2021-01-30 10:12:14 +00:00
description :
'The upgrade topic/noun used in commit messages and PR titles.' ,
2018-04-17 06:39:26 +00:00
type : 'string' ,
default : 'dependency {{depName}}' ,
cli : false ,
} ,
{
name : 'commitMessageExtra' ,
description :
2021-01-30 10:12:14 +00:00
'Extra description used after the commit message topic - typically the version.' ,
2018-04-17 06:39:26 +00:00
type : 'string' ,
default :
2021-02-16 11:33:44 +00:00
'to {{#if isMajor}}v{{{newMajor}}}{{else}}{{#if isSingleVersion}}v{{{newVersion}}}{{else}}{{{newValue}}}{{/if}}{{/if}}' ,
2018-04-17 06:39:26 +00:00
cli : false ,
} ,
2018-07-28 18:43:54 +00:00
{
name : 'commitMessageSuffix' ,
description : 'Suffix to add to end of commit messages and PR titles.' ,
type : 'string' ,
cli : false ,
} ,
2020-08-28 07:27:31 +00:00
{
name : 'prBodyTemplate' ,
description :
'Pull Request body template. Controls which sections are rendered in the body.' ,
type : 'string' ,
default :
'{{{header}}}{{{table}}}{{{notes}}}{{{changelogs}}}{{{configDescription}}}{{{controls}}}{{{footer}}}' ,
cli : false ,
} ,
2017-01-20 13:03:18 +00:00
{
name : 'prTitle' ,
2018-04-17 06:39:26 +00:00
description :
'Pull Request title template (deprecated). Now uses commitMessage.' ,
2017-01-20 13:03:18 +00:00
type : 'string' ,
2018-04-17 06:39:26 +00:00
default : null ,
2017-01-20 13:03:18 +00:00
cli : false ,
} ,
2020-06-14 06:49:52 +00:00
{
name : 'prHeader' ,
description : 'Any text added here will be placed first in the PR body.' ,
type : 'string' ,
} ,
2018-03-12 12:35:15 +00:00
{
name : 'prFooter' ,
2020-06-14 06:49:52 +00:00
description :
'Any text added here will be placed last in the PR body, with a divider separator before it.' ,
2018-03-12 12:35:15 +00:00
type : 'string' ,
2019-12-05 09:27:29 +00:00
default : ` This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). ` ,
2018-03-12 12:35:15 +00:00
} ,
2017-04-13 20:39:46 +00:00
{
2017-07-01 04:44:41 +00:00
name : 'lockFileMaintenance' ,
2021-01-30 10:12:14 +00:00
description : 'Configuration for lock file maintenance.' ,
2018-05-06 09:59:33 +00:00
stage : 'branch' ,
2019-03-31 06:01:06 +00:00
type : 'object' ,
2017-07-01 04:44:41 +00:00
default : {
2017-11-01 08:45:30 +00:00
enabled : false ,
2017-07-02 04:21:24 +00:00
recreateClosed : true ,
2018-03-20 05:48:27 +00:00
rebaseStalePrs : true ,
2018-04-17 06:39:26 +00:00
branchTopic : 'lock-file-maintenance' ,
2018-04-17 10:22:11 +00:00
commitMessageAction : 'Lock file maintenance' ,
commitMessageTopic : null ,
commitMessageExtra : null ,
2017-08-02 14:14:09 +00:00
schedule : [ 'before 5am on monday' ] ,
2017-10-05 09:07:15 +00:00
groupName : null ,
2019-06-11 10:11:57 +00:00
prBodyDefinitions : {
Change : 'All locks refreshed' ,
} ,
2017-07-01 04:44:41 +00:00
} ,
2017-04-13 20:39:46 +00:00
cli : false ,
2017-07-01 04:44:41 +00:00
mergeable : true ,
2017-04-13 20:39:46 +00:00
} ,
2021-02-03 14:48:54 +00:00
{
name : 'hashedBranchLength' ,
description :
'If enabled, branch names will use a hashing function to ensure each branch has that length.' ,
type : 'integer' ,
default : null ,
cli : false ,
} ,
2017-04-15 20:04:14 +00:00
// Dependency Groups
{
name : 'groupName' ,
2021-01-30 10:12:14 +00:00
description : 'Human understandable name for the dependency group.' ,
2017-04-15 20:04:14 +00:00
type : 'string' ,
default : null ,
} ,
{
name : 'groupSlug' ,
2017-06-02 20:40:00 +00:00
description :
2021-01-30 10:12:14 +00:00
'Slug to use for group (e.g. in branch name). Will be calculated from groupName if null.' ,
2017-04-15 20:04:14 +00:00
type : 'string' ,
default : null ,
2017-07-03 09:34:46 +00:00
cli : false ,
env : false ,
2017-04-15 20:04:14 +00:00
} ,
{
2017-07-01 04:48:38 +00:00
name : 'group' ,
2021-01-30 10:12:14 +00:00
description : 'Config if groupName is enabled.' ,
2019-03-31 06:01:06 +00:00
type : 'object' ,
2017-07-01 04:48:38 +00:00
default : {
2018-04-17 10:49:59 +00:00
branchTopic : '{{{groupSlug}}}' ,
commitMessageTopic : '{{{groupName}}}' ,
2017-07-01 04:48:38 +00:00
} ,
2017-04-15 20:04:14 +00:00
cli : false ,
2017-07-01 04:48:38 +00:00
env : false ,
mergeable : true ,
2017-04-15 20:04:14 +00:00
} ,
2017-01-20 13:03:18 +00:00
// Pull Request options
{
name : 'labels' ,
2021-01-30 10:12:14 +00:00
description : 'Labels to set in Pull Request.' ,
2020-12-03 14:20:09 +00:00
type : 'array' ,
subType : 'string' ,
} ,
{
name : 'addLabels' ,
2021-01-30 10:12:14 +00:00
description : 'Labels to add to Pull Request.' ,
2019-03-31 06:01:06 +00:00
type : 'array' ,
2019-03-23 07:22:19 +00:00
subType : 'string' ,
2020-12-03 14:20:09 +00:00
mergeable : true ,
2017-01-20 13:03:18 +00:00
} ,
{
name : 'assignees' ,
2017-11-22 04:12:19 +00:00
description :
2021-01-30 10:12:14 +00:00
'Assignees for Pull Request (either username or email address depending on the platform).' ,
2019-03-31 06:01:06 +00:00
type : 'array' ,
2019-03-23 07:22:19 +00:00
subType : 'string' ,
2017-01-20 13:03:18 +00:00
} ,
2020-05-30 05:15:08 +00:00
{
name : 'assigneesFromCodeOwners' ,
description :
'Determine assignees based on configured code owners and changes in PR.' ,
type : 'boolean' ,
default : false ,
} ,
2019-09-22 07:19:26 +00:00
{
name : 'assigneesSampleSize' ,
description : 'Take a random sample of given size from assignees.' ,
type : 'integer' ,
default : null ,
} ,
2019-08-06 09:21:44 +00:00
{
name : 'assignAutomerge' ,
description :
2021-01-30 10:12:14 +00:00
'Assign reviewers and assignees even if the PR is to be automerged.' ,
2019-08-06 09:21:44 +00:00
type : 'boolean' ,
default : false ,
} ,
2017-01-31 13:54:16 +00:00
{
name : 'reviewers' ,
2017-11-22 04:12:19 +00:00
description :
2021-01-30 10:12:14 +00:00
'Requested reviewers for Pull Requests (either username or email address depending on the platform).' ,
2019-03-31 06:01:06 +00:00
type : 'array' ,
2019-03-23 07:22:19 +00:00
subType : 'string' ,
2017-01-31 13:54:16 +00:00
} ,
2020-05-30 05:15:08 +00:00
{
name : 'reviewersFromCodeOwners' ,
description :
'Determine reviewers based on configured code owners and changes in PR.' ,
type : 'boolean' ,
default : false ,
} ,
2021-04-22 19:16:58 +00:00
{
name : 'filterUnavailableUsers' ,
description : 'Filter reviewers and assignees based on their availability.' ,
type : 'boolean' ,
default : false ,
} ,
2019-09-22 07:19:26 +00:00
{
name : 'reviewersSampleSize' ,
description : 'Take a random sample of given size from reviewers.' ,
type : 'integer' ,
default : null ,
} ,
2020-01-15 03:32:31 +00:00
{
name : 'additionalReviewers' ,
description :
2021-01-30 10:12:14 +00:00
'Additional reviewers for Pull Requests (in contrast to `reviewers`, this option adds to the existing reviewer list, rather than replacing it).' ,
2020-01-15 03:32:31 +00:00
type : 'array' ,
subType : 'string' ,
mergeable : true ,
} ,
2018-04-30 11:18:51 +00:00
{
name : 'fileMatch' ,
2021-01-30 10:12:14 +00:00
description : 'RegEx (re2) pattern for matching manager files.' ,
2019-03-31 06:01:06 +00:00
type : 'array' ,
2019-03-23 06:38:24 +00:00
subType : 'string' ,
format : 'regex' ,
2018-05-06 09:59:33 +00:00
stage : 'repository' ,
2018-04-30 11:18:51 +00:00
allowString : true ,
mergeable : true ,
cli : false ,
env : false ,
} ,
2018-07-21 19:28:38 +00:00
{
name : 'js' ,
2021-01-30 10:12:14 +00:00
description : 'Configuration object for JavaScript language.' ,
2018-07-21 19:28:38 +00:00
stage : 'package' ,
2019-03-31 06:01:06 +00:00
type : 'object' ,
2018-07-21 19:28:38 +00:00
default : { } ,
mergeable : true ,
} ,
2018-10-01 11:50:36 +00:00
{
2018-10-01 12:05:04 +00:00
name : 'golang' ,
2021-01-30 10:12:14 +00:00
description : 'Configuration object for Go language.' ,
2018-10-01 11:50:36 +00:00
stage : 'package' ,
2019-03-31 06:01:06 +00:00
type : 'object' ,
2018-10-01 11:50:36 +00:00
default : {
2021-02-05 10:56:40 +00:00
commitMessageTopic : 'module {{depName}}' ,
2018-10-01 11:50:36 +00:00
} ,
mergeable : true ,
cli : false ,
} ,
2018-11-20 18:16:13 +00:00
{
2019-03-07 14:15:01 +00:00
name : 'postUpdateOptions' ,
description :
2021-01-30 10:12:14 +00:00
'Enable post-update options to be run after package/artifact updating.' ,
2019-03-31 06:01:06 +00:00
type : 'array' ,
2019-03-07 14:15:01 +00:00
default : [ ] ,
2019-03-07 15:37:07 +00:00
allowedValues : [
2021-03-27 06:02:32 +00:00
'gomodUpdateImportPaths' ,
2019-03-07 15:37:07 +00:00
'gomodTidy' ,
'npmDedupe' ,
'yarnDedupeFewer' ,
'yarnDedupeHighest' ,
] ,
2019-03-07 14:15:01 +00:00
cli : false ,
env : false ,
mergeable : true ,
2019-02-13 18:05:52 +00:00
} ,
{
2018-11-20 18:16:13 +00:00
name : 'ruby' ,
2021-01-30 10:12:14 +00:00
description : 'Configuration object for Ruby language.' ,
2018-11-20 18:16:13 +00:00
stage : 'package' ,
2019-03-31 06:01:06 +00:00
type : 'object' ,
2018-11-20 18:16:13 +00:00
default : { } ,
mergeable : true ,
cli : false ,
} ,
2018-11-09 13:22:11 +00:00
{
name : 'rust' ,
description : 'Configuration option for Rust package management.' ,
stage : 'package' ,
2019-03-31 06:01:06 +00:00
type : 'object' ,
2018-11-09 13:22:11 +00:00
default : { } ,
mergeable : true ,
cli : false ,
} ,
2017-12-05 06:50:16 +00:00
{
name : 'node' ,
2021-01-30 10:12:14 +00:00
description : 'Configuration object for Node version renovation.' ,
2018-05-06 09:59:33 +00:00
stage : 'package' ,
2019-03-31 06:01:06 +00:00
type : 'object' ,
2017-12-05 06:50:16 +00:00
default : {
2018-06-02 16:23:18 +00:00
commitMessageTopic : 'Node.js' ,
2017-12-05 06:50:16 +00:00
} ,
mergeable : true ,
2018-03-30 04:34:20 +00:00
cli : false ,
2017-12-05 06:50:16 +00:00
} ,
2017-09-14 07:31:36 +00:00
{
name : 'docker' ,
2021-01-30 10:12:14 +00:00
description : 'Configuration object for Docker language.' ,
2018-05-06 09:59:33 +00:00
stage : 'package' ,
2019-03-31 06:01:06 +00:00
type : 'object' ,
2017-09-14 07:31:36 +00:00
default : {
2020-02-18 07:34:10 +00:00
versioning : dockerVersioning.id ,
2017-09-14 07:31:36 +00:00
} ,
mergeable : true ,
cli : false ,
} ,
2018-06-08 04:15:13 +00:00
{
name : 'php' ,
2021-01-30 10:12:14 +00:00
description : 'Configuration object for PHP.' ,
2018-06-08 04:15:13 +00:00
stage : 'package' ,
2019-03-31 06:01:06 +00:00
type : 'object' ,
2018-06-08 04:15:13 +00:00
default : { } ,
mergeable : true ,
cli : false ,
} ,
2018-04-28 18:39:07 +00:00
{
name : 'python' ,
2021-01-30 10:12:14 +00:00
description : 'Configuration object for Python.' ,
2018-05-06 09:59:33 +00:00
stage : 'package' ,
2019-03-31 06:01:06 +00:00
type : 'object' ,
2018-12-13 04:29:11 +00:00
default : {
2020-02-18 07:34:10 +00:00
versioning : pep440Versioning.id ,
2018-12-13 04:29:11 +00:00
} ,
2018-04-28 18:39:07 +00:00
mergeable : true ,
cli : false ,
} ,
2018-11-04 17:12:58 +00:00
{
2020-09-30 09:02:25 +00:00
name : 'constraints' ,
description :
2021-01-30 10:12:14 +00:00
'Configuration object to define language or manager version constraints.' ,
2018-11-04 17:12:58 +00:00
type : 'object' ,
default : { } ,
mergeable : true ,
cli : false ,
} ,
2018-10-29 16:32:31 +00:00
{
name : 'java' ,
2021-01-30 10:12:14 +00:00
description : 'Configuration object for all Java package managers.' ,
2018-10-29 16:32:31 +00:00
stage : 'package' ,
2019-03-31 06:01:06 +00:00
type : 'object' ,
2018-10-29 16:32:31 +00:00
default : { } ,
mergeable : true ,
cli : false ,
} ,
2019-03-09 06:15:16 +00:00
{
name : 'dotnet' ,
2021-01-30 10:12:14 +00:00
description : 'Configuration object for .NET language.' ,
2019-03-09 06:15:16 +00:00
stage : 'package' ,
2019-03-31 06:01:06 +00:00
type : 'object' ,
2019-03-09 06:15:16 +00:00
default : { } ,
mergeable : true ,
cli : false ,
} ,
2018-08-05 05:01:49 +00:00
{
2018-09-12 10:16:17 +00:00
name : 'hostRules' ,
2021-01-30 10:12:14 +00:00
description : 'Host rules/configuration including credentials.' ,
2019-03-31 06:01:06 +00:00
type : 'array' ,
2019-12-13 12:51:46 +00:00
subType : 'object' ,
2019-05-25 17:48:05 +00:00
default : [
{
timeout : 60000 ,
} ,
] ,
2018-08-05 05:32:20 +00:00
stage : 'repository' ,
2018-08-31 19:44:40 +00:00
cli : true ,
2018-08-05 05:01:49 +00:00
mergeable : true ,
} ,
2019-05-21 11:20:09 +00:00
{
name : 'hostType' ,
description :
2021-01-30 10:12:14 +00:00
'hostType for a package rule. Can be a platform name or a datasource name.' ,
2019-05-21 11:20:09 +00:00
type : 'string' ,
stage : 'repository' ,
parent : 'hostRules' ,
cli : false ,
env : false ,
} ,
2021-05-06 07:57:44 +00:00
{
name : 'matchHost' ,
2021-05-13 20:53:18 +00:00
description : 'A domain name, host name or base URL to match against' ,
2021-05-06 07:57:44 +00:00
type : 'string' ,
stage : 'repository' ,
parent : 'hostRules' ,
cli : false ,
env : false ,
} ,
2019-05-25 17:48:05 +00:00
{
name : 'timeout' ,
2021-01-30 10:12:14 +00:00
description : 'Timeout (in milliseconds) for queries to external endpoints.' ,
2019-05-25 17:48:05 +00:00
type : 'integer' ,
stage : 'repository' ,
parent : 'hostRules' ,
cli : false ,
env : false ,
} ,
2019-10-08 07:19:11 +00:00
{
name : 'insecureRegistry' ,
2021-01-30 10:12:14 +00:00
description : 'Explicitly turn on insecure Docker registry access (HTTP).' ,
2019-10-08 07:19:11 +00:00
type : 'boolean' ,
stage : 'repository' ,
parent : 'hostRules' ,
cli : false ,
env : false ,
} ,
2020-06-23 07:25:03 +00:00
{
name : 'abortOnError' ,
description :
2021-01-29 14:05:14 +00:00
'If enabled, Renovate will abort its run when HTTP request errors occur.' ,
2020-06-23 07:25:03 +00:00
type : 'boolean' ,
stage : 'repository' ,
parent : 'hostRules' ,
default : false ,
cli : false ,
env : false ,
} ,
{
name : 'abortIgnoreStatusCodes' ,
description :
'A list of HTTP status codes to ignore and *not* abort the run because of when abortOnError=true.' ,
type : 'array' ,
subType : 'number' ,
stage : 'repository' ,
parent : 'hostRules' ,
cli : false ,
env : false ,
} ,
2020-08-11 09:53:23 +00:00
{
name : 'enableHttp2' ,
2021-01-29 14:05:14 +00:00
description : 'Enable got HTTP/2 support.' ,
2020-08-11 09:53:23 +00:00
type : 'boolean' ,
stage : 'repository' ,
parent : 'hostRules' ,
default : false ,
cli : false ,
env : false ,
} ,
2020-12-11 09:09:09 +00:00
{
name : 'concurrentRequestLimit' ,
description : 'Limit concurrent requests per host.' ,
type : 'integer' ,
stage : 'repository' ,
parent : 'hostRules' ,
default : null ,
cli : false ,
env : false ,
} ,
2021-03-09 18:25:18 +00:00
{
name : 'authType' ,
description :
2021-08-12 09:34:27 +00:00
'Authentication type for http header. e.g. "Bearer" or "Basic". Use "Token-Only" to use only the token without an authorization type.' ,
2021-03-09 18:25:18 +00:00
type : 'string' ,
stage : 'repository' ,
parent : 'hostRules' ,
default : 'Bearer' ,
cli : false ,
env : false ,
} ,
2018-09-21 07:46:51 +00:00
{
name : 'prBodyDefinitions' ,
2021-01-30 10:12:14 +00:00
description : 'Table column definitions for use in PR tables.' ,
2018-09-21 07:46:51 +00:00
type : 'object' ,
2019-03-31 07:16:29 +00:00
freeChoice : true ,
2018-09-21 07:46:51 +00:00
mergeable : true ,
default : {
2019-06-01 09:05:54 +00:00
Package : '{{{depNameLinked}}}' ,
2018-09-21 07:46:51 +00:00
Type : '{{{depType}}}' ,
Update : '{{{updateType}}}' ,
2018-09-24 20:04:04 +00:00
'Current value' : '{{{currentValue}}}' ,
2018-09-21 07:46:51 +00:00
'New value' : '{{{newValue}}}' ,
2019-06-01 06:23:18 +00:00
Change : '`{{{displayFrom}}}` -> `{{{displayTo}}}`' ,
2018-09-21 07:46:51 +00:00
References : '{{{references}}}' ,
'Package file' : '{{{packageFile}}}' ,
} ,
} ,
{
name : 'prBodyColumns' ,
2021-01-30 10:12:14 +00:00
description : 'List of columns to use in PR bodies.' ,
2019-03-31 06:01:06 +00:00
type : 'array' ,
2020-02-24 09:06:51 +00:00
subType : 'string' ,
2019-06-01 09:05:54 +00:00
default : [ 'Package' , 'Type' , 'Update' , 'Change' ] ,
2018-09-21 07:46:51 +00:00
} ,
2018-09-21 09:36:07 +00:00
{
name : 'prBodyNotes' ,
description :
'List of additional notes/templates to be included in the Pull Request bodies.' ,
2019-03-31 06:01:06 +00:00
type : 'array' ,
2019-03-23 06:38:24 +00:00
subType : 'string' ,
2018-09-21 09:36:07 +00:00
default : [ ] ,
allowString : true ,
mergeable : true ,
} ,
2018-12-08 11:42:56 +00:00
{
name : 'suppressNotifications' ,
description :
2021-01-30 10:12:14 +00:00
'Options to suppress various types of warnings and other notifications.' ,
2019-03-31 06:01:06 +00:00
type : 'array' ,
2020-02-24 09:06:51 +00:00
subType : 'string' ,
2019-05-30 14:12:27 +00:00
default : [ 'deprecationWarningIssues' ] ,
2018-12-08 11:42:56 +00:00
allowedValues : [
'prIgnoreNotification' ,
'branchAutomergeFailure' ,
'lockFileErrors' ,
2019-02-08 13:31:30 +00:00
'artifactErrors' ,
2018-12-09 10:39:35 +00:00
'deprecationWarningIssues' ,
2018-12-11 06:22:07 +00:00
'onboardingClose' ,
2018-12-08 11:42:56 +00:00
] ,
cli : false ,
env : false ,
2018-12-16 17:45:32 +00:00
mergeable : true ,
2018-12-08 14:51:34 +00:00
} ,
2019-07-17 12:48:08 +00:00
{
name : 'pruneStaleBranches' ,
2021-01-30 10:12:14 +00:00
description : ` Enable or disable pruning of stale branches. ` ,
2019-07-17 12:48:08 +00:00
type : 'boolean' ,
default : true ,
} ,
2019-09-25 09:40:16 +00:00
{
name : 'unicodeEmoji' ,
2021-01-30 10:12:14 +00:00
description : 'Enable or disable Unicode emoji.' ,
2019-09-25 09:40:16 +00:00
type : 'boolean' ,
2020-05-16 16:04:43 +00:00
default : true ,
2019-09-25 09:40:16 +00:00
} ,
2019-10-05 08:00:32 +00:00
{
name : 'gitLabAutomerge' ,
2021-08-04 07:49:42 +00:00
description : ` Enable or disable usage of GitLab's "merge when pipeline succeeds" feature when automerging MRs. ` ,
type : 'boolean' ,
default : false ,
} ,
{
name : 'gitLabIgnoreApprovals' ,
description : ` Ignore approval rules for MRs created by Renovate, which is useful for automerge. ` ,
2019-10-05 08:00:32 +00:00
type : 'boolean' ,
default : false ,
} ,
2020-03-06 08:07:55 +00:00
{
name : 'regexManagers' ,
description : 'Custom managers using regex matching.' ,
type : 'array' ,
subType : 'object' ,
default : [ ] ,
stage : 'package' ,
cli : true ,
mergeable : true ,
} ,
{
name : 'matchStrings' ,
description :
2021-02-24 11:58:15 +00:00
'Regex capture rule to use. Valid only within a `regexManagers` object.' ,
2020-03-06 08:07:55 +00:00
type : 'array' ,
subType : 'string' ,
format : 'regex' ,
parent : 'regexManagers' ,
cli : false ,
env : false ,
} ,
2020-11-27 05:55:57 +00:00
{
name : 'matchStringsStrategy' ,
2021-01-30 10:12:14 +00:00
description : 'Strategy how to interpret matchStrings.' ,
2020-11-27 05:55:57 +00:00
type : 'string' ,
default : 'any' ,
2021-02-27 12:34:44 +00:00
allowedValues : [ 'any' , 'recursive' , 'combination' ] ,
2020-11-27 05:55:57 +00:00
parent : 'regexManagers' ,
cli : false ,
env : false ,
} ,
2020-03-06 08:07:55 +00:00
{
name : 'depNameTemplate' ,
description :
2021-02-24 11:58:15 +00:00
'Optional depName for extracted dependencies. Valid only within a `regexManagers` object.' ,
2020-03-06 08:07:55 +00:00
type : 'string' ,
parent : 'regexManagers' ,
cli : false ,
env : false ,
} ,
{
name : 'lookupNameTemplate' ,
description :
2021-02-24 11:58:15 +00:00
'Optional lookupName for extracted dependencies, else defaults to depName value. Valid only within a `regexManagers` object.' ,
2020-03-06 08:07:55 +00:00
type : 'string' ,
parent : 'regexManagers' ,
cli : false ,
env : false ,
} ,
{
name : 'datasourceTemplate' ,
description :
2021-02-24 11:58:15 +00:00
'Optional datasource for extracted dependencies. Valid only within a `regexManagers` object.' ,
2021-06-11 07:49:09 +00:00
type : 'string' ,
parent : 'regexManagers' ,
cli : false ,
env : false ,
} ,
{
name : 'currentValueTemplate' ,
description :
'Optional currentValue for extracted dependencies. Valid only within a `regexManagers` object.' ,
2020-03-06 08:07:55 +00:00
type : 'string' ,
parent : 'regexManagers' ,
cli : false ,
env : false ,
} ,
{
name : 'versioningTemplate' ,
description :
2021-02-24 11:58:15 +00:00
'Optional versioning for extracted dependencies. Valid only within a `regexManagers` object.' ,
type : 'string' ,
parent : 'regexManagers' ,
cli : false ,
env : false ,
} ,
{
name : 'registryUrlTemplate' ,
description :
'Optional registry URL for extracted dependencies. Valid only within a `regexManagers` object.' ,
2020-03-06 08:07:55 +00:00
type : 'string' ,
parent : 'regexManagers' ,
cli : false ,
env : false ,
} ,
2021-06-15 11:10:23 +00:00
{
name : 'extractVersionTemplate' ,
description :
'Optional extractVersion for extracted dependencies. Valid only within a `regexManagers` object.' ,
type : 'string' ,
parent : 'regexManagers' ,
cli : false ,
env : false ,
} ,
2020-10-19 08:05:05 +00:00
{
name : 'fetchReleaseNotes' ,
2021-01-30 10:12:14 +00:00
description : 'Allow to disable release notes fetching.' ,
2020-10-19 08:05:05 +00:00
type : 'boolean' ,
default : true ,
cli : false ,
env : false ,
} ,
2020-11-04 14:39:21 +00:00
{
name : 'cloneSubmodules' ,
description :
2021-07-28 04:21:54 +00:00
'Set to true to enable initialization of submodules during repository clone.' ,
2020-11-04 14:39:21 +00:00
type : 'boolean' ,
2021-07-28 04:21:54 +00:00
default : false ,
2020-11-04 14:39:21 +00:00
} ,
2020-12-02 14:01:48 +00:00
{
name : 'ignorePrAuthor' ,
description :
2021-01-30 10:12:14 +00:00
'Set to true to fetch the entire list of PRs instead of only those authored by the Renovate user.' ,
2020-12-02 14:01:48 +00:00
type : 'boolean' ,
default : false ,
} ,
2021-05-19 14:05:29 +00:00
{
name : 'gitNoVerify' ,
description :
'Which git commands will be run with the `--no-verify` option.' ,
type : 'array' ,
subType : 'string' ,
allowString : true ,
allowedValues : [ 'commit' , 'push' ] ,
default : [ 'commit' , 'push' ] ,
stage : 'global' ,
2021-08-15 06:34:54 +00:00
globalOnly : true ,
2021-05-19 14:05:29 +00:00
} ,
2021-08-09 10:14:50 +00:00
{
name : 'updatePinnedDependencies' ,
description :
'Whether to update pinned (single version) dependencies or not.' ,
type : 'boolean' ,
default : true ,
} ,
2021-08-20 11:30:56 +00:00
{
name : 'gitUrl' ,
description :
'Overrides the default resolution for git remote, e.g. to switch GitLab from HTTPS to SSH-based.' ,
type : 'string' ,
allowedValues : [ 'default' , 'ssh' , 'endpoint' ] ,
default : 'default' ,
stage : 'repository' ,
globalOnly : true ,
} ,
2021-09-22 07:21:22 +00:00
{
name : 'writeDiscoveredRepos' ,
description : 'Writes discovered repositories to a JSON file and then exit.' ,
type : 'string' ,
globalOnly : true ,
env : false ,
} ,
2017-01-20 13:03:18 +00:00
] ;
2020-03-02 11:06:16 +00:00
export function getOptions ( ) : RenovateOptions [ ] {
2017-01-20 13:03:18 +00:00
return options ;
}
2020-02-07 18:25:27 +00:00
function loadManagerOptions ( ) : void {
2020-04-06 17:38:20 +00:00
for ( const [ name , config ] of getManagers ( ) . entries ( ) ) {
2020-02-07 18:25:27 +00:00
if ( config . defaultConfig ) {
const managerConfig : RenovateOptions = {
name ,
description : ` Configuration object for the ${ name } manager ` ,
stage : 'package' ,
type : 'object' ,
default : config . defaultConfig ,
mergeable : true ,
cli : false ,
2020-02-25 05:45:00 +00:00
autogenerated : true ,
2020-02-07 18:25:27 +00:00
} ;
options . push ( managerConfig ) ;
}
}
}
loadManagerOptions ( ) ;