diff --git a/.gitignore b/.gitignore index 9e94fc578feb18a673e7e4d5cf6354de4e79f6bb..93e5d25b32ba420da86458a521046b6feddee5fe 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ renovate-0.0.0-semantic-release.tgz .eslintcache junit.xml /test-results +renovate-schema.json diff --git a/renovate-schema.json b/renovate-schema.json deleted file mode 100644 index 2536ef63e75f8485478f82877e37b47d4669f9b6..0000000000000000000000000000000000000000 --- a/renovate-schema.json +++ /dev/null @@ -1,1498 +0,0 @@ -{ - "title": "JSON schema for Renovate config files (https://renovatebot.com/)", - "$schema": "http://json-schema.org/draft-04/schema#", - "type": "object", - "properties": { - "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" - } - }, - "aliases": { - "description": "Aliases for registries, package manager specific", - "type": "object", - "default": {}, - "additionalProperties": { - "type": "string", - "format": "uri" - }, - "$ref": "#" - }, - "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": [] - }, - "ansible": { - "description": "Configuration object for the ansible manager", - "type": "object", - "default": { - "fileMatch": ["(^|/)tasks/[^/]+\\.ya?ml$"] - }, - "$ref": "#" - }, - "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" - } - }, - "assigneesSampleSize": { - "description": "Take a random sample of given size from assignees.", - "type": "integer", - "default": null - }, - "autodiscover": { - "description": "Autodiscover all repositories", - "type": "boolean", - "default": false - }, - "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 - }, - "automergeComment": { - "description": "PR comment to add to trigger automerge. Used only if automergeType=pr-comment", - "type": "string", - "default": "automergeComment" - }, - "automergeType": { - "description": "How to automerge, if enabled.", - "type": "string", - "enum": ["branch", "pr", "pr-comment"], - "default": "pr" - }, - "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 - }, - "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" - }, - "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" - }, - "bazel": { - "description": "Configuration object for the bazel manager", - "type": "object", - "default": { - "fileMatch": ["(^|/)WORKSPACE$", "\\.bzl$"] - }, - "$ref": "#" - }, - "bbUseDefaultReviewers": { - "description": "Use the default reviewers (Bitbucket only).", - "type": "boolean", - "default": true - }, - "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" - }, - "branchName": { - "description": "Branch name template", - "type": "string", - "default": "{{{branchPrefix}}}{{{managerBranchPrefix}}}{{{branchTopic}}}" - }, - "branchPrefix": { - "description": "Prefix to use for all branch names", - "type": "string", - "default": "renovate/" - }, - "branchTopic": { - "description": "Branch topic", - "type": "string", - "default": "{{{depNameSanitized}}}-{{{newMajor}}}{{#if isPatch}}.{{{newMinor}}}{{/if}}.x{{#if isLockfileUpdate}}-lockfile{{/if}}" - }, - "buildkite": { - "description": "Configuration object for the buildkite manager", - "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-" - }, - "$ref": "#" - }, - "bumpVersion": { - "description": "Bump the version in the package.json being updated", - "type": "string", - "enum": ["major", "minor", "patch"] - }, - "bundler": { - "description": "Configuration object for the bundler manager", - "type": "object", - "default": { - "fileMatch": ["(^|/)Gemfile$"], - "versionScheme": "ruby" - }, - "$ref": "#" - }, - "cacheDir": { - "description": "The directory for Renovate for storing caches. If left empty, Renovate will create a subdirectory within `baseDir` to use.", - "type": "string" - }, - "cargo": { - "description": "Configuration object for the cargo manager", - "type": "object", - "default": { - "commitMessageTopic": "Rust crate {{depName}}", - "managerBranchPrefix": "rust-", - "fileMatch": ["(^|/)Cargo.toml$"], - "versionScheme": "cargo", - "rangeStrategy": "bump" - }, - "$ref": "#" - }, - "cdnurl": { - "description": "Configuration object for the cdnurl manager", - "type": "object", - "default": { - "fileMatch": [], - "versionScheme": "semver" - }, - "$ref": "#" - }, - "circleci": { - "description": "Configuration object for the circleci manager", - "type": "object", - "default": { - "fileMatch": ["(^|/).circleci/config.yml$"] - }, - "$ref": "#" - }, - "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 - }, - "commitMessage": { - "description": "Message to use for commit messages and pull request titles", - "type": "string", - "default": "{{{commitMessagePrefix}}} {{{commitMessageAction}}} {{{commitMessageTopic}}} {{{commitMessageExtra}}} {{{commitMessageSuffix}}}" - }, - "commitMessageAction": { - "description": "Action verb to use in commit messages and PR titles", - "type": "string", - "default": "Update" - }, - "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}}" - }, - "commitMessagePrefix": { - "description": "Prefix to add to start of commit messages and PR titles. Uses a semantic prefix if semanticCommits enabled", - "type": "string" - }, - "commitMessageSuffix": { - "description": "Suffix to add to end of commit messages and PR titles.", - "type": "string" - }, - "commitMessageTopic": { - "description": "The upgrade topic/noun used in commit messages and PR titles", - "type": "string", - "default": "dependency {{depName}}" - }, - "compatibility": { - "description": "Configuration object for compatibility", - "type": "object", - "default": {}, - "$ref": "#" - }, - "composer": { - "description": "Configuration object for the composer manager", - "type": "object", - "default": { - "fileMatch": ["(^|/)([\\w-]*)composer.json$"], - "versionScheme": "composer" - }, - "$ref": "#" - }, - "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 - }, - "deps-edn": { - "description": "Configuration object for the deps-edn manager", - "type": "object", - "default": { - "fileMatch": ["(^|/)deps\\.edn$"], - "versionScheme": "maven" - }, - "$ref": "#" - }, - "description": { - "description": "Plain text description for a config or preset", - "type": "array", - "items": { - "type": "string" - } - }, - "digest": { - "description": "Configuration to apply when updating a digest (no change in tag/version)", - "type": "object", - "default": { - "branchTopic": "{{{depNameSanitized}}}-digest", - "commitMessageExtra": "to {{newDigestShort}}", - "commitMessageTopic": "{{{depName}}} commit hash" - }, - "$ref": "#" - }, - "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": "#" - }, - "docker-compose": { - "description": "Configuration object for the docker-compose manager", - "type": "object", - "default": { - "fileMatch": ["(^|/)docker-compose[^/]*\\.ya?ml$"] - }, - "$ref": "#" - }, - "dockerMapDotfiles": { - "description": "Map relevant home directory dotfiles into containers when binarySource=docker.", - "type": "boolean", - "default": false - }, - "dockerUser": { - "description": "Specify UID and GID for docker-based binaries when binarySource=docker is used.", - "type": "string" - }, - "dockerfile": { - "description": "Configuration object for the dockerfile manager", - "type": "object", - "default": { - "fileMatch": ["(^|/)Dockerfile$", "(^|/)Dockerfile\\.[^/]*$"] - }, - "$ref": "#" - }, - "dotnet": { - "description": "Configuration object for .NET language", - "type": "object", - "default": {}, - "$ref": "#" - }, - "droneci": { - "description": "Configuration object for the droneci manager", - "type": "object", - "default": { - "fileMatch": ["(^|/).drone.yml$"] - }, - "$ref": "#" - }, - "dryRun": { - "description": "If enabled, perform a dry run by logging messages instead of creating/updating/deleting branches and PRs", - "type": "boolean", - "default": false - }, - "enabled": { - "description": "Enable or disable the bot", - "type": "boolean" - }, - "enabledManagers": { - "description": "A list of package managers to enable. If defined, then all managers not on the list are disabled.", - "type": "array" - }, - "encrypted": { - "description": "A configuration object containing configuration encrypted with project key.", - "type": "object", - "default": null, - "$ref": "#" - }, - "endpoint": { - "description": "Custom endpoint to use", - "type": "string", - "default": null - }, - "engines": { - "description": "Configuration specifically for `package.json`>`engines`", - "type": "object", - "default": {}, - "$ref": "#" - }, - "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": [] - }, - "extends": { - "description": "Configuration presets to use/extend. Note: does not work if configured in config.js", - "type": "array", - "items": { - "type": "string" - } - }, - "fileMatch": { - "description": "RegEx (re2) pattern for matching manager files", - "type": "array", - "items": { - "type": "string", - "format": "regex" - } - }, - "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", - "$ref": "#" - }, - "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 the git-submodules manager", - "type": "object", - "default": { - "enabled": false, - "versionScheme": "git", - "fileMatch": ["(^|/).gitmodules$"] - }, - "$ref": "#" - }, - "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 the github-actions manager", - "type": "object", - "default": { - "fileMatch": [ - "^\\.github/main.workflow$", - "^\\.github/workflows/[^/]+\\.ya?ml$" - ], - "pinDigests": true - }, - "$ref": "#" - }, - "gitlabci": { - "description": "Configuration object for the gitlabci manager", - "type": "object", - "default": { - "fileMatch": ["^\\.gitlab-ci\\.yml$"] - }, - "$ref": "#" - }, - "gitlabci-include": { - "description": "Configuration object for the gitlabci-include manager", - "type": "object", - "default": { - "fileMatch": ["^\\.gitlab-ci\\.yml$"] - }, - "$ref": "#" - }, - "golang": { - "description": "Configuration object for Go language", - "type": "object", - "default": { - "commitMessageTopic": "module {{depNameShort}}" - }, - "$ref": "#" - }, - "gomod": { - "description": "Configuration object for the gomod manager", - "type": "object", - "default": { - "fileMatch": ["(^|/)go.mod$"] - }, - "$ref": "#" - }, - "gradle": { - "description": "Configuration object for the gradle manager", - "type": "object", - "default": { - "fileMatch": ["\\.gradle(\\.kts)?$", "(^|/)gradle.properties$"], - "timeout": 600, - "versionScheme": "maven" - }, - "$ref": "#" - }, - "gradle-wrapper": { - "description": "Configuration object for the gradle-wrapper manager", - "type": "object", - "default": { - "fileMatch": ["(^|/)gradle/wrapper/gradle-wrapper.properties$"] - }, - "$ref": "#" - }, - "group": { - "description": "Config if groupName is enabled", - "type": "object", - "default": { - "branchTopic": "{{{groupSlug}}}", - "commitMessageTopic": "{{{groupName}}}" - }, - "$ref": "#" - }, - "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 the helm-requirements manager", - "type": "object", - "default": { - "aliases": { - "stable": "https://kubernetes-charts.storage.googleapis.com/" - }, - "commitMessageTopic": "helm chart {{depName}}", - "fileMatch": ["(^|/)requirements.yaml$"] - }, - "$ref": "#" - }, - "helm-values": { - "description": "Configuration object for the helm-values manager", - "type": "object", - "default": { - "commitMessageTopic": "helm values {{depName}}", - "fileMatch": ["(^|/)values.yaml$"] - }, - "$ref": "#" - }, - "helmfile": { - "description": "Configuration object for the helmfile manager", - "type": "object", - "default": { - "aliases": { - "stable": "https://kubernetes-charts.storage.googleapis.com/" - }, - "commitMessageTopic": "helm chart {{depName}}", - "fileMatch": ["(^|/)helmfile.yaml$"] - }, - "$ref": "#" - }, - "homebrew": { - "description": "Configuration object for the homebrew manager", - "type": "object", - "default": { - "commitMessageTopic": "Homebrew Formula {{depName}}", - "managerBranchPrefix": "homebrew-", - "fileMatch": ["^Formula/[^/]+[.]rb$"] - }, - "$ref": "#" - }, - "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" - } - }, - "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": "#" - }, - "js": { - "description": "Configuration object for javascript language", - "type": "object", - "default": {}, - "$ref": "#" - }, - "kubernetes": { - "description": "Configuration object for the kubernetes manager", - "type": "object", - "default": { - "fileMatch": [] - }, - "$ref": "#" - }, - "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 the leiningen manager", - "type": "object", - "default": { - "fileMatch": ["(^|/)project\\.clj$"], - "versionScheme": "maven" - }, - "$ref": "#" - }, - "lockFileMaintenance": { - "description": "Configuration for lock file maintenance", - "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" - } - }, - "$ref": "#" - }, - "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": {}, - "$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)" - }, - "maven": { - "description": "Configuration object for the maven manager", - "type": "object", - "default": { - "fileMatch": ["\\.pom\\.xml$", "(^|/)pom\\.xml$"], - "versionScheme": "maven" - }, - "$ref": "#" - }, - "meteor": { - "description": "Configuration object for the meteor manager", - "type": "object", - "default": { - "fileMatch": ["(^|/)package.js$"] - }, - "$ref": "#" - }, - "minor": { - "description": "Configuration to apply when an update type is minor", - "type": "object", - "default": {}, - "$ref": "#" - }, - "mix": { - "description": "Configuration object for the mix manager", - "type": "object", - "default": { - "fileMatch": ["(^|/)mix\\.exs$"], - "versionScheme": "hex" - }, - "$ref": "#" - }, - "node": { - "description": "Configuration object for node version renovation", - "type": "object", - "default": { - "commitMessageTopic": "Node.js", - "major": { - "enabled": false - } - }, - "$ref": "#" - }, - "npm": { - "description": "Configuration object for the npm manager", - "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}}})" - } - }, - "$ref": "#" - }, - "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 the nuget manager", - "type": "object", - "default": { - "fileMatch": ["\\.(?:cs|fs|vb)proj$"] - }, - "$ref": "#" - }, - "nvm": { - "description": "Configuration object for the nvm manager", - "type": "object", - "default": { - "fileMatch": ["^.nvmrc$"], - "versionScheme": "node" - }, - "$ref": "#" - }, - "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": {}, - "$ref": "#" - }, - "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": {}, - "$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 the pip_requirements manager", - "type": "object", - "default": { - "fileMatch": ["(^|/)([\\w-]*)requirements.(txt|pip)$"] - }, - "$ref": "#" - }, - "pip_setup": { - "description": "Configuration object for the pip_setup manager", - "type": "object", - "default": { - "fileMatch": ["(^|/)setup.py$"] - }, - "$ref": "#" - }, - "pipenv": { - "description": "Configuration object for the pipenv manager", - "type": "object", - "default": { - "fileMatch": ["(^|/)Pipfile$"] - }, - "$ref": "#" - }, - "platform": { - "description": "Platform type of repository", - "type": "string", - "enum": ["azure", "bitbucket", "bitbucket-server", "github", "gitlab"], - "default": "github" - }, - "poetry": { - "description": "Configuration object for the poetry manager", - "type": "object", - "default": { - "versionScheme": "poetry", - "fileMatch": ["(^|/)pyproject\\.toml$"] - }, - "$ref": "#" - }, - "postUpdateOptions": { - "description": "Enable post-update options to be run after package/artifact updating", - "type": "array", - "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": [] - } - } - } - ] - } - }, - "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": { - "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" - }, - "default": [] - }, - "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": { - "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": "#" - }, - "pruneStaleBranches": { - "description": "Enable or disable pruning of stale branches", - "type": "boolean", - "default": true - }, - "pub": { - "description": "Configuration object for the pub manager", - "type": "object", - "default": { - "fileMatch": ["(^|/)pubspec\\.ya?ml$"], - "versionScheme": "npm" - }, - "$ref": "#" - }, - "python": { - "description": "Configuration object for python", - "type": "object", - "default": { - "versionScheme": "pep440" - }, - "$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 - }, - "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": {}, - "$ref": "#" - }, - "ruby-version": { - "description": "Configuration object for the ruby-version manager", - "type": "object", - "default": { - "fileMatch": ["(^|/)\\.ruby-version$"], - "versionScheme": "ruby" - }, - "$ref": "#" - }, - "rust": { - "description": "Configuration option for Rust package management.", - "type": "object", - "default": {}, - "$ref": "#" - }, - "sbt": { - "description": "Configuration object for the sbt manager", - "type": "object", - "default": { - "fileMatch": ["\\.sbt$", "project/[^/]*.scala$"], - "timeout": 300, - "versionScheme": "ivy" - }, - "$ref": "#" - }, - "schedule": { - "description": "Times of day/week to limit branch creation to", - "type": "array", - "items": { - "type": "string" - }, - "default": "at any time" - }, - "semanticCommitScope": { - "description": "Commit scope to use if semantic commits are enabled", - "type": "string", - "default": "deps" - }, - "semanticCommitType": { - "description": "Commit type to use if semantic commits is enabled", - "type": "string", - "default": "chore" - }, - "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" - } - }, - "suppressNotifications": { - "description": "Options to suppress various types of warnings and other notifications", - "type": "array", - "default": ["deprecationWarningIssues"] - }, - "swift": { - "description": "Configuration object for the swift manager", - "type": "object", - "default": { - "fileMatch": ["(^|/)Package\\.swift"], - "versionScheme": "swift", - "rangeStrategy": "bump" - }, - "$ref": "#" - }, - "terraform": { - "description": "Configuration object for the terraform manager", - "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 the travis manager", - "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 - }, - "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" - } - } -} diff --git a/test/json-schema.ts b/test/json-schema.ts index c9ae08ac1776c19220b81e341bf13bb159cb6495..0726145597c79660053c69074624a9f95349b6cb 100644 --- a/test/json-schema.ts +++ b/test/json-schema.ts @@ -1,15 +1,3 @@ import shell from 'shelljs'; shell.exec('yarn create-json-schema'); - -const res = shell.exec('git status --porcelain', { silent: true }); - -if (res.code === 0 && !res.includes('renovate-schema.json')) { - shell.echo('PASS: renovate-schema.json is up to date'); - shell.exit(0); -} else { - shell.echo( - "ERROR: renovate-schema.json needs updating. Run 'yarn create-json-schema' and commit." - ); - shell.exit(-1); -}