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);
-}