renovate 42.4.0 → 42.5.0
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/options/index.js +7 -0
- package/dist/config/options/index.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/types.d.ts +1 -0
- package/dist/config/types.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/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 +5 -5
- 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/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/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/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 +2 -2
- 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/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/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/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/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/config.js +3 -4
- package/dist/util/git/config.js.map +1 -1
- package/dist/util/git/index.js +4 -4
- 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/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/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/error.js +6 -1
- package/dist/workers/repository/error.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/index.js +2 -3
- package/dist/workers/repository/onboarding/branch/index.js.map +1 -1
- package/dist/workers/repository/onboarding/branch/onboarding-branch-cache.js +5 -6
- 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 +3 -3
- package/renovate-schema.json +7 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/gomod/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport semver from 'semver';\nimport { quote } from 'shlex';\nimport upath from 'upath';\nimport { GlobalConfig } from '../../../config/global';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport { coerceArray } from '../../../util/array';\nimport { getEnv } from '../../../util/env';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions } from '../../../util/exec/types';\nimport { filterMap } from '../../../util/filter-map';\nimport {\n ensureCacheDir,\n findLocalSiblingOrParent,\n isValidLocalPath,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\nimport { getRepoStatus } from '../../../util/git';\nimport { getGitEnvironmentVariables } from '../../../util/git/auth';\nimport { regEx } from '../../../util/regex';\nimport { isValid } from '../../versioning/semver';\nimport type {\n PackageDependency,\n UpdateArtifact,\n UpdateArtifactsConfig,\n UpdateArtifactsResult,\n} from '../types';\nimport { getExtraDepsNotice } from './artifacts-extra';\n\nconst { major, valid } = semver;\n\nfunction getUpdateImportPathCmds(\n updatedDeps: PackageDependency[],\n { constraints }: UpdateArtifactsConfig,\n): string[] {\n // Check if we fail to parse any major versions and log that they're skipped\n const invalidMajorDeps = updatedDeps.filter(\n ({ newVersion }) => !valid(newVersion),\n );\n if (invalidMajorDeps.length > 0) {\n invalidMajorDeps.forEach(({ depName }) =>\n logger.warn(\n { depName },\n 'Ignoring dependency: Could not get major version',\n ),\n );\n }\n\n const updateImportCommands = updatedDeps\n .filter(\n ({ newVersion }) =>\n valid(newVersion) && !newVersion!.endsWith('+incompatible'),\n )\n .map(({ depName, newVersion }) => ({\n depName: depName!,\n newMajor: major(newVersion!),\n }))\n // Skip path updates going from v0 to v1\n .filter(\n ({ depName, newMajor }) =>\n depName.startsWith('gopkg.in/') || newMajor > 1,\n )\n\n .map(\n ({ depName, newMajor }) =>\n `mod upgrade --mod-name=${depName} -t=${newMajor}`,\n );\n\n if (updateImportCommands.length > 0) {\n let installMarwanModArgs =\n 'install github.com/marwan-at-work/mod/cmd/mod@latest';\n const gomodModCompatibility = constraints?.gomodMod;\n if (gomodModCompatibility) {\n if (\n gomodModCompatibility.startsWith('v') &&\n isValid(gomodModCompatibility.replace(regEx(/^v/), ''))\n ) {\n installMarwanModArgs = installMarwanModArgs.replace(\n regEx(/@latest$/),\n `@${gomodModCompatibility}`,\n );\n } else {\n logger.debug(\n { gomodModCompatibility },\n 'marwan-at-work/mod compatibility range is not valid - skipping',\n );\n }\n } else {\n logger.debug(\n 'No marwan-at-work/mod compatibility range found - installing marwan-at-work/mod latest',\n );\n }\n updateImportCommands.unshift(`go ${installMarwanModArgs}`);\n }\n\n return updateImportCommands;\n}\n\nfunction useModcacherw(goVersion: string | undefined): boolean {\n if (!is.string(goVersion)) {\n return true;\n }\n\n return semver.intersects(goVersion, `>=1.14`);\n}\n\nexport async function updateArtifacts({\n packageFileName: goModFileName,\n updatedDeps,\n newPackageFileContent: newGoModContent,\n config,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n logger.debug(`gomod.updateArtifacts(${goModFileName})`);\n\n const sumFileName = goModFileName.replace(regEx(/\\.mod$/), '.sum');\n const existingGoSumContent = await readLocalFile(sumFileName);\n if (!existingGoSumContent) {\n logger.debug('No go.sum found');\n return null;\n }\n const goModDir = upath.dirname(goModFileName);\n\n // The \"vendor\" directory can be next to the go.mod, but also in the parent directory in case\n // the go workspaces are used.\n const vendorDir = await findLocalSiblingOrParent(goModFileName, 'vendor');\n const vendorModulesFileName = upath.join(vendorDir ?? '', 'modules.txt');\n const useVendor =\n !!config.postUpdateOptions?.includes('gomodVendor') ||\n (!config.postUpdateOptions?.includes('gomodSkipVendor') &&\n vendorDir &&\n (await readLocalFile(vendorModulesFileName)) !== null);\n let massagedGoMod = newGoModContent;\n\n if (config.postUpdateOptions?.includes('gomodMassage')) {\n // Regex match inline replace directive, example:\n // replace golang.org/x/net v1.2.3 => example.com/fork/net v1.4.5\n // https://go.dev/ref/mod#go-mod-file-replace\n\n // replace bracket after comments, so it doesn't break the regex, doing a complex regex causes problems\n // when there's a comment and \")\" after it, the regex will read replace block until comment.. and stop.\n massagedGoMod = massagedGoMod\n .split('\\n')\n .map((line) => {\n if (line.trim().startsWith('//')) {\n return line.replace(')', 'renovate-replace-bracket');\n }\n return line;\n })\n .join('\\n');\n\n const inlineReplaceRegEx = regEx(\n /(\\r?\\n)(replace\\s+[^\\s]+\\s+=>\\s+\\.\\.\\/.*)/g,\n );\n\n // $1 will be matched with the (\\r?n) group\n // $2 will be matched with the inline replace match, example\n // \"// renovate-replace replace golang.org/x/net v1.2.3 => example.com/fork/net v1.4.5\"\n const inlineCommentOut = '$1// renovate-replace $2';\n\n // Regex match replace directive block, example:\n // replace (\n // golang.org/x/net v1.2.3 => example.com/fork/net v1.4.5\n // )\n const blockReplaceRegEx = regEx(/(\\r?\\n)replace\\s*\\([^)]+\\s*\\)/g);\n\n /**\n * replacerFunction for commenting out replace blocks\n * @param match A string representing a golang replace directive block\n * @returns A commented out block with // renovate-replace\n */\n const blockCommentOut = (match: string): string =>\n match.replace(/(\\r?\\n)/g, '$1// renovate-replace ');\n\n // Comment out golang replace directives\n massagedGoMod = massagedGoMod\n .replace(inlineReplaceRegEx, inlineCommentOut)\n .replace(blockReplaceRegEx, blockCommentOut);\n\n if (massagedGoMod !== newGoModContent) {\n logger.debug(\n 'Removed some relative replace statements and comments from go.mod',\n );\n }\n }\n const goConstraints =\n config.constraints?.go ?? getGoConstraints(newGoModContent);\n\n try {\n await writeLocalFile(goModFileName, massagedGoMod);\n\n const cmd = 'go';\n const env = getEnv();\n const execOptions: ExecOptions = {\n cwdFile: goModFileName,\n extraEnv: {\n GOPATH: await ensureCacheDir('go'),\n GOPROXY: env.GOPROXY,\n GOPRIVATE: env.GOPRIVATE,\n GONOPROXY: env.GONOPROXY,\n GONOSUMDB: env.GONOSUMDB,\n GOSUMDB: env.GOSUMDB,\n GOINSECURE: env.GOINSECURE,\n /* v8 ignore next -- TODO: add test */\n GOFLAGS: useModcacherw(goConstraints) ? '-modcacherw' : null,\n CGO_ENABLED: GlobalConfig.get('binarySource') === 'docker' ? '0' : null,\n ...getGitEnvironmentVariables(['go']),\n },\n docker: {},\n toolConstraints: [\n {\n toolName: 'golang',\n constraint: goConstraints,\n },\n ],\n };\n\n const execCommands: string[] = [];\n\n let goGetDirs: string | undefined;\n if (config.goGetDirs) {\n goGetDirs = config.goGetDirs\n .filter((dir) => {\n const isValid = isValidLocalPath(dir);\n if (!isValid) {\n logger.warn({ dir }, 'Invalid path in goGetDirs');\n }\n return isValid;\n })\n .map(quote)\n .join(' ');\n\n if (goGetDirs === '') {\n throw new Error('Invalid goGetDirs');\n }\n }\n\n let args = `get `;\n\n if (goConstraints && !semver.intersects(goConstraints, `>=1.18`)) {\n // For Go versions < 1.18, we need to use the -d flag to avoid builds or installs\n // https://go.dev/doc/go1.18#go-get\n args += `-d `;\n }\n\n args += `-t ${goGetDirs ?? './...'}`;\n logger.trace({ cmd, args }, 'go get command included');\n execCommands.push(`${cmd} ${args}`);\n\n // Update import paths on major updates\n const isImportPathUpdateRequired =\n config.postUpdateOptions?.includes('gomodUpdateImportPaths') &&\n config.updateType === 'major';\n\n if (isImportPathUpdateRequired) {\n const updateImportCmds = getUpdateImportPathCmds(updatedDeps, config);\n if (updateImportCmds.length > 0) {\n logger.debug(updateImportCmds, 'update import path commands included');\n // The updates\n execCommands.push(...updateImportCmds);\n }\n }\n\n const mustSkipGoModTidy =\n !config.postUpdateOptions?.includes('gomodUpdateImportPaths') &&\n config.updateType === 'major';\n if (mustSkipGoModTidy) {\n logger.debug('go mod tidy command skipped');\n }\n\n let tidyOpts = '';\n if (config.postUpdateOptions?.includes('gomodTidy1.17')) {\n tidyOpts += ' -compat=1.17';\n }\n if (config.postUpdateOptions?.includes('gomodTidyE')) {\n tidyOpts += ' -e';\n }\n\n const isGoModTidyRequired =\n !mustSkipGoModTidy &&\n (config.postUpdateOptions?.includes('gomodTidy') === true ||\n config.postUpdateOptions?.includes('gomodTidy1.17') === true ||\n config.postUpdateOptions?.includes('gomodTidyE') === true ||\n (config.updateType === 'major' && isImportPathUpdateRequired));\n if (isGoModTidyRequired) {\n args = 'mod tidy' + tidyOpts;\n logger.debug('go mod tidy command included');\n execCommands.push(`${cmd} ${args}`);\n }\n\n let goWorkSumFileName = upath.join(goModDir, 'go.work.sum');\n if (useVendor) {\n // If we find a go.work, then use go workspace vendoring.\n const goWorkFile = await findLocalSiblingOrParent(\n goModFileName,\n 'go.work',\n );\n\n if (goWorkFile) {\n goWorkSumFileName = upath.join(\n upath.dirname(goWorkFile),\n 'go.work.sum',\n );\n\n args = 'work vendor';\n logger.debug('using go work vendor');\n execCommands.push(`${cmd} ${args}`);\n\n args = 'work sync';\n logger.debug('using go work sync');\n execCommands.push(`${cmd} ${args}`);\n } else {\n args = 'mod vendor';\n logger.debug('using go mod vendor');\n execCommands.push(`${cmd} ${args}`);\n }\n\n if (isGoModTidyRequired) {\n args = 'mod tidy' + tidyOpts;\n logger.debug('go mod tidy command included');\n execCommands.push(`${cmd} ${args}`);\n }\n }\n\n // We tidy one more time as a solution for #6795\n if (isGoModTidyRequired) {\n args = 'mod tidy' + tidyOpts;\n logger.debug('go mod tidy command included');\n execCommands.push(`${cmd} ${args}`);\n }\n\n await exec(execCommands, execOptions);\n\n const status = await getRepoStatus();\n if (\n !status.modified.includes(sumFileName) &&\n !status.modified.includes(goModFileName) &&\n !status.modified.includes(goWorkSumFileName)\n ) {\n return null;\n }\n\n const res: UpdateArtifactsResult[] = [];\n if (status.modified.includes(sumFileName)) {\n logger.debug('Returning updated go.sum');\n res.push({\n file: {\n type: 'addition',\n path: sumFileName,\n contents: await readLocalFile(sumFileName),\n },\n });\n }\n\n if (status.modified.includes(goWorkSumFileName)) {\n logger.debug('Returning updated go.work.sum');\n res.push({\n file: {\n type: 'addition',\n path: goWorkSumFileName,\n contents: await readLocalFile(goWorkSumFileName),\n },\n });\n }\n\n // Include all the .go file import changes\n if (isImportPathUpdateRequired) {\n logger.debug('Returning updated go source files for import path changes');\n for (const f of status.modified) {\n if (f.endsWith('.go')) {\n res.push({\n file: {\n type: 'addition',\n path: f,\n contents: await readLocalFile(f),\n },\n });\n }\n }\n }\n\n if (useVendor) {\n for (const f of status.modified.concat(status.not_added)) {\n if (vendorDir && f.startsWith(vendorDir)) {\n res.push({\n file: {\n type: 'addition',\n path: f,\n contents: await readLocalFile(f),\n },\n });\n }\n }\n for (const f of coerceArray(status.deleted)) {\n res.push({\n file: {\n type: 'deletion',\n path: f,\n },\n });\n }\n }\n\n // TODO: throws in tests (#22198)\n const finalGoModContent = (await readLocalFile(goModFileName, 'utf8'))!\n .replace(regEx(/\\/\\/ renovate-replace /g), '')\n .replace(regEx(/renovate-replace-bracket/g), ')');\n if (finalGoModContent !== newGoModContent) {\n const artifactResult: UpdateArtifactsResult = {\n file: {\n type: 'addition',\n path: goModFileName,\n contents: finalGoModContent,\n },\n };\n\n const updatedDepNames = filterMap(updatedDeps, (dep) => dep?.depName);\n const extraDepsNotice = getExtraDepsNotice(\n newGoModContent,\n finalGoModContent,\n updatedDepNames,\n );\n\n if (extraDepsNotice) {\n artifactResult.notice = {\n file: goModFileName,\n message: extraDepsNotice,\n };\n }\n\n logger.debug('Found updated go.mod after go.sum update');\n res.push(artifactResult);\n }\n return res;\n } catch (err) {\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.debug({ err }, 'Failed to update go.sum');\n return [\n {\n artifactError: {\n lockFile: sumFileName,\n stderr: err.message,\n },\n },\n ];\n }\n}\n\nfunction getGoConstraints(content: string): string | undefined {\n // prefer toolchain directive when go.mod has one\n const toolchainMatch = regEx(/^toolchain\\s*go(?<gover>\\d+\\.\\d+\\.\\d+)$/m).exec(\n content,\n );\n const toolchainVer = toolchainMatch?.groups?.gover;\n if (toolchainVer) {\n logger.debug(\n `Using go version ${toolchainVer} found in toolchain directive`,\n );\n return toolchainVer;\n }\n\n // If go.mod doesn't have toolchain directive and has a full go version spec,\n // for example `go 1.23.6`, pick this version, this doesn't match major.minor version spec.\n //\n // This is because when go.mod have same version defined in go directive and toolchain directive,\n // go will remove toolchain directive from go.mod.\n //\n // For example, go will rewrite `go 1.23.5\\ntoolchain go1.23.5` to `go 1.23.5` by default,\n // in this case, the go directive is the toolchain directive.\n const goFullVersion = regEx(/^go\\s*(?<gover>\\d+\\.\\d+\\.\\d+)$/m).exec(content)\n ?.groups?.gover;\n if (goFullVersion) {\n return goFullVersion;\n }\n\n const re = regEx(/^go\\s*(?<gover>\\d+\\.\\d+)$/m);\n const match = re.exec(content);\n if (!match?.groups?.gover) {\n return undefined;\n }\n return `^${match.groups.gover}`;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/gomod/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import { isString } from '@sindresorhus/is';\nimport semver from 'semver';\nimport { quote } from 'shlex';\nimport upath from 'upath';\nimport { GlobalConfig } from '../../../config/global';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport { coerceArray } from '../../../util/array';\nimport { getEnv } from '../../../util/env';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions } from '../../../util/exec/types';\nimport { filterMap } from '../../../util/filter-map';\nimport {\n ensureCacheDir,\n findLocalSiblingOrParent,\n isValidLocalPath,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\nimport { getRepoStatus } from '../../../util/git';\nimport { getGitEnvironmentVariables } from '../../../util/git/auth';\nimport { regEx } from '../../../util/regex';\nimport { isValid } from '../../versioning/semver';\nimport type {\n PackageDependency,\n UpdateArtifact,\n UpdateArtifactsConfig,\n UpdateArtifactsResult,\n} from '../types';\nimport { getExtraDepsNotice } from './artifacts-extra';\n\nconst { major, valid } = semver;\n\nfunction getUpdateImportPathCmds(\n updatedDeps: PackageDependency[],\n { constraints }: UpdateArtifactsConfig,\n): string[] {\n // Check if we fail to parse any major versions and log that they're skipped\n const invalidMajorDeps = updatedDeps.filter(\n ({ newVersion }) => !valid(newVersion),\n );\n if (invalidMajorDeps.length > 0) {\n invalidMajorDeps.forEach(({ depName }) =>\n logger.warn(\n { depName },\n 'Ignoring dependency: Could not get major version',\n ),\n );\n }\n\n const updateImportCommands = updatedDeps\n .filter(\n ({ newVersion }) =>\n valid(newVersion) && !newVersion!.endsWith('+incompatible'),\n )\n .map(({ depName, newVersion }) => ({\n depName: depName!,\n newMajor: major(newVersion!),\n }))\n // Skip path updates going from v0 to v1\n .filter(\n ({ depName, newMajor }) =>\n depName.startsWith('gopkg.in/') || newMajor > 1,\n )\n\n .map(\n ({ depName, newMajor }) =>\n `mod upgrade --mod-name=${depName} -t=${newMajor}`,\n );\n\n if (updateImportCommands.length > 0) {\n let installMarwanModArgs =\n 'install github.com/marwan-at-work/mod/cmd/mod@latest';\n const gomodModCompatibility = constraints?.gomodMod;\n if (gomodModCompatibility) {\n if (\n gomodModCompatibility.startsWith('v') &&\n isValid(gomodModCompatibility.replace(regEx(/^v/), ''))\n ) {\n installMarwanModArgs = installMarwanModArgs.replace(\n regEx(/@latest$/),\n `@${gomodModCompatibility}`,\n );\n } else {\n logger.debug(\n { gomodModCompatibility },\n 'marwan-at-work/mod compatibility range is not valid - skipping',\n );\n }\n } else {\n logger.debug(\n 'No marwan-at-work/mod compatibility range found - installing marwan-at-work/mod latest',\n );\n }\n updateImportCommands.unshift(`go ${installMarwanModArgs}`);\n }\n\n return updateImportCommands;\n}\n\nfunction useModcacherw(goVersion: string | undefined): boolean {\n if (!isString(goVersion)) {\n return true;\n }\n\n return semver.intersects(goVersion, `>=1.14`);\n}\n\nexport async function updateArtifacts({\n packageFileName: goModFileName,\n updatedDeps,\n newPackageFileContent: newGoModContent,\n config,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n logger.debug(`gomod.updateArtifacts(${goModFileName})`);\n\n const sumFileName = goModFileName.replace(regEx(/\\.mod$/), '.sum');\n const existingGoSumContent = await readLocalFile(sumFileName);\n if (!existingGoSumContent) {\n logger.debug('No go.sum found');\n return null;\n }\n const goModDir = upath.dirname(goModFileName);\n\n // The \"vendor\" directory can be next to the go.mod, but also in the parent directory in case\n // the go workspaces are used.\n const vendorDir = await findLocalSiblingOrParent(goModFileName, 'vendor');\n const vendorModulesFileName = upath.join(vendorDir ?? '', 'modules.txt');\n const useVendor =\n !!config.postUpdateOptions?.includes('gomodVendor') ||\n (!config.postUpdateOptions?.includes('gomodSkipVendor') &&\n vendorDir &&\n (await readLocalFile(vendorModulesFileName)) !== null);\n let massagedGoMod = newGoModContent;\n\n if (config.postUpdateOptions?.includes('gomodMassage')) {\n // Regex match inline replace directive, example:\n // replace golang.org/x/net v1.2.3 => example.com/fork/net v1.4.5\n // https://go.dev/ref/mod#go-mod-file-replace\n\n // replace bracket after comments, so it doesn't break the regex, doing a complex regex causes problems\n // when there's a comment and \")\" after it, the regex will read replace block until comment.. and stop.\n massagedGoMod = massagedGoMod\n .split('\\n')\n .map((line) => {\n if (line.trim().startsWith('//')) {\n return line.replace(')', 'renovate-replace-bracket');\n }\n return line;\n })\n .join('\\n');\n\n const inlineReplaceRegEx = regEx(\n /(\\r?\\n)(replace\\s+[^\\s]+\\s+=>\\s+\\.\\.\\/.*)/g,\n );\n\n // $1 will be matched with the (\\r?n) group\n // $2 will be matched with the inline replace match, example\n // \"// renovate-replace replace golang.org/x/net v1.2.3 => example.com/fork/net v1.4.5\"\n const inlineCommentOut = '$1// renovate-replace $2';\n\n // Regex match replace directive block, example:\n // replace (\n // golang.org/x/net v1.2.3 => example.com/fork/net v1.4.5\n // )\n const blockReplaceRegEx = regEx(/(\\r?\\n)replace\\s*\\([^)]+\\s*\\)/g);\n\n /**\n * replacerFunction for commenting out replace blocks\n * @param match A string representing a golang replace directive block\n * @returns A commented out block with // renovate-replace\n */\n const blockCommentOut = (match: string): string =>\n match.replace(/(\\r?\\n)/g, '$1// renovate-replace ');\n\n // Comment out golang replace directives\n massagedGoMod = massagedGoMod\n .replace(inlineReplaceRegEx, inlineCommentOut)\n .replace(blockReplaceRegEx, blockCommentOut);\n\n if (massagedGoMod !== newGoModContent) {\n logger.debug(\n 'Removed some relative replace statements and comments from go.mod',\n );\n }\n }\n const goConstraints =\n config.constraints?.go ?? getGoConstraints(newGoModContent);\n\n try {\n await writeLocalFile(goModFileName, massagedGoMod);\n\n const cmd = 'go';\n const env = getEnv();\n const execOptions: ExecOptions = {\n cwdFile: goModFileName,\n extraEnv: {\n GOPATH: await ensureCacheDir('go'),\n GOPROXY: env.GOPROXY,\n GOPRIVATE: env.GOPRIVATE,\n GONOPROXY: env.GONOPROXY,\n GONOSUMDB: env.GONOSUMDB,\n GOSUMDB: env.GOSUMDB,\n GOINSECURE: env.GOINSECURE,\n /* v8 ignore next -- TODO: add test */\n GOFLAGS: useModcacherw(goConstraints) ? '-modcacherw' : null,\n CGO_ENABLED: GlobalConfig.get('binarySource') === 'docker' ? '0' : null,\n ...getGitEnvironmentVariables(['go']),\n },\n docker: {},\n toolConstraints: [\n {\n toolName: 'golang',\n constraint: goConstraints,\n },\n ],\n };\n\n const execCommands: string[] = [];\n\n let goGetDirs: string | undefined;\n if (config.goGetDirs) {\n goGetDirs = config.goGetDirs\n .filter((dir) => {\n const isValid = isValidLocalPath(dir);\n if (!isValid) {\n logger.warn({ dir }, 'Invalid path in goGetDirs');\n }\n return isValid;\n })\n .map(quote)\n .join(' ');\n\n if (goGetDirs === '') {\n throw new Error('Invalid goGetDirs');\n }\n }\n\n let args = `get `;\n\n if (goConstraints && !semver.intersects(goConstraints, `>=1.18`)) {\n // For Go versions < 1.18, we need to use the -d flag to avoid builds or installs\n // https://go.dev/doc/go1.18#go-get\n args += `-d `;\n }\n\n args += `-t ${goGetDirs ?? './...'}`;\n logger.trace({ cmd, args }, 'go get command included');\n execCommands.push(`${cmd} ${args}`);\n\n // Update import paths on major updates\n const isImportPathUpdateRequired =\n config.postUpdateOptions?.includes('gomodUpdateImportPaths') &&\n config.updateType === 'major';\n\n if (isImportPathUpdateRequired) {\n const updateImportCmds = getUpdateImportPathCmds(updatedDeps, config);\n if (updateImportCmds.length > 0) {\n logger.debug(updateImportCmds, 'update import path commands included');\n // The updates\n execCommands.push(...updateImportCmds);\n }\n }\n\n const mustSkipGoModTidy =\n !config.postUpdateOptions?.includes('gomodUpdateImportPaths') &&\n config.updateType === 'major';\n if (mustSkipGoModTidy) {\n logger.debug('go mod tidy command skipped');\n }\n\n let tidyOpts = '';\n if (config.postUpdateOptions?.includes('gomodTidy1.17')) {\n tidyOpts += ' -compat=1.17';\n }\n if (config.postUpdateOptions?.includes('gomodTidyE')) {\n tidyOpts += ' -e';\n }\n\n const isGoModTidyRequired =\n !mustSkipGoModTidy &&\n (config.postUpdateOptions?.includes('gomodTidy') === true ||\n config.postUpdateOptions?.includes('gomodTidy1.17') === true ||\n config.postUpdateOptions?.includes('gomodTidyE') === true ||\n (config.updateType === 'major' && isImportPathUpdateRequired));\n if (isGoModTidyRequired) {\n args = 'mod tidy' + tidyOpts;\n logger.debug('go mod tidy command included');\n execCommands.push(`${cmd} ${args}`);\n }\n\n let goWorkSumFileName = upath.join(goModDir, 'go.work.sum');\n if (useVendor) {\n // If we find a go.work, then use go workspace vendoring.\n const goWorkFile = await findLocalSiblingOrParent(\n goModFileName,\n 'go.work',\n );\n\n if (goWorkFile) {\n goWorkSumFileName = upath.join(\n upath.dirname(goWorkFile),\n 'go.work.sum',\n );\n\n args = 'work vendor';\n logger.debug('using go work vendor');\n execCommands.push(`${cmd} ${args}`);\n\n args = 'work sync';\n logger.debug('using go work sync');\n execCommands.push(`${cmd} ${args}`);\n } else {\n args = 'mod vendor';\n logger.debug('using go mod vendor');\n execCommands.push(`${cmd} ${args}`);\n }\n\n if (isGoModTidyRequired) {\n args = 'mod tidy' + tidyOpts;\n logger.debug('go mod tidy command included');\n execCommands.push(`${cmd} ${args}`);\n }\n }\n\n // We tidy one more time as a solution for #6795\n if (isGoModTidyRequired) {\n args = 'mod tidy' + tidyOpts;\n logger.debug('go mod tidy command included');\n execCommands.push(`${cmd} ${args}`);\n }\n\n await exec(execCommands, execOptions);\n\n const status = await getRepoStatus();\n if (\n !status.modified.includes(sumFileName) &&\n !status.modified.includes(goModFileName) &&\n !status.modified.includes(goWorkSumFileName)\n ) {\n return null;\n }\n\n const res: UpdateArtifactsResult[] = [];\n if (status.modified.includes(sumFileName)) {\n logger.debug('Returning updated go.sum');\n res.push({\n file: {\n type: 'addition',\n path: sumFileName,\n contents: await readLocalFile(sumFileName),\n },\n });\n }\n\n if (status.modified.includes(goWorkSumFileName)) {\n logger.debug('Returning updated go.work.sum');\n res.push({\n file: {\n type: 'addition',\n path: goWorkSumFileName,\n contents: await readLocalFile(goWorkSumFileName),\n },\n });\n }\n\n // Include all the .go file import changes\n if (isImportPathUpdateRequired) {\n logger.debug('Returning updated go source files for import path changes');\n for (const f of status.modified) {\n if (f.endsWith('.go')) {\n res.push({\n file: {\n type: 'addition',\n path: f,\n contents: await readLocalFile(f),\n },\n });\n }\n }\n }\n\n if (useVendor) {\n for (const f of status.modified.concat(status.not_added)) {\n if (vendorDir && f.startsWith(vendorDir)) {\n res.push({\n file: {\n type: 'addition',\n path: f,\n contents: await readLocalFile(f),\n },\n });\n }\n }\n for (const f of coerceArray(status.deleted)) {\n res.push({\n file: {\n type: 'deletion',\n path: f,\n },\n });\n }\n }\n\n // TODO: throws in tests (#22198)\n const finalGoModContent = (await readLocalFile(goModFileName, 'utf8'))!\n .replace(regEx(/\\/\\/ renovate-replace /g), '')\n .replace(regEx(/renovate-replace-bracket/g), ')');\n if (finalGoModContent !== newGoModContent) {\n const artifactResult: UpdateArtifactsResult = {\n file: {\n type: 'addition',\n path: goModFileName,\n contents: finalGoModContent,\n },\n };\n\n const updatedDepNames = filterMap(updatedDeps, (dep) => dep?.depName);\n const extraDepsNotice = getExtraDepsNotice(\n newGoModContent,\n finalGoModContent,\n updatedDepNames,\n );\n\n if (extraDepsNotice) {\n artifactResult.notice = {\n file: goModFileName,\n message: extraDepsNotice,\n };\n }\n\n logger.debug('Found updated go.mod after go.sum update');\n res.push(artifactResult);\n }\n return res;\n } catch (err) {\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.debug({ err }, 'Failed to update go.sum');\n return [\n {\n artifactError: {\n lockFile: sumFileName,\n stderr: err.message,\n },\n },\n ];\n }\n}\n\nfunction getGoConstraints(content: string): string | undefined {\n // prefer toolchain directive when go.mod has one\n const toolchainMatch = regEx(/^toolchain\\s*go(?<gover>\\d+\\.\\d+\\.\\d+)$/m).exec(\n content,\n );\n const toolchainVer = toolchainMatch?.groups?.gover;\n if (toolchainVer) {\n logger.debug(\n `Using go version ${toolchainVer} found in toolchain directive`,\n );\n return toolchainVer;\n }\n\n // If go.mod doesn't have toolchain directive and has a full go version spec,\n // for example `go 1.23.6`, pick this version, this doesn't match major.minor version spec.\n //\n // This is because when go.mod have same version defined in go directive and toolchain directive,\n // go will remove toolchain directive from go.mod.\n //\n // For example, go will rewrite `go 1.23.5\\ntoolchain go1.23.5` to `go 1.23.5` by default,\n // in this case, the go directive is the toolchain directive.\n const goFullVersion = regEx(/^go\\s*(?<gover>\\d+\\.\\d+\\.\\d+)$/m).exec(content)\n ?.groups?.gover;\n if (goFullVersion) {\n return goFullVersion;\n }\n\n const re = regEx(/^go\\s*(?<gover>\\d+\\.\\d+)$/m);\n const match = re.exec(content);\n if (!match?.groups?.gover) {\n return undefined;\n }\n return `^${match.groups.gover}`;\n}\n"]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.updateArtifacts = updateArtifacts;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const is_1 =
|
|
5
|
+
const is_1 = require("@sindresorhus/is");
|
|
6
6
|
const shlex_1 = require("shlex");
|
|
7
7
|
const upath_1 = tslib_1.__importDefault(require("upath"));
|
|
8
8
|
const error_messages_1 = require("../../../constants/error-messages");
|
|
@@ -138,7 +138,7 @@ async function updateArtifacts({ packageFileName, updatedDeps, newPackageFileCon
|
|
|
138
138
|
else {
|
|
139
139
|
const updatedDepNames = updatedDeps
|
|
140
140
|
.map(({ depName, packageName }) => packageName ?? depName)
|
|
141
|
-
.filter(is_1.
|
|
141
|
+
.filter(is_1.isNonEmptyStringAndNotWhitespace);
|
|
142
142
|
lockfileCmd += ` --update-locks ${updatedDepNames
|
|
143
143
|
.map(shlex_1.quote)
|
|
144
144
|
.join(',')}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/gradle/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport upath from 'upath';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions } from '../../../util/exec/types';\nimport { findUpLocal, readLocalFile, writeLocalFile } from '../../../util/fs';\nimport { getFiles, getRepoStatus } from '../../../util/git';\nimport { regEx } from '../../../util/regex';\nimport { scm } from '../../platform/scm';\nimport {\n extraEnv,\n extractGradleVersion,\n getJavaConstraint,\n gradleWrapperFileName,\n prepareGradleCommand,\n} from '../gradle-wrapper/utils';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\nimport {\n isGcvLockFile,\n isGcvPropsFile,\n} from './extract/consistent-versions-plugin';\nimport { isGradleBuildFile } from './utils';\n\n// .lockfile is gradle default lockfile, /versions.lock is gradle-consistent-versions plugin lockfile\nfunction isLockFile(fileName: string): boolean {\n return fileName.endsWith('.lockfile') || isGcvLockFile(fileName);\n}\n\nasync function getUpdatedLockfiles(\n oldLockFileContentMap: Record<string, string | null>,\n): Promise<UpdateArtifactsResult[]> {\n const res: UpdateArtifactsResult[] = [];\n\n const status = await getRepoStatus();\n\n for (const modifiedFile of status.modified) {\n if (\n isLockFile(modifiedFile) ||\n modifiedFile.endsWith('gradle/verification-metadata.xml')\n ) {\n const newContent = await readLocalFile(modifiedFile, 'utf8');\n if (oldLockFileContentMap[modifiedFile] !== newContent) {\n res.push({\n file: {\n type: 'addition',\n path: modifiedFile,\n contents: newContent,\n },\n });\n }\n }\n }\n\n return res;\n}\n\nasync function getSubProjectList(\n cmd: string,\n execOptions: ExecOptions,\n): Promise<string[]> {\n const subprojects = ['']; // = root project\n const subprojectsRegex = regEx(/^[ \\t]*subprojects: \\[(?<subprojects>.+)\\]/m);\n\n const gradleProperties = await exec(`${cmd} properties`, execOptions);\n const subprojectsMatch = gradleProperties.stdout.match(subprojectsRegex);\n if (subprojectsMatch?.groups?.subprojects) {\n const projectRegex = regEx(/project '(?<name>.+?)'/g);\n const matches = subprojectsMatch.groups.subprojects.matchAll(projectRegex);\n for (const match of matches) {\n if (match?.groups?.name) {\n subprojects.push(match.groups.name);\n }\n }\n }\n\n return subprojects;\n}\n\nasync function getGradleVersion(gradlewFile: string): Promise<string | null> {\n const propertiesFile = upath.join(\n upath.dirname(gradlewFile),\n 'gradle/wrapper/gradle-wrapper.properties',\n );\n const properties = await readLocalFile(propertiesFile, 'utf8');\n const extractResult = extractGradleVersion(properties ?? '');\n\n return extractResult ? extractResult.version : null;\n}\n\nasync function buildUpdateVerificationMetadataCmd(\n verificationMetadataFile: string | undefined,\n baseCmd: string,\n): Promise<string | null> {\n if (!verificationMetadataFile) {\n return null;\n }\n\n const verificationMetadata = await readLocalFile(verificationMetadataFile);\n const verifiesChecksums = verificationMetadata?.includes(\n '<verify-metadata>true</verify-metadata>',\n );\n const verifiesSignatures = verificationMetadata?.includes(\n '<verify-signatures>true</verify-signatures>',\n );\n\n const hashTypes = ['sha256', 'sha512'].filter((type) =>\n verificationMetadata?.includes(`<${type} `),\n );\n\n if (verifiesChecksums || hashTypes.length) {\n logger.debug(\n 'Dependency metadata verification enabled or checksums present - generating checksums',\n );\n }\n\n if ((verifiesChecksums || verifiesSignatures) && !hashTypes.length) {\n // fallback algorithm for pgp and in case a weak algorithm (md5, sha1) is used for checksums\n hashTypes.push('sha256');\n }\n\n if (verifiesSignatures) {\n logger.debug(\n 'Dependency signature verification enabled - generating PGP signatures',\n );\n hashTypes.push('pgp');\n }\n\n if (!hashTypes.length) {\n return null;\n }\n\n return `${baseCmd} --write-verification-metadata ${hashTypes.join(',')} dependencies`;\n}\n\nexport async function updateArtifacts({\n packageFileName,\n updatedDeps,\n newPackageFileContent,\n config,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n logger.debug(`gradle.updateArtifacts(${packageFileName})`);\n\n const fileList = await scm.getFileList();\n const lockFiles = fileList.filter((file) => isLockFile(file));\n const verificationMetadataFile = fileList.find((fileName) =>\n fileName.endsWith('gradle/verification-metadata.xml'),\n );\n if (!lockFiles.length && !verificationMetadataFile) {\n logger.debug(\n 'No Gradle dependency lockfiles or verification metadata found - skipping update',\n );\n return null;\n }\n\n const gradlewName = gradleWrapperFileName();\n const gradlewFile = await findUpLocal(\n gradlewName,\n upath.dirname(packageFileName),\n );\n if (!gradlewFile) {\n logger.debug(\n 'Found Gradle dependency lockfiles but no gradlew - aborting update',\n );\n return null;\n }\n\n if (\n config.isLockFileMaintenance &&\n (!isGradleBuildFile(packageFileName) ||\n upath.dirname(packageFileName) !== upath.dirname(gradlewFile))\n ) {\n logger.trace(\n 'No build.gradle(.kts) file or not in root project - skipping lock file maintenance',\n );\n return null;\n }\n\n logger.debug('Updating found Gradle dependency lockfiles');\n\n try {\n const oldLockFileContentMap = await getFiles(lockFiles);\n await prepareGradleCommand(gradlewFile);\n\n const baseCmd = `${gradlewName} --console=plain --dependency-verification lenient -q`;\n const execOptions: ExecOptions = {\n cwdFile: gradlewFile,\n docker: {},\n extraEnv,\n toolConstraints: [\n {\n toolName: 'java',\n constraint:\n config.constraints?.java ??\n (await getJavaConstraint(\n await getGradleVersion(gradlewFile),\n gradlewFile,\n )),\n },\n ],\n };\n\n const cmds = [];\n if (lockFiles.length) {\n const subprojects = await getSubProjectList(baseCmd, execOptions);\n let lockfileCmd = `${baseCmd} ${subprojects\n .map((project) => `${project}:dependencies`)\n .map(quote)\n .join(' ')}`;\n\n if (\n config.isLockFileMaintenance === true ||\n !updatedDeps.length ||\n isGcvPropsFile(packageFileName)\n ) {\n lockfileCmd += ' --write-locks';\n } else {\n const updatedDepNames = updatedDeps\n .map(({ depName, packageName }) => packageName ?? depName)\n .filter(is.nonEmptyStringAndNotWhitespace);\n\n lockfileCmd += ` --update-locks ${updatedDepNames\n .map(quote)\n .join(',')}`;\n }\n cmds.push(lockfileCmd);\n }\n\n const updateVerificationMetadataCmd =\n await buildUpdateVerificationMetadataCmd(\n verificationMetadataFile,\n baseCmd,\n );\n if (updateVerificationMetadataCmd) {\n cmds.push(updateVerificationMetadataCmd);\n }\n\n if (!cmds.length) {\n logger.debug('No lockfile or verification metadata update necessary');\n return null;\n }\n\n await writeLocalFile(packageFileName, newPackageFileContent);\n await exec(cmds, { ...execOptions, ignoreStdout: true });\n\n const res = await getUpdatedLockfiles(oldLockFileContentMap);\n logger.debug('Returning updated Gradle dependency lockfiles');\n\n return res.length > 0 ? res : null;\n } catch (err) {\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n\n logger.debug({ err }, 'Error while updating Gradle dependency lockfiles');\n return [\n {\n artifactError: {\n lockFile: packageFileName,\n stderr: err.message,\n },\n },\n ];\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/gradle/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import { isNonEmptyStringAndNotWhitespace } from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport upath from 'upath';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions } from '../../../util/exec/types';\nimport { findUpLocal, readLocalFile, writeLocalFile } from '../../../util/fs';\nimport { getFiles, getRepoStatus } from '../../../util/git';\nimport { regEx } from '../../../util/regex';\nimport { scm } from '../../platform/scm';\nimport {\n extraEnv,\n extractGradleVersion,\n getJavaConstraint,\n gradleWrapperFileName,\n prepareGradleCommand,\n} from '../gradle-wrapper/utils';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\nimport {\n isGcvLockFile,\n isGcvPropsFile,\n} from './extract/consistent-versions-plugin';\nimport { isGradleBuildFile } from './utils';\n\n// .lockfile is gradle default lockfile, /versions.lock is gradle-consistent-versions plugin lockfile\nfunction isLockFile(fileName: string): boolean {\n return fileName.endsWith('.lockfile') || isGcvLockFile(fileName);\n}\n\nasync function getUpdatedLockfiles(\n oldLockFileContentMap: Record<string, string | null>,\n): Promise<UpdateArtifactsResult[]> {\n const res: UpdateArtifactsResult[] = [];\n\n const status = await getRepoStatus();\n\n for (const modifiedFile of status.modified) {\n if (\n isLockFile(modifiedFile) ||\n modifiedFile.endsWith('gradle/verification-metadata.xml')\n ) {\n const newContent = await readLocalFile(modifiedFile, 'utf8');\n if (oldLockFileContentMap[modifiedFile] !== newContent) {\n res.push({\n file: {\n type: 'addition',\n path: modifiedFile,\n contents: newContent,\n },\n });\n }\n }\n }\n\n return res;\n}\n\nasync function getSubProjectList(\n cmd: string,\n execOptions: ExecOptions,\n): Promise<string[]> {\n const subprojects = ['']; // = root project\n const subprojectsRegex = regEx(/^[ \\t]*subprojects: \\[(?<subprojects>.+)\\]/m);\n\n const gradleProperties = await exec(`${cmd} properties`, execOptions);\n const subprojectsMatch = gradleProperties.stdout.match(subprojectsRegex);\n if (subprojectsMatch?.groups?.subprojects) {\n const projectRegex = regEx(/project '(?<name>.+?)'/g);\n const matches = subprojectsMatch.groups.subprojects.matchAll(projectRegex);\n for (const match of matches) {\n if (match?.groups?.name) {\n subprojects.push(match.groups.name);\n }\n }\n }\n\n return subprojects;\n}\n\nasync function getGradleVersion(gradlewFile: string): Promise<string | null> {\n const propertiesFile = upath.join(\n upath.dirname(gradlewFile),\n 'gradle/wrapper/gradle-wrapper.properties',\n );\n const properties = await readLocalFile(propertiesFile, 'utf8');\n const extractResult = extractGradleVersion(properties ?? '');\n\n return extractResult ? extractResult.version : null;\n}\n\nasync function buildUpdateVerificationMetadataCmd(\n verificationMetadataFile: string | undefined,\n baseCmd: string,\n): Promise<string | null> {\n if (!verificationMetadataFile) {\n return null;\n }\n\n const verificationMetadata = await readLocalFile(verificationMetadataFile);\n const verifiesChecksums = verificationMetadata?.includes(\n '<verify-metadata>true</verify-metadata>',\n );\n const verifiesSignatures = verificationMetadata?.includes(\n '<verify-signatures>true</verify-signatures>',\n );\n\n const hashTypes = ['sha256', 'sha512'].filter((type) =>\n verificationMetadata?.includes(`<${type} `),\n );\n\n if (verifiesChecksums || hashTypes.length) {\n logger.debug(\n 'Dependency metadata verification enabled or checksums present - generating checksums',\n );\n }\n\n if ((verifiesChecksums || verifiesSignatures) && !hashTypes.length) {\n // fallback algorithm for pgp and in case a weak algorithm (md5, sha1) is used for checksums\n hashTypes.push('sha256');\n }\n\n if (verifiesSignatures) {\n logger.debug(\n 'Dependency signature verification enabled - generating PGP signatures',\n );\n hashTypes.push('pgp');\n }\n\n if (!hashTypes.length) {\n return null;\n }\n\n return `${baseCmd} --write-verification-metadata ${hashTypes.join(',')} dependencies`;\n}\n\nexport async function updateArtifacts({\n packageFileName,\n updatedDeps,\n newPackageFileContent,\n config,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n logger.debug(`gradle.updateArtifacts(${packageFileName})`);\n\n const fileList = await scm.getFileList();\n const lockFiles = fileList.filter((file) => isLockFile(file));\n const verificationMetadataFile = fileList.find((fileName) =>\n fileName.endsWith('gradle/verification-metadata.xml'),\n );\n if (!lockFiles.length && !verificationMetadataFile) {\n logger.debug(\n 'No Gradle dependency lockfiles or verification metadata found - skipping update',\n );\n return null;\n }\n\n const gradlewName = gradleWrapperFileName();\n const gradlewFile = await findUpLocal(\n gradlewName,\n upath.dirname(packageFileName),\n );\n if (!gradlewFile) {\n logger.debug(\n 'Found Gradle dependency lockfiles but no gradlew - aborting update',\n );\n return null;\n }\n\n if (\n config.isLockFileMaintenance &&\n (!isGradleBuildFile(packageFileName) ||\n upath.dirname(packageFileName) !== upath.dirname(gradlewFile))\n ) {\n logger.trace(\n 'No build.gradle(.kts) file or not in root project - skipping lock file maintenance',\n );\n return null;\n }\n\n logger.debug('Updating found Gradle dependency lockfiles');\n\n try {\n const oldLockFileContentMap = await getFiles(lockFiles);\n await prepareGradleCommand(gradlewFile);\n\n const baseCmd = `${gradlewName} --console=plain --dependency-verification lenient -q`;\n const execOptions: ExecOptions = {\n cwdFile: gradlewFile,\n docker: {},\n extraEnv,\n toolConstraints: [\n {\n toolName: 'java',\n constraint:\n config.constraints?.java ??\n (await getJavaConstraint(\n await getGradleVersion(gradlewFile),\n gradlewFile,\n )),\n },\n ],\n };\n\n const cmds = [];\n if (lockFiles.length) {\n const subprojects = await getSubProjectList(baseCmd, execOptions);\n let lockfileCmd = `${baseCmd} ${subprojects\n .map((project) => `${project}:dependencies`)\n .map(quote)\n .join(' ')}`;\n\n if (\n config.isLockFileMaintenance === true ||\n !updatedDeps.length ||\n isGcvPropsFile(packageFileName)\n ) {\n lockfileCmd += ' --write-locks';\n } else {\n const updatedDepNames = updatedDeps\n .map(({ depName, packageName }) => packageName ?? depName)\n .filter(isNonEmptyStringAndNotWhitespace);\n\n lockfileCmd += ` --update-locks ${updatedDepNames\n .map(quote)\n .join(',')}`;\n }\n cmds.push(lockfileCmd);\n }\n\n const updateVerificationMetadataCmd =\n await buildUpdateVerificationMetadataCmd(\n verificationMetadataFile,\n baseCmd,\n );\n if (updateVerificationMetadataCmd) {\n cmds.push(updateVerificationMetadataCmd);\n }\n\n if (!cmds.length) {\n logger.debug('No lockfile or verification metadata update necessary');\n return null;\n }\n\n await writeLocalFile(packageFileName, newPackageFileContent);\n await exec(cmds, { ...execOptions, ignoreStdout: true });\n\n const res = await getUpdatedLockfiles(oldLockFileContentMap);\n logger.debug('Returning updated Gradle dependency lockfiles');\n\n return res.length > 0 ? res : null;\n } catch (err) {\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n\n logger.debug({ err }, 'Error while updating Gradle dependency lockfiles');\n return [\n {\n artifactError: {\n lockFile: packageFileName,\n stderr: err.message,\n },\n },\n ];\n }\n}\n"]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.parseCatalog = parseCatalog;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const is_1 =
|
|
5
|
+
const is_1 = require("@sindresorhus/is");
|
|
6
6
|
const deepmerge_1 = tslib_1.__importDefault(require("deepmerge"));
|
|
7
7
|
const object_1 = require("../../../../util/object");
|
|
8
8
|
const regex_1 = require("../../../../util/regex");
|
|
@@ -64,11 +64,11 @@ function extractLiteralVersion({ version, depStartIndex, depSubContent, sectionK
|
|
|
64
64
|
if (!version) {
|
|
65
65
|
return { skipReason: 'unspecified-version' };
|
|
66
66
|
}
|
|
67
|
-
else if (is_1.
|
|
67
|
+
else if ((0, is_1.isString)(version)) {
|
|
68
68
|
const fileReplacePosition = depStartIndex + findVersionIndex(depSubContent, sectionKey, version);
|
|
69
69
|
return { currentValue: version, fileReplacePosition };
|
|
70
70
|
}
|
|
71
|
-
else if (is_1.
|
|
71
|
+
else if ((0, is_1.isPlainObject)(version)) {
|
|
72
72
|
// https://github.com/gradle/gradle/blob/d9adf33a57925582988fc512002dcc0e8ce4db95/subprojects/core/src/main/java/org/gradle/api/internal/catalog/parser/TomlCatalogFileParser.java#L368
|
|
73
73
|
// https://docs.gradle.org/current/userguide/rich_versions.html
|
|
74
74
|
// https://docs.gradle.org/current/userguide/platforms.html#sub::toml-dependencies-format
|
|
@@ -99,7 +99,7 @@ function extractLiteralVersion({ version, depStartIndex, depSubContent, sectionK
|
|
|
99
99
|
return { skipReason: 'unspecified-version' };
|
|
100
100
|
}
|
|
101
101
|
function extractDependency({ descriptor, versions, depStartIndex, depSubContent, depName, versionStartIndex, versionSubContent, }) {
|
|
102
|
-
if (is_1.
|
|
102
|
+
if ((0, is_1.isString)(descriptor)) {
|
|
103
103
|
const [group, name, currentValue] = descriptor.split(':');
|
|
104
104
|
if (!currentValue) {
|
|
105
105
|
return {
|
|
@@ -174,7 +174,7 @@ function parseCatalog(packageFile, content) {
|
|
|
174
174
|
const pluginsSubContent = content.slice(pluginsStartIndex);
|
|
175
175
|
for (const pluginName of Object.keys(plugins)) {
|
|
176
176
|
const pluginDescriptor = plugins[pluginName];
|
|
177
|
-
const [depName, version] = is_1.
|
|
177
|
+
const [depName, version] = (0, is_1.isString)(pluginDescriptor)
|
|
178
178
|
? pluginDescriptor.split(':')
|
|
179
179
|
: [pluginDescriptor.id, pluginDescriptor.version];
|
|
180
180
|
const { currentValue, fileReplacePosition, skipReason } = extractVersion({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/gradle/extract/catalog.ts"],"names":[],"mappings":";;AAoPA,oCAmEC;;AAvTD,kEAAkC;AAClC,kEAAkC;AAElC,oDAAiD;AACjD,kDAA6D;AAC7D,gDAAoE;AAYpE,SAAS,gBAAgB,CACvB,OAAe,EACf,OAAe,EACf,OAAe;IAEf,MAAM,GAAG,GAAG,IAAA,oBAAY,EAAC,OAAO,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,IAAA,oBAAY,EAAC,OAAO,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,IAAA,aAAK,EACd,wBAAwB,GAAG,8EAA8E,IAAI,OAAO,CACrH,CAAC;IACF,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;IACD,8GAA8G;IAC9G,0BAA0B;IAC1B,OAAO,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,cAAc,CACrB,OAAe,EACf,UAAkB,EAClB,IAAY;IAEZ,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;IACnE,OAAO,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,oBAAoB,CAC3B,GAAoE;IAEpE,OAAO,IAAA,eAAM,EAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,gBAAgB,CACvB,GAA4C;IAE5C,OAAO,IAAA,eAAM,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAA,aAAK,EAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,iBAAiB,CACxB,QAAoD,EACpD,KAAa;IAEb,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAC9C,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/C,IAAI,cAAc,CAAC,UAAU,CAAC,KAAK,eAAe,EAAE,CAAC;YACnD,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAQD,SAAS,cAAc,CAAC,EACtB,OAAO,EACP,QAAQ,EACR,aAAa,EACb,aAAa,EACb,OAAO,EACP,iBAAiB,EACjB,iBAAiB,GASlB;IACC,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,MAAM,aAAa,GAAG,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/D,OAAO,qBAAqB,CAAC;YAC3B,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC;YAChC,aAAa,EAAE,iBAAiB;YAChC,aAAa,EAAE,iBAAiB;YAChC,UAAU,EAAE,aAAa;SAC1B,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,OAAO,qBAAqB,CAAC;YAC3B,OAAO;YACP,aAAa;YACb,aAAa;YACb,UAAU,EAAE,OAAO;SACpB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,EAC7B,OAAO,EACP,aAAa,EACb,aAAa,EACb,UAAU,GAMX;IACC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC;IAC/C,CAAC;SAAM,IAAI,YAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,MAAM,mBAAmB,GACvB,aAAa,GAAG,gBAAgB,CAAC,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACvE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;IACxD,CAAC;SAAM,IAAI,YAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,uLAAuL;QACvL,+DAA+D;QAC/D,yFAAyF;QACzF,MAAM,WAAW,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QACtD,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,YAAgC,CAAC;QACrC,IAAI,mBAAuC,CAAC;QAE5C,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACxC,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC;QAC/C,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;gBACnB,IAAI,KAAK,EAAE,CAAC;oBACV,8DAA8D;oBAC9D,OAAO,EAAE,UAAU,EAAE,yBAAyB,EAAE,CAAC;gBACnD,CAAC;gBACD,KAAK,GAAG,IAAI,CAAC;gBAEb,YAAY,GAAG,OAAO,CAAC,GAAG,CAAW,CAAC;gBACtC,mBAAmB;oBACjB,aAAa;wBACb,cAAc,CAAC,aAAa,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC;AAC/C,CAAC;AAED,SAAS,iBAAiB,CAAC,EACzB,UAAU,EACV,QAAQ,EACR,aAAa,EACb,aAAa,EACb,OAAO,EACP,iBAAiB,EACjB,iBAAiB,GAYlB;IACC,IAAI,YAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO;gBACL,OAAO;gBACP,UAAU,EAAE,qBAAqB;aAClC,CAAC;QACJ,CAAC;QACD,OAAO;YACL,OAAO,EAAE,GAAG,KAAK,IAAI,IAAI,EAAE;YAC3B,YAAY;YACZ,WAAW,EAAE;gBACX,mBAAmB,EACjB,aAAa,GAAG,cAAc,CAAC,aAAa,EAAE,OAAO,EAAE,YAAY,CAAC;aACvE;SACF,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,YAAY,EAAE,mBAAmB,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC;QACvE,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,QAAQ;QACR,aAAa;QACb,aAAa;QACb,OAAO;QACP,iBAAiB;QACjB,iBAAiB;KAClB,CAAC,CAAC;IAEH,IAAI,UAAU,EAAE,CAAC;QACf,OAAO;YACL,OAAO;YACP,UAAU;SACX,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAyC;QACvD,YAAY;QACZ,WAAW,EAAE,EAAE,mBAAmB,EAAE;KACrC,CAAC;IAEF,IAAI,oBAAoB,CAAC,UAAU,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;QACnC,UAAU,CAAC,OAAO,GAAG,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC;IAC1C,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1D,UAAU,CAAC,OAAO,GAAG,GAAG,YAAY,IAAI,IAAI,EAAE,CAAC;IACjD,CAAC;IAED,IAAI,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,UAAU,CAAC,kBAAkB,GAAG,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAgB,YAAY,CAC1B,WAAmB,EACnB,OAAe;IAEf,MAAM,WAAW,GAAG,IAAA,YAAS,EAAC,IAAA,cAAO,EAAC,OAAO,CAAC,CAAkB,CAAC;IACjE,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC5C,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,IAAI,EAAE,CAAC;IACzC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACnD,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACnD,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC3D,MAAM,aAAa,GAA2C,EAAE,CAAC;IACjE,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,iBAAiB,CAAC;YACnC,UAAU,EAAE,aAAa;YACzB,QAAQ;YACR,aAAa,EAAE,aAAa;YAC5B,aAAa,EAAE,aAAa;YAC5B,OAAO,EAAE,WAAW;YACpB,iBAAiB;YACjB,iBAAiB;SAClB,CAAC,CAAC;QACH,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC;IAC1C,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC3D,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7C,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,YAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC;YACpD,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC;YAC7B,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,EAAE,YAAY,EAAE,mBAAmB,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC;YACvE,OAAO;YACP,QAAQ;YACR,aAAa,EAAE,iBAAiB;YAChC,aAAa,EAAE,iBAAiB;YAChC,OAAO;YACP,iBAAiB;YACjB,iBAAiB;SAClB,CAAC,CAAC;QAEH,MAAM,UAAU,GAAyC;YACvD,OAAO,EAAE,QAAQ;YACjB,OAAO;YACP,WAAW,EAAE,GAAG,OAAO,IAAI,OAAO,gBAAgB;YAClD,YAAY;YACZ,kBAAkB,EAAE,UAAU,UAAU,EAAE;YAC1C,WAAW,EAAE,EAAE,mBAAmB,EAAE;SACrC,CAAC;QACF,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC;QACrC,CAAC;QACD,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,kBAAkB,EAAE,CAAC;YAC/D,UAAU,CAAC,kBAAkB,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC5D,OAAO,UAAU,CAAC,kBAAkB,CAAC;QACvC,CAAC;QAED,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACrC,OAAO,IAAA,mBAAS,EAAC,GAAG,EAAE,EAAE,WAAW,EAAE,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport deepmerge from 'deepmerge';\nimport type { SkipReason } from '../../../../types';\nimport { hasKey } from '../../../../util/object';\nimport { escapeRegExp, regEx } from '../../../../util/regex';\nimport { massage, parse as parseToml } from '../../../../util/toml';\nimport type { PackageDependency } from '../../types';\nimport type {\n GradleCatalog,\n GradleCatalogArtifactDescriptor,\n GradleCatalogModuleDescriptor,\n GradleManagerData,\n GradleVersionCatalogVersion,\n GradleVersionPointerTarget,\n VersionPointer,\n} from '../types';\n\nfunction findVersionIndex(\n content: string,\n depName: string,\n version: string,\n): number {\n const eDn = escapeRegExp(depName);\n const eVer = escapeRegExp(version);\n const re = regEx(\n `(?:id\\\\s*=\\\\s*)?['\"]?${eDn}[\"']?(?:(?:\\\\s*=\\\\s*)|:|,\\\\s*)(?:.*version(?:\\\\.ref)?(?:\\\\s*\\\\=\\\\s*))?[\"']?${eVer}['\"]?`,\n );\n const match = re.exec(content);\n if (match) {\n return match.index + content.slice(match.index).indexOf(version);\n }\n // ignoring Fallback because I can't reach it in tests, and code is not supposed to reach it but just in case.\n /* istanbul ignore next */\n return findIndexAfter(content, depName, version);\n}\n\nfunction findIndexAfter(\n content: string,\n sliceAfter: string,\n find: string,\n): number {\n const slicePoint = content.indexOf(sliceAfter) + sliceAfter.length;\n return slicePoint + content.slice(slicePoint).indexOf(find);\n}\n\nfunction isArtifactDescriptor(\n obj: GradleCatalogArtifactDescriptor | GradleCatalogModuleDescriptor,\n): obj is GradleCatalogArtifactDescriptor {\n return hasKey('group', obj);\n}\n\nfunction isVersionPointer(\n obj: GradleVersionCatalogVersion | undefined,\n): obj is VersionPointer {\n return hasKey('ref', obj);\n}\n\nfunction normalizeAlias(alias: string): string {\n return alias.replace(regEx(/[-_]/g), '.');\n}\n\nfunction findOriginalAlias(\n versions: Record<string, GradleVersionPointerTarget>,\n alias: string,\n): string {\n const normalizedAlias = normalizeAlias(alias);\n for (const sectionKey of Object.keys(versions)) {\n if (normalizeAlias(sectionKey) === normalizedAlias) {\n return sectionKey;\n }\n }\n\n return alias;\n}\n\ninterface VersionExtract {\n currentValue?: string;\n fileReplacePosition?: number;\n skipReason?: SkipReason;\n}\n\nfunction extractVersion({\n version,\n versions,\n depStartIndex,\n depSubContent,\n depName,\n versionStartIndex,\n versionSubContent,\n}: {\n version: GradleVersionCatalogVersion | undefined;\n versions: Record<string, GradleVersionPointerTarget>;\n depStartIndex: number;\n depSubContent: string;\n depName: string;\n versionStartIndex: number;\n versionSubContent: string;\n}): VersionExtract {\n if (isVersionPointer(version)) {\n const originalAlias = findOriginalAlias(versions, version.ref);\n return extractLiteralVersion({\n version: versions[originalAlias],\n depStartIndex: versionStartIndex,\n depSubContent: versionSubContent,\n sectionKey: originalAlias,\n });\n } else {\n return extractLiteralVersion({\n version,\n depStartIndex,\n depSubContent,\n sectionKey: depName,\n });\n }\n}\n\nfunction extractLiteralVersion({\n version,\n depStartIndex,\n depSubContent,\n sectionKey,\n}: {\n version: GradleVersionPointerTarget | undefined;\n depStartIndex: number;\n depSubContent: string;\n sectionKey: string;\n}): VersionExtract {\n if (!version) {\n return { skipReason: 'unspecified-version' };\n } else if (is.string(version)) {\n const fileReplacePosition =\n depStartIndex + findVersionIndex(depSubContent, sectionKey, version);\n return { currentValue: version, fileReplacePosition };\n } else if (is.plainObject(version)) {\n // https://github.com/gradle/gradle/blob/d9adf33a57925582988fc512002dcc0e8ce4db95/subprojects/core/src/main/java/org/gradle/api/internal/catalog/parser/TomlCatalogFileParser.java#L368\n // https://docs.gradle.org/current/userguide/rich_versions.html\n // https://docs.gradle.org/current/userguide/platforms.html#sub::toml-dependencies-format\n const versionKeys = ['require', 'prefer', 'strictly'];\n let found = false;\n let currentValue: string | undefined;\n let fileReplacePosition: number | undefined;\n\n if (version.reject || version.rejectAll) {\n return { skipReason: 'unsupported-version' };\n }\n\n for (const key of versionKeys) {\n if (key in version) {\n if (found) {\n // Currently, we only support one version constraint at a time\n return { skipReason: 'multiple-constraint-dep' };\n }\n found = true;\n\n currentValue = version[key] as string;\n fileReplacePosition =\n depStartIndex +\n findIndexAfter(depSubContent, sectionKey, currentValue);\n }\n }\n\n if (found) {\n return { currentValue, fileReplacePosition };\n }\n }\n\n return { skipReason: 'unspecified-version' };\n}\n\nfunction extractDependency({\n descriptor,\n versions,\n depStartIndex,\n depSubContent,\n depName,\n versionStartIndex,\n versionSubContent,\n}: {\n descriptor:\n | string\n | GradleCatalogModuleDescriptor\n | GradleCatalogArtifactDescriptor;\n versions: Record<string, GradleVersionPointerTarget>;\n depStartIndex: number;\n depSubContent: string;\n depName: string;\n versionStartIndex: number;\n versionSubContent: string;\n}): PackageDependency<GradleManagerData> {\n if (is.string(descriptor)) {\n const [group, name, currentValue] = descriptor.split(':');\n if (!currentValue) {\n return {\n depName,\n skipReason: 'unspecified-version',\n };\n }\n return {\n depName: `${group}:${name}`,\n currentValue,\n managerData: {\n fileReplacePosition:\n depStartIndex + findIndexAfter(depSubContent, depName, currentValue),\n },\n };\n }\n\n const { currentValue, fileReplacePosition, skipReason } = extractVersion({\n version: descriptor.version,\n versions,\n depStartIndex,\n depSubContent,\n depName,\n versionStartIndex,\n versionSubContent,\n });\n\n if (skipReason) {\n return {\n depName,\n skipReason,\n };\n }\n\n const dependency: PackageDependency<GradleManagerData> = {\n currentValue,\n managerData: { fileReplacePosition },\n };\n\n if (isArtifactDescriptor(descriptor)) {\n const { group, name } = descriptor;\n dependency.depName = `${group}:${name}`;\n } else {\n const [depGroupName, name] = descriptor.module.split(':');\n dependency.depName = `${depGroupName}:${name}`;\n }\n\n if (isVersionPointer(descriptor.version)) {\n dependency.sharedVariableName = normalizeAlias(descriptor.version.ref);\n }\n\n return dependency;\n}\n\nexport function parseCatalog(\n packageFile: string,\n content: string,\n): PackageDependency<GradleManagerData>[] {\n const tomlContent = parseToml(massage(content)) as GradleCatalog;\n const versions = tomlContent.versions ?? {};\n const libs = tomlContent.libraries ?? {};\n const libStartIndex = content.indexOf('libraries');\n const libSubContent = content.slice(libStartIndex);\n const versionStartIndex = content.indexOf('versions');\n const versionSubContent = content.slice(versionStartIndex);\n const extractedDeps: PackageDependency<GradleManagerData>[] = [];\n for (const libraryName of Object.keys(libs)) {\n const libDescriptor = libs[libraryName];\n const dependency = extractDependency({\n descriptor: libDescriptor,\n versions,\n depStartIndex: libStartIndex,\n depSubContent: libSubContent,\n depName: libraryName,\n versionStartIndex,\n versionSubContent,\n });\n extractedDeps.push(dependency);\n }\n\n const plugins = tomlContent.plugins ?? {};\n const pluginsStartIndex = content.indexOf('[plugins]');\n const pluginsSubContent = content.slice(pluginsStartIndex);\n for (const pluginName of Object.keys(plugins)) {\n const pluginDescriptor = plugins[pluginName];\n const [depName, version] = is.string(pluginDescriptor)\n ? pluginDescriptor.split(':')\n : [pluginDescriptor.id, pluginDescriptor.version];\n const { currentValue, fileReplacePosition, skipReason } = extractVersion({\n version,\n versions,\n depStartIndex: pluginsStartIndex,\n depSubContent: pluginsSubContent,\n depName,\n versionStartIndex,\n versionSubContent,\n });\n\n const dependency: PackageDependency<GradleManagerData> = {\n depType: 'plugin',\n depName,\n packageName: `${depName}:${depName}.gradle.plugin`,\n currentValue,\n commitMessageTopic: `plugin ${pluginName}`,\n managerData: { fileReplacePosition },\n };\n if (skipReason) {\n dependency.skipReason = skipReason;\n }\n if (isVersionPointer(version) && dependency.commitMessageTopic) {\n dependency.sharedVariableName = normalizeAlias(version.ref);\n delete dependency.commitMessageTopic;\n }\n\n extractedDeps.push(dependency);\n }\n\n const deps = extractedDeps.map((dep) => {\n return deepmerge(dep, { managerData: { packageFile } });\n });\n return deps;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/gradle/extract/catalog.ts"],"names":[],"mappings":"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","sourcesContent":["import { isPlainObject, isString } from '@sindresorhus/is';\nimport deepmerge from 'deepmerge';\nimport type { SkipReason } from '../../../../types';\nimport { hasKey } from '../../../../util/object';\nimport { escapeRegExp, regEx } from '../../../../util/regex';\nimport { massage, parse as parseToml } from '../../../../util/toml';\nimport type { PackageDependency } from '../../types';\nimport type {\n GradleCatalog,\n GradleCatalogArtifactDescriptor,\n GradleCatalogModuleDescriptor,\n GradleManagerData,\n GradleVersionCatalogVersion,\n GradleVersionPointerTarget,\n VersionPointer,\n} from '../types';\n\nfunction findVersionIndex(\n content: string,\n depName: string,\n version: string,\n): number {\n const eDn = escapeRegExp(depName);\n const eVer = escapeRegExp(version);\n const re = regEx(\n `(?:id\\\\s*=\\\\s*)?['\"]?${eDn}[\"']?(?:(?:\\\\s*=\\\\s*)|:|,\\\\s*)(?:.*version(?:\\\\.ref)?(?:\\\\s*\\\\=\\\\s*))?[\"']?${eVer}['\"]?`,\n );\n const match = re.exec(content);\n if (match) {\n return match.index + content.slice(match.index).indexOf(version);\n }\n // ignoring Fallback because I can't reach it in tests, and code is not supposed to reach it but just in case.\n /* istanbul ignore next */\n return findIndexAfter(content, depName, version);\n}\n\nfunction findIndexAfter(\n content: string,\n sliceAfter: string,\n find: string,\n): number {\n const slicePoint = content.indexOf(sliceAfter) + sliceAfter.length;\n return slicePoint + content.slice(slicePoint).indexOf(find);\n}\n\nfunction isArtifactDescriptor(\n obj: GradleCatalogArtifactDescriptor | GradleCatalogModuleDescriptor,\n): obj is GradleCatalogArtifactDescriptor {\n return hasKey('group', obj);\n}\n\nfunction isVersionPointer(\n obj: GradleVersionCatalogVersion | undefined,\n): obj is VersionPointer {\n return hasKey('ref', obj);\n}\n\nfunction normalizeAlias(alias: string): string {\n return alias.replace(regEx(/[-_]/g), '.');\n}\n\nfunction findOriginalAlias(\n versions: Record<string, GradleVersionPointerTarget>,\n alias: string,\n): string {\n const normalizedAlias = normalizeAlias(alias);\n for (const sectionKey of Object.keys(versions)) {\n if (normalizeAlias(sectionKey) === normalizedAlias) {\n return sectionKey;\n }\n }\n\n return alias;\n}\n\ninterface VersionExtract {\n currentValue?: string;\n fileReplacePosition?: number;\n skipReason?: SkipReason;\n}\n\nfunction extractVersion({\n version,\n versions,\n depStartIndex,\n depSubContent,\n depName,\n versionStartIndex,\n versionSubContent,\n}: {\n version: GradleVersionCatalogVersion | undefined;\n versions: Record<string, GradleVersionPointerTarget>;\n depStartIndex: number;\n depSubContent: string;\n depName: string;\n versionStartIndex: number;\n versionSubContent: string;\n}): VersionExtract {\n if (isVersionPointer(version)) {\n const originalAlias = findOriginalAlias(versions, version.ref);\n return extractLiteralVersion({\n version: versions[originalAlias],\n depStartIndex: versionStartIndex,\n depSubContent: versionSubContent,\n sectionKey: originalAlias,\n });\n } else {\n return extractLiteralVersion({\n version,\n depStartIndex,\n depSubContent,\n sectionKey: depName,\n });\n }\n}\n\nfunction extractLiteralVersion({\n version,\n depStartIndex,\n depSubContent,\n sectionKey,\n}: {\n version: GradleVersionPointerTarget | undefined;\n depStartIndex: number;\n depSubContent: string;\n sectionKey: string;\n}): VersionExtract {\n if (!version) {\n return { skipReason: 'unspecified-version' };\n } else if (isString(version)) {\n const fileReplacePosition =\n depStartIndex + findVersionIndex(depSubContent, sectionKey, version);\n return { currentValue: version, fileReplacePosition };\n } else if (isPlainObject(version)) {\n // https://github.com/gradle/gradle/blob/d9adf33a57925582988fc512002dcc0e8ce4db95/subprojects/core/src/main/java/org/gradle/api/internal/catalog/parser/TomlCatalogFileParser.java#L368\n // https://docs.gradle.org/current/userguide/rich_versions.html\n // https://docs.gradle.org/current/userguide/platforms.html#sub::toml-dependencies-format\n const versionKeys = ['require', 'prefer', 'strictly'];\n let found = false;\n let currentValue: string | undefined;\n let fileReplacePosition: number | undefined;\n\n if (version.reject || version.rejectAll) {\n return { skipReason: 'unsupported-version' };\n }\n\n for (const key of versionKeys) {\n if (key in version) {\n if (found) {\n // Currently, we only support one version constraint at a time\n return { skipReason: 'multiple-constraint-dep' };\n }\n found = true;\n\n currentValue = version[key] as string;\n fileReplacePosition =\n depStartIndex +\n findIndexAfter(depSubContent, sectionKey, currentValue);\n }\n }\n\n if (found) {\n return { currentValue, fileReplacePosition };\n }\n }\n\n return { skipReason: 'unspecified-version' };\n}\n\nfunction extractDependency({\n descriptor,\n versions,\n depStartIndex,\n depSubContent,\n depName,\n versionStartIndex,\n versionSubContent,\n}: {\n descriptor:\n | string\n | GradleCatalogModuleDescriptor\n | GradleCatalogArtifactDescriptor;\n versions: Record<string, GradleVersionPointerTarget>;\n depStartIndex: number;\n depSubContent: string;\n depName: string;\n versionStartIndex: number;\n versionSubContent: string;\n}): PackageDependency<GradleManagerData> {\n if (isString(descriptor)) {\n const [group, name, currentValue] = descriptor.split(':');\n if (!currentValue) {\n return {\n depName,\n skipReason: 'unspecified-version',\n };\n }\n return {\n depName: `${group}:${name}`,\n currentValue,\n managerData: {\n fileReplacePosition:\n depStartIndex + findIndexAfter(depSubContent, depName, currentValue),\n },\n };\n }\n\n const { currentValue, fileReplacePosition, skipReason } = extractVersion({\n version: descriptor.version,\n versions,\n depStartIndex,\n depSubContent,\n depName,\n versionStartIndex,\n versionSubContent,\n });\n\n if (skipReason) {\n return {\n depName,\n skipReason,\n };\n }\n\n const dependency: PackageDependency<GradleManagerData> = {\n currentValue,\n managerData: { fileReplacePosition },\n };\n\n if (isArtifactDescriptor(descriptor)) {\n const { group, name } = descriptor;\n dependency.depName = `${group}:${name}`;\n } else {\n const [depGroupName, name] = descriptor.module.split(':');\n dependency.depName = `${depGroupName}:${name}`;\n }\n\n if (isVersionPointer(descriptor.version)) {\n dependency.sharedVariableName = normalizeAlias(descriptor.version.ref);\n }\n\n return dependency;\n}\n\nexport function parseCatalog(\n packageFile: string,\n content: string,\n): PackageDependency<GradleManagerData>[] {\n const tomlContent = parseToml(massage(content)) as GradleCatalog;\n const versions = tomlContent.versions ?? {};\n const libs = tomlContent.libraries ?? {};\n const libStartIndex = content.indexOf('libraries');\n const libSubContent = content.slice(libStartIndex);\n const versionStartIndex = content.indexOf('versions');\n const versionSubContent = content.slice(versionStartIndex);\n const extractedDeps: PackageDependency<GradleManagerData>[] = [];\n for (const libraryName of Object.keys(libs)) {\n const libDescriptor = libs[libraryName];\n const dependency = extractDependency({\n descriptor: libDescriptor,\n versions,\n depStartIndex: libStartIndex,\n depSubContent: libSubContent,\n depName: libraryName,\n versionStartIndex,\n versionSubContent,\n });\n extractedDeps.push(dependency);\n }\n\n const plugins = tomlContent.plugins ?? {};\n const pluginsStartIndex = content.indexOf('[plugins]');\n const pluginsSubContent = content.slice(pluginsStartIndex);\n for (const pluginName of Object.keys(plugins)) {\n const pluginDescriptor = plugins[pluginName];\n const [depName, version] = isString(pluginDescriptor)\n ? pluginDescriptor.split(':')\n : [pluginDescriptor.id, pluginDescriptor.version];\n const { currentValue, fileReplacePosition, skipReason } = extractVersion({\n version,\n versions,\n depStartIndex: pluginsStartIndex,\n depSubContent: pluginsSubContent,\n depName,\n versionStartIndex,\n versionSubContent,\n });\n\n const dependency: PackageDependency<GradleManagerData> = {\n depType: 'plugin',\n depName,\n packageName: `${depName}:${depName}.gradle.plugin`,\n currentValue,\n commitMessageTopic: `plugin ${pluginName}`,\n managerData: { fileReplacePosition },\n };\n if (skipReason) {\n dependency.skipReason = skipReason;\n }\n if (isVersionPointer(version) && dependency.commitMessageTopic) {\n dependency.sharedVariableName = normalizeAlias(version.ref);\n delete dependency.commitMessageTopic;\n }\n\n extractedDeps.push(dependency);\n }\n\n const deps = extractedDeps.map((dep) => {\n return deepmerge(dep, { managerData: { packageFile } });\n });\n return deps;\n}\n"]}
|
|
@@ -4,7 +4,7 @@ exports.updateBuildFile = updateBuildFile;
|
|
|
4
4
|
exports.updateLockFiles = updateLockFiles;
|
|
5
5
|
exports.updateArtifacts = updateArtifacts;
|
|
6
6
|
const tslib_1 = require("tslib");
|
|
7
|
-
const is_1 =
|
|
7
|
+
const is_1 = require("@sindresorhus/is");
|
|
8
8
|
const good_enough_parser_1 = require("good-enough-parser");
|
|
9
9
|
const shlex_1 = require("shlex");
|
|
10
10
|
const upath_1 = tslib_1.__importDefault(require("upath"));
|
|
@@ -151,7 +151,7 @@ async function updateArtifacts({ packageFileName, newPackageFileContent, updated
|
|
|
151
151
|
buildFileName,
|
|
152
152
|
...['gradle/wrapper/gradle-wrapper.jar', 'gradlew', 'gradlew.bat'].map((filename) => upath_1.default.join(localGradleDir, filename)),
|
|
153
153
|
];
|
|
154
|
-
const updateArtifactsResult = (await Promise.all(artifactFileNames.map((fileProjectPath) => addIfUpdated(status, fileProjectPath)))).filter(is_1.
|
|
154
|
+
const updateArtifactsResult = (await Promise.all(artifactFileNames.map((fileProjectPath) => addIfUpdated(status, fileProjectPath)))).filter(is_1.isTruthy);
|
|
155
155
|
if (lockFiles) {
|
|
156
156
|
updateArtifactsResult.push(...lockFiles);
|
|
157
157
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/gradle-wrapper/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { lang, query as q } from 'good-enough-parser';\nimport { quote } from 'shlex';\nimport upath from 'upath';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions } from '../../../util/exec/types';\nimport {\n localPathExists,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\nimport { getRepoStatus } from '../../../util/git';\nimport type { StatusResult } from '../../../util/git/types';\nimport { Http } from '../../../util/http';\nimport { newlineRegex } from '../../../util/regex';\nimport { replaceAt } from '../../../util/string';\nimport { updateArtifacts as gradleUpdateArtifacts } from '../gradle';\nimport type {\n UpdateArtifact,\n UpdateArtifactsConfig,\n UpdateArtifactsResult,\n} from '../types';\nimport {\n extraEnv,\n getJavaConstraint,\n gradleWrapperFileName,\n prepareGradleCommand,\n} from './utils';\n\nconst http = new Http('gradle-wrapper');\nconst groovy = lang.createLang('groovy');\n\ntype Ctx = string[];\n\nasync function addIfUpdated(\n status: StatusResult,\n fileProjectPath: string,\n): Promise<UpdateArtifactsResult | null> {\n if (status.modified.includes(fileProjectPath)) {\n return {\n file: {\n type: 'addition',\n path: fileProjectPath,\n contents: await readLocalFile(fileProjectPath),\n },\n };\n }\n return null;\n}\n\nfunction getDistributionUrl(newPackageFileContent: string): string | null {\n const distributionUrlLine = newPackageFileContent\n .split(newlineRegex)\n .find((line) => line.startsWith('distributionUrl='));\n if (distributionUrlLine) {\n return distributionUrlLine\n .replace('distributionUrl=', '')\n .replace('https\\\\:', 'https:');\n }\n return null;\n}\n\nasync function getDistributionChecksum(url: string): Promise<string> {\n const { body } = await http.getText(`${url}.sha256`);\n return body;\n}\n\nexport async function updateBuildFile(\n localGradleDir: string,\n wrapperProperties: Record<string, string | undefined | null>,\n): Promise<string> {\n let buildFileName = upath.join(localGradleDir, 'build.gradle');\n if (!(await localPathExists(buildFileName))) {\n buildFileName = upath.join(localGradleDir, 'build.gradle.kts');\n }\n\n const buildFileContent = await readLocalFile(buildFileName, 'utf8');\n if (!buildFileContent) {\n logger.debug('build.gradle or build.gradle.kts not found');\n return buildFileName;\n }\n\n let buildFileUpdated = buildFileContent;\n for (const [propertyName, newValue] of Object.entries(wrapperProperties)) {\n if (!newValue) {\n continue;\n }\n\n const query = q.tree({\n type: 'wrapped-tree',\n maxDepth: 1,\n search: q\n .sym<Ctx>(propertyName)\n .op('=')\n .str((ctx, { value, offset }) => {\n buildFileUpdated = replaceAt(\n buildFileUpdated,\n offset,\n value,\n newValue,\n );\n return ctx;\n }),\n });\n groovy.query(buildFileUpdated, query, []);\n }\n\n await writeLocalFile(buildFileName, buildFileUpdated);\n\n return buildFileName;\n}\n\nexport async function updateLockFiles(\n buildFileName: string,\n config: UpdateArtifactsConfig,\n): Promise<UpdateArtifactsResult[] | null> {\n const buildFileContent = await readLocalFile(buildFileName, 'utf8');\n if (!buildFileContent) {\n logger.debug('build.gradle or build.gradle.kts not found');\n return null;\n }\n\n return await gradleUpdateArtifacts({\n packageFileName: buildFileName,\n updatedDeps: [],\n newPackageFileContent: buildFileContent,\n config,\n });\n}\n\nexport async function updateArtifacts({\n packageFileName,\n newPackageFileContent,\n updatedDeps,\n config,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n try {\n logger.debug({ updatedDeps }, 'gradle-wrapper.updateArtifacts()');\n const localGradleDir = upath.join(upath.dirname(packageFileName), '../../');\n const gradlewFile = upath.join(localGradleDir, gradleWrapperFileName());\n\n let cmd = await prepareGradleCommand(gradlewFile);\n if (!cmd) {\n logger.info('No gradlew found - skipping Artifacts update');\n return null;\n }\n cmd += ' :wrapper';\n\n let checksum: string | null = null;\n const distributionUrl = getDistributionUrl(newPackageFileContent);\n if (distributionUrl) {\n cmd += ` --gradle-distribution-url ${distributionUrl}`;\n if (newPackageFileContent.includes('distributionSha256Sum=')) {\n //update checksum in case of distributionSha256Sum in properties then run wrapper\n checksum = await getDistributionChecksum(distributionUrl);\n await writeLocalFile(\n packageFileName,\n newPackageFileContent.replace(\n /distributionSha256Sum=.*/,\n `distributionSha256Sum=${checksum}`,\n ),\n );\n cmd += ` --gradle-distribution-sha256-sum ${quote(checksum)}`;\n }\n } else {\n cmd += ` --gradle-version ${quote(config.newValue!)}`;\n }\n logger.debug(`Updating gradle wrapper: \"${cmd}\"`);\n const execOptions: ExecOptions = {\n cwdFile: gradlewFile,\n docker: {},\n extraEnv,\n toolConstraints: [\n {\n toolName: 'java',\n constraint:\n config.constraints?.java ??\n (await getJavaConstraint(config.currentValue, gradlewFile)),\n },\n ],\n };\n try {\n await exec(cmd, execOptions);\n } catch (err) {\n // istanbul ignore if\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.warn(\n { err },\n 'Error executing gradle wrapper update command. It can be not a critical one though.',\n );\n }\n\n const buildFileName = await updateBuildFile(localGradleDir, {\n gradleVersion: config.newValue,\n distributionSha256Sum: checksum,\n distributionUrl,\n });\n const lockFiles = await updateLockFiles(buildFileName, config);\n\n const status = await getRepoStatus();\n const artifactFileNames = [\n packageFileName,\n buildFileName,\n ...['gradle/wrapper/gradle-wrapper.jar', 'gradlew', 'gradlew.bat'].map(\n (filename) => upath.join(localGradleDir, filename),\n ),\n ];\n const updateArtifactsResult = (\n await Promise.all(\n artifactFileNames.map((fileProjectPath) =>\n addIfUpdated(status, fileProjectPath),\n ),\n )\n ).filter(is.truthy);\n if (lockFiles) {\n updateArtifactsResult.push(...lockFiles);\n }\n\n logger.debug(\n { files: updateArtifactsResult.map((r) => r.file?.path) },\n `Returning updated gradle-wrapper files`,\n );\n return updateArtifactsResult;\n } catch (err) {\n logger.debug({ err }, 'Error setting new Gradle Wrapper release value');\n return [\n {\n artifactError: {\n lockFile: packageFileName,\n stderr: err.message,\n },\n },\n ];\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/gradle-wrapper/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import { isTruthy } from '@sindresorhus/is';\nimport { lang, query as q } from 'good-enough-parser';\nimport { quote } from 'shlex';\nimport upath from 'upath';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions } from '../../../util/exec/types';\nimport {\n localPathExists,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\nimport { getRepoStatus } from '../../../util/git';\nimport type { StatusResult } from '../../../util/git/types';\nimport { Http } from '../../../util/http';\nimport { newlineRegex } from '../../../util/regex';\nimport { replaceAt } from '../../../util/string';\nimport { updateArtifacts as gradleUpdateArtifacts } from '../gradle';\nimport type {\n UpdateArtifact,\n UpdateArtifactsConfig,\n UpdateArtifactsResult,\n} from '../types';\nimport {\n extraEnv,\n getJavaConstraint,\n gradleWrapperFileName,\n prepareGradleCommand,\n} from './utils';\n\nconst http = new Http('gradle-wrapper');\nconst groovy = lang.createLang('groovy');\n\ntype Ctx = string[];\n\nasync function addIfUpdated(\n status: StatusResult,\n fileProjectPath: string,\n): Promise<UpdateArtifactsResult | null> {\n if (status.modified.includes(fileProjectPath)) {\n return {\n file: {\n type: 'addition',\n path: fileProjectPath,\n contents: await readLocalFile(fileProjectPath),\n },\n };\n }\n return null;\n}\n\nfunction getDistributionUrl(newPackageFileContent: string): string | null {\n const distributionUrlLine = newPackageFileContent\n .split(newlineRegex)\n .find((line) => line.startsWith('distributionUrl='));\n if (distributionUrlLine) {\n return distributionUrlLine\n .replace('distributionUrl=', '')\n .replace('https\\\\:', 'https:');\n }\n return null;\n}\n\nasync function getDistributionChecksum(url: string): Promise<string> {\n const { body } = await http.getText(`${url}.sha256`);\n return body;\n}\n\nexport async function updateBuildFile(\n localGradleDir: string,\n wrapperProperties: Record<string, string | undefined | null>,\n): Promise<string> {\n let buildFileName = upath.join(localGradleDir, 'build.gradle');\n if (!(await localPathExists(buildFileName))) {\n buildFileName = upath.join(localGradleDir, 'build.gradle.kts');\n }\n\n const buildFileContent = await readLocalFile(buildFileName, 'utf8');\n if (!buildFileContent) {\n logger.debug('build.gradle or build.gradle.kts not found');\n return buildFileName;\n }\n\n let buildFileUpdated = buildFileContent;\n for (const [propertyName, newValue] of Object.entries(wrapperProperties)) {\n if (!newValue) {\n continue;\n }\n\n const query = q.tree({\n type: 'wrapped-tree',\n maxDepth: 1,\n search: q\n .sym<Ctx>(propertyName)\n .op('=')\n .str((ctx, { value, offset }) => {\n buildFileUpdated = replaceAt(\n buildFileUpdated,\n offset,\n value,\n newValue,\n );\n return ctx;\n }),\n });\n groovy.query(buildFileUpdated, query, []);\n }\n\n await writeLocalFile(buildFileName, buildFileUpdated);\n\n return buildFileName;\n}\n\nexport async function updateLockFiles(\n buildFileName: string,\n config: UpdateArtifactsConfig,\n): Promise<UpdateArtifactsResult[] | null> {\n const buildFileContent = await readLocalFile(buildFileName, 'utf8');\n if (!buildFileContent) {\n logger.debug('build.gradle or build.gradle.kts not found');\n return null;\n }\n\n return await gradleUpdateArtifacts({\n packageFileName: buildFileName,\n updatedDeps: [],\n newPackageFileContent: buildFileContent,\n config,\n });\n}\n\nexport async function updateArtifacts({\n packageFileName,\n newPackageFileContent,\n updatedDeps,\n config,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n try {\n logger.debug({ updatedDeps }, 'gradle-wrapper.updateArtifacts()');\n const localGradleDir = upath.join(upath.dirname(packageFileName), '../../');\n const gradlewFile = upath.join(localGradleDir, gradleWrapperFileName());\n\n let cmd = await prepareGradleCommand(gradlewFile);\n if (!cmd) {\n logger.info('No gradlew found - skipping Artifacts update');\n return null;\n }\n cmd += ' :wrapper';\n\n let checksum: string | null = null;\n const distributionUrl = getDistributionUrl(newPackageFileContent);\n if (distributionUrl) {\n cmd += ` --gradle-distribution-url ${distributionUrl}`;\n if (newPackageFileContent.includes('distributionSha256Sum=')) {\n //update checksum in case of distributionSha256Sum in properties then run wrapper\n checksum = await getDistributionChecksum(distributionUrl);\n await writeLocalFile(\n packageFileName,\n newPackageFileContent.replace(\n /distributionSha256Sum=.*/,\n `distributionSha256Sum=${checksum}`,\n ),\n );\n cmd += ` --gradle-distribution-sha256-sum ${quote(checksum)}`;\n }\n } else {\n cmd += ` --gradle-version ${quote(config.newValue!)}`;\n }\n logger.debug(`Updating gradle wrapper: \"${cmd}\"`);\n const execOptions: ExecOptions = {\n cwdFile: gradlewFile,\n docker: {},\n extraEnv,\n toolConstraints: [\n {\n toolName: 'java',\n constraint:\n config.constraints?.java ??\n (await getJavaConstraint(config.currentValue, gradlewFile)),\n },\n ],\n };\n try {\n await exec(cmd, execOptions);\n } catch (err) {\n // istanbul ignore if\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.warn(\n { err },\n 'Error executing gradle wrapper update command. It can be not a critical one though.',\n );\n }\n\n const buildFileName = await updateBuildFile(localGradleDir, {\n gradleVersion: config.newValue,\n distributionSha256Sum: checksum,\n distributionUrl,\n });\n const lockFiles = await updateLockFiles(buildFileName, config);\n\n const status = await getRepoStatus();\n const artifactFileNames = [\n packageFileName,\n buildFileName,\n ...['gradle/wrapper/gradle-wrapper.jar', 'gradlew', 'gradlew.bat'].map(\n (filename) => upath.join(localGradleDir, filename),\n ),\n ];\n const updateArtifactsResult = (\n await Promise.all(\n artifactFileNames.map((fileProjectPath) =>\n addIfUpdated(status, fileProjectPath),\n ),\n )\n ).filter(isTruthy);\n if (lockFiles) {\n updateArtifactsResult.push(...lockFiles);\n }\n\n logger.debug(\n { files: updateArtifactsResult.map((r) => r.file?.path) },\n `Returning updated gradle-wrapper files`,\n );\n return updateArtifactsResult;\n } catch (err) {\n logger.debug({ err }, 'Error setting new Gradle Wrapper release value');\n return [\n {\n artifactError: {\n lockFile: packageFileName,\n stderr: err.message,\n },\n },\n ];\n }\n}\n"]}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.extractPackageFile = extractPackageFile;
|
|
4
|
-
const
|
|
5
|
-
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
4
|
+
const is_1 = require("@sindresorhus/is");
|
|
6
5
|
const logger_1 = require("../../../logger");
|
|
7
6
|
const yaml_1 = require("../../../util/yaml");
|
|
8
7
|
const helm_1 = require("../../datasource/helm");
|
|
@@ -17,7 +16,7 @@ function extractPackageFile(content, packageFile, config) {
|
|
|
17
16
|
logger_1.logger.debug({ packageFile }, `Failed to parse helm requirements.yaml`);
|
|
18
17
|
return null;
|
|
19
18
|
}
|
|
20
|
-
if (!(doc && is_1.
|
|
19
|
+
if (!(doc && (0, is_1.isArray)(doc.dependencies))) {
|
|
21
20
|
logger_1.logger.debug({ packageFile }, `requirements.yaml has no dependencies`);
|
|
22
21
|
return null;
|
|
23
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/helm-requirements/extract.ts"],"names":[],"mappings":";;AAUA,gDAiFC
|
|
1
|
+
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/helm-requirements/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import { isArray } from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { parseSingleYaml } from '../../../util/yaml';\nimport { HelmDatasource } from '../../datasource/helm';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFileContent,\n} from '../types';\n\nexport function extractPackageFile(\n content: string,\n packageFile: string,\n config: ExtractConfig,\n): PackageFileContent | null {\n let deps = [];\n // TODO: fix type\n let doc: any;\n try {\n doc = parseSingleYaml(content); // TODO #9610\n } catch {\n logger.debug({ packageFile }, `Failed to parse helm requirements.yaml`);\n return null;\n }\n if (!(doc && isArray(doc.dependencies))) {\n logger.debug({ packageFile }, `requirements.yaml has no dependencies`);\n return null;\n }\n deps = doc.dependencies.map((dep: Record<string, any>) => {\n let currentValue: string | undefined; // Remove when #9610 has been implemented\n switch (typeof dep.version) {\n case 'number':\n currentValue = String(dep.version);\n break;\n case 'string':\n currentValue = dep.version;\n }\n\n const res: PackageDependency = {\n depName: dep.name,\n currentValue,\n };\n\n if (!res.depName) {\n res.skipReason = 'invalid-name';\n return res;\n }\n\n if (!res.currentValue) {\n res.skipReason = 'invalid-version';\n return res;\n }\n\n if (!dep.repository) {\n res.skipReason = 'no-repository';\n return res;\n }\n\n res.registryUrls = [dep.repository];\n if (dep.repository.startsWith('@') || dep.repository.startsWith('alias:')) {\n const repoWithPrefixRemoved = dep.repository.slice(\n dep.repository[0] === '@' ? 1 : 6,\n );\n const alias = config.registryAliases?.[repoWithPrefixRemoved];\n if (alias) {\n res.registryUrls = [alias];\n return res;\n }\n\n res.skipReason = 'placeholder-url';\n } else {\n try {\n const url = new URL(dep.repository);\n if (url.protocol === 'file:') {\n res.skipReason = 'local-dependency';\n }\n } catch (err) {\n logger.debug(\n { err, packageFile, url: dep.repository },\n 'Error parsing url',\n );\n res.skipReason = 'invalid-url';\n }\n }\n return res;\n });\n const res = {\n deps,\n datasource: HelmDatasource.id,\n };\n return res;\n}\n"]}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.updateArtifacts = updateArtifacts;
|
|
4
|
-
const
|
|
5
|
-
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
4
|
+
const is_1 = require("@sindresorhus/is");
|
|
6
5
|
const shlex_1 = require("shlex");
|
|
7
6
|
const error_messages_1 = require("../../../constants/error-messages");
|
|
8
7
|
const logger_1 = require("../../../logger");
|
|
@@ -26,7 +25,7 @@ async function updateArtifacts({ packageFileName, updatedDeps, newPackageFileCon
|
|
|
26
25
|
}
|
|
27
26
|
const lockFileName = (0, fs_1.getSiblingFileName)(packageFileName, 'helmfile.lock');
|
|
28
27
|
const existingLockFileContent = await (0, git_1.getFile)(lockFileName);
|
|
29
|
-
if (is_1.
|
|
28
|
+
if ((0, is_1.isFalsy)(existingLockFileContent)) {
|
|
30
29
|
logger_1.logger.debug('No helmfile.lock found');
|
|
31
30
|
return null;
|
|
32
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/helmfile/artifacts.ts"],"names":[],"mappings":";;AAqBA,0CA6GC
|
|
1
|
+
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/helmfile/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import { isFalsy } from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport { coerceArray } from '../../../util/array';\nimport { exec } from '../../../util/exec';\nimport type { ToolConstraint } from '../../../util/exec/types';\nimport {\n getSiblingFileName,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\nimport { getFile } from '../../../util/git';\nimport { regEx } from '../../../util/regex';\nimport { Result } from '../../../util/result';\nimport { parseYaml } from '../../../util/yaml';\nimport { generateHelmEnvs } from '../helmv3/common';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\nimport { Doc, LockVersion } from './schema';\nimport { generateRegistryLoginCmd, isOCIRegistry } from './utils';\n\nexport async function updateArtifacts({\n packageFileName,\n updatedDeps,\n newPackageFileContent,\n config,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n logger.trace(`helmfile.updateArtifacts(${packageFileName})`);\n\n const { isLockFileMaintenance } = config;\n if (\n !isLockFileMaintenance &&\n (updatedDeps === undefined || updatedDeps.length < 1)\n ) {\n logger.debug('No updated helmfile deps - returning null');\n return null;\n }\n\n const lockFileName = getSiblingFileName(packageFileName, 'helmfile.lock');\n const existingLockFileContent = await getFile(lockFileName);\n\n if (isFalsy(existingLockFileContent)) {\n logger.debug('No helmfile.lock found');\n return null;\n }\n\n try {\n await writeLocalFile(packageFileName, newPackageFileContent);\n\n const toolConstraints: ToolConstraint[] = [\n {\n toolName: 'helm',\n constraint: config.constraints?.helm,\n },\n {\n toolName: 'helmfile',\n constraint:\n config.constraints?.helmfile ??\n Result.parse(existingLockFileContent, LockVersion).unwrapOrNull(),\n },\n ];\n const needKustomize = updatedDeps.some(\n (dep) => dep.managerData?.needKustomize,\n );\n if (needKustomize) {\n toolConstraints.push({\n toolName: 'kustomize',\n constraint: config.constraints?.kustomize,\n });\n }\n\n const cmd: string[] = [];\n const docs = parseYaml(newPackageFileContent, {\n removeTemplates: true,\n customSchema: Doc,\n failureBehaviour: 'filter',\n });\n\n for (const doc of docs) {\n for (const value of coerceArray(doc.repositories).filter(isOCIRegistry)) {\n const loginCmd = await generateRegistryLoginCmd(\n value.name,\n `https://${value.url}`,\n // this extracts the hostname from url like format ghcr.ip/helm-charts\n value.url.replace(regEx(/\\/.*/), ''),\n );\n\n if (loginCmd) {\n cmd.push(loginCmd);\n }\n }\n }\n\n cmd.push(`helmfile deps -f ${quote(packageFileName)}`);\n await exec(cmd, {\n docker: {},\n extraEnv: generateHelmEnvs(),\n toolConstraints,\n });\n\n const newHelmLockContent = await readLocalFile(lockFileName, 'utf8');\n if (existingLockFileContent === newHelmLockContent) {\n logger.debug('helmfile.lock is unchanged');\n return null;\n }\n\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newHelmLockContent,\n },\n },\n ];\n } catch (err) {\n // istanbul ignore if\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.debug({ err }, 'Failed to update Helmfile lock file');\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: err.message,\n },\n },\n ];\n }\n}\n"]}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.extractPackageFile = extractPackageFile;
|
|
4
|
-
const
|
|
5
|
-
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
4
|
+
const is_1 = require("@sindresorhus/is");
|
|
6
5
|
const logger_1 = require("../../../logger");
|
|
7
6
|
const array_1 = require("../../../util/array");
|
|
8
7
|
const regex_1 = require("../../../util/regex");
|
|
@@ -82,7 +81,7 @@ async function extractPackageFile(content, packageFile, config) {
|
|
|
82
81
|
repoName = null;
|
|
83
82
|
}
|
|
84
83
|
}
|
|
85
|
-
if (!is_1.
|
|
84
|
+
if (!(0, is_1.isString)(dep.version)) {
|
|
86
85
|
deps.push({
|
|
87
86
|
depName,
|
|
88
87
|
skipReason: 'invalid-version',
|
|
@@ -103,7 +102,7 @@ async function extractPackageFile(content, packageFile, config) {
|
|
|
103
102
|
else if (repoName) {
|
|
104
103
|
res.registryUrls = [registryData[repoName]?.url]
|
|
105
104
|
.concat([config.registryAliases?.[repoName]])
|
|
106
|
-
.filter(is_1.
|
|
105
|
+
.filter(is_1.isString);
|
|
107
106
|
}
|
|
108
107
|
// By definition on helm the chart name should be lowercase letter + number + -
|
|
109
108
|
// However helmfile support templating of that field
|
|
@@ -114,7 +113,7 @@ async function extractPackageFile(content, packageFile, config) {
|
|
|
114
113
|
}
|
|
115
114
|
// Skip in case we cannot locate the registry
|
|
116
115
|
if (res.datasource !== docker_1.DockerDatasource.id &&
|
|
117
|
-
is_1.
|
|
116
|
+
(0, is_1.isEmptyArray)(res.registryUrls)) {
|
|
118
117
|
res.skipReason = 'unknown-registry';
|
|
119
118
|
}
|
|
120
119
|
deps.push(res);
|