From b636307ce2b0847c0da042af3dc0f3e9840da48f Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Thu, 6 Feb 2020 15:29:20 +0100 Subject: [PATCH] chore: sort JSON schema by property name --- bin/create-json-schema.js | 5 + renovate-schema.json | 2176 ++++++++++++++++++------------------- 2 files changed, 1093 insertions(+), 1088 deletions(-) diff --git a/bin/create-json-schema.js b/bin/create-json-schema.js index 5657c021ad..1dde387f1d 100644 --- a/bin/create-json-schema.js +++ b/bin/create-json-schema.js @@ -9,6 +9,11 @@ const schema = { properties: {}, }; const options = getOptions(); +options.sort((a, b) => { + if (a.name < b.name) return -1; + if (a.name > b.name) return 1; + return 0; +}); const properties = {}; function createSingleConfig(option) { diff --git a/renovate-schema.json b/renovate-schema.json index b3f795b5a9..23f5be03ea 100644 --- a/renovate-schema.json +++ b/renovate-schema.json @@ -3,903 +3,388 @@ "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "properties": { - "allowedPostUpgradeCommands": { - "description": "A list of regular expressions that determine which post-upgrade tasks are allowed. A task has to match at least one of the patterns to be allowed to run", + "additionalReviewers": { + "description": "Additional reviewers for Pull Requests (in contrast to `reviewers`, this option adds to the existing reviewer list, rather than replacing it)", "type": "array", "items": { "type": "string" - }, - "default": [] - }, - "postUpgradeTasks": { - "description": "Post-upgrade tasks that are executed before a commit is made by Renovate", - "type": "object", - "default": { - "commands": [], - "fileFilters": [] - }, - "$ref": "#", - "items": { - "allOf": [ - { - "type": "object", - "properties": { - "commands": { - "description": "A list of post-upgrade commands that are executed before a commit is made by Renovate", - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "fileFilters": { - "description": "Files that match these glob patterns will be committed if they are present after running a post-upgrade task", - "type": "array", - "items": { - "type": "string" - }, - "default": [] - } - } - } - ] } }, - "onboardingBranch": { - "description": "Change this value in order to override the default onboarding branch name.", - "type": "string", - "default": "renovate/configure" - }, - "onboardingPrTitle": { - "description": "Change this value in order to override the default onboarding PR title.", - "type": "string", - "default": "Configure Renovate" - }, - "productLinks": { - "description": "Links which are embedded within PRs, issues, etc", + "aliases": { + "description": "Aliases for registries, package manager specific", "type": "object", - "default": { - "documentation": "https://docs.renovatebot.com/", - "help": "https://github.com/renovatebot/config-help/issues", - "homepage": "https://github.com/renovatebot/renovate" - }, + "default": {}, "additionalProperties": { "type": "string", "format": "uri" }, "$ref": "#" }, - "extends": { - "description": "Configuration presets to use/extend. Note: does not work if configured in config.js", + "allowedPostUpgradeCommands": { + "description": "A list of regular expressions that determine which post-upgrade tasks are allowed. A task has to match at least one of the patterns to be allowed to run", "type": "array", "items": { "type": "string" - } + }, + "default": [] }, - "ignorePresets": { - "description": "A list of presets to ignore, including nested ones inside `extends`", - "type": "array", - "items": { - "type": "string" - } + "ansible": { + "description": "Configuration object for Ansible yaml renovation. Also inherits settings from `docker` object.", + "type": "object", + "default": { + "fileMatch": ["(^|/)tasks/[^/]+\\.ya?ml$"] + }, + "$ref": "#" }, - "description": { - "description": "Plain text description for a config or preset", + "assignAutomerge": { + "description": "Assign reviewers and assignees even if the PR is to be automerged", + "type": "boolean", + "default": false + }, + "assignees": { + "description": "Assignees for Pull Request (either username or email address depending on the platform)", "type": "array", "items": { "type": "string" } }, - "enabled": { - "description": "Enable or disable the bot", - "type": "boolean" - }, - "force": { - "description": "Any configuration defined within this object will force override existing settings", - "type": "object", - "$ref": "#" - }, - "forceCli": { - "description": "Whether CLI configuration options should be moved to the `force` config section", - "type": "boolean", - "default": true + "assigneesSampleSize": { + "description": "Take a random sample of given size from assignees.", + "type": "integer", + "default": null }, - "dryRun": { - "description": "If enabled, perform a dry run by logging messages instead of creating/updating/deleting branches and PRs", + "autodiscover": { + "description": "Autodiscover all repositories", "type": "boolean", "default": false }, - "printConfig": { - "description": "If enabled, log the full resolved config for each repo, including resolved presets", + "autodiscoverFilter": { + "description": "Filter the list of autodiscovered repositories", + "type": "string", + "default": null + }, + "automerge": { + "description": "Whether to automerge branches/PRs automatically, without human intervention", "type": "boolean", "default": false }, - "binarySource": { - "description": "Where to source binaries like `npm` and `yarn` from, choices are `auto`, `global` and `docker`", + "automergeComment": { + "description": "PR comment to add to trigger automerge. Used only if automergeType=pr-comment", "type": "string", - "enum": ["auto", "global", "docker"], - "default": "auto" - }, - "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.", - "type": "string" + "default": "automergeComment" }, - "cacheDir": { - "description": "The directory for Renovate for storing caches. If left empty, Renovate will create a subdirectory within `baseDir` to use.", - "type": "string" + "automergeType": { + "description": "How to automerge, if enabled.", + "type": "string", + "enum": ["branch", "pr", "pr-comment"], + "default": "pr" }, - "dockerMapDotfiles": { - "description": "Map relevant home directory dotfiles into containers when binarySource=docker.", + "azureAutoComplete": { + "description": "If set to true, Azure DevOps PRs will be set to auto-complete after all (if any) branch policies have been met", "type": "boolean", "default": false }, - "dockerUser": { - "description": "Specify UID and GID for docker-based binaries when binarySource=docker is used.", - "type": "string" + "azureWorkItemId": { + "description": "The id of an existing work item on Azure Boards to link to each PR", + "type": "integer", + "default": 0 }, - "logLevel": { - "description": "Logging level", - "type": "string", - "enum": ["fatal", "error", "warn", "info", "debug", "trace"], - "default": "info" + "baseBranches": { + "description": "An array of one or more custom base branches to be processed. If left empty, the default branch will be chosen", + "type": "array" }, - "logFile": { - "description": "Log file path", + "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.", "type": "string" }, - "logFileLevel": { - "description": "Log file log level", - "type": "string", - "default": "debug" - }, - "onboarding": { - "description": "Require a Configuration PR first", - "type": "boolean" - }, - "onboardingConfig": { - "description": "Configuration to use in onboarding PRs", + "bazel": { + "description": "Configuration object for bazel WORKSPACE renovation", "type": "object", - "default": {}, + "default": { + "fileMatch": ["(^|/)WORKSPACE$", "\\.bzl$"] + }, "$ref": "#" }, - "includeForks": { - "description": "Whether to process forked repositories or not. By default, all forked repositories are skipped over.", - "type": "boolean", - "default": false - }, - "forkMode": { - "description": "Set to true to fork the source repository and create branches there instead", - "type": "boolean", - "default": false - }, - "requireConfig": { - "description": "Set to true if repositories must have a config to activate.", + "bbUseDefaultReviewers": { + "description": "Use the default reviewers (Bitbucket only).", "type": "boolean", "default": true }, - "optimizeForDisabled": { - "description": "Set to true to first check for disabling in config before cloning", - "type": "boolean", - "default": false - }, - "masterIssue": { - "description": "Whether to create a \"Master Issue\" within the repository.", - "type": "boolean", - "default": false - }, - "masterIssueApproval": { - "description": "Whether updates should require manual approval from within the Master Issue before creation.", - "type": "boolean", - "default": false - }, - "masterIssueAutoclose": { - "description": "Set to `true` and Renovate will autoclose the Master Issue if there are no updates.", - "type": "boolean", - "default": false + "binarySource": { + "description": "Where to source binaries like `npm` and `yarn` from, choices are `auto`, `global` and `docker`", + "type": "string", + "enum": ["auto", "global", "docker"], + "default": "auto" }, - "masterIssueTitle": { - "description": "Title to use for the Master Issue", + "branchName": { + "description": "Branch name template", "type": "string", - "default": "Update Dependencies (Renovate Bot)" + "default": "{{{branchPrefix}}}{{{managerBranchPrefix}}}{{{branchTopic}}}" }, - "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 + "branchPrefix": { + "description": "Prefix to use for all branch names", + "type": "string", + "default": "renovate/" }, - "privateKey": { - "description": "Server-side private key", - "type": "string" + "branchTopic": { + "description": "Branch topic", + "type": "string", + "default": "{{{depNameSanitized}}}-{{{newMajor}}}{{#if isPatch}}.{{{newMinor}}}{{/if}}.x{{#if isLockfileUpdate}}-lockfile{{/if}}" }, - "encrypted": { - "description": "A configuration object containing configuration encrypted with project key.", + "buildkite": { + "description": "Configuration object for buildkite pipeline renovation", "type": "object", - "default": null, + "default": { + "fileMatch": ["buildkite\\.ya?ml", "\\.buildkite/.+\\.ya?ml$"], + "commitMessageTopic": "buildkite plugin {{depName}}", + "commitMessageExtra": "to {{#if isMajor}}v{{{newMajor}}}{{else}}{{{newValue}}}{{/if}}", + "managerBranchPrefix": "buildkite-" + }, "$ref": "#" }, - "timezone": { - "description": "[IANA Time Zone](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)", - "type": "string" + "bumpVersion": { + "description": "Bump the version in the package.json being updated", + "type": "string", + "enum": ["major", "minor", "patch"] }, - "schedule": { - "description": "Times of day/week to limit branch creation to", - "type": "array", - "items": { - "type": "string" - }, - "default": "at any time" - }, - "updateNotScheduled": { - "description": "Whether to update (but not create) branches when not scheduled", - "type": "boolean" - }, - "persistRepoData": { - "description": "If set to true, repository data will preserved between runs instead of deleted.", - "type": "boolean", - "default": false - }, - "trustLevel": { - "description": "Set this to \"high\" if the bot should trust the repository owners/contents", - "type": "string", - "default": "low" - }, - "ignoreScripts": { - "description": "Configure this to true if trustLevel is high but you wish to skip running scripts when updating lock files", - "type": "boolean", - "default": false - }, - "platform": { - "description": "Platform type of repository", - "type": "string", - "enum": ["azure", "bitbucket", "bitbucket-server", "github", "gitlab"], - "default": "github" - }, - "endpoint": { - "description": "Custom endpoint to use", - "type": "string", - "default": null - }, - "token": { - "description": "Repository Auth Token", - "type": "string" - }, - "username": { - "description": "Username for authentication. Currently Bitbucket only", - "type": "string" - }, - "password": { - "description": "Password for authentication. Currently Bitbucket only (AppPassword).", - "type": "string" - }, - "npmrc": { - "description": "String copy of npmrc file. Use \\n instead of line breaks", - "type": "string" - }, - "npmToken": { - "description": "npm token used for authenticating with the default registry", - "type": "string" - }, - "yarnrc": { - "description": "String copy of yarnrc file. Use \\n instead of line breaks", - "type": "string" - }, - "updateLockFiles": { - "description": "Set to false to disable lock file updating", - "type": "boolean" - }, - "skipInstalls": { - "description": "Skip installing modules/dependencies if lock file updating is possible alone", - "type": "boolean", - "default": null - }, - "ignoreNpmrcFile": { - "description": "Whether to ignore any .npmrc file found in repository", - "type": "boolean", - "default": false - }, - "autodiscover": { - "description": "Autodiscover all repositories", - "type": "boolean", - "default": false - }, - "autodiscoverFilter": { - "description": "Filter the list of autodiscovered repositories", - "type": "string", - "default": null - }, - "prCommitsPerRunLimit": { - "description": "Set a maximum number of commits per Renovate run. Default is no limit.", - "type": "integer", - "default": 0 - }, - "repositories": { - "description": "List of Repositories", - "type": "array" - }, - "baseBranches": { - "description": "An array of one or more custom base branches to be processed. If left empty, the default branch will be chosen", - "type": "array" - }, - "gitAuthor": { - "description": "Author to use for git commits. RFC5322", - "type": "string" - }, - "gitPrivateKey": { - "description": "PGP key to use for signing git commits", - "type": "string" - }, - "enabledManagers": { - "description": "A list of package managers to enable. If defined, then all managers not on the list are disabled.", - "type": "array" - }, - "includePaths": { - "description": "Include package files only within these defined paths", - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "ignorePaths": { - "description": "Skip any package file whose path matches one of these. Can be string or glob pattern", - "type": "array", - "items": { - "type": "string" - }, - "default": ["**/node_modules/**", "**/bower_components/**"] - }, - "excludeCommitPaths": { - "description": "A file that matches any of these glob patterns will not be committed, even if it has been updated.", - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "engines": { - "description": "Configuration specifically for `package.json`>`engines`", - "type": "object", - "default": {}, - "$ref": "#" - }, - "aliases": { - "description": "Aliases for registries, package manager specific", + "bundler": { + "description": "Configuration object for bundler Gemfiles", "type": "object", - "default": {}, - "additionalProperties": { - "type": "string", - "format": "uri" + "default": { + "fileMatch": ["(^|/)Gemfile$"], + "versionScheme": "ruby" }, "$ref": "#" }, - "registryUrls": { - "description": "List of URLs to try for dependency lookup. Package manager-specific", - "type": "array", - "items": { - "type": "string" - }, - "default": null - }, - "versionScheme": { - "description": "Version scheme to use for filtering and comparisons", - "type": "string", - "enum": [ - "cargo", - "composer", - "docker", - "git", - "hashicorp", - "hex", - "ivy", - "loose", - "maven", - "node", - "npm", - "nuget", - "pep440", - "poetry", - "regex", - "ruby", - "semver", - "swift" - ], - "default": "semver" - }, - "azureAutoComplete": { - "description": "If set to true, Azure DevOps PRs will be set to auto-complete after all (if any) branch policies have been met", - "type": "boolean", - "default": false - }, - "azureWorkItemId": { - "description": "The id of an existing work item on Azure Boards to link to each PR", - "type": "integer", - "default": 0 - }, - "ignoreDeps": { - "description": "Dependencies to ignore", - "type": "array", - "items": { - "type": "string" - } - }, - "packageRules": { - "description": "Rules for matching package names", - "type": "array", - "items": { - "allOf": [ - { - "type": "object", - "properties": { - "languages": { - "description": "List of languages to match (e.g. [\"python\"]). Valid only within `packageRules` object", - "type": "array", - "items": { - "type": "string" - } - }, - "baseBranchList": { - "description": "List of branches to match (e.g. [\"master\"]). Valid only within `packageRules` object", - "type": "array", - "items": { - "type": "string" - } - }, - "managers": { - "description": "List of package managers to match (e.g. [\"pipenv\"]). Valid only within `packageRules` object", - "type": "array", - "items": { - "type": "string" - } - }, - "datasources": { - "description": "List of datasources to match (e.g. [\"orb\"]). Valid only within `packageRules` object", - "type": "array", - "items": { - "type": "string" - } - }, - "depTypeList": { - "description": "List of depTypes to match (e.g. [`peerDependencies`]). Valid only within `packageRules` object", - "type": "array", - "items": { - "type": "string" - } - }, - "packageNames": { - "description": "Package names to match. Valid only within `packageRules` object", - "type": "array", - "items": { - "type": "string" - } - }, - "excludePackageNames": { - "description": "Package names to exclude. Valid only within `packageRules` object", - "type": "array", - "items": { - "type": "string" - } - }, - "packagePatterns": { - "description": "Package name patterns to match. Valid only within `packageRules` object.", - "type": "array", - "items": { - "type": "string", - "format": "regex" - } - }, - "excludePackagePatterns": { - "description": "Package name patterns to exclude. Valid only within `packageRules` object.", - "type": "array", - "items": { - "type": "string", - "format": "regex" - } - }, - "matchCurrentVersion": { - "description": "A version or version range to match against the current version of a package. Valid only within `packageRules` object", - "type": "string" - }, - "sourceUrlPrefixes": { - "description": "A list of source URL prefixes to match against, commonly used for grouping of monorepos or packages from the same organization.", - "type": "array", - "items": { - "type": "string" - } - }, - "updateTypes": { - "description": "Update types to match against (major, minor, pin, etc). Valid only within `packageRules` object.", - "type": "array", - "items": { - "type": "string", - "enum": [ - "major", - "minor", - "patch", - "pin", - "digest", - "lockFileMaintenance", - "rollback", - "bump" - ] - } - }, - "paths": { - "description": "List of strings or glob patterns to match against package files. Applicable inside packageRules only", - "type": "array", - "items": { - "type": "string" - } - }, - "allowedVersions": { - "description": "A semver range defining allowed versions for dependencies", - "type": "string" - } - } - } - ] - } - }, - "pinDigests": { - "description": "Whether to add digests to Dockerfile source images", - "type": "boolean", - "default": false - }, - "separateMajorMinor": { - "description": "If set to false, it will upgrade dependencies to latest release only, and not separate major/minor branches", - "type": "boolean" - }, - "separateMultipleMajor": { - "description": "If set to true, PRs will be raised separately for each available major upgrade version", - "type": "boolean", - "default": false - }, - "separateMinorPatch": { - "description": "If set to true, it will separate minor and patch updates into separate branches", - "type": "boolean", - "default": false - }, - "ignoreUnstable": { - "description": "Ignore versions with unstable semver", - "type": "boolean" - }, - "ignoreDeprecated": { - "description": "Ignore deprecated versions unless the current version is deprecated", - "type": "boolean", - "default": true - }, - "followTag": { - "description": "If defined, packages will follow this release tag exactly.", + "cacheDir": { + "description": "The directory for Renovate for storing caches. If left empty, Renovate will create a subdirectory within `baseDir` to use.", "type": "string" }, - "respectLatest": { - "description": "Ignore versions newer than npm \"latest\" version", - "type": "boolean" - }, - "rangeStrategy": { - "description": "Policy for how to modify/update existing ranges.", - "type": "string", - "enum": ["auto", "pin", "bump", "replace", "widen", "update-lockfile"], - "default": "replace" - }, - "branchPrefix": { - "description": "Prefix to use for all branch names", - "type": "string", - "default": "renovate/" - }, - "bumpVersion": { - "description": "Bump the version in the package.json being updated", - "type": "string", - "enum": ["major", "minor", "patch"] - }, - "major": { - "description": "Configuration to apply when an update type is major", - "type": "object", - "default": {}, - "$ref": "#" - }, - "minor": { - "description": "Configuration to apply when an update type is minor", - "type": "object", - "default": {}, - "$ref": "#" - }, - "patch": { - "description": "Configuration to apply when an update type is patch. Only applies if `separateMinorPatch` is set to true", + "cargo": { + "description": "Configuration object for Cargo crate renovation.", "type": "object", - "default": {}, + "default": { + "commitMessageTopic": "Rust crate {{depName}}", + "managerBranchPrefix": "rust-", + "fileMatch": ["(^|/)Cargo.toml$"], + "versionScheme": "cargo", + "rangeStrategy": "bump" + }, "$ref": "#" }, - "pin": { - "description": "Configuration to apply when an update type is pin.", + "cdnurl": { + "description": "Configuration object for CDN assets", "type": "object", "default": { - "unpublishSafe": false, - "recreateClosed": true, - "rebaseStalePrs": true, - "groupName": "Pin Dependencies", - "groupSlug": "pin-dependencies", - "commitMessageAction": "Pin", - "group": { - "commitMessageTopic": "dependencies", - "commitMessageExtra": "" - } + "fileMatch": [], + "versionScheme": "semver" }, "$ref": "#" }, - "digest": { - "description": "Configuration to apply when updating a digest (no change in tag/version)", + "circleci": { + "description": "Configuration object for CircleCI yml renovation. Also inherits settings from `docker` object.", "type": "object", "default": { - "branchTopic": "{{{depNameSanitized}}}-digest", - "commitMessageExtra": "to {{newDigestShort}}", - "commitMessageTopic": "{{{depName}}} commit hash" + "fileMatch": ["(^|/).circleci/config.yml$"] }, "$ref": "#" }, - "semanticCommits": { - "description": "Enable semantic commit prefixes for commits and PR titles", - "type": "boolean", - "default": null - }, - "semanticCommitType": { - "description": "Commit type to use if semantic commits is enabled", - "type": "string", - "default": "chore" - }, - "semanticCommitScope": { - "description": "Commit scope to use if semantic commits are enabled", - "type": "string", - "default": "deps" - }, - "rollbackPrs": { - "description": "Create PRs to roll back versions if the current version is not found in the registry", - "type": "boolean", - "default": false + "commitBody": { + "description": "Commit message body template. Will be appended to commit message, separated by two line returns.", + "type": "string" }, - "recreateClosed": { - "description": "Recreate PRs even if same ones were closed previously", + "commitBodyTable": { + "description": "If enabled, append a table in the commit message body describing all updates in the commit", "type": "boolean", "default": false }, - "rebaseConflictedPrs": { - "description": "Auto-rebase when there is conflict in PRs", - "type": "boolean", - "default": true - }, - "rebaseStalePrs": { - "description": "Rebase any PRs that are not up-to-date with the base branch", - "type": "boolean", - "default": null + "commitMessage": { + "description": "Message to use for commit messages and pull request titles", + "type": "string", + "default": "{{{commitMessagePrefix}}} {{{commitMessageAction}}} {{{commitMessageTopic}}} {{{commitMessageExtra}}} {{{commitMessageSuffix}}}" }, - "rebaseLabel": { - "description": "Label to use to request the bot to rebase a PR manually", + "commitMessageAction": { + "description": "Action verb to use in commit messages and PR titles", "type": "string", - "default": "rebase" + "default": "Update" }, - "statusCheckVerify": { - "description": "Set a verify status check for all PRs", - "type": "boolean", - "default": false + "commitMessageExtra": { + "description": "Extra description used after the commit message topic - typically the version", + "type": "string", + "default": "to {{#if isMajor}}v{{{newMajor}}}{{else}}{{#if isSingleVersion}}v{{{toVersion}}}{{else}}{{{newValue}}}{{/if}}{{/if}}" }, - "unpublishSafe": { - "description": "Set a status check for unpublish-safe upgrades", - "type": "boolean", - "default": false + "commitMessagePrefix": { + "description": "Prefix to add to start of commit messages and PR titles. Uses a semantic prefix if semanticCommits enabled", + "type": "string" }, - "stabilityDays": { - "description": "Number of days required before a new release is considered to be stabilized.", - "type": "integer", - "default": 0 + "commitMessageSuffix": { + "description": "Suffix to add to end of commit messages and PR titles.", + "type": "string" }, - "prCreation": { - "description": "When to create the PR for a branch.", + "commitMessageTopic": { + "description": "The upgrade topic/noun used in commit messages and PR titles", "type": "string", - "enum": ["immediate", "not-pending", "status-success", "approval"], - "default": "immediate" - }, - "prNotPendingHours": { - "description": "Timeout in hours for when prCreation=not-pending", - "type": "integer", - "default": 25 - }, - "prHourlyLimit": { - "description": "Rate limit PRs to maximum x created per hour. 0 (default) means no limit.", - "type": "integer", - "default": 0 + "default": "dependency {{depName}}" }, - "prConcurrentLimit": { - "description": "Limit to a maximum of x concurrent branches/PRs. 0 (default) means no limit.", - "type": "integer", - "default": 0 + "compatibility": { + "description": "Configuration object for compatibility", + "type": "object", + "default": {}, + "$ref": "#" }, - "prPriority": { - "description": "Set sorting priority for PR creation. PRs with higher priority are created first, negative priority last.", - "type": "integer", - "default": 0 + "composer": { + "description": "Configuration object for composer.json files", + "type": "object", + "default": { + "fileMatch": ["(^|/)([\\w-]*)composer.json$"], + "versionScheme": "composer" + }, + "$ref": "#" }, - "bbUseDefaultReviewers": { - "description": "Use the default reviewers (Bitbucket only).", + "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 }, - "automerge": { - "description": "Whether to automerge branches/PRs automatically, without human intervention", - "type": "boolean", - "default": false - }, - "automergeType": { - "description": "How to automerge, if enabled.", - "type": "string", - "enum": ["branch", "pr", "pr-comment"], - "default": "pr" - }, - "automergeComment": { - "description": "PR comment to add to trigger automerge. Used only if automergeType=pr-comment", - "type": "string", - "default": "automergeComment" + "deps-edn": { + "description": "Configuration object for renovating Clojure CLI-based projects (deps.edn)", + "type": "object", + "default": { + "fileMatch": ["(^|/)deps\\.edn$"], + "versionScheme": "maven" + }, + "$ref": "#" }, - "requiredStatusChecks": { - "description": "List of status checks that must pass before automerging. Set to null to enable automerging without tests.", + "description": { + "description": "Plain text description for a config or preset", "type": "array", "items": { "type": "string" } }, - "vulnerabilityAlerts": { - "description": "Config to apply when a PR is necessary due to vulnerability of existing package version.", + "digest": { + "description": "Configuration to apply when updating a digest (no change in tag/version)", "type": "object", "default": { - "groupName": null, - "schedule": [], - "masterIssueApproval": false, - "rangeStrategy": "update-lockfile", - "commitMessageSuffix": "[SECURITY]" + "branchTopic": "{{{depNameSanitized}}}-digest", + "commitMessageExtra": "to {{newDigestShort}}", + "commitMessageTopic": "{{{depName}}} commit hash" }, "$ref": "#" }, - "branchName": { - "description": "Branch name template", - "type": "string", - "default": "{{{branchPrefix}}}{{{managerBranchPrefix}}}{{{branchTopic}}}" - }, - "managerBranchPrefix": { - "description": "Branch manager prefix", - "type": "string", - "default": "" - }, - "branchTopic": { - "description": "Branch topic", - "type": "string", - "default": "{{{depNameSanitized}}}-{{{newMajor}}}{{#if isPatch}}.{{{newMinor}}}{{/if}}.x{{#if isLockfileUpdate}}-lockfile{{/if}}" - }, - "commitMessage": { - "description": "Message to use for commit messages and pull request titles", - "type": "string", - "default": "{{{commitMessagePrefix}}} {{{commitMessageAction}}} {{{commitMessageTopic}}} {{{commitMessageExtra}}} {{{commitMessageSuffix}}}" - }, - "commitBody": { - "description": "Commit message body template. Will be appended to commit message, separated by two line returns.", - "type": "string" - }, - "commitBodyTable": { - "description": "If enabled, append a table in the commit message body describing all updates in the commit", - "type": "boolean", - "default": false - }, - "commitMessagePrefix": { - "description": "Prefix to add to start of commit messages and PR titles. Uses a semantic prefix if semanticCommits enabled", - "type": "string" - }, - "commitMessageAction": { - "description": "Action verb to use in commit messages and PR titles", - "type": "string", - "default": "Update" + "docker": { + "description": "Configuration object for Docker language", + "type": "object", + "default": { + "versionScheme": "docker", + "managerBranchPrefix": "docker-", + "commitMessageTopic": "{{{depName}}} Docker tag", + "major": { + "enabled": false + }, + "commitMessageExtra": "to v{{#if isMajor}}{{{newMajor}}}{{else}}{{{newVersion}}}{{/if}}", + "digest": { + "branchTopic": "{{{depNameSanitized}}}-{{{currentValue}}}", + "commitMessageExtra": "to {{newDigestShort}}", + "commitMessageTopic": "{{{depName}}}{{#if currentValue}}:{{{currentValue}}}{{/if}} Docker digest", + "group": { + "commitMessageTopic": "{{{groupName}}}", + "commitMessageExtra": "" + } + }, + "pin": { + "commitMessageExtra": "", + "groupName": "Docker digests", + "group": { + "commitMessageTopic": "{{{groupName}}}", + "branchTopic": "digests-pin" + } + }, + "group": { + "commitMessageTopic": "{{{groupName}}} Docker tags" + } + }, + "$ref": "#" }, - "commitMessageTopic": { - "description": "The upgrade topic/noun used in commit messages and PR titles", - "type": "string", - "default": "dependency {{depName}}" + "docker-compose": { + "description": "Configuration object for Docker Compose renovation. Also inherits settings from `docker` object.", + "type": "object", + "default": { + "fileMatch": ["(^|/)docker-compose[^/]*\\.ya?ml$"] + }, + "$ref": "#" }, - "commitMessageExtra": { - "description": "Extra description used after the commit message topic - typically the version", - "type": "string", - "default": "to {{#if isMajor}}v{{{newMajor}}}{{else}}{{#if isSingleVersion}}v{{{toVersion}}}{{else}}{{{newValue}}}{{/if}}{{/if}}" + "dockerMapDotfiles": { + "description": "Map relevant home directory dotfiles into containers when binarySource=docker.", + "type": "boolean", + "default": false }, - "commitMessageSuffix": { - "description": "Suffix to add to end of commit messages and PR titles.", + "dockerUser": { + "description": "Specify UID and GID for docker-based binaries when binarySource=docker is used.", "type": "string" }, - "prTitle": { - "description": "Pull Request title template (deprecated). Now uses commitMessage.", - "type": "string", - "default": null + "dockerfile": { + "description": "Configuration object for Dockerfile renovation", + "type": "object", + "default": { + "fileMatch": ["(^|/)Dockerfile$", "(^|/)Dockerfile\\.[^/]*$"] + }, + "$ref": "#" }, - "prFooter": { - "description": "Pull Request footer template", - "type": "string", - "default": "This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate)." + "dotnet": { + "description": "Configuration object for .NET language", + "type": "object", + "default": {}, + "$ref": "#" }, - "lockFileMaintenance": { - "description": "Configuration for lock file maintenance", + "droneci": { + "description": "Configuration object for DroneCI yml renovation. Also inherits settings from `docker` object.", "type": "object", "default": { - "enabled": false, - "recreateClosed": true, - "rebaseStalePrs": true, - "branchTopic": "lock-file-maintenance", - "commitMessageAction": "Lock file maintenance", - "commitMessageTopic": null, - "commitMessageExtra": null, - "schedule": ["before 5am on monday"], - "groupName": null, - "prBodyDefinitions": { - "Change": "All locks refreshed" - } + "fileMatch": ["(^|/).drone.yml$"] }, "$ref": "#" }, - "lazyGrouping": { - "description": "Use group names only when multiple dependencies upgraded", + "dryRun": { + "description": "If enabled, perform a dry run by logging messages instead of creating/updating/deleting branches and PRs", "type": "boolean", - "default": true + "default": false }, - "groupName": { - "description": "Human understandable name for the dependency group", - "type": "string", - "default": null + "enabled": { + "description": "Enable or disable the bot", + "type": "boolean" }, - "groupSlug": { - "description": "Slug to use for group (e.g. in branch name). Will be calculated from groupName if null", - "type": "string", - "default": null + "enabledManagers": { + "description": "A list of package managers to enable. If defined, then all managers not on the list are disabled.", + "type": "array" }, - "group": { - "description": "Config if groupName is enabled", + "encrypted": { + "description": "A configuration object containing configuration encrypted with project key.", "type": "object", - "default": { - "branchTopic": "{{{groupSlug}}}", - "commitMessageTopic": "{{{groupName}}}" - }, + "default": null, "$ref": "#" }, - "labels": { - "description": "Labels to add to Pull Request", - "type": "array", - "items": { - "type": "string" - } - }, - "assignees": { - "description": "Assignees for Pull Request (either username or email address depending on the platform)", - "type": "array", - "items": { - "type": "string" - } - }, - "assigneesSampleSize": { - "description": "Take a random sample of given size from assignees.", - "type": "integer", + "endpoint": { + "description": "Custom endpoint to use", + "type": "string", "default": null }, - "assignAutomerge": { - "description": "Assign reviewers and assignees even if the PR is to be automerged", - "type": "boolean", - "default": false + "engines": { + "description": "Configuration specifically for `package.json`>`engines`", + "type": "object", + "default": {}, + "$ref": "#" }, - "reviewers": { - "description": "Requested reviewers for Pull Requests (either username or email address depending on the platform)", + "excludeCommitPaths": { + "description": "A file that matches any of these glob patterns will not be committed, even if it has been updated.", "type": "array", "items": { "type": "string" - } - }, - "reviewersSampleSize": { - "description": "Take a random sample of given size from reviewers.", - "type": "integer", - "default": null + }, + "default": [] }, - "additionalReviewers": { - "description": "Additional reviewers for Pull Requests (in contrast to `reviewers`, this option adds to the existing reviewer list, rather than replacing it)", + "extends": { + "description": "Configuration presets to use/extend. Note: does not work if configured in config.js", "type": "array", "items": { "type": "string" @@ -913,49 +398,73 @@ "format": "regex" } }, - "js": { - "description": "Configuration object for javascript language", + "followTag": { + "description": "If defined, packages will follow this release tag exactly.", + "type": "string" + }, + "force": { + "description": "Any configuration defined within this object will force override existing settings", "type": "object", - "default": {}, "$ref": "#" }, - "npm": { - "description": "Configuration object for npm package.json renovation", + "forceCli": { + "description": "Whether CLI configuration options should be moved to the `force` config section", + "type": "boolean", + "default": true + }, + "forkMode": { + "description": "Set to true to fork the source repository and create branches there instead", + "type": "boolean", + "default": false + }, + "git-submodules": { + "description": "Configuration object for git submodule files", "type": "object", "default": { - "fileMatch": ["(^|/)package.json$"], - "rollbackPrs": true, - "versionScheme": "npm", - "prBodyDefinitions": { - "Change": "[{{#if displayFrom}}`{{{displayFrom}}}` -> {{else}}{{#if currentValue}}`{{{currentValue}}}` -> {{/if}}{{/if}}{{#if displayTo}}`{{{displayTo}}}`{{else}}`{{{newValue}}}`{{/if}}](https://renovatebot.com/diffs/npm/{{{depNameEscaped}}}/{{{fromVersion}}}/{{{toVersion}}})" - } + "enabled": false, + "versionScheme": "git", + "fileMatch": ["(^|/).gitmodules$"] }, "$ref": "#" }, - "meteor": { - "description": "Configuration object for meteor package.js renovation", + "gitAuthor": { + "description": "Author to use for git commits. RFC5322", + "type": "string" + }, + "gitLabAutomerge": { + "description": "Enable or disable usage of GitLab's \"merge when pipeline succeeds\" feature when automerging PRs", + "type": "boolean", + "default": false + }, + "gitPrivateKey": { + "description": "PGP key to use for signing git commits", + "type": "string" + }, + "github-actions": { + "description": "Configuration object for GitHub Actions workflow renovation. Also inherits settings from `docker` object.", "type": "object", "default": { - "fileMatch": ["(^|/)package.js$"] + "fileMatch": [ + "^\\.github/main.workflow$", + "^\\.github/workflows/[^/]+\\.ya?ml$" + ], + "pinDigests": true }, "$ref": "#" }, - "bazel": { - "description": "Configuration object for bazel WORKSPACE renovation", + "gitlabci": { + "description": "Configuration object for GitLab CI yml renovation. Also inherits settings from `docker` object.", "type": "object", "default": { - "fileMatch": ["(^|/)WORKSPACE$", "\\.bzl$"] + "fileMatch": ["^\\.gitlab-ci\\.yml$"] }, "$ref": "#" }, - "buildkite": { - "description": "Configuration object for buildkite pipeline renovation", + "gitlabci-include": { + "description": "Configuration object for GitLab CI yml renovation for include.", "type": "object", "default": { - "fileMatch": ["buildkite\\.ya?ml", "\\.buildkite/.+\\.ya?ml$"], - "commitMessageTopic": "buildkite plugin {{depName}}", - "commitMessageExtra": "to {{#if isMajor}}v{{{newMajor}}}{{else}}{{{newValue}}}{{/if}}", - "managerBranchPrefix": "buildkite-" + "fileMatch": ["^\\.gitlab-ci\\.yml$"] }, "$ref": "#" }, @@ -975,278 +484,554 @@ }, "$ref": "#" }, - "postUpdateOptions": { - "description": "Enable post-update options to be run after package/artifact updating", - "type": "array", - "default": [] - }, - "ruby": { - "description": "Configuration object for ruby language", - "type": "object", - "default": {}, - "$ref": "#" - }, - "bundler": { - "description": "Configuration object for bundler Gemfiles", + "gradle": { + "description": "Configuration object for build.gradle files", "type": "object", "default": { - "fileMatch": ["(^|/)Gemfile$"], - "versionScheme": "ruby" + "fileMatch": ["\\.gradle(\\.kts)?$", "(^|/)gradle.properties$"], + "timeout": 600, + "versionScheme": "maven" }, "$ref": "#" }, - "ruby-version": { - "description": "Configuration object for .ruby-version updating", + "gradle-wrapper": { + "description": "Configuration object for gradle-wrapper.properties files", "type": "object", "default": { - "fileMatch": ["(^|/)\\.ruby-version$"], - "versionScheme": "ruby" + "fileMatch": ["(^|/)gradle/wrapper/gradle-wrapper.properties$"] }, "$ref": "#" }, - "terraform": { - "description": "Configuration object for Terraform dependencies renovation", + "group": { + "description": "Config if groupName is enabled", "type": "object", "default": { - "commitMessageTopic": "Terraform {{managerData.terraformDependencyType}} {{depNameShort}}", - "fileMatch": ["\\.tf$"], - "versionScheme": "hashicorp" + "branchTopic": "{{{groupSlug}}}", + "commitMessageTopic": "{{{groupName}}}" }, "$ref": "#" }, - "mix": { - "description": "Configuration object for Mix module renovation", + "groupName": { + "description": "Human understandable name for the dependency group", + "type": "string", + "default": null + }, + "groupSlug": { + "description": "Slug to use for group (e.g. in branch name). Will be calculated from groupName if null", + "type": "string", + "default": null + }, + "helm-requirements": { + "description": "Configuration object for helm requirements.yaml files.", "type": "object", "default": { - "fileMatch": ["(^|/)mix\\.exs$"], - "versionScheme": "hex" + "aliases": { + "stable": "https://kubernetes-charts.storage.googleapis.com/" + }, + "commitMessageTopic": "helm chart {{depName}}", + "fileMatch": ["(^|/)requirements.yaml$"] }, "$ref": "#" }, - "rust": { - "description": "Configuration option for Rust package management.", + "helm-values": { + "description": "Configuration object for helm values.yaml files.", "type": "object", - "default": {}, + "default": { + "commitMessageTopic": "helm values {{depName}}", + "fileMatch": ["(^|/)values.yaml$"] + }, "$ref": "#" }, - "cargo": { - "description": "Configuration object for Cargo crate renovation.", + "helmfile": { + "description": "Configuration object for helmfile helmfile.yaml files.", "type": "object", "default": { - "commitMessageTopic": "Rust crate {{depName}}", - "managerBranchPrefix": "rust-", - "fileMatch": ["(^|/)Cargo.toml$"], - "versionScheme": "cargo", - "rangeStrategy": "bump" + "aliases": { + "stable": "https://kubernetes-charts.storage.googleapis.com/" + }, + "commitMessageTopic": "helm chart {{depName}}", + "fileMatch": ["(^|/)helmfile.yaml$"] }, "$ref": "#" }, - "cdnurl": { - "description": "Configuration object for CDN assets", + "homebrew": { + "description": "Configuration object for homebrew", "type": "object", "default": { - "fileMatch": [], - "versionScheme": "semver" + "commitMessageTopic": "Homebrew Formula {{depName}}", + "managerBranchPrefix": "homebrew-", + "fileMatch": ["^Formula/[^/]+[.]rb$"] }, "$ref": "#" }, - "supportPolicy": { - "description": "Dependency support policy, e.g. used for LTS vs non-LTS etc (node-only)", + "hostRules": { + "description": "Host rules/configuration including credentials", + "type": "array", + "items": { + "allOf": [ + { + "type": "object", + "properties": { + "baseUrl": { + "description": "baseUrl for a host rule. e.g. \"https://api.github.com/\"", + "type": "string" + }, + "domainName": { + "description": "Domain name for a host rule. e.g. \"docker.io\"", + "type": "string" + }, + "hostName": { + "description": "Hostname for a host rule. e.g. \"index.docker.io\"", + "type": "string" + }, + "hostType": { + "description": "hostType for a package rule. Can be a platform name or a datasource name", + "type": "string" + }, + "insecureRegistry": { + "description": "explicity turn on insecure docker registry access (http)", + "type": "boolean" + }, + "timeout": { + "description": "timeout (in milliseconds) for queries to external endpoints", + "type": "integer" + } + } + } + ] + }, + "default": [ + { + "timeout": 60000 + } + ] + }, + "ignoreDeprecated": { + "description": "Ignore deprecated versions unless the current version is deprecated", + "type": "boolean", + "default": true + }, + "ignoreDeps": { + "description": "Dependencies to ignore", "type": "array", "items": { "type": "string" } }, - "node": { - "description": "Configuration object for node version renovation", - "type": "object", - "default": { - "commitMessageTopic": "Node.js", - "major": { - "enabled": false - } + "ignoreNpmrcFile": { + "description": "Whether to ignore any .npmrc file found in repository", + "type": "boolean", + "default": false + }, + "ignorePaths": { + "description": "Skip any package file whose path matches one of these. Can be string or glob pattern", + "type": "array", + "items": { + "type": "string" + }, + "default": ["**/node_modules/**", "**/bower_components/**"] + }, + "ignorePresets": { + "description": "A list of presets to ignore, including nested ones inside `extends`", + "type": "array", + "items": { + "type": "string" + } + }, + "ignoreScripts": { + "description": "Configure this to true if trustLevel is high but you wish to skip running scripts when updating lock files", + "type": "boolean", + "default": false + }, + "ignoreUnstable": { + "description": "Ignore versions with unstable semver", + "type": "boolean" + }, + "includeForks": { + "description": "Whether to process forked repositories or not. By default, all forked repositories are skipped over.", + "type": "boolean", + "default": false + }, + "includePaths": { + "description": "Include package files only within these defined paths", + "type": "array", + "items": { + "type": "string" }, + "default": [] + }, + "java": { + "description": "Configuration object for all Java package managers", + "type": "object", + "default": {}, "$ref": "#" }, - "travis": { - "description": "Configuration object for .travis.yml node version renovation", + "js": { + "description": "Configuration object for javascript language", "type": "object", - "default": { - "fileMatch": ["^.travis.yml$"], - "versionScheme": "node" - }, + "default": {}, "$ref": "#" }, - "nvm": { - "description": "Configuration object for .nvmrc files", + "kubernetes": { + "description": "Configuration object for Kubernetes renovation. Also inherits settings from `docker` object.", "type": "object", "default": { - "fileMatch": ["^.nvmrc$"], - "versionScheme": "node" + "fileMatch": [] }, "$ref": "#" }, - "pub": { - "description": "Configuration object for when renovating Dart pubspec files", + "labels": { + "description": "Labels to add to Pull Request", + "type": "array", + "items": { + "type": "string" + } + }, + "lazyGrouping": { + "description": "Use group names only when multiple dependencies upgraded", + "type": "boolean", + "default": true + }, + "leiningen": { + "description": "Configuration object for renovating Clojure leiningen projects", "type": "object", "default": { - "fileMatch": ["(^|/)pubspec\\.ya?ml$"], - "versionScheme": "npm" + "fileMatch": ["(^|/)project\\.clj$"], + "versionScheme": "maven" }, "$ref": "#" }, - "docker": { - "description": "Configuration object for Docker language", + "lockFileMaintenance": { + "description": "Configuration for lock file maintenance", "type": "object", "default": { - "versionScheme": "docker", - "managerBranchPrefix": "docker-", - "commitMessageTopic": "{{{depName}}} Docker tag", - "major": { - "enabled": false - }, - "commitMessageExtra": "to v{{#if isMajor}}{{{newMajor}}}{{else}}{{{newVersion}}}{{/if}}", - "digest": { - "branchTopic": "{{{depNameSanitized}}}-{{{currentValue}}}", - "commitMessageExtra": "to {{newDigestShort}}", - "commitMessageTopic": "{{{depName}}}{{#if currentValue}}:{{{currentValue}}}{{/if}} Docker digest", - "group": { - "commitMessageTopic": "{{{groupName}}}", - "commitMessageExtra": "" - } - }, - "pin": { - "commitMessageExtra": "", - "groupName": "Docker digests", - "group": { - "commitMessageTopic": "{{{groupName}}}", - "branchTopic": "digests-pin" - } - }, - "group": { - "commitMessageTopic": "{{{groupName}}} Docker tags" + "enabled": false, + "recreateClosed": true, + "rebaseStalePrs": true, + "branchTopic": "lock-file-maintenance", + "commitMessageAction": "Lock file maintenance", + "commitMessageTopic": null, + "commitMessageExtra": null, + "schedule": ["before 5am on monday"], + "groupName": null, + "prBodyDefinitions": { + "Change": "All locks refreshed" } }, "$ref": "#" }, - "docker-compose": { - "description": "Configuration object for Docker Compose renovation. Also inherits settings from `docker` object.", + "logFile": { + "description": "Log file path", + "type": "string" + }, + "logFileLevel": { + "description": "Log file log level", + "type": "string", + "default": "debug" + }, + "logLevel": { + "description": "Logging level", + "type": "string", + "enum": ["fatal", "error", "warn", "info", "debug", "trace"], + "default": "info" + }, + "major": { + "description": "Configuration to apply when an update type is major", "type": "object", - "default": { - "fileMatch": ["(^|/)docker-compose[^/]*\\.ya?ml$"] - }, + "default": {}, "$ref": "#" }, - "dockerfile": { - "description": "Configuration object for Dockerfile renovation", - "type": "object", - "default": { - "fileMatch": ["(^|/)Dockerfile$", "(^|/)Dockerfile\\.[^/]*$"] - }, - "$ref": "#" + "managerBranchPrefix": { + "description": "Branch manager prefix", + "type": "string", + "default": "" + }, + "masterIssue": { + "description": "Whether to create a \"Master Issue\" within the repository.", + "type": "boolean", + "default": false + }, + "masterIssueApproval": { + "description": "Whether updates should require manual approval from within the Master Issue before creation.", + "type": "boolean", + "default": false + }, + "masterIssueAutoclose": { + "description": "Set to `true` and Renovate will autoclose the Master Issue if there are no updates.", + "type": "boolean", + "default": false + }, + "masterIssueTitle": { + "description": "Title to use for the Master Issue", + "type": "string", + "default": "Update Dependencies (Renovate Bot)" }, - "kubernetes": { - "description": "Configuration object for Kubernetes renovation. Also inherits settings from `docker` object.", + "maven": { + "description": "Configuration object for when renovating Maven pom.xml files", "type": "object", "default": { - "fileMatch": [] + "fileMatch": ["\\.pom\\.xml$", "(^|/)pom\\.xml$"], + "versionScheme": "maven" }, "$ref": "#" }, - "helm-requirements": { - "description": "Configuration object for helm requirements.yaml files.", + "meteor": { + "description": "Configuration object for meteor package.js renovation", "type": "object", "default": { - "aliases": { - "stable": "https://kubernetes-charts.storage.googleapis.com/" - }, - "commitMessageTopic": "helm chart {{depName}}", - "fileMatch": ["(^|/)requirements.yaml$"] + "fileMatch": ["(^|/)package.js$"] }, "$ref": "#" }, - "helm-values": { - "description": "Configuration object for helm values.yaml files.", + "minor": { + "description": "Configuration to apply when an update type is minor", "type": "object", - "default": { - "commitMessageTopic": "helm values {{depName}}", - "fileMatch": ["(^|/)values.yaml$"] - }, + "default": {}, "$ref": "#" }, - "helmfile": { - "description": "Configuration object for helmfile helmfile.yaml files.", + "mix": { + "description": "Configuration object for Mix module renovation", "type": "object", "default": { - "aliases": { - "stable": "https://kubernetes-charts.storage.googleapis.com/" - }, - "commitMessageTopic": "helm chart {{depName}}", - "fileMatch": ["(^|/)helmfile.yaml$"] + "fileMatch": ["(^|/)mix\\.exs$"], + "versionScheme": "hex" }, "$ref": "#" }, - "circleci": { - "description": "Configuration object for CircleCI yml renovation. Also inherits settings from `docker` object.", + "node": { + "description": "Configuration object for node version renovation", "type": "object", "default": { - "fileMatch": ["(^|/).circleci/config.yml$"] + "commitMessageTopic": "Node.js", + "major": { + "enabled": false + } }, "$ref": "#" }, - "droneci": { - "description": "Configuration object for DroneCI yml renovation. Also inherits settings from `docker` object.", + "npm": { + "description": "Configuration object for npm package.json renovation", "type": "object", "default": { - "fileMatch": ["(^|/).drone.yml$"] + "fileMatch": ["(^|/)package.json$"], + "rollbackPrs": true, + "versionScheme": "npm", + "prBodyDefinitions": { + "Change": "[{{#if displayFrom}}`{{{displayFrom}}}` -> {{else}}{{#if currentValue}}`{{{currentValue}}}` -> {{/if}}{{/if}}{{#if displayTo}}`{{{displayTo}}}`{{else}}`{{{newValue}}}`{{/if}}](https://renovatebot.com/diffs/npm/{{{depNameEscaped}}}/{{{fromVersion}}}/{{{toVersion}}})" + } }, "$ref": "#" }, - "ansible": { - "description": "Configuration object for Ansible yaml renovation. Also inherits settings from `docker` object.", + "npmToken": { + "description": "npm token used for authenticating with the default registry", + "type": "string" + }, + "npmrc": { + "description": "String copy of npmrc file. Use \\n instead of line breaks", + "type": "string" + }, + "nuget": { + "description": "Configuration object for C#/Nuget", "type": "object", "default": { - "fileMatch": ["(^|/)tasks/[^/]+\\.ya?ml$"] + "fileMatch": ["\\.(?:cs|fs|vb)proj$"] }, "$ref": "#" }, - "github-actions": { - "description": "Configuration object for GitHub Actions workflow renovation. Also inherits settings from `docker` object.", + "nvm": { + "description": "Configuration object for .nvmrc files", "type": "object", "default": { - "fileMatch": [ - "^\\.github/main.workflow$", - "^\\.github/workflows/[^/]+\\.ya?ml$" - ], - "pinDigests": true + "fileMatch": ["^.nvmrc$"], + "versionScheme": "node" }, "$ref": "#" }, - "composer": { - "description": "Configuration object for composer.json files", + "onboarding": { + "description": "Require a Configuration PR first", + "type": "boolean" + }, + "onboardingBranch": { + "description": "Change this value in order to override the default onboarding branch name.", + "type": "string", + "default": "renovate/configure" + }, + "onboardingConfig": { + "description": "Configuration to use in onboarding PRs", "type": "object", - "default": { - "fileMatch": ["(^|/)([\\w-]*)composer.json$"], - "versionScheme": "composer" - }, + "default": {}, "$ref": "#" }, - "git-submodules": { - "description": "Configuration object for git submodule files", + "onboardingPrTitle": { + "description": "Change this value in order to override the default onboarding PR title.", + "type": "string", + "default": "Configure Renovate" + }, + "optimizeForDisabled": { + "description": "Set to true to first check for disabling in config before cloning", + "type": "boolean", + "default": false + }, + "packageRules": { + "description": "Rules for matching package names", + "type": "array", + "items": { + "allOf": [ + { + "type": "object", + "properties": { + "allowedVersions": { + "description": "A semver range defining allowed versions for dependencies", + "type": "string" + }, + "baseBranchList": { + "description": "List of branches to match (e.g. [\"master\"]). Valid only within `packageRules` object", + "type": "array", + "items": { + "type": "string" + } + }, + "datasources": { + "description": "List of datasources to match (e.g. [\"orb\"]). Valid only within `packageRules` object", + "type": "array", + "items": { + "type": "string" + } + }, + "depTypeList": { + "description": "List of depTypes to match (e.g. [`peerDependencies`]). Valid only within `packageRules` object", + "type": "array", + "items": { + "type": "string" + } + }, + "excludePackageNames": { + "description": "Package names to exclude. Valid only within `packageRules` object", + "type": "array", + "items": { + "type": "string" + } + }, + "excludePackagePatterns": { + "description": "Package name patterns to exclude. Valid only within `packageRules` object.", + "type": "array", + "items": { + "type": "string", + "format": "regex" + } + }, + "languages": { + "description": "List of languages to match (e.g. [\"python\"]). Valid only within `packageRules` object", + "type": "array", + "items": { + "type": "string" + } + }, + "managers": { + "description": "List of package managers to match (e.g. [\"pipenv\"]). Valid only within `packageRules` object", + "type": "array", + "items": { + "type": "string" + } + }, + "matchCurrentVersion": { + "description": "A version or version range to match against the current version of a package. Valid only within `packageRules` object", + "type": "string" + }, + "packageNames": { + "description": "Package names to match. Valid only within `packageRules` object", + "type": "array", + "items": { + "type": "string" + } + }, + "packagePatterns": { + "description": "Package name patterns to match. Valid only within `packageRules` object.", + "type": "array", + "items": { + "type": "string", + "format": "regex" + } + }, + "paths": { + "description": "List of strings or glob patterns to match against package files. Applicable inside packageRules only", + "type": "array", + "items": { + "type": "string" + } + }, + "sourceUrlPrefixes": { + "description": "A list of source URL prefixes to match against, commonly used for grouping of monorepos or packages from the same organization.", + "type": "array", + "items": { + "type": "string" + } + }, + "updateTypes": { + "description": "Update types to match against (major, minor, pin, etc). Valid only within `packageRules` object.", + "type": "array", + "items": { + "type": "string", + "enum": [ + "major", + "minor", + "patch", + "pin", + "digest", + "lockFileMaintenance", + "rollback", + "bump" + ] + } + } + } + } + ] + } + }, + "password": { + "description": "Password for authentication. Currently Bitbucket only (AppPassword).", + "type": "string" + }, + "patch": { + "description": "Configuration to apply when an update type is patch. Only applies if `separateMinorPatch` is set to true", "type": "object", - "default": { - "enabled": false, - "versionScheme": "git", - "fileMatch": ["(^|/).gitmodules$"] - }, + "default": {}, "$ref": "#" }, + "persistRepoData": { + "description": "If set to true, repository data will preserved between runs instead of deleted.", + "type": "boolean", + "default": false + }, "php": { "description": "Configuration object for php", "type": "object", "default": {}, "$ref": "#" }, + "pin": { + "description": "Configuration to apply when an update type is pin.", + "type": "object", + "default": { + "unpublishSafe": false, + "recreateClosed": true, + "rebaseStalePrs": true, + "groupName": "Pin Dependencies", + "groupSlug": "pin-dependencies", + "commitMessageAction": "Pin", + "group": { + "commitMessageTopic": "dependencies", + "commitMessageExtra": "" + } + }, + "$ref": "#" + }, + "pinDigests": { + "description": "Whether to add digests to Dockerfile source images", + "type": "boolean", + "default": false + }, "pip_requirements": { "description": "Configuration object for requirements.txt files", "type": "object", @@ -1271,6 +1056,12 @@ }, "$ref": "#" }, + "platform": { + "description": "Platform type of repository", + "type": "string", + "enum": ["azure", "bitbucket", "bitbucket-server", "github", "gitlab"], + "default": "github" + }, "poetry": { "description": "Configuration object for pyproject.toml files", "type": "object", @@ -1280,189 +1071,318 @@ }, "$ref": "#" }, - "python": { - "description": "Configuration object for python", - "type": "object", - "default": { - "versionScheme": "pep440" - }, - "$ref": "#" + "postUpdateOptions": { + "description": "Enable post-update options to be run after package/artifact updating", + "type": "array", + "default": [] }, - "sbt": { - "description": "Configuration object for *.sbt files", + "postUpgradeTasks": { + "description": "Post-upgrade tasks that are executed before a commit is made by Renovate", "type": "object", "default": { - "fileMatch": ["\\.sbt$", "project/[^/]*.scala$"], - "timeout": 300, - "versionScheme": "ivy" + "commands": [], + "fileFilters": [] }, - "$ref": "#" + "$ref": "#", + "items": { + "allOf": [ + { + "type": "object", + "properties": { + "commands": { + "description": "A list of post-upgrade commands that are executed before a commit is made by Renovate", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "fileFilters": { + "description": "Files that match these glob patterns will be committed if they are present after running a post-upgrade task", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + } + } + } + ] + } }, - "leiningen": { - "description": "Configuration object for renovating Clojure leiningen projects", + "prBodyColumns": { + "description": "List of columns to use in PR bodies", + "type": "array", + "default": ["Package", "Type", "Update", "Change"] + }, + "prBodyDefinitions": { + "description": "Table column definitions for use in PR tables", "type": "object", "default": { - "fileMatch": ["(^|/)project\\.clj$"], - "versionScheme": "maven" + "Package": "{{{depNameLinked}}}", + "Type": "{{{depType}}}", + "Update": "{{{updateType}}}", + "Current value": "{{{currentValue}}}", + "New value": "{{{newValue}}}", + "Change": "`{{{displayFrom}}}` -> `{{{displayTo}}}`", + "References": "{{{references}}}", + "Package file": "{{{packageFile}}}" + } + }, + "prBodyNotes": { + "description": "List of additional notes/templates to be included in the Pull Request bodies.", + "type": "array", + "items": { + "type": "string" }, - "$ref": "#" + "default": [] }, - "deps-edn": { - "description": "Configuration object for renovating Clojure CLI-based projects (deps.edn)", + "prCommitsPerRunLimit": { + "description": "Set a maximum number of commits per Renovate run. Default is no limit.", + "type": "integer", + "default": 0 + }, + "prConcurrentLimit": { + "description": "Limit to a maximum of x concurrent branches/PRs. 0 (default) means no limit.", + "type": "integer", + "default": 0 + }, + "prCreation": { + "description": "When to create the PR for a branch.", + "type": "string", + "enum": ["immediate", "not-pending", "status-success", "approval"], + "default": "immediate" + }, + "prFooter": { + "description": "Pull Request footer template", + "type": "string", + "default": "This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate)." + }, + "prHourlyLimit": { + "description": "Rate limit PRs to maximum x created per hour. 0 (default) means no limit.", + "type": "integer", + "default": 0 + }, + "prNotPendingHours": { + "description": "Timeout in hours for when prCreation=not-pending", + "type": "integer", + "default": 25 + }, + "prPriority": { + "description": "Set sorting priority for PR creation. PRs with higher priority are created first, negative priority last.", + "type": "integer", + "default": 0 + }, + "prTitle": { + "description": "Pull Request title template (deprecated). Now uses commitMessage.", + "type": "string", + "default": null + }, + "printConfig": { + "description": "If enabled, log the full resolved config for each repo, including resolved presets", + "type": "boolean", + "default": false + }, + "privateKey": { + "description": "Server-side private key", + "type": "string" + }, + "productLinks": { + "description": "Links which are embedded within PRs, issues, etc", "type": "object", "default": { - "fileMatch": ["(^|/)deps\\.edn$"], - "versionScheme": "maven" + "documentation": "https://docs.renovatebot.com/", + "help": "https://github.com/renovatebot/config-help/issues", + "homepage": "https://github.com/renovatebot/renovate" + }, + "additionalProperties": { + "type": "string", + "format": "uri" }, "$ref": "#" }, - "compatibility": { - "description": "Configuration object for compatibility", - "type": "object", - "default": {}, - "$ref": "#" - }, - "java": { - "description": "Configuration object for all Java package managers", - "type": "object", - "default": {}, - "$ref": "#" + "pruneStaleBranches": { + "description": "Enable or disable pruning of stale branches", + "type": "boolean", + "default": true }, - "gradle": { - "description": "Configuration object for build.gradle files", + "pub": { + "description": "Configuration object for when renovating Dart pubspec files", "type": "object", "default": { - "fileMatch": ["\\.gradle(\\.kts)?$", "(^|/)gradle.properties$"], - "timeout": 600, - "versionScheme": "maven" + "fileMatch": ["(^|/)pubspec\\.ya?ml$"], + "versionScheme": "npm" }, "$ref": "#" }, - "gradle-wrapper": { - "description": "Configuration object for gradle-wrapper.properties files", + "python": { + "description": "Configuration object for python", "type": "object", "default": { - "fileMatch": ["(^|/)gradle/wrapper/gradle-wrapper.properties$"] + "versionScheme": "pep440" }, "$ref": "#" }, - "maven": { - "description": "Configuration object for when renovating Maven pom.xml files", - "type": "object", - "default": { - "fileMatch": ["\\.pom\\.xml$", "(^|/)pom\\.xml$"], - "versionScheme": "maven" - }, - "$ref": "#" + "rangeStrategy": { + "description": "Policy for how to modify/update existing ranges.", + "type": "string", + "enum": ["auto", "pin", "bump", "replace", "widen", "update-lockfile"], + "default": "replace" + }, + "rebaseConflictedPrs": { + "description": "Auto-rebase when there is conflict in PRs", + "type": "boolean", + "default": true + }, + "rebaseLabel": { + "description": "Label to use to request the bot to rebase a PR manually", + "type": "string", + "default": "rebase" + }, + "rebaseStalePrs": { + "description": "Rebase any PRs that are not up-to-date with the base branch", + "type": "boolean", + "default": null + }, + "recreateClosed": { + "description": "Recreate PRs even if same ones were closed previously", + "type": "boolean", + "default": false + }, + "registryUrls": { + "description": "List of URLs to try for dependency lookup. Package manager-specific", + "type": "array", + "items": { + "type": "string" + }, + "default": null + }, + "repositories": { + "description": "List of Repositories", + "type": "array" + }, + "requireConfig": { + "description": "Set to true if repositories must have a config to activate.", + "type": "boolean", + "default": true + }, + "requiredStatusChecks": { + "description": "List of status checks that must pass before automerging. Set to null to enable automerging without tests.", + "type": "array", + "items": { + "type": "string" + } + }, + "respectLatest": { + "description": "Ignore versions newer than npm \"latest\" version", + "type": "boolean" + }, + "reviewers": { + "description": "Requested reviewers for Pull Requests (either username or email address depending on the platform)", + "type": "array", + "items": { + "type": "string" + } + }, + "reviewersSampleSize": { + "description": "Take a random sample of given size from reviewers.", + "type": "integer", + "default": null }, - "gitlabci": { - "description": "Configuration object for GitLab CI yml renovation. Also inherits settings from `docker` object.", + "rollbackPrs": { + "description": "Create PRs to roll back versions if the current version is not found in the registry", + "type": "boolean", + "default": false + }, + "ruby": { + "description": "Configuration object for ruby language", "type": "object", - "default": { - "fileMatch": ["^\\.gitlab-ci\\.yml$"] - }, + "default": {}, "$ref": "#" }, - "gitlabci-include": { - "description": "Configuration object for GitLab CI yml renovation for include.", + "ruby-version": { + "description": "Configuration object for .ruby-version updating", "type": "object", "default": { - "fileMatch": ["^\\.gitlab-ci\\.yml$"] + "fileMatch": ["(^|/)\\.ruby-version$"], + "versionScheme": "ruby" }, "$ref": "#" }, - "dotnet": { - "description": "Configuration object for .NET language", + "rust": { + "description": "Configuration option for Rust package management.", "type": "object", "default": {}, "$ref": "#" }, - "nuget": { - "description": "Configuration object for C#/Nuget", - "type": "object", - "default": { - "fileMatch": ["\\.(?:cs|fs|vb)proj$"] - }, - "$ref": "#" - }, - "homebrew": { - "description": "Configuration object for homebrew", + "sbt": { + "description": "Configuration object for *.sbt files", "type": "object", "default": { - "commitMessageTopic": "Homebrew Formula {{depName}}", - "managerBranchPrefix": "homebrew-", - "fileMatch": ["^Formula/[^/]+[.]rb$"] + "fileMatch": ["\\.sbt$", "project/[^/]*.scala$"], + "timeout": 300, + "versionScheme": "ivy" }, "$ref": "#" }, - "hostRules": { - "description": "Host rules/configuration including credentials", + "schedule": { + "description": "Times of day/week to limit branch creation to", "type": "array", "items": { - "allOf": [ - { - "type": "object", - "properties": { - "hostType": { - "description": "hostType for a package rule. Can be a platform name or a datasource name", - "type": "string" - }, - "domainName": { - "description": "Domain name for a host rule. e.g. \"docker.io\"", - "type": "string" - }, - "hostName": { - "description": "Hostname for a host rule. e.g. \"index.docker.io\"", - "type": "string" - }, - "baseUrl": { - "description": "baseUrl for a host rule. e.g. \"https://api.github.com/\"", - "type": "string" - }, - "timeout": { - "description": "timeout (in milliseconds) for queries to external endpoints", - "type": "integer" - }, - "insecureRegistry": { - "description": "explicity turn on insecure docker registry access (http)", - "type": "boolean" - } - } - } - ] + "type": "string" }, - "default": [ - { - "timeout": 60000 - } - ] + "default": "at any time" }, - "prBodyDefinitions": { - "description": "Table column definitions for use in PR tables", - "type": "object", - "default": { - "Package": "{{{depNameLinked}}}", - "Type": "{{{depType}}}", - "Update": "{{{updateType}}}", - "Current value": "{{{currentValue}}}", - "New value": "{{{newValue}}}", - "Change": "`{{{displayFrom}}}` -> `{{{displayTo}}}`", - "References": "{{{references}}}", - "Package file": "{{{packageFile}}}" - } + "semanticCommitScope": { + "description": "Commit scope to use if semantic commits are enabled", + "type": "string", + "default": "deps" }, - "prBodyColumns": { - "description": "List of columns to use in PR bodies", - "type": "array", - "default": ["Package", "Type", "Update", "Change"] + "semanticCommitType": { + "description": "Commit type to use if semantic commits is enabled", + "type": "string", + "default": "chore" }, - "prBodyNotes": { - "description": "List of additional notes/templates to be included in the Pull Request bodies.", + "semanticCommits": { + "description": "Enable semantic commit prefixes for commits and PR titles", + "type": "boolean", + "default": null + }, + "separateMajorMinor": { + "description": "If set to false, it will upgrade dependencies to latest release only, and not separate major/minor branches", + "type": "boolean" + }, + "separateMinorPatch": { + "description": "If set to true, it will separate minor and patch updates into separate branches", + "type": "boolean", + "default": false + }, + "separateMultipleMajor": { + "description": "If set to true, PRs will be raised separately for each available major upgrade version", + "type": "boolean", + "default": false + }, + "skipInstalls": { + "description": "Skip installing modules/dependencies if lock file updating is possible alone", + "type": "boolean", + "default": null + }, + "stabilityDays": { + "description": "Number of days required before a new release is considered to be stabilized.", + "type": "integer", + "default": 0 + }, + "statusCheckVerify": { + "description": "Set a verify status check for all PRs", + "type": "boolean", + "default": false + }, + "supportPolicy": { + "description": "Dependency support policy, e.g. used for LTS vs non-LTS etc (node-only)", "type": "array", "items": { "type": "string" - }, - "default": [] + } }, "suppressNotifications": { "description": "Options to suppress various types of warnings and other notifications", @@ -1479,20 +1399,100 @@ }, "$ref": "#" }, - "pruneStaleBranches": { - "description": "Enable or disable pruning of stale branches", - "type": "boolean", - "default": true + "terraform": { + "description": "Configuration object for Terraform dependencies renovation", + "type": "object", + "default": { + "commitMessageTopic": "Terraform {{managerData.terraformDependencyType}} {{depNameShort}}", + "fileMatch": ["\\.tf$"], + "versionScheme": "hashicorp" + }, + "$ref": "#" + }, + "timezone": { + "description": "[IANA Time Zone](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)", + "type": "string" + }, + "token": { + "description": "Repository Auth Token", + "type": "string" + }, + "travis": { + "description": "Configuration object for .travis.yml node version renovation", + "type": "object", + "default": { + "fileMatch": ["^.travis.yml$"], + "versionScheme": "node" + }, + "$ref": "#" + }, + "trustLevel": { + "description": "Set this to \"high\" if the bot should trust the repository owners/contents", + "type": "string", + "default": "low" }, "unicodeEmoji": { "description": "Enable or disable Unicode emoji", "type": "boolean", "default": false }, - "gitLabAutomerge": { - "description": "Enable or disable usage of GitLab's \"merge when pipeline succeeds\" feature when automerging PRs", + "unpublishSafe": { + "description": "Set a status check for unpublish-safe upgrades", "type": "boolean", "default": false + }, + "updateLockFiles": { + "description": "Set to false to disable lock file updating", + "type": "boolean" + }, + "updateNotScheduled": { + "description": "Whether to update (but not create) branches when not scheduled", + "type": "boolean" + }, + "username": { + "description": "Username for authentication. Currently Bitbucket only", + "type": "string" + }, + "versionScheme": { + "description": "Version scheme to use for filtering and comparisons", + "type": "string", + "enum": [ + "cargo", + "composer", + "docker", + "git", + "hashicorp", + "hex", + "ivy", + "loose", + "maven", + "node", + "npm", + "nuget", + "pep440", + "poetry", + "regex", + "ruby", + "semver", + "swift" + ], + "default": "semver" + }, + "vulnerabilityAlerts": { + "description": "Config to apply when a PR is necessary due to vulnerability of existing package version.", + "type": "object", + "default": { + "groupName": null, + "schedule": [], + "masterIssueApproval": false, + "rangeStrategy": "update-lockfile", + "commitMessageSuffix": "[SECURITY]" + }, + "$ref": "#" + }, + "yarnrc": { + "description": "String copy of yarnrc file. Use \\n instead of line breaks", + "type": "string" } } } -- GitLab