renovate 42.3.0 → 42.4.1
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.js +13 -14
- package/dist/config/decrypt.js.map +1 -1
- package/dist/config/massage.js +6 -7
- package/dist/config/massage.js.map +1 -1
- package/dist/config/migrate-validate.js +3 -3
- package/dist/config/migrate-validate.js.map +1 -1
- package/dist/config/migration.js +19 -20
- package/dist/config/migration.js.map +1 -1
- package/dist/config/migrations/base/abstract-migration.js +5 -6
- package/dist/config/migrations/base/abstract-migration.js.map +1 -1
- package/dist/config/migrations/custom/automerge-major-migration.js +2 -3
- package/dist/config/migrations/custom/automerge-major-migration.js.map +1 -1
- package/dist/config/migrations/custom/automerge-migration.js +4 -5
- package/dist/config/migrations/custom/automerge-migration.js.map +1 -1
- package/dist/config/migrations/custom/automerge-minor-migration.js +2 -3
- package/dist/config/migrations/custom/automerge-minor-migration.js.map +1 -1
- package/dist/config/migrations/custom/automerge-patch-migration.js +2 -3
- package/dist/config/migrations/custom/automerge-patch-migration.js.map +1 -1
- package/dist/config/migrations/custom/automerge-type-migration.js +2 -3
- package/dist/config/migrations/custom/automerge-type-migration.js.map +1 -1
- package/dist/config/migrations/custom/base-branch-migration.js +3 -4
- package/dist/config/migrations/custom/base-branch-migration.js.map +1 -1
- package/dist/config/migrations/custom/branch-name-migration.js +2 -3
- package/dist/config/migrations/custom/branch-name-migration.js.map +1 -1
- package/dist/config/migrations/custom/branch-prefix-migration.js +2 -3
- package/dist/config/migrations/custom/branch-prefix-migration.js.map +1 -1
- package/dist/config/migrations/custom/compatibility-migration.js +2 -3
- package/dist/config/migrations/custom/compatibility-migration.js.map +1 -1
- package/dist/config/migrations/custom/composer-ignore-platform-reqs-migration.js +2 -3
- package/dist/config/migrations/custom/composer-ignore-platform-reqs-migration.js.map +1 -1
- package/dist/config/migrations/custom/custom-managers-migration.js +2 -3
- package/dist/config/migrations/custom/custom-managers-migration.js.map +1 -1
- package/dist/config/migrations/custom/datasource-migration.js +2 -3
- package/dist/config/migrations/custom/datasource-migration.js.map +1 -1
- package/dist/config/migrations/custom/dep-types-migration.js +4 -5
- package/dist/config/migrations/custom/dep-types-migration.js.map +1 -1
- package/dist/config/migrations/custom/enabled-managers-migration.js +2 -3
- package/dist/config/migrations/custom/enabled-managers-migration.js.map +1 -1
- package/dist/config/migrations/custom/extends-migration.js +4 -5
- package/dist/config/migrations/custom/extends-migration.js.map +1 -1
- package/dist/config/migrations/custom/fetch-release-notes-migration.js +2 -3
- package/dist/config/migrations/custom/fetch-release-notes-migration.js.map +1 -1
- package/dist/config/migrations/custom/file-match-migration.js +3 -4
- package/dist/config/migrations/custom/file-match-migration.js.map +1 -1
- package/dist/config/migrations/custom/host-rules-migration.js +6 -7
- package/dist/config/migrations/custom/host-rules-migration.js.map +1 -1
- package/dist/config/migrations/custom/ignore-npmrc-file-migration.js +2 -3
- package/dist/config/migrations/custom/ignore-npmrc-file-migration.js.map +1 -1
- package/dist/config/migrations/custom/include-forks-migration.js +2 -3
- package/dist/config/migrations/custom/include-forks-migration.js.map +1 -1
- package/dist/config/migrations/custom/match-datasources-migration.js +2 -3
- package/dist/config/migrations/custom/match-datasources-migration.js.map +1 -1
- package/dist/config/migrations/custom/match-managers-migration.js +2 -3
- package/dist/config/migrations/custom/match-managers-migration.js.map +1 -1
- package/dist/config/migrations/custom/match-strings-migration.js +2 -3
- package/dist/config/migrations/custom/match-strings-migration.js.map +1 -1
- package/dist/config/migrations/custom/package-files-migration.js +6 -7
- package/dist/config/migrations/custom/package-files-migration.js.map +1 -1
- package/dist/config/migrations/custom/package-rules-migration.js +15 -16
- package/dist/config/migrations/custom/package-rules-migration.js.map +1 -1
- package/dist/config/migrations/custom/packages-migration.js +3 -4
- package/dist/config/migrations/custom/packages-migration.js.map +1 -1
- package/dist/config/migrations/custom/path-rules-migration.js +3 -4
- package/dist/config/migrations/custom/path-rules-migration.js.map +1 -1
- package/dist/config/migrations/custom/pin-versions-migration.js +2 -3
- package/dist/config/migrations/custom/pin-versions-migration.js.map +1 -1
- package/dist/config/migrations/custom/platform-commit-migration.js +2 -3
- package/dist/config/migrations/custom/platform-commit-migration.js.map +1 -1
- package/dist/config/migrations/custom/post-update-options-migration.js +2 -3
- package/dist/config/migrations/custom/post-update-options-migration.js.map +1 -1
- package/dist/config/migrations/custom/rebase-stale-prs-migration.js +2 -3
- package/dist/config/migrations/custom/rebase-stale-prs-migration.js.map +1 -1
- package/dist/config/migrations/custom/recreate-closed-migration.js +2 -3
- package/dist/config/migrations/custom/recreate-closed-migration.js.map +1 -1
- package/dist/config/migrations/custom/renovate-fork-migration.js +2 -3
- package/dist/config/migrations/custom/renovate-fork-migration.js.map +1 -1
- package/dist/config/migrations/custom/schedule-migration.js +4 -4
- package/dist/config/migrations/custom/schedule-migration.js.map +1 -1
- package/dist/config/migrations/custom/semantic-commits-migration.js +2 -3
- package/dist/config/migrations/custom/semantic-commits-migration.js.map +1 -1
- package/dist/config/migrations/custom/semantic-prefix-migration.js +2 -3
- package/dist/config/migrations/custom/semantic-prefix-migration.js.map +1 -1
- package/dist/config/migrations/custom/stability-days-migration.js +2 -3
- package/dist/config/migrations/custom/stability-days-migration.js.map +1 -1
- package/dist/config/migrations/custom/suppress-notifications-migration.js +2 -3
- package/dist/config/migrations/custom/suppress-notifications-migration.js.map +1 -1
- package/dist/config/migrations/custom/unpublish-safe-migration.js +2 -3
- package/dist/config/migrations/custom/unpublish-safe-migration.js.map +1 -1
- package/dist/config/migrations/migrations-service.js +2 -3
- package/dist/config/migrations/migrations-service.js.map +1 -1
- package/dist/config/presets/github/index.js +2 -3
- package/dist/config/presets/github/index.js.map +1 -1
- package/dist/config/presets/gitlab/index.js +2 -3
- package/dist/config/presets/gitlab/index.js.map +1 -1
- package/dist/config/presets/index.js +8 -8
- package/dist/config/presets/index.js.map +1 -1
- package/dist/config/presets/parse.js +2 -3
- package/dist/config/presets/parse.js.map +1 -1
- package/dist/config/secrets.js +3 -4
- package/dist/config/secrets.js.map +1 -1
- package/dist/config/validation-helpers/match-base-branches.js +2 -3
- package/dist/config/validation-helpers/match-base-branches.js.map +1 -1
- package/dist/config/validation-helpers/regex-glob-matchers.js +2 -3
- package/dist/config/validation-helpers/regex-glob-matchers.js.map +1 -1
- package/dist/config/validation-helpers/utils.js +6 -6
- package/dist/config/validation-helpers/utils.js.map +1 -1
- package/dist/config/validation.js +29 -29
- package/dist/config/validation.js.map +1 -1
- package/dist/instrumentation/reporting.js +7 -8
- package/dist/instrumentation/reporting.js.map +1 -1
- package/dist/instrumentation/utils.js +2 -3
- package/dist/instrumentation/utils.js.map +1 -1
- package/dist/logger/err-serializer.js +2 -2
- package/dist/logger/err-serializer.js.map +1 -1
- package/dist/logger/index.js +3 -3
- package/dist/logger/index.js.map +1 -1
- package/dist/logger/renovate-logger.js +4 -5
- package/dist/logger/renovate-logger.js.map +1 -1
- package/dist/logger/utils.js +19 -19
- package/dist/logger/utils.js.map +1 -1
- package/dist/modules/datasource/aws-eks-addon/index.js +2 -2
- package/dist/modules/datasource/aws-eks-addon/index.js.map +1 -1
- package/dist/modules/datasource/bazel/index.js +2 -2
- package/dist/modules/datasource/bazel/index.js.map +1 -1
- package/dist/modules/datasource/bitrise/index.js +2 -2
- package/dist/modules/datasource/bitrise/index.js.map +1 -1
- package/dist/modules/datasource/common.js +4 -4
- package/dist/modules/datasource/common.js.map +1 -1
- package/dist/modules/datasource/conan/index.js +3 -3
- package/dist/modules/datasource/conan/index.js.map +1 -1
- package/dist/modules/datasource/custom/formats/html.js +2 -5
- package/dist/modules/datasource/custom/formats/html.js.map +1 -1
- package/dist/modules/datasource/custom/index.js +2 -3
- package/dist/modules/datasource/custom/index.js.map +1 -1
- package/dist/modules/datasource/custom/utils.js +4 -4
- package/dist/modules/datasource/custom/utils.js.map +1 -1
- package/dist/modules/datasource/dart-version/index.js +2 -3
- package/dist/modules/datasource/dart-version/index.js.map +1 -1
- package/dist/modules/datasource/deno/index.js +2 -2
- package/dist/modules/datasource/deno/index.js.map +1 -1
- package/dist/modules/datasource/docker/common.js +5 -5
- package/dist/modules/datasource/docker/common.js.map +1 -1
- package/dist/modules/datasource/docker/index.js +6 -6
- package/dist/modules/datasource/docker/index.js.map +1 -1
- package/dist/modules/datasource/endoflife-date/index.js +2 -2
- package/dist/modules/datasource/endoflife-date/index.js.map +1 -1
- package/dist/modules/datasource/galaxy/index.js +2 -2
- package/dist/modules/datasource/galaxy/index.js.map +1 -1
- package/dist/modules/datasource/galaxy-collection/index.js +2 -2
- package/dist/modules/datasource/galaxy-collection/index.js.map +1 -1
- package/dist/modules/datasource/git-refs/base.js +2 -2
- package/dist/modules/datasource/git-refs/base.js.map +1 -1
- package/dist/modules/datasource/github-release-attachments/index.js +2 -2
- package/dist/modules/datasource/github-release-attachments/index.js.map +1 -1
- package/dist/modules/datasource/github-releases/index.js +2 -3
- package/dist/modules/datasource/github-releases/index.js.map +1 -1
- package/dist/modules/datasource/github-tags/index.js +2 -3
- package/dist/modules/datasource/github-tags/index.js.map +1 -1
- package/dist/modules/datasource/go/goproxy-parser.js +3 -3
- package/dist/modules/datasource/go/goproxy-parser.js.map +1 -1
- package/dist/modules/datasource/go/index.js +2 -2
- package/dist/modules/datasource/go/index.js.map +1 -1
- package/dist/modules/datasource/go/releases-goproxy.js +3 -3
- package/dist/modules/datasource/go/releases-goproxy.js.map +1 -1
- package/dist/modules/datasource/hackage/index.js +2 -2
- package/dist/modules/datasource/hackage/index.js.map +1 -1
- package/dist/modules/datasource/hex/schema.js +2 -3
- package/dist/modules/datasource/hex/schema.js.map +1 -1
- package/dist/modules/datasource/hexpm-bob/index.js +2 -2
- package/dist/modules/datasource/hexpm-bob/index.js.map +1 -1
- package/dist/modules/datasource/index.js +14 -14
- package/dist/modules/datasource/index.js.map +1 -1
- package/dist/modules/datasource/jsr/index.js +2 -2
- package/dist/modules/datasource/jsr/index.js.map +1 -1
- package/dist/modules/datasource/jsr/util.js +3 -4
- package/dist/modules/datasource/jsr/util.js.map +1 -1
- package/dist/modules/datasource/metadata.js +5 -5
- package/dist/modules/datasource/metadata.js.map +1 -1
- package/dist/modules/datasource/npm/get.js +2 -2
- package/dist/modules/datasource/npm/get.js.map +1 -1
- package/dist/modules/datasource/npm/npmrc.js +7 -7
- package/dist/modules/datasource/npm/npmrc.js.map +1 -1
- package/dist/modules/datasource/nuget/v3.js +2 -2
- package/dist/modules/datasource/nuget/v3.js.map +1 -1
- package/dist/modules/datasource/packagist/index.js +2 -2
- package/dist/modules/datasource/packagist/index.js.map +1 -1
- package/dist/modules/datasource/packagist/schema.js +3 -4
- package/dist/modules/datasource/packagist/schema.js.map +1 -1
- package/dist/modules/datasource/pypi/index.js +2 -2
- package/dist/modules/datasource/pypi/index.js.map +1 -1
- package/dist/modules/datasource/repology/index.js +3 -3
- package/dist/modules/datasource/repology/index.js.map +1 -1
- package/dist/modules/datasource/rubygems/schema.js +5 -6
- package/dist/modules/datasource/rubygems/schema.js.map +1 -1
- package/dist/modules/datasource/util.js +2 -3
- package/dist/modules/datasource/util.js.map +1 -1
- package/dist/modules/manager/argocd/extract.js +3 -4
- package/dist/modules/manager/argocd/extract.js.map +1 -1
- package/dist/modules/manager/asdf/extract.js +2 -3
- package/dist/modules/manager/asdf/extract.js.map +1 -1
- package/dist/modules/manager/bazel/artifacts.js +2 -2
- package/dist/modules/manager/bazel/artifacts.js.map +1 -1
- package/dist/modules/manager/bazel/common.js +4 -5
- package/dist/modules/manager/bazel/common.js.map +1 -1
- package/dist/modules/manager/bazel/rules/http.js +3 -4
- package/dist/modules/manager/bazel/rules/http.js.map +1 -1
- package/dist/modules/manager/bazel/rules/maven.js +2 -3
- package/dist/modules/manager/bazel/rules/maven.js.map +1 -1
- package/dist/modules/manager/bazel-module/parser/starlark.js +2 -3
- package/dist/modules/manager/bazel-module/parser/starlark.js.map +1 -1
- package/dist/modules/manager/bazel-module/rules.js +3 -3
- package/dist/modules/manager/bazel-module/rules.js.map +1 -1
- package/dist/modules/manager/bitrise/utils.js +3 -4
- package/dist/modules/manager/bitrise/utils.js.map +1 -1
- package/dist/modules/manager/buildpacks/extract.js +2 -3
- package/dist/modules/manager/buildpacks/extract.js.map +1 -1
- package/dist/modules/manager/bun/artifacts.js +2 -2
- package/dist/modules/manager/bun/artifacts.js.map +1 -1
- package/dist/modules/manager/bun/extract.js +2 -3
- package/dist/modules/manager/bun/extract.js.map +1 -1
- package/dist/modules/manager/bundler/artifacts.js +3 -3
- package/dist/modules/manager/bundler/artifacts.js.map +1 -1
- package/dist/modules/manager/bundler/extract.js +5 -6
- package/dist/modules/manager/bundler/extract.js.map +1 -1
- package/dist/modules/manager/cargo/extract.js +3 -4
- package/dist/modules/manager/cargo/extract.js.map +1 -1
- package/dist/modules/manager/composer/artifacts.js +3 -3
- package/dist/modules/manager/composer/artifacts.js.map +1 -1
- package/dist/modules/manager/composer/utils.js +3 -4
- package/dist/modules/manager/composer/utils.js.map +1 -1
- package/dist/modules/manager/conan/extract.js +2 -3
- package/dist/modules/manager/conan/extract.js.map +1 -1
- package/dist/modules/manager/copier/artifacts.js +1 -1
- package/dist/modules/manager/copier/artifacts.js.map +1 -1
- package/dist/modules/manager/copier/utils.js +3 -4
- package/dist/modules/manager/copier/utils.js.map +1 -1
- package/dist/modules/manager/crow/extract.js +2 -3
- package/dist/modules/manager/crow/extract.js.map +1 -1
- package/dist/modules/manager/custom/jsonata/index.js +2 -3
- package/dist/modules/manager/custom/jsonata/index.js.map +1 -1
- package/dist/modules/manager/custom/jsonata/utils.js +3 -3
- package/dist/modules/manager/custom/jsonata/utils.js.map +1 -1
- package/dist/modules/manager/custom/regex/index.js +2 -3
- package/dist/modules/manager/custom/regex/index.js.map +1 -1
- package/dist/modules/manager/custom/regex/strategies.js +4 -5
- package/dist/modules/manager/custom/regex/strategies.js.map +1 -1
- package/dist/modules/manager/custom/regex/utils.js +2 -2
- package/dist/modules/manager/custom/regex/utils.js.map +1 -1
- package/dist/modules/manager/custom/utils.js +6 -7
- package/dist/modules/manager/custom/utils.js.map +1 -1
- package/dist/modules/manager/deps-edn/extract.js +13 -14
- package/dist/modules/manager/deps-edn/extract.js.map +1 -1
- package/dist/modules/manager/deps-edn/parser.js +2 -2
- package/dist/modules/manager/deps-edn/parser.js.map +1 -1
- package/dist/modules/manager/devbox/artifacts.js +2 -2
- package/dist/modules/manager/devbox/artifacts.js.map +1 -1
- package/dist/modules/manager/docker-compose/extract.js +3 -4
- package/dist/modules/manager/docker-compose/extract.js.map +1 -1
- package/dist/modules/manager/docker-compose/schema.js +2 -3
- package/dist/modules/manager/docker-compose/schema.js.map +1 -1
- package/dist/modules/manager/dockerfile/extract.js +5 -5
- package/dist/modules/manager/dockerfile/extract.js.map +1 -1
- package/dist/modules/manager/fingerprint.generated.js +6 -6
- package/dist/modules/manager/fingerprint.generated.js.map +1 -1
- package/dist/modules/manager/fleet/extract.js +2 -3
- package/dist/modules/manager/fleet/extract.js.map +1 -1
- package/dist/modules/manager/flux/extract.js +2 -3
- package/dist/modules/manager/flux/extract.js.map +1 -1
- package/dist/modules/manager/glasskube/extract.js +2 -3
- package/dist/modules/manager/glasskube/extract.js.map +1 -1
- package/dist/modules/manager/gleam/artifacts.js +3 -4
- package/dist/modules/manager/gleam/artifacts.js.map +1 -1
- package/dist/modules/manager/gomod/artifacts.js +2 -2
- package/dist/modules/manager/gomod/artifacts.js.map +1 -1
- package/dist/modules/manager/gradle/artifacts.js +2 -2
- package/dist/modules/manager/gradle/artifacts.js.map +1 -1
- package/dist/modules/manager/gradle/extract/catalog.js +5 -5
- package/dist/modules/manager/gradle/extract/catalog.js.map +1 -1
- package/dist/modules/manager/gradle-wrapper/artifacts.js +2 -2
- package/dist/modules/manager/gradle-wrapper/artifacts.js.map +1 -1
- package/dist/modules/manager/helm-requirements/extract.js +2 -3
- package/dist/modules/manager/helm-requirements/extract.js.map +1 -1
- package/dist/modules/manager/helmfile/artifacts.js +2 -3
- package/dist/modules/manager/helmfile/artifacts.js.map +1 -1
- package/dist/modules/manager/helmfile/extract.js +4 -5
- package/dist/modules/manager/helmfile/extract.js.map +1 -1
- package/dist/modules/manager/helmsman/extract.js +4 -5
- package/dist/modules/manager/helmsman/extract.js.map +1 -1
- package/dist/modules/manager/helmv3/artifacts.js +4 -4
- package/dist/modules/manager/helmv3/artifacts.js.map +1 -1
- package/dist/modules/manager/helmv3/extract.js +4 -5
- package/dist/modules/manager/helmv3/extract.js.map +1 -1
- package/dist/modules/manager/helmv3/oci.js +3 -4
- package/dist/modules/manager/helmv3/oci.js.map +1 -1
- package/dist/modules/manager/homebrew/extract.js +1 -1
- package/dist/modules/manager/homebrew/extract.js.map +1 -1
- package/dist/modules/manager/jenkins/extract.js +3 -3
- package/dist/modules/manager/jenkins/extract.js.map +1 -1
- package/dist/modules/manager/kotlin-script/extract.js +3 -4
- package/dist/modules/manager/kotlin-script/extract.js.map +1 -1
- package/dist/modules/manager/kubernetes/extract.js +4 -4
- package/dist/modules/manager/kubernetes/extract.js.map +1 -1
- package/dist/modules/manager/kustomize/artifacts.js +8 -8
- package/dist/modules/manager/kustomize/artifacts.js.map +1 -1
- package/dist/modules/manager/kustomize/extract.js +8 -8
- package/dist/modules/manager/kustomize/extract.js.map +1 -1
- package/dist/modules/manager/maven/extract.js +4 -4
- package/dist/modules/manager/maven/extract.js.map +1 -1
- package/dist/modules/manager/maven/update.js +2 -2
- package/dist/modules/manager/maven/update.js.map +1 -1
- package/dist/modules/manager/maven-wrapper/artifacts.js +2 -2
- package/dist/modules/manager/maven-wrapper/artifacts.js.map +1 -1
- package/dist/modules/manager/mise/backends.js +9 -10
- package/dist/modules/manager/mise/backends.js.map +1 -1
- package/dist/modules/manager/mise/extract.js +7 -8
- package/dist/modules/manager/mise/extract.js.map +1 -1
- package/dist/modules/manager/mix/artifacts.js +3 -3
- package/dist/modules/manager/mix/artifacts.js.map +1 -1
- package/dist/modules/manager/nix/artifacts.js +2 -2
- package/dist/modules/manager/nix/artifacts.js.map +1 -1
- package/dist/modules/manager/npm/detect.js +2 -2
- package/dist/modules/manager/npm/detect.js.map +1 -1
- package/dist/modules/manager/npm/extract/common/dependency.js +2 -2
- package/dist/modules/manager/npm/extract/common/dependency.js.map +1 -1
- package/dist/modules/manager/npm/extract/common/overrides.js +3 -4
- package/dist/modules/manager/npm/extract/common/overrides.js.map +1 -1
- package/dist/modules/manager/npm/extract/common/package-file.js +8 -9
- package/dist/modules/manager/npm/extract/common/package-file.js.map +1 -1
- package/dist/modules/manager/npm/extract/index.js +10 -10
- package/dist/modules/manager/npm/extract/index.js.map +1 -1
- package/dist/modules/manager/npm/extract/pnpm.js +7 -7
- package/dist/modules/manager/npm/extract/pnpm.js.map +1 -1
- package/dist/modules/manager/npm/extract/post/locked-versions.js +3 -3
- package/dist/modules/manager/npm/extract/post/locked-versions.js.map +1 -1
- package/dist/modules/manager/npm/extract/post/monorepo.js +3 -4
- package/dist/modules/manager/npm/extract/post/monorepo.js.map +1 -1
- package/dist/modules/manager/npm/extract/yarn.js +2 -3
- package/dist/modules/manager/npm/extract/yarn.js.map +1 -1
- package/dist/modules/manager/npm/extract/yarnrc.js +2 -3
- package/dist/modules/manager/npm/extract/yarnrc.js.map +1 -1
- package/dist/modules/manager/npm/post-update/index.js +6 -6
- package/dist/modules/manager/npm/post-update/index.js.map +1 -1
- package/dist/modules/manager/npm/post-update/npm.js +4 -4
- package/dist/modules/manager/npm/post-update/npm.js.map +1 -1
- package/dist/modules/manager/npm/post-update/pnpm.js +3 -3
- package/dist/modules/manager/npm/post-update/pnpm.js.map +1 -1
- package/dist/modules/manager/npm/post-update/rules.js +2 -2
- package/dist/modules/manager/npm/post-update/rules.js.map +1 -1
- package/dist/modules/manager/npm/post-update/utils.js +2 -2
- package/dist/modules/manager/npm/post-update/utils.js.map +1 -1
- package/dist/modules/manager/npm/post-update/yarn.js +3 -3
- package/dist/modules/manager/npm/post-update/yarn.js.map +1 -1
- package/dist/modules/manager/npm/update/dependency/index.js +2 -3
- package/dist/modules/manager/npm/update/dependency/index.js.map +1 -1
- package/dist/modules/manager/npm/update/dependency/pnpm.js +2 -3
- package/dist/modules/manager/npm/update/dependency/pnpm.js.map +1 -1
- package/dist/modules/manager/npm/update/dependency/yarn.js +3 -4
- package/dist/modules/manager/npm/update/dependency/yarn.js.map +1 -1
- package/dist/modules/manager/nuget/config-formatter.js +2 -2
- package/dist/modules/manager/nuget/config-formatter.js.map +1 -1
- package/dist/modules/manager/nuget/extract.js +4 -4
- package/dist/modules/manager/nuget/extract.js.map +1 -1
- package/dist/modules/manager/nuget/package-tree.js +2 -2
- package/dist/modules/manager/nuget/package-tree.js.map +1 -1
- package/dist/modules/manager/ocb/extract.js +2 -3
- package/dist/modules/manager/ocb/extract.js.map +1 -1
- package/dist/modules/manager/osgi/extract.js +4 -4
- package/dist/modules/manager/osgi/extract.js.map +1 -1
- package/dist/modules/manager/pep621/artifacts.js +3 -4
- package/dist/modules/manager/pep621/artifacts.js.map +1 -1
- package/dist/modules/manager/pep621/processors/uv.js +2 -3
- package/dist/modules/manager/pep621/processors/uv.js.map +1 -1
- package/dist/modules/manager/pep621/schema.d.ts +1 -1
- package/dist/modules/manager/pep621/schema.js +1 -0
- package/dist/modules/manager/pep621/schema.js.map +1 -1
- package/dist/modules/manager/pep621/utils.js +8 -10
- package/dist/modules/manager/pep621/utils.js.map +1 -1
- package/dist/modules/manager/pep723/schema.js +2 -3
- package/dist/modules/manager/pep723/schema.js.map +1 -1
- package/dist/modules/manager/pip-compile/common.js +3 -3
- package/dist/modules/manager/pip-compile/common.js.map +1 -1
- package/dist/modules/manager/pip_requirements/artifacts.js +2 -3
- package/dist/modules/manager/pip_requirements/artifacts.js.map +1 -1
- package/dist/modules/manager/pip_requirements/extract.js +2 -3
- package/dist/modules/manager/pip_requirements/extract.js.map +1 -1
- package/dist/modules/manager/pipenv/artifacts.js +3 -4
- package/dist/modules/manager/pipenv/artifacts.js.map +1 -1
- package/dist/modules/manager/pipenv/extract.js +6 -7
- package/dist/modules/manager/pipenv/extract.js.map +1 -1
- package/dist/modules/manager/pixi/artifacts.js +2 -3
- package/dist/modules/manager/pixi/artifacts.js.map +1 -1
- package/dist/modules/manager/pixi/extract.js +2 -3
- package/dist/modules/manager/pixi/extract.js.map +1 -1
- package/dist/modules/manager/poetry/artifacts.js +4 -5
- package/dist/modules/manager/poetry/artifacts.js.map +1 -1
- package/dist/modules/manager/poetry/extract.js +2 -3
- package/dist/modules/manager/poetry/extract.js.map +1 -1
- package/dist/modules/manager/poetry/schema.d.ts +4 -0
- package/dist/modules/manager/poetry/schema.js +5 -1
- package/dist/modules/manager/poetry/schema.js.map +1 -1
- package/dist/modules/manager/pre-commit/extract.js +4 -5
- package/dist/modules/manager/pre-commit/extract.js.map +1 -1
- package/dist/modules/manager/pub/artifacts.js +3 -4
- package/dist/modules/manager/pub/artifacts.js.map +1 -1
- package/dist/modules/manager/pub/extract.js +8 -11
- package/dist/modules/manager/pub/extract.js.map +1 -1
- package/dist/modules/manager/renovate-config-presets/extract.js +4 -5
- package/dist/modules/manager/renovate-config-presets/extract.js.map +1 -1
- package/dist/modules/manager/tekton/extract.js +9 -10
- package/dist/modules/manager/tekton/extract.js.map +1 -1
- package/dist/modules/manager/terraform/base.js +2 -3
- package/dist/modules/manager/terraform/base.js.map +1 -1
- package/dist/modules/manager/terraform/extract.js +2 -2
- package/dist/modules/manager/terraform/extract.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/others/modules.js +3 -4
- package/dist/modules/manager/terraform/extractors/others/modules.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/others/providers.js +3 -4
- package/dist/modules/manager/terraform/extractors/others/providers.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.js +7 -8
- package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/resources/helm-release.js +5 -6
- package/dist/modules/manager/terraform/extractors/resources/helm-release.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/resources/terraform-workspace.js +3 -4
- package/dist/modules/manager/terraform/extractors/resources/terraform-workspace.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/terraform-block/required-provider.js +4 -5
- package/dist/modules/manager/terraform/extractors/terraform-block/required-provider.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/terraform-block/terraform-version.js +3 -3
- package/dist/modules/manager/terraform/extractors/terraform-block/terraform-version.js.map +1 -1
- package/dist/modules/manager/terraform/lockfile/index.js +2 -2
- package/dist/modules/manager/terraform/lockfile/index.js.map +1 -1
- package/dist/modules/manager/terraform/lockfile/util.js +2 -3
- package/dist/modules/manager/terraform/lockfile/util.js.map +1 -1
- package/dist/modules/manager/terraform/util.js +2 -3
- package/dist/modules/manager/terraform/util.js.map +1 -1
- package/dist/modules/manager/tflint-plugin/plugins.js +2 -3
- package/dist/modules/manager/tflint-plugin/plugins.js.map +1 -1
- package/dist/modules/manager/travis/extract.js +5 -6
- package/dist/modules/manager/travis/extract.js.map +1 -1
- package/dist/modules/manager/woodpecker/extract.js +2 -3
- package/dist/modules/manager/woodpecker/extract.js.map +1 -1
- package/dist/modules/platform/azure/index.js +2 -2
- package/dist/modules/platform/azure/index.js.map +1 -1
- package/dist/modules/platform/bitbucket/index.js +5 -5
- package/dist/modules/platform/bitbucket/index.js.map +1 -1
- package/dist/modules/platform/bitbucket-server/pr-cache.js +3 -3
- package/dist/modules/platform/bitbucket-server/pr-cache.js.map +1 -1
- package/dist/modules/platform/bitbucket-server/utils.js +2 -2
- package/dist/modules/platform/bitbucket-server/utils.js.map +1 -1
- package/dist/modules/platform/codecommit/codecommit-client.js +2 -2
- package/dist/modules/platform/codecommit/codecommit-client.js.map +1 -1
- package/dist/modules/platform/forgejo/index.js +5 -5
- package/dist/modules/platform/forgejo/index.js.map +1 -1
- package/dist/modules/platform/forgejo/pr-cache.js +1 -1
- package/dist/modules/platform/forgejo/pr-cache.js.map +1 -1
- package/dist/modules/platform/forgejo/utils.js +2 -2
- package/dist/modules/platform/forgejo/utils.js.map +1 -1
- package/dist/modules/platform/gitea/index.js +5 -5
- package/dist/modules/platform/gitea/index.js.map +1 -1
- package/dist/modules/platform/gitea/pr-cache.js +1 -1
- package/dist/modules/platform/gitea/pr-cache.js.map +1 -1
- package/dist/modules/platform/gitea/utils.js +2 -2
- package/dist/modules/platform/gitea/utils.js.map +1 -1
- package/dist/modules/platform/github/common.js +4 -5
- package/dist/modules/platform/github/common.js.map +1 -1
- package/dist/modules/platform/github/index.js +5 -5
- package/dist/modules/platform/github/index.js.map +1 -1
- package/dist/modules/platform/github/pr.js +2 -3
- package/dist/modules/platform/github/pr.js.map +1 -1
- package/dist/modules/platform/gitlab/http.js +2 -3
- package/dist/modules/platform/gitlab/http.js.map +1 -1
- package/dist/modules/platform/gitlab/index.js +3 -3
- package/dist/modules/platform/gitlab/index.js.map +1 -1
- package/dist/modules/platform/gitlab/utils.js +3 -3
- package/dist/modules/platform/gitlab/utils.js.map +1 -1
- package/dist/modules/platform/pr-body.js +2 -3
- package/dist/modules/platform/pr-body.js.map +1 -1
- package/dist/modules/versioning/composer/index.js +2 -3
- package/dist/modules/versioning/composer/index.js.map +1 -1
- package/dist/modules/versioning/generic.js +5 -6
- package/dist/modules/versioning/generic.js.map +1 -1
- package/dist/modules/versioning/gradle/compare.js +3 -4
- package/dist/modules/versioning/gradle/compare.js.map +1 -1
- package/dist/modules/versioning/ivy/parse.js +1 -1
- package/dist/modules/versioning/ivy/parse.js.map +1 -1
- package/dist/modules/versioning/maven/index.js +1 -1
- package/dist/modules/versioning/maven/index.js.map +1 -1
- package/dist/modules/versioning/nixpkgs/index.js +6 -7
- package/dist/modules/versioning/nixpkgs/index.js.map +1 -1
- package/dist/modules/versioning/npm/range.js +2 -2
- package/dist/modules/versioning/npm/range.js.map +1 -1
- package/dist/modules/versioning/nuget/index.js +1 -1
- package/dist/modules/versioning/nuget/index.js.map +1 -1
- package/dist/modules/versioning/rpm/index.js +4 -5
- package/dist/modules/versioning/rpm/index.js.map +1 -1
- package/dist/modules/versioning/schema.js +2 -2
- package/dist/modules/versioning/schema.js.map +1 -1
- package/dist/modules/versioning/semver-coerced/index.js +3 -3
- package/dist/modules/versioning/semver-coerced/index.js.map +1 -1
- package/dist/modules/versioning/semver-partial/index.js +4 -4
- package/dist/modules/versioning/semver-partial/index.js.map +1 -1
- package/dist/proxy.js +3 -4
- package/dist/proxy.js.map +1 -1
- package/dist/util/array.js +4 -5
- package/dist/util/array.js.map +1 -1
- package/dist/util/assign-keys.js +2 -3
- package/dist/util/assign-keys.js.map +1 -1
- package/dist/util/cache/package/decorator.js +6 -6
- package/dist/util/cache/package/decorator.js.map +1 -1
- package/dist/util/cache/package/ttl.js +4 -5
- package/dist/util/cache/package/ttl.js.map +1 -1
- package/dist/util/cache/repository/impl/base.js +3 -4
- package/dist/util/cache/repository/impl/base.js.map +1 -1
- package/dist/util/cache/repository/impl/s3.js +2 -3
- package/dist/util/cache/repository/impl/s3.js.map +1 -1
- package/dist/util/exec/common.js +2 -3
- package/dist/util/exec/common.js.map +1 -1
- package/dist/util/exec/containerbase.js +2 -2
- package/dist/util/exec/containerbase.js.map +1 -1
- package/dist/util/exec/docker/index.js +5 -5
- package/dist/util/exec/docker/index.js.map +1 -1
- package/dist/util/exec/index.js +2 -2
- package/dist/util/exec/index.js.map +1 -1
- package/dist/util/exec/utils.js +3 -4
- package/dist/util/exec/utils.js.map +1 -1
- package/dist/util/filter-map.js +2 -3
- package/dist/util/filter-map.js.map +1 -1
- package/dist/util/fs/index.js +3 -3
- package/dist/util/fs/index.js.map +1 -1
- package/dist/util/git/auth.js +2 -3
- package/dist/util/git/auth.js.map +1 -1
- package/dist/util/git/behind-base-branch-cache.js +2 -1
- package/dist/util/git/behind-base-branch-cache.js.map +1 -1
- package/dist/util/git/config.js +3 -4
- package/dist/util/git/config.js.map +1 -1
- package/dist/util/git/conflicts-cache.js +2 -1
- package/dist/util/git/conflicts-cache.js.map +1 -1
- package/dist/util/git/index.js +5 -5
- package/dist/util/git/index.js.map +1 -1
- package/dist/util/git/private-key.js +2 -2
- package/dist/util/git/private-key.js.map +1 -1
- package/dist/util/github/graphql/datasource-fetcher.js +2 -1
- package/dist/util/github/graphql/datasource-fetcher.js.map +1 -1
- package/dist/util/host-rules.js +6 -6
- package/dist/util/host-rules.js.map +1 -1
- package/dist/util/http/auth.js +3 -4
- package/dist/util/http/auth.js.map +1 -1
- package/dist/util/http/bitbucket-server.js +2 -3
- package/dist/util/http/bitbucket-server.js.map +1 -1
- package/dist/util/http/bitbucket.js +3 -4
- package/dist/util/http/bitbucket.js.map +1 -1
- package/dist/util/http/cache/package-http-cache-provider.js +2 -2
- package/dist/util/http/cache/package-http-cache-provider.js.map +1 -1
- package/dist/util/http/forgejo.js +3 -4
- package/dist/util/http/forgejo.js.map +1 -1
- package/dist/util/http/gitea.js +3 -4
- package/dist/util/http/gitea.js.map +1 -1
- package/dist/util/http/github.js +10 -10
- package/dist/util/http/github.js.map +1 -1
- package/dist/util/http/gitlab.js +4 -5
- package/dist/util/http/gitlab.js.map +1 -1
- package/dist/util/http/host-rules.js +10 -10
- package/dist/util/http/host-rules.js.map +1 -1
- package/dist/util/http/http.js +5 -5
- package/dist/util/http/http.js.map +1 -1
- package/dist/util/http/rate-limits.js +3 -3
- package/dist/util/http/rate-limits.js.map +1 -1
- package/dist/util/http/retry-after.js +3 -4
- package/dist/util/http/retry-after.js.map +1 -1
- package/dist/util/interpolator.js +8 -9
- package/dist/util/interpolator.js.map +1 -1
- package/dist/util/merge-confidence/index.js +5 -5
- package/dist/util/merge-confidence/index.js.map +1 -1
- package/dist/util/number.js +2 -3
- package/dist/util/number.js.map +1 -1
- package/dist/util/package-rules/base-branches.js +3 -4
- package/dist/util/package-rules/base-branches.js.map +1 -1
- package/dist/util/package-rules/categories.js +3 -4
- package/dist/util/package-rules/categories.js.map +1 -1
- package/dist/util/package-rules/current-age.js +3 -4
- package/dist/util/package-rules/current-age.js.map +1 -1
- package/dist/util/package-rules/current-value.js +2 -3
- package/dist/util/package-rules/current-value.js.map +1 -1
- package/dist/util/package-rules/current-version.js +5 -5
- package/dist/util/package-rules/current-version.js.map +1 -1
- package/dist/util/package-rules/datasources.js +3 -4
- package/dist/util/package-rules/datasources.js.map +1 -1
- package/dist/util/package-rules/dep-names.js +3 -4
- package/dist/util/package-rules/dep-names.js.map +1 -1
- package/dist/util/package-rules/dep-types.js +2 -3
- package/dist/util/package-rules/dep-types.js.map +1 -1
- package/dist/util/package-rules/files.js +4 -5
- package/dist/util/package-rules/files.js.map +1 -1
- package/dist/util/package-rules/index.js +6 -6
- package/dist/util/package-rules/index.js.map +1 -1
- package/dist/util/package-rules/managers.js +3 -4
- package/dist/util/package-rules/managers.js.map +1 -1
- package/dist/util/package-rules/merge-confidence.js +5 -6
- package/dist/util/package-rules/merge-confidence.js.map +1 -1
- package/dist/util/package-rules/new-value.js +2 -3
- package/dist/util/package-rules/new-value.js.map +1 -1
- package/dist/util/package-rules/package-names.js +2 -3
- package/dist/util/package-rules/package-names.js.map +1 -1
- package/dist/util/package-rules/repositories.js +3 -4
- package/dist/util/package-rules/repositories.js.map +1 -1
- package/dist/util/package-rules/sourceurls.js +2 -3
- package/dist/util/package-rules/sourceurls.js.map +1 -1
- package/dist/util/package-rules/update-types.js +2 -3
- package/dist/util/package-rules/update-types.js.map +1 -1
- package/dist/util/pretty-time.js +4 -4
- package/dist/util/pretty-time.js.map +1 -1
- package/dist/util/regex.js +2 -3
- package/dist/util/regex.js.map +1 -1
- package/dist/util/s3.js +2 -3
- package/dist/util/s3.js.map +1 -1
- package/dist/util/sanitize.js +2 -3
- package/dist/util/sanitize.js.map +1 -1
- package/dist/util/string-match.js +2 -3
- package/dist/util/string-match.js.map +1 -1
- package/dist/util/template/index.js +6 -6
- package/dist/util/template/index.js.map +1 -1
- package/dist/util/url.js +5 -5
- package/dist/util/url.js.map +1 -1
- package/dist/workers/global/autodiscover.js +3 -4
- package/dist/workers/global/autodiscover.js.map +1 -1
- package/dist/workers/global/config/parse/additional-config-file.js +4 -4
- package/dist/workers/global/config/parse/additional-config-file.js.map +1 -1
- package/dist/workers/global/config/parse/coersions.js +2 -2
- package/dist/workers/global/config/parse/coersions.js.map +1 -1
- package/dist/workers/global/config/parse/env.js +2 -2
- package/dist/workers/global/config/parse/env.js.map +1 -1
- package/dist/workers/global/config/parse/file.js +5 -5
- package/dist/workers/global/config/parse/file.js.map +1 -1
- package/dist/workers/global/config/parse/index.js +6 -7
- package/dist/workers/global/config/parse/index.js.map +1 -1
- package/dist/workers/global/config/parse/util.js +2 -2
- package/dist/workers/global/config/parse/util.js.map +1 -1
- package/dist/workers/global/index.js +5 -5
- package/dist/workers/global/index.js.map +1 -1
- package/dist/workers/global/limits.js +6 -7
- package/dist/workers/global/limits.js.map +1 -1
- package/dist/workers/repository/config-migration/branch/index.js +2 -3
- package/dist/workers/repository/config-migration/branch/index.js.map +1 -1
- package/dist/workers/repository/config-migration/branch/migrated-data.js +2 -2
- package/dist/workers/repository/config-migration/branch/migrated-data.js.map +1 -1
- package/dist/workers/repository/config-migration/pr/index.js +3 -3
- package/dist/workers/repository/config-migration/pr/index.js.map +1 -1
- package/dist/workers/repository/dependency-dashboard.js +10 -10
- package/dist/workers/repository/dependency-dashboard.js.map +1 -1
- package/dist/workers/repository/extract/index.js +2 -3
- package/dist/workers/repository/extract/index.js.map +1 -1
- package/dist/workers/repository/extract/manager-files.js +2 -3
- package/dist/workers/repository/extract/manager-files.js.map +1 -1
- package/dist/workers/repository/extract/supersedes.js +4 -5
- package/dist/workers/repository/extract/supersedes.js.map +1 -1
- package/dist/workers/repository/finalize/prune.js +2 -3
- package/dist/workers/repository/finalize/prune.js.map +1 -1
- package/dist/workers/repository/init/inherited.js +5 -5
- package/dist/workers/repository/init/inherited.js.map +1 -1
- package/dist/workers/repository/init/merge.js +13 -13
- package/dist/workers/repository/init/merge.js.map +1 -1
- package/dist/workers/repository/model/commit-message.js +2 -3
- package/dist/workers/repository/model/commit-message.js.map +1 -1
- package/dist/workers/repository/onboarding/branch/check.js +2 -1
- package/dist/workers/repository/onboarding/branch/check.js.map +1 -1
- package/dist/workers/repository/onboarding/branch/index.js +3 -4
- package/dist/workers/repository/onboarding/branch/index.js.map +1 -1
- package/dist/workers/repository/onboarding/branch/onboarding-branch-cache.js +7 -8
- package/dist/workers/repository/onboarding/branch/onboarding-branch-cache.js.map +1 -1
- package/dist/workers/repository/onboarding/pr/config-description.js +2 -5
- package/dist/workers/repository/onboarding/pr/config-description.js.map +1 -1
- package/dist/workers/repository/onboarding/pr/index.js +3 -3
- package/dist/workers/repository/onboarding/pr/index.js.map +1 -1
- package/dist/workers/repository/package-files.js +8 -9
- package/dist/workers/repository/package-files.js.map +1 -1
- package/dist/workers/repository/process/extract-update.js +2 -2
- package/dist/workers/repository/process/extract-update.js.map +1 -1
- package/dist/workers/repository/process/fetch.js +3 -3
- package/dist/workers/repository/process/fetch.js.map +1 -1
- package/dist/workers/repository/process/lookup/current.js +2 -3
- package/dist/workers/repository/process/lookup/current.js.map +1 -1
- package/dist/workers/repository/process/lookup/filter-checks.js +4 -5
- package/dist/workers/repository/process/lookup/filter-checks.js.map +1 -1
- package/dist/workers/repository/process/lookup/generate.js +2 -3
- package/dist/workers/repository/process/lookup/generate.js.map +1 -1
- package/dist/workers/repository/process/lookup/index.js +15 -16
- package/dist/workers/repository/process/lookup/index.js.map +1 -1
- package/dist/workers/repository/process/lookup/utils.js +7 -7
- package/dist/workers/repository/process/lookup/utils.js.map +1 -1
- package/dist/workers/repository/process/vulnerabilities.js +11 -11
- package/dist/workers/repository/process/vulnerabilities.js.map +1 -1
- package/dist/workers/repository/process/write.js +2 -3
- package/dist/workers/repository/process/write.js.map +1 -1
- package/dist/workers/repository/reconfigure/comment.js +2 -5
- package/dist/workers/repository/reconfigure/comment.js.map +1 -1
- package/dist/workers/repository/reconfigure/utils.js +2 -3
- package/dist/workers/repository/reconfigure/utils.js.map +1 -1
- package/dist/workers/repository/reconfigure/validate.js +2 -3
- package/dist/workers/repository/reconfigure/validate.js.map +1 -1
- package/dist/workers/repository/update/branch/auto-replace.js +4 -5
- package/dist/workers/repository/update/branch/auto-replace.js.map +1 -1
- package/dist/workers/repository/update/branch/commit.js +3 -4
- package/dist/workers/repository/update/branch/commit.js.map +1 -1
- package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js +12 -5
- package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js.map +1 -1
- package/dist/workers/repository/update/branch/get-updated.js +8 -9
- package/dist/workers/repository/update/branch/get-updated.js.map +1 -1
- package/dist/workers/repository/update/branch/index.js +3 -3
- package/dist/workers/repository/update/branch/index.js.map +1 -1
- package/dist/workers/repository/update/branch/schedule.js +2 -2
- package/dist/workers/repository/update/branch/schedule.js.map +1 -1
- package/dist/workers/repository/update/pr/body/notes.js +2 -2
- package/dist/workers/repository/update/pr/body/notes.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/bitbucket/index.js +2 -2
- package/dist/workers/repository/update/pr/changelog/bitbucket/index.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/index.js +3 -3
- package/dist/workers/repository/update/pr/changelog/index.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/release-notes.js +4 -4
- package/dist/workers/repository/update/pr/changelog/release-notes.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/source.js +8 -8
- package/dist/workers/repository/update/pr/changelog/source.js.map +1 -1
- package/dist/workers/repository/update/pr/code-owners.js +2 -2
- package/dist/workers/repository/update/pr/code-owners.js.map +1 -1
- package/dist/workers/repository/update/pr/index.js +7 -8
- package/dist/workers/repository/update/pr/index.js.map +1 -1
- package/dist/workers/repository/update/pr/labels.js +4 -4
- package/dist/workers/repository/update/pr/labels.js.map +1 -1
- package/dist/workers/repository/update/pr/participants.js +4 -5
- package/dist/workers/repository/update/pr/participants.js.map +1 -1
- package/dist/workers/repository/updates/generate.js +4 -4
- package/dist/workers/repository/updates/generate.js.map +1 -1
- package/package.json +5 -5
- package/renovate-schema.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../lib/config/validation.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { allManagersList, getManagerList } from '../modules/manager';\nimport { isCustomManager } from '../modules/manager/custom';\nimport type { CustomManager } from '../modules/manager/custom/types';\nimport type { HostRule } from '../types';\nimport { getExpression } from '../util/jsonata';\nimport { regEx } from '../util/regex';\nimport {\n getRegexPredicate,\n isRegexMatch,\n matchRegexOrGlobList,\n} from '../util/string-match';\nimport * as template from '../util/template';\nimport { parseUrl } from '../util/url';\nimport {\n hasValidSchedule,\n hasValidTimezone,\n} from '../workers/repository/update/branch/schedule';\nimport { getConfigFileNames } from './app-strings';\nimport { GlobalConfig } from './global';\nimport { migrateConfig } from './migration';\nimport { getOptions } from './options';\nimport { resolveConfigPresets } from './presets';\nimport { supportedDatasources } from './presets/internal/merge-confidence';\nimport type {\n AllowedParents,\n RenovateConfig,\n RenovateOptions,\n StatusCheckKey,\n ValidationMessage,\n ValidationResult,\n} from './types';\nimport { allowedStatusCheckStrings } from './types';\nimport * as matchBaseBranchesValidator from './validation-helpers/match-base-branches';\nimport * as regexOrGlobValidator from './validation-helpers/regex-glob-matchers';\nimport {\n getParentName,\n isFalseGlobal,\n validateJSONataManagerFields,\n validateNumber,\n validatePlainObject,\n validateRegexManagerFields,\n} from './validation-helpers/utils';\n\nconst options = getOptions();\n\nlet optionsInitialized = false;\nlet optionTypes: Record<string, RenovateOptions['type']>;\nlet optionParents: Record<string, AllowedParents[]>;\nlet optionGlobals: Set<string>;\nlet optionInherits: Set<string>;\nlet optionRegexOrGlob: Set<string>;\nlet optionAllowsNegativeIntegers: Set<string>;\n\nconst managerList = getManagerList();\n\nconst topLevelObjects = [...managerList, 'env'];\n\nconst ignoredNodes = [\n '$schema',\n 'headers',\n 'depType',\n 'npmToken',\n 'packageFile',\n 'forkToken',\n 'repository',\n 'vulnerabilityAlertsOnly',\n 'vulnerabilityAlert',\n 'isVulnerabilityAlert',\n 'vulnerabilityFixVersion', // not intended to be used by end users but may be by Mend apps\n 'copyLocalLibs', // deprecated - functionality is now enabled by default\n 'prBody', // deprecated\n 'minimumConfidence', // undocumented feature flag\n];\nconst tzRe = regEx(/^:timezone\\((.+)\\)$/);\nconst rulesRe = regEx(/p.*Rules\\[\\d+\\]$/);\n\nfunction isIgnored(key: string): boolean {\n return ignoredNodes.includes(key);\n}\n\nfunction getUnsupportedEnabledManagers(enabledManagers: string[]): string[] {\n return enabledManagers.filter(\n (manager) => !allManagersList.includes(manager.replace('custom.', '')),\n );\n}\n\nfunction getDeprecationMessage(option: string): string | undefined {\n const deprecatedOptions: Record<string, string | undefined> = {\n branchName: `Direct editing of branchName is now deprecated. Please edit branchPrefix, additionalBranchPrefix, or branchTopic instead`,\n commitMessage: `Direct editing of commitMessage is now deprecated. Please edit commitMessage's subcomponents instead.`,\n prTitle: `Direct editing of prTitle is now deprecated. Please edit commitMessage subcomponents instead as they will be passed through to prTitle.`,\n };\n return deprecatedOptions[option];\n}\n\nfunction isInhertConfigOption(key: string): boolean {\n return optionInherits.has(key);\n}\n\nfunction isRegexOrGlobOption(key: string): boolean {\n return optionRegexOrGlob.has(key);\n}\n\nfunction isGlobalOption(key: string): boolean {\n return optionGlobals.has(key);\n}\n\nfunction initOptions(): void {\n if (optionsInitialized) {\n return;\n }\n\n optionParents = {};\n optionInherits = new Set();\n optionTypes = {};\n optionRegexOrGlob = new Set();\n optionGlobals = new Set();\n optionAllowsNegativeIntegers = new Set();\n\n for (const option of options) {\n optionTypes[option.name] = option.type;\n\n if (option.parents) {\n optionParents[option.name] = option.parents;\n }\n\n if (option.inheritConfigSupport) {\n optionInherits.add(option.name);\n }\n\n if (option.patternMatch) {\n optionRegexOrGlob.add(option.name);\n }\n\n if (option.globalOnly) {\n optionGlobals.add(option.name);\n }\n\n if (option.allowNegative) {\n optionAllowsNegativeIntegers.add(option.name);\n }\n }\n\n optionsInitialized = true;\n}\n\nexport async function validateConfig(\n configType: 'global' | 'inherit' | 'repo',\n config: RenovateConfig,\n isPreset?: boolean,\n parentPath?: string,\n): Promise<ValidationResult> {\n initOptions();\n\n let errors: ValidationMessage[] = [];\n let warnings: ValidationMessage[] = [];\n\n for (const [key, val] of Object.entries(config)) {\n const currentPath = parentPath ? `${parentPath}.${key}` : key;\n /* v8 ignore next 7 -- TODO: add test */\n if (key === '__proto__') {\n errors.push({\n topic: 'Config security error',\n message: '__proto__',\n });\n continue;\n }\n if (\n parentPath &&\n parentPath !== 'onboardingConfig' &&\n topLevelObjects.includes(key)\n ) {\n errors.push({\n topic: 'Configuration Error',\n message: `The \"${key}\" object can only be configured at the top level of a config but was found inside \"${parentPath}\"`,\n });\n }\n\n if (isGlobalOption(key)) {\n if (configType === 'global') {\n await validateGlobalConfig(\n key,\n val,\n optionTypes[key],\n warnings,\n errors,\n currentPath,\n config,\n );\n continue;\n } else if (\n !isFalseGlobal(key, parentPath) &&\n !(configType === 'inherit' && isInhertConfigOption(key))\n ) {\n warnings.push({\n topic: 'Configuration Error',\n message: `The \"${key}\" option is a global option reserved only for Renovate's global configuration and cannot be configured within a repository's config file.`,\n });\n continue;\n }\n }\n if (key === 'enabledManagers' && val) {\n const unsupportedManagers = getUnsupportedEnabledManagers(\n val as string[],\n );\n if (is.nonEmptyArray(unsupportedManagers)) {\n errors.push({\n topic: 'Configuration Error',\n message: `The following managers configured in enabledManagers are not supported: \"${unsupportedManagers.join(\n ', ',\n )}\"`,\n });\n }\n }\n if (\n !isIgnored(key) && // We need to ignore some reserved keys\n !(is as any).function(val) // Ignore all functions\n ) {\n if (getDeprecationMessage(key)) {\n warnings.push({\n topic: 'Deprecation Warning',\n message: getDeprecationMessage(key)!,\n });\n }\n const templateKeys = [\n 'branchName',\n 'commitBody',\n 'commitMessage',\n 'prTitle',\n 'semanticCommitScope',\n ];\n if ((key.endsWith('Template') || templateKeys.includes(key)) && val) {\n try {\n // TODO: validate string #22198\n let res = template.compile((val as string).toString(), config, false);\n res = template.compile(res, config, false);\n template.compile(res, config, false);\n } catch {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid template in config path: ${currentPath}`,\n });\n }\n }\n const parentName = getParentName(parentPath);\n if (\n !isPreset &&\n optionParents[key] &&\n !optionParents[key].includes(parentName as AllowedParents)\n ) {\n // TODO: types (#22198)\n const options = optionParents[key]?.sort().join(', ');\n const message = `\"${key}\" can't be used in \"${parentName}\". Allowed objects: ${options}.`;\n warnings.push({\n topic: `${parentPath ? `${parentPath}.` : ''}${key}`,\n message,\n });\n }\n if (!optionTypes[key]) {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid configuration option: ${currentPath}`,\n });\n } else if (key === 'schedule') {\n const [validSchedule, errorMessage] = hasValidSchedule(val as string[]);\n if (!validSchedule) {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid ${currentPath}: \\`${errorMessage}\\``,\n });\n }\n } else if (\n [\n 'allowedVersions',\n 'matchCurrentVersion',\n 'matchCurrentValue',\n 'matchNewValue',\n ].includes(key) &&\n isRegexMatch(val)\n ) {\n if (!getRegexPredicate(val)) {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid regExp for ${currentPath}: \\`${val}\\``,\n });\n }\n } else if (key === 'timezone' && val !== null) {\n const [validTimezone, errorMessage] = hasValidTimezone(val as string);\n if (!validTimezone) {\n errors.push({\n topic: 'Configuration Error',\n message: `${currentPath}: ${errorMessage}`,\n });\n }\n } else if (val !== null) {\n const type = optionTypes[key];\n if (type === 'boolean') {\n if (val !== true && val !== false) {\n errors.push({\n topic: 'Configuration Error',\n message: `Configuration option \\`${currentPath}\\` should be boolean. Found: ${JSON.stringify(\n val,\n )} (${typeof val})`,\n });\n }\n } else if (type === 'integer') {\n const allowsNegative = optionAllowsNegativeIntegers.has(key);\n errors.push(...validateNumber(key, val, allowsNegative, currentPath));\n } else if (type === 'array' && val) {\n if (is.array(val)) {\n for (const [subIndex, subval] of val.entries()) {\n if (is.object(subval)) {\n const subValidation = await validateConfig(\n configType,\n subval as RenovateConfig,\n isPreset,\n `${currentPath}[${subIndex}]`,\n );\n warnings = warnings.concat(subValidation.warnings);\n errors = errors.concat(subValidation.errors);\n }\n }\n if (isRegexOrGlobOption(key)) {\n errors.push(\n ...regexOrGlobValidator.check({\n val,\n currentPath,\n }),\n );\n }\n if (key === 'extends') {\n for (const subval of val) {\n if (is.string(subval)) {\n if (\n parentName === 'packageRules' &&\n subval.startsWith('group:')\n ) {\n warnings.push({\n topic: 'Configuration Warning',\n message: `${currentPath}: you should not extend \"group:\" presets`,\n });\n }\n if (tzRe.test(subval)) {\n const [, timezone] = tzRe.exec(subval)!;\n const [validTimezone, errorMessage] =\n hasValidTimezone(timezone);\n if (!validTimezone) {\n errors.push({\n topic: 'Configuration Error',\n message: `${currentPath}: ${errorMessage}`,\n });\n }\n }\n } else {\n errors.push({\n topic: 'Configuration Warning',\n message: `${currentPath}: preset value is not a string`,\n });\n }\n }\n }\n\n const selectors = [\n 'matchFileNames',\n 'matchLanguages',\n 'matchCategories',\n 'matchBaseBranches',\n 'matchManagers',\n 'matchDatasources',\n 'matchDepTypes',\n 'matchDepNames',\n 'matchPackageNames',\n 'matchCurrentValue',\n 'matchCurrentVersion',\n 'matchSourceUrls',\n 'matchUpdateTypes',\n 'matchConfidence',\n 'matchCurrentAge',\n 'matchRepositories',\n 'matchNewValue',\n 'matchJsonata',\n ];\n if (key === 'packageRules') {\n for (const [subIndex, packageRule] of val.entries()) {\n if (is.object(packageRule)) {\n const resolvedRule = migrateConfig({\n packageRules: [\n await resolveConfigPresets(\n packageRule as RenovateConfig,\n config,\n ),\n ],\n }).migratedConfig.packageRules![0];\n warnings.push(\n ...matchBaseBranchesValidator.check({\n resolvedRule,\n currentPath: `${currentPath}[${subIndex}]`,\n baseBranchPatterns: config.baseBranchPatterns!,\n }),\n );\n const selectorLength = Object.keys(resolvedRule).filter(\n (ruleKey) => selectors.includes(ruleKey),\n ).length;\n if (!selectorLength) {\n const message = `${currentPath}[${subIndex}]: Each packageRule must contain at least one match* or exclude* selector. Rule: ${JSON.stringify(\n packageRule,\n )}`;\n errors.push({\n topic: 'Configuration Error',\n message,\n });\n }\n if (selectorLength === Object.keys(resolvedRule).length) {\n const message = `${currentPath}[${subIndex}]: Each packageRule must contain at least one non-match* or non-exclude* field. Rule: ${JSON.stringify(\n packageRule,\n )}`;\n warnings.push({\n topic: 'Configuration Error',\n message,\n });\n }\n // It's too late to apply any of these options once you already have updates determined\n const preLookupOptions = [\n 'allowedVersions',\n 'extractVersion',\n 'followTag',\n 'ignoreDeps',\n 'ignoreUnstable',\n 'rangeStrategy',\n 'registryUrls',\n 'respectLatest',\n 'rollbackPrs',\n 'separateMajorMinor',\n 'separateMinorPatch',\n 'separateMultipleMajor',\n 'separateMultipleMinor',\n 'versioning',\n ];\n if (is.nonEmptyArray(resolvedRule.matchUpdateTypes)) {\n for (const option of preLookupOptions) {\n if (resolvedRule[option] !== undefined) {\n const message = `${currentPath}[${subIndex}]: packageRules cannot combine both matchUpdateTypes and ${option}. Rule: ${JSON.stringify(\n packageRule,\n )}`;\n errors.push({\n topic: 'Configuration Error',\n message,\n });\n }\n }\n }\n } else {\n errors.push({\n topic: 'Configuration Error',\n message: `${currentPath} must contain JSON objects`,\n });\n }\n }\n }\n if (key === 'customManagers') {\n const allowedKeys = [\n 'customType',\n 'description',\n 'fileFormat',\n 'managerFilePatterns',\n 'matchStrings',\n 'matchStringsStrategy',\n 'depNameTemplate',\n 'packageNameTemplate',\n 'datasourceTemplate',\n 'versioningTemplate',\n 'registryUrlTemplate',\n 'currentValueTemplate',\n 'extractVersionTemplate',\n 'autoReplaceStringTemplate',\n 'depTypeTemplate',\n ];\n for (const customManager of val as CustomManager[]) {\n if (\n Object.keys(customManager).some(\n (k) => !allowedKeys.includes(k),\n )\n ) {\n const disallowedKeys = Object.keys(customManager).filter(\n (k) => !allowedKeys.includes(k),\n );\n errors.push({\n topic: 'Configuration Error',\n message: `Custom Manager contains disallowed fields: ${disallowedKeys.join(\n ', ',\n )}`,\n });\n } else if (\n is.nonEmptyString(customManager.customType) &&\n isCustomManager(customManager.customType)\n ) {\n if (is.nonEmptyArray(customManager.managerFilePatterns)) {\n switch (customManager.customType) {\n case 'regex':\n validateRegexManagerFields(\n customManager,\n currentPath,\n errors,\n );\n break;\n case 'jsonata':\n validateJSONataManagerFields(\n customManager,\n currentPath,\n errors,\n );\n break;\n }\n } else {\n errors.push({\n topic: 'Configuration Error',\n message: `Each Custom Manager must contain a non-empty managerFilePatterns array`,\n });\n }\n } else {\n if (\n is.emptyString(customManager.customType) ||\n is.undefined(customManager.customType)\n ) {\n errors.push({\n topic: 'Configuration Error',\n message: `Each Custom Manager must contain a non-empty customType string`,\n });\n } else {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid customType: ${customManager.customType}. Key is not a custom manager`,\n });\n }\n }\n }\n }\n if (['matchPackageNames', 'matchDepNames'].includes(key)) {\n const startPattern = regEx(/!?\\//);\n const endPattern = regEx(/\\/g?i?$/);\n for (const pattern of val as string[]) {\n if (startPattern.test(pattern) && endPattern.test(pattern)) {\n try {\n // regEx isn't aware of our !/ prefix but can handle the suffix\n regEx(pattern.replace(startPattern, '/'));\n } catch {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid regExp for ${currentPath}: \\`${pattern}\\``,\n });\n }\n }\n }\n }\n if (key === 'baseBranchPatterns') {\n for (const baseBranchPattern of val as string[]) {\n if (\n isRegexMatch(baseBranchPattern) &&\n !getRegexPredicate(baseBranchPattern)\n ) {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid regExp for ${currentPath}: \\`${baseBranchPattern}\\``,\n });\n }\n }\n }\n if (\n (selectors.includes(key) ||\n key === 'matchCurrentVersion' ||\n key === 'matchCurrentValue') &&\n // TODO: can be undefined ? #22198\n !rulesRe.test(parentPath!) && // Inside a packageRule\n (is.string(parentPath) || !isPreset) // top level in a preset\n ) {\n errors.push({\n topic: 'Configuration Error',\n message: `${currentPath}: ${key} should be inside a \\`packageRule\\` only`,\n });\n }\n } else {\n errors.push({\n topic: 'Configuration Error',\n message: `Configuration option \\`${currentPath}\\` should be a list (Array)`,\n });\n }\n } else if (type === 'string') {\n if (!is.string(val)) {\n errors.push({\n topic: 'Configuration Error',\n message: `Configuration option \\`${currentPath}\\` should be a string`,\n });\n }\n } else if (\n type === 'object' &&\n currentPath !== 'compatibility' &&\n key !== 'constraints'\n ) {\n if (is.plainObject(val)) {\n if (key === 'registryAliases') {\n const res = validatePlainObject(val);\n if (res !== true) {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid \\`${currentPath}.${key}.${res}\\` configuration: value is not a string`,\n });\n }\n } else if (key === 'env') {\n const allowedEnvVars =\n configType === 'global'\n ? ((config.allowedEnv as string[]) ?? [])\n : GlobalConfig.get('allowedEnv', []);\n for (const [envVarName, envVarValue] of Object.entries(val)) {\n if (!is.string(envVarValue)) {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid env variable value: \\`${currentPath}.${envVarName}\\` must be a string.`,\n });\n }\n if (!matchRegexOrGlobList(envVarName, allowedEnvVars)) {\n errors.push({\n topic: 'Configuration Error',\n message: `Env variable name \\`${envVarName}\\` is not allowed by this bot's \\`allowedEnv\\`.`,\n });\n }\n }\n } else if (key === 'statusCheckNames') {\n for (const [statusCheckKey, statusCheckValue] of Object.entries(\n val,\n )) {\n if (\n !allowedStatusCheckStrings.includes(\n statusCheckKey as StatusCheckKey,\n )\n ) {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid \\`${currentPath}.${key}.${statusCheckKey}\\` configuration: key is not allowed.`,\n });\n }\n if (\n !(is.string(statusCheckValue) || null === statusCheckValue)\n ) {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid \\`${currentPath}.${statusCheckKey}\\` configuration: status check is not a string.`,\n });\n continue;\n }\n }\n } else if (key === 'customDatasources') {\n const allowedKeys = [\n 'description',\n 'defaultRegistryUrlTemplate',\n 'format',\n 'transformTemplates',\n ];\n for (const [\n customDatasourceName,\n customDatasourceValue,\n ] of Object.entries(val)) {\n if (!is.plainObject(customDatasourceValue)) {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid \\`${currentPath}.${customDatasourceName}\\` configuration: customDatasource is not an object`,\n });\n continue;\n }\n for (const [subKey, subValue] of Object.entries(\n customDatasourceValue,\n )) {\n if (!allowedKeys.includes(subKey)) {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid \\`${currentPath}.${subKey}\\` configuration: key is not allowed`,\n });\n } else if (subKey === 'transformTemplates') {\n if (!is.array(subValue, is.string)) {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid \\`${currentPath}.${subKey}\\` configuration: is not an array of string`,\n });\n }\n } else if (subKey === 'description') {\n if (\n !(is.string(subValue) || is.array(subValue, is.string))\n ) {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid \\`${currentPath}.${subKey}\\` configuration: is not an array of strings`,\n });\n }\n } else if (!is.string(subValue)) {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid \\`${currentPath}.${subKey}\\` configuration: is a string`,\n });\n }\n }\n }\n } else {\n const ignoredObjects = options\n .filter((option) => option.freeChoice)\n .map((option) => option.name);\n if (!ignoredObjects.includes(key)) {\n const subValidation = await validateConfig(\n configType,\n val,\n isPreset,\n currentPath,\n );\n warnings = warnings.concat(subValidation.warnings);\n errors = errors.concat(subValidation.errors);\n }\n }\n } else {\n errors.push({\n topic: 'Configuration Error',\n message: `Configuration option \\`${currentPath}\\` should be a json object`,\n });\n }\n }\n }\n }\n\n if (key === 'hostRules' && is.array(val)) {\n const allowedHeaders =\n configType === 'global'\n ? ((config.allowedHeaders as string[]) ?? [])\n : GlobalConfig.get('allowedHeaders', []);\n for (const rule of val as HostRule[]) {\n if (is.nonEmptyString(rule.matchHost)) {\n if (rule.matchHost.includes('://')) {\n if (parseUrl(rule.matchHost) === null) {\n errors.push({\n topic: 'Configuration Error',\n message: `hostRules matchHost \\`${rule.matchHost}\\` is not a valid URL.`,\n });\n }\n }\n } else if (is.emptyString(rule.matchHost)) {\n errors.push({\n topic: 'Configuration Error',\n message:\n 'Invalid value for hostRules matchHost. It cannot be an empty string.',\n });\n }\n\n if (!rule.headers) {\n continue;\n }\n for (const [header, value] of Object.entries(rule.headers)) {\n if (!is.string(value)) {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid hostRules headers value configuration: header must be a string.`,\n });\n }\n if (!matchRegexOrGlobList(header, allowedHeaders)) {\n errors.push({\n topic: 'Configuration Error',\n message: `hostRules header \\`${header}\\` is not allowed by this bot's \\`allowedHeaders\\`.`,\n });\n }\n }\n }\n }\n\n if (key === 'matchJsonata' && is.array(val, is.string)) {\n for (const expression of val) {\n const res = getExpression(expression);\n if (res instanceof Error) {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid JSONata expression for ${currentPath}: ${res.message}`,\n });\n }\n }\n }\n }\n\n function sortAll(a: ValidationMessage, b: ValidationMessage): number {\n if (a.topic === b.topic) {\n return a.message > b.message ? 1 : -1;\n }\n return a.topic > b.topic ? 1 : -1;\n }\n\n errors.sort(sortAll);\n warnings.sort(sortAll);\n return { errors, warnings };\n}\n\n/**\n * Basic validation for global config options\n */\nasync function validateGlobalConfig(\n key: string,\n val: unknown,\n type: string,\n warnings: ValidationMessage[],\n errors: ValidationMessage[],\n currentPath: string | undefined,\n config: RenovateConfig,\n): Promise<void> {\n /* v8 ignore next 5 -- not testable yet */\n if (getDeprecationMessage(key)) {\n warnings.push({\n topic: 'Deprecation Warning',\n message: getDeprecationMessage(key)!,\n });\n }\n if (val !== null) {\n if (type === 'string') {\n if (is.string(val)) {\n if (\n key === 'onboardingConfigFileName' &&\n !getConfigFileNames().includes(val)\n ) {\n warnings.push({\n topic: 'Configuration Error',\n message: `Invalid value \\`${val}\\` for \\`${currentPath}\\`. The allowed values are ${getConfigFileNames().join(', ')}.`,\n });\n } else if (\n key === 'repositoryCache' &&\n !['enabled', 'disabled', 'reset'].includes(val)\n ) {\n warnings.push({\n topic: 'Configuration Error',\n message: `Invalid value \\`${val}\\` for \\`${currentPath}\\`. The allowed values are ${['enabled', 'disabled', 'reset'].join(', ')}.`,\n });\n } else if (\n key === 'dryRun' &&\n !['extract', 'lookup', 'full'].includes(val)\n ) {\n warnings.push({\n topic: 'Configuration Error',\n message: `Invalid value \\`${val}\\` for \\`${currentPath}\\`. The allowed values are ${['extract', 'lookup', 'full'].join(', ')}.`,\n });\n } else if (\n key === 'binarySource' &&\n !['docker', 'global', 'install', 'hermit'].includes(val)\n ) {\n warnings.push({\n topic: 'Configuration Error',\n message: `Invalid value \\`${val}\\` for \\`${currentPath}\\`. The allowed values are ${['docker', 'global', 'install', 'hermit'].join(', ')}.`,\n });\n } else if (\n key === 'requireConfig' &&\n !['required', 'optional', 'ignored'].includes(val)\n ) {\n warnings.push({\n topic: 'Configuration Error',\n message: `Invalid value \\`${val}\\` for \\`${currentPath}\\`. The allowed values are ${['required', 'optional', 'ignored'].join(', ')}.`,\n });\n } else if (\n key === 'gitUrl' &&\n !['default', 'ssh', 'endpoint'].includes(val)\n ) {\n warnings.push({\n topic: 'Configuration Error',\n message: `Invalid value \\`${val}\\` for \\`${currentPath}\\`. The allowed values are ${['default', 'ssh', 'endpoint'].join(', ')}.`,\n });\n }\n\n if (\n key === 'reportType' &&\n ['s3', 'file'].includes(val) &&\n !is.string(config.reportPath)\n ) {\n errors.push({\n topic: 'Configuration Error',\n message: `reportType '${val}' requires a configured reportPath`,\n });\n }\n } else {\n warnings.push({\n topic: 'Configuration Error',\n message: `Configuration option \\`${currentPath}\\` should be a string.`,\n });\n }\n } else if (type === 'integer') {\n const allowsNegative = optionAllowsNegativeIntegers.has(key);\n warnings.push(...validateNumber(key, val, allowsNegative, currentPath));\n } else if (type === 'boolean') {\n if (val !== true && val !== false) {\n warnings.push({\n topic: 'Configuration Error',\n message: `Configuration option \\`${currentPath}\\` should be a boolean. Found: ${JSON.stringify(\n val,\n )} (${typeof val}).`,\n });\n }\n } else if (type === 'array') {\n if (is.array(val)) {\n if (isRegexOrGlobOption(key)) {\n warnings.push(\n ...regexOrGlobValidator.check({\n val,\n currentPath: currentPath!,\n }),\n );\n }\n if (key === 'gitNoVerify') {\n const allowedValues = ['commit', 'push'];\n for (const value of val as string[]) {\n if (!allowedValues.includes(value)) {\n warnings.push({\n topic: 'Configuration Error',\n message: `Invalid value for \\`${currentPath}\\`. The allowed values are ${allowedValues.join(', ')}.`,\n });\n }\n }\n }\n if (key === 'mergeConfidenceDatasources') {\n const allowedValues = supportedDatasources;\n for (const value of val as string[]) {\n if (!allowedValues.includes(value)) {\n warnings.push({\n topic: 'Configuration Error',\n message: `Invalid value \\`${value}\\` for \\`${currentPath}\\`. The allowed values are ${allowedValues.join(', ')}.`,\n });\n }\n }\n }\n } else {\n warnings.push({\n topic: 'Configuration Error',\n message: `Configuration option \\`${currentPath}\\` should be a list (Array).`,\n });\n }\n } else if (type === 'object') {\n if (is.plainObject(val)) {\n if (key === 'onboardingConfig') {\n const subValidation = await validateConfig('repo', val);\n for (const warning of subValidation.warnings.concat(\n subValidation.errors,\n )) {\n warnings.push(warning);\n }\n } else if (key === 'force') {\n const subValidation = await validateConfig('global', val);\n for (const warning of subValidation.warnings.concat(\n subValidation.errors,\n )) {\n warnings.push(warning);\n }\n } else if (key === 'cacheTtlOverride') {\n for (const [subKey, subValue] of Object.entries(val)) {\n const allowsNegative = optionAllowsNegativeIntegers.has(key);\n warnings.push(\n ...validateNumber(\n key,\n subValue,\n allowsNegative,\n currentPath,\n subKey,\n ),\n );\n }\n } else {\n const res = validatePlainObject(val);\n if (res !== true) {\n warnings.push({\n topic: 'Configuration Error',\n message: `Invalid \\`${currentPath}.${res}\\` configuration: value must be a string.`,\n });\n }\n }\n } else {\n warnings.push({\n topic: 'Configuration Error',\n message: `Configuration option \\`${currentPath}\\` should be a JSON object.`,\n });\n }\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../lib/config/validation.ts"],"names":[],"mappings":"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","sourcesContent":["import is, {\n isArray,\n isEmptyString,\n isNonEmptyArray,\n isNonEmptyString,\n isObject,\n isPlainObject,\n isString,\n isUndefined,\n} from '@sindresorhus/is';\nimport { allManagersList, getManagerList } from '../modules/manager';\nimport { isCustomManager } from '../modules/manager/custom';\nimport type { CustomManager } from '../modules/manager/custom/types';\nimport type { HostRule } from '../types';\nimport { getExpression } from '../util/jsonata';\nimport { regEx } from '../util/regex';\nimport {\n getRegexPredicate,\n isRegexMatch,\n matchRegexOrGlobList,\n} from '../util/string-match';\nimport * as template from '../util/template';\nimport { parseUrl } from '../util/url';\nimport {\n hasValidSchedule,\n hasValidTimezone,\n} from '../workers/repository/update/branch/schedule';\nimport { getConfigFileNames } from './app-strings';\nimport { GlobalConfig } from './global';\nimport { migrateConfig } from './migration';\nimport { getOptions } from './options';\nimport { resolveConfigPresets } from './presets';\nimport { supportedDatasources } from './presets/internal/merge-confidence';\nimport type {\n AllowedParents,\n RenovateConfig,\n RenovateOptions,\n StatusCheckKey,\n ValidationMessage,\n ValidationResult,\n} from './types';\nimport { allowedStatusCheckStrings } from './types';\nimport * as matchBaseBranchesValidator from './validation-helpers/match-base-branches';\nimport * as regexOrGlobValidator from './validation-helpers/regex-glob-matchers';\nimport {\n getParentName,\n isFalseGlobal,\n validateJSONataManagerFields,\n validateNumber,\n validatePlainObject,\n validateRegexManagerFields,\n} from './validation-helpers/utils';\n\nconst options = getOptions();\n\nlet optionsInitialized = false;\nlet optionTypes: Record<string, RenovateOptions['type']>;\nlet optionParents: Record<string, AllowedParents[]>;\nlet optionGlobals: Set<string>;\nlet optionInherits: Set<string>;\nlet optionRegexOrGlob: Set<string>;\nlet optionAllowsNegativeIntegers: Set<string>;\n\nconst managerList = getManagerList();\n\nconst topLevelObjects = [...managerList, 'env'];\n\nconst ignoredNodes = [\n '$schema',\n 'headers',\n 'depType',\n 'npmToken',\n 'packageFile',\n 'forkToken',\n 'repository',\n 'vulnerabilityAlertsOnly',\n 'vulnerabilityAlert',\n 'isVulnerabilityAlert',\n 'vulnerabilityFixVersion', // not intended to be used by end users but may be by Mend apps\n 'copyLocalLibs', // deprecated - functionality is now enabled by default\n 'prBody', // deprecated\n 'minimumConfidence', // undocumented feature flag\n];\nconst tzRe = regEx(/^:timezone\\((.+)\\)$/);\nconst rulesRe = regEx(/p.*Rules\\[\\d+\\]$/);\n\nfunction isIgnored(key: string): boolean {\n return ignoredNodes.includes(key);\n}\n\nfunction getUnsupportedEnabledManagers(enabledManagers: string[]): string[] {\n return enabledManagers.filter(\n (manager) => !allManagersList.includes(manager.replace('custom.', '')),\n );\n}\n\nfunction getDeprecationMessage(option: string): string | undefined {\n const deprecatedOptions: Record<string, string | undefined> = {\n branchName: `Direct editing of branchName is now deprecated. Please edit branchPrefix, additionalBranchPrefix, or branchTopic instead`,\n commitMessage: `Direct editing of commitMessage is now deprecated. Please edit commitMessage's subcomponents instead.`,\n prTitle: `Direct editing of prTitle is now deprecated. Please edit commitMessage subcomponents instead as they will be passed through to prTitle.`,\n };\n return deprecatedOptions[option];\n}\n\nfunction isInhertConfigOption(key: string): boolean {\n return optionInherits.has(key);\n}\n\nfunction isRegexOrGlobOption(key: string): boolean {\n return optionRegexOrGlob.has(key);\n}\n\nfunction isGlobalOption(key: string): boolean {\n return optionGlobals.has(key);\n}\n\nfunction initOptions(): void {\n if (optionsInitialized) {\n return;\n }\n\n optionParents = {};\n optionInherits = new Set();\n optionTypes = {};\n optionRegexOrGlob = new Set();\n optionGlobals = new Set();\n optionAllowsNegativeIntegers = new Set();\n\n for (const option of options) {\n optionTypes[option.name] = option.type;\n\n if (option.parents) {\n optionParents[option.name] = option.parents;\n }\n\n if (option.inheritConfigSupport) {\n optionInherits.add(option.name);\n }\n\n if (option.patternMatch) {\n optionRegexOrGlob.add(option.name);\n }\n\n if (option.globalOnly) {\n optionGlobals.add(option.name);\n }\n\n if (option.allowNegative) {\n optionAllowsNegativeIntegers.add(option.name);\n }\n }\n\n optionsInitialized = true;\n}\n\nexport async function validateConfig(\n configType: 'global' | 'inherit' | 'repo',\n config: RenovateConfig,\n isPreset?: boolean,\n parentPath?: string,\n): Promise<ValidationResult> {\n initOptions();\n\n let errors: ValidationMessage[] = [];\n let warnings: ValidationMessage[] = [];\n\n for (const [key, val] of Object.entries(config)) {\n const currentPath = parentPath ? `${parentPath}.${key}` : key;\n /* v8 ignore next 7 -- TODO: add test */\n if (key === '__proto__') {\n errors.push({\n topic: 'Config security error',\n message: '__proto__',\n });\n continue;\n }\n if (\n parentPath &&\n parentPath !== 'onboardingConfig' &&\n topLevelObjects.includes(key)\n ) {\n errors.push({\n topic: 'Configuration Error',\n message: `The \"${key}\" object can only be configured at the top level of a config but was found inside \"${parentPath}\"`,\n });\n }\n\n if (isGlobalOption(key)) {\n if (configType === 'global') {\n await validateGlobalConfig(\n key,\n val,\n optionTypes[key],\n warnings,\n errors,\n currentPath,\n config,\n );\n continue;\n } else if (\n !isFalseGlobal(key, parentPath) &&\n !(configType === 'inherit' && isInhertConfigOption(key))\n ) {\n warnings.push({\n topic: 'Configuration Error',\n message: `The \"${key}\" option is a global option reserved only for Renovate's global configuration and cannot be configured within a repository's config file.`,\n });\n continue;\n }\n }\n if (key === 'enabledManagers' && val) {\n const unsupportedManagers = getUnsupportedEnabledManagers(\n val as string[],\n );\n if (isNonEmptyArray(unsupportedManagers)) {\n errors.push({\n topic: 'Configuration Error',\n message: `The following managers configured in enabledManagers are not supported: \"${unsupportedManagers.join(\n ', ',\n )}\"`,\n });\n }\n }\n if (\n !isIgnored(key) && // We need to ignore some reserved keys\n !(is as any).function(val) // Ignore all functions\n ) {\n if (getDeprecationMessage(key)) {\n warnings.push({\n topic: 'Deprecation Warning',\n message: getDeprecationMessage(key)!,\n });\n }\n const templateKeys = [\n 'branchName',\n 'commitBody',\n 'commitMessage',\n 'prTitle',\n 'semanticCommitScope',\n ];\n if ((key.endsWith('Template') || templateKeys.includes(key)) && val) {\n try {\n // TODO: validate string #22198\n let res = template.compile((val as string).toString(), config, false);\n res = template.compile(res, config, false);\n template.compile(res, config, false);\n } catch {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid template in config path: ${currentPath}`,\n });\n }\n }\n const parentName = getParentName(parentPath);\n if (\n !isPreset &&\n optionParents[key] &&\n !optionParents[key].includes(parentName as AllowedParents)\n ) {\n // TODO: types (#22198)\n const options = optionParents[key]?.sort().join(', ');\n const message = `\"${key}\" can't be used in \"${parentName}\". Allowed objects: ${options}.`;\n warnings.push({\n topic: `${parentPath ? `${parentPath}.` : ''}${key}`,\n message,\n });\n }\n if (!optionTypes[key]) {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid configuration option: ${currentPath}`,\n });\n } else if (key === 'schedule') {\n const [validSchedule, errorMessage] = hasValidSchedule(val as string[]);\n if (!validSchedule) {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid ${currentPath}: \\`${errorMessage}\\``,\n });\n }\n } else if (\n [\n 'allowedVersions',\n 'matchCurrentVersion',\n 'matchCurrentValue',\n 'matchNewValue',\n ].includes(key) &&\n isRegexMatch(val)\n ) {\n if (!getRegexPredicate(val)) {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid regExp for ${currentPath}: \\`${val}\\``,\n });\n }\n } else if (key === 'timezone' && val !== null) {\n const [validTimezone, errorMessage] = hasValidTimezone(val as string);\n if (!validTimezone) {\n errors.push({\n topic: 'Configuration Error',\n message: `${currentPath}: ${errorMessage}`,\n });\n }\n } else if (val !== null) {\n const type = optionTypes[key];\n if (type === 'boolean') {\n if (val !== true && val !== false) {\n errors.push({\n topic: 'Configuration Error',\n message: `Configuration option \\`${currentPath}\\` should be boolean. Found: ${JSON.stringify(\n val,\n )} (${typeof val})`,\n });\n }\n } else if (type === 'integer') {\n const allowsNegative = optionAllowsNegativeIntegers.has(key);\n errors.push(...validateNumber(key, val, allowsNegative, currentPath));\n } else if (type === 'array' && val) {\n if (isArray(val)) {\n for (const [subIndex, subval] of val.entries()) {\n if (isObject(subval)) {\n const subValidation = await validateConfig(\n configType,\n subval as RenovateConfig,\n isPreset,\n `${currentPath}[${subIndex}]`,\n );\n warnings = warnings.concat(subValidation.warnings);\n errors = errors.concat(subValidation.errors);\n }\n }\n if (isRegexOrGlobOption(key)) {\n errors.push(\n ...regexOrGlobValidator.check({\n val,\n currentPath,\n }),\n );\n }\n if (key === 'extends') {\n for (const subval of val) {\n if (isString(subval)) {\n if (\n parentName === 'packageRules' &&\n subval.startsWith('group:')\n ) {\n warnings.push({\n topic: 'Configuration Warning',\n message: `${currentPath}: you should not extend \"group:\" presets`,\n });\n }\n if (tzRe.test(subval)) {\n const [, timezone] = tzRe.exec(subval)!;\n const [validTimezone, errorMessage] =\n hasValidTimezone(timezone);\n if (!validTimezone) {\n errors.push({\n topic: 'Configuration Error',\n message: `${currentPath}: ${errorMessage}`,\n });\n }\n }\n } else {\n errors.push({\n topic: 'Configuration Warning',\n message: `${currentPath}: preset value is not a string`,\n });\n }\n }\n }\n\n const selectors = [\n 'matchFileNames',\n 'matchLanguages',\n 'matchCategories',\n 'matchBaseBranches',\n 'matchManagers',\n 'matchDatasources',\n 'matchDepTypes',\n 'matchDepNames',\n 'matchPackageNames',\n 'matchCurrentValue',\n 'matchCurrentVersion',\n 'matchSourceUrls',\n 'matchUpdateTypes',\n 'matchConfidence',\n 'matchCurrentAge',\n 'matchRepositories',\n 'matchNewValue',\n 'matchJsonata',\n ];\n if (key === 'packageRules') {\n for (const [subIndex, packageRule] of val.entries()) {\n if (isObject(packageRule)) {\n const resolvedRule = migrateConfig({\n packageRules: [\n await resolveConfigPresets(\n packageRule as RenovateConfig,\n config,\n ),\n ],\n }).migratedConfig.packageRules![0];\n warnings.push(\n ...matchBaseBranchesValidator.check({\n resolvedRule,\n currentPath: `${currentPath}[${subIndex}]`,\n baseBranchPatterns: config.baseBranchPatterns!,\n }),\n );\n const selectorLength = Object.keys(resolvedRule).filter(\n (ruleKey) => selectors.includes(ruleKey),\n ).length;\n if (!selectorLength) {\n const message = `${currentPath}[${subIndex}]: Each packageRule must contain at least one match* or exclude* selector. Rule: ${JSON.stringify(\n packageRule,\n )}`;\n errors.push({\n topic: 'Configuration Error',\n message,\n });\n }\n if (selectorLength === Object.keys(resolvedRule).length) {\n const message = `${currentPath}[${subIndex}]: Each packageRule must contain at least one non-match* or non-exclude* field. Rule: ${JSON.stringify(\n packageRule,\n )}`;\n warnings.push({\n topic: 'Configuration Error',\n message,\n });\n }\n // It's too late to apply any of these options once you already have updates determined\n const preLookupOptions = [\n 'allowedVersions',\n 'extractVersion',\n 'followTag',\n 'ignoreDeps',\n 'ignoreUnstable',\n 'rangeStrategy',\n 'registryUrls',\n 'respectLatest',\n 'rollbackPrs',\n 'separateMajorMinor',\n 'separateMinorPatch',\n 'separateMultipleMajor',\n 'separateMultipleMinor',\n 'versioning',\n ];\n if (isNonEmptyArray(resolvedRule.matchUpdateTypes)) {\n for (const option of preLookupOptions) {\n if (resolvedRule[option] !== undefined) {\n const message = `${currentPath}[${subIndex}]: packageRules cannot combine both matchUpdateTypes and ${option}. Rule: ${JSON.stringify(\n packageRule,\n )}`;\n errors.push({\n topic: 'Configuration Error',\n message,\n });\n }\n }\n }\n } else {\n errors.push({\n topic: 'Configuration Error',\n message: `${currentPath} must contain JSON objects`,\n });\n }\n }\n }\n if (key === 'customManagers') {\n const allowedKeys = [\n 'customType',\n 'description',\n 'fileFormat',\n 'managerFilePatterns',\n 'matchStrings',\n 'matchStringsStrategy',\n 'depNameTemplate',\n 'packageNameTemplate',\n 'datasourceTemplate',\n 'versioningTemplate',\n 'registryUrlTemplate',\n 'currentValueTemplate',\n 'extractVersionTemplate',\n 'autoReplaceStringTemplate',\n 'depTypeTemplate',\n ];\n for (const customManager of val as CustomManager[]) {\n if (\n Object.keys(customManager).some(\n (k) => !allowedKeys.includes(k),\n )\n ) {\n const disallowedKeys = Object.keys(customManager).filter(\n (k) => !allowedKeys.includes(k),\n );\n errors.push({\n topic: 'Configuration Error',\n message: `Custom Manager contains disallowed fields: ${disallowedKeys.join(\n ', ',\n )}`,\n });\n } else if (\n isNonEmptyString(customManager.customType) &&\n isCustomManager(customManager.customType)\n ) {\n if (isNonEmptyArray(customManager.managerFilePatterns)) {\n switch (customManager.customType) {\n case 'regex':\n validateRegexManagerFields(\n customManager,\n currentPath,\n errors,\n );\n break;\n case 'jsonata':\n validateJSONataManagerFields(\n customManager,\n currentPath,\n errors,\n );\n break;\n }\n } else {\n errors.push({\n topic: 'Configuration Error',\n message: `Each Custom Manager must contain a non-empty managerFilePatterns array`,\n });\n }\n } else {\n if (\n isEmptyString(customManager.customType) ||\n isUndefined(customManager.customType)\n ) {\n errors.push({\n topic: 'Configuration Error',\n message: `Each Custom Manager must contain a non-empty customType string`,\n });\n } else {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid customType: ${customManager.customType}. Key is not a custom manager`,\n });\n }\n }\n }\n }\n if (['matchPackageNames', 'matchDepNames'].includes(key)) {\n const startPattern = regEx(/!?\\//);\n const endPattern = regEx(/\\/g?i?$/);\n for (const pattern of val as string[]) {\n if (startPattern.test(pattern) && endPattern.test(pattern)) {\n try {\n // regEx isn't aware of our !/ prefix but can handle the suffix\n regEx(pattern.replace(startPattern, '/'));\n } catch {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid regExp for ${currentPath}: \\`${pattern}\\``,\n });\n }\n }\n }\n }\n if (key === 'baseBranchPatterns') {\n for (const baseBranchPattern of val as string[]) {\n if (\n isRegexMatch(baseBranchPattern) &&\n !getRegexPredicate(baseBranchPattern)\n ) {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid regExp for ${currentPath}: \\`${baseBranchPattern}\\``,\n });\n }\n }\n }\n if (\n (selectors.includes(key) ||\n key === 'matchCurrentVersion' ||\n key === 'matchCurrentValue') &&\n // TODO: can be undefined ? #22198\n !rulesRe.test(parentPath!) && // Inside a packageRule\n (isString(parentPath) || !isPreset) // top level in a preset\n ) {\n errors.push({\n topic: 'Configuration Error',\n message: `${currentPath}: ${key} should be inside a \\`packageRule\\` only`,\n });\n }\n } else {\n errors.push({\n topic: 'Configuration Error',\n message: `Configuration option \\`${currentPath}\\` should be a list (Array)`,\n });\n }\n } else if (type === 'string') {\n if (!isString(val)) {\n errors.push({\n topic: 'Configuration Error',\n message: `Configuration option \\`${currentPath}\\` should be a string`,\n });\n }\n } else if (\n type === 'object' &&\n currentPath !== 'compatibility' &&\n key !== 'constraints'\n ) {\n if (isPlainObject(val)) {\n if (key === 'registryAliases') {\n const res = validatePlainObject(val);\n if (res !== true) {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid \\`${currentPath}.${key}.${res}\\` configuration: value is not a string`,\n });\n }\n } else if (key === 'env') {\n const allowedEnvVars =\n configType === 'global'\n ? ((config.allowedEnv as string[]) ?? [])\n : GlobalConfig.get('allowedEnv', []);\n for (const [envVarName, envVarValue] of Object.entries(val)) {\n if (!isString(envVarValue)) {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid env variable value: \\`${currentPath}.${envVarName}\\` must be a string.`,\n });\n }\n if (!matchRegexOrGlobList(envVarName, allowedEnvVars)) {\n errors.push({\n topic: 'Configuration Error',\n message: `Env variable name \\`${envVarName}\\` is not allowed by this bot's \\`allowedEnv\\`.`,\n });\n }\n }\n } else if (key === 'statusCheckNames') {\n for (const [statusCheckKey, statusCheckValue] of Object.entries(\n val,\n )) {\n if (\n !allowedStatusCheckStrings.includes(\n statusCheckKey as StatusCheckKey,\n )\n ) {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid \\`${currentPath}.${key}.${statusCheckKey}\\` configuration: key is not allowed.`,\n });\n }\n if (\n !(isString(statusCheckValue) || null === statusCheckValue)\n ) {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid \\`${currentPath}.${statusCheckKey}\\` configuration: status check is not a string.`,\n });\n continue;\n }\n }\n } else if (key === 'customDatasources') {\n const allowedKeys = [\n 'description',\n 'defaultRegistryUrlTemplate',\n 'format',\n 'transformTemplates',\n ];\n for (const [\n customDatasourceName,\n customDatasourceValue,\n ] of Object.entries(val)) {\n if (!isPlainObject(customDatasourceValue)) {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid \\`${currentPath}.${customDatasourceName}\\` configuration: customDatasource is not an object`,\n });\n continue;\n }\n for (const [subKey, subValue] of Object.entries(\n customDatasourceValue,\n )) {\n if (!allowedKeys.includes(subKey)) {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid \\`${currentPath}.${subKey}\\` configuration: key is not allowed`,\n });\n } else if (subKey === 'transformTemplates') {\n if (!isArray(subValue, isString)) {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid \\`${currentPath}.${subKey}\\` configuration: is not an array of string`,\n });\n }\n } else if (subKey === 'description') {\n if (!(isString(subValue) || isArray(subValue, isString))) {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid \\`${currentPath}.${subKey}\\` configuration: is not an array of strings`,\n });\n }\n } else if (!isString(subValue)) {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid \\`${currentPath}.${subKey}\\` configuration: is a string`,\n });\n }\n }\n }\n } else {\n const ignoredObjects = options\n .filter((option) => option.freeChoice)\n .map((option) => option.name);\n if (!ignoredObjects.includes(key)) {\n const subValidation = await validateConfig(\n configType,\n val,\n isPreset,\n currentPath,\n );\n warnings = warnings.concat(subValidation.warnings);\n errors = errors.concat(subValidation.errors);\n }\n }\n } else {\n errors.push({\n topic: 'Configuration Error',\n message: `Configuration option \\`${currentPath}\\` should be a json object`,\n });\n }\n }\n }\n }\n\n if (key === 'hostRules' && isArray(val)) {\n const allowedHeaders =\n configType === 'global'\n ? ((config.allowedHeaders as string[]) ?? [])\n : GlobalConfig.get('allowedHeaders', []);\n for (const rule of val as HostRule[]) {\n if (isNonEmptyString(rule.matchHost)) {\n if (rule.matchHost.includes('://')) {\n if (parseUrl(rule.matchHost) === null) {\n errors.push({\n topic: 'Configuration Error',\n message: `hostRules matchHost \\`${rule.matchHost}\\` is not a valid URL.`,\n });\n }\n }\n } else if (isEmptyString(rule.matchHost)) {\n errors.push({\n topic: 'Configuration Error',\n message:\n 'Invalid value for hostRules matchHost. It cannot be an empty string.',\n });\n }\n\n if (!rule.headers) {\n continue;\n }\n for (const [header, value] of Object.entries(rule.headers)) {\n if (!isString(value)) {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid hostRules headers value configuration: header must be a string.`,\n });\n }\n if (!matchRegexOrGlobList(header, allowedHeaders)) {\n errors.push({\n topic: 'Configuration Error',\n message: `hostRules header \\`${header}\\` is not allowed by this bot's \\`allowedHeaders\\`.`,\n });\n }\n }\n }\n }\n\n if (key === 'matchJsonata' && isArray(val, isString)) {\n for (const expression of val) {\n const res = getExpression(expression);\n if (res instanceof Error) {\n errors.push({\n topic: 'Configuration Error',\n message: `Invalid JSONata expression for ${currentPath}: ${res.message}`,\n });\n }\n }\n }\n }\n\n function sortAll(a: ValidationMessage, b: ValidationMessage): number {\n if (a.topic === b.topic) {\n return a.message > b.message ? 1 : -1;\n }\n return a.topic > b.topic ? 1 : -1;\n }\n\n errors.sort(sortAll);\n warnings.sort(sortAll);\n return { errors, warnings };\n}\n\n/**\n * Basic validation for global config options\n */\nasync function validateGlobalConfig(\n key: string,\n val: unknown,\n type: string,\n warnings: ValidationMessage[],\n errors: ValidationMessage[],\n currentPath: string | undefined,\n config: RenovateConfig,\n): Promise<void> {\n /* v8 ignore next 5 -- not testable yet */\n if (getDeprecationMessage(key)) {\n warnings.push({\n topic: 'Deprecation Warning',\n message: getDeprecationMessage(key)!,\n });\n }\n if (val !== null) {\n if (type === 'string') {\n if (isString(val)) {\n if (\n key === 'onboardingConfigFileName' &&\n !getConfigFileNames().includes(val)\n ) {\n warnings.push({\n topic: 'Configuration Error',\n message: `Invalid value \\`${val}\\` for \\`${currentPath}\\`. The allowed values are ${getConfigFileNames().join(', ')}.`,\n });\n } else if (\n key === 'repositoryCache' &&\n !['enabled', 'disabled', 'reset'].includes(val)\n ) {\n warnings.push({\n topic: 'Configuration Error',\n message: `Invalid value \\`${val}\\` for \\`${currentPath}\\`. The allowed values are ${['enabled', 'disabled', 'reset'].join(', ')}.`,\n });\n } else if (\n key === 'dryRun' &&\n !['extract', 'lookup', 'full'].includes(val)\n ) {\n warnings.push({\n topic: 'Configuration Error',\n message: `Invalid value \\`${val}\\` for \\`${currentPath}\\`. The allowed values are ${['extract', 'lookup', 'full'].join(', ')}.`,\n });\n } else if (\n key === 'binarySource' &&\n !['docker', 'global', 'install', 'hermit'].includes(val)\n ) {\n warnings.push({\n topic: 'Configuration Error',\n message: `Invalid value \\`${val}\\` for \\`${currentPath}\\`. The allowed values are ${['docker', 'global', 'install', 'hermit'].join(', ')}.`,\n });\n } else if (\n key === 'requireConfig' &&\n !['required', 'optional', 'ignored'].includes(val)\n ) {\n warnings.push({\n topic: 'Configuration Error',\n message: `Invalid value \\`${val}\\` for \\`${currentPath}\\`. The allowed values are ${['required', 'optional', 'ignored'].join(', ')}.`,\n });\n } else if (\n key === 'gitUrl' &&\n !['default', 'ssh', 'endpoint'].includes(val)\n ) {\n warnings.push({\n topic: 'Configuration Error',\n message: `Invalid value \\`${val}\\` for \\`${currentPath}\\`. The allowed values are ${['default', 'ssh', 'endpoint'].join(', ')}.`,\n });\n }\n\n if (\n key === 'reportType' &&\n ['s3', 'file'].includes(val) &&\n !isString(config.reportPath)\n ) {\n errors.push({\n topic: 'Configuration Error',\n message: `reportType '${val}' requires a configured reportPath`,\n });\n }\n } else {\n warnings.push({\n topic: 'Configuration Error',\n message: `Configuration option \\`${currentPath}\\` should be a string.`,\n });\n }\n } else if (type === 'integer') {\n const allowsNegative = optionAllowsNegativeIntegers.has(key);\n warnings.push(...validateNumber(key, val, allowsNegative, currentPath));\n } else if (type === 'boolean') {\n if (val !== true && val !== false) {\n warnings.push({\n topic: 'Configuration Error',\n message: `Configuration option \\`${currentPath}\\` should be a boolean. Found: ${JSON.stringify(\n val,\n )} (${typeof val}).`,\n });\n }\n } else if (type === 'array') {\n if (isArray(val)) {\n if (isRegexOrGlobOption(key)) {\n warnings.push(\n ...regexOrGlobValidator.check({\n val,\n currentPath: currentPath!,\n }),\n );\n }\n if (key === 'gitNoVerify') {\n const allowedValues = ['commit', 'push'];\n for (const value of val as string[]) {\n if (!allowedValues.includes(value)) {\n warnings.push({\n topic: 'Configuration Error',\n message: `Invalid value for \\`${currentPath}\\`. The allowed values are ${allowedValues.join(', ')}.`,\n });\n }\n }\n }\n if (key === 'mergeConfidenceDatasources') {\n const allowedValues = supportedDatasources;\n for (const value of val as string[]) {\n if (!allowedValues.includes(value)) {\n warnings.push({\n topic: 'Configuration Error',\n message: `Invalid value \\`${value}\\` for \\`${currentPath}\\`. The allowed values are ${allowedValues.join(', ')}.`,\n });\n }\n }\n }\n } else {\n warnings.push({\n topic: 'Configuration Error',\n message: `Configuration option \\`${currentPath}\\` should be a list (Array).`,\n });\n }\n } else if (type === 'object') {\n if (isPlainObject(val)) {\n if (key === 'onboardingConfig') {\n const subValidation = await validateConfig('repo', val);\n for (const warning of subValidation.warnings.concat(\n subValidation.errors,\n )) {\n warnings.push(warning);\n }\n } else if (key === 'force') {\n const subValidation = await validateConfig('global', val);\n for (const warning of subValidation.warnings.concat(\n subValidation.errors,\n )) {\n warnings.push(warning);\n }\n } else if (key === 'cacheTtlOverride') {\n for (const [subKey, subValue] of Object.entries(val)) {\n const allowsNegative = optionAllowsNegativeIntegers.has(key);\n warnings.push(\n ...validateNumber(\n key,\n subValue,\n allowsNegative,\n currentPath,\n subKey,\n ),\n );\n }\n } else {\n const res = validatePlainObject(val);\n if (res !== true) {\n warnings.push({\n topic: 'Configuration Error',\n message: `Invalid \\`${currentPath}.${res}\\` configuration: value must be a string.`,\n });\n }\n }\n } else {\n warnings.push({\n topic: 'Configuration Error',\n message: `Configuration option \\`${currentPath}\\` should be a JSON object.`,\n });\n }\n }\n }\n}\n"]}
|
|
@@ -7,9 +7,8 @@ exports.addLibYears = addLibYears;
|
|
|
7
7
|
exports.finalizeReport = finalizeReport;
|
|
8
8
|
exports.exportStats = exportStats;
|
|
9
9
|
exports.getReport = getReport;
|
|
10
|
-
const tslib_1 = require("tslib");
|
|
11
10
|
const client_s3_1 = require("@aws-sdk/client-s3");
|
|
12
|
-
const is_1 =
|
|
11
|
+
const is_1 = require("@sindresorhus/is");
|
|
13
12
|
const logger_1 = require("../logger");
|
|
14
13
|
const fs_1 = require("../util/fs");
|
|
15
14
|
const s3_1 = require("../util/s3");
|
|
@@ -26,14 +25,14 @@ function resetReport() {
|
|
|
26
25
|
report.repositories = {};
|
|
27
26
|
}
|
|
28
27
|
function addBranchStats(config, branchesInformation) {
|
|
29
|
-
if (is_1.
|
|
28
|
+
if ((0, is_1.isNullOrUndefined)(config.reportType)) {
|
|
30
29
|
return;
|
|
31
30
|
}
|
|
32
31
|
coerceRepo(config.repository);
|
|
33
32
|
report.repositories[config.repository].branches = branchesInformation;
|
|
34
33
|
}
|
|
35
34
|
function addExtractionStats(config, extractResult) {
|
|
36
|
-
if (is_1.
|
|
35
|
+
if ((0, is_1.isNullOrUndefined)(config.reportType)) {
|
|
37
36
|
return;
|
|
38
37
|
}
|
|
39
38
|
coerceRepo(config.repository);
|
|
@@ -41,7 +40,7 @@ function addExtractionStats(config, extractResult) {
|
|
|
41
40
|
extractResult.packageFiles;
|
|
42
41
|
}
|
|
43
42
|
function addLibYears(config, libYearsWithDepCount) {
|
|
44
|
-
if (is_1.
|
|
43
|
+
if ((0, is_1.isNullOrUndefined)(config.reportType)) {
|
|
45
44
|
return;
|
|
46
45
|
}
|
|
47
46
|
coerceRepo(config.repository);
|
|
@@ -65,7 +64,7 @@ function finalizeReport() {
|
|
|
65
64
|
}
|
|
66
65
|
async function exportStats(config) {
|
|
67
66
|
try {
|
|
68
|
-
if (is_1.
|
|
67
|
+
if ((0, is_1.isNullOrUndefined)(config.reportType)) {
|
|
69
68
|
return;
|
|
70
69
|
}
|
|
71
70
|
if (config.reportType === 'logging') {
|
|
@@ -80,7 +79,7 @@ async function exportStats(config) {
|
|
|
80
79
|
}
|
|
81
80
|
if (config.reportType === 's3') {
|
|
82
81
|
const s3Url = (0, s3_1.parseS3Url)(config.reportPath);
|
|
83
|
-
if (is_1.
|
|
82
|
+
if ((0, is_1.isNullOrUndefined)(s3Url)) {
|
|
84
83
|
logger_1.logger.warn({ reportPath: config.reportPath }, 'Failed to parse s3 URL');
|
|
85
84
|
return;
|
|
86
85
|
}
|
|
@@ -103,7 +102,7 @@ function getReport() {
|
|
|
103
102
|
return structuredClone(report);
|
|
104
103
|
}
|
|
105
104
|
function coerceRepo(repository) {
|
|
106
|
-
if (!is_1.
|
|
105
|
+
if (!(0, is_1.isUndefined)(report.repositories[repository])) {
|
|
107
106
|
return;
|
|
108
107
|
}
|
|
109
108
|
report.repositories[repository] = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reporting.js","sourceRoot":"","sources":["../../lib/instrumentation/reporting.ts"],"names":[],"mappings":";;AAoBA,kCAGC;AAED,wCAUC;AAED,gDAWC;AAED,kCAWC;AAED,wCAcC;AAED,kCA0CC;AAED,8BAEC
|
|
1
|
+
{"version":3,"file":"reporting.js","sourceRoot":"","sources":["../../lib/instrumentation/reporting.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PutObjectCommandInput } from '@aws-sdk/client-s3';\nimport { PutObjectCommand } from '@aws-sdk/client-s3';\nimport { isNullOrUndefined, isUndefined } from '@sindresorhus/is';\nimport type { RenovateConfig } from '../config/types';\nimport { getProblems, logger } from '../logger';\nimport type { BranchCache } from '../util/cache/repository/types';\nimport { writeSystemFile } from '../util/fs';\nimport { getS3Client, parseS3Url } from '../util/s3';\nimport type { ExtractResult } from '../workers/repository/process/extract-update';\nimport type { LibYearsWithStatus, Report } from './types';\n\nconst report: Report = {\n problems: [],\n repositories: {},\n};\n\n/**\n * Reset the report\n * Should only be used for testing\n */\nexport function resetReport(): void {\n report.problems = [];\n report.repositories = {};\n}\n\nexport function addBranchStats(\n config: RenovateConfig,\n branchesInformation: Partial<BranchCache>[],\n): void {\n if (isNullOrUndefined(config.reportType)) {\n return;\n }\n\n coerceRepo(config.repository!);\n report.repositories[config.repository!].branches = branchesInformation;\n}\n\nexport function addExtractionStats(\n config: RenovateConfig,\n extractResult: ExtractResult,\n): void {\n if (isNullOrUndefined(config.reportType)) {\n return;\n }\n\n coerceRepo(config.repository!);\n report.repositories[config.repository!].packageFiles =\n extractResult.packageFiles;\n}\n\nexport function addLibYears(\n config: RenovateConfig,\n libYearsWithDepCount: LibYearsWithStatus,\n): void {\n if (isNullOrUndefined(config.reportType)) {\n return;\n }\n\n coerceRepo(config.repository!);\n report.repositories[config.repository!].libYearsWithStatus =\n libYearsWithDepCount;\n}\n\nexport function finalizeReport(): void {\n const allProblems = structuredClone(getProblems());\n for (const problem of allProblems) {\n const repository = problem.repository;\n delete problem.repository;\n\n // if the problem can be connected to a repository add it their else add to the root list\n if (repository) {\n coerceRepo(repository);\n report.repositories[repository].problems.push(problem);\n } else {\n report.problems.push(problem);\n }\n }\n}\n\nexport async function exportStats(config: RenovateConfig): Promise<void> {\n try {\n if (isNullOrUndefined(config.reportType)) {\n return;\n }\n\n if (config.reportType === 'logging') {\n logger.info({ report }, 'Printing report');\n return;\n }\n\n if (config.reportType === 'file') {\n const path = config.reportPath!;\n await writeSystemFile(path, JSON.stringify(report));\n logger.debug({ path }, 'Writing report');\n return;\n }\n\n if (config.reportType === 's3') {\n const s3Url = parseS3Url(config.reportPath!);\n if (isNullOrUndefined(s3Url)) {\n logger.warn(\n { reportPath: config.reportPath },\n 'Failed to parse s3 URL',\n );\n return;\n }\n\n const s3Params: PutObjectCommandInput = {\n Bucket: s3Url.Bucket,\n Key: s3Url.Key,\n Body: JSON.stringify(report),\n ContentType: 'application/json',\n };\n\n const client = getS3Client(config.s3Endpoint, config.s3PathStyle);\n const command = new PutObjectCommand(s3Params);\n await client.send(command);\n }\n } catch (err) {\n logger.warn({ err }, 'Reporting.exportStats() - failure');\n }\n}\n\nexport function getReport(): Report {\n return structuredClone(report);\n}\n\nfunction coerceRepo(repository: string): void {\n if (!isUndefined(report.repositories[repository])) {\n return;\n }\n\n report.repositories[repository] = {\n problems: [],\n branches: [],\n packageFiles: {},\n };\n}\n"]}
|
|
@@ -4,8 +4,7 @@ exports.isTracingEnabled = isTracingEnabled;
|
|
|
4
4
|
exports.isTraceDebuggingEnabled = isTraceDebuggingEnabled;
|
|
5
5
|
exports.isTraceSendingEnabled = isTraceSendingEnabled;
|
|
6
6
|
exports.massageThrowable = massageThrowable;
|
|
7
|
-
const
|
|
8
|
-
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
7
|
+
const is_1 = require("@sindresorhus/is");
|
|
9
8
|
const env_1 = require("../util/env");
|
|
10
9
|
function isTracingEnabled() {
|
|
11
10
|
return isTraceDebuggingEnabled() || isTraceSendingEnabled();
|
|
@@ -17,7 +16,7 @@ function isTraceSendingEnabled() {
|
|
|
17
16
|
return !!(0, env_1.getEnv)().OTEL_EXPORTER_OTLP_ENDPOINT;
|
|
18
17
|
}
|
|
19
18
|
function massageThrowable(e) {
|
|
20
|
-
if (is_1.
|
|
19
|
+
if ((0, is_1.isNullOrUndefined)(e)) {
|
|
21
20
|
return undefined;
|
|
22
21
|
}
|
|
23
22
|
if (e instanceof Error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/instrumentation/utils.ts"],"names":[],"mappings":";;AAGA,4CAEC;AAED,0DAEC;AAED,sDAEC;AAED,4CAQC
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/instrumentation/utils.ts"],"names":[],"mappings":";;AAGA,4CAEC;AAED,0DAEC;AAED,sDAEC;AAED,4CAQC;AAvBD,yCAAqD;AACrD,qCAAqC;AAErC,SAAgB,gBAAgB;IAC9B,OAAO,uBAAuB,EAAE,IAAI,qBAAqB,EAAE,CAAC;AAC9D,CAAC;AAED,SAAgB,uBAAuB;IACrC,OAAO,CAAC,CAAC,IAAA,YAAM,GAAE,CAAC,iCAAiC,CAAC;AACtD,CAAC;AAED,SAAgB,qBAAqB;IACnC,OAAO,CAAC,CAAC,IAAA,YAAM,GAAE,CAAC,2BAA2B,CAAC;AAChD,CAAC;AAED,SAAgB,gBAAgB,CAAC,CAAU;IACzC,IAAI,IAAA,sBAAiB,EAAC,CAAC,CAAC,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC;QACvB,OAAO,CAAC,CAAC,OAAO,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,2DAA2D;AAC/E,CAAC","sourcesContent":["import { isNullOrUndefined } from '@sindresorhus/is';\nimport { getEnv } from '../util/env';\n\nexport function isTracingEnabled(): boolean {\n return isTraceDebuggingEnabled() || isTraceSendingEnabled();\n}\n\nexport function isTraceDebuggingEnabled(): boolean {\n return !!getEnv().RENOVATE_TRACING_CONSOLE_EXPORTER;\n}\n\nexport function isTraceSendingEnabled(): boolean {\n return !!getEnv().OTEL_EXPORTER_OTLP_ENDPOINT;\n}\n\nexport function massageThrowable(e: unknown): string | undefined {\n if (isNullOrUndefined(e)) {\n return undefined;\n }\n if (e instanceof Error) {\n return e.message;\n }\n return String(e); // eslint-disable-line @typescript-eslint/no-base-to-string\n}\n"]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.default = errSerializer;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const is_1 =
|
|
5
|
+
const is_1 = require("@sindresorhus/is");
|
|
6
6
|
const regex_1 = require("../util/regex");
|
|
7
7
|
const utils_1 = tslib_1.__importDefault(require("./utils"));
|
|
8
8
|
Error.stackTraceLimit = 20;
|
|
@@ -12,7 +12,7 @@ function errSerializer(err) {
|
|
|
12
12
|
const redactedFields = ['message', 'stack', 'stdout', 'stderr'];
|
|
13
13
|
for (const field of redactedFields) {
|
|
14
14
|
const val = response[field];
|
|
15
|
-
if (is_1.
|
|
15
|
+
if ((0, is_1.isString)(val)) {
|
|
16
16
|
response[field] = val.replace((0, regex_1.regEx)(/https:\/\/[^@]*?@/g), 'https://**redacted**@');
|
|
17
17
|
}
|
|
18
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"err-serializer.js","sourceRoot":"","sources":["../../lib/logger/err-serializer.ts"],"names":[],"mappings":";;AAMA,gCAeC;;AArBD,
|
|
1
|
+
{"version":3,"file":"err-serializer.js","sourceRoot":"","sources":["../../lib/logger/err-serializer.ts"],"names":[],"mappings":";;AAMA,gCAeC;;AArBD,yCAA4C;AAC5C,yCAAsC;AACtC,4DAAmC;AAEnC,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC;AAE3B,SAAwB,aAAa,CAAC,GAAU;IAC9C,MAAM,QAAQ,GAA4B,IAAA,eAAY,EAAC,GAAG,CAAC,CAAC;IAE5D,oCAAoC;IACpC,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAChE,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,IAAA,aAAQ,EAAC,GAAG,CAAC,EAAE,CAAC;YAClB,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,CAC3B,IAAA,aAAK,EAAC,oBAAoB,CAAC,EAC3B,uBAAuB,CACxB,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC","sourcesContent":["import { isString } from '@sindresorhus/is';\nimport { regEx } from '../util/regex';\nimport prepareError from './utils';\n\nError.stackTraceLimit = 20;\n\nexport default function errSerializer(err: Error): any {\n const response: Record<string, unknown> = prepareError(err);\n\n // already done by `sanitizeValue` ?\n const redactedFields = ['message', 'stack', 'stdout', 'stderr'];\n for (const field of redactedFields) {\n const val = response[field];\n if (isString(val)) {\n response[field] = val.replace(\n regEx(/https:\\/\\/[^@]*?@/g),\n 'https://**redacted**@',\n );\n }\n }\n return response;\n}\n"]}
|
package/dist/logger/index.js
CHANGED
|
@@ -14,7 +14,7 @@ exports.levels = levels;
|
|
|
14
14
|
exports.getProblems = getProblems;
|
|
15
15
|
exports.clearProblems = clearProblems;
|
|
16
16
|
const tslib_1 = require("tslib");
|
|
17
|
-
const is_1 =
|
|
17
|
+
const is_1 = require("@sindresorhus/is");
|
|
18
18
|
const bunyan = tslib_1.__importStar(require("bunyan"));
|
|
19
19
|
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
20
20
|
const nanoid_1 = require("nanoid");
|
|
@@ -49,7 +49,7 @@ function createDefaultStreams(stdoutLevel, problems, logFile) {
|
|
|
49
49
|
stream: problems,
|
|
50
50
|
type: 'raw',
|
|
51
51
|
};
|
|
52
|
-
const logFileStream = is_1.
|
|
52
|
+
const logFileStream = (0, is_1.isString)(logFile)
|
|
53
53
|
? createLogFileStream(logFile)
|
|
54
54
|
: undefined;
|
|
55
55
|
return [stdout, problemsStream, logFileStream].filter(Boolean);
|
|
@@ -64,7 +64,7 @@ function createLogFileStream(logFile) {
|
|
|
64
64
|
level: (0, utils_1.validateLogLevel)((0, utils_1.getEnv)('LOG_FILE_LEVEL'), 'debug'),
|
|
65
65
|
};
|
|
66
66
|
const logFileFormat = (0, utils_1.getEnv)('LOG_FILE_FORMAT');
|
|
67
|
-
if (is_1.
|
|
67
|
+
if ((0, is_1.isNonEmptyStringAndNotWhitespace)(logFileFormat) &&
|
|
68
68
|
logFileFormat === 'pretty') {
|
|
69
69
|
file.type = 'raw';
|
|
70
70
|
}
|
package/dist/logger/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/logger/index.ts"],"names":[],"mappings":";;;AAqBA,4BAEC;AAED,oDAiCC;AAuDD,gCAEC;AAED,gCAEC;AAGD,0BAEC;AAGD,0BAEC;AAGD,gCAEC;AAED,4BAOC;AAED,8BAEC;AAQD,wBAQC;AAED,kCAEC;AAED,sCAEC;;AA3KD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/logger/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { isNonEmptyStringAndNotWhitespace, isString } from '@sindresorhus/is';\nimport * as bunyan from 'bunyan';\nimport fs from 'fs-extra';\nimport { nanoid } from 'nanoid';\nimport upath from 'upath';\nimport cmdSerializer from './cmd-serializer';\nimport configSerializer from './config-serializer';\nimport errSerializer from './err-serializer';\nimport { RenovateStream } from './pretty-stdout';\nimport { RenovateLogger } from './renovate-logger';\nimport type { BunyanRecord, Logger } from './types';\nimport {\n ProblemStream,\n getEnv,\n validateLogLevel,\n withSanitizer,\n} from './utils';\n\nconst problems = new ProblemStream();\nlet stdoutLevel = validateLogLevel(getEnv('LOG_LEVEL'), 'info');\n\nexport function logLevel(): bunyan.LogLevelString {\n return stdoutLevel;\n}\n\nexport function createDefaultStreams(\n stdoutLevel: bunyan.LogLevelString,\n problems: ProblemStream,\n logFile: string | undefined,\n): bunyan.Stream[] {\n const stdout: bunyan.Stream = {\n name: 'stdout',\n level: stdoutLevel,\n stream: process.stdout,\n };\n\n if (getEnv('LOG_FORMAT') !== 'json') {\n // TODO: typings (#9615)\n const prettyStdOut = new RenovateStream() as any;\n prettyStdOut.pipe(process.stdout);\n stdout.stream = prettyStdOut;\n stdout.type = 'raw';\n }\n\n const problemsStream: bunyan.Stream = {\n name: 'problems',\n level: 'warn' as bunyan.LogLevel,\n stream: problems as any,\n type: 'raw',\n };\n\n const logFileStream: bunyan.Stream | undefined = isString(logFile)\n ? createLogFileStream(logFile)\n : undefined;\n\n return [stdout, problemsStream, logFileStream].filter(\n Boolean,\n ) as bunyan.Stream[];\n}\n\nfunction createLogFileStream(logFile: string): bunyan.Stream {\n // Ensure log file directory exists\n const directoryName = upath.dirname(logFile);\n fs.ensureDirSync(directoryName);\n\n const file: bunyan.Stream = {\n name: 'logfile',\n path: logFile,\n level: validateLogLevel(getEnv('LOG_FILE_LEVEL'), 'debug'),\n };\n\n const logFileFormat = getEnv('LOG_FILE_FORMAT');\n\n if (\n isNonEmptyStringAndNotWhitespace(logFileFormat) &&\n logFileFormat === 'pretty'\n ) {\n file.type = 'raw';\n }\n\n return file;\n}\n\nfunction serializedSanitizedLogger(streams: bunyan.Stream[]): bunyan {\n return bunyan.createLogger({\n name: 'renovate',\n serializers: {\n body: configSerializer,\n cmd: cmdSerializer,\n config: configSerializer,\n migratedConfig: configSerializer,\n originalConfig: configSerializer,\n presetConfig: configSerializer,\n oldConfig: configSerializer,\n newConfig: configSerializer,\n err: errSerializer,\n },\n streams: streams.map(withSanitizer),\n });\n}\n\nconst defaultStreams = createDefaultStreams(\n stdoutLevel,\n problems,\n getEnv('LOG_FILE'),\n);\n\nconst bunyanLogger = serializedSanitizedLogger(defaultStreams);\nconst logContext = getEnv('LOG_CONTEXT') ?? nanoid();\nconst loggerInternal = new RenovateLogger(bunyanLogger, logContext, {});\n\nexport const logger: Logger = loggerInternal;\n\nexport function setContext(value: string): void {\n loggerInternal.logContext = value;\n}\n\nexport function getContext(): any {\n return loggerInternal.logContext;\n}\n\n// setMeta overrides existing meta, may remove fields if no longer existing\nexport function setMeta(obj: Record<string, unknown>): void {\n loggerInternal.setMeta(obj);\n}\n\n// addMeta overrides or adds fields but does not remove any\nexport function addMeta(obj: Record<string, unknown>): void {\n loggerInternal.addMeta(obj);\n}\n\n// removeMeta removes the provided fields from meta\nexport function removeMeta(fields: string[]): void {\n loggerInternal.removeMeta(fields);\n}\n\nexport function withMeta<T>(obj: Record<string, unknown>, cb: () => T): T {\n addMeta(obj);\n try {\n return cb();\n } finally {\n removeMeta(Object.keys(obj));\n }\n}\n\nexport function addStream(stream: bunyan.Stream): void {\n loggerInternal.addStream(stream);\n}\n\n/**\n * For testing purposes only\n * @param name stream name\n * @param level log level\n * @private\n */\nexport function levels(\n name: 'stdout' | 'logfile',\n level: bunyan.LogLevelString,\n): void {\n bunyanLogger.levels(name, level);\n if (name === 'stdout') {\n stdoutLevel = level;\n }\n}\n\nexport function getProblems(): BunyanRecord[] {\n return problems.getProblems();\n}\n\nexport function clearProblems(): void {\n return problems.clearProblems();\n}\n"]}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RenovateLogger = void 0;
|
|
4
|
-
const
|
|
5
|
-
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
4
|
+
const is_1 = require("@sindresorhus/is");
|
|
6
5
|
const once_1 = require("./once");
|
|
7
6
|
const remap_1 = require("./remap");
|
|
8
7
|
const utils_1 = require("./utils");
|
|
@@ -84,7 +83,7 @@ class RenovateLogger {
|
|
|
84
83
|
};
|
|
85
84
|
const msg = (0, utils_1.getMessage)(p1, p2);
|
|
86
85
|
let level = _level;
|
|
87
|
-
if (is_1.
|
|
86
|
+
if ((0, is_1.isString)(msg)) {
|
|
88
87
|
const remappedLevel = (0, remap_1.getRemappedLevel)(msg);
|
|
89
88
|
/* v8 ignore next 4 -- not easily testable */
|
|
90
89
|
if (remappedLevel) {
|
|
@@ -102,7 +101,7 @@ class RenovateLogger {
|
|
|
102
101
|
const logOnceFn = (p1, p2) => {
|
|
103
102
|
(0, once_1.once)(() => {
|
|
104
103
|
const logFn = this[level].bind(this); // bind to the instance.
|
|
105
|
-
if (is_1.
|
|
104
|
+
if ((0, is_1.isString)(p1)) {
|
|
106
105
|
logFn(p1);
|
|
107
106
|
}
|
|
108
107
|
else {
|
|
@@ -114,7 +113,7 @@ class RenovateLogger {
|
|
|
114
113
|
}
|
|
115
114
|
log(level, p1, p2) {
|
|
116
115
|
const logFn = this.logger[level];
|
|
117
|
-
if (is_1.
|
|
116
|
+
if ((0, is_1.isString)(p1)) {
|
|
118
117
|
logFn(p1);
|
|
119
118
|
}
|
|
120
119
|
else {
|