renovate 41.0.0-next.1 → 41.0.0-next.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/decrypt.d.ts +2 -1
- package/dist/config/decrypt.js +13 -8
- package/dist/config/decrypt.js.map +1 -1
- package/dist/config/global.js +0 -2
- package/dist/config/global.js.map +1 -1
- package/dist/config/migration.js +9 -6
- package/dist/config/migration.js.map +1 -1
- package/dist/config/migrations/custom/file-match-migration.d.ts +6 -0
- package/dist/config/migrations/custom/file-match-migration.js +20 -0
- package/dist/config/migrations/custom/file-match-migration.js.map +1 -0
- package/dist/config/migrations/migrations-service.js +2 -0
- package/dist/config/migrations/migrations-service.js.map +1 -1
- package/dist/config/options/index.js +4 -4
- package/dist/config/options/index.js.map +1 -1
- package/dist/config/presets/internal/custom-managers.js +20 -20
- package/dist/config/presets/internal/custom-managers.js.map +1 -1
- package/dist/config/types.d.ts +3 -3
- package/dist/config/types.js.map +1 -1
- package/dist/config/validation-helpers/regex-glob-matchers.js +3 -1
- package/dist/config/validation-helpers/regex-glob-matchers.js.map +1 -1
- package/dist/config/validation.js +6 -19
- package/dist/config/validation.js.map +1 -1
- package/dist/data/monorepo.json +4 -0
- package/dist/data-files.generated.js +1 -1
- package/dist/data-files.generated.js.map +1 -1
- package/dist/modules/datasource/docker/index.d.ts +1 -1
- package/dist/modules/datasource/docker/index.js +1 -1
- package/dist/modules/datasource/docker/index.js.map +1 -1
- package/dist/modules/manager/ansible/index.d.ts +1 -1
- package/dist/modules/manager/ansible/index.js +1 -1
- package/dist/modules/manager/ansible/index.js.map +1 -1
- package/dist/modules/manager/ansible-galaxy/index.d.ts +1 -1
- package/dist/modules/manager/ansible-galaxy/index.js +1 -1
- package/dist/modules/manager/ansible-galaxy/index.js.map +1 -1
- package/dist/modules/manager/api.js +2 -0
- package/dist/modules/manager/api.js.map +1 -1
- package/dist/modules/manager/argocd/index.d.ts +1 -1
- package/dist/modules/manager/argocd/index.js +1 -1
- package/dist/modules/manager/argocd/index.js.map +1 -1
- package/dist/modules/manager/asdf/index.d.ts +1 -1
- package/dist/modules/manager/asdf/index.js +1 -1
- package/dist/modules/manager/asdf/index.js.map +1 -1
- package/dist/modules/manager/azure-pipelines/index.d.ts +1 -1
- package/dist/modules/manager/azure-pipelines/index.js +4 -1
- package/dist/modules/manager/azure-pipelines/index.js.map +1 -1
- package/dist/modules/manager/batect/index.d.ts +1 -1
- package/dist/modules/manager/batect/index.js +1 -1
- package/dist/modules/manager/batect/index.js.map +1 -1
- package/dist/modules/manager/batect-wrapper/index.d.ts +1 -1
- package/dist/modules/manager/batect-wrapper/index.js +1 -1
- package/dist/modules/manager/batect-wrapper/index.js.map +1 -1
- package/dist/modules/manager/bazel/index.d.ts +1 -1
- package/dist/modules/manager/bazel/index.js +4 -4
- package/dist/modules/manager/bazel/index.js.map +1 -1
- package/dist/modules/manager/bazel-module/index.d.ts +1 -1
- package/dist/modules/manager/bazel-module/index.js +1 -1
- package/dist/modules/manager/bazel-module/index.js.map +1 -1
- package/dist/modules/manager/bazelisk/index.d.ts +1 -1
- package/dist/modules/manager/bazelisk/index.js +1 -1
- package/dist/modules/manager/bazelisk/index.js.map +1 -1
- package/dist/modules/manager/bicep/index.d.ts +1 -1
- package/dist/modules/manager/bicep/index.js +1 -1
- package/dist/modules/manager/bicep/index.js.map +1 -1
- package/dist/modules/manager/bitbucket-pipelines/index.d.ts +1 -1
- package/dist/modules/manager/bitbucket-pipelines/index.js +1 -1
- package/dist/modules/manager/bitbucket-pipelines/index.js.map +1 -1
- package/dist/modules/manager/bitrise/index.d.ts +1 -1
- package/dist/modules/manager/bitrise/index.js +1 -1
- package/dist/modules/manager/bitrise/index.js.map +1 -1
- package/dist/modules/manager/buildkite/index.d.ts +1 -1
- package/dist/modules/manager/buildkite/index.js +1 -1
- package/dist/modules/manager/buildkite/index.js.map +1 -1
- package/dist/modules/manager/buildpacks/index.d.ts +1 -1
- package/dist/modules/manager/buildpacks/index.js +1 -1
- package/dist/modules/manager/buildpacks/index.js.map +1 -1
- package/dist/modules/manager/bun/index.d.ts +1 -1
- package/dist/modules/manager/bun/index.js +1 -1
- package/dist/modules/manager/bun/index.js.map +1 -1
- package/dist/modules/manager/bun-version/index.d.ts +1 -1
- package/dist/modules/manager/bun-version/index.js +1 -1
- package/dist/modules/manager/bun-version/index.js.map +1 -1
- package/dist/modules/manager/bundler/index.d.ts +1 -1
- package/dist/modules/manager/bundler/index.js +1 -1
- package/dist/modules/manager/bundler/index.js.map +1 -1
- package/dist/modules/manager/cake/index.d.ts +1 -1
- package/dist/modules/manager/cake/index.js +1 -1
- package/dist/modules/manager/cake/index.js.map +1 -1
- package/dist/modules/manager/cargo/index.d.ts +1 -1
- package/dist/modules/manager/cargo/index.js +1 -1
- package/dist/modules/manager/cargo/index.js.map +1 -1
- package/dist/modules/manager/cdnurl/index.d.ts +1 -1
- package/dist/modules/manager/cdnurl/index.js +1 -1
- package/dist/modules/manager/cdnurl/index.js.map +1 -1
- package/dist/modules/manager/circleci/index.d.ts +1 -1
- package/dist/modules/manager/circleci/index.js +1 -1
- package/dist/modules/manager/circleci/index.js.map +1 -1
- package/dist/modules/manager/cloudbuild/index.d.ts +1 -1
- package/dist/modules/manager/cloudbuild/index.js +1 -1
- package/dist/modules/manager/cloudbuild/index.js.map +1 -1
- package/dist/modules/manager/cocoapods/index.d.ts +1 -1
- package/dist/modules/manager/cocoapods/index.js +1 -1
- package/dist/modules/manager/cocoapods/index.js.map +1 -1
- package/dist/modules/manager/composer/index.d.ts +1 -1
- package/dist/modules/manager/composer/index.js +1 -1
- package/dist/modules/manager/composer/index.js.map +1 -1
- package/dist/modules/manager/conan/index.d.ts +1 -1
- package/dist/modules/manager/conan/index.js +1 -1
- package/dist/modules/manager/conan/index.js.map +1 -1
- package/dist/modules/manager/copier/index.d.ts +1 -1
- package/dist/modules/manager/copier/index.js +1 -1
- package/dist/modules/manager/copier/index.js.map +1 -1
- package/dist/modules/manager/cpanfile/index.d.ts +1 -1
- package/dist/modules/manager/cpanfile/index.js +1 -1
- package/dist/modules/manager/cpanfile/index.js.map +1 -1
- package/dist/modules/manager/crossplane/index.d.ts +1 -1
- package/dist/modules/manager/crossplane/index.js +1 -1
- package/dist/modules/manager/crossplane/index.js.map +1 -1
- package/dist/modules/manager/custom/types.d.ts +1 -1
- package/dist/modules/manager/custom/types.js.map +1 -1
- package/dist/modules/manager/deps-edn/index.d.ts +1 -1
- package/dist/modules/manager/deps-edn/index.js +1 -1
- package/dist/modules/manager/deps-edn/index.js.map +1 -1
- package/dist/modules/manager/devbox/index.d.ts +1 -1
- package/dist/modules/manager/devbox/index.js +1 -1
- package/dist/modules/manager/devbox/index.js.map +1 -1
- package/dist/modules/manager/devcontainer/index.d.ts +1 -1
- package/dist/modules/manager/devcontainer/index.js +4 -1
- package/dist/modules/manager/devcontainer/index.js.map +1 -1
- package/dist/modules/manager/docker-compose/index.d.ts +1 -1
- package/dist/modules/manager/docker-compose/index.js +1 -1
- package/dist/modules/manager/docker-compose/index.js.map +1 -1
- package/dist/modules/manager/dockerfile/index.d.ts +1 -1
- package/dist/modules/manager/dockerfile/index.js +3 -3
- package/dist/modules/manager/dockerfile/index.js.map +1 -1
- package/dist/modules/manager/droneci/index.d.ts +1 -1
- package/dist/modules/manager/droneci/index.js +1 -1
- package/dist/modules/manager/droneci/index.js.map +1 -1
- package/dist/modules/manager/fingerprint.generated.js +6 -5
- package/dist/modules/manager/fingerprint.generated.js.map +1 -1
- package/dist/modules/manager/fleet/index.d.ts +1 -1
- package/dist/modules/manager/fleet/index.js +1 -1
- package/dist/modules/manager/fleet/index.js.map +1 -1
- package/dist/modules/manager/flux/index.d.ts +1 -1
- package/dist/modules/manager/flux/index.js +1 -1
- package/dist/modules/manager/flux/index.js.map +1 -1
- package/dist/modules/manager/fvm/index.d.ts +1 -1
- package/dist/modules/manager/fvm/index.js +1 -1
- package/dist/modules/manager/fvm/index.js.map +1 -1
- package/dist/modules/manager/git-submodules/index.d.ts +1 -1
- package/dist/modules/manager/git-submodules/index.js +1 -1
- package/dist/modules/manager/git-submodules/index.js.map +1 -1
- package/dist/modules/manager/github-actions/index.d.ts +1 -1
- package/dist/modules/manager/github-actions/index.js +3 -3
- package/dist/modules/manager/github-actions/index.js.map +1 -1
- package/dist/modules/manager/gitlabci/index.d.ts +1 -1
- package/dist/modules/manager/gitlabci/index.js +1 -1
- package/dist/modules/manager/gitlabci/index.js.map +1 -1
- package/dist/modules/manager/gitlabci-include/index.d.ts +1 -1
- package/dist/modules/manager/gitlabci-include/index.js +1 -1
- package/dist/modules/manager/gitlabci-include/index.js.map +1 -1
- package/dist/modules/manager/glasskube/index.d.ts +1 -1
- package/dist/modules/manager/glasskube/index.js +1 -1
- package/dist/modules/manager/glasskube/index.js.map +1 -1
- package/dist/modules/manager/gleam/index.d.ts +1 -1
- package/dist/modules/manager/gleam/index.js +1 -1
- package/dist/modules/manager/gleam/index.js.map +1 -1
- package/dist/modules/manager/gomod/artifacts-extra.js +2 -3
- package/dist/modules/manager/gomod/artifacts-extra.js.map +1 -1
- package/dist/modules/manager/gomod/extract.js +10 -0
- package/dist/modules/manager/gomod/extract.js.map +1 -1
- package/dist/modules/manager/gomod/index.d.ts +1 -1
- package/dist/modules/manager/gomod/index.js +1 -1
- package/dist/modules/manager/gomod/index.js.map +1 -1
- package/dist/modules/manager/gomod/line-parser.d.ts +2 -0
- package/dist/modules/manager/gomod/line-parser.js +3 -0
- package/dist/modules/manager/gomod/line-parser.js.map +1 -1
- package/dist/modules/manager/gradle/index.d.ts +1 -1
- package/dist/modules/manager/gradle/index.js +8 -8
- package/dist/modules/manager/gradle/index.js.map +1 -1
- package/dist/modules/manager/gradle-wrapper/index.d.ts +1 -1
- package/dist/modules/manager/gradle-wrapper/index.js +1 -1
- package/dist/modules/manager/gradle-wrapper/index.js.map +1 -1
- package/dist/modules/manager/haskell-cabal/index.d.ts +1 -1
- package/dist/modules/manager/haskell-cabal/index.js +1 -1
- package/dist/modules/manager/haskell-cabal/index.js.map +1 -1
- package/dist/modules/manager/helm-requirements/index.d.ts +1 -1
- package/dist/modules/manager/helm-requirements/index.js +1 -1
- package/dist/modules/manager/helm-requirements/index.js.map +1 -1
- package/dist/modules/manager/helm-values/index.d.ts +1 -1
- package/dist/modules/manager/helm-values/index.js +1 -1
- package/dist/modules/manager/helm-values/index.js.map +1 -1
- package/dist/modules/manager/helmfile/index.d.ts +1 -1
- package/dist/modules/manager/helmfile/index.js +1 -1
- package/dist/modules/manager/helmfile/index.js.map +1 -1
- package/dist/modules/manager/helmsman/index.d.ts +1 -1
- package/dist/modules/manager/helmsman/index.js +1 -1
- package/dist/modules/manager/helmsman/index.js.map +1 -1
- package/dist/modules/manager/helmv3/index.d.ts +1 -1
- package/dist/modules/manager/helmv3/index.js +1 -1
- package/dist/modules/manager/helmv3/index.js.map +1 -1
- package/dist/modules/manager/hermit/default-config.d.ts +1 -1
- package/dist/modules/manager/hermit/default-config.js +1 -1
- package/dist/modules/manager/hermit/default-config.js.map +1 -1
- package/dist/modules/manager/hermit/index.d.ts +1 -1
- package/dist/modules/manager/hermit/index.js +1 -1
- package/dist/modules/manager/hermit/index.js.map +1 -1
- package/dist/modules/manager/homebrew/index.d.ts +1 -1
- package/dist/modules/manager/homebrew/index.js +1 -1
- package/dist/modules/manager/homebrew/index.js.map +1 -1
- package/dist/modules/manager/html/index.d.ts +1 -1
- package/dist/modules/manager/html/index.js +1 -1
- package/dist/modules/manager/html/index.js.map +1 -1
- package/dist/modules/manager/jenkins/index.d.ts +1 -1
- package/dist/modules/manager/jenkins/index.js +1 -1
- package/dist/modules/manager/jenkins/index.js.map +1 -1
- package/dist/modules/manager/jsonnet-bundler/index.d.ts +1 -1
- package/dist/modules/manager/jsonnet-bundler/index.js +1 -1
- package/dist/modules/manager/jsonnet-bundler/index.js.map +1 -1
- package/dist/modules/manager/kotlin-script/index.d.ts +1 -1
- package/dist/modules/manager/kotlin-script/index.js +1 -1
- package/dist/modules/manager/kotlin-script/index.js.map +1 -1
- package/dist/modules/manager/kubernetes/index.d.ts +1 -1
- package/dist/modules/manager/kubernetes/index.js +1 -1
- package/dist/modules/manager/kubernetes/index.js.map +1 -1
- package/dist/modules/manager/kustomize/index.d.ts +1 -1
- package/dist/modules/manager/kustomize/index.js +1 -1
- package/dist/modules/manager/kustomize/index.js.map +1 -1
- package/dist/modules/manager/leiningen/index.d.ts +1 -1
- package/dist/modules/manager/leiningen/index.js +1 -1
- package/dist/modules/manager/leiningen/index.js.map +1 -1
- package/dist/modules/manager/maven/index.d.ts +1 -1
- package/dist/modules/manager/maven/index.js +4 -4
- package/dist/modules/manager/maven/index.js.map +1 -1
- package/dist/modules/manager/maven-wrapper/index.d.ts +1 -1
- package/dist/modules/manager/maven-wrapper/index.js +1 -1
- package/dist/modules/manager/maven-wrapper/index.js.map +1 -1
- package/dist/modules/manager/meteor/index.d.ts +1 -1
- package/dist/modules/manager/meteor/index.js +1 -1
- package/dist/modules/manager/meteor/index.js.map +1 -1
- package/dist/modules/manager/mint/index.d.ts +1 -1
- package/dist/modules/manager/mint/index.js +1 -1
- package/dist/modules/manager/mint/index.js.map +1 -1
- package/dist/modules/manager/mise/index.d.ts +1 -1
- package/dist/modules/manager/mise/index.js +4 -1
- package/dist/modules/manager/mise/index.js.map +1 -1
- package/dist/modules/manager/mix/index.d.ts +1 -1
- package/dist/modules/manager/mix/index.js +1 -1
- package/dist/modules/manager/mix/index.js.map +1 -1
- package/dist/modules/manager/nix/index.d.ts +1 -1
- package/dist/modules/manager/nix/index.js +1 -1
- package/dist/modules/manager/nix/index.js.map +1 -1
- package/dist/modules/manager/nodenv/index.d.ts +1 -1
- package/dist/modules/manager/nodenv/index.js +1 -1
- package/dist/modules/manager/nodenv/index.js.map +1 -1
- package/dist/modules/manager/npm/extract/index.js +1 -1
- package/dist/modules/manager/npm/extract/index.js.map +1 -1
- package/dist/modules/manager/npm/index.d.ts +1 -1
- package/dist/modules/manager/npm/index.js +4 -1
- package/dist/modules/manager/npm/index.js.map +1 -1
- package/dist/modules/manager/nuget/index.d.ts +1 -1
- package/dist/modules/manager/nuget/index.js +5 -5
- package/dist/modules/manager/nuget/index.js.map +1 -1
- package/dist/modules/manager/nvm/index.d.ts +1 -1
- package/dist/modules/manager/nvm/index.js +1 -1
- package/dist/modules/manager/nvm/index.js.map +1 -1
- package/dist/modules/manager/ocb/index.d.ts +1 -1
- package/dist/modules/manager/ocb/index.js +1 -1
- package/dist/modules/manager/ocb/index.js.map +1 -1
- package/dist/modules/manager/osgi/index.d.ts +1 -1
- package/dist/modules/manager/osgi/index.js +1 -1
- package/dist/modules/manager/osgi/index.js.map +1 -1
- package/dist/modules/manager/pep621/index.d.ts +1 -1
- package/dist/modules/manager/pep621/index.js +1 -1
- package/dist/modules/manager/pep621/index.js.map +1 -1
- package/dist/modules/manager/pep723/index.d.ts +1 -1
- package/dist/modules/manager/pep723/index.js +1 -1
- package/dist/modules/manager/pep723/index.js.map +1 -1
- package/dist/modules/manager/pip-compile/common.js +1 -1
- package/dist/modules/manager/pip-compile/common.js.map +1 -1
- package/dist/modules/manager/pip-compile/extract.d.ts +1 -1
- package/dist/modules/manager/pip-compile/extract.js +22 -22
- package/dist/modules/manager/pip-compile/extract.js.map +1 -1
- package/dist/modules/manager/pip-compile/index.d.ts +1 -1
- package/dist/modules/manager/pip-compile/index.js +1 -1
- package/dist/modules/manager/pip-compile/index.js.map +1 -1
- package/dist/modules/manager/pip_requirements/index.d.ts +1 -1
- package/dist/modules/manager/pip_requirements/index.js +1 -1
- package/dist/modules/manager/pip_requirements/index.js.map +1 -1
- package/dist/modules/manager/pip_setup/index.d.ts +1 -1
- package/dist/modules/manager/pip_setup/index.js +1 -1
- package/dist/modules/manager/pip_setup/index.js.map +1 -1
- package/dist/modules/manager/pipenv/index.d.ts +1 -1
- package/dist/modules/manager/pipenv/index.js +1 -1
- package/dist/modules/manager/pipenv/index.js.map +1 -1
- package/dist/modules/manager/pixi/index.d.ts +1 -1
- package/dist/modules/manager/pixi/index.js +3 -3
- package/dist/modules/manager/pixi/index.js.map +1 -1
- package/dist/modules/manager/poetry/index.d.ts +1 -1
- package/dist/modules/manager/poetry/index.js +1 -1
- package/dist/modules/manager/poetry/index.js.map +1 -1
- package/dist/modules/manager/pre-commit/index.d.ts +1 -1
- package/dist/modules/manager/pre-commit/index.js +1 -1
- package/dist/modules/manager/pre-commit/index.js.map +1 -1
- package/dist/modules/manager/pub/index.d.ts +1 -1
- package/dist/modules/manager/pub/index.js +1 -1
- package/dist/modules/manager/pub/index.js.map +1 -1
- package/dist/modules/manager/puppet/index.d.ts +1 -1
- package/dist/modules/manager/puppet/index.js +1 -1
- package/dist/modules/manager/puppet/index.js.map +1 -1
- package/dist/modules/manager/pyenv/index.d.ts +1 -1
- package/dist/modules/manager/pyenv/index.js +1 -1
- package/dist/modules/manager/pyenv/index.js.map +1 -1
- package/dist/modules/manager/renovate-config-presets/extract.d.ts +2 -0
- package/dist/modules/manager/renovate-config-presets/extract.js +52 -0
- package/dist/modules/manager/renovate-config-presets/extract.js.map +1 -0
- package/dist/modules/manager/renovate-config-presets/index.d.ts +6 -0
- package/dist/modules/manager/renovate-config-presets/index.js +21 -0
- package/dist/modules/manager/renovate-config-presets/index.js.map +1 -0
- package/dist/modules/manager/renovate-config-presets/schema.d.ts +8 -0
- package/dist/modules/manager/renovate-config-presets/schema.js +9 -0
- package/dist/modules/manager/renovate-config-presets/schema.js.map +1 -0
- package/dist/modules/manager/ruby-version/index.d.ts +1 -1
- package/dist/modules/manager/ruby-version/index.js +1 -1
- package/dist/modules/manager/ruby-version/index.js.map +1 -1
- package/dist/modules/manager/runtime-version/index.d.ts +1 -1
- package/dist/modules/manager/runtime-version/index.js +1 -1
- package/dist/modules/manager/runtime-version/index.js.map +1 -1
- package/dist/modules/manager/sbt/index.d.ts +1 -1
- package/dist/modules/manager/sbt/index.js +5 -5
- package/dist/modules/manager/sbt/index.js.map +1 -1
- package/dist/modules/manager/scalafmt/index.d.ts +1 -1
- package/dist/modules/manager/scalafmt/index.js +1 -1
- package/dist/modules/manager/scalafmt/index.js.map +1 -1
- package/dist/modules/manager/setup-cfg/index.d.ts +1 -1
- package/dist/modules/manager/setup-cfg/index.js +1 -1
- package/dist/modules/manager/setup-cfg/index.js.map +1 -1
- package/dist/modules/manager/sveltos/index.d.ts +1 -1
- package/dist/modules/manager/sveltos/index.js +1 -1
- package/dist/modules/manager/sveltos/index.js.map +1 -1
- package/dist/modules/manager/swift/index.d.ts +1 -1
- package/dist/modules/manager/swift/index.js +1 -1
- package/dist/modules/manager/swift/index.js.map +1 -1
- package/dist/modules/manager/tekton/index.d.ts +1 -1
- package/dist/modules/manager/tekton/index.js +1 -1
- package/dist/modules/manager/tekton/index.js.map +1 -1
- package/dist/modules/manager/terraform/index.d.ts +1 -1
- package/dist/modules/manager/terraform/index.js +1 -1
- package/dist/modules/manager/terraform/index.js.map +1 -1
- package/dist/modules/manager/terraform-version/index.d.ts +1 -1
- package/dist/modules/manager/terraform-version/index.js +1 -1
- package/dist/modules/manager/terraform-version/index.js.map +1 -1
- package/dist/modules/manager/terragrunt/index.d.ts +1 -1
- package/dist/modules/manager/terragrunt/index.js +1 -1
- package/dist/modules/manager/terragrunt/index.js.map +1 -1
- package/dist/modules/manager/terragrunt-version/index.d.ts +1 -1
- package/dist/modules/manager/terragrunt-version/index.js +1 -1
- package/dist/modules/manager/terragrunt-version/index.js.map +1 -1
- package/dist/modules/manager/tflint-plugin/index.d.ts +1 -1
- package/dist/modules/manager/tflint-plugin/index.js +1 -1
- package/dist/modules/manager/tflint-plugin/index.js.map +1 -1
- package/dist/modules/manager/travis/index.d.ts +1 -1
- package/dist/modules/manager/travis/index.js +1 -1
- package/dist/modules/manager/travis/index.js.map +1 -1
- package/dist/modules/manager/velaci/index.d.ts +1 -1
- package/dist/modules/manager/velaci/index.js +1 -1
- package/dist/modules/manager/velaci/index.js.map +1 -1
- package/dist/modules/manager/vendir/index.d.ts +1 -1
- package/dist/modules/manager/vendir/index.js +1 -1
- package/dist/modules/manager/vendir/index.js.map +1 -1
- package/dist/modules/manager/woodpecker/index.d.ts +1 -1
- package/dist/modules/manager/woodpecker/index.js +1 -1
- package/dist/modules/manager/woodpecker/index.js.map +1 -1
- package/dist/modules/versioning/ruby/index.js +4 -1
- package/dist/modules/versioning/ruby/index.js.map +1 -1
- package/dist/util/http/cache/memory-http-cache-provider.js +3 -1
- package/dist/util/http/cache/memory-http-cache-provider.js.map +1 -1
- package/dist/workers/global/config/parse/index.d.ts +1 -0
- package/dist/workers/global/config/parse/index.js +28 -0
- package/dist/workers/global/config/parse/index.js.map +1 -1
- package/dist/workers/global/index.d.ts +0 -1
- package/dist/workers/global/index.js +0 -18
- package/dist/workers/global/index.js.map +1 -1
- package/dist/workers/repository/extract/extract-fingerprint-config.js +1 -1
- package/dist/workers/repository/extract/extract-fingerprint-config.js.map +1 -1
- package/dist/workers/repository/extract/file-match.js +5 -6
- package/dist/workers/repository/extract/file-match.js.map +1 -1
- package/dist/workers/repository/update/pr/code-owners.js +7 -7
- package/dist/workers/repository/update/pr/code-owners.js.map +1 -1
- package/dist/workers/repository/updates/generate.js +2 -2
- package/dist/workers/repository/updates/generate.js.map +1 -1
- package/dist/workers/types.d.ts +1 -1
- package/dist/workers/types.js.map +1 -1
- package/package.json +22 -23
- package/renovate-schema.json +256 -240
package/dist/config/decrypt.d.ts
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
import type { RenovateConfig } from './types';
|
2
|
-
export declare function
|
2
|
+
export declare function setPrivateKeys(pKey: string | undefined, pKeyOld: string | undefined): void;
|
3
|
+
export declare function tryDecrypt(key: string, encryptedStr: string, repository: string, keyName: string): Promise<string | null>;
|
3
4
|
export declare function validateDecryptedValue(decryptedObjStr: string, repository: string): string | null;
|
4
5
|
export declare function decryptConfig(config: RenovateConfig, repository: string, existingPath?: string): Promise<RenovateConfig>;
|
5
6
|
export declare function getAzureCollection(): string | undefined;
|
package/dist/config/decrypt.js
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.setPrivateKeys = setPrivateKeys;
|
3
4
|
exports.tryDecrypt = tryDecrypt;
|
4
5
|
exports.validateDecryptedValue = validateDecryptedValue;
|
5
6
|
exports.decryptConfig = decryptConfig;
|
@@ -16,23 +17,29 @@ const legacy_1 = require("./decrypt/legacy");
|
|
16
17
|
const openpgp_1 = require("./decrypt/openpgp");
|
17
18
|
const global_1 = require("./global");
|
18
19
|
const schema_1 = require("./schema");
|
19
|
-
|
20
|
+
let privateKey;
|
21
|
+
let privateKeyOld;
|
22
|
+
function setPrivateKeys(pKey, pKeyOld) {
|
23
|
+
privateKey = pKey;
|
24
|
+
privateKeyOld = pKeyOld;
|
25
|
+
}
|
26
|
+
async function tryDecrypt(key, encryptedStr, repository, keyName) {
|
20
27
|
let decryptedStr = null;
|
21
|
-
if (
|
28
|
+
if (key?.startsWith('-----BEGIN PGP PRIVATE KEY BLOCK-----')) {
|
22
29
|
const decryptedObjStr = process.env.RENOVATE_X_USE_OPENPGP === 'true'
|
23
|
-
? await (0, openpgp_1.tryDecryptOpenPgp)(
|
24
|
-
: await (0, kbpgp_1.tryDecryptKbPgp)(
|
30
|
+
? await (0, openpgp_1.tryDecryptOpenPgp)(key, encryptedStr)
|
31
|
+
: await (0, kbpgp_1.tryDecryptKbPgp)(key, encryptedStr);
|
25
32
|
if (decryptedObjStr) {
|
26
33
|
decryptedStr = validateDecryptedValue(decryptedObjStr, repository);
|
27
34
|
}
|
28
35
|
}
|
29
36
|
else {
|
30
|
-
decryptedStr = (0, legacy_1.tryDecryptPublicKeyDefault)(
|
37
|
+
decryptedStr = (0, legacy_1.tryDecryptPublicKeyDefault)(key, encryptedStr);
|
31
38
|
if (is_1.default.string(decryptedStr)) {
|
32
39
|
logger_1.logger.warn({ keyName }, 'Encrypted value is using deprecated default padding, please change to using PGP encryption.');
|
33
40
|
}
|
34
41
|
else {
|
35
|
-
decryptedStr = (0, legacy_1.tryDecryptPublicKeyPKCS1)(
|
42
|
+
decryptedStr = (0, legacy_1.tryDecryptPublicKeyPKCS1)(key, encryptedStr);
|
36
43
|
/* v8 ignore start -- not testable */
|
37
44
|
if (is_1.default.string(decryptedStr)) {
|
38
45
|
logger_1.logger.warn({ keyName }, 'Encrypted value is using deprecated PKCS1 padding, please change to using PGP encryption.');
|
@@ -110,8 +117,6 @@ function validateDecryptedValue(decryptedObjStr, repository) {
|
|
110
117
|
async function decryptConfig(config, repository, existingPath = '$') {
|
111
118
|
logger_1.logger.trace({ config }, 'decryptConfig()');
|
112
119
|
const decryptedConfig = { ...config };
|
113
|
-
const privateKey = global_1.GlobalConfig.get('privateKey');
|
114
|
-
const privateKeyOld = global_1.GlobalConfig.get('privateKeyOld');
|
115
120
|
for (const [key, val] of Object.entries(config)) {
|
116
121
|
if (key === 'encrypted' && is_1.default.object(val)) {
|
117
122
|
const path = `${existingPath}.${key}`;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"decrypt.js","sourceRoot":"","sources":["../../lib/config/decrypt.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { CONFIG_VALIDATION } from '../constants/error-messages';\nimport { logger } from '../logger';\nimport { regEx } from '../util/regex';\nimport { addSecretForSanitizing } from '../util/sanitize';\nimport { ensureTrailingSlash, parseUrl, trimSlashes } from '../util/url';\nimport { tryDecryptKbPgp } from './decrypt/kbpgp';\nimport {\n tryDecryptPublicKeyDefault,\n tryDecryptPublicKeyPKCS1,\n} from './decrypt/legacy';\nimport { tryDecryptOpenPgp } from './decrypt/openpgp';\nimport { GlobalConfig } from './global';\nimport { DecryptedObject } from './schema';\nimport type { RenovateConfig } from './types';\n\nexport async function tryDecrypt(\n privateKey: string,\n encryptedStr: string,\n repository: string,\n keyName: string,\n): Promise<string | null> {\n let decryptedStr: string | null = null;\n if (privateKey?.startsWith('-----BEGIN PGP PRIVATE KEY BLOCK-----')) {\n const decryptedObjStr =\n process.env.RENOVATE_X_USE_OPENPGP === 'true'\n ? await tryDecryptOpenPgp(privateKey, encryptedStr)\n : await tryDecryptKbPgp(privateKey, encryptedStr);\n if (decryptedObjStr) {\n decryptedStr = validateDecryptedValue(decryptedObjStr, repository);\n }\n } else {\n decryptedStr = tryDecryptPublicKeyDefault(privateKey, encryptedStr);\n if (is.string(decryptedStr)) {\n logger.warn(\n { keyName },\n 'Encrypted value is using deprecated default padding, please change to using PGP encryption.',\n );\n } else {\n decryptedStr = tryDecryptPublicKeyPKCS1(privateKey, encryptedStr);\n /* v8 ignore start -- not testable */\n if (is.string(decryptedStr)) {\n logger.warn(\n { keyName },\n 'Encrypted value is using deprecated PKCS1 padding, please change to using PGP encryption.',\n );\n }\n /* v8 ignore stop */\n }\n }\n return decryptedStr;\n}\n\nexport function validateDecryptedValue(\n decryptedObjStr: string,\n repository: string,\n): string | null {\n try {\n const decryptedObj = DecryptedObject.safeParse(decryptedObjStr);\n if (!decryptedObj.success) {\n const error = new Error('config-validation');\n error.validationError = `Could not parse decrypted config.`;\n throw error;\n }\n\n const { o: org, r: repo, v: value } = decryptedObj.data;\n\n if (!is.nonEmptyString(value)) {\n const error = new Error('config-validation');\n error.validationError = `Encrypted value in config is missing a value.`;\n throw error;\n }\n\n if (!is.nonEmptyString(org)) {\n const error = new Error('config-validation');\n error.validationError = `Encrypted value in config is missing a scope.`;\n throw error;\n }\n\n const repositories = [repository.toUpperCase()];\n\n const azureCollection = getAzureCollection();\n if (is.nonEmptyString(azureCollection)) {\n // used for full 'org/project/repo' matching\n repositories.push(`${azureCollection}/${repository}`.toUpperCase());\n // used for org prefix matching without repo\n repositories.push(`${azureCollection}/*/`.toUpperCase());\n }\n\n const orgPrefixes = org\n .split(',')\n .map((o) => o.trim())\n .map((o) => o.toUpperCase())\n .map((o) => ensureTrailingSlash(o));\n\n if (is.nonEmptyString(repo)) {\n const scopedRepos = orgPrefixes.map((orgPrefix) =>\n `${orgPrefix}${repo}`.toUpperCase(),\n );\n for (const rp of repositories) {\n if (scopedRepos.some((r) => r === rp)) {\n return value;\n }\n }\n\n logger.debug(\n { scopedRepos },\n 'Secret is scoped to a different repository',\n );\n const error = new Error('config-validation');\n const scopeString = scopedRepos.join(',');\n error.validationError = `Encrypted secret is scoped to a different repository: \"${scopeString}\".`;\n throw error;\n }\n\n // no scoped repos, only org\n const azcol =\n azureCollection === undefined\n ? undefined\n : ensureTrailingSlash(azureCollection).toUpperCase();\n for (const rp of repositories) {\n if (\n orgPrefixes.some(\n (orgPrefix) => rp.startsWith(orgPrefix) && orgPrefix !== azcol,\n )\n ) {\n return value;\n }\n }\n logger.debug({ orgPrefixes }, 'Secret is scoped to a different org');\n const error = new Error('config-validation');\n const scopeString = orgPrefixes.join(',');\n error.validationError = `Encrypted secret is scoped to a different org: \"${scopeString}\".`;\n throw error;\n } catch (err) {\n logger.warn({ err }, 'Could not parse decrypted string');\n }\n return null;\n}\n\nexport async function decryptConfig(\n config: RenovateConfig,\n repository: string,\n existingPath = '$',\n): Promise<RenovateConfig> {\n logger.trace({ config }, 'decryptConfig()');\n const decryptedConfig = { ...config };\n const privateKey = GlobalConfig.get('privateKey');\n const privateKeyOld = GlobalConfig.get('privateKeyOld');\n for (const [key, val] of Object.entries(config)) {\n if (key === 'encrypted' && is.object(val)) {\n const path = `${existingPath}.${key}`;\n logger.debug({ config: val }, `Found encrypted config in ${path}`);\n\n const encryptedWarning = GlobalConfig.get('encryptedWarning');\n if (is.string(encryptedWarning)) {\n logger.once.warn(encryptedWarning);\n }\n\n if (privateKey) {\n for (const [eKey, eVal] of Object.entries(val)) {\n logger.debug(`Trying to decrypt ${eKey} in ${path}`);\n let decryptedStr = await tryDecrypt(\n privateKey,\n eVal,\n repository,\n eKey,\n );\n if (privateKeyOld && !is.nonEmptyString(decryptedStr)) {\n logger.debug(`Trying to decrypt with old private key`);\n decryptedStr = await tryDecrypt(\n privateKeyOld,\n eVal,\n repository,\n eKey,\n );\n }\n if (!is.nonEmptyString(decryptedStr)) {\n const error = new Error('config-validation');\n error.validationError = `Failed to decrypt field ${eKey}. Please re-encrypt and try again.`;\n throw error;\n }\n logger.debug(`Decrypted ${eKey} in ${path}`);\n if (eKey === 'npmToken') {\n const token = decryptedStr.replace(regEx(/\\n$/), '');\n decryptedConfig[eKey] = token;\n addSecretForSanitizing(token);\n } else {\n decryptedConfig[eKey] = decryptedStr;\n addSecretForSanitizing(decryptedStr);\n }\n }\n } else {\n if (process.env.RENOVATE_X_ENCRYPTED_STRICT === 'true') {\n const error = new Error(CONFIG_VALIDATION);\n error.validationSource = 'config';\n error.validationError = 'Encrypted config unsupported';\n error.validationMessage = `This config contains an encrypted object at location \\`$.${key}\\` but no privateKey is configured. To support encrypted config, the Renovate administrator must configure a \\`privateKey\\` in Global Configuration.`;\n if (process.env.MEND_HOSTED === 'true') {\n error.validationMessage = `Mend-hosted Renovate Apps no longer support the use of encrypted secrets in Renovate file config (e.g. renovate.json).\nPlease migrate all secrets to the Developer Portal using the web UI available at https://developer.mend.io/\n\nRefer to migration documents here: https://docs.renovatebot.com/mend-hosted/migrating-secrets/`;\n }\n throw error;\n } else {\n logger.error('Found encrypted data but no privateKey');\n }\n }\n delete decryptedConfig.encrypted;\n } else if (is.array(val)) {\n decryptedConfig[key] = [];\n for (const [index, item] of val.entries()) {\n if (is.object(item) && !is.array(item)) {\n const path = `${existingPath}.${key}[${index}]`;\n (decryptedConfig[key] as RenovateConfig[]).push(\n await decryptConfig(item as RenovateConfig, repository, path),\n );\n } else {\n (decryptedConfig[key] as unknown[]).push(item);\n }\n }\n } else if (is.object(val) && key !== 'content') {\n const path = `${existingPath}.${key}`;\n decryptedConfig[key] = await decryptConfig(\n val as RenovateConfig,\n repository,\n path,\n );\n }\n }\n delete decryptedConfig.encrypted;\n logger.trace({ config: decryptedConfig }, 'decryptedConfig');\n return decryptedConfig;\n}\n\nexport function getAzureCollection(): string | undefined {\n const platform = GlobalConfig.get('platform');\n if (platform !== 'azure') {\n return undefined;\n }\n\n const endpoint = GlobalConfig.get('endpoint');\n const endpointUrl = parseUrl(endpoint);\n if (endpointUrl === null) {\n // should not happen\n logger.warn({ endpoint }, 'Unable to parse endpoint for token decryption');\n return undefined;\n }\n\n const azureCollection = trimSlashes(endpointUrl.pathname);\n if (!is.nonEmptyString(azureCollection)) {\n logger.debug({ endpoint }, 'Unable to find azure collection name from URL');\n return undefined;\n }\n\n if (azureCollection.startsWith('tfs/')) {\n // Azure DevOps Server\n return azureCollection.substring(4);\n }\n return azureCollection;\n}\n"]}
|
1
|
+
{"version":3,"file":"decrypt.js","sourceRoot":"","sources":["../../lib/config/decrypt.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { CONFIG_VALIDATION } from '../constants/error-messages';\nimport { logger } from '../logger';\nimport { regEx } from '../util/regex';\nimport { addSecretForSanitizing } from '../util/sanitize';\nimport { ensureTrailingSlash, parseUrl, trimSlashes } from '../util/url';\nimport { tryDecryptKbPgp } from './decrypt/kbpgp';\nimport {\n tryDecryptPublicKeyDefault,\n tryDecryptPublicKeyPKCS1,\n} from './decrypt/legacy';\nimport { tryDecryptOpenPgp } from './decrypt/openpgp';\nimport { GlobalConfig } from './global';\nimport { DecryptedObject } from './schema';\nimport type { RenovateConfig } from './types';\n\nlet privateKey: string | undefined;\nlet privateKeyOld: string | undefined;\n\nexport function setPrivateKeys(\n pKey: string | undefined,\n pKeyOld: string | undefined,\n): void {\n privateKey = pKey;\n privateKeyOld = pKeyOld;\n}\n\nexport async function tryDecrypt(\n key: string,\n encryptedStr: string,\n repository: string,\n keyName: string,\n): Promise<string | null> {\n let decryptedStr: string | null = null;\n if (key?.startsWith('-----BEGIN PGP PRIVATE KEY BLOCK-----')) {\n const decryptedObjStr =\n process.env.RENOVATE_X_USE_OPENPGP === 'true'\n ? await tryDecryptOpenPgp(key, encryptedStr)\n : await tryDecryptKbPgp(key, encryptedStr);\n if (decryptedObjStr) {\n decryptedStr = validateDecryptedValue(decryptedObjStr, repository);\n }\n } else {\n decryptedStr = tryDecryptPublicKeyDefault(key, encryptedStr);\n if (is.string(decryptedStr)) {\n logger.warn(\n { keyName },\n 'Encrypted value is using deprecated default padding, please change to using PGP encryption.',\n );\n } else {\n decryptedStr = tryDecryptPublicKeyPKCS1(key, encryptedStr);\n /* v8 ignore start -- not testable */\n if (is.string(decryptedStr)) {\n logger.warn(\n { keyName },\n 'Encrypted value is using deprecated PKCS1 padding, please change to using PGP encryption.',\n );\n }\n /* v8 ignore stop */\n }\n }\n return decryptedStr;\n}\n\nexport function validateDecryptedValue(\n decryptedObjStr: string,\n repository: string,\n): string | null {\n try {\n const decryptedObj = DecryptedObject.safeParse(decryptedObjStr);\n if (!decryptedObj.success) {\n const error = new Error('config-validation');\n error.validationError = `Could not parse decrypted config.`;\n throw error;\n }\n\n const { o: org, r: repo, v: value } = decryptedObj.data;\n\n if (!is.nonEmptyString(value)) {\n const error = new Error('config-validation');\n error.validationError = `Encrypted value in config is missing a value.`;\n throw error;\n }\n\n if (!is.nonEmptyString(org)) {\n const error = new Error('config-validation');\n error.validationError = `Encrypted value in config is missing a scope.`;\n throw error;\n }\n\n const repositories = [repository.toUpperCase()];\n\n const azureCollection = getAzureCollection();\n if (is.nonEmptyString(azureCollection)) {\n // used for full 'org/project/repo' matching\n repositories.push(`${azureCollection}/${repository}`.toUpperCase());\n // used for org prefix matching without repo\n repositories.push(`${azureCollection}/*/`.toUpperCase());\n }\n\n const orgPrefixes = org\n .split(',')\n .map((o) => o.trim())\n .map((o) => o.toUpperCase())\n .map((o) => ensureTrailingSlash(o));\n\n if (is.nonEmptyString(repo)) {\n const scopedRepos = orgPrefixes.map((orgPrefix) =>\n `${orgPrefix}${repo}`.toUpperCase(),\n );\n for (const rp of repositories) {\n if (scopedRepos.some((r) => r === rp)) {\n return value;\n }\n }\n\n logger.debug(\n { scopedRepos },\n 'Secret is scoped to a different repository',\n );\n const error = new Error('config-validation');\n const scopeString = scopedRepos.join(',');\n error.validationError = `Encrypted secret is scoped to a different repository: \"${scopeString}\".`;\n throw error;\n }\n\n // no scoped repos, only org\n const azcol =\n azureCollection === undefined\n ? undefined\n : ensureTrailingSlash(azureCollection).toUpperCase();\n for (const rp of repositories) {\n if (\n orgPrefixes.some(\n (orgPrefix) => rp.startsWith(orgPrefix) && orgPrefix !== azcol,\n )\n ) {\n return value;\n }\n }\n logger.debug({ orgPrefixes }, 'Secret is scoped to a different org');\n const error = new Error('config-validation');\n const scopeString = orgPrefixes.join(',');\n error.validationError = `Encrypted secret is scoped to a different org: \"${scopeString}\".`;\n throw error;\n } catch (err) {\n logger.warn({ err }, 'Could not parse decrypted string');\n }\n return null;\n}\n\nexport async function decryptConfig(\n config: RenovateConfig,\n repository: string,\n existingPath = '$',\n): Promise<RenovateConfig> {\n logger.trace({ config }, 'decryptConfig()');\n const decryptedConfig = { ...config };\n for (const [key, val] of Object.entries(config)) {\n if (key === 'encrypted' && is.object(val)) {\n const path = `${existingPath}.${key}`;\n logger.debug({ config: val }, `Found encrypted config in ${path}`);\n\n const encryptedWarning = GlobalConfig.get('encryptedWarning');\n if (is.string(encryptedWarning)) {\n logger.once.warn(encryptedWarning);\n }\n\n if (privateKey) {\n for (const [eKey, eVal] of Object.entries(val)) {\n logger.debug(`Trying to decrypt ${eKey} in ${path}`);\n let decryptedStr = await tryDecrypt(\n privateKey,\n eVal,\n repository,\n eKey,\n );\n if (privateKeyOld && !is.nonEmptyString(decryptedStr)) {\n logger.debug(`Trying to decrypt with old private key`);\n decryptedStr = await tryDecrypt(\n privateKeyOld,\n eVal,\n repository,\n eKey,\n );\n }\n if (!is.nonEmptyString(decryptedStr)) {\n const error = new Error('config-validation');\n error.validationError = `Failed to decrypt field ${eKey}. Please re-encrypt and try again.`;\n throw error;\n }\n logger.debug(`Decrypted ${eKey} in ${path}`);\n if (eKey === 'npmToken') {\n const token = decryptedStr.replace(regEx(/\\n$/), '');\n decryptedConfig[eKey] = token;\n addSecretForSanitizing(token);\n } else {\n decryptedConfig[eKey] = decryptedStr;\n addSecretForSanitizing(decryptedStr);\n }\n }\n } else {\n if (process.env.RENOVATE_X_ENCRYPTED_STRICT === 'true') {\n const error = new Error(CONFIG_VALIDATION);\n error.validationSource = 'config';\n error.validationError = 'Encrypted config unsupported';\n error.validationMessage = `This config contains an encrypted object at location \\`$.${key}\\` but no privateKey is configured. To support encrypted config, the Renovate administrator must configure a \\`privateKey\\` in Global Configuration.`;\n if (process.env.MEND_HOSTED === 'true') {\n error.validationMessage = `Mend-hosted Renovate Apps no longer support the use of encrypted secrets in Renovate file config (e.g. renovate.json).\nPlease migrate all secrets to the Developer Portal using the web UI available at https://developer.mend.io/\n\nRefer to migration documents here: https://docs.renovatebot.com/mend-hosted/migrating-secrets/`;\n }\n throw error;\n } else {\n logger.error('Found encrypted data but no privateKey');\n }\n }\n delete decryptedConfig.encrypted;\n } else if (is.array(val)) {\n decryptedConfig[key] = [];\n for (const [index, item] of val.entries()) {\n if (is.object(item) && !is.array(item)) {\n const path = `${existingPath}.${key}[${index}]`;\n (decryptedConfig[key] as RenovateConfig[]).push(\n await decryptConfig(item as RenovateConfig, repository, path),\n );\n } else {\n (decryptedConfig[key] as unknown[]).push(item);\n }\n }\n } else if (is.object(val) && key !== 'content') {\n const path = `${existingPath}.${key}`;\n decryptedConfig[key] = await decryptConfig(\n val as RenovateConfig,\n repository,\n path,\n );\n }\n }\n delete decryptedConfig.encrypted;\n logger.trace({ config: decryptedConfig }, 'decryptedConfig');\n return decryptedConfig;\n}\n\nexport function getAzureCollection(): string | undefined {\n const platform = GlobalConfig.get('platform');\n if (platform !== 'azure') {\n return undefined;\n }\n\n const endpoint = GlobalConfig.get('endpoint');\n const endpointUrl = parseUrl(endpoint);\n if (endpointUrl === null) {\n // should not happen\n logger.warn({ endpoint }, 'Unable to parse endpoint for token decryption');\n return undefined;\n }\n\n const azureCollection = trimSlashes(endpointUrl.pathname);\n if (!is.nonEmptyString(azureCollection)) {\n logger.debug({ endpoint }, 'Unable to find azure collection name from URL');\n return undefined;\n }\n\n if (azureCollection.startsWith('tfs/')) {\n // Azure DevOps Server\n return azureCollection.substring(4);\n }\n return azureCollection;\n}\n"]}
|
package/dist/config/global.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"global.js","sourceRoot":"","sources":["../../lib/config/global.ts"],"names":[],"mappings":";;;AAEA,MAAa,YAAY;IACvB,iIAAiI;IACzH,MAAM,CAAU,OAAO,GAA+B;QAC5D,iBAAiB;QACjB,YAAY;QACZ,4BAA4B;QAC5B,gBAAgB;QAChB,cAAc;QACd,cAAc;QACd,cAAc;QACd,UAAU;QACV,qBAAqB;QACrB,kBAAkB;QAClB,kBAAkB;QAClB,oBAAoB;QACpB,mBAAmB;QACnB,kBAAkB;QAClB,oBAAoB;QACpB,YAAY;QACZ,QAAQ;QACR,kBAAkB;QAClB,cAAc;QACd,kBAAkB;QAClB,iBAAiB;QACjB,UAAU;QACV,gBAAgB;QAChB,wBAAwB;QACxB,YAAY;QACZ,
|
1
|
+
{"version":3,"file":"global.js","sourceRoot":"","sources":["../../lib/config/global.ts"],"names":[],"mappings":";;;AAEA,MAAa,YAAY;IACvB,iIAAiI;IACzH,MAAM,CAAU,OAAO,GAA+B;QAC5D,iBAAiB;QACjB,YAAY;QACZ,4BAA4B;QAC5B,gBAAgB;QAChB,cAAc;QACd,cAAc;QACd,cAAc;QACd,UAAU;QACV,qBAAqB;QACrB,kBAAkB;QAClB,kBAAkB;QAClB,oBAAoB;QACpB,mBAAmB;QACnB,kBAAkB;QAClB,oBAAoB;QACpB,YAAY;QACZ,QAAQ;QACR,kBAAkB;QAClB,cAAc;QACd,kBAAkB;QAClB,iBAAiB;QACjB,UAAU;QACV,gBAAgB;QAChB,wBAAwB;QACxB,YAAY;QACZ,UAAU;QACV,UAAU;QACV,kBAAkB;QAClB,sBAAsB;QACtB,uBAAuB;QACvB,WAAW;QACX,gBAAgB;QAChB,YAAY;QACZ,aAAa;QACb,sBAAsB;KACvB,CAAC;IAEM,MAAM,CAAC,MAAM,GAAqB,EAAE,CAAC;IAU7C,MAAM,CAAC,GAAG,CACR,GAAS,EACT,YAAoC;QAEpC,OAAO,GAAG;YACR,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC;YAC5C,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,MAAyC;QAClD,YAAY,CAAC,KAAK,EAAE,CAAC;QAErB,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QAC7B,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YAC1C,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAU,CAAC;YACtD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAAK;QACV,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC;IAC3B,CAAC;;AAzEH,oCA0EC","sourcesContent":["import type { RenovateConfig, RepoGlobalConfig } from './types';\n\nexport class GlobalConfig {\n // TODO: once global config work is complete, add a test to make sure this list includes all options with globalOnly=true (#9603)\n private static readonly OPTIONS: (keyof RepoGlobalConfig)[] = [\n 'allowedCommands',\n 'allowedEnv',\n 'allowCustomCrateRegistries',\n 'allowedHeaders',\n 'allowPlugins',\n 'allowScripts',\n 'binarySource',\n 'cacheDir',\n 'cacheHardTtlMinutes',\n 'cacheTtlOverride',\n 'containerbaseDir',\n 'customEnvVariables',\n 'dockerChildPrefix',\n 'dockerCliOptions',\n 'dockerSidecarImage',\n 'dockerUser',\n 'dryRun',\n 'encryptedWarning',\n 'exposeAllEnv',\n 'executionTimeout',\n 'githubTokenWarn',\n 'localDir',\n 'migratePresets',\n 'presetCachePersistence',\n 'gitTimeout',\n 'platform',\n 'endpoint',\n 'httpCacheTtlDays',\n 'autodiscoverRepoSort',\n 'autodiscoverRepoOrder',\n 'userAgent',\n 'dockerMaxPages',\n 's3Endpoint',\n 's3PathStyle',\n 'cachePrivatePackages',\n ];\n\n private static config: RepoGlobalConfig = {};\n\n static get(): RepoGlobalConfig;\n static get<Key extends keyof RepoGlobalConfig>(\n key: Key,\n ): RepoGlobalConfig[Key];\n static get<Key extends keyof RepoGlobalConfig>(\n key: Key,\n defaultValue: Required<RepoGlobalConfig>[Key],\n ): Required<RepoGlobalConfig>[Key];\n static get<Key extends keyof RepoGlobalConfig>(\n key?: Key,\n defaultValue?: RepoGlobalConfig[Key],\n ): RepoGlobalConfig | RepoGlobalConfig[Key] {\n return key\n ? (GlobalConfig.config[key] ?? defaultValue)\n : GlobalConfig.config;\n }\n\n static set(config: RenovateConfig | RepoGlobalConfig): RenovateConfig {\n GlobalConfig.reset();\n\n const result = { ...config };\n for (const option of GlobalConfig.OPTIONS) {\n GlobalConfig.config[option] = config[option] as never;\n delete result[option];\n }\n\n return result;\n }\n\n static reset(): void {\n GlobalConfig.config = {};\n }\n}\n"]}
|
package/dist/config/migration.js
CHANGED
@@ -136,13 +136,16 @@ function migrateConfig(config, parentKey) {
|
|
136
136
|
}
|
137
137
|
}
|
138
138
|
if (is_1.default.nonEmptyObject(migratedConfig['pip-compile']) &&
|
139
|
-
is_1.default.nonEmptyArray(migratedConfig['pip-compile'].
|
140
|
-
migratedConfig['pip-compile'].
|
141
|
-
const
|
142
|
-
if (
|
143
|
-
return
|
139
|
+
is_1.default.nonEmptyArray(migratedConfig['pip-compile'].managerFilePatterns)) {
|
140
|
+
migratedConfig['pip-compile'].managerFilePatterns = migratedConfig['pip-compile'].managerFilePatterns.map((filePattern) => {
|
141
|
+
const pattern = filePattern;
|
142
|
+
if (pattern.endsWith('.in')) {
|
143
|
+
return pattern.replace(/\.in$/, '.txt');
|
144
144
|
}
|
145
|
-
|
145
|
+
if (pattern.endsWith('.in/')) {
|
146
|
+
return pattern.replace(/\.in\/$/, '.txt/');
|
147
|
+
}
|
148
|
+
return pattern.replace(/\.in\$\/$/, '.txt$/');
|
146
149
|
});
|
147
150
|
}
|
148
151
|
if (is_1.default.nonEmptyArray(migratedConfig.matchManagers)) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"migration.js","sourceRoot":"","sources":["../../lib/config/migration.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { dequal } from 'dequal';\nimport { logger } from '../logger';\nimport { clone } from '../util/clone';\nimport { regEx } from '../util/regex';\nimport { MigrationsService } from './migrations';\nimport { getOptions } from './options';\nimport type {\n MigratedConfig,\n MigratedRenovateConfig,\n PackageRule,\n RenovateConfig,\n RenovateOptions,\n} from './types';\nimport { mergeChildConfig } from './utils';\n\nconst options = getOptions();\nexport function fixShortHours(input: string): string {\n return input.replace(regEx(/( \\d?\\d)((a|p)m)/g), '$1:00$2');\n}\n\nlet optionTypes: Record<string, RenovateOptions['type']>;\n// Returns a migrated config\nexport function migrateConfig(\n config: RenovateConfig,\n parentKey?: string,\n): MigratedConfig {\n try {\n if (!optionTypes) {\n optionTypes = {};\n options.forEach((option) => {\n optionTypes[option.name] = option.type;\n });\n }\n const newConfig = MigrationsService.run(config, parentKey);\n const migratedConfig = clone(newConfig) as MigratedRenovateConfig;\n\n for (const [key, val] of Object.entries(newConfig)) {\n if (is.string(val) && val.includes('{{baseDir}}')) {\n migratedConfig[key] = val.replace(\n regEx(/{{baseDir}}/g),\n '{{packageFileDir}}',\n );\n } else if (is.string(val) && val.includes('{{lookupName}}')) {\n migratedConfig[key] = val.replace(\n regEx(/{{lookupName}}/g),\n '{{packageName}}',\n );\n } else if (is.string(val) && val.includes('{{depNameShort}}')) {\n migratedConfig[key] = val.replace(\n regEx(/{{depNameShort}}/g),\n '{{depName}}',\n );\n } else if (is.string(val) && val.startsWith('{{semanticPrefix}}')) {\n migratedConfig[key] = val.replace(\n '{{semanticPrefix}}',\n '{{#if semanticCommitType}}{{semanticCommitType}}{{#if semanticCommitScope}}({{semanticCommitScope}}){{/if}}: {{/if}}',\n );\n } else if (optionTypes[key] === 'object' && is.boolean(val)) {\n migratedConfig[key] = { enabled: val };\n } else if (optionTypes[key] === 'boolean') {\n if (val === 'true') {\n migratedConfig[key] = true;\n } else if (val === 'false') {\n migratedConfig[key] = false;\n }\n } else if (\n optionTypes[key] === 'string' &&\n is.array(val) &&\n val.length === 1\n ) {\n migratedConfig[key] = String(val[0]);\n } else if (is.array(val)) {\n if (is.array(migratedConfig?.[key])) {\n const newArray = [];\n for (const item of migratedConfig[key]) {\n if (is.object(item) && !is.array(item)) {\n const arrMigrate = migrateConfig(item as RenovateConfig);\n newArray.push(arrMigrate.migratedConfig);\n } else {\n newArray.push(item);\n }\n }\n migratedConfig[key] = newArray;\n }\n } else if (is.object(val)) {\n const subMigrate = migrateConfig(\n migratedConfig[key] as RenovateConfig,\n key,\n );\n if (subMigrate.isMigrated) {\n migratedConfig[key] = subMigrate.migratedConfig;\n }\n }\n\n const migratedTemplates = {\n fromVersion: 'currentVersion',\n newValueMajor: 'newMajor',\n newValueMinor: 'newMinor',\n newVersionMajor: 'newMajor',\n newVersionMinor: 'newMinor',\n toVersion: 'newVersion',\n };\n if (is.string(migratedConfig[key])) {\n for (const [from, to] of Object.entries(migratedTemplates)) {\n migratedConfig[key] = (migratedConfig[key] as string).replace(\n regEx(from, 'g'),\n to,\n );\n }\n }\n }\n const languages = [\n 'docker',\n 'dotnet',\n 'golang',\n 'java',\n 'js',\n 'node',\n 'php',\n 'python',\n 'ruby',\n 'rust',\n ];\n for (const language of languages) {\n if (is.nonEmptyObject(migratedConfig[language])) {\n migratedConfig.packageRules ??= [];\n const currentContent = migratedConfig[language] as any;\n const packageRule = {\n matchCategories: [language],\n ...currentContent,\n };\n migratedConfig.packageRules.unshift(packageRule);\n delete migratedConfig[language];\n }\n }\n // Migrate nested packageRules\n if (is.nonEmptyArray(migratedConfig.packageRules)) {\n const existingRules = migratedConfig.packageRules;\n migratedConfig.packageRules = [];\n for (const packageRule of existingRules) {\n if (is.array(packageRule.packageRules)) {\n logger.debug('Flattening nested packageRules');\n // merge each subrule and add to the parent list\n for (const subrule of packageRule.packageRules) {\n // TODO: fix types #22198\n const combinedRule = mergeChildConfig(\n packageRule,\n subrule as PackageRule,\n );\n delete combinedRule.packageRules;\n migratedConfig.packageRules.push(combinedRule);\n }\n } else {\n migratedConfig.packageRules.push(packageRule);\n }\n }\n }\n if (\n is.nonEmptyObject(migratedConfig['pip-compile']) &&\n is.nonEmptyArray(migratedConfig['pip-compile'].fileMatch)\n ) {\n migratedConfig['pip-compile'].fileMatch = migratedConfig[\n 'pip-compile'\n ].fileMatch.map((fileMatch) => {\n const match = fileMatch as string;\n if (match.endsWith('.in')) {\n return match.replace(/\\.in$/, '.txt');\n }\n return match.replace(/\\.in\\$$/, '.txt$');\n });\n }\n if (is.nonEmptyArray(migratedConfig.matchManagers)) {\n if (migratedConfig.matchManagers.includes('gradle-lite')) {\n if (!migratedConfig.matchManagers.includes('gradle')) {\n migratedConfig.matchManagers.push('gradle');\n }\n migratedConfig.matchManagers = migratedConfig.matchManagers.filter(\n (manager) => manager !== 'gradle-lite',\n );\n }\n }\n if (is.nonEmptyObject(migratedConfig['gradle-lite'])) {\n migratedConfig.gradle = mergeChildConfig(\n migratedConfig.gradle ?? {},\n migratedConfig['gradle-lite'],\n );\n }\n delete migratedConfig['gradle-lite'];\n const isMigrated = !dequal(config, migratedConfig);\n if (isMigrated) {\n // recursive call in case any migrated configs need further migrating\n return {\n isMigrated,\n migratedConfig: migrateConfig(migratedConfig).migratedConfig,\n };\n }\n return { isMigrated, migratedConfig };\n /* v8 ignore next 4 -- TODO: add test */\n } catch (err) {\n logger.debug({ config, err }, 'migrateConfig() error');\n throw err;\n }\n}\n"]}
|
1
|
+
{"version":3,"file":"migration.js","sourceRoot":"","sources":["../../lib/config/migration.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { dequal } from 'dequal';\nimport { logger } from '../logger';\nimport { clone } from '../util/clone';\nimport { regEx } from '../util/regex';\nimport { MigrationsService } from './migrations';\nimport { getOptions } from './options';\nimport type {\n MigratedConfig,\n MigratedRenovateConfig,\n PackageRule,\n RenovateConfig,\n RenovateOptions,\n} from './types';\nimport { mergeChildConfig } from './utils';\n\nconst options = getOptions();\nexport function fixShortHours(input: string): string {\n return input.replace(regEx(/( \\d?\\d)((a|p)m)/g), '$1:00$2');\n}\n\nlet optionTypes: Record<string, RenovateOptions['type']>;\n// Returns a migrated config\nexport function migrateConfig(\n config: RenovateConfig,\n parentKey?: string,\n): MigratedConfig {\n try {\n if (!optionTypes) {\n optionTypes = {};\n options.forEach((option) => {\n optionTypes[option.name] = option.type;\n });\n }\n const newConfig = MigrationsService.run(config, parentKey);\n const migratedConfig = clone(newConfig) as MigratedRenovateConfig;\n\n for (const [key, val] of Object.entries(newConfig)) {\n if (is.string(val) && val.includes('{{baseDir}}')) {\n migratedConfig[key] = val.replace(\n regEx(/{{baseDir}}/g),\n '{{packageFileDir}}',\n );\n } else if (is.string(val) && val.includes('{{lookupName}}')) {\n migratedConfig[key] = val.replace(\n regEx(/{{lookupName}}/g),\n '{{packageName}}',\n );\n } else if (is.string(val) && val.includes('{{depNameShort}}')) {\n migratedConfig[key] = val.replace(\n regEx(/{{depNameShort}}/g),\n '{{depName}}',\n );\n } else if (is.string(val) && val.startsWith('{{semanticPrefix}}')) {\n migratedConfig[key] = val.replace(\n '{{semanticPrefix}}',\n '{{#if semanticCommitType}}{{semanticCommitType}}{{#if semanticCommitScope}}({{semanticCommitScope}}){{/if}}: {{/if}}',\n );\n } else if (optionTypes[key] === 'object' && is.boolean(val)) {\n migratedConfig[key] = { enabled: val };\n } else if (optionTypes[key] === 'boolean') {\n if (val === 'true') {\n migratedConfig[key] = true;\n } else if (val === 'false') {\n migratedConfig[key] = false;\n }\n } else if (\n optionTypes[key] === 'string' &&\n is.array(val) &&\n val.length === 1\n ) {\n migratedConfig[key] = String(val[0]);\n } else if (is.array(val)) {\n if (is.array(migratedConfig?.[key])) {\n const newArray = [];\n for (const item of migratedConfig[key]) {\n if (is.object(item) && !is.array(item)) {\n const arrMigrate = migrateConfig(item as RenovateConfig);\n newArray.push(arrMigrate.migratedConfig);\n } else {\n newArray.push(item);\n }\n }\n migratedConfig[key] = newArray;\n }\n } else if (is.object(val)) {\n const subMigrate = migrateConfig(\n migratedConfig[key] as RenovateConfig,\n key,\n );\n if (subMigrate.isMigrated) {\n migratedConfig[key] = subMigrate.migratedConfig;\n }\n }\n\n const migratedTemplates = {\n fromVersion: 'currentVersion',\n newValueMajor: 'newMajor',\n newValueMinor: 'newMinor',\n newVersionMajor: 'newMajor',\n newVersionMinor: 'newMinor',\n toVersion: 'newVersion',\n };\n if (is.string(migratedConfig[key])) {\n for (const [from, to] of Object.entries(migratedTemplates)) {\n migratedConfig[key] = (migratedConfig[key] as string).replace(\n regEx(from, 'g'),\n to,\n );\n }\n }\n }\n const languages = [\n 'docker',\n 'dotnet',\n 'golang',\n 'java',\n 'js',\n 'node',\n 'php',\n 'python',\n 'ruby',\n 'rust',\n ];\n for (const language of languages) {\n if (is.nonEmptyObject(migratedConfig[language])) {\n migratedConfig.packageRules ??= [];\n const currentContent = migratedConfig[language] as any;\n const packageRule = {\n matchCategories: [language],\n ...currentContent,\n };\n migratedConfig.packageRules.unshift(packageRule);\n delete migratedConfig[language];\n }\n }\n // Migrate nested packageRules\n if (is.nonEmptyArray(migratedConfig.packageRules)) {\n const existingRules = migratedConfig.packageRules;\n migratedConfig.packageRules = [];\n for (const packageRule of existingRules) {\n if (is.array(packageRule.packageRules)) {\n logger.debug('Flattening nested packageRules');\n // merge each subrule and add to the parent list\n for (const subrule of packageRule.packageRules) {\n // TODO: fix types #22198\n const combinedRule = mergeChildConfig(\n packageRule,\n subrule as PackageRule,\n );\n delete combinedRule.packageRules;\n migratedConfig.packageRules.push(combinedRule);\n }\n } else {\n migratedConfig.packageRules.push(packageRule);\n }\n }\n }\n if (\n is.nonEmptyObject(migratedConfig['pip-compile']) &&\n is.nonEmptyArray(migratedConfig['pip-compile'].managerFilePatterns)\n ) {\n migratedConfig['pip-compile'].managerFilePatterns = migratedConfig[\n 'pip-compile'\n ].managerFilePatterns.map((filePattern) => {\n const pattern = filePattern as string;\n if (pattern.endsWith('.in')) {\n return pattern.replace(/\\.in$/, '.txt');\n }\n if (pattern.endsWith('.in/')) {\n return pattern.replace(/\\.in\\/$/, '.txt/');\n }\n return pattern.replace(/\\.in\\$\\/$/, '.txt$/');\n });\n }\n if (is.nonEmptyArray(migratedConfig.matchManagers)) {\n if (migratedConfig.matchManagers.includes('gradle-lite')) {\n if (!migratedConfig.matchManagers.includes('gradle')) {\n migratedConfig.matchManagers.push('gradle');\n }\n migratedConfig.matchManagers = migratedConfig.matchManagers.filter(\n (manager) => manager !== 'gradle-lite',\n );\n }\n }\n if (is.nonEmptyObject(migratedConfig['gradle-lite'])) {\n migratedConfig.gradle = mergeChildConfig(\n migratedConfig.gradle ?? {},\n migratedConfig['gradle-lite'],\n );\n }\n delete migratedConfig['gradle-lite'];\n const isMigrated = !dequal(config, migratedConfig);\n if (isMigrated) {\n // recursive call in case any migrated configs need further migrating\n return {\n isMigrated,\n migratedConfig: migrateConfig(migratedConfig).migratedConfig,\n };\n }\n return { isMigrated, migratedConfig };\n /* v8 ignore next 4 -- TODO: add test */\n } catch (err) {\n logger.debug({ config, err }, 'migrateConfig() error');\n throw err;\n }\n}\n"]}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.FileMatchMigration = void 0;
|
4
|
+
const tslib_1 = require("tslib");
|
5
|
+
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
6
|
+
const abstract_migration_1 = require("../base/abstract-migration");
|
7
|
+
class FileMatchMigration extends abstract_migration_1.AbstractMigration {
|
8
|
+
deprecated = true;
|
9
|
+
propertyName = 'fileMatch';
|
10
|
+
run(value) {
|
11
|
+
if (is_1.default.string(value) || is_1.default.array(value, is_1.default.string)) {
|
12
|
+
const fileMatch = is_1.default.array(value) ? value : [value];
|
13
|
+
let managerFilePatterns = this.get('managerFilePatterns') ?? [];
|
14
|
+
managerFilePatterns = managerFilePatterns.concat(fileMatch.map((match) => `/${match}/`));
|
15
|
+
this.setHard('managerFilePatterns', managerFilePatterns);
|
16
|
+
}
|
17
|
+
}
|
18
|
+
}
|
19
|
+
exports.FileMatchMigration = FileMatchMigration;
|
20
|
+
//# sourceMappingURL=file-match-migration.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"file-match-migration.js","sourceRoot":"","sources":["../../../../lib/config/migrations/custom/file-match-migration.ts"],"names":[],"mappings":";;;;AAAA,kEAAkC;AAClC,mEAA+D;AAE/D,MAAa,kBAAmB,SAAQ,sCAAiB;IACrC,UAAU,GAAG,IAAI,CAAC;IAClB,YAAY,GAAG,WAAW,CAAC;IAEpC,GAAG,CAAC,KAAc;QACzB,IAAI,YAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,YAAE,CAAC,KAAK,CAAC,KAAK,EAAE,YAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YACnD,MAAM,SAAS,GAAG,YAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAEpD,IAAI,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;YAChE,mBAAmB,GAAG,mBAAmB,CAAC,MAAM,CAC9C,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,CACvC,CAAC;YAEF,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;CACF;AAhBD,gDAgBC","sourcesContent":["import is from '@sindresorhus/is';\nimport { AbstractMigration } from '../base/abstract-migration';\n\nexport class FileMatchMigration extends AbstractMigration {\n override readonly deprecated = true;\n override readonly propertyName = 'fileMatch';\n\n override run(value: unknown): void {\n if (is.string(value) || is.array(value, is.string)) {\n const fileMatch = is.array(value) ? value : [value];\n\n let managerFilePatterns = this.get('managerFilePatterns') ?? [];\n managerFilePatterns = managerFilePatterns.concat(\n fileMatch.map((match) => `/${match}/`),\n );\n\n this.setHard('managerFilePatterns', managerFilePatterns);\n }\n }\n}\n"]}
|
@@ -25,6 +25,7 @@ const dry_run_migration_1 = require("./custom/dry-run-migration");
|
|
25
25
|
const enabled_managers_migration_1 = require("./custom/enabled-managers-migration");
|
26
26
|
const extends_migration_1 = require("./custom/extends-migration");
|
27
27
|
const fetch_release_notes_migration_1 = require("./custom/fetch-release-notes-migration");
|
28
|
+
const file_match_migration_1 = require("./custom/file-match-migration");
|
28
29
|
const go_mod_tidy_migration_1 = require("./custom/go-mod-tidy-migration");
|
29
30
|
const host_rules_migration_1 = require("./custom/host-rules-migration");
|
30
31
|
const ignore_node_modules_migration_1 = require("./custom/ignore-node-modules-migration");
|
@@ -161,6 +162,7 @@ class MigrationsService {
|
|
161
162
|
match_managers_migration_1.MatchManagersMigration,
|
162
163
|
custom_managers_migration_1.CustomManagersMigration,
|
163
164
|
platform_commit_migration_1.PlatformCommitMigration,
|
165
|
+
file_match_migration_1.FileMatchMigration,
|
164
166
|
];
|
165
167
|
static run(originalConfig, parentKey) {
|
166
168
|
const migratedConfig = {};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"migrations-service.js","sourceRoot":"","sources":["../../../lib/config/migrations/migrations-service.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { dequal } from 'dequal';\nimport type { RenovateConfig } from '../types';\nimport { RemovePropertyMigration } from './base/remove-property-migration';\nimport { RenamePropertyMigration } from './base/rename-property-migration';\nimport { AutomergeMajorMigration } from './custom/automerge-major-migration';\nimport { AutomergeMigration } from './custom/automerge-migration';\nimport { AutomergeMinorMigration } from './custom/automerge-minor-migration';\nimport { AutomergePatchMigration } from './custom/automerge-patch-migration';\nimport { AutomergeTypeMigration } from './custom/automerge-type-migration';\nimport { AzureGitLabAutomergeMigration } from './custom/azure-gitlab-automerge-migration';\nimport { BaseBranchMigration } from './custom/base-branch-migration';\nimport { BinarySourceMigration } from './custom/binary-source-migration';\nimport { BranchNameMigration } from './custom/branch-name-migration';\nimport { BranchPrefixMigration } from './custom/branch-prefix-migration';\nimport { CompatibilityMigration } from './custom/compatibility-migration';\nimport { ComposerIgnorePlatformReqsMigration } from './custom/composer-ignore-platform-reqs-migration';\nimport { CustomManagersMigration } from './custom/custom-managers-migration';\nimport { DatasourceMigration } from './custom/datasource-migration';\nimport { DepTypesMigration } from './custom/dep-types-migration';\nimport { DryRunMigration } from './custom/dry-run-migration';\nimport { EnabledManagersMigration } from './custom/enabled-managers-migration';\nimport { ExtendsMigration } from './custom/extends-migration';\nimport { FetchReleaseNotesMigration } from './custom/fetch-release-notes-migration';\nimport { GoModTidyMigration } from './custom/go-mod-tidy-migration';\nimport { HostRulesMigration } from './custom/host-rules-migration';\nimport { IgnoreNodeModulesMigration } from './custom/ignore-node-modules-migration';\nimport { IgnoreNpmrcFileMigration } from './custom/ignore-npmrc-file-migration';\nimport { IncludeForksMigration } from './custom/include-forks-migration';\nimport { MatchDatasourcesMigration } from './custom/match-datasources-migration';\nimport { MatchManagersMigration } from './custom/match-managers-migration';\nimport { MatchStringsMigration } from './custom/match-strings-migration';\nimport { NodeMigration } from './custom/node-migration';\nimport { PackageFilesMigration } from './custom/package-files-migration';\nimport { PackageNameMigration } from './custom/package-name-migration';\nimport { PackagePatternMigration } from './custom/package-pattern-migration';\nimport { PackageRulesMigration } from './custom/package-rules-migration';\nimport { PackagesMigration } from './custom/packages-migration';\nimport { PathRulesMigration } from './custom/path-rules-migration';\nimport { PinVersionsMigration } from './custom/pin-versions-migration';\nimport { PlatformCommitMigration } from './custom/platform-commit-migration';\nimport { PostUpdateOptionsMigration } from './custom/post-update-options-migration';\nimport { RebaseConflictedPrs } from './custom/rebase-conflicted-prs-migration';\nimport { RebaseStalePrsMigration } from './custom/rebase-stale-prs-migration';\nimport { RecreateClosedMigration } from './custom/recreate-closed-migration';\nimport { RenovateForkMigration } from './custom/renovate-fork-migration';\nimport { RequireConfigMigration } from './custom/require-config-migration';\nimport { RequiredStatusChecksMigration } from './custom/required-status-checks-migration';\nimport { ScheduleMigration } from './custom/schedule-migration';\nimport { SemanticCommitsMigration } from './custom/semantic-commits-migration';\nimport { SemanticPrefixMigration } from './custom/semantic-prefix-migration';\nimport { SeparateMajorReleasesMigration } from './custom/separate-major-release-migration';\nimport { SeparateMultipleMajorMigration } from './custom/separate-multiple-major-migration';\nimport { StabilityDaysMigration } from './custom/stability-days-migration';\nimport { SuppressNotificationsMigration } from './custom/suppress-notifications-migration';\nimport { TrustLevelMigration } from './custom/trust-level-migration';\nimport { UnpublishSafeMigration } from './custom/unpublish-safe-migration';\nimport { UpgradeInRangeMigration } from './custom/upgrade-in-range-migration';\nimport { VersionStrategyMigration } from './custom/version-strategy-migration';\nimport type { Migration, MigrationConstructor } from './types';\n\nexport class MigrationsService {\n static readonly removedProperties: ReadonlySet<string> = new Set([\n 'allowCommandTemplating',\n 'allowPostUpgradeCommandTemplating',\n 'deepExtract',\n 'gitFs',\n 'groupBranchName',\n 'groupCommitMessage',\n 'groupPrBody',\n 'groupPrTitle',\n 'lazyGrouping',\n 'maintainYarnLock',\n 'raiseDeprecationWarnings',\n 'statusCheckVerify',\n 'supportPolicy',\n 'transitiveRemediation',\n 'yarnCacheFolder',\n 'yarnMaintenanceBranchName',\n 'yarnMaintenanceCommitMessage',\n 'yarnMaintenancePrBody',\n 'yarnMaintenancePrTitle',\n ]);\n\n static readonly renamedProperties: ReadonlyMap<string, string> = new Map([\n ['adoptium-java', 'java-version'],\n ['allowedPostUpgradeCommands', 'allowedCommands'],\n ['azureAutoApprove', 'autoApprove'],\n ['customChangelogUrl', 'changelogUrl'],\n ['endpoints', 'hostRules'],\n ['excludedPackageNames', 'excludePackageNames'],\n ['exposeEnv', 'exposeAllEnv'],\n ['keepalive', 'keepAlive'],\n ['managerBranchPrefix', 'additionalBranchPrefix'],\n ['multipleMajorPrs', 'separateMultipleMajor'],\n ['separatePatchReleases', 'separateMinorPatch'],\n ['versionScheme', 'versioning'],\n ['lookupNameTemplate', 'packageNameTemplate'],\n ['aliases', 'registryAliases'],\n ['masterIssue', 'dependencyDashboard'],\n ['masterIssueApproval', 'dependencyDashboardApproval'],\n ['masterIssueAutoclose', 'dependencyDashboardAutoclose'],\n ['masterIssueHeader', 'dependencyDashboardHeader'],\n ['masterIssueFooter', 'dependencyDashboardFooter'],\n ['masterIssueTitle', 'dependencyDashboardTitle'],\n ['masterIssueLabels', 'dependencyDashboardLabels'],\n ['regexManagers', 'customManagers'],\n ]);\n\n static readonly customMigrations: readonly MigrationConstructor[] = [\n AutomergeMajorMigration,\n AutomergeMigration,\n AutomergeMinorMigration,\n AutomergePatchMigration,\n AutomergeTypeMigration,\n AzureGitLabAutomergeMigration,\n BaseBranchMigration,\n BinarySourceMigration,\n BranchNameMigration,\n BranchPrefixMigration,\n CompatibilityMigration,\n ComposerIgnorePlatformReqsMigration,\n EnabledManagersMigration,\n ExtendsMigration,\n GoModTidyMigration,\n HostRulesMigration,\n IgnoreNodeModulesMigration,\n IgnoreNpmrcFileMigration,\n IncludeForksMigration,\n MatchStringsMigration,\n PackageNameMigration,\n PackagePatternMigration,\n PackagesMigration,\n PathRulesMigration,\n PinVersionsMigration,\n PostUpdateOptionsMigration,\n RebaseConflictedPrs,\n RebaseStalePrsMigration,\n RenovateForkMigration,\n RequiredStatusChecksMigration,\n ScheduleMigration,\n SemanticCommitsMigration,\n SeparateMajorReleasesMigration,\n SeparateMultipleMajorMigration,\n SuppressNotificationsMigration,\n TrustLevelMigration,\n UnpublishSafeMigration,\n UpgradeInRangeMigration,\n VersionStrategyMigration,\n DryRunMigration,\n RequireConfigMigration,\n PackageFilesMigration,\n DepTypesMigration,\n PackageRulesMigration,\n NodeMigration,\n SemanticPrefixMigration,\n MatchDatasourcesMigration,\n DatasourceMigration,\n RecreateClosedMigration,\n StabilityDaysMigration,\n FetchReleaseNotesMigration,\n MatchManagersMigration,\n CustomManagersMigration,\n PlatformCommitMigration,\n ];\n\n static run(\n originalConfig: RenovateConfig,\n parentKey?: string,\n ): RenovateConfig {\n const migratedConfig: RenovateConfig = {};\n const migrations = this.getMigrations(originalConfig, migratedConfig);\n\n for (const [key, value] of Object.entries(originalConfig)) {\n migratedConfig[key] ??= value;\n const migration = MigrationsService.getMigration(migrations, key);\n\n if (migration) {\n migration.run(value, key, parentKey);\n\n if (migration.deprecated) {\n delete migratedConfig[key];\n }\n }\n }\n\n return migratedConfig;\n }\n\n static isMigrated(\n originalConfig: RenovateConfig,\n migratedConfig: RenovateConfig,\n ): boolean {\n return !dequal(originalConfig, migratedConfig);\n }\n\n public static getMigrations(\n originalConfig: RenovateConfig,\n migratedConfig: RenovateConfig,\n ): readonly Migration[] {\n const migrations: Migration[] = [];\n\n for (const propertyName of MigrationsService.removedProperties) {\n migrations.push(\n new RemovePropertyMigration(\n propertyName,\n originalConfig,\n migratedConfig,\n ),\n );\n }\n\n for (const [\n oldPropertyName,\n newPropertyName,\n ] of MigrationsService.renamedProperties.entries()) {\n migrations.push(\n new RenamePropertyMigration(\n oldPropertyName,\n newPropertyName,\n originalConfig,\n migratedConfig,\n ),\n );\n }\n\n for (const CustomMigration of this.customMigrations) {\n migrations.push(new CustomMigration(originalConfig, migratedConfig));\n }\n\n return migrations;\n }\n\n private static getMigration(\n migrations: readonly Migration[],\n key: string,\n ): Migration | undefined {\n return migrations.find((migration) => {\n if (is.regExp(migration.propertyName)) {\n return migration.propertyName.test(key);\n }\n\n return migration.propertyName === key;\n });\n }\n}\n"]}
|
1
|
+
{"version":3,"file":"migrations-service.js","sourceRoot":"","sources":["../../../lib/config/migrations/migrations-service.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { dequal } from 'dequal';\nimport type { RenovateConfig } from '../types';\nimport { RemovePropertyMigration } from './base/remove-property-migration';\nimport { RenamePropertyMigration } from './base/rename-property-migration';\nimport { AutomergeMajorMigration } from './custom/automerge-major-migration';\nimport { AutomergeMigration } from './custom/automerge-migration';\nimport { AutomergeMinorMigration } from './custom/automerge-minor-migration';\nimport { AutomergePatchMigration } from './custom/automerge-patch-migration';\nimport { AutomergeTypeMigration } from './custom/automerge-type-migration';\nimport { AzureGitLabAutomergeMigration } from './custom/azure-gitlab-automerge-migration';\nimport { BaseBranchMigration } from './custom/base-branch-migration';\nimport { BinarySourceMigration } from './custom/binary-source-migration';\nimport { BranchNameMigration } from './custom/branch-name-migration';\nimport { BranchPrefixMigration } from './custom/branch-prefix-migration';\nimport { CompatibilityMigration } from './custom/compatibility-migration';\nimport { ComposerIgnorePlatformReqsMigration } from './custom/composer-ignore-platform-reqs-migration';\nimport { CustomManagersMigration } from './custom/custom-managers-migration';\nimport { DatasourceMigration } from './custom/datasource-migration';\nimport { DepTypesMigration } from './custom/dep-types-migration';\nimport { DryRunMigration } from './custom/dry-run-migration';\nimport { EnabledManagersMigration } from './custom/enabled-managers-migration';\nimport { ExtendsMigration } from './custom/extends-migration';\nimport { FetchReleaseNotesMigration } from './custom/fetch-release-notes-migration';\nimport { FileMatchMigration } from './custom/file-match-migration';\nimport { GoModTidyMigration } from './custom/go-mod-tidy-migration';\nimport { HostRulesMigration } from './custom/host-rules-migration';\nimport { IgnoreNodeModulesMigration } from './custom/ignore-node-modules-migration';\nimport { IgnoreNpmrcFileMigration } from './custom/ignore-npmrc-file-migration';\nimport { IncludeForksMigration } from './custom/include-forks-migration';\nimport { MatchDatasourcesMigration } from './custom/match-datasources-migration';\nimport { MatchManagersMigration } from './custom/match-managers-migration';\nimport { MatchStringsMigration } from './custom/match-strings-migration';\nimport { NodeMigration } from './custom/node-migration';\nimport { PackageFilesMigration } from './custom/package-files-migration';\nimport { PackageNameMigration } from './custom/package-name-migration';\nimport { PackagePatternMigration } from './custom/package-pattern-migration';\nimport { PackageRulesMigration } from './custom/package-rules-migration';\nimport { PackagesMigration } from './custom/packages-migration';\nimport { PathRulesMigration } from './custom/path-rules-migration';\nimport { PinVersionsMigration } from './custom/pin-versions-migration';\nimport { PlatformCommitMigration } from './custom/platform-commit-migration';\nimport { PostUpdateOptionsMigration } from './custom/post-update-options-migration';\nimport { RebaseConflictedPrs } from './custom/rebase-conflicted-prs-migration';\nimport { RebaseStalePrsMigration } from './custom/rebase-stale-prs-migration';\nimport { RecreateClosedMigration } from './custom/recreate-closed-migration';\nimport { RenovateForkMigration } from './custom/renovate-fork-migration';\nimport { RequireConfigMigration } from './custom/require-config-migration';\nimport { RequiredStatusChecksMigration } from './custom/required-status-checks-migration';\nimport { ScheduleMigration } from './custom/schedule-migration';\nimport { SemanticCommitsMigration } from './custom/semantic-commits-migration';\nimport { SemanticPrefixMigration } from './custom/semantic-prefix-migration';\nimport { SeparateMajorReleasesMigration } from './custom/separate-major-release-migration';\nimport { SeparateMultipleMajorMigration } from './custom/separate-multiple-major-migration';\nimport { StabilityDaysMigration } from './custom/stability-days-migration';\nimport { SuppressNotificationsMigration } from './custom/suppress-notifications-migration';\nimport { TrustLevelMigration } from './custom/trust-level-migration';\nimport { UnpublishSafeMigration } from './custom/unpublish-safe-migration';\nimport { UpgradeInRangeMigration } from './custom/upgrade-in-range-migration';\nimport { VersionStrategyMigration } from './custom/version-strategy-migration';\nimport type { Migration, MigrationConstructor } from './types';\n\nexport class MigrationsService {\n static readonly removedProperties: ReadonlySet<string> = new Set([\n 'allowCommandTemplating',\n 'allowPostUpgradeCommandTemplating',\n 'deepExtract',\n 'gitFs',\n 'groupBranchName',\n 'groupCommitMessage',\n 'groupPrBody',\n 'groupPrTitle',\n 'lazyGrouping',\n 'maintainYarnLock',\n 'raiseDeprecationWarnings',\n 'statusCheckVerify',\n 'supportPolicy',\n 'transitiveRemediation',\n 'yarnCacheFolder',\n 'yarnMaintenanceBranchName',\n 'yarnMaintenanceCommitMessage',\n 'yarnMaintenancePrBody',\n 'yarnMaintenancePrTitle',\n ]);\n\n static readonly renamedProperties: ReadonlyMap<string, string> = new Map([\n ['adoptium-java', 'java-version'],\n ['allowedPostUpgradeCommands', 'allowedCommands'],\n ['azureAutoApprove', 'autoApprove'],\n ['customChangelogUrl', 'changelogUrl'],\n ['endpoints', 'hostRules'],\n ['excludedPackageNames', 'excludePackageNames'],\n ['exposeEnv', 'exposeAllEnv'],\n ['keepalive', 'keepAlive'],\n ['managerBranchPrefix', 'additionalBranchPrefix'],\n ['multipleMajorPrs', 'separateMultipleMajor'],\n ['separatePatchReleases', 'separateMinorPatch'],\n ['versionScheme', 'versioning'],\n ['lookupNameTemplate', 'packageNameTemplate'],\n ['aliases', 'registryAliases'],\n ['masterIssue', 'dependencyDashboard'],\n ['masterIssueApproval', 'dependencyDashboardApproval'],\n ['masterIssueAutoclose', 'dependencyDashboardAutoclose'],\n ['masterIssueHeader', 'dependencyDashboardHeader'],\n ['masterIssueFooter', 'dependencyDashboardFooter'],\n ['masterIssueTitle', 'dependencyDashboardTitle'],\n ['masterIssueLabels', 'dependencyDashboardLabels'],\n ['regexManagers', 'customManagers'],\n ]);\n\n static readonly customMigrations: readonly MigrationConstructor[] = [\n AutomergeMajorMigration,\n AutomergeMigration,\n AutomergeMinorMigration,\n AutomergePatchMigration,\n AutomergeTypeMigration,\n AzureGitLabAutomergeMigration,\n BaseBranchMigration,\n BinarySourceMigration,\n BranchNameMigration,\n BranchPrefixMigration,\n CompatibilityMigration,\n ComposerIgnorePlatformReqsMigration,\n EnabledManagersMigration,\n ExtendsMigration,\n GoModTidyMigration,\n HostRulesMigration,\n IgnoreNodeModulesMigration,\n IgnoreNpmrcFileMigration,\n IncludeForksMigration,\n MatchStringsMigration,\n PackageNameMigration,\n PackagePatternMigration,\n PackagesMigration,\n PathRulesMigration,\n PinVersionsMigration,\n PostUpdateOptionsMigration,\n RebaseConflictedPrs,\n RebaseStalePrsMigration,\n RenovateForkMigration,\n RequiredStatusChecksMigration,\n ScheduleMigration,\n SemanticCommitsMigration,\n SeparateMajorReleasesMigration,\n SeparateMultipleMajorMigration,\n SuppressNotificationsMigration,\n TrustLevelMigration,\n UnpublishSafeMigration,\n UpgradeInRangeMigration,\n VersionStrategyMigration,\n DryRunMigration,\n RequireConfigMigration,\n PackageFilesMigration,\n DepTypesMigration,\n PackageRulesMigration,\n NodeMigration,\n SemanticPrefixMigration,\n MatchDatasourcesMigration,\n DatasourceMigration,\n RecreateClosedMigration,\n StabilityDaysMigration,\n FetchReleaseNotesMigration,\n MatchManagersMigration,\n CustomManagersMigration,\n PlatformCommitMigration,\n FileMatchMigration,\n ];\n\n static run(\n originalConfig: RenovateConfig,\n parentKey?: string,\n ): RenovateConfig {\n const migratedConfig: RenovateConfig = {};\n const migrations = this.getMigrations(originalConfig, migratedConfig);\n\n for (const [key, value] of Object.entries(originalConfig)) {\n migratedConfig[key] ??= value;\n const migration = MigrationsService.getMigration(migrations, key);\n\n if (migration) {\n migration.run(value, key, parentKey);\n\n if (migration.deprecated) {\n delete migratedConfig[key];\n }\n }\n }\n\n return migratedConfig;\n }\n\n static isMigrated(\n originalConfig: RenovateConfig,\n migratedConfig: RenovateConfig,\n ): boolean {\n return !dequal(originalConfig, migratedConfig);\n }\n\n public static getMigrations(\n originalConfig: RenovateConfig,\n migratedConfig: RenovateConfig,\n ): readonly Migration[] {\n const migrations: Migration[] = [];\n\n for (const propertyName of MigrationsService.removedProperties) {\n migrations.push(\n new RemovePropertyMigration(\n propertyName,\n originalConfig,\n migratedConfig,\n ),\n );\n }\n\n for (const [\n oldPropertyName,\n newPropertyName,\n ] of MigrationsService.renamedProperties.entries()) {\n migrations.push(\n new RenamePropertyMigration(\n oldPropertyName,\n newPropertyName,\n originalConfig,\n migratedConfig,\n ),\n );\n }\n\n for (const CustomMigration of this.customMigrations) {\n migrations.push(new CustomMigration(originalConfig, migratedConfig));\n }\n\n return migrations;\n }\n\n private static getMigration(\n migrations: readonly Migration[],\n key: string,\n ): Migration | undefined {\n return migrations.find((migration) => {\n if (is.regExp(migration.propertyName)) {\n return migration.propertyName.test(key);\n }\n\n return migration.propertyName === key;\n });\n }\n}\n"]}
|
@@ -468,7 +468,7 @@ const options = [
|
|
468
468
|
name: 'dockerSidecarImage',
|
469
469
|
description: 'Change this value to override the default Renovate sidecar image.',
|
470
470
|
type: 'string',
|
471
|
-
default: 'ghcr.io/containerbase/sidecar:13.8.
|
471
|
+
default: 'ghcr.io/containerbase/sidecar:13.8.19',
|
472
472
|
globalOnly: true,
|
473
473
|
},
|
474
474
|
{
|
@@ -2220,13 +2220,13 @@ const options = [
|
|
2220
2220
|
mergeable: true,
|
2221
2221
|
},
|
2222
2222
|
{
|
2223
|
-
name: '
|
2224
|
-
description: 'RegEx (`re2`)
|
2223
|
+
name: 'managerFilePatterns',
|
2224
|
+
description: 'RegEx (`re2`) and glob patterns for matching manager files.',
|
2225
2225
|
type: 'array',
|
2226
2226
|
subType: 'string',
|
2227
|
-
format: 'regex',
|
2228
2227
|
stage: 'repository',
|
2229
2228
|
allowString: true,
|
2229
|
+
patternMatch: true,
|
2230
2230
|
mergeable: true,
|
2231
2231
|
cli: false,
|
2232
2232
|
env: false,
|