renovate 40.0.0-next.3 → 40.0.0-next.30
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/legacy.js +0 -1
- package/dist/config/decrypt/legacy.js.map +1 -1
- package/dist/config/decrypt.d.ts +3 -1
- package/dist/config/decrypt.js +56 -13
- package/dist/config/decrypt.js.map +1 -1
- package/dist/config/migrate-validate.js +3 -2
- package/dist/config/migrate-validate.js.map +1 -1
- package/dist/config/migration.js +2 -1
- package/dist/config/migration.js.map +1 -1
- package/dist/config/migrations/custom/rebase-stale-prs-migration.js +1 -1
- package/dist/config/migrations/custom/rebase-stale-prs-migration.js.map +1 -1
- package/dist/config/options/index.js +4 -3
- package/dist/config/options/index.js.map +1 -1
- package/dist/config/parse.js +2 -2
- package/dist/config/parse.js.map +1 -1
- package/dist/config/presets/gitea/index.js +0 -1
- package/dist/config/presets/gitea/index.js.map +1 -1
- package/dist/config/presets/github/index.js +0 -1
- package/dist/config/presets/github/index.js.map +1 -1
- package/dist/config/presets/gitlab/index.js +1 -1
- package/dist/config/presets/gitlab/index.js.map +1 -1
- package/dist/config/presets/http/index.js +1 -2
- package/dist/config/presets/http/index.js.map +1 -1
- package/dist/config/presets/index.js +0 -7
- package/dist/config/presets/index.js.map +1 -1
- package/dist/config/presets/internal/custom-managers.js +3 -4
- package/dist/config/presets/internal/custom-managers.js.map +1 -1
- package/dist/config/presets/internal/group.js +30 -1
- package/dist/config/presets/internal/group.js.map +1 -1
- package/dist/config/presets/internal/index.js +1 -3
- package/dist/config/presets/internal/index.js.map +1 -1
- package/dist/config/presets/internal/workarounds.js +1 -0
- package/dist/config/presets/internal/workarounds.js.map +1 -1
- package/dist/config/presets/parse.js +2 -1
- package/dist/config/presets/parse.js.map +1 -1
- package/dist/config/schema.d.ts +2 -2
- package/dist/config/types.d.ts +4 -1
- package/dist/config/types.js.map +1 -1
- package/dist/config/validation.js +3 -5
- package/dist/config/validation.js.map +1 -1
- package/dist/config-validator.js +0 -1
- package/dist/config-validator.js.map +1 -1
- package/dist/constants/category.js +0 -1
- package/dist/constants/category.js.map +1 -1
- package/dist/data/monorepo.json +5 -1
- package/dist/data/source-urls.json +1 -0
- package/dist/instrumentation/index.js +17 -13
- package/dist/instrumentation/index.js.map +1 -1
- package/dist/instrumentation/utils.js +1 -1
- package/dist/instrumentation/utils.js.map +1 -1
- package/dist/logger/cmd-serializer.js +0 -1
- package/dist/logger/cmd-serializer.js.map +1 -1
- package/dist/logger/config-serializer.js +0 -1
- package/dist/logger/config-serializer.js.map +1 -1
- package/dist/logger/index.js +1 -4
- package/dist/logger/index.js.map +1 -1
- package/dist/logger/once.js +4 -2
- package/dist/logger/once.js.map +1 -1
- package/dist/logger/pretty-stdout.js +0 -1
- package/dist/logger/pretty-stdout.js.map +1 -1
- package/dist/logger/renovate-logger.js +1 -1
- package/dist/logger/renovate-logger.js.map +1 -1
- package/dist/logger/utils.js +6 -11
- package/dist/logger/utils.js.map +1 -1
- package/dist/modules/datasource/api.js +2 -0
- package/dist/modules/datasource/api.js.map +1 -1
- package/dist/modules/datasource/artifactory/index.js +1 -2
- package/dist/modules/datasource/artifactory/index.js.map +1 -1
- package/dist/modules/datasource/aws-eks-addon/index.d.ts +11 -0
- package/dist/modules/datasource/aws-eks-addon/index.js +75 -0
- package/dist/modules/datasource/aws-eks-addon/index.js.map +1 -0
- package/dist/modules/datasource/aws-eks-addon/schema.d.ts +40 -0
- package/dist/modules/datasource/aws-eks-addon/schema.js +31 -0
- package/dist/modules/datasource/aws-eks-addon/schema.js.map +1 -0
- package/dist/modules/datasource/aws-machine-image/index.js +6 -5
- package/dist/modules/datasource/aws-machine-image/index.js.map +1 -1
- package/dist/modules/datasource/azure-pipelines-tasks/index.js +11 -1
- package/dist/modules/datasource/azure-pipelines-tasks/index.js.map +1 -1
- package/dist/modules/datasource/azure-pipelines-tasks/schema.d.ts +16 -0
- package/dist/modules/datasource/azure-pipelines-tasks/schema.js +2 -0
- package/dist/modules/datasource/azure-pipelines-tasks/schema.js.map +1 -1
- package/dist/modules/datasource/bazel/index.js +0 -1
- package/dist/modules/datasource/bazel/index.js.map +1 -1
- package/dist/modules/datasource/bitrise/index.js +1 -1
- package/dist/modules/datasource/bitrise/index.js.map +1 -1
- package/dist/modules/datasource/cdnjs/schema.d.ts +2 -2
- package/dist/modules/datasource/conda/index.js +18 -1
- package/dist/modules/datasource/conda/index.js.map +1 -1
- package/dist/modules/datasource/conda/prefix-dev.d.ts +3 -0
- package/dist/modules/datasource/conda/prefix-dev.js +83 -0
- package/dist/modules/datasource/conda/prefix-dev.js.map +1 -0
- package/dist/modules/datasource/conda/schema/prefix-dev.d.ts +189 -0
- package/dist/modules/datasource/conda/schema/prefix-dev.js +31 -0
- package/dist/modules/datasource/conda/schema/prefix-dev.js.map +1 -0
- package/dist/modules/datasource/conda/types.d.ts +1 -20
- package/dist/modules/datasource/conda/types.js.map +1 -1
- package/dist/modules/datasource/cpan/index.js +1 -1
- package/dist/modules/datasource/cpan/index.js.map +1 -1
- package/dist/modules/datasource/crate/index.js +3 -3
- package/dist/modules/datasource/crate/index.js.map +1 -1
- package/dist/modules/datasource/custom/formats/html.js +1 -1
- package/dist/modules/datasource/custom/formats/html.js.map +1 -1
- package/dist/modules/datasource/custom/formats/yaml.js +1 -1
- package/dist/modules/datasource/custom/formats/yaml.js.map +1 -1
- package/dist/modules/datasource/custom/index.js +4 -2
- package/dist/modules/datasource/custom/index.js.map +1 -1
- package/dist/modules/datasource/custom/schema.d.ts +22 -22
- package/dist/modules/datasource/custom/utils.js +1 -0
- package/dist/modules/datasource/custom/utils.js.map +1 -1
- package/dist/modules/datasource/dart/index.js +1 -1
- package/dist/modules/datasource/dart/index.js.map +1 -1
- package/dist/modules/datasource/dart-version/index.js +1 -1
- package/dist/modules/datasource/dart-version/index.js.map +1 -1
- package/dist/modules/datasource/datasource.js +0 -1
- package/dist/modules/datasource/datasource.js.map +1 -1
- package/dist/modules/datasource/deb/index.js +2 -2
- package/dist/modules/datasource/deb/index.js.map +1 -1
- package/dist/modules/datasource/deno/index.js +1 -1
- package/dist/modules/datasource/deno/index.js.map +1 -1
- package/dist/modules/datasource/deno/schema.d.ts +1 -1
- package/dist/modules/datasource/devbox/index.js +0 -1
- package/dist/modules/datasource/devbox/index.js.map +1 -1
- package/dist/modules/datasource/docker/common.js +5 -2
- package/dist/modules/datasource/docker/common.js.map +1 -1
- package/dist/modules/datasource/docker/index.js +10 -8
- package/dist/modules/datasource/docker/index.js.map +1 -1
- package/dist/modules/datasource/docker/schema.d.ts +5 -5
- package/dist/modules/datasource/docker/schema.js +2 -1
- package/dist/modules/datasource/docker/schema.js.map +1 -1
- package/dist/modules/datasource/flutter-version/index.js +1 -1
- package/dist/modules/datasource/flutter-version/index.js.map +1 -1
- package/dist/modules/datasource/galaxy/schema.d.ts +1 -1
- package/dist/modules/datasource/galaxy-collection/schema.d.ts +8 -8
- package/dist/modules/datasource/git-refs/index.js +1 -1
- package/dist/modules/datasource/git-refs/index.js.map +1 -1
- package/dist/modules/datasource/gitea-releases/schema.d.ts +2 -2
- package/dist/modules/datasource/gitea-tags/schema.d.ts +4 -4
- 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/gitlab-packages/index.js +1 -1
- package/dist/modules/datasource/gitlab-packages/index.js.map +1 -1
- package/dist/modules/datasource/gitlab-releases/index.js +1 -3
- package/dist/modules/datasource/gitlab-releases/index.js.map +1 -1
- package/dist/modules/datasource/go/base.js +1 -1
- package/dist/modules/datasource/go/base.js.map +1 -1
- package/dist/modules/datasource/go/index.js +1 -1
- package/dist/modules/datasource/go/index.js.map +1 -1
- package/dist/modules/datasource/go/releases-direct.js +7 -4
- package/dist/modules/datasource/go/releases-direct.js.map +1 -1
- package/dist/modules/datasource/go/releases-goproxy.js +1 -1
- package/dist/modules/datasource/go/releases-goproxy.js.map +1 -1
- package/dist/modules/datasource/golang-version/index.js +2 -2
- package/dist/modules/datasource/golang-version/index.js.map +1 -1
- package/dist/modules/datasource/gradle-version/index.js +1 -1
- package/dist/modules/datasource/gradle-version/index.js.map +1 -1
- package/dist/modules/datasource/helm/index.js +1 -1
- package/dist/modules/datasource/helm/index.js.map +1 -1
- package/dist/modules/datasource/hex/index.js +1 -1
- package/dist/modules/datasource/hex/index.js.map +1 -1
- package/dist/modules/datasource/hex/schema.d.ts +11 -11
- package/dist/modules/datasource/hexpm-bob/index.js +1 -1
- package/dist/modules/datasource/hexpm-bob/index.js.map +1 -1
- package/dist/modules/datasource/index.js +4 -4
- package/dist/modules/datasource/index.js.map +1 -1
- package/dist/modules/datasource/java-version/index.js +0 -1
- package/dist/modules/datasource/java-version/index.js.map +1 -1
- package/dist/modules/datasource/jenkins-plugins/index.js +1 -1
- package/dist/modules/datasource/jenkins-plugins/index.js.map +1 -1
- package/dist/modules/datasource/maven/index.js +35 -27
- package/dist/modules/datasource/maven/index.js.map +1 -1
- package/dist/modules/datasource/maven/types.d.ts +3 -6
- package/dist/modules/datasource/maven/types.js.map +1 -1
- package/dist/modules/datasource/maven/util.d.ts +4 -5
- package/dist/modules/datasource/maven/util.js +94 -157
- package/dist/modules/datasource/maven/util.js.map +1 -1
- package/dist/modules/datasource/node-version/index.js +1 -1
- package/dist/modules/datasource/node-version/index.js.map +1 -1
- package/dist/modules/datasource/npm/index.js +1 -1
- package/dist/modules/datasource/npm/index.js.map +1 -1
- package/dist/modules/datasource/npm/npmrc.js +1 -1
- package/dist/modules/datasource/npm/npmrc.js.map +1 -1
- package/dist/modules/datasource/nuget/index.js +1 -1
- package/dist/modules/datasource/nuget/index.js.map +1 -1
- package/dist/modules/datasource/nuget/v2.js +1 -1
- package/dist/modules/datasource/nuget/v2.js.map +1 -1
- package/dist/modules/datasource/nuget/v3.js +6 -6
- package/dist/modules/datasource/nuget/v3.js.map +1 -1
- package/dist/modules/datasource/orb/index.js +1 -1
- package/dist/modules/datasource/orb/index.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.d.ts +25 -25
- package/dist/modules/datasource/pod/index.js +2 -2
- package/dist/modules/datasource/pod/index.js.map +1 -1
- package/dist/modules/datasource/postprocess-release.js +1 -1
- package/dist/modules/datasource/postprocess-release.js.map +1 -1
- package/dist/modules/datasource/pypi/index.js +1 -1
- package/dist/modules/datasource/pypi/index.js.map +1 -1
- package/dist/modules/datasource/python-version/index.js +1 -1
- package/dist/modules/datasource/python-version/index.js.map +1 -1
- package/dist/modules/datasource/repology/index.js +1 -1
- package/dist/modules/datasource/repology/index.js.map +1 -1
- package/dist/modules/datasource/ruby-version/index.js +1 -1
- package/dist/modules/datasource/ruby-version/index.js.map +1 -1
- package/dist/modules/datasource/rubygems/index.js +2 -2
- package/dist/modules/datasource/rubygems/index.js.map +1 -1
- package/dist/modules/datasource/rubygems/versions-endpoint-cache.js +2 -2
- package/dist/modules/datasource/rubygems/versions-endpoint-cache.js.map +1 -1
- package/dist/modules/datasource/sbt-package/index.js +1 -1
- package/dist/modules/datasource/sbt-package/index.js.map +1 -1
- package/dist/modules/datasource/sbt-plugin/index.js +1 -1
- package/dist/modules/datasource/sbt-plugin/index.js.map +1 -1
- package/dist/modules/datasource/schema.d.ts +4 -4
- package/dist/modules/datasource/terraform-module/index.js +1 -1
- package/dist/modules/datasource/terraform-module/index.js.map +1 -1
- package/dist/modules/datasource/terraform-provider/index.js +2 -3
- package/dist/modules/datasource/terraform-provider/index.js.map +1 -1
- package/dist/modules/datasource/types.d.ts +1 -0
- package/dist/modules/datasource/types.js.map +1 -1
- package/dist/modules/datasource/unity3d/index.d.ts +4 -1
- package/dist/modules/datasource/unity3d/index.js +36 -42
- package/dist/modules/datasource/unity3d/index.js.map +1 -1
- package/dist/modules/datasource/unity3d/schema.d.ts +47 -0
- package/dist/modules/datasource/unity3d/schema.js +17 -0
- package/dist/modules/datasource/unity3d/schema.js.map +1 -0
- package/dist/modules/manager/api.js +2 -0
- package/dist/modules/manager/api.js.map +1 -1
- package/dist/modules/manager/argocd/extract.js +1 -1
- package/dist/modules/manager/argocd/extract.js.map +1 -1
- package/dist/modules/manager/argocd/schema.d.ts +10 -10
- package/dist/modules/manager/asdf/upgradeable-tooling.js +94 -0
- package/dist/modules/manager/asdf/upgradeable-tooling.js.map +1 -1
- package/dist/modules/manager/azure-pipelines/schema.d.ts +32 -32
- package/dist/modules/manager/batect/schema.d.ts +4 -4
- package/dist/modules/manager/batect-wrapper/artifacts.js +1 -1
- package/dist/modules/manager/batect-wrapper/artifacts.js.map +1 -1
- package/dist/modules/manager/bazel/rules/docker.d.ts +6 -6
- package/dist/modules/manager/bazel/rules/git.d.ts +10 -10
- package/dist/modules/manager/bazel/rules/git.js +9 -2
- package/dist/modules/manager/bazel/rules/git.js.map +1 -1
- package/dist/modules/manager/bazel/rules/go.d.ts +5 -5
- package/dist/modules/manager/bazel/rules/maven.d.ts +7 -7
- package/dist/modules/manager/bazel/rules/oci.d.ts +6 -6
- package/dist/modules/manager/bazel-module/parser/fragments.d.ts +40 -40
- package/dist/modules/manager/bazel-module/parser/maven.d.ts +40 -40
- package/dist/modules/manager/bazel-module/parser/oci.d.ts +17 -17
- package/dist/modules/manager/bazel-module/rules.d.ts +40 -40
- package/dist/modules/manager/bun/artifacts.js +0 -1
- package/dist/modules/manager/bun/artifacts.js.map +1 -1
- package/dist/modules/manager/bundler/artifacts.js +0 -1
- package/dist/modules/manager/bundler/artifacts.js.map +1 -1
- package/dist/modules/manager/bundler/extract.js +2 -1
- package/dist/modules/manager/bundler/extract.js.map +1 -1
- package/dist/modules/manager/cake/index.js +4 -2
- package/dist/modules/manager/cake/index.js.map +1 -1
- package/dist/modules/manager/cargo/artifacts.js +5 -7
- package/dist/modules/manager/cargo/artifacts.js.map +1 -1
- package/dist/modules/manager/cargo/schema.d.ts +114 -114
- package/dist/modules/manager/cocoapods/artifacts.js +1 -2
- package/dist/modules/manager/cocoapods/artifacts.js.map +1 -1
- package/dist/modules/manager/composer/artifacts.js +1 -2
- package/dist/modules/manager/composer/artifacts.js.map +1 -1
- package/dist/modules/manager/composer/schema.d.ts +26 -26
- package/dist/modules/manager/composer/schema.js +1 -1
- package/dist/modules/manager/composer/schema.js.map +1 -1
- package/dist/modules/manager/composer/utils.d.ts +1 -0
- package/dist/modules/manager/composer/utils.js +18 -6
- package/dist/modules/manager/composer/utils.js.map +1 -1
- package/dist/modules/manager/copier/artifacts.js +0 -1
- package/dist/modules/manager/copier/artifacts.js.map +1 -1
- package/dist/modules/manager/crossplane/schema.d.ts +2 -2
- package/dist/modules/manager/custom/jsonata/index.js +4 -0
- package/dist/modules/manager/custom/jsonata/index.js.map +1 -1
- package/dist/modules/manager/custom/jsonata/schema.d.ts +21 -21
- package/dist/modules/manager/custom/regex/index.js +2 -0
- package/dist/modules/manager/custom/regex/index.js.map +1 -1
- package/dist/modules/manager/deps-edn/extract.js +2 -1
- package/dist/modules/manager/deps-edn/extract.js.map +1 -1
- package/dist/modules/manager/devbox/artifacts.d.ts +1 -1
- package/dist/modules/manager/devbox/artifacts.js +28 -11
- package/dist/modules/manager/devbox/artifacts.js.map +1 -1
- package/dist/modules/manager/devbox/schema.js +1 -1
- package/dist/modules/manager/devbox/schema.js.map +1 -1
- package/dist/modules/manager/devcontainer/extract.js +43 -1
- package/dist/modules/manager/devcontainer/extract.js.map +1 -1
- package/dist/modules/manager/devcontainer/index.js +11 -1
- package/dist/modules/manager/devcontainer/index.js.map +1 -1
- package/dist/modules/manager/devcontainer/schema.d.ts +7 -3
- package/dist/modules/manager/devcontainer/schema.js +3 -1
- package/dist/modules/manager/devcontainer/schema.js.map +1 -1
- package/dist/modules/manager/docker-compose/schema.d.ts +6 -6
- package/dist/modules/manager/fingerprint.generated.js +86 -85
- package/dist/modules/manager/fingerprint.generated.js.map +1 -1
- package/dist/modules/manager/flux/artifacts.js +0 -1
- package/dist/modules/manager/flux/artifacts.js.map +1 -1
- package/dist/modules/manager/flux/extract.js +27 -24
- package/dist/modules/manager/flux/extract.js.map +1 -1
- package/dist/modules/manager/flux/schema.d.ts +94 -94
- package/dist/modules/manager/github-actions/extract.js +60 -39
- package/dist/modules/manager/github-actions/extract.js.map +1 -1
- package/dist/modules/manager/github-actions/schema.d.ts +66 -0
- package/dist/modules/manager/github-actions/schema.js +38 -0
- package/dist/modules/manager/github-actions/schema.js.map +1 -0
- package/dist/modules/manager/gitlabci/extract.d.ts +1 -5
- package/dist/modules/manager/gitlabci/extract.js +27 -126
- package/dist/modules/manager/gitlabci/extract.js.map +1 -1
- package/dist/modules/manager/gitlabci/schema.d.ts +55 -0
- package/dist/modules/manager/gitlabci/schema.js +63 -0
- package/dist/modules/manager/gitlabci/schema.js.map +1 -0
- package/dist/modules/manager/gitlabci-include/extract.js +6 -54
- package/dist/modules/manager/gitlabci-include/extract.js.map +1 -1
- package/dist/modules/manager/gitlabci-include/schema.d.ts +13 -0
- package/dist/modules/manager/gitlabci-include/schema.js +46 -0
- package/dist/modules/manager/gitlabci-include/schema.js.map +1 -0
- package/dist/modules/manager/glasskube/schema.d.ts +8 -8
- package/dist/modules/manager/gomod/artifacts.js +24 -10
- package/dist/modules/manager/gomod/artifacts.js.map +1 -1
- package/dist/modules/manager/gomod/extract.js +23 -0
- package/dist/modules/manager/gomod/extract.js.map +1 -1
- package/dist/modules/manager/gomod/line-parser.js +16 -0
- package/dist/modules/manager/gomod/line-parser.js.map +1 -1
- package/dist/modules/manager/gomod/update.js +2 -2
- package/dist/modules/manager/gomod/update.js.map +1 -1
- package/dist/modules/manager/gradle/artifacts.js +0 -1
- package/dist/modules/manager/gradle/artifacts.js.map +1 -1
- package/dist/modules/manager/gradle/extract/catalog.js +1 -1
- package/dist/modules/manager/gradle/extract/catalog.js.map +1 -1
- package/dist/modules/manager/gradle/parser/assignments.js +2 -2
- package/dist/modules/manager/gradle/parser/assignments.js.map +1 -1
- package/dist/modules/manager/gradle/parser/handlers.d.ts +1 -2
- package/dist/modules/manager/gradle/parser/handlers.js +10 -25
- package/dist/modules/manager/gradle/parser/handlers.js.map +1 -1
- package/dist/modules/manager/gradle/parser/registry-urls.js +11 -3
- package/dist/modules/manager/gradle/parser/registry-urls.js.map +1 -1
- package/dist/modules/manager/gradle-wrapper/artifacts.js +1 -2
- package/dist/modules/manager/gradle-wrapper/artifacts.js.map +1 -1
- package/dist/modules/manager/helmfile/artifacts.js +0 -1
- package/dist/modules/manager/helmfile/artifacts.js.map +1 -1
- package/dist/modules/manager/helmfile/extract.js +4 -0
- package/dist/modules/manager/helmfile/extract.js.map +1 -1
- package/dist/modules/manager/helmfile/schema.d.ts +9 -9
- package/dist/modules/manager/helmv3/artifacts.js +0 -1
- package/dist/modules/manager/helmv3/artifacts.js.map +1 -1
- package/dist/modules/manager/helmv3/utils.js +3 -1
- package/dist/modules/manager/helmv3/utils.js.map +1 -1
- package/dist/modules/manager/hermit/artifacts.js +0 -1
- package/dist/modules/manager/hermit/artifacts.js.map +1 -1
- package/dist/modules/manager/homebrew/extract.js +0 -1
- package/dist/modules/manager/homebrew/extract.js.map +1 -1
- package/dist/modules/manager/jsonnet-bundler/artifacts.js +0 -1
- package/dist/modules/manager/jsonnet-bundler/artifacts.js.map +1 -1
- package/dist/modules/manager/kustomize/artifacts.d.ts +2 -0
- package/dist/modules/manager/kustomize/artifacts.js +154 -0
- package/dist/modules/manager/kustomize/artifacts.js.map +1 -0
- package/dist/modules/manager/kustomize/common.d.ts +3 -0
- package/dist/modules/manager/kustomize/common.js +22 -0
- package/dist/modules/manager/kustomize/common.js.map +1 -0
- package/dist/modules/manager/kustomize/index.d.ts +1 -0
- package/dist/modules/manager/kustomize/index.js +3 -1
- package/dist/modules/manager/kustomize/index.js.map +1 -1
- package/dist/modules/manager/kustomize/types.d.ts +4 -0
- package/dist/modules/manager/kustomize/types.js.map +1 -1
- package/dist/modules/manager/maven/extract.js +3 -1
- package/dist/modules/manager/maven/extract.js.map +1 -1
- package/dist/modules/manager/maven-wrapper/artifacts.js +0 -1
- package/dist/modules/manager/maven-wrapper/artifacts.js.map +1 -1
- package/dist/modules/manager/mise/extract.js +1 -1
- package/dist/modules/manager/mise/extract.js.map +1 -1
- package/dist/modules/manager/mix/artifacts.js +64 -14
- package/dist/modules/manager/mix/artifacts.js.map +1 -1
- package/dist/modules/manager/mix/index.d.ts +1 -0
- package/dist/modules/manager/mix/index.js +2 -1
- package/dist/modules/manager/mix/index.js.map +1 -1
- package/dist/modules/manager/nix/artifacts.js +0 -1
- package/dist/modules/manager/nix/artifacts.js.map +1 -1
- package/dist/modules/manager/nix/extract.js +1 -1
- package/dist/modules/manager/nix/extract.js.map +1 -1
- package/dist/modules/manager/nix/schema.d.ts +18 -18
- package/dist/modules/manager/npm/artifacts.js +0 -1
- package/dist/modules/manager/npm/artifacts.js.map +1 -1
- package/dist/modules/manager/npm/extract/yarn.js +2 -2
- package/dist/modules/manager/npm/extract/yarn.js.map +1 -1
- package/dist/modules/manager/npm/post-update/npm.js +0 -1
- package/dist/modules/manager/npm/post-update/npm.js.map +1 -1
- package/dist/modules/manager/npm/post-update/pnpm.js +13 -2
- package/dist/modules/manager/npm/post-update/pnpm.js.map +1 -1
- package/dist/modules/manager/npm/post-update/rules.js +11 -1
- package/dist/modules/manager/npm/post-update/rules.js.map +1 -1
- package/dist/modules/manager/npm/post-update/yarn.js +0 -1
- package/dist/modules/manager/npm/post-update/yarn.js.map +1 -1
- package/dist/modules/manager/npm/schema.d.ts +13 -13
- package/dist/modules/manager/npm/update/dependency/index.js +1 -1
- package/dist/modules/manager/npm/update/dependency/index.js.map +1 -1
- package/dist/modules/manager/nuget/artifacts.js +1 -2
- package/dist/modules/manager/nuget/artifacts.js.map +1 -1
- package/dist/modules/manager/nuget/package-tree.js +4 -0
- package/dist/modules/manager/nuget/package-tree.js.map +1 -1
- package/dist/modules/manager/nuget/schema.d.ts +8 -8
- package/dist/modules/manager/nuget/util.js +4 -1
- package/dist/modules/manager/nuget/util.js.map +1 -1
- package/dist/modules/manager/ocb/schema.d.ts +6 -6
- package/dist/modules/manager/pep621/processors/pdm.js +0 -1
- package/dist/modules/manager/pep621/processors/pdm.js.map +1 -1
- package/dist/modules/manager/pep621/processors/uv.js +0 -1
- package/dist/modules/manager/pep621/processors/uv.js.map +1 -1
- package/dist/modules/manager/pep621/schema.d.ts +59 -54
- package/dist/modules/manager/pep621/schema.js +2 -0
- package/dist/modules/manager/pep621/schema.js.map +1 -1
- package/dist/modules/manager/pep621/utils.js +1 -1
- package/dist/modules/manager/pep621/utils.js.map +1 -1
- package/dist/modules/manager/pip-compile/common.js +0 -1
- package/dist/modules/manager/pip-compile/common.js.map +1 -1
- package/dist/modules/manager/pip_requirements/artifacts.js +0 -1
- package/dist/modules/manager/pip_requirements/artifacts.js.map +1 -1
- package/dist/modules/manager/pipenv/artifacts.js +0 -1
- package/dist/modules/manager/pipenv/artifacts.js.map +1 -1
- package/dist/modules/manager/pixi/artifacts.d.ts +3 -0
- package/dist/modules/manager/pixi/artifacts.js +84 -0
- package/dist/modules/manager/pixi/artifacts.js.map +1 -0
- package/dist/modules/manager/pixi/extract.d.ts +2 -0
- package/dist/modules/manager/pixi/extract.js +53 -0
- package/dist/modules/manager/pixi/extract.js.map +1 -0
- package/dist/modules/manager/pixi/index.d.ts +11 -0
- package/dist/modules/manager/pixi/index.js +22 -0
- package/dist/modules/manager/pixi/index.js.map +1 -0
- package/dist/modules/manager/pixi/lockfile.d.ts +6 -0
- package/dist/modules/manager/pixi/lockfile.js +25 -0
- package/dist/modules/manager/pixi/lockfile.js.map +1 -0
- package/dist/modules/manager/pixi/schema.d.ts +14 -0
- package/dist/modules/manager/pixi/schema.js +14 -0
- package/dist/modules/manager/pixi/schema.js.map +1 -0
- package/dist/modules/manager/poetry/artifacts.js +3 -4
- package/dist/modules/manager/poetry/artifacts.js.map +1 -1
- package/dist/modules/manager/poetry/extract.js +2 -1
- package/dist/modules/manager/poetry/extract.js.map +1 -1
- package/dist/modules/manager/poetry/schema.d.ts +48 -48
- package/dist/modules/manager/pub/artifacts.js +0 -1
- package/dist/modules/manager/pub/artifacts.js.map +1 -1
- package/dist/modules/manager/pub/schema.d.ts +8 -8
- package/dist/modules/manager/scalafmt/extract.js +1 -1
- package/dist/modules/manager/scalafmt/extract.js.map +1 -1
- package/dist/modules/manager/sveltos/schema.d.ts +12 -12
- package/dist/modules/manager/terraform/lockfile/hash.d.ts +1 -1
- package/dist/modules/manager/types.d.ts +6 -2
- package/dist/modules/manager/types.js.map +1 -1
- package/dist/modules/manager/vendir/schema.d.ts +4 -4
- package/dist/modules/platform/api.d.ts +1 -1
- package/dist/modules/platform/azure/azure-helper.js +2 -2
- package/dist/modules/platform/azure/azure-helper.js.map +1 -1
- package/dist/modules/platform/azure/index.js +14 -14
- package/dist/modules/platform/azure/index.js.map +1 -1
- package/dist/modules/platform/bitbucket/comments.js +4 -4
- package/dist/modules/platform/bitbucket/comments.js.map +1 -1
- package/dist/modules/platform/bitbucket/index.d.ts +1 -0
- package/dist/modules/platform/bitbucket/index.js +54 -44
- package/dist/modules/platform/bitbucket/index.js.map +1 -1
- package/dist/modules/platform/bitbucket/schema.d.ts +11 -11
- package/dist/modules/platform/bitbucket/utils.js +3 -3
- package/dist/modules/platform/bitbucket/utils.js.map +1 -1
- package/dist/modules/platform/bitbucket-server/index.d.ts +3 -3
- package/dist/modules/platform/bitbucket-server/index.js +81 -81
- package/dist/modules/platform/bitbucket-server/index.js.map +1 -1
- package/dist/modules/platform/bitbucket-server/pr-cache.d.ts +23 -0
- package/dist/modules/platform/bitbucket-server/pr-cache.js +125 -0
- package/dist/modules/platform/bitbucket-server/pr-cache.js.map +1 -0
- package/dist/modules/platform/bitbucket-server/schema.d.ts +75 -0
- package/dist/modules/platform/bitbucket-server/schema.js +14 -1
- package/dist/modules/platform/bitbucket-server/schema.js.map +1 -1
- package/dist/modules/platform/bitbucket-server/types.d.ts +8 -2
- package/dist/modules/platform/bitbucket-server/types.js.map +1 -1
- package/dist/modules/platform/bitbucket-server/utils.d.ts +0 -2
- package/dist/modules/platform/bitbucket-server/utils.js +6 -52
- package/dist/modules/platform/bitbucket-server/utils.js.map +1 -1
- package/dist/modules/platform/codecommit/codecommit-client.js +6 -6
- package/dist/modules/platform/codecommit/codecommit-client.js.map +1 -1
- package/dist/modules/platform/codecommit/index.js +24 -24
- package/dist/modules/platform/codecommit/index.js.map +1 -1
- package/dist/modules/platform/gerrit/client.js +13 -2
- package/dist/modules/platform/gerrit/client.js.map +1 -1
- package/dist/modules/platform/gerrit/utils.js +1 -1
- package/dist/modules/platform/gerrit/utils.js.map +1 -1
- package/dist/modules/platform/gitea/gitea-helper.d.ts +1 -0
- package/dist/modules/platform/gitea/gitea-helper.js +16 -0
- package/dist/modules/platform/gitea/gitea-helper.js.map +1 -1
- package/dist/modules/platform/gitea/index.d.ts +1 -0
- package/dist/modules/platform/gitea/index.js +26 -7
- package/dist/modules/platform/gitea/index.js.map +1 -1
- package/dist/modules/platform/gitea/schema.d.ts +8 -8
- package/dist/modules/platform/gitea/types.d.ts +1 -1
- package/dist/modules/platform/gitea/types.js.map +1 -1
- package/dist/modules/platform/github/common.d.ts +2 -0
- package/dist/modules/platform/github/common.js +16 -0
- package/dist/modules/platform/github/common.js.map +1 -1
- package/dist/modules/platform/github/index.d.ts +1 -1
- package/dist/modules/platform/github/index.js +87 -82
- package/dist/modules/platform/github/index.js.map +1 -1
- package/dist/modules/platform/github/issue.d.ts +12 -12
- package/dist/modules/platform/github/massage-markdown-links.js +2 -2
- package/dist/modules/platform/github/massage-markdown-links.js.map +1 -1
- package/dist/modules/platform/github/pr.js +3 -3
- package/dist/modules/platform/github/pr.js.map +1 -1
- package/dist/modules/platform/github/schema.d.ts +76 -76
- package/dist/modules/platform/github/schema.js +3 -1
- package/dist/modules/platform/github/schema.js.map +1 -1
- package/dist/modules/platform/gitlab/index.d.ts +1 -0
- package/dist/modules/platform/gitlab/index.js +70 -43
- package/dist/modules/platform/gitlab/index.js.map +1 -1
- package/dist/modules/platform/index.js +0 -1
- package/dist/modules/platform/index.js.map +1 -1
- package/dist/modules/platform/scm.d.ts +1 -1
- package/dist/modules/versioning/api.js +2 -0
- package/dist/modules/versioning/api.js.map +1 -1
- package/dist/modules/versioning/composer/index.js +10 -0
- package/dist/modules/versioning/composer/index.js.map +1 -1
- package/dist/modules/versioning/conda/index.d.ts +41 -0
- package/dist/modules/versioning/conda/index.js +178 -0
- package/dist/modules/versioning/conda/index.js.map +1 -0
- package/dist/modules/versioning/hashicorp/convertor.d.ts +2 -1
- package/dist/modules/versioning/hashicorp/convertor.js +13 -8
- package/dist/modules/versioning/hashicorp/convertor.js.map +1 -1
- package/dist/modules/versioning/hex/index.js +3 -3
- package/dist/modules/versioning/hex/index.js.map +1 -1
- package/dist/modules/versioning/npm/index.js +2 -1
- package/dist/modules/versioning/npm/index.js.map +1 -1
- package/dist/modules/versioning/schema.js +1 -1
- package/dist/modules/versioning/schema.js.map +1 -1
- package/dist/modules/versioning/types.d.ts +4 -0
- package/dist/modules/versioning/types.js.map +1 -1
- package/dist/proxy.js +2 -1
- package/dist/proxy.js.map +1 -1
- package/dist/renovate.js +2 -2
- package/dist/renovate.js.map +1 -1
- package/dist/util/cache/package/decorator.js +2 -2
- package/dist/util/cache/package/decorator.js.map +1 -1
- package/dist/util/cache/package/redis.js +0 -1
- package/dist/util/cache/package/redis.js.map +1 -1
- package/dist/util/cache/package/types.d.ts +1 -1
- package/dist/util/cache/package/types.js.map +1 -1
- package/dist/util/cache/repository/impl/base.d.ts +1 -1
- package/dist/util/cache/repository/schema.d.ts +4 -4
- package/dist/util/cache/repository/types.d.ts +3 -0
- package/dist/util/cache/repository/types.js.map +1 -1
- package/dist/util/env.d.ts +4 -0
- package/dist/util/env.js +22 -0
- package/dist/util/env.js.map +1 -0
- package/dist/util/exec/containerbase.js +18 -12
- package/dist/util/exec/containerbase.js.map +1 -1
- package/dist/util/exec/index.js +5 -2
- package/dist/util/exec/index.js.map +1 -1
- package/dist/util/exec/types.d.ts +0 -2
- package/dist/util/exec/types.js.map +1 -1
- package/dist/util/exec/utils.d.ts +1 -1
- package/dist/util/exec/utils.js +6 -5
- package/dist/util/exec/utils.js.map +1 -1
- package/dist/util/git/author.js +1 -1
- package/dist/util/git/author.js.map +1 -1
- package/dist/util/git/config.js +0 -1
- package/dist/util/git/config.js.map +1 -1
- package/dist/util/git/error.js +4 -2
- package/dist/util/git/error.js.map +1 -1
- package/dist/util/git/index.js +73 -46
- package/dist/util/git/index.js.map +1 -1
- package/dist/util/git/private-key.js +1 -1
- package/dist/util/git/private-key.js.map +1 -1
- package/dist/util/github/graphql/query-adapters/releases-query-adapter.d.ts +2 -2
- package/dist/util/github/graphql/query-adapters/tags-query-adapter.d.ts +2 -2
- package/dist/util/http/auth.js +0 -1
- package/dist/util/http/auth.js.map +1 -1
- package/dist/util/http/bitbucket-server.d.ts +5 -4
- package/dist/util/http/bitbucket-server.js +21 -20
- package/dist/util/http/bitbucket-server.js.map +1 -1
- package/dist/util/http/bitbucket.d.ts +6 -5
- package/dist/util/http/bitbucket.js +34 -31
- package/dist/util/http/bitbucket.js.map +1 -1
- package/dist/util/http/cache/abstract-http-cache-provider.js +2 -2
- package/dist/util/http/cache/abstract-http-cache-provider.js.map +1 -1
- package/dist/util/http/cache/memory-http-cache-provider.d.ts +10 -0
- package/dist/util/http/cache/memory-http-cache-provider.js +29 -0
- package/dist/util/http/cache/memory-http-cache-provider.js.map +1 -0
- package/dist/util/http/cache/schema.d.ts +2 -2
- package/dist/util/http/errors.d.ts +2 -0
- package/dist/util/http/errors.js +8 -0
- package/dist/util/http/errors.js.map +1 -0
- package/dist/util/http/gerrit.d.ts +6 -4
- package/dist/util/http/gerrit.js +11 -12
- package/dist/util/http/gerrit.js.map +1 -1
- package/dist/util/http/gitea.d.ts +5 -4
- package/dist/util/http/gitea.js +14 -13
- package/dist/util/http/gitea.js.map +1 -1
- package/dist/util/http/github.d.ts +14 -8
- package/dist/util/http/github.js +65 -60
- package/dist/util/http/github.js.map +1 -1
- package/dist/util/http/gitlab.d.ts +7 -5
- package/dist/util/http/gitlab.js +58 -46
- package/dist/util/http/gitlab.js.map +1 -1
- package/dist/util/http/got.d.ts +9 -0
- package/dist/util/http/got.js +54 -0
- package/dist/util/http/got.js.map +1 -0
- package/dist/util/http/host-rules.d.ts +2 -1
- package/dist/util/http/host-rules.js +5 -4
- package/dist/util/http/host-rules.js.map +1 -1
- package/dist/util/http/http.d.ts +93 -0
- package/dist/util/http/http.js +346 -0
- package/dist/util/http/http.js.map +1 -0
- package/dist/util/http/index.d.ts +6 -74
- package/dist/util/http/index.js +5 -359
- package/dist/util/http/index.js.map +1 -1
- package/dist/util/http/legacy.js +4 -1
- package/dist/util/http/legacy.js.map +1 -1
- package/dist/util/http/types.d.ts +9 -16
- package/dist/util/http/types.js.map +1 -1
- package/dist/util/stats.d.ts +10 -0
- package/dist/util/stats.js +45 -1
- package/dist/util/stats.js.map +1 -1
- package/dist/util/string.d.ts +15 -0
- package/dist/util/string.js +75 -0
- package/dist/util/string.js.map +1 -1
- package/dist/util/toml.d.ts +1 -0
- package/dist/util/toml.js +6 -0
- package/dist/util/toml.js.map +1 -1
- package/dist/util/url.js +3 -8
- package/dist/util/url.js.map +1 -1
- package/dist/util/yaml.js +2 -6
- package/dist/util/yaml.js.map +1 -1
- package/dist/workers/global/config/parse/env.js +3 -2
- package/dist/workers/global/config/parse/env.js.map +1 -1
- package/dist/workers/global/config/parse/file.js +19 -9
- package/dist/workers/global/config/parse/file.js.map +1 -1
- package/dist/workers/global/config/parse/host-rules-from-env.js +6 -2
- package/dist/workers/global/config/parse/host-rules-from-env.js.map +1 -1
- package/dist/workers/global/config/parse/index.js +5 -0
- package/dist/workers/global/config/parse/index.js.map +1 -1
- package/dist/workers/repository/cache.js +1 -2
- package/dist/workers/repository/cache.js.map +1 -1
- package/dist/workers/repository/config-migration/branch/migrated-data.js +2 -0
- package/dist/workers/repository/config-migration/branch/migrated-data.js.map +1 -1
- package/dist/workers/repository/index.js +1 -0
- package/dist/workers/repository/index.js.map +1 -1
- package/dist/workers/repository/init/merge.js +6 -3
- package/dist/workers/repository/init/merge.js.map +1 -1
- package/dist/workers/repository/onboarding/pr/config-description.js +3 -1
- package/dist/workers/repository/onboarding/pr/config-description.js.map +1 -1
- package/dist/workers/repository/process/extract-update.js +0 -1
- package/dist/workers/repository/process/extract-update.js.map +1 -1
- package/dist/workers/repository/process/fingerprint-fields.js +0 -1
- package/dist/workers/repository/process/fingerprint-fields.js.map +1 -1
- package/dist/workers/repository/process/libyear.js +2 -2
- package/dist/workers/repository/process/libyear.js.map +1 -1
- package/dist/workers/repository/process/lookup/index.js +13 -4
- package/dist/workers/repository/process/lookup/index.js.map +1 -1
- package/dist/workers/repository/process/vulnerabilities.js +1 -1
- package/dist/workers/repository/process/vulnerabilities.js.map +1 -1
- package/dist/workers/repository/process/write.js +1 -8
- package/dist/workers/repository/process/write.js.map +1 -1
- package/dist/workers/repository/reconfigure/validate.js +1 -0
- package/dist/workers/repository/reconfigure/validate.js.map +1 -1
- package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js +10 -1
- package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/bitbucket/index.js +1 -1
- package/dist/workers/repository/update/pr/changelog/bitbucket/index.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/github/index.js +6 -3
- package/dist/workers/repository/update/pr/changelog/github/index.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/gitlab/index.js +1 -1
- package/dist/workers/repository/update/pr/changelog/gitlab/index.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/source.js +1 -0
- package/dist/workers/repository/update/pr/changelog/source.js.map +1 -1
- package/dist/workers/repository/updates/flatten.js +8 -4
- package/dist/workers/repository/updates/flatten.js.map +1 -1
- package/dist/workers/repository/updates/generate.js +1 -2
- package/dist/workers/repository/updates/generate.js.map +1 -1
- package/dist/workers/types.d.ts +1 -4
- package/dist/workers/types.js.map +1 -1
- package/package.json +69 -72
- package/renovate-schema.json +15 -1
- package/dist/modules/manager/github-actions/types.d.ts +0 -30
- package/dist/modules/manager/github-actions/types.js +0 -3
- package/dist/modules/manager/github-actions/types.js.map +0 -1
- package/dist/modules/manager/gitlabci/common.d.ts +0 -6
- package/dist/modules/manager/gitlabci/common.js +0 -30
- package/dist/modules/manager/gitlabci/common.js.map +0 -1
- package/dist/modules/manager/gitlabci/types.d.ts +0 -35
- package/dist/modules/manager/gitlabci/types.js +0 -3
- package/dist/modules/manager/gitlabci/types.js.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/gradle/parser/handlers.ts"],"names":[],"mappings":"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","sourcesContent":["import URL from 'node:url';\nimport upath from 'upath';\nimport { logger } from '../../../../logger';\nimport { getSiblingFileName } from '../../../../util/fs';\nimport { regEx } from '../../../../util/regex';\nimport type { PackageDependency } from '../../types';\nimport type { parseGradle as parseGradleCallback } from '../parser';\nimport type {\n ContentDescriptorMatcher,\n ContentDescriptorSpec,\n Ctx,\n GradleManagerData,\n} from '../types';\nimport { isDependencyString, parseDependencyString } from '../utils';\nimport {\n GRADLE_PLUGINS,\n GRADLE_TEST_SUITES,\n REGISTRY_URLS,\n findVariable,\n interpolateString,\n loadFromTokenMap,\n} from './common';\n\n// needed to break circular dependency\nlet parseGradle: typeof parseGradleCallback;\nexport function setParseGradleFunc(func: typeof parseGradleCallback): void {\n parseGradle = func;\n}\n\nexport function handleAssignment(ctx: Ctx): Ctx {\n const key = loadFromTokenMap(ctx, 'keyToken')[0].value;\n const valTokens = loadFromTokenMap(ctx, 'valToken');\n\n if (valTokens.length > 1) {\n // = template string with multiple variables\n ctx.tokenMap.templateStringTokens = valTokens;\n handleDepString(ctx);\n delete ctx.tokenMap.templateStringTokens;\n } else if (valTokens[0].type === 'symbol') {\n // foo = bar || foo = \"${bar}\"\n const varData = findVariable(valTokens[0].value, ctx);\n if (varData) {\n ctx.globalVars[key] = { ...varData };\n }\n } else {\n // = string value\n const dep = parseDependencyString(valTokens[0].value);\n if (dep) {\n dep.sharedVariableName = key;\n dep.managerData = {\n fileReplacePosition: valTokens[0].offset + dep.depName!.length + 1,\n packageFile: ctx.packageFile,\n };\n ctx.deps.push(dep);\n }\n\n ctx.globalVars[key] = {\n key,\n value: valTokens[0].value,\n fileReplacePosition: valTokens[0].offset,\n packageFile: ctx.packageFile,\n };\n }\n\n return ctx;\n}\n\nexport function handleDepString(ctx: Ctx): Ctx {\n const stringTokens = loadFromTokenMap(ctx, 'templateStringTokens');\n\n const templateString = interpolateString(stringTokens, ctx);\n if (!templateString) {\n return ctx;\n }\n\n const dep = parseDependencyString(templateString);\n if (!dep) {\n return ctx;\n }\n\n let packageFile: string | undefined;\n let fileReplacePosition: number | undefined;\n for (const token of stringTokens) {\n if (token.type === 'symbol') {\n const varData = findVariable(token.value, ctx);\n if (varData) {\n packageFile = varData.packageFile;\n fileReplacePosition = varData.fileReplacePosition;\n if (varData.value === dep.currentValue) {\n dep.managerData = { fileReplacePosition, packageFile };\n dep.sharedVariableName = varData.key;\n }\n }\n }\n }\n\n if (!dep.managerData) {\n const lastToken = stringTokens[stringTokens.length - 1];\n if (\n lastToken?.type === 'string-value' &&\n dep.currentValue &&\n lastToken.value.includes(dep.currentValue)\n ) {\n packageFile = ctx.packageFile;\n if (stringTokens.length === 1) {\n fileReplacePosition = lastToken.offset + dep.depName!.length + 1;\n } else {\n fileReplacePosition =\n lastToken.offset + lastToken.value.lastIndexOf(dep.currentValue);\n }\n delete dep.sharedVariableName;\n } else {\n dep.skipReason = 'contains-variable';\n }\n dep.managerData = { fileReplacePosition, packageFile };\n }\n\n ctx.deps.push(dep);\n\n return ctx;\n}\n\nexport function handleKotlinShortNotationDep(ctx: Ctx): Ctx {\n const moduleNameTokens = loadFromTokenMap(ctx, 'artifactId');\n const versionTokens = loadFromTokenMap(ctx, 'version');\n\n const moduleName = interpolateString(moduleNameTokens, ctx);\n const versionValue = interpolateString(versionTokens, ctx);\n if (!moduleName || !versionValue) {\n return ctx;\n }\n\n const groupIdArtifactId = `org.jetbrains.kotlin:kotlin-${moduleName}`;\n const dep = parseDependencyString(`${groupIdArtifactId}:${versionValue}`);\n if (!dep) {\n return ctx;\n }\n\n dep.depName = moduleName;\n dep.packageName = groupIdArtifactId;\n dep.managerData = {\n fileReplacePosition: versionTokens[0].offset,\n packageFile: ctx.packageFile,\n };\n\n if (versionTokens.length > 1) {\n // = template string with multiple variables\n dep.skipReason = 'unspecified-version';\n } else if (versionTokens[0].type === 'symbol') {\n const varData = findVariable(versionTokens[0].value, ctx);\n if (varData) {\n dep.sharedVariableName = varData.key;\n dep.currentValue = varData.value;\n dep.managerData = {\n fileReplacePosition: varData.fileReplacePosition,\n packageFile: varData.packageFile,\n };\n }\n }\n\n ctx.deps.push(dep);\n\n return ctx;\n}\n\nexport function handleLongFormDep(ctx: Ctx): Ctx {\n const groupIdTokens = loadFromTokenMap(ctx, 'groupId');\n const artifactIdTokens = loadFromTokenMap(ctx, 'artifactId');\n const versionTokens = loadFromTokenMap(ctx, 'version');\n\n const groupId = interpolateString(groupIdTokens, ctx);\n const artifactId = interpolateString(artifactIdTokens, ctx);\n const version = interpolateString(versionTokens, ctx);\n if (!groupId || !artifactId || !version) {\n return ctx;\n }\n\n // Special handling: 3 independent dependencies mismatched as groupId, artifactId, version\n if (\n isDependencyString(groupId) &&\n isDependencyString(artifactId) &&\n isDependencyString(version)\n ) {\n ctx.tokenMap.templateStringTokens = groupIdTokens;\n handleDepString(ctx);\n ctx.tokenMap.templateStringTokens = artifactIdTokens;\n handleDepString(ctx);\n ctx.tokenMap.templateStringTokens = versionTokens;\n handleDepString(ctx);\n\n return ctx;\n }\n\n const dep = parseDependencyString([groupId, artifactId, version].join(':'));\n if (!dep) {\n return ctx;\n }\n\n const methodName = ctx.tokenMap.methodName ?? null;\n if (versionTokens.length > 1) {\n // = template string with multiple variables\n dep.skipReason = 'unspecified-version';\n } else if (versionTokens[0].type === 'symbol') {\n const varData = findVariable(versionTokens[0].value, ctx);\n if (varData) {\n dep.sharedVariableName = varData.key;\n dep.managerData = {\n fileReplacePosition: varData.fileReplacePosition,\n packageFile: varData.packageFile,\n };\n }\n } else {\n // = string value\n if (methodName?.[0]?.value === 'dependencySet') {\n dep.sharedVariableName = `${groupId}:${version}`;\n }\n dep.managerData = {\n fileReplacePosition: versionTokens[0].offset,\n packageFile: ctx.packageFile,\n };\n }\n\n ctx.deps.push(dep);\n\n return ctx;\n}\n\nexport function handlePlugin(ctx: Ctx): Ctx {\n const methodName = loadFromTokenMap(ctx, 'methodName')[0];\n const pluginName = loadFromTokenMap(ctx, 'pluginName')[0];\n const pluginVersion = loadFromTokenMap(ctx, 'version');\n\n const plugin = pluginName.value;\n const depName =\n methodName.value === 'kotlin' ? `org.jetbrains.kotlin.${plugin}` : plugin;\n const packageName = `${depName}:${depName}.gradle.plugin`;\n\n const dep: PackageDependency<GradleManagerData> = {\n depType: 'plugin',\n depName,\n packageName,\n commitMessageTopic: `plugin ${depName}`,\n currentValue: pluginVersion[0].value,\n managerData: {\n fileReplacePosition: pluginVersion[0].offset,\n packageFile: ctx.packageFile,\n },\n };\n\n if (pluginVersion.length > 1) {\n // = template string with multiple variables\n dep.skipReason = 'unspecified-version';\n } else if (pluginVersion[0].type === 'symbol') {\n const varData = findVariable(pluginVersion[0].value, ctx);\n if (varData) {\n dep.sharedVariableName = varData.key;\n dep.currentValue = varData.value;\n dep.managerData = {\n fileReplacePosition: varData.fileReplacePosition,\n packageFile: varData.packageFile,\n };\n } else {\n dep.skipReason = 'unspecified-version';\n }\n }\n\n ctx.deps.push(dep);\n\n return ctx;\n}\n\nfunction isValidContentDescriptorRegex(\n fieldName: string,\n pattern: string,\n): boolean {\n try {\n regEx(pattern);\n } catch {\n logger.debug(\n `Skipping content descriptor with unsupported regExp pattern for ${fieldName}: ${pattern}`,\n );\n return false;\n }\n\n return true;\n}\n\nexport function handleRegistryContent(ctx: Ctx): Ctx {\n const methodName = loadFromTokenMap(ctx, 'methodName')[0].value;\n let groupId = loadFromTokenMap(ctx, 'groupId')[0].value;\n\n let matcher: ContentDescriptorMatcher = 'simple';\n if (methodName.includes('Regex')) {\n matcher = 'regex';\n groupId = `^${groupId}$`.replaceAll('\\\\\\\\', '\\\\');\n if (!isValidContentDescriptorRegex('group', groupId)) {\n return ctx;\n }\n } else if (methodName.includes('AndSubgroups')) {\n matcher = 'subgroup';\n }\n\n const mode = methodName.startsWith('include') ? 'include' : 'exclude';\n const spec: ContentDescriptorSpec = { mode, matcher, groupId };\n\n if (methodName.includes('Module') || methodName.includes('Version')) {\n spec.artifactId = loadFromTokenMap(ctx, 'artifactId')[0].value;\n if (matcher === 'regex') {\n spec.artifactId = `^${spec.artifactId}$`.replaceAll('\\\\\\\\', '\\\\');\n if (!isValidContentDescriptorRegex('module', spec.artifactId)) {\n return ctx;\n }\n }\n }\n\n if (methodName.includes('Version')) {\n spec.version = loadFromTokenMap(ctx, 'version')[0].value;\n if (matcher === 'regex') {\n spec.version = `^${spec.version}$`.replaceAll('\\\\\\\\', '\\\\');\n if (!isValidContentDescriptorRegex('version', spec.version)) {\n return ctx;\n }\n }\n }\n\n ctx.tmpRegistryContent.push(spec);\n\n return ctx;\n}\n\nfunction isPluginRegistry(ctx: Ctx): boolean {\n if (ctx.tokenMap.registryScope) {\n const registryScope = loadFromTokenMap(ctx, 'registryScope')[0].value;\n return registryScope === 'pluginManagement';\n }\n\n return false;\n}\n\nexport function handlePredefinedRegistryUrl(ctx: Ctx): Ctx {\n const registryName = loadFromTokenMap(ctx, 'registryUrl')[0].value;\n\n ctx.registryUrls.push({\n registryUrl: REGISTRY_URLS[registryName as keyof typeof REGISTRY_URLS],\n scope: isPluginRegistry(ctx) ? 'plugin' : 'dep',\n content: ctx.tmpRegistryContent,\n });\n\n return ctx;\n}\n\nexport function handleCustomRegistryUrl(ctx: Ctx): Ctx {\n let localVariables = ctx.globalVars;\n\n if (ctx.tokenMap.name) {\n const nameTokens = loadFromTokenMap(ctx, 'name');\n const nameValue = interpolateString(nameTokens, ctx, localVariables);\n if (nameValue) {\n localVariables = {\n ...localVariables,\n name: {\n key: 'name',\n value: nameValue,\n },\n };\n }\n }\n\n let registryUrl = interpolateString(\n loadFromTokenMap(ctx, 'registryUrl'),\n ctx,\n localVariables,\n );\n if (registryUrl) {\n registryUrl = registryUrl.replace(regEx(/\\\\/g), '');\n try {\n const { host, protocol } = URL.parse(registryUrl);\n if (host && protocol) {\n ctx.registryUrls.push({\n registryUrl,\n scope: isPluginRegistry(ctx) ? 'plugin' : 'dep',\n content: ctx.tmpRegistryContent,\n });\n }\n } catch {\n // no-op\n }\n }\n\n return ctx;\n}\n\nexport function handleLibraryDep(ctx: Ctx): Ctx {\n const groupIdTokens = loadFromTokenMap(ctx, 'groupId');\n const artifactIdTokens = loadFromTokenMap(ctx, 'artifactId');\n\n const groupId = interpolateString(groupIdTokens, ctx);\n const artifactId = interpolateString(artifactIdTokens, ctx);\n if (!groupId || !artifactId) {\n return ctx;\n }\n\n const aliasToken = loadFromTokenMap(ctx, 'alias')[0];\n const key = `libs.${aliasToken.value.replace(regEx(/[-_]/g), '.')}`;\n\n ctx.globalVars[key] = {\n key,\n value: `${groupId}:${artifactId}`,\n fileReplacePosition: aliasToken.offset,\n packageFile: ctx.packageFile,\n };\n\n if (ctx.tokenMap.version) {\n const version = interpolateString(loadFromTokenMap(ctx, 'version'), ctx);\n if (version) {\n handleLongFormDep(ctx);\n }\n }\n\n return ctx;\n}\n\nexport function handleApplyFrom(ctx: Ctx): Ctx {\n let scriptFile = interpolateString(loadFromTokenMap(ctx, 'scriptFile'), ctx);\n if (!scriptFile) {\n return ctx;\n }\n\n if (ctx.tokenMap.parentPath) {\n const parentPath = interpolateString(\n loadFromTokenMap(ctx, 'parentPath'),\n ctx,\n );\n if (parentPath && scriptFile) {\n scriptFile = upath.join(parentPath, scriptFile);\n }\n }\n\n if (ctx.recursionDepth > 2) {\n logger.debug(`Max recursion depth reached in script file: ${scriptFile}`);\n return ctx;\n }\n\n if (!regEx(/\\.gradle(\\.kts)?$/).test(scriptFile)) {\n logger.debug({ scriptFile }, `Only Gradle files can be included`);\n return ctx;\n }\n\n const scriptFilePath = getSiblingFileName(ctx.packageFile, scriptFile);\n if (!ctx.fileContents[scriptFilePath]) {\n logger.debug(`Failed to process included Gradle file ${scriptFilePath}`);\n return ctx;\n }\n\n const matchResult = parseGradle(\n // TODO #22198\n ctx.fileContents[scriptFilePath],\n ctx.globalVars,\n scriptFilePath,\n ctx.fileContents,\n ctx.recursionDepth + 1,\n );\n\n ctx.deps.push(...matchResult.deps);\n ctx.globalVars = { ...ctx.globalVars, ...matchResult.vars };\n ctx.registryUrls.push(...matchResult.urls);\n\n return ctx;\n}\n\nexport function handleImplicitDep(ctx: Ctx): Ctx {\n const implicitDepName = loadFromTokenMap(ctx, 'implicitDepName')[0].value;\n const versionTokens = loadFromTokenMap(ctx, 'version');\n const versionValue = interpolateString(versionTokens, ctx);\n if (!versionValue) {\n return ctx;\n }\n\n const isImplicitGradlePlugin = implicitDepName in GRADLE_PLUGINS;\n const groupIdArtifactId = isImplicitGradlePlugin\n ? GRADLE_PLUGINS[implicitDepName as keyof typeof GRADLE_PLUGINS][1]\n : GRADLE_TEST_SUITES[implicitDepName as keyof typeof GRADLE_TEST_SUITES];\n\n const dep = parseDependencyString(`${groupIdArtifactId}:${versionValue}`);\n if (!dep) {\n return ctx;\n }\n\n dep.depName = implicitDepName;\n dep.packageName = groupIdArtifactId;\n dep.managerData = {\n fileReplacePosition: versionTokens[0].offset,\n packageFile: ctx.packageFile,\n };\n\n if (versionTokens.length > 1) {\n // = template string with multiple variables\n dep.skipReason = 'unspecified-version';\n } else if (versionTokens[0].type === 'symbol') {\n const varData = findVariable(versionTokens[0].value, ctx);\n if (varData) {\n dep.sharedVariableName = varData.key;\n dep.currentValue = varData.value;\n dep.managerData = {\n fileReplacePosition: varData.fileReplacePosition,\n packageFile: varData.packageFile,\n };\n }\n }\n\n ctx.deps.push(dep);\n\n return ctx;\n}\n"]}
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/gradle/parser/handlers.ts"],"names":[],"mappings":"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","sourcesContent":["import upath from 'upath';\nimport { logger } from '../../../../logger';\nimport { getSiblingFileName } from '../../../../util/fs';\nimport { regEx } from '../../../../util/regex';\nimport { parseUrl } from '../../../../util/url';\nimport type { PackageDependency } from '../../types';\nimport type { parseGradle as parseGradleCallback } from '../parser';\nimport type {\n ContentDescriptorMatcher,\n ContentDescriptorSpec,\n Ctx,\n GradleManagerData,\n} from '../types';\nimport { isDependencyString, parseDependencyString } from '../utils';\nimport {\n GRADLE_PLUGINS,\n GRADLE_TEST_SUITES,\n findVariable,\n interpolateString,\n loadFromTokenMap,\n} from './common';\n\n// needed to break circular dependency\nlet parseGradle: typeof parseGradleCallback;\nexport function setParseGradleFunc(func: typeof parseGradleCallback): void {\n parseGradle = func;\n}\n\nexport function handleAssignment(ctx: Ctx): Ctx {\n const key = loadFromTokenMap(ctx, 'keyToken')[0].value;\n const valTokens = loadFromTokenMap(ctx, 'valToken');\n\n if (valTokens.length > 1) {\n // = template string with multiple variables\n ctx.tokenMap.templateStringTokens = valTokens;\n handleDepString(ctx);\n delete ctx.tokenMap.templateStringTokens;\n } else if (valTokens[0].type === 'symbol') {\n // foo = bar || foo = \"${bar}\"\n const varData = findVariable(valTokens[0].value, ctx);\n if (varData) {\n ctx.globalVars[key] = { ...varData };\n }\n } else {\n // = string value\n const dep = parseDependencyString(valTokens[0].value);\n if (dep) {\n dep.sharedVariableName = key;\n dep.managerData = {\n fileReplacePosition: valTokens[0].offset + dep.depName!.length + 1,\n packageFile: ctx.packageFile,\n };\n ctx.deps.push(dep);\n }\n\n ctx.globalVars[key] = {\n key,\n value: valTokens[0].value,\n fileReplacePosition: valTokens[0].offset,\n packageFile: ctx.packageFile,\n };\n }\n\n return ctx;\n}\n\nexport function handleDepString(ctx: Ctx): Ctx {\n const stringTokens = loadFromTokenMap(ctx, 'templateStringTokens');\n\n const templateString = interpolateString(stringTokens, ctx);\n if (!templateString) {\n return ctx;\n }\n\n const dep = parseDependencyString(templateString);\n if (!dep) {\n return ctx;\n }\n\n let packageFile: string | undefined;\n let fileReplacePosition: number | undefined;\n for (const token of stringTokens) {\n if (token.type === 'symbol') {\n const varData = findVariable(token.value, ctx);\n if (varData) {\n packageFile = varData.packageFile;\n fileReplacePosition = varData.fileReplacePosition;\n if (varData.value === dep.currentValue) {\n dep.managerData = { fileReplacePosition, packageFile };\n dep.sharedVariableName = varData.key;\n }\n }\n }\n }\n\n if (!dep.managerData) {\n const lastToken = stringTokens[stringTokens.length - 1];\n if (\n lastToken?.type === 'string-value' &&\n dep.currentValue &&\n lastToken.value.includes(dep.currentValue)\n ) {\n packageFile = ctx.packageFile;\n if (stringTokens.length === 1) {\n fileReplacePosition = lastToken.offset + dep.depName!.length + 1;\n } else {\n fileReplacePosition =\n lastToken.offset + lastToken.value.lastIndexOf(dep.currentValue);\n }\n delete dep.sharedVariableName;\n } else {\n dep.skipReason = 'contains-variable';\n }\n dep.managerData = { fileReplacePosition, packageFile };\n }\n\n ctx.deps.push(dep);\n\n return ctx;\n}\n\nexport function handleKotlinShortNotationDep(ctx: Ctx): Ctx {\n const moduleNameTokens = loadFromTokenMap(ctx, 'artifactId');\n const versionTokens = loadFromTokenMap(ctx, 'version');\n\n const moduleName = interpolateString(moduleNameTokens, ctx);\n const versionValue = interpolateString(versionTokens, ctx);\n if (!moduleName || !versionValue) {\n return ctx;\n }\n\n const groupIdArtifactId = `org.jetbrains.kotlin:kotlin-${moduleName}`;\n const dep = parseDependencyString(`${groupIdArtifactId}:${versionValue}`);\n if (!dep) {\n return ctx;\n }\n\n dep.depName = moduleName;\n dep.packageName = groupIdArtifactId;\n dep.managerData = {\n fileReplacePosition: versionTokens[0].offset,\n packageFile: ctx.packageFile,\n };\n\n if (versionTokens.length > 1) {\n // = template string with multiple variables\n dep.skipReason = 'unspecified-version';\n } else if (versionTokens[0].type === 'symbol') {\n const varData = findVariable(versionTokens[0].value, ctx);\n if (varData) {\n dep.sharedVariableName = varData.key;\n dep.currentValue = varData.value;\n dep.managerData = {\n fileReplacePosition: varData.fileReplacePosition,\n packageFile: varData.packageFile,\n };\n }\n }\n\n ctx.deps.push(dep);\n\n return ctx;\n}\n\nexport function handleLongFormDep(ctx: Ctx): Ctx {\n const groupIdTokens = loadFromTokenMap(ctx, 'groupId');\n const artifactIdTokens = loadFromTokenMap(ctx, 'artifactId');\n const versionTokens = loadFromTokenMap(ctx, 'version');\n\n const groupId = interpolateString(groupIdTokens, ctx);\n const artifactId = interpolateString(artifactIdTokens, ctx);\n const version = interpolateString(versionTokens, ctx);\n if (!groupId || !artifactId || !version) {\n return ctx;\n }\n\n // Special handling: 3 independent dependencies mismatched as groupId, artifactId, version\n if (\n isDependencyString(groupId) &&\n isDependencyString(artifactId) &&\n isDependencyString(version)\n ) {\n ctx.tokenMap.templateStringTokens = groupIdTokens;\n handleDepString(ctx);\n ctx.tokenMap.templateStringTokens = artifactIdTokens;\n handleDepString(ctx);\n ctx.tokenMap.templateStringTokens = versionTokens;\n handleDepString(ctx);\n\n return ctx;\n }\n\n const dep = parseDependencyString([groupId, artifactId, version].join(':'));\n if (!dep) {\n return ctx;\n }\n\n const methodName = ctx.tokenMap.methodName ?? null;\n if (versionTokens.length > 1) {\n // = template string with multiple variables\n dep.skipReason = 'unspecified-version';\n } else if (versionTokens[0].type === 'symbol') {\n const varData = findVariable(versionTokens[0].value, ctx);\n if (varData) {\n dep.sharedVariableName = varData.key;\n dep.managerData = {\n fileReplacePosition: varData.fileReplacePosition,\n packageFile: varData.packageFile,\n };\n }\n } else {\n // = string value\n if (methodName?.[0]?.value === 'dependencySet') {\n dep.sharedVariableName = `${groupId}:${version}`;\n }\n dep.managerData = {\n fileReplacePosition: versionTokens[0].offset,\n packageFile: ctx.packageFile,\n };\n }\n\n ctx.deps.push(dep);\n\n return ctx;\n}\n\nexport function handlePlugin(ctx: Ctx): Ctx {\n const methodName = loadFromTokenMap(ctx, 'methodName')[0];\n const pluginName = loadFromTokenMap(ctx, 'pluginName')[0];\n const pluginVersion = loadFromTokenMap(ctx, 'version');\n\n const plugin = pluginName.value;\n const depName =\n methodName.value === 'kotlin' ? `org.jetbrains.kotlin.${plugin}` : plugin;\n const packageName = `${depName}:${depName}.gradle.plugin`;\n\n const dep: PackageDependency<GradleManagerData> = {\n depType: 'plugin',\n depName,\n packageName,\n commitMessageTopic: `plugin ${depName}`,\n currentValue: pluginVersion[0].value,\n managerData: {\n fileReplacePosition: pluginVersion[0].offset,\n packageFile: ctx.packageFile,\n },\n };\n\n if (pluginVersion.length > 1) {\n // = template string with multiple variables\n dep.skipReason = 'unspecified-version';\n } else if (pluginVersion[0].type === 'symbol') {\n const varData = findVariable(pluginVersion[0].value, ctx);\n if (varData) {\n dep.sharedVariableName = varData.key;\n dep.currentValue = varData.value;\n dep.managerData = {\n fileReplacePosition: varData.fileReplacePosition,\n packageFile: varData.packageFile,\n };\n } else {\n dep.skipReason = 'unspecified-version';\n }\n }\n\n ctx.deps.push(dep);\n\n return ctx;\n}\n\nfunction isValidContentDescriptorRegex(\n fieldName: string,\n pattern: string,\n): boolean {\n try {\n regEx(pattern);\n } catch {\n logger.debug(\n `Skipping content descriptor with unsupported regExp pattern for ${fieldName}: ${pattern}`,\n );\n return false;\n }\n\n return true;\n}\n\nexport function handleRegistryContent(ctx: Ctx): Ctx {\n const methodName = loadFromTokenMap(ctx, 'methodName')[0].value;\n let groupId = loadFromTokenMap(ctx, 'groupId')[0].value;\n\n let matcher: ContentDescriptorMatcher = 'simple';\n if (methodName.includes('Regex')) {\n matcher = 'regex';\n groupId = `^${groupId}$`.replaceAll('\\\\\\\\', '\\\\');\n if (!isValidContentDescriptorRegex('group', groupId)) {\n return ctx;\n }\n } else if (methodName.includes('AndSubgroups')) {\n matcher = 'subgroup';\n }\n\n const mode = methodName.startsWith('include') ? 'include' : 'exclude';\n const spec: ContentDescriptorSpec = { mode, matcher, groupId };\n\n if (methodName.includes('Module') || methodName.includes('Version')) {\n spec.artifactId = loadFromTokenMap(ctx, 'artifactId')[0].value;\n if (matcher === 'regex') {\n spec.artifactId = `^${spec.artifactId}$`.replaceAll('\\\\\\\\', '\\\\');\n if (!isValidContentDescriptorRegex('module', spec.artifactId)) {\n return ctx;\n }\n }\n }\n\n if (methodName.includes('Version')) {\n spec.version = loadFromTokenMap(ctx, 'version')[0].value;\n if (matcher === 'regex') {\n spec.version = `^${spec.version}$`.replaceAll('\\\\\\\\', '\\\\');\n if (!isValidContentDescriptorRegex('version', spec.version)) {\n return ctx;\n }\n }\n }\n\n ctx.tmpRegistryContent.push(spec);\n\n return ctx;\n}\n\nfunction isPluginRegistry(ctx: Ctx): boolean {\n if (ctx.tokenMap.registryScope) {\n const registryScope = loadFromTokenMap(ctx, 'registryScope')[0].value;\n return registryScope === 'pluginManagement';\n }\n\n return false;\n}\n\nexport function handleRegistryUrl(ctx: Ctx): Ctx {\n let localVariables = ctx.globalVars;\n\n if (ctx.tokenMap.name) {\n const nameTokens = loadFromTokenMap(ctx, 'name');\n const nameValue = interpolateString(nameTokens, ctx, localVariables);\n if (nameValue) {\n localVariables = {\n ...localVariables,\n name: {\n key: 'name',\n value: nameValue,\n },\n };\n }\n }\n\n let registryUrl = interpolateString(\n loadFromTokenMap(ctx, 'registryUrl'),\n ctx,\n localVariables,\n );\n if (registryUrl) {\n registryUrl = registryUrl.replace(regEx(/\\\\/g), '');\n const url = parseUrl(registryUrl);\n if (url?.host && url.protocol) {\n ctx.registryUrls.push({\n registryUrl,\n scope: isPluginRegistry(ctx) ? 'plugin' : 'dep',\n content: ctx.tmpRegistryContent,\n });\n }\n }\n\n return ctx;\n}\n\nexport function handleLibraryDep(ctx: Ctx): Ctx {\n const groupIdTokens = loadFromTokenMap(ctx, 'groupId');\n const artifactIdTokens = loadFromTokenMap(ctx, 'artifactId');\n\n const groupId = interpolateString(groupIdTokens, ctx);\n const artifactId = interpolateString(artifactIdTokens, ctx);\n if (!groupId || !artifactId) {\n return ctx;\n }\n\n const aliasToken = loadFromTokenMap(ctx, 'alias')[0];\n const key = `libs.${aliasToken.value.replace(regEx(/[-_]/g), '.')}`;\n\n ctx.globalVars[key] = {\n key,\n value: `${groupId}:${artifactId}`,\n fileReplacePosition: aliasToken.offset,\n packageFile: ctx.packageFile,\n };\n\n if (ctx.tokenMap.version) {\n const version = interpolateString(loadFromTokenMap(ctx, 'version'), ctx);\n if (version) {\n handleLongFormDep(ctx);\n }\n }\n\n return ctx;\n}\n\nexport function handleApplyFrom(ctx: Ctx): Ctx {\n let scriptFile = interpolateString(loadFromTokenMap(ctx, 'scriptFile'), ctx);\n if (!scriptFile) {\n return ctx;\n }\n\n if (ctx.tokenMap.parentPath) {\n const parentPath = interpolateString(\n loadFromTokenMap(ctx, 'parentPath'),\n ctx,\n );\n if (parentPath && scriptFile) {\n scriptFile = upath.join(parentPath, scriptFile);\n }\n }\n\n if (ctx.recursionDepth > 2) {\n logger.debug(`Max recursion depth reached in script file: ${scriptFile}`);\n return ctx;\n }\n\n if (!regEx(/\\.gradle(\\.kts)?$/).test(scriptFile)) {\n logger.debug({ scriptFile }, `Only Gradle files can be included`);\n return ctx;\n }\n\n const scriptFilePath = getSiblingFileName(ctx.packageFile, scriptFile);\n if (!ctx.fileContents[scriptFilePath]) {\n logger.debug(`Failed to process included Gradle file ${scriptFilePath}`);\n return ctx;\n }\n\n const matchResult = parseGradle(\n // TODO #22198\n ctx.fileContents[scriptFilePath],\n ctx.globalVars,\n scriptFilePath,\n ctx.fileContents,\n ctx.recursionDepth + 1,\n );\n\n ctx.deps.push(...matchResult.deps);\n ctx.globalVars = { ...ctx.globalVars, ...matchResult.vars };\n ctx.registryUrls.push(...matchResult.urls);\n\n return ctx;\n}\n\nexport function handleImplicitDep(ctx: Ctx): Ctx {\n const implicitDepName = loadFromTokenMap(ctx, 'implicitDepName')[0].value;\n const versionTokens = loadFromTokenMap(ctx, 'version');\n const versionValue = interpolateString(versionTokens, ctx);\n if (!versionValue) {\n return ctx;\n }\n\n const isImplicitGradlePlugin = implicitDepName in GRADLE_PLUGINS;\n const groupIdArtifactId = isImplicitGradlePlugin\n ? GRADLE_PLUGINS[implicitDepName as keyof typeof GRADLE_PLUGINS][1]\n : GRADLE_TEST_SUITES[implicitDepName as keyof typeof GRADLE_TEST_SUITES];\n\n const dep = parseDependencyString(`${groupIdArtifactId}:${versionValue}`);\n if (!dep) {\n return ctx;\n }\n\n dep.depName = implicitDepName;\n dep.packageName = groupIdArtifactId;\n dep.managerData = {\n fileReplacePosition: versionTokens[0].offset,\n packageFile: ctx.packageFile,\n };\n\n if (versionTokens.length > 1) {\n // = template string with multiple variables\n dep.skipReason = 'unspecified-version';\n } else if (versionTokens[0].type === 'symbol') {\n const varData = findVariable(versionTokens[0].value, ctx);\n if (varData) {\n dep.sharedVariableName = varData.key;\n dep.currentValue = varData.value;\n dep.managerData = {\n fileReplacePosition: varData.fileReplacePosition,\n packageFile: varData.packageFile,\n };\n }\n }\n\n ctx.deps.push(dep);\n\n return ctx;\n}\n"]}
|
@@ -54,7 +54,15 @@ const qUri = good_enough_parser_1.query
|
|
54
54
|
// mavenCentral()
|
55
55
|
// mavenCentral { ... }
|
56
56
|
const qPredefinedRegistries = good_enough_parser_1.query
|
57
|
-
.sym((0, regex_1.regEx)(`^(?:${Object.keys(common_1.REGISTRY_URLS).join('|')})$`),
|
57
|
+
.sym((0, regex_1.regEx)(`^(?:${Object.keys(common_1.REGISTRY_URLS).join('|')})$`), (ctx, node) => {
|
58
|
+
const nodeTransformed = {
|
59
|
+
...node,
|
60
|
+
type: 'string-value',
|
61
|
+
value: common_1.REGISTRY_URLS[node.value],
|
62
|
+
};
|
63
|
+
(0, common_1.storeVarToken)(ctx, nodeTransformed);
|
64
|
+
return ctx;
|
65
|
+
})
|
58
66
|
.handler((ctx) => (0, common_1.storeInTokenMap)(ctx, 'registryUrl'))
|
59
67
|
.alt(good_enough_parser_1.query
|
60
68
|
.tree({
|
@@ -69,7 +77,7 @@ const qPredefinedRegistries = good_enough_parser_1.query
|
|
69
77
|
endsWith: '}',
|
70
78
|
search: good_enough_parser_1.query.opt(qRegistryContent),
|
71
79
|
}))
|
72
|
-
.handler(handlers_1.
|
80
|
+
.handler(handlers_1.handleRegistryUrl)
|
73
81
|
.handler(cleanupTmpContentSpec)
|
74
82
|
.handler(common_1.cleanupTempVars);
|
75
83
|
// { url = "https://some.repo"; content { ... } }
|
@@ -103,7 +111,7 @@ const qCustomRegistryUrl = good_enough_parser_1.query
|
|
103
111
|
search: good_enough_parser_1.query.begin().opt(good_enough_parser_1.query.sym('url').op('=')).join(qUri).end(),
|
104
112
|
})
|
105
113
|
.opt(qMavenArtifactRegistry), qMavenArtifactRegistry)
|
106
|
-
.handler(handlers_1.
|
114
|
+
.handler(handlers_1.handleRegistryUrl)
|
107
115
|
.handler(cleanupTmpContentSpec)
|
108
116
|
.handler(common_1.cleanupTempVars);
|
109
117
|
const qPluginManagement = good_enough_parser_1.query.sym('pluginManagement', common_1.storeVarToken).tree({
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"registry-urls.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/gradle/parser/registry-urls.ts"],"names":[],"mappings":"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","sourcesContent":["import type { parser } from 'good-enough-parser';\nimport { query as q } from 'good-enough-parser';\nimport { regEx } from '../../../../util/regex';\nimport type { Ctx } from '../types';\nimport { qApplyFrom } from './apply-from';\nimport { qAssignments } from './assignments';\nimport {\n REGISTRY_URLS,\n cleanupTempVars,\n qArtifactId,\n qGroupId,\n qValueMatcher,\n qVersion,\n storeInTokenMap,\n storeVarToken,\n} from './common';\nimport {\n handleCustomRegistryUrl,\n handlePredefinedRegistryUrl,\n handleRegistryContent,\n} from './handlers';\nimport { qPlugins } from './plugins';\n\nconst cleanupTmpContentSpec = (ctx: Ctx): Ctx => {\n ctx.tmpRegistryContent = [];\n return ctx;\n};\n\nconst qContentDescriptorSpec = (\n methodName: RegExp,\n matcher: q.QueryBuilder<Ctx, parser.Node>,\n): q.QueryBuilder<Ctx, parser.Node> => {\n return q\n .sym<Ctx>(methodName, storeVarToken)\n .handler((ctx) => storeInTokenMap(ctx, 'methodName'))\n .alt(\n // includeGroup \"foo.bar\"\n matcher,\n // includeGroup(\"foo.bar\")\n q.tree({\n type: 'wrapped-tree',\n maxDepth: 1,\n startsWith: '(',\n endsWith: ')',\n search: q.begin<Ctx>().join(matcher).end(),\n }),\n );\n};\n\n// includeModule('foo')\n// excludeModuleByRegex('bar')\nconst qContentDescriptor = (\n mode: 'include' | 'exclude',\n): q.QueryBuilder<Ctx, parser.Node> => {\n return q\n .alt<Ctx>(\n qContentDescriptorSpec(\n regEx(\n `^(?:${mode}Group|${mode}GroupByRegex|${mode}GroupAndSubgroups)$`,\n ),\n qGroupId,\n ),\n qContentDescriptorSpec(\n regEx(`^(?:${mode}Module|${mode}ModuleByRegex)$`),\n q.join(qGroupId, q.op(','), qArtifactId),\n ),\n qContentDescriptorSpec(\n regEx(`^(?:${mode}Version|${mode}VersionByRegex)$`),\n q.join(qGroupId, q.op(','), qArtifactId, q.op(','), qVersion),\n ),\n )\n .handler(handleRegistryContent);\n};\n\n// content { includeModule('foo'); excludeModule('bar') }\nconst qRegistryContent = q.sym<Ctx>('content').tree({\n type: 'wrapped-tree',\n maxDepth: 1,\n startsWith: '{',\n endsWith: '}',\n search: q.alt(qContentDescriptor('include'), qContentDescriptor('exclude')),\n});\n\n// uri(\"https://foo.bar/baz\")\n// \"https://foo.bar/baz\"\nconst qUri = q\n .alt(\n q.sym<Ctx>('uri').tree({\n maxDepth: 1,\n search: qValueMatcher,\n }),\n qValueMatcher,\n )\n .handler((ctx) => storeInTokenMap(ctx, 'registryUrl'));\n\n// mavenCentral()\n// mavenCentral { ... }\nconst qPredefinedRegistries = q\n .sym(regEx(`^(?:${Object.keys(REGISTRY_URLS).join('|')})$`), storeVarToken)\n .handler((ctx) => storeInTokenMap(ctx, 'registryUrl'))\n .alt(\n q\n .tree({\n type: 'wrapped-tree',\n startsWith: '(',\n endsWith: ')',\n search: q.begin<Ctx>().end(),\n })\n .opt(q.op<Ctx>('.').join(qRegistryContent)),\n q.tree({\n type: 'wrapped-tree',\n startsWith: '{',\n endsWith: '}',\n search: q.opt(qRegistryContent),\n }),\n )\n .handler(handlePredefinedRegistryUrl)\n .handler(cleanupTmpContentSpec)\n .handler(cleanupTempVars);\n\n// { url = \"https://some.repo\"; content { ... } }\nconst qMavenArtifactRegistry = q.tree({\n type: 'wrapped-tree',\n maxDepth: 1,\n startsWith: '{',\n endsWith: '}',\n search: q.alt(\n q\n .sym<Ctx>('name')\n .opt(q.op('='))\n .join(qValueMatcher)\n .handler((ctx) => storeInTokenMap(ctx, 'name')),\n q.sym<Ctx>('url').opt(q.op('=')).join(qUri),\n q.sym<Ctx>('setUrl').tree({\n maxDepth: 1,\n startsWith: '(',\n endsWith: ')',\n search: q.begin<Ctx>().join(qUri).end(),\n }),\n qRegistryContent,\n ),\n});\n\n// maven(url = uri(\"https://foo.bar/baz\"))\n// maven(\"https://foo.bar/baz\") { content { ... } }\n// maven { name = some; url = \"https://foo.bar/${name}\" }\nconst qCustomRegistryUrl = q\n .sym<Ctx>('maven')\n .alt(\n q\n .tree<Ctx>({\n type: 'wrapped-tree',\n maxDepth: 1,\n startsWith: '(',\n endsWith: ')',\n search: q.begin<Ctx>().opt(q.sym<Ctx>('url').op('=')).join(qUri).end(),\n })\n .opt(qMavenArtifactRegistry),\n qMavenArtifactRegistry,\n )\n .handler(handleCustomRegistryUrl)\n .handler(cleanupTmpContentSpec)\n .handler(cleanupTempVars);\n\nconst qPluginManagement = q.sym<Ctx>('pluginManagement', storeVarToken).tree({\n type: 'wrapped-tree',\n startsWith: '{',\n endsWith: '}',\n preHandler: (ctx) => {\n ctx.tmpTokenStore.registryScope = ctx.varTokens;\n ctx.varTokens = [];\n return ctx;\n },\n search: q\n .handler<Ctx>((ctx) => {\n if (ctx.tmpTokenStore.registryScope) {\n ctx.tokenMap.registryScope = ctx.tmpTokenStore.registryScope;\n }\n return ctx;\n })\n .alt(\n qAssignments,\n qApplyFrom,\n qPlugins,\n qPredefinedRegistries,\n qCustomRegistryUrl,\n ),\n postHandler: (ctx) => {\n delete ctx.tmpTokenStore.registryScope;\n return ctx;\n },\n});\n\nexport const qRegistryUrls = q.alt<Ctx>(\n q.sym<Ctx>('publishing').tree(),\n qPluginManagement,\n qPredefinedRegistries,\n qCustomRegistryUrl,\n);\n"]}
|
1
|
+
{"version":3,"file":"registry-urls.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/gradle/parser/registry-urls.ts"],"names":[],"mappings":"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","sourcesContent":["import type { lexer, parser } from 'good-enough-parser';\nimport { query as q } from 'good-enough-parser';\nimport { regEx } from '../../../../util/regex';\nimport type { Ctx } from '../types';\nimport { qApplyFrom } from './apply-from';\nimport { qAssignments } from './assignments';\nimport {\n REGISTRY_URLS,\n cleanupTempVars,\n qArtifactId,\n qGroupId,\n qValueMatcher,\n qVersion,\n storeInTokenMap,\n storeVarToken,\n} from './common';\nimport { handleRegistryContent, handleRegistryUrl } from './handlers';\nimport { qPlugins } from './plugins';\n\nconst cleanupTmpContentSpec = (ctx: Ctx): Ctx => {\n ctx.tmpRegistryContent = [];\n return ctx;\n};\n\nconst qContentDescriptorSpec = (\n methodName: RegExp,\n matcher: q.QueryBuilder<Ctx, parser.Node>,\n): q.QueryBuilder<Ctx, parser.Node> => {\n return q\n .sym<Ctx>(methodName, storeVarToken)\n .handler((ctx) => storeInTokenMap(ctx, 'methodName'))\n .alt(\n // includeGroup \"foo.bar\"\n matcher,\n // includeGroup(\"foo.bar\")\n q.tree({\n type: 'wrapped-tree',\n maxDepth: 1,\n startsWith: '(',\n endsWith: ')',\n search: q.begin<Ctx>().join(matcher).end(),\n }),\n );\n};\n\n// includeModule('foo')\n// excludeModuleByRegex('bar')\nconst qContentDescriptor = (\n mode: 'include' | 'exclude',\n): q.QueryBuilder<Ctx, parser.Node> => {\n return q\n .alt<Ctx>(\n qContentDescriptorSpec(\n regEx(\n `^(?:${mode}Group|${mode}GroupByRegex|${mode}GroupAndSubgroups)$`,\n ),\n qGroupId,\n ),\n qContentDescriptorSpec(\n regEx(`^(?:${mode}Module|${mode}ModuleByRegex)$`),\n q.join(qGroupId, q.op(','), qArtifactId),\n ),\n qContentDescriptorSpec(\n regEx(`^(?:${mode}Version|${mode}VersionByRegex)$`),\n q.join(qGroupId, q.op(','), qArtifactId, q.op(','), qVersion),\n ),\n )\n .handler(handleRegistryContent);\n};\n\n// content { includeModule('foo'); excludeModule('bar') }\nconst qRegistryContent = q.sym<Ctx>('content').tree({\n type: 'wrapped-tree',\n maxDepth: 1,\n startsWith: '{',\n endsWith: '}',\n search: q.alt(qContentDescriptor('include'), qContentDescriptor('exclude')),\n});\n\n// uri(\"https://foo.bar/baz\")\n// \"https://foo.bar/baz\"\nconst qUri = q\n .alt(\n q.sym<Ctx>('uri').tree({\n maxDepth: 1,\n search: qValueMatcher,\n }),\n qValueMatcher,\n )\n .handler((ctx) => storeInTokenMap(ctx, 'registryUrl'));\n\n// mavenCentral()\n// mavenCentral { ... }\nconst qPredefinedRegistries = q\n .sym(\n regEx(`^(?:${Object.keys(REGISTRY_URLS).join('|')})$`),\n (ctx: Ctx, node: lexer.Token) => {\n const nodeTransformed: lexer.Token = {\n ...node,\n type: 'string-value',\n value: REGISTRY_URLS[node.value as keyof typeof REGISTRY_URLS],\n };\n storeVarToken(ctx, nodeTransformed);\n return ctx;\n },\n )\n .handler((ctx) => storeInTokenMap(ctx, 'registryUrl'))\n .alt(\n q\n .tree({\n type: 'wrapped-tree',\n startsWith: '(',\n endsWith: ')',\n search: q.begin<Ctx>().end(),\n })\n .opt(q.op<Ctx>('.').join(qRegistryContent)),\n q.tree({\n type: 'wrapped-tree',\n startsWith: '{',\n endsWith: '}',\n search: q.opt(qRegistryContent),\n }),\n )\n .handler(handleRegistryUrl)\n .handler(cleanupTmpContentSpec)\n .handler(cleanupTempVars);\n\n// { url = \"https://some.repo\"; content { ... } }\nconst qMavenArtifactRegistry = q.tree({\n type: 'wrapped-tree',\n maxDepth: 1,\n startsWith: '{',\n endsWith: '}',\n search: q.alt(\n q\n .sym<Ctx>('name')\n .opt(q.op('='))\n .join(qValueMatcher)\n .handler((ctx) => storeInTokenMap(ctx, 'name')),\n q.sym<Ctx>('url').opt(q.op('=')).join(qUri),\n q.sym<Ctx>('setUrl').tree({\n maxDepth: 1,\n startsWith: '(',\n endsWith: ')',\n search: q.begin<Ctx>().join(qUri).end(),\n }),\n qRegistryContent,\n ),\n});\n\n// maven(url = uri(\"https://foo.bar/baz\"))\n// maven(\"https://foo.bar/baz\") { content { ... } }\n// maven { name = some; url = \"https://foo.bar/${name}\" }\nconst qCustomRegistryUrl = q\n .sym<Ctx>('maven')\n .alt(\n q\n .tree<Ctx>({\n type: 'wrapped-tree',\n maxDepth: 1,\n startsWith: '(',\n endsWith: ')',\n search: q.begin<Ctx>().opt(q.sym<Ctx>('url').op('=')).join(qUri).end(),\n })\n .opt(qMavenArtifactRegistry),\n qMavenArtifactRegistry,\n )\n .handler(handleRegistryUrl)\n .handler(cleanupTmpContentSpec)\n .handler(cleanupTempVars);\n\nconst qPluginManagement = q.sym<Ctx>('pluginManagement', storeVarToken).tree({\n type: 'wrapped-tree',\n startsWith: '{',\n endsWith: '}',\n preHandler: (ctx) => {\n ctx.tmpTokenStore.registryScope = ctx.varTokens;\n ctx.varTokens = [];\n return ctx;\n },\n search: q\n .handler<Ctx>((ctx) => {\n if (ctx.tmpTokenStore.registryScope) {\n ctx.tokenMap.registryScope = ctx.tmpTokenStore.registryScope;\n }\n return ctx;\n })\n .alt(\n qAssignments,\n qApplyFrom,\n qPlugins,\n qPredefinedRegistries,\n qCustomRegistryUrl,\n ),\n postHandler: (ctx) => {\n delete ctx.tmpTokenStore.registryScope;\n return ctx;\n },\n});\n\nexport const qRegistryUrls = q.alt<Ctx>(\n q.sym<Ctx>('publishing').tree(),\n qPluginManagement,\n qPredefinedRegistries,\n qCustomRegistryUrl,\n);\n"]}
|
@@ -44,7 +44,7 @@ function getDistributionUrl(newPackageFileContent) {
|
|
44
44
|
return null;
|
45
45
|
}
|
46
46
|
async function getDistributionChecksum(url) {
|
47
|
-
const { body } = await http.
|
47
|
+
const { body } = await http.getText(`${url}.sha256`);
|
48
48
|
return body;
|
49
49
|
}
|
50
50
|
async function updateBuildFile(localGradleDir, wrapperProperties) {
|
@@ -120,7 +120,6 @@ async function updateArtifacts({ packageFileName, newPackageFileContent, updated
|
|
120
120
|
const execOptions = {
|
121
121
|
cwdFile: gradlewFile,
|
122
122
|
docker: {},
|
123
|
-
userConfiguredEnv: config.env,
|
124
123
|
extraEnv: utils_1.extraEnv,
|
125
124
|
toolConstraints: [
|
126
125
|
{
|
@@ -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 { dirname, join } 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.get(`${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 = join(localGradleDir, 'build.gradle');\n if (!(await localPathExists(buildFileName))) {\n buildFileName = 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 = join(dirname(packageFileName), '../../');\n const gradlewFile = 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 userConfiguredEnv: config.env,\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) => 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 is from '@sindresorhus/is';\nimport { lang, query as q } from 'good-enough-parser';\nimport { quote } from 'shlex';\nimport { dirname, join } 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 = join(localGradleDir, 'build.gradle');\n if (!(await localPathExists(buildFileName))) {\n buildFileName = 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 = join(dirname(packageFileName), '../../');\n const gradlewFile = 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) => 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"]}
|
@@ -69,7 +69,6 @@ async function updateArtifacts({ packageFileName, updatedDeps, newPackageFileCon
|
|
69
69
|
cmd.push(`helmfile deps -f ${(0, shlex_1.quote)(packageFileName)}`);
|
70
70
|
await (0, exec_1.exec)(cmd, {
|
71
71
|
docker: {},
|
72
|
-
userConfiguredEnv: config.env,
|
73
72
|
extraEnv: (0, common_1.generateHelmEnvs)(),
|
74
73
|
toolConstraints,
|
75
74
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/helmfile/artifacts.ts"],"names":[],"mappings":";;AAqBA,
|
1
|
+
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/helmfile/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import is 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 (is.falsy(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"]}
|
@@ -38,6 +38,10 @@ async function extractPackageFile(content, packageFile, config) {
|
|
38
38
|
if (doc.repositories) {
|
39
39
|
registryData = {};
|
40
40
|
for (const repo of doc.repositories) {
|
41
|
+
if (repo.url?.startsWith('git+')) {
|
42
|
+
logger_1.logger.debug({ repo, packageFile }, `Skipping unsupported helm-git repository.`);
|
43
|
+
continue;
|
44
|
+
}
|
41
45
|
registryData[repo.name] = repo;
|
42
46
|
}
|
43
47
|
logger_1.logger.debug({ registryAliases: registryData, packageFile }, `repositories discovered.`);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/helmfile/extract.ts"],"names":[],"mappings":";;AAkCA,
|
1
|
+
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/helmfile/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { coerceArray } from '../../../util/array';\nimport { regEx } from '../../../util/regex';\nimport { parseYaml } from '../../../util/yaml';\nimport { DockerDatasource } from '../../datasource/docker';\nimport { HelmDatasource } from '../../datasource/helm';\nimport { isOCIRegistry } from '../helmv3/oci';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFileContent,\n} from '../types';\nimport type { Doc, HelmRepository } from './schema';\nimport { Doc as documentSchema } from './schema';\nimport {\n kustomizationsKeysUsed,\n localChartHasKustomizationsYaml,\n} from './utils';\n\nfunction isValidChartName(name: string | undefined, oci: boolean): boolean {\n if (oci) {\n return !!name && !regEx(/[!@#$%^&*(),.?\":{}|<>A-Z]/).test(name);\n } else {\n return !!name && !regEx(/[!@#$%^&*(),.?\":{}/|<>A-Z]/).test(name);\n }\n}\n\nfunction isLocalPath(possiblePath: string): boolean {\n return ['./', '../', '/'].some((localPrefix) =>\n possiblePath.startsWith(localPrefix),\n );\n}\n\nexport async function extractPackageFile(\n content: string,\n packageFile: string,\n config: ExtractConfig,\n): Promise<PackageFileContent | null> {\n const deps: PackageDependency[] = [];\n let registryData: Record<string, HelmRepository> = {};\n // Record kustomization usage for all deps, since updating artifacts is run on the helmfile.yaml as a whole.\n let needKustomize = false;\n const docs: Doc[] = parseYaml(content, {\n customSchema: documentSchema,\n failureBehaviour: 'filter',\n removeTemplates: true,\n });\n\n for (const doc of docs) {\n // Always check for repositories in the current document and override the existing ones if any (as YAML does)\n if (doc.repositories) {\n registryData = {};\n for (const repo of doc.repositories) {\n if (repo.url?.startsWith('git+')) {\n logger.debug(\n { repo, packageFile },\n `Skipping unsupported helm-git repository.`,\n );\n continue;\n }\n registryData[repo.name] = repo;\n }\n logger.debug(\n { registryAliases: registryData, packageFile },\n `repositories discovered.`,\n );\n }\n\n for (const dep of coerceArray(doc.releases)) {\n let depName = dep.chart;\n let repoName: string | null = null;\n\n // If it starts with ./ ../ or / then it's a local path\n if (isLocalPath(dep.chart)) {\n if (\n kustomizationsKeysUsed(dep) ||\n (await localChartHasKustomizationsYaml(dep, packageFile))\n ) {\n needKustomize = true;\n }\n deps.push({\n depName: dep.name,\n skipReason: 'local-chart',\n });\n continue;\n }\n\n if (isOCIRegistry(dep.chart)) {\n const v = dep.chart.substring(6).split('/');\n depName = v.pop()!;\n repoName = v.join('/');\n } else if (dep.chart.includes('/')) {\n const v = dep.chart.split('/');\n repoName = v.shift()!;\n depName = v.join('/');\n } else {\n repoName = dep.chart;\n }\n\n if (!is.string(dep.version)) {\n deps.push({\n depName,\n skipReason: 'invalid-version',\n });\n continue;\n }\n\n const res: PackageDependency = {\n depName,\n currentValue: dep.version,\n registryUrls: [registryData[repoName]?.url]\n .concat([config.registryAliases?.[repoName]] as string[])\n .filter(is.string),\n };\n if (kustomizationsKeysUsed(dep)) {\n needKustomize = true;\n }\n\n if (isOCIRegistry(dep.chart)) {\n res.datasource = DockerDatasource.id;\n res.packageName = `${repoName}/${depName}`;\n } else if (registryData[repoName]?.oci) {\n res.datasource = DockerDatasource.id;\n const alias = registryData[repoName]?.url;\n if (alias) {\n res.packageName = `${alias}/${depName}`;\n }\n }\n\n // By definition on helm the chart name should be lowercase letter + number + -\n // However helmfile support templating of that field\n if (\n !isValidChartName(\n res.depName,\n isOCIRegistry(dep.chart) || (registryData[repoName]?.oci ?? false),\n )\n ) {\n res.skipReason = 'unsupported-chart-type';\n }\n\n // Skip in case we cannot locate the registry\n if (\n res.datasource !== DockerDatasource.id &&\n is.emptyArray(res.registryUrls)\n ) {\n res.skipReason = 'unknown-registry';\n }\n\n deps.push(res);\n }\n }\n\n return deps.length\n ? {\n deps,\n datasource: HelmDatasource.id,\n ...(needKustomize && { managerData: { needKustomize } }),\n }\n : null;\n}\n"]}
|
@@ -4,12 +4,12 @@ export declare const HelmRepository: z.ZodObject<{
|
|
4
4
|
url: z.ZodString;
|
5
5
|
oci: z.ZodOptional<z.ZodBoolean>;
|
6
6
|
}, "strip", z.ZodTypeAny, {
|
7
|
-
name: string;
|
8
7
|
url: string;
|
8
|
+
name: string;
|
9
9
|
oci?: boolean | undefined;
|
10
10
|
}, {
|
11
|
-
name: string;
|
12
11
|
url: string;
|
12
|
+
name: string;
|
13
13
|
oci?: boolean | undefined;
|
14
14
|
}>;
|
15
15
|
export type HelmRepository = z.infer<typeof HelmRepository>;
|
@@ -46,16 +46,11 @@ export declare const Doc: z.ZodObject<{
|
|
46
46
|
transformers?: unknown;
|
47
47
|
}[], any[]>>;
|
48
48
|
repositories: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodAny, "many">, {
|
49
|
-
name: string;
|
50
49
|
url: string;
|
50
|
+
name: string;
|
51
51
|
oci?: boolean | undefined;
|
52
52
|
}[], any[]>>;
|
53
53
|
}, "strip", z.ZodTypeAny, {
|
54
|
-
repositories?: {
|
55
|
-
name: string;
|
56
|
-
url: string;
|
57
|
-
oci?: boolean | undefined;
|
58
|
-
}[] | undefined;
|
59
54
|
releases?: {
|
60
55
|
name: string;
|
61
56
|
version: string | null;
|
@@ -64,9 +59,14 @@ export declare const Doc: z.ZodObject<{
|
|
64
59
|
jsonPatches?: unknown;
|
65
60
|
transformers?: unknown;
|
66
61
|
}[] | undefined;
|
62
|
+
repositories?: {
|
63
|
+
url: string;
|
64
|
+
name: string;
|
65
|
+
oci?: boolean | undefined;
|
66
|
+
}[] | undefined;
|
67
67
|
}, {
|
68
|
-
repositories?: any[] | undefined;
|
69
68
|
releases?: any[] | undefined;
|
69
|
+
repositories?: any[] | undefined;
|
70
70
|
}>;
|
71
71
|
export type Doc = z.infer<typeof Doc>;
|
72
72
|
export declare const LockVersion: z.ZodPipeline<z.ZodEffects<z.ZodString, string | number | boolean | import("type-fest").JsonObject | import("type-fest").JsonValue[] | readonly import("type-fest").JsonValue[] | null, string>, z.ZodEffects<z.ZodObject<{
|
@@ -104,7 +104,6 @@ async function updateArtifacts({ packageFileName, updatedDeps, newPackageFileCon
|
|
104
104
|
};
|
105
105
|
const execOptions = {
|
106
106
|
docker: {},
|
107
|
-
userConfiguredEnv: config.env,
|
108
107
|
extraEnv: (0, common_1.generateHelmEnvs)(),
|
109
108
|
toolConstraints: [helmToolConstraint],
|
110
109
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/helmv3/artifacts.ts"],"names":[],"mappings":";;AAuFA,0CAqIC;;AA5ND,kEAAkC;AAClC,0DAAyB;AACzB,iCAA8B;AAC9B,sEAAoE;AACpE,4CAAyC;AACzC,6CAA0C;AAE1C,yCAK0B;AAC1B,2CAAkD;AAClD,4EAAsD;AACtD,iEAA2C;AAC3C,oDAA2D;AAC3D,gDAAuD;AAEvD,qCAA8D;AAC9D,+BAAuD;AAEvD,mCAIiB;AAEjB,KAAK,UAAU,YAAY,CACzB,WAAwB,EACxB,YAAoB,EACpB,YAA0B;IAE1B,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,2CAA2C;IAC3C,MAAM,UAAU,GAAqB,YAAY;SAC9C,MAAM,CAAC,mBAAa,CAAC;SACrB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACb,OAAO;YACL,GAAG,KAAK;YACR,UAAU,EAAE,IAAA,qBAAe,EAAC,KAAK,CAAC,UAAU,CAAC;YAC7C,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC;gBACvB,GAAG,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,0EAA0E;gBAC/H,QAAQ,EAAE,yBAAgB,CAAC,EAAE;aAC9B,CAAC;SACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,+DAA+D;IAC/D,MAAM,IAAA,eAAI,EAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACrC,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAgB,EAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;QACtE,IAAI,QAAQ,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,yDAAyD;IACzD,MAAM,mBAAmB,GAAqB,YAAY;SACvD,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAA,mBAAa,EAAC,UAAU,CAAC,CAAC;SAClD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACb,OAAO;YACL,GAAG,KAAK;YACR,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC;gBACvB,GAAG,EAAE,KAAK,CAAC,UAAU;gBACrB,QAAQ,EAAE,qBAAc,CAAC,EAAE;aAC5B,CAAC;SACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,oEAAoE;IACpE,mBAAmB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACpC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC9C,MAAM,UAAU,GAAG,CAAC,GAAG,IAAA,aAAK,EAAC,KAAK,CAAC,UAAU,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;QACpE,MAAM,aAAa,GAAG,QAAQ,IAAI,QAAQ,CAAC;QAC3C,IAAI,aAAa,EAAE,CAAC;YAClB,UAAU,CAAC,IAAI,CAAC,cAAc,IAAA,aAAK,EAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACjD,UAAU,CAAC,IAAI,CAAC,cAAc,IAAA,aAAK,EAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,iBAAiB,IAAA,aAAK,EAAC,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,0BAA0B,IAAA,aAAK,EAAC,IAAA,iBAAY,EAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IAExE,MAAM,IAAA,WAAI,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;AAC/B,CAAC;AAEM,KAAK,UAAU,eAAe,CAAC,EACpC,eAAe,EACf,WAAW,EACX,qBAAqB,EACrB,MAAM,GACS;IACf,eAAM,CAAC,KAAK,CAAC,0BAA0B,eAAe,GAAG,CAAC,CAAC;IAE3D,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAAC;IACzC,MAAM,8BAA8B,GAAG,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CACvE,4BAA4B,CAC7B,CAAC;IAEF,IACE,CAAC,qBAAqB;QACtB,CAAC,WAAW,KAAK,SAAS,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,EACrD,CAAC;QACD,eAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAG,IAAA,uBAAkB,EAAC,eAAe,EAAE,YAAY,CAAC,CAAC;IACvE,MAAM,uBAAuB,GAAG,MAAM,IAAA,kBAAa,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC1E,IAAI,CAAC,uBAAuB,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAChE,eAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,8DAA8D;QAC9D,2BAA2B;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CACnC,qBAAqB,CACtB,CAAC;QACF,MAAM,KAAK,GAAG,uBAAuB;YACnC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAkB,uBAAuB,CAAC;YAChE,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;QAEzB,MAAM,gBAAgB,GAAsB,EAAE,CAAC;QAC/C,wDAAwD;QACxD,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC3B,gBAAgB,CAAC,IAAI,CAAC;gBACpB,YAAY,EAAE,IAAA,iCAAyB,EAAC,MAAM,CAAC,eAAe,CAAC;aAChE,CAAC,CAAC;QACL,CAAC;QACD,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAEvC,MAAM,YAAY,GAAG,IAAA,uBAAe,EAAC,gBAAgB,CAAC,CAAC;QAEvD,MAAM,IAAA,mBAAc,EAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC;QAC7D,eAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACxC,MAAM,kBAAkB,GAAmB;YACzC,QAAQ,EAAE,MAAM;YAChB,UAAU,EAAE,MAAM,CAAC,WAAW,EAAE,IAAI;SACrC,CAAC;QAEF,MAAM,WAAW,GAAgB;YAC/B,MAAM,EAAE,EAAE;YACV,iBAAiB,EAAE,MAAM,CAAC,GAAG;YAC7B,QAAQ,EAAE,IAAA,yBAAgB,GAAE;YAC5B,eAAe,EAAE,CAAC,kBAAkB,CAAC;SACtC,CAAC;QACF,MAAM,YAAY,CAAC,WAAW,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;QAC/D,eAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAEjD,MAAM,WAAW,GAA4B,EAAE,CAAC;QAEhD,IAAI,YAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,EAAE,CAAC;YACvC,MAAM,kBAAkB,GAAG,MAAM,IAAA,kBAAa,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YACrE,MAAM,iBAAiB,GAAG,uBAAuB,KAAK,kBAAkB,CAAC;YACzE,IAAI,iBAAiB,EAAE,CAAC;gBACtB,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE;wBACJ,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,YAAY;wBAClB,QAAQ,EAAE,kBAAkB;qBAC7B;iBACF,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,eAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,gDAAgD;QAChD,IAAI,YAAE,CAAC,MAAM,CAAC,8BAA8B,CAAC,EAAE,CAAC;YAC9C,MAAM,UAAU,GAAG,IAAA,uBAAkB,EAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;YACjE,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAa,GAAE,CAAC;YACrC,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;YAC9C,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;YAE5C,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;gBAClC,2CAA2C;gBAC3C,IAAI,CAAC,IAAA,mBAAW,EAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC;oBACnC,SAAS;gBACX,CAAC;gBACD,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE;wBACJ,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,IAAI;wBACV,QAAQ,EAAE,MAAM,IAAA,kBAAa,EAAC,IAAI,CAAC;qBACpC;iBACF,CAAC,CAAC;YACL,CAAC;YAED,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;gBAClC,2CAA2C;gBAC3C,IAAI,CAAC,IAAA,mBAAW,EAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC;oBACnC,SAAS;gBACX,CAAC;gBACD,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE;wBACJ,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,IAAI;qBACX;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;IACrD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,qBAAqB;QACrB,IAAI,GAAG,CAAC,OAAO,KAAK,gCAAe,EAAE,CAAC;YACpC,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,eAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,iCAAiC,CAAC,CAAC;QACzD,OAAO;YACL;gBACE,aAAa,EAAE;oBACb,QAAQ,EAAE,YAAY;oBACtB,MAAM,EAAE,GAAG,CAAC,OAAO;iBACpB;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport pMap from 'p-map';\nimport { quote } from 'shlex';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions, ToolConstraint } from '../../../util/exec/types';\nimport {\n getParentDir,\n getSiblingFileName,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\nimport { getRepoStatus } from '../../../util/git';\nimport * as hostRules from '../../../util/host-rules';\nimport * as yaml from '../../../util/yaml';\nimport { DockerDatasource } from '../../datasource/docker';\nimport { HelmDatasource } from '../../datasource/helm';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\nimport { generateHelmEnvs, generateLoginCmd } from './common';\nimport { isOCIRegistry, removeOCIPrefix } from './oci';\nimport type { ChartDefinition, Repository, RepositoryRule } from './types';\nimport {\n aliasRecordToRepositories,\n getRepositories,\n isFileInDir,\n} from './utils';\n\nasync function helmCommands(\n execOptions: ExecOptions,\n manifestPath: string,\n repositories: Repository[],\n): Promise<void> {\n const cmd: string[] = [];\n // get OCI registries and detect host rules\n const registries: RepositoryRule[] = repositories\n .filter(isOCIRegistry)\n .map((value) => {\n return {\n ...value,\n repository: removeOCIPrefix(value.repository),\n hostRule: hostRules.find({\n url: value.repository.replace('oci://', 'https://'), //TODO we need to replace this, as oci:// will not be accepted as protocol\n hostType: DockerDatasource.id,\n }),\n };\n });\n\n // if credentials for the registry have been found, log into it\n await pMap(registries, async (value) => {\n const loginCmd = await generateLoginCmd(value, 'helm registry login');\n if (loginCmd) {\n cmd.push(loginCmd);\n }\n });\n\n // find classic Chart repositories and fitting host rules\n const classicRepositories: RepositoryRule[] = repositories\n .filter((repository) => !isOCIRegistry(repository))\n .map((value) => {\n return {\n ...value,\n hostRule: hostRules.find({\n url: value.repository,\n hostType: HelmDatasource.id,\n }),\n };\n });\n\n // add helm repos if an alias or credentials for the url are defined\n classicRepositories.forEach((value) => {\n const { username, password } = value.hostRule;\n const parameters = [`${quote(value.repository)}`, `--force-update`];\n const isPrivateRepo = username && password;\n if (isPrivateRepo) {\n parameters.push(`--username ${quote(username)}`);\n parameters.push(`--password ${quote(password)}`);\n }\n\n cmd.push(`helm repo add ${quote(value.name)} ${parameters.join(' ')}`);\n });\n\n cmd.push(`helm dependency update ${quote(getParentDir(manifestPath))}`);\n\n await exec(cmd, execOptions);\n}\n\nexport async function updateArtifacts({\n packageFileName,\n updatedDeps,\n newPackageFileContent,\n config,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n logger.debug(`helmv3.updateArtifacts(${packageFileName})`);\n\n const { isLockFileMaintenance } = config;\n const isUpdateOptionAddChartArchives = config.postUpdateOptions?.includes(\n 'helmUpdateSubChartArchives',\n );\n\n if (\n !isLockFileMaintenance &&\n (updatedDeps === undefined || updatedDeps.length < 1)\n ) {\n logger.debug('No updated helmv3 deps - returning null');\n return null;\n }\n\n const lockFileName = getSiblingFileName(packageFileName, 'Chart.lock');\n const existingLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!existingLockFileContent && !isUpdateOptionAddChartArchives) {\n logger.debug('No Chart.lock found');\n return null;\n }\n try {\n // get repositories and registries defined in the package file\n // TODO: use schema (#9610)\n const packages = yaml.parseSingleYaml<ChartDefinition>(\n newPackageFileContent,\n );\n const locks = existingLockFileContent\n ? yaml.parseSingleYaml<ChartDefinition>(existingLockFileContent)\n : { dependencies: [] };\n\n const chartDefinitions: ChartDefinition[] = [];\n // prioritize registryAlias naming for Helm repositories\n if (config.registryAliases) {\n chartDefinitions.push({\n dependencies: aliasRecordToRepositories(config.registryAliases),\n });\n }\n chartDefinitions.push(packages, locks);\n\n const repositories = getRepositories(chartDefinitions);\n\n await writeLocalFile(packageFileName, newPackageFileContent);\n logger.debug('Updating Helm artifacts');\n const helmToolConstraint: ToolConstraint = {\n toolName: 'helm',\n constraint: config.constraints?.helm,\n };\n\n const execOptions: ExecOptions = {\n docker: {},\n userConfiguredEnv: config.env,\n extraEnv: generateHelmEnvs(),\n toolConstraints: [helmToolConstraint],\n };\n await helmCommands(execOptions, packageFileName, repositories);\n logger.debug('Returning updated Helm artifacts');\n\n const fileChanges: UpdateArtifactsResult[] = [];\n\n if (is.truthy(existingLockFileContent)) {\n const newHelmLockContent = await readLocalFile(lockFileName, 'utf8');\n const isLockFileChanged = existingLockFileContent !== newHelmLockContent;\n if (isLockFileChanged) {\n fileChanges.push({\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newHelmLockContent,\n },\n });\n } else {\n logger.debug('Chart.lock is unchanged');\n }\n }\n\n // add modified helm chart archives to artifacts\n if (is.truthy(isUpdateOptionAddChartArchives)) {\n const chartsPath = getSiblingFileName(packageFileName, 'charts');\n const status = await getRepoStatus();\n const chartsAddition = status.not_added ?? [];\n const chartsDeletion = status.deleted ?? [];\n\n for (const file of chartsAddition) {\n // only add artifacts in the chart sub path\n if (!isFileInDir(chartsPath, file)) {\n continue;\n }\n fileChanges.push({\n file: {\n type: 'addition',\n path: file,\n contents: await readLocalFile(file),\n },\n });\n }\n\n for (const file of chartsDeletion) {\n // only add artifacts in the chart sub path\n if (!isFileInDir(chartsPath, file)) {\n continue;\n }\n fileChanges.push({\n file: {\n type: 'deletion',\n path: file,\n },\n });\n }\n }\n\n return fileChanges.length > 0 ? fileChanges : null;\n } catch (err) {\n // istanbul ignore if\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.debug({ err }, 'Failed to update Helm lock file');\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: err.message,\n },\n },\n ];\n }\n}\n"]}
|
1
|
+
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/helmv3/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport pMap from 'p-map';\nimport { quote } from 'shlex';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions, ToolConstraint } from '../../../util/exec/types';\nimport {\n getParentDir,\n getSiblingFileName,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\nimport { getRepoStatus } from '../../../util/git';\nimport * as hostRules from '../../../util/host-rules';\nimport * as yaml from '../../../util/yaml';\nimport { DockerDatasource } from '../../datasource/docker';\nimport { HelmDatasource } from '../../datasource/helm';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\nimport { generateHelmEnvs, generateLoginCmd } from './common';\nimport { isOCIRegistry, removeOCIPrefix } from './oci';\nimport type { ChartDefinition, Repository, RepositoryRule } from './types';\nimport {\n aliasRecordToRepositories,\n getRepositories,\n isFileInDir,\n} from './utils';\n\nasync function helmCommands(\n execOptions: ExecOptions,\n manifestPath: string,\n repositories: Repository[],\n): Promise<void> {\n const cmd: string[] = [];\n // get OCI registries and detect host rules\n const registries: RepositoryRule[] = repositories\n .filter(isOCIRegistry)\n .map((value) => {\n return {\n ...value,\n repository: removeOCIPrefix(value.repository),\n hostRule: hostRules.find({\n url: value.repository.replace('oci://', 'https://'), //TODO we need to replace this, as oci:// will not be accepted as protocol\n hostType: DockerDatasource.id,\n }),\n };\n });\n\n // if credentials for the registry have been found, log into it\n await pMap(registries, async (value) => {\n const loginCmd = await generateLoginCmd(value, 'helm registry login');\n if (loginCmd) {\n cmd.push(loginCmd);\n }\n });\n\n // find classic Chart repositories and fitting host rules\n const classicRepositories: RepositoryRule[] = repositories\n .filter((repository) => !isOCIRegistry(repository))\n .map((value) => {\n return {\n ...value,\n hostRule: hostRules.find({\n url: value.repository,\n hostType: HelmDatasource.id,\n }),\n };\n });\n\n // add helm repos if an alias or credentials for the url are defined\n classicRepositories.forEach((value) => {\n const { username, password } = value.hostRule;\n const parameters = [`${quote(value.repository)}`, `--force-update`];\n const isPrivateRepo = username && password;\n if (isPrivateRepo) {\n parameters.push(`--username ${quote(username)}`);\n parameters.push(`--password ${quote(password)}`);\n }\n\n cmd.push(`helm repo add ${quote(value.name)} ${parameters.join(' ')}`);\n });\n\n cmd.push(`helm dependency update ${quote(getParentDir(manifestPath))}`);\n\n await exec(cmd, execOptions);\n}\n\nexport async function updateArtifacts({\n packageFileName,\n updatedDeps,\n newPackageFileContent,\n config,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n logger.debug(`helmv3.updateArtifacts(${packageFileName})`);\n\n const { isLockFileMaintenance } = config;\n const isUpdateOptionAddChartArchives = config.postUpdateOptions?.includes(\n 'helmUpdateSubChartArchives',\n );\n\n if (\n !isLockFileMaintenance &&\n (updatedDeps === undefined || updatedDeps.length < 1)\n ) {\n logger.debug('No updated helmv3 deps - returning null');\n return null;\n }\n\n const lockFileName = getSiblingFileName(packageFileName, 'Chart.lock');\n const existingLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!existingLockFileContent && !isUpdateOptionAddChartArchives) {\n logger.debug('No Chart.lock found');\n return null;\n }\n try {\n // get repositories and registries defined in the package file\n // TODO: use schema (#9610)\n const packages = yaml.parseSingleYaml<ChartDefinition>(\n newPackageFileContent,\n );\n const locks = existingLockFileContent\n ? yaml.parseSingleYaml<ChartDefinition>(existingLockFileContent)\n : { dependencies: [] };\n\n const chartDefinitions: ChartDefinition[] = [];\n // prioritize registryAlias naming for Helm repositories\n if (config.registryAliases) {\n chartDefinitions.push({\n dependencies: aliasRecordToRepositories(config.registryAliases),\n });\n }\n chartDefinitions.push(packages, locks);\n\n const repositories = getRepositories(chartDefinitions);\n\n await writeLocalFile(packageFileName, newPackageFileContent);\n logger.debug('Updating Helm artifacts');\n const helmToolConstraint: ToolConstraint = {\n toolName: 'helm',\n constraint: config.constraints?.helm,\n };\n\n const execOptions: ExecOptions = {\n docker: {},\n extraEnv: generateHelmEnvs(),\n toolConstraints: [helmToolConstraint],\n };\n await helmCommands(execOptions, packageFileName, repositories);\n logger.debug('Returning updated Helm artifacts');\n\n const fileChanges: UpdateArtifactsResult[] = [];\n\n if (is.truthy(existingLockFileContent)) {\n const newHelmLockContent = await readLocalFile(lockFileName, 'utf8');\n const isLockFileChanged = existingLockFileContent !== newHelmLockContent;\n if (isLockFileChanged) {\n fileChanges.push({\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newHelmLockContent,\n },\n });\n } else {\n logger.debug('Chart.lock is unchanged');\n }\n }\n\n // add modified helm chart archives to artifacts\n if (is.truthy(isUpdateOptionAddChartArchives)) {\n const chartsPath = getSiblingFileName(packageFileName, 'charts');\n const status = await getRepoStatus();\n const chartsAddition = status.not_added ?? [];\n const chartsDeletion = status.deleted ?? [];\n\n for (const file of chartsAddition) {\n // only add artifacts in the chart sub path\n if (!isFileInDir(chartsPath, file)) {\n continue;\n }\n fileChanges.push({\n file: {\n type: 'addition',\n path: file,\n contents: await readLocalFile(file),\n },\n });\n }\n\n for (const file of chartsDeletion) {\n // only add artifacts in the chart sub path\n if (!isFileInDir(chartsPath, file)) {\n continue;\n }\n fileChanges.push({\n file: {\n type: 'deletion',\n path: file,\n },\n });\n }\n }\n\n return fileChanges.length > 0 ? fileChanges : null;\n } catch (err) {\n // istanbul ignore if\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.debug({ err }, 'Failed to update Helm lock file');\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: err.message,\n },\n },\n ];\n }\n}\n"]}
|
@@ -82,7 +82,9 @@ function isAlias(repository) {
|
|
82
82
|
return repository.startsWith('@') || repository.startsWith('alias:');
|
83
83
|
}
|
84
84
|
function aliasRecordToRepositories(registryAliases) {
|
85
|
-
return Object.entries(registryAliases)
|
85
|
+
return Object.entries(registryAliases)
|
86
|
+
.filter(([, url]) => /^(https?|oci):\/\/.+/.exec(url))
|
87
|
+
.map(([alias, url]) => {
|
86
88
|
return {
|
87
89
|
name: alias,
|
88
90
|
repository: url,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../lib/modules/manager/helmv3/utils.ts"],"names":[],"mappings":";;AAOA,0CA2BC;AAUD,oCAgBC;AAED,0CAmBC;AAED,0BAKC;AAED,
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../lib/modules/manager/helmv3/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import upath from 'upath';\nimport { logger } from '../../../logger';\nimport { DockerDatasource } from '../../datasource/docker';\nimport type { PackageDependency } from '../types';\nimport { removeOCIPrefix } from './oci';\nimport type { ChartDefinition, Repository } from './types';\n\nexport function parseRepository(\n depName: string,\n repositoryURL: string,\n): PackageDependency {\n const res: PackageDependency = {};\n\n try {\n const url = new URL(repositoryURL);\n switch (url.protocol) {\n case 'oci:':\n res.datasource = DockerDatasource.id;\n res.packageName = `${removeOCIPrefix(repositoryURL)}/${depName}`;\n // https://github.com/helm/helm/issues/10312\n // https://github.com/helm/helm/issues/10678\n res.pinDigests = false;\n break;\n case 'file:':\n res.skipReason = 'local-dependency';\n break;\n default:\n res.registryUrls = [repositoryURL];\n }\n } catch (err) {\n logger.debug({ err }, 'Error parsing url');\n res.skipReason = 'invalid-url';\n }\n return res;\n}\n\n/**\n * Resolves alias in repository string.\n *\n * @param repository to be resolved string\n * @param registryAliases Records containing registryAliases as key and to be resolved URLs as values\n *\n * @returns resolved alias. If repository does not contain an alias the repository string will be returned. Should it contain an alias which can not be resolved using `registryAliases`, null will be returned\n */\nexport function resolveAlias(\n repository: string,\n registryAliases: Record<string, string>,\n): string | null {\n if (!isAlias(repository)) {\n return repository;\n }\n\n const repoWithPrefixRemoved = repository.slice(\n repository.startsWith('@') ? 1 : 6,\n );\n const alias = registryAliases[repoWithPrefixRemoved];\n if (alias) {\n return alias;\n }\n return null;\n}\n\nexport function getRepositories(definitions: ChartDefinition[]): Repository[] {\n const repositoryList = definitions\n .flatMap((value) => value.dependencies)\n .filter((dependency) => dependency.repository) // only keep non-local references --> if no repository is defined the chart will be searched in charts/<name>\n .filter((dependency) => !isAlias(dependency.repository)) // do not add registryAliases\n .filter((dependency) => !dependency.repository.startsWith('file:')) // skip repositories which are locally referenced\n .map((dependency) => {\n // remove additional keys to prevent interference at deduplication\n return {\n name: dependency.name,\n repository: dependency.repository,\n };\n });\n const dedup = new Set();\n return repositoryList.filter((el) => {\n const duplicate = dedup.has(el.repository);\n dedup.add(el.repository);\n return !duplicate;\n });\n}\n\nexport function isAlias(repository: string): boolean {\n if (!repository) {\n return false;\n }\n return repository.startsWith('@') || repository.startsWith('alias:');\n}\n\nexport function aliasRecordToRepositories(\n registryAliases: Record<string, string>,\n): Repository[] {\n return Object.entries(registryAliases)\n .filter(([, url]) => /^(https?|oci):\\/\\/.+/.exec(url))\n .map(([alias, url]) => {\n return {\n name: alias,\n repository: url,\n };\n });\n}\n\nexport function isFileInDir(dir: string, file: string): boolean {\n return upath.dirname(file) === dir;\n}\n"]}
|