renovate 40.0.0-next.4 → 40.0.0-next.41
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 +17 -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/common.js +1 -0
- package/dist/config/presets/common.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 +18 -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/constants/platforms.js +5 -1
- package/dist/constants/platforms.js.map +1 -1
- package/dist/data/monorepo.json +8 -2
- package/dist/data/source-urls.json +1 -0
- package/dist/data-files.generated.js +2 -2
- package/dist/data-files.generated.js.map +1 -1
- package/dist/instrumentation/index.js +39 -15
- 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 +4 -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 +15 -1
- package/dist/modules/datasource/azure-pipelines-tasks/index.js.map +1 -1
- package/dist/modules/datasource/azure-pipelines-tasks/schema.d.ts +24 -0
- package/dist/modules/datasource/azure-pipelines-tasks/schema.js +3 -0
- package/dist/modules/datasource/azure-pipelines-tasks/schema.js.map +1 -1
- package/dist/modules/datasource/bazel/index.js +18 -2
- package/dist/modules/datasource/bazel/index.js.map +1 -1
- package/dist/modules/datasource/bazel/schema.d.ts +1 -0
- package/dist/modules/datasource/bazel/schema.js.map +1 -1
- package/dist/modules/datasource/bitbucket-server-tags/index.d.ts +19 -0
- package/dist/modules/datasource/bitbucket-server-tags/index.js +133 -0
- package/dist/modules/datasource/bitbucket-server-tags/index.js.map +1 -0
- package/dist/modules/datasource/bitbucket-server-tags/schema.d.ts +28 -0
- package/dist/modules/datasource/bitbucket-server-tags/schema.js +13 -0
- package/dist/modules/datasource/bitbucket-server-tags/schema.js.map +1 -0
- 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 +81 -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 +2 -4
- 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.d.ts +4 -5
- package/dist/modules/datasource/deb/index.js +10 -11
- package/dist/modules/datasource/deb/index.js.map +1 -1
- package/dist/modules/datasource/deb/url.d.ts +3 -3
- package/dist/modules/datasource/deb/url.js +17 -13
- package/dist/modules/datasource/deb/url.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 +77 -101
- 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/github-runners/index.js +2 -2
- package/dist/modules/datasource/github-runners/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/metadata.js +9 -1
- package/dist/modules/datasource/metadata.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/get.d.ts +0 -1
- package/dist/modules/datasource/npm/get.js +14 -68
- package/dist/modules/datasource/npm/get.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/npm/types.d.ts +0 -8
- package/dist/modules/datasource/npm/types.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 +32 -32
- 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 +2 -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 +22 -22
- 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 +44 -90
- package/dist/modules/manager/bazel-module/parser/oci.d.ts +19 -42
- package/dist/modules/manager/bazel-module/rules.d.ts +50 -160
- package/dist/modules/manager/bun/artifacts.js +0 -1
- package/dist/modules/manager/bun/artifacts.js.map +1 -1
- package/dist/modules/manager/bun/extract.d.ts +1 -0
- package/dist/modules/manager/bun/extract.js +53 -27
- package/dist/modules/manager/bun/extract.js.map +1 -1
- package/dist/modules/manager/bun/index.js +1 -1
- package/dist/modules/manager/bun/index.js.map +1 -1
- package/dist/modules/manager/bun/utils.d.ts +2 -0
- package/dist/modules/manager/bun/utils.js +22 -0
- package/dist/modules/manager/bun/utils.js.map +1 -0
- 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 +117 -117
- package/dist/modules/manager/circleci/extract.js +21 -30
- package/dist/modules/manager/circleci/extract.js.map +1 -1
- package/dist/modules/manager/circleci/schema.d.ts +33 -144
- package/dist/modules/manager/circleci/schema.js +21 -17
- package/dist/modules/manager/circleci/schema.js.map +1 -1
- 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 +32 -34
- 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/conan/artifacts.d.ts +2 -0
- package/dist/modules/manager/conan/artifacts.js +76 -0
- package/dist/modules/manager/conan/artifacts.js.map +1 -0
- package/dist/modules/manager/conan/index.d.ts +2 -0
- package/dist/modules/manager/conan/index.js +4 -1
- package/dist/modules/manager/conan/index.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 +35 -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/dockerfile/extract.js +2 -6
- package/dist/modules/manager/dockerfile/extract.js.map +1 -1
- 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 +130 -154
- 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-extra.js +12 -4
- package/dist/modules/manager/gomod/artifacts-extra.js.map +1 -1
- 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 +5 -3
- 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/extract.js +8 -13
- package/dist/modules/manager/gradle/extract.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 +17 -24
- package/dist/modules/manager/gradle/parser/handlers.js.map +1 -1
- package/dist/modules/manager/gradle/parser/registry-urls.js +46 -12
- package/dist/modules/manager/gradle/parser/registry-urls.js.map +1 -1
- package/dist/modules/manager/gradle/types.d.ts +1 -0
- package/dist/modules/manager/gradle/types.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 +4 -4
- 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 +20 -20
- package/dist/modules/manager/nix/schema.js +1 -0
- package/dist/modules/manager/nix/schema.js.map +1 -1
- 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/common/package-file.js +1 -0
- package/dist/modules/manager/npm/extract/common/package-file.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/extract.js +21 -18
- package/dist/modules/manager/nuget/extract.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 +346 -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/pip_requirements/common.js +2 -6
- package/dist/modules/manager/pip_requirements/common.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 +78 -0
- package/dist/modules/manager/pixi/artifacts.js.map +1 -0
- package/dist/modules/manager/pixi/extract.d.ts +4 -0
- package/dist/modules/manager/pixi/extract.js +131 -0
- package/dist/modules/manager/pixi/extract.js.map +1 -0
- package/dist/modules/manager/pixi/index.d.ts +10 -0
- package/dist/modules/manager/pixi/index.js +20 -0
- package/dist/modules/manager/pixi/index.js.map +1 -0
- package/dist/modules/manager/pixi/schema.d.ts +405 -0
- package/dist/modules/manager/pixi/schema.js +147 -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 +30 -42
- package/dist/modules/manager/terraform/lockfile/hash.d.ts +1 -1
- package/dist/modules/manager/terraform/util.js +1 -3
- package/dist/modules/manager/terraform/util.js.map +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 +7 -7
- 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 +14 -14
- 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 +76 -0
- package/dist/modules/platform/bitbucket-server/schema.js +15 -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.d.ts +0 -3
- package/dist/modules/platform/gerrit/client.js +20 -29
- package/dist/modules/platform/gerrit/client.js.map +1 -1
- package/dist/modules/platform/gerrit/index.js +0 -6
- package/dist/modules/platform/gerrit/index.js.map +1 -1
- package/dist/modules/platform/gerrit/scm.js +5 -6
- package/dist/modules/platform/gerrit/scm.js.map +1 -1
- package/dist/modules/platform/gerrit/types.d.ts +1 -4
- package/dist/modules/platform/gerrit/types.js.map +1 -1
- package/dist/modules/platform/gerrit/utils.d.ts +3 -2
- package/dist/modules/platform/gerrit/utils.js +4 -8
- 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 +33 -16
- 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 +18 -18
- 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 +128 -128
- 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 +72 -49
- 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/distro.js +1 -3
- package/dist/modules/versioning/distro.js.map +1 -1
- 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/impl/base.js +4 -0
- package/dist/util/cache/repository/impl/base.js.map +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/common.d.ts +4 -2
- package/dist/util/common.js +17 -3
- package/dist/util/common.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 +19 -14
- 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/auth.js +8 -5
- package/dist/util/git/auth.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 +75 -52
- package/dist/util/git/index.js.map +1 -1
- package/dist/util/git/private-key.js +2 -4
- package/dist/util/git/private-key.js.map +1 -1
- package/dist/util/git/types.d.ts +2 -0
- package/dist/util/git/types.js.map +1 -1
- package/dist/util/git/url.js +1 -1
- package/dist/util/git/url.js.map +1 -1
- package/dist/util/github/graphql/datasource-fetcher.js +3 -5
- package/dist/util/github/graphql/datasource-fetcher.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 +7 -5
- package/dist/util/http/bitbucket-server.js +26 -23
- 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/package-http-cache-provider.d.ts +23 -0
- package/dist/util/http/cache/package-http-cache-provider.js +80 -0
- package/dist/util/http/cache/package-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 +17 -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/schema-utils.d.ts +1 -0
- package/dist/util/schema-utils.js +43 -8
- package/dist/util/schema-utils.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 +16 -0
- package/dist/util/string.js +79 -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 +3 -8
- 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 +15 -0
- package/dist/workers/global/config/parse/index.js.map +1 -1
- package/dist/workers/global/index.js +4 -2
- package/dist/workers/global/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 +15 -4
- package/dist/workers/repository/process/lookup/index.js.map +1 -1
- package/dist/workers/repository/process/lookup/timestamps.d.ts +18 -0
- package/dist/workers/repository/process/lookup/timestamps.js +69 -0
- package/dist/workers/repository/process/lookup/timestamps.js.map +1 -0
- package/dist/workers/repository/process/lookup/types.d.ts +1 -0
- package/dist/workers/repository/process/lookup/types.js.map +1 -1
- package/dist/workers/repository/process/lookup/utils.js +20 -9
- package/dist/workers/repository/process/lookup/utils.js.map +1 -1
- package/dist/workers/repository/process/sort.js +1 -1
- package/dist/workers/repository/process/sort.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/utils.d.ts +2 -0
- package/dist/workers/repository/reconfigure/utils.js +16 -0
- package/dist/workers/repository/reconfigure/utils.js.map +1 -1
- package/dist/workers/repository/reconfigure/validate.js +6 -17
- package/dist/workers/repository/reconfigure/validate.js.map +1 -1
- package/dist/workers/repository/update/branch/auto-replace.js +25 -5
- package/dist/workers/repository/update/branch/auto-replace.js.map +1 -1
- package/dist/workers/repository/update/branch/commit.js +2 -0
- package/dist/workers/repository/update/branch/commit.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/body/config-description.js +26 -1
- package/dist/workers/repository/update/pr/body/config-description.js.map +1 -1
- package/dist/workers/repository/update/pr/body/index.js +21 -14
- package/dist/workers/repository/update/pr/body/index.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/api.js +8 -6
- package/dist/workers/repository/update/pr/changelog/api.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/bitbucket-server/index.d.ts +3 -0
- package/dist/workers/repository/update/pr/changelog/bitbucket-server/index.js +39 -0
- package/dist/workers/repository/update/pr/changelog/bitbucket-server/index.js.map +1 -0
- package/dist/workers/repository/update/pr/changelog/bitbucket-server/source.d.ts +8 -0
- package/dist/workers/repository/update/pr/changelog/bitbucket-server/source.js +31 -0
- package/dist/workers/repository/update/pr/changelog/bitbucket-server/source.js.map +1 -0
- 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/release-notes.js +12 -8
- package/dist/workers/repository/update/pr/changelog/release-notes.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/source.d.ts +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/update/pr/changelog/types.d.ts +1 -1
- package/dist/workers/repository/update/pr/changelog/types.js.map +1 -1
- package/dist/workers/repository/update/pr/index.js +2 -4
- package/dist/workers/repository/update/pr/index.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 +3 -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 +85 -85
- package/renovate-schema.json +24 -3
- 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":"index.js","sourceRoot":"","sources":["../../../../lib/modules/manager/bun/index.ts"],"names":[],"mappings":";;;AACA,8DAAoE;AACpE,8CAAqD;AAErD,yCAA8C;AAArC,4GAAA,eAAe,OAAA;AACxB,qCAAmD;AAA1C,iHAAA,sBAAsB,OAAA;AAC/B,8BAA4D;AAAnD,uGAAA,gBAAgB,OAAA;AAAE,uGAAA,gBAAgB,OAAA;AAE9B,QAAA,GAAG,GAAG,iCAAiC,CAAC;AACxC,QAAA,UAAU,GAAe,CAAC,IAAI,CAAC,CAAC;AAEhC,QAAA,kBAAkB,GAAG,CAAC,KAAK,CAAC,CAAC;AAC7B,QAAA,2BAA2B,GAAG,IAAI,CAAC;AAEnC,QAAA,aAAa,GAAG;IAC3B,SAAS,EAAE,CAAC,oBAAoB,CAAC;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/manager/bun/index.ts"],"names":[],"mappings":";;;AACA,8DAAoE;AACpE,8CAAqD;AAErD,yCAA8C;AAArC,4GAAA,eAAe,OAAA;AACxB,qCAAmD;AAA1C,iHAAA,sBAAsB,OAAA;AAC/B,8BAA4D;AAAnD,uGAAA,gBAAgB,OAAA;AAAE,uGAAA,gBAAgB,OAAA;AAE9B,QAAA,GAAG,GAAG,iCAAiC,CAAC;AACxC,QAAA,UAAU,GAAe,CAAC,IAAI,CAAC,CAAC;AAEhC,QAAA,kBAAkB,GAAG,CAAC,KAAK,CAAC,CAAC;AAC7B,QAAA,2BAA2B,GAAG,IAAI,CAAC;AAEnC,QAAA,aAAa,GAAG;IAC3B,SAAS,EAAE,CAAC,oBAAoB,EAAE,sBAAsB,CAAC;IACzD,MAAM,EAAE;QACN,iBAAiB,EAAE;YACjB,MAAM,EACJ,+KAA+K;SAClL;KACF;IACD,iBAAiB,EAAE;QACjB,MAAM,EACJ,8SAA8S;KACjT;CACF,CAAC;AAEW,QAAA,oBAAoB,GAAG,CAAC,kCAAoB,CAAC,EAAE,EAAE,mBAAa,CAAC,EAAE,CAAC,CAAC","sourcesContent":["import type { Category } from '../../../constants';\nimport { GithubTagsDatasource } from '../../datasource/github-tags';\nimport { NpmDatasource } from '../../datasource/npm';\n\nexport { updateArtifacts } from './artifacts';\nexport { extractAllPackageFiles } from './extract';\nexport { getRangeStrategy, updateDependency } from '../npm';\n\nexport const url = 'https://bun.sh/docs/cli/install';\nexport const categories: Category[] = ['js'];\n\nexport const supersedesManagers = ['npm'];\nexport const supportsLockFileMaintenance = true;\n\nexport const defaultConfig = {\n fileMatch: ['(^|/)bun\\\\.lockb?$', '(^|/)package\\\\.json$'],\n digest: {\n prBodyDefinitions: {\n Change:\n '{{#if displayFrom}}`{{{displayFrom}}}` -> {{else}}{{#if currentValue}}`{{{currentValue}}}` -> {{/if}}{{/if}}{{#if displayTo}}`{{{displayTo}}}`{{else}}`{{{newValue}}}`{{/if}}',\n },\n },\n prBodyDefinitions: {\n Change:\n \"[{{#if displayFrom}}`{{{displayFrom}}}` -> {{else}}{{#if currentValue}}`{{{currentValue}}}` -> {{/if}}{{/if}}{{#if displayTo}}`{{{displayTo}}}`{{else}}`{{{newValue}}}`{{/if}}]({{#if depName}}https://renovatebot.com/diffs/npm/{{replace '/' '%2f' depName}}/{{{currentVersion}}}/{{{newVersion}}}{{/if}})\",\n },\n};\n\nexport const supportedDatasources = [GithubTagsDatasource.id, NpmDatasource.id];\n"]}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.fileMatchesWorkspaces = fileMatchesWorkspaces;
|
4
|
+
exports.filesMatchingWorkspaces = filesMatchingWorkspaces;
|
5
|
+
const tslib_1 = require("tslib");
|
6
|
+
const upath_1 = tslib_1.__importDefault(require("upath"));
|
7
|
+
const minimatch_js_1 = require("../../../util/minimatch.js");
|
8
|
+
function fileMatchesWorkspaces(pwd, fileName, workspaces) {
|
9
|
+
if (!fileName.startsWith(pwd)) {
|
10
|
+
return false;
|
11
|
+
}
|
12
|
+
const relativeFile = upath_1.default
|
13
|
+
.relative(pwd, fileName)
|
14
|
+
.replace(/\/package\.json$/, '');
|
15
|
+
return workspaces.some((pattern) =>
|
16
|
+
// minimatch will also return true for an exact match
|
17
|
+
(0, minimatch_js_1.minimatch)(pattern, { dot: true }).match(relativeFile));
|
18
|
+
}
|
19
|
+
function filesMatchingWorkspaces(pwd, files, workspaces) {
|
20
|
+
return files.filter((file) => fileMatchesWorkspaces(pwd, file, workspaces));
|
21
|
+
}
|
22
|
+
//# sourceMappingURL=utils.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../lib/modules/manager/bun/utils.ts"],"names":[],"mappings":";;AAGA,sDAeC;AAED,0DAMC;;AA1BD,0DAA0B;AAC1B,6DAAuD;AAEvD,SAAgB,qBAAqB,CACnC,GAAW,EACX,QAAgB,EAChB,UAAoB;IAEpB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,YAAY,GAAG,eAAK;SACvB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IACnC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;IACjC,qDAAqD;IACrD,IAAA,wBAAS,EAAC,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CACtD,CAAC;AACJ,CAAC;AAED,SAAgB,uBAAuB,CACrC,GAAW,EACX,KAAe,EACf,UAAoB;IAEpB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;AAC9E,CAAC","sourcesContent":["import upath from 'upath';\nimport { minimatch } from '../../../util/minimatch.js';\n\nexport function fileMatchesWorkspaces(\n pwd: string,\n fileName: string,\n workspaces: string[],\n): boolean {\n if (!fileName.startsWith(pwd)) {\n return false;\n }\n const relativeFile = upath\n .relative(pwd, fileName)\n .replace(/\\/package\\.json$/, '');\n return workspaces.some((pattern) =>\n // minimatch will also return true for an exact match\n minimatch(pattern, { dot: true }).match(relativeFile),\n );\n}\n\nexport function filesMatchingWorkspaces(\n pwd: string,\n files: string[],\n workspaces: string[],\n): string[] {\n return files.filter((file) => fileMatchesWorkspaces(pwd, file, workspaces));\n}\n"]}
|
@@ -113,7 +113,6 @@ async function updateArtifacts(updateArtifact, recursionLimit = 10) {
|
|
113
113
|
const preCommands = ['ruby --version'];
|
114
114
|
const execOptions = {
|
115
115
|
cwdFile: lockFileName,
|
116
|
-
userConfiguredEnv: config.env,
|
117
116
|
extraEnv: {
|
118
117
|
...bundlerHostRulesVariables,
|
119
118
|
GEM_HOME: await (0, fs_1.ensureCacheDir)('bundler'),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/bundler/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport {\n BUNDLER_INVALID_CREDENTIALS,\n TEMPORARY_ERROR,\n} from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport type { HostRule } from '../../../types';\nimport * as memCache from '../../../util/cache/memory';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions } from '../../../util/exec/types';\nimport {\n ensureCacheDir,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\nimport { getRepoStatus } from '../../../util/git';\nimport { newlineRegex, regEx } from '../../../util/regex';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\nimport {\n getBundlerConstraint,\n getLockFilePath,\n getRubyConstraint,\n} from './common';\nimport {\n findAllAuthenticatable,\n getAuthenticationHeaderValue,\n} from './host-rules';\n\nconst hostConfigVariablePrefix = 'BUNDLE_';\n\nfunction buildBundleHostVariable(hostRule: HostRule): Record<string, string> {\n // istanbul ignore if: doesn't happen in practice\n if (!hostRule.resolvedHost) {\n return {};\n }\n const varName = hostConfigVariablePrefix.concat(\n hostRule.resolvedHost\n .toUpperCase()\n .split('.')\n .join('__')\n .split('-')\n .join('___'),\n );\n return {\n [varName]: `${getAuthenticationHeaderValue(hostRule)}`,\n };\n}\n\nconst resolvedPkgRegex = regEx(\n /(?<pkg>\\S+)(?:\\s*\\([^)]+\\)\\s*)? was resolved to/,\n);\n\nfunction getResolvedPackages(input: string): string[] {\n const lines = input.split(newlineRegex);\n const result: string[] = [];\n for (const line of lines) {\n const resolveMatchGroups = line.match(resolvedPkgRegex)?.groups;\n if (resolveMatchGroups) {\n const { pkg } = resolveMatchGroups;\n result.push(pkg);\n }\n }\n\n return [...new Set(result)];\n}\n\nexport async function updateArtifacts(\n updateArtifact: UpdateArtifact,\n recursionLimit = 10,\n): Promise<UpdateArtifactsResult[] | null> {\n const { packageFileName, updatedDeps, newPackageFileContent, config } =\n updateArtifact;\n logger.debug(`bundler.updateArtifacts(${packageFileName})`);\n const existingError = memCache.get<string>('bundlerArtifactsError');\n // istanbul ignore if\n if (existingError) {\n logger.debug('Aborting Bundler artifacts due to previous failed attempt');\n throw new Error(existingError);\n }\n const lockFileName = await getLockFilePath(packageFileName);\n const existingLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!existingLockFileContent) {\n logger.debug('No Gemfile.lock found');\n return null;\n }\n\n const updatedDepNames = updatedDeps\n .map(({ depName }) => depName)\n .filter(is.nonEmptyStringAndNotWhitespace);\n\n try {\n await writeLocalFile(packageFileName, newPackageFileContent);\n\n const commands: string[] = [];\n\n if (config.isLockFileMaintenance) {\n commands.push('bundler lock --update');\n } else {\n const bundlerUpgraded = updatedDeps\n .map((dep) => dep.depName)\n .includes('bundler');\n if (bundlerUpgraded) {\n commands.push('bundler lock --update --bundler');\n }\n\n const updateTypes = {\n patch: '--patch ',\n minor: '--minor ',\n major: '',\n };\n for (const [updateType, updateArg] of Object.entries(updateTypes)) {\n const deps = updatedDeps\n .filter((dep) => (dep.updateType ?? 'major') === updateType)\n .map((dep) => dep.depName)\n .filter(is.string)\n .filter((dep) => dep !== 'ruby' && dep !== 'bundler');\n let additionalArgs = '';\n if (config.postUpdateOptions?.includes('bundlerConservative')) {\n additionalArgs = '--conservative ';\n }\n if (deps.length) {\n const cmd = `bundler lock ${updateArg}${additionalArgs}--update ${deps\n .map(quote)\n .join(' ')}`;\n commands.push(cmd);\n }\n }\n\n const rubyUpgraded = updatedDeps\n .map((dep) => dep.depName)\n .includes('ruby');\n if (rubyUpgraded) {\n commands.push('bundler lock');\n }\n }\n\n const bundlerHostRules = findAllAuthenticatable({\n hostType: 'rubygems',\n });\n\n const bundlerHostRulesVariables = bundlerHostRules.reduce(\n (variables, hostRule) => ({\n ...variables,\n ...buildBundleHostVariable(hostRule),\n }),\n {} as Record<string, string>,\n );\n\n const bundler = getBundlerConstraint(\n updateArtifact,\n existingLockFileContent,\n );\n const preCommands = ['ruby --version'];\n\n const execOptions: ExecOptions = {\n cwdFile: lockFileName,\n userConfiguredEnv: config.env,\n extraEnv: {\n ...bundlerHostRulesVariables,\n GEM_HOME: await ensureCacheDir('bundler'),\n },\n docker: {},\n toolConstraints: [\n {\n toolName: 'ruby',\n constraint: await getRubyConstraint(updateArtifact),\n },\n {\n toolName: 'bundler',\n constraint: bundler,\n },\n ],\n preCommands,\n };\n await exec(commands, execOptions);\n\n const status = await getRepoStatus();\n if (!status.modified.includes(lockFileName)) {\n return null;\n }\n logger.debug('Returning updated Gemfile.lock');\n const lockFileContent = await readLocalFile(lockFileName);\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: lockFileContent,\n },\n },\n ];\n } catch (err) {\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n const output = `${String(err.stdout)}\\n${String(err.stderr)}`;\n if (\n err.message.includes('fatal: Could not parse object') ||\n output.includes('but that version could not be found')\n ) {\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: output,\n },\n },\n ];\n }\n if (\n err.stdout?.includes('Please supply credentials for this source') ||\n err.stderr?.includes('Authentication is required') ||\n err.stderr?.includes(\n 'Please make sure you have the correct access rights',\n )\n ) {\n logger.debug(\n { err },\n 'Gemfile.lock update failed due to missing credentials - skipping branch',\n );\n // Do not generate these PRs because we don't yet support Bundler authentication\n memCache.set('bundlerArtifactsError', BUNDLER_INVALID_CREDENTIALS);\n throw new Error(BUNDLER_INVALID_CREDENTIALS);\n }\n const resolveMatches: string[] = getResolvedPackages(output).filter(\n (depName) => !updatedDepNames.includes(depName),\n );\n if (\n recursionLimit > 0 &&\n resolveMatches.length &&\n !config.isLockFileMaintenance\n ) {\n logger.debug(\n { resolveMatches, updatedDeps },\n 'Found new resolve matches - reattempting recursively',\n );\n const newUpdatedDeps = [\n ...new Set([\n ...updatedDeps,\n ...resolveMatches.map((match) => ({ depName: match })),\n ]),\n ];\n return updateArtifacts(\n {\n packageFileName,\n updatedDeps: newUpdatedDeps,\n newPackageFileContent,\n config,\n },\n recursionLimit - 1,\n );\n }\n\n logger.info({ err }, 'Gemfile.lock update failed due to an unknown reason');\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: `${String(err.stdout)}\\n${String(err.stderr)}`,\n },\n },\n ];\n }\n}\n"]}
|
1
|
+
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/bundler/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport {\n BUNDLER_INVALID_CREDENTIALS,\n TEMPORARY_ERROR,\n} from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport type { HostRule } from '../../../types';\nimport * as memCache from '../../../util/cache/memory';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions } from '../../../util/exec/types';\nimport {\n ensureCacheDir,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\nimport { getRepoStatus } from '../../../util/git';\nimport { newlineRegex, regEx } from '../../../util/regex';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\nimport {\n getBundlerConstraint,\n getLockFilePath,\n getRubyConstraint,\n} from './common';\nimport {\n findAllAuthenticatable,\n getAuthenticationHeaderValue,\n} from './host-rules';\n\nconst hostConfigVariablePrefix = 'BUNDLE_';\n\nfunction buildBundleHostVariable(hostRule: HostRule): Record<string, string> {\n // istanbul ignore if: doesn't happen in practice\n if (!hostRule.resolvedHost) {\n return {};\n }\n const varName = hostConfigVariablePrefix.concat(\n hostRule.resolvedHost\n .toUpperCase()\n .split('.')\n .join('__')\n .split('-')\n .join('___'),\n );\n return {\n [varName]: `${getAuthenticationHeaderValue(hostRule)}`,\n };\n}\n\nconst resolvedPkgRegex = regEx(\n /(?<pkg>\\S+)(?:\\s*\\([^)]+\\)\\s*)? was resolved to/,\n);\n\nfunction getResolvedPackages(input: string): string[] {\n const lines = input.split(newlineRegex);\n const result: string[] = [];\n for (const line of lines) {\n const resolveMatchGroups = line.match(resolvedPkgRegex)?.groups;\n if (resolveMatchGroups) {\n const { pkg } = resolveMatchGroups;\n result.push(pkg);\n }\n }\n\n return [...new Set(result)];\n}\n\nexport async function updateArtifacts(\n updateArtifact: UpdateArtifact,\n recursionLimit = 10,\n): Promise<UpdateArtifactsResult[] | null> {\n const { packageFileName, updatedDeps, newPackageFileContent, config } =\n updateArtifact;\n logger.debug(`bundler.updateArtifacts(${packageFileName})`);\n const existingError = memCache.get<string>('bundlerArtifactsError');\n // istanbul ignore if\n if (existingError) {\n logger.debug('Aborting Bundler artifacts due to previous failed attempt');\n throw new Error(existingError);\n }\n const lockFileName = await getLockFilePath(packageFileName);\n const existingLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!existingLockFileContent) {\n logger.debug('No Gemfile.lock found');\n return null;\n }\n\n const updatedDepNames: string[] = updatedDeps\n .map(({ depName }) => depName)\n .filter(is.nonEmptyStringAndNotWhitespace);\n\n try {\n await writeLocalFile(packageFileName, newPackageFileContent);\n\n const commands: string[] = [];\n\n if (config.isLockFileMaintenance) {\n commands.push('bundler lock --update');\n } else {\n const bundlerUpgraded = updatedDeps\n .map((dep) => dep.depName)\n .includes('bundler');\n if (bundlerUpgraded) {\n commands.push('bundler lock --update --bundler');\n }\n\n const updateTypes = {\n patch: '--patch ',\n minor: '--minor ',\n major: '',\n };\n for (const [updateType, updateArg] of Object.entries(updateTypes)) {\n const deps = updatedDeps\n .filter((dep) => (dep.updateType ?? 'major') === updateType)\n .map((dep) => dep.depName)\n .filter(is.string)\n .filter((dep) => dep !== 'ruby' && dep !== 'bundler');\n let additionalArgs = '';\n if (config.postUpdateOptions?.includes('bundlerConservative')) {\n additionalArgs = '--conservative ';\n }\n if (deps.length) {\n const cmd = `bundler lock ${updateArg}${additionalArgs}--update ${deps\n .map(quote)\n .join(' ')}`;\n commands.push(cmd);\n }\n }\n\n const rubyUpgraded = updatedDeps\n .map((dep) => dep.depName)\n .includes('ruby');\n if (rubyUpgraded) {\n commands.push('bundler lock');\n }\n }\n\n const bundlerHostRules = findAllAuthenticatable({\n hostType: 'rubygems',\n });\n\n const bundlerHostRulesVariables = bundlerHostRules.reduce(\n (variables, hostRule) => ({\n ...variables,\n ...buildBundleHostVariable(hostRule),\n }),\n {} as Record<string, string>,\n );\n\n const bundler = getBundlerConstraint(\n updateArtifact,\n existingLockFileContent,\n );\n const preCommands = ['ruby --version'];\n\n const execOptions: ExecOptions = {\n cwdFile: lockFileName,\n extraEnv: {\n ...bundlerHostRulesVariables,\n GEM_HOME: await ensureCacheDir('bundler'),\n },\n docker: {},\n toolConstraints: [\n {\n toolName: 'ruby',\n constraint: await getRubyConstraint(updateArtifact),\n },\n {\n toolName: 'bundler',\n constraint: bundler,\n },\n ],\n preCommands,\n };\n await exec(commands, execOptions);\n\n const status = await getRepoStatus();\n if (!status.modified.includes(lockFileName)) {\n return null;\n }\n logger.debug('Returning updated Gemfile.lock');\n const lockFileContent = await readLocalFile(lockFileName);\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: lockFileContent,\n },\n },\n ];\n } catch (err) {\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n const output = `${String(err.stdout)}\\n${String(err.stderr)}`;\n if (\n err.message.includes('fatal: Could not parse object') ||\n output.includes('but that version could not be found')\n ) {\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: output,\n },\n },\n ];\n }\n if (\n err.stdout?.includes('Please supply credentials for this source') ||\n err.stderr?.includes('Authentication is required') ||\n err.stderr?.includes(\n 'Please make sure you have the correct access rights',\n )\n ) {\n logger.debug(\n { err },\n 'Gemfile.lock update failed due to missing credentials - skipping branch',\n );\n // Do not generate these PRs because we don't yet support Bundler authentication\n memCache.set('bundlerArtifactsError', BUNDLER_INVALID_CREDENTIALS);\n throw new Error(BUNDLER_INVALID_CREDENTIALS);\n }\n const resolveMatches: string[] = getResolvedPackages(output).filter(\n (depName) => !updatedDepNames.includes(depName),\n );\n if (\n recursionLimit > 0 &&\n resolveMatches.length &&\n !config.isLockFileMaintenance\n ) {\n logger.debug(\n { resolveMatches, updatedDeps },\n 'Found new resolve matches - reattempting recursively',\n );\n const newUpdatedDeps = [\n ...new Set([\n ...updatedDeps,\n ...resolveMatches.map((match) => ({ depName: match })),\n ]),\n ];\n return updateArtifacts(\n {\n packageFileName,\n updatedDeps: newUpdatedDeps,\n newPackageFileContent,\n config,\n },\n recursionLimit - 1,\n );\n }\n\n logger.info({ err }, 'Gemfile.lock update failed due to an unknown reason');\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: `${String(err.stdout)}\\n${String(err.stderr)}`,\n },\n },\n ];\n }\n}\n"]}
|
@@ -6,6 +6,7 @@ const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
6
6
|
const logger_1 = require("../../../logger");
|
7
7
|
const fs_1 = require("../../../util/fs");
|
8
8
|
const regex_1 = require("../../../util/regex");
|
9
|
+
const url_1 = require("../../../util/url");
|
9
10
|
const git_refs_1 = require("../../datasource/git-refs");
|
10
11
|
const ruby_version_1 = require("../../datasource/ruby-version");
|
11
12
|
const rubygems_1 = require("../../datasource/rubygems");
|
@@ -131,7 +132,7 @@ async function extractPackageFile(content, packageFile) {
|
|
131
132
|
if (gitRefsMatch.gitUrl) {
|
132
133
|
const gitUrl = gitRefsMatch.gitUrl;
|
133
134
|
dep.packageName = gitUrl;
|
134
|
-
if (
|
135
|
+
if ((0, url_1.isHttpUrl)(gitUrl)) {
|
135
136
|
dep.sourceUrl = gitUrl.replace(/\.git$/, '');
|
136
137
|
}
|
137
138
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/bundler/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { readLocalFile } from '../../../util/fs';\nimport { newlineRegex, regEx } from '../../../util/regex';\nimport { GitRefsDatasource } from '../../datasource/git-refs';\nimport { RubyVersionDatasource } from '../../datasource/ruby-version';\nimport { RubygemsDatasource } from '../../datasource/rubygems';\nimport type { PackageDependency, PackageFileContent } from '../types';\nimport { delimiters, extractRubyVersion, getLockFilePath } from './common';\nimport { extractLockFileEntries } from './locked-version';\n\nfunction formatContent(input: string): string {\n return input.replace(regEx(/^ {2}/), '') + '\\n'; //remove leading whitespace and add a new line at the end\n}\n\nconst variableMatchRegex = regEx(\n `^(?<key>\\\\w+)\\\\s*=\\\\s*['\"](?<value>[^'\"]+)['\"]`,\n);\nconst gemMatchRegex = regEx(\n `^\\\\s*gem\\\\s+(['\"])(?<depName>[^'\"]+)(['\"])(\\\\s*,\\\\s*(?<currentValue>(['\"])[^'\"]+['\"](\\\\s*,\\\\s*['\"][^'\"]+['\"])?))?`,\n);\nconst sourceMatchRegex = regEx(\n `source:\\\\s*((?:['\"](?<registryUrl>[^'\"]+)['\"])|(?<sourceName>\\\\w+))?`,\n);\nconst gitRefsMatchRegex = regEx(\n `((git:\\\\s*['\"](?<gitUrl>[^'\"]+)['\"])|(\\\\s*,\\\\s*github:\\\\s*['\"](?<repoName>[^'\"]+)['\"]))(\\\\s*,\\\\s*branch:\\\\s*['\"](?<branchName>[^'\"]+)['\"])?(\\\\s*,\\\\s*ref:\\\\s*['\"](?<refName>[^'\"]+)['\"])?(\\\\s*,\\\\s*tag:\\\\s*['\"](?<tagName>[^'\"]+)['\"])?`,\n);\nconst pathMatchRegex = regEx(`path:\\\\s*['\"](?<path>[^'\"]+)['\"]`);\n\nexport async function extractPackageFile(\n content: string,\n packageFile?: string,\n): Promise<PackageFileContent | null> {\n let lineNumber: number;\n async function processGroupBlock(\n line: string,\n repositoryUrl?: string,\n trimGroupLine = false,\n ): Promise<void> {\n const groupMatch = regEx(/^group\\s+(.*?)\\s+do/).exec(line);\n if (groupMatch) {\n const depTypes = groupMatch[1]\n .split(',')\n .map((group) => group.trim())\n .map((group) => group.replace(regEx(/^:/), ''));\n\n const groupLineNumber = lineNumber;\n let groupContent = '';\n let groupLine = '';\n\n while (\n lineNumber < lines.length &&\n (trimGroupLine ? groupLine.trim() !== 'end' : groupLine !== 'end')\n ) {\n lineNumber += 1;\n groupLine = lines[lineNumber];\n\n // istanbul ignore if\n if (!is.string(groupLine)) {\n logger.debug(\n { content, packageFile, type: 'groupLine' },\n 'Bundler parsing error',\n );\n groupLine = 'end';\n }\n if (trimGroupLine ? groupLine.trim() !== 'end' : groupLine !== 'end') {\n groupContent += formatContent(groupLine);\n }\n }\n\n const groupRes = await extractPackageFile(groupContent);\n if (groupRes) {\n res.deps = res.deps.concat(\n groupRes.deps.map((dep) => {\n const depObject = {\n ...dep,\n depTypes,\n managerData: {\n lineNumber:\n Number(dep.managerData?.lineNumber) + groupLineNumber + 1,\n },\n };\n if (repositoryUrl) {\n depObject.registryUrls = [repositoryUrl];\n }\n return depObject;\n }),\n );\n }\n }\n }\n const res: PackageFileContent = {\n registryUrls: [],\n deps: [],\n };\n\n const variables: Record<string, string> = {};\n\n const lines = content.split(newlineRegex);\n for (lineNumber = 0; lineNumber < lines.length; lineNumber += 1) {\n const line = lines[lineNumber];\n let sourceMatch: RegExpMatchArray | null = null;\n for (const delimiter of delimiters) {\n sourceMatch =\n sourceMatch ??\n regEx(\n `^source ((${delimiter}(?<registryUrl>[^${delimiter}]+)${delimiter})|(?<sourceName>\\\\w+))\\\\s*$`,\n ).exec(line);\n }\n if (sourceMatch) {\n if (sourceMatch.groups?.registryUrl) {\n res.registryUrls?.push(sourceMatch.groups.registryUrl);\n }\n if (sourceMatch.groups?.sourceName) {\n const registryUrl = variables[sourceMatch.groups.sourceName];\n if (registryUrl) {\n res.registryUrls?.push(registryUrl);\n }\n }\n }\n\n const rubyMatch = extractRubyVersion(line);\n if (rubyMatch) {\n res.deps.push({\n depName: 'ruby',\n currentValue: rubyMatch,\n datasource: RubyVersionDatasource.id,\n registryUrls: null,\n });\n }\n\n const variableMatch = variableMatchRegex.exec(line);\n if (variableMatch) {\n if (variableMatch.groups?.key) {\n variables[variableMatch.groups?.key] = variableMatch.groups?.value;\n }\n }\n\n const gemMatch = gemMatchRegex.exec(line)?.groups;\n\n if (gemMatch) {\n const dep: PackageDependency = {\n depName: gemMatch.depName,\n managerData: { lineNumber },\n datasource: RubygemsDatasource.id,\n };\n\n if (gemMatch.currentValue) {\n const currentValue = gemMatch.currentValue;\n dep.currentValue = currentValue;\n }\n\n const pathMatch = pathMatchRegex.exec(line)?.groups;\n if (pathMatch) {\n dep.skipReason = 'internal-package';\n }\n\n const sourceMatch = sourceMatchRegex.exec(line)?.groups;\n if (sourceMatch) {\n if (sourceMatch.registryUrl) {\n dep.registryUrls = [sourceMatch.registryUrl];\n } else if (sourceMatch.sourceName) {\n dep.registryUrls = [variables[sourceMatch.sourceName]];\n }\n }\n\n const gitRefsMatch = gitRefsMatchRegex.exec(line)?.groups;\n if (gitRefsMatch) {\n if (gitRefsMatch.gitUrl) {\n const gitUrl = gitRefsMatch.gitUrl;\n dep.packageName = gitUrl;\n\n if (gitUrl.startsWith('https://')) {\n dep.sourceUrl = gitUrl.replace(/\\.git$/, '');\n }\n } else if (gitRefsMatch.repoName) {\n dep.packageName = `https://github.com/${gitRefsMatch.repoName}`;\n dep.sourceUrl = dep.packageName;\n }\n if (gitRefsMatch.refName) {\n dep.currentDigest = gitRefsMatch.refName;\n } else if (gitRefsMatch.branchName) {\n dep.currentValue = gitRefsMatch.branchName;\n } else if (gitRefsMatch.tagName) {\n dep.currentValue = gitRefsMatch.tagName;\n }\n dep.datasource = GitRefsDatasource.id;\n }\n res.deps.push(dep);\n }\n\n await processGroupBlock(line);\n\n for (const delimiter of delimiters) {\n const sourceBlockMatch = regEx(\n `^source\\\\s+((${delimiter}(?<registryUrl>[^${delimiter}]+)${delimiter})|(?<sourceName>\\\\w+))\\\\s+do`,\n ).exec(line);\n if (sourceBlockMatch) {\n let repositoryUrl = '';\n if (sourceBlockMatch.groups?.registryUrl) {\n repositoryUrl = sourceBlockMatch.groups.registryUrl;\n }\n if (sourceBlockMatch.groups?.sourceName) {\n if (variables[sourceBlockMatch.groups.sourceName]) {\n repositoryUrl = variables[sourceBlockMatch.groups.sourceName];\n }\n }\n const sourceLineNumber = lineNumber;\n let sourceContent = '';\n let sourceLine = '';\n\n while (lineNumber < lines.length && sourceLine.trim() !== 'end') {\n lineNumber += 1;\n sourceLine = lines[lineNumber];\n // istanbul ignore if\n if (!is.string(sourceLine)) {\n logger.debug(\n { content, packageFile, type: 'sourceLine' },\n 'Bundler parsing error',\n );\n sourceLine = 'end';\n }\n\n await processGroupBlock(sourceLine.trim(), repositoryUrl, true);\n\n if (sourceLine.trim() !== 'end') {\n sourceContent += formatContent(sourceLine);\n }\n }\n\n const sourceRes = await extractPackageFile(sourceContent);\n\n if (sourceRes) {\n res.deps = res.deps.concat(\n sourceRes.deps.map((dep) => ({\n ...dep,\n registryUrls: [repositoryUrl],\n managerData: {\n lineNumber:\n Number(dep.managerData?.lineNumber) + sourceLineNumber + 1,\n },\n })),\n );\n }\n }\n }\n const platformsMatch = regEx(/^platforms\\s+(.*?)\\s+do/).test(line);\n if (platformsMatch) {\n const platformsLineNumber = lineNumber;\n let platformsContent = '';\n let platformsLine = '';\n while (lineNumber < lines.length && platformsLine !== 'end') {\n lineNumber += 1;\n platformsLine = lines[lineNumber];\n // istanbul ignore if\n if (!is.string(platformsLine)) {\n logger.debug(\n { content, packageFile, type: 'platformsLine' },\n 'Bundler parsing error',\n );\n platformsLine = 'end';\n }\n if (platformsLine !== 'end') {\n platformsContent += formatContent(platformsLine);\n }\n }\n const platformsRes = await extractPackageFile(platformsContent);\n if (platformsRes) {\n res.deps = res.deps.concat(\n platformsRes.deps.map((dep) => ({\n ...dep,\n managerData: {\n lineNumber:\n Number(dep.managerData?.lineNumber) + platformsLineNumber + 1,\n },\n })),\n );\n }\n }\n const ifMatch = regEx(/^if\\s+(.*?)/).test(line);\n if (ifMatch) {\n const ifLineNumber = lineNumber;\n let ifContent = '';\n let ifLine = '';\n while (lineNumber < lines.length && ifLine !== 'end') {\n lineNumber += 1;\n ifLine = lines[lineNumber];\n // istanbul ignore if\n if (!is.string(ifLine)) {\n logger.debug(\n { content, packageFile, type: 'ifLine' },\n 'Bundler parsing error',\n );\n ifLine = 'end';\n }\n if (ifLine !== 'end') {\n ifContent += formatContent(ifLine);\n }\n }\n const ifRes = await extractPackageFile(ifContent);\n if (ifRes) {\n res.deps = res.deps.concat(\n ifRes.deps.map((dep) => ({\n ...dep,\n managerData: {\n lineNumber:\n Number(dep.managerData?.lineNumber) + ifLineNumber + 1,\n },\n })),\n );\n }\n }\n }\n if (!res.deps.length && !res.registryUrls?.length) {\n return null;\n }\n\n if (packageFile) {\n const gemfileLockPath = await getLockFilePath(packageFile);\n const lockContent = await readLocalFile(gemfileLockPath, 'utf8');\n if (lockContent) {\n logger.debug(\n `Found lock file ${gemfileLockPath} for packageFile: ${packageFile}`,\n );\n res.lockFiles = [gemfileLockPath];\n const lockedEntries = extractLockFileEntries(lockContent);\n for (const dep of res.deps) {\n // TODO: types (#22198)\n const lockedDepValue = lockedEntries.get(`${dep.depName!}`);\n if (lockedDepValue) {\n dep.lockedVersion = lockedDepValue;\n }\n }\n }\n }\n return res;\n}\n"]}
|
1
|
+
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/bundler/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { readLocalFile } from '../../../util/fs';\nimport { newlineRegex, regEx } from '../../../util/regex';\nimport { isHttpUrl } from '../../../util/url';\nimport { GitRefsDatasource } from '../../datasource/git-refs';\nimport { RubyVersionDatasource } from '../../datasource/ruby-version';\nimport { RubygemsDatasource } from '../../datasource/rubygems';\nimport type { PackageDependency, PackageFileContent } from '../types';\nimport { delimiters, extractRubyVersion, getLockFilePath } from './common';\nimport { extractLockFileEntries } from './locked-version';\n\nfunction formatContent(input: string): string {\n return input.replace(regEx(/^ {2}/), '') + '\\n'; //remove leading whitespace and add a new line at the end\n}\n\nconst variableMatchRegex = regEx(\n `^(?<key>\\\\w+)\\\\s*=\\\\s*['\"](?<value>[^'\"]+)['\"]`,\n);\nconst gemMatchRegex = regEx(\n `^\\\\s*gem\\\\s+(['\"])(?<depName>[^'\"]+)(['\"])(\\\\s*,\\\\s*(?<currentValue>(['\"])[^'\"]+['\"](\\\\s*,\\\\s*['\"][^'\"]+['\"])?))?`,\n);\nconst sourceMatchRegex = regEx(\n `source:\\\\s*((?:['\"](?<registryUrl>[^'\"]+)['\"])|(?<sourceName>\\\\w+))?`,\n);\nconst gitRefsMatchRegex = regEx(\n `((git:\\\\s*['\"](?<gitUrl>[^'\"]+)['\"])|(\\\\s*,\\\\s*github:\\\\s*['\"](?<repoName>[^'\"]+)['\"]))(\\\\s*,\\\\s*branch:\\\\s*['\"](?<branchName>[^'\"]+)['\"])?(\\\\s*,\\\\s*ref:\\\\s*['\"](?<refName>[^'\"]+)['\"])?(\\\\s*,\\\\s*tag:\\\\s*['\"](?<tagName>[^'\"]+)['\"])?`,\n);\nconst pathMatchRegex = regEx(`path:\\\\s*['\"](?<path>[^'\"]+)['\"]`);\n\nexport async function extractPackageFile(\n content: string,\n packageFile?: string,\n): Promise<PackageFileContent | null> {\n let lineNumber: number;\n async function processGroupBlock(\n line: string,\n repositoryUrl?: string,\n trimGroupLine = false,\n ): Promise<void> {\n const groupMatch = regEx(/^group\\s+(.*?)\\s+do/).exec(line);\n if (groupMatch) {\n const depTypes = groupMatch[1]\n .split(',')\n .map((group) => group.trim())\n .map((group) => group.replace(regEx(/^:/), ''));\n\n const groupLineNumber = lineNumber;\n let groupContent = '';\n let groupLine = '';\n\n while (\n lineNumber < lines.length &&\n (trimGroupLine ? groupLine.trim() !== 'end' : groupLine !== 'end')\n ) {\n lineNumber += 1;\n groupLine = lines[lineNumber];\n\n // istanbul ignore if\n if (!is.string(groupLine)) {\n logger.debug(\n { content, packageFile, type: 'groupLine' },\n 'Bundler parsing error',\n );\n groupLine = 'end';\n }\n if (trimGroupLine ? groupLine.trim() !== 'end' : groupLine !== 'end') {\n groupContent += formatContent(groupLine);\n }\n }\n\n const groupRes = await extractPackageFile(groupContent);\n if (groupRes) {\n res.deps = res.deps.concat(\n groupRes.deps.map((dep) => {\n const depObject = {\n ...dep,\n depTypes,\n managerData: {\n lineNumber:\n Number(dep.managerData?.lineNumber) + groupLineNumber + 1,\n },\n };\n if (repositoryUrl) {\n depObject.registryUrls = [repositoryUrl];\n }\n return depObject;\n }),\n );\n }\n }\n }\n const res: PackageFileContent = {\n registryUrls: [],\n deps: [],\n };\n\n const variables: Record<string, string> = {};\n\n const lines = content.split(newlineRegex);\n for (lineNumber = 0; lineNumber < lines.length; lineNumber += 1) {\n const line = lines[lineNumber];\n let sourceMatch: RegExpMatchArray | null = null;\n for (const delimiter of delimiters) {\n sourceMatch =\n sourceMatch ??\n regEx(\n `^source ((${delimiter}(?<registryUrl>[^${delimiter}]+)${delimiter})|(?<sourceName>\\\\w+))\\\\s*$`,\n ).exec(line);\n }\n if (sourceMatch) {\n if (sourceMatch.groups?.registryUrl) {\n res.registryUrls?.push(sourceMatch.groups.registryUrl);\n }\n if (sourceMatch.groups?.sourceName) {\n const registryUrl = variables[sourceMatch.groups.sourceName];\n if (registryUrl) {\n res.registryUrls?.push(registryUrl);\n }\n }\n }\n\n const rubyMatch = extractRubyVersion(line);\n if (rubyMatch) {\n res.deps.push({\n depName: 'ruby',\n currentValue: rubyMatch,\n datasource: RubyVersionDatasource.id,\n registryUrls: null,\n });\n }\n\n const variableMatch = variableMatchRegex.exec(line);\n if (variableMatch) {\n if (variableMatch.groups?.key) {\n variables[variableMatch.groups?.key] = variableMatch.groups?.value;\n }\n }\n\n const gemMatch = gemMatchRegex.exec(line)?.groups;\n\n if (gemMatch) {\n const dep: PackageDependency = {\n depName: gemMatch.depName,\n managerData: { lineNumber },\n datasource: RubygemsDatasource.id,\n };\n\n if (gemMatch.currentValue) {\n const currentValue = gemMatch.currentValue;\n dep.currentValue = currentValue;\n }\n\n const pathMatch = pathMatchRegex.exec(line)?.groups;\n if (pathMatch) {\n dep.skipReason = 'internal-package';\n }\n\n const sourceMatch = sourceMatchRegex.exec(line)?.groups;\n if (sourceMatch) {\n if (sourceMatch.registryUrl) {\n dep.registryUrls = [sourceMatch.registryUrl];\n } else if (sourceMatch.sourceName) {\n dep.registryUrls = [variables[sourceMatch.sourceName]];\n }\n }\n\n const gitRefsMatch = gitRefsMatchRegex.exec(line)?.groups;\n if (gitRefsMatch) {\n if (gitRefsMatch.gitUrl) {\n const gitUrl = gitRefsMatch.gitUrl;\n dep.packageName = gitUrl;\n\n if (isHttpUrl(gitUrl)) {\n dep.sourceUrl = gitUrl.replace(/\\.git$/, '');\n }\n } else if (gitRefsMatch.repoName) {\n dep.packageName = `https://github.com/${gitRefsMatch.repoName}`;\n dep.sourceUrl = dep.packageName;\n }\n if (gitRefsMatch.refName) {\n dep.currentDigest = gitRefsMatch.refName;\n } else if (gitRefsMatch.branchName) {\n dep.currentValue = gitRefsMatch.branchName;\n } else if (gitRefsMatch.tagName) {\n dep.currentValue = gitRefsMatch.tagName;\n }\n dep.datasource = GitRefsDatasource.id;\n }\n res.deps.push(dep);\n }\n\n await processGroupBlock(line);\n\n for (const delimiter of delimiters) {\n const sourceBlockMatch = regEx(\n `^source\\\\s+((${delimiter}(?<registryUrl>[^${delimiter}]+)${delimiter})|(?<sourceName>\\\\w+))\\\\s+do`,\n ).exec(line);\n if (sourceBlockMatch) {\n let repositoryUrl = '';\n if (sourceBlockMatch.groups?.registryUrl) {\n repositoryUrl = sourceBlockMatch.groups.registryUrl;\n }\n if (sourceBlockMatch.groups?.sourceName) {\n if (variables[sourceBlockMatch.groups.sourceName]) {\n repositoryUrl = variables[sourceBlockMatch.groups.sourceName];\n }\n }\n const sourceLineNumber = lineNumber;\n let sourceContent = '';\n let sourceLine = '';\n\n while (lineNumber < lines.length && sourceLine.trim() !== 'end') {\n lineNumber += 1;\n sourceLine = lines[lineNumber];\n // istanbul ignore if\n if (!is.string(sourceLine)) {\n logger.debug(\n { content, packageFile, type: 'sourceLine' },\n 'Bundler parsing error',\n );\n sourceLine = 'end';\n }\n\n await processGroupBlock(sourceLine.trim(), repositoryUrl, true);\n\n if (sourceLine.trim() !== 'end') {\n sourceContent += formatContent(sourceLine);\n }\n }\n\n const sourceRes = await extractPackageFile(sourceContent);\n\n if (sourceRes) {\n res.deps = res.deps.concat(\n sourceRes.deps.map((dep) => ({\n ...dep,\n registryUrls: [repositoryUrl],\n managerData: {\n lineNumber:\n Number(dep.managerData?.lineNumber) + sourceLineNumber + 1,\n },\n })),\n );\n }\n }\n }\n const platformsMatch = regEx(/^platforms\\s+(.*?)\\s+do/).test(line);\n if (platformsMatch) {\n const platformsLineNumber = lineNumber;\n let platformsContent = '';\n let platformsLine = '';\n while (lineNumber < lines.length && platformsLine !== 'end') {\n lineNumber += 1;\n platformsLine = lines[lineNumber];\n // istanbul ignore if\n if (!is.string(platformsLine)) {\n logger.debug(\n { content, packageFile, type: 'platformsLine' },\n 'Bundler parsing error',\n );\n platformsLine = 'end';\n }\n if (platformsLine !== 'end') {\n platformsContent += formatContent(platformsLine);\n }\n }\n const platformsRes = await extractPackageFile(platformsContent);\n if (platformsRes) {\n res.deps = res.deps.concat(\n platformsRes.deps.map((dep) => ({\n ...dep,\n managerData: {\n lineNumber:\n Number(dep.managerData?.lineNumber) + platformsLineNumber + 1,\n },\n })),\n );\n }\n }\n const ifMatch = regEx(/^if\\s+(.*?)/).test(line);\n if (ifMatch) {\n const ifLineNumber = lineNumber;\n let ifContent = '';\n let ifLine = '';\n while (lineNumber < lines.length && ifLine !== 'end') {\n lineNumber += 1;\n ifLine = lines[lineNumber];\n // istanbul ignore if\n if (!is.string(ifLine)) {\n logger.debug(\n { content, packageFile, type: 'ifLine' },\n 'Bundler parsing error',\n );\n ifLine = 'end';\n }\n if (ifLine !== 'end') {\n ifContent += formatContent(ifLine);\n }\n }\n const ifRes = await extractPackageFile(ifContent);\n if (ifRes) {\n res.deps = res.deps.concat(\n ifRes.deps.map((dep) => ({\n ...dep,\n managerData: {\n lineNumber:\n Number(dep.managerData?.lineNumber) + ifLineNumber + 1,\n },\n })),\n );\n }\n }\n }\n if (!res.deps.length && !res.registryUrls?.length) {\n return null;\n }\n\n if (packageFile) {\n const gemfileLockPath = await getLockFilePath(packageFile);\n const lockContent = await readLocalFile(gemfileLockPath, 'utf8');\n if (lockContent) {\n logger.debug(\n `Found lock file ${gemfileLockPath} for packageFile: ${packageFile}`,\n );\n res.lockFiles = [gemfileLockPath];\n const lockedEntries = extractLockFileEntries(lockContent);\n for (const dep of res.deps) {\n // TODO: types (#22198)\n const lockedDepValue = lockedEntries.get(`${dep.depName!}`);\n if (lockedDepValue) {\n dep.lockedVersion = lockedDepValue;\n }\n }\n }\n }\n return res;\n}\n"]}
|
@@ -5,6 +5,7 @@ exports.extractPackageFile = extractPackageFile;
|
|
5
5
|
const tslib_1 = require("tslib");
|
6
6
|
const moo_1 = tslib_1.__importDefault(require("moo"));
|
7
7
|
const regex_1 = require("../../../util/regex");
|
8
|
+
const url_1 = require("../../../util/url");
|
8
9
|
const nuget_1 = require("../../datasource/nuget");
|
9
10
|
exports.url = 'https://cakebuild.net/docs';
|
10
11
|
exports.categories = ['dotnet'];
|
@@ -31,7 +32,8 @@ function parseDependencyLine(line) {
|
|
31
32
|
let url = line.replace((0, regex_1.regEx)(/^[^:]*:/), '');
|
32
33
|
const isEmptyHost = url.startsWith('?');
|
33
34
|
url = isEmptyHost ? `http://localhost/${url}` : url;
|
34
|
-
const
|
35
|
+
const parsedUrl = new URL(url);
|
36
|
+
const { origin, pathname, searchParams } = parsedUrl;
|
35
37
|
const registryUrl = `${origin}${pathname}`;
|
36
38
|
const depName = searchParams.get('package');
|
37
39
|
const currentValue = searchParams.get('version') ?? undefined;
|
@@ -41,7 +43,7 @@ function parseDependencyLine(line) {
|
|
41
43
|
currentValue,
|
42
44
|
};
|
43
45
|
if (!isEmptyHost) {
|
44
|
-
if (
|
46
|
+
if ((0, url_1.isHttpUrl)(parsedUrl)) {
|
45
47
|
result.registryUrls = [registryUrl];
|
46
48
|
}
|
47
49
|
else {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/manager/cake/index.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/manager/cake/index.ts"],"names":[],"mappings":"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","sourcesContent":["import moo from 'moo';\nimport type { Category } from '../../../constants';\nimport { regEx } from '../../../util/regex';\nimport { isHttpUrl } from '../../../util/url';\nimport { NugetDatasource } from '../../datasource/nuget';\nimport type { PackageDependency, PackageFileContent } from '../types';\n\nexport const url = 'https://cakebuild.net/docs';\nexport const categories: Category[] = ['dotnet'];\n\nexport const defaultConfig = {\n fileMatch: ['\\\\.cake$'],\n};\n\nexport const supportedDatasources = [NugetDatasource.id];\n\nconst lexer = moo.states({\n main: {\n lineComment: { match: /\\/\\/.*?$/ }, // TODO #12870\n multiLineComment: { match: /\\/\\*[^]*?\\*\\//, lineBreaks: true }, // TODO #12870\n dependency: {\n match: /^#(?:addin|tool|module|load|l)\\s+(?:nuget|dotnet):.*$/, // TODO #12870\n },\n dependencyQuoted: {\n match: /^#(?:addin|tool|module|load|l)\\s+\"(?:nuget|dotnet):[^\"]+\"\\s*$/, // TODO #12870\n value: (s: string) => s.trim().slice(1, -1),\n },\n unknown: moo.fallback,\n },\n});\n\nfunction parseDependencyLine(line: string): PackageDependency | null {\n try {\n let url = line.replace(regEx(/^[^:]*:/), '');\n const isEmptyHost = url.startsWith('?');\n url = isEmptyHost ? `http://localhost/${url}` : url;\n\n const parsedUrl = new URL(url);\n const { origin, pathname, searchParams } = parsedUrl;\n\n const registryUrl = `${origin}${pathname}`;\n\n const depName = searchParams.get('package')!;\n const currentValue = searchParams.get('version') ?? undefined;\n\n const result: PackageDependency = {\n datasource: NugetDatasource.id,\n depName,\n currentValue,\n };\n\n if (!isEmptyHost) {\n if (isHttpUrl(parsedUrl)) {\n result.registryUrls = [registryUrl];\n } else {\n result.skipReason = 'unsupported-url';\n }\n }\n\n return result;\n } catch {\n return null;\n }\n}\n\nexport function extractPackageFile(content: string): PackageFileContent {\n const deps: PackageDependency[] = [];\n lexer.reset(content);\n let token = lexer.next();\n while (token) {\n const { type, value } = token;\n if (type === 'dependency' || type === 'dependencyQuoted') {\n const dep = parseDependencyLine(value);\n if (dep) {\n deps.push(dep);\n }\n }\n token = lexer.next();\n }\n return { deps };\n}\n"]}
|
@@ -10,7 +10,7 @@ const fs_1 = require("../../../util/fs");
|
|
10
10
|
const auth_1 = require("../../../util/git/auth");
|
11
11
|
const regex_1 = require("../../../util/regex");
|
12
12
|
const locked_version_1 = require("./locked-version");
|
13
|
-
async function cargoUpdate(manifestPath, isLockFileMaintenance,
|
13
|
+
async function cargoUpdate(manifestPath, isLockFileMaintenance, constraint) {
|
14
14
|
let cmd = `cargo update --config net.git-fetch-with-cli=true --manifest-path ${(0, shlex_1.quote)(manifestPath)}`;
|
15
15
|
// If we're updating a specific crate, `cargo-update` requires `--workspace`
|
16
16
|
// for more information, see: https://github.com/renovatebot/renovate/issues/12332
|
@@ -18,14 +18,13 @@ async function cargoUpdate(manifestPath, isLockFileMaintenance, userConfiguredEn
|
|
18
18
|
cmd += ` --workspace`;
|
19
19
|
}
|
20
20
|
const execOptions = {
|
21
|
-
userConfiguredEnv,
|
22
21
|
extraEnv: { ...(0, auth_1.getGitEnvironmentVariables)(['cargo']) },
|
23
22
|
docker: {},
|
24
23
|
toolConstraints: [{ toolName: 'rust', constraint }],
|
25
24
|
};
|
26
25
|
await (0, exec_1.exec)(cmd, execOptions);
|
27
26
|
}
|
28
|
-
async function cargoUpdatePrecise(manifestPath, updatedDeps,
|
27
|
+
async function cargoUpdatePrecise(manifestPath, updatedDeps, constraint) {
|
29
28
|
// First update all dependencies that have been bumped in `Cargo.toml`.
|
30
29
|
const cmds = [
|
31
30
|
'cargo update --config net.git-fetch-with-cli=true' +
|
@@ -40,7 +39,6 @@ async function cargoUpdatePrecise(manifestPath, updatedDeps, userConfiguredEnv,
|
|
40
39
|
` --precise ${(0, shlex_1.quote)(dep.newVersion)}`);
|
41
40
|
}
|
42
41
|
const execOptions = {
|
43
|
-
userConfiguredEnv,
|
44
42
|
extraEnv: { ...(0, auth_1.getGitEnvironmentVariables)(['cargo']) },
|
45
43
|
docker: {},
|
46
44
|
toolConstraints: [{ toolName: 'rust', constraint }],
|
@@ -80,7 +78,7 @@ async function updateArtifactsImpl({ packageFileName, updatedDeps, newPackageFil
|
|
80
78
|
await (0, fs_1.writeLocalFile)(packageFileName, newPackageFileContent);
|
81
79
|
logger_1.logger.debug('Updating ' + lockFileName);
|
82
80
|
if (isLockFileMaintenance) {
|
83
|
-
await cargoUpdate(packageFileName, true, config.
|
81
|
+
await cargoUpdate(packageFileName, true, config.constraints?.rust);
|
84
82
|
}
|
85
83
|
else {
|
86
84
|
const missingDep = updatedDeps.find((dep) => !dep.lockedVersion);
|
@@ -88,11 +86,11 @@ async function updateArtifactsImpl({ packageFileName, updatedDeps, newPackageFil
|
|
88
86
|
// If there is a dependency without a locked version then log a warning
|
89
87
|
// and perform a regular workspace lockfile update.
|
90
88
|
logger_1.logger.warn({ dependency: missingDep.depName }, 'Missing locked version for dependency');
|
91
|
-
await cargoUpdate(packageFileName, false, config.
|
89
|
+
await cargoUpdate(packageFileName, false, config.constraints?.rust);
|
92
90
|
}
|
93
91
|
else {
|
94
92
|
// If all dependencies have locked versions then update them precisely.
|
95
|
-
await cargoUpdatePrecise(packageFileName, updatedDeps, config.
|
93
|
+
await cargoUpdatePrecise(packageFileName, updatedDeps, config.constraints?.rust);
|
96
94
|
}
|
97
95
|
}
|
98
96
|
logger_1.logger.debug('Returning updated Cargo.lock');
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/cargo/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import { quote } from 'shlex';\nimport type { UserEnv } from '../../../config/types';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport { coerceArray } from '../../../util/array';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions } from '../../../util/exec/types';\nimport {\n findLocalSiblingOrParent,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\nimport { getGitEnvironmentVariables } from '../../../util/git/auth';\nimport { regEx } from '../../../util/regex';\nimport type { UpdateArtifact, UpdateArtifactsResult, Upgrade } from '../types';\nimport { extractLockFileContentVersions } from './locked-version';\n\nasync function cargoUpdate(\n manifestPath: string,\n isLockFileMaintenance: boolean,\n userConfiguredEnv: UserEnv,\n constraint: string | undefined,\n): Promise<void> {\n let cmd = `cargo update --config net.git-fetch-with-cli=true --manifest-path ${quote(\n manifestPath,\n )}`;\n // If we're updating a specific crate, `cargo-update` requires `--workspace`\n // for more information, see: https://github.com/renovatebot/renovate/issues/12332\n if (!isLockFileMaintenance) {\n cmd += ` --workspace`;\n }\n\n const execOptions: ExecOptions = {\n userConfiguredEnv,\n extraEnv: { ...getGitEnvironmentVariables(['cargo']) },\n docker: {},\n toolConstraints: [{ toolName: 'rust', constraint }],\n };\n await exec(cmd, execOptions);\n}\n\nasync function cargoUpdatePrecise(\n manifestPath: string,\n updatedDeps: Upgrade[],\n userConfiguredEnv: UserEnv,\n constraint: string | undefined,\n): Promise<void> {\n // First update all dependencies that have been bumped in `Cargo.toml`.\n const cmds = [\n 'cargo update --config net.git-fetch-with-cli=true' +\n ` --manifest-path ${quote(manifestPath)} --workspace`,\n ];\n\n // Update individual dependencies to their `newVersion`. Necessary when\n // using the `update-lockfile` rangeStrategy which doesn't touch Cargo.toml.\n for (const dep of updatedDeps) {\n cmds.push(\n `cargo update --config net.git-fetch-with-cli=true` +\n ` --manifest-path ${quote(manifestPath)}` +\n ` --package ${quote(`${dep.packageName}@${dep.lockedVersion}`)}` +\n ` --precise ${quote(dep.newVersion!)}`,\n );\n }\n\n const execOptions: ExecOptions = {\n userConfiguredEnv,\n extraEnv: { ...getGitEnvironmentVariables(['cargo']) },\n docker: {},\n toolConstraints: [{ toolName: 'rust', constraint }],\n };\n\n await exec(cmds, execOptions);\n}\n\nexport async function updateArtifacts(\n updateArtifact: UpdateArtifact,\n): Promise<UpdateArtifactsResult[] | null> {\n return await updateArtifactsImpl(updateArtifact);\n}\n\nasync function updateArtifactsImpl(\n {\n packageFileName,\n updatedDeps,\n newPackageFileContent,\n config,\n }: UpdateArtifact,\n recursionLimit = 10,\n): Promise<UpdateArtifactsResult[] | null> {\n logger.debug(`cargo.updateArtifacts(${packageFileName})`);\n\n // For standalone package crates, the `Cargo.lock` will be in the same\n // directory as `Cargo.toml` (ie. a sibling). For cargo workspaces, it\n // will be further up.\n const lockFileName = await findLocalSiblingOrParent(\n packageFileName,\n 'Cargo.lock',\n );\n const existingLockFileContent = lockFileName\n ? await readLocalFile(lockFileName)\n : null;\n if (!existingLockFileContent || !lockFileName) {\n logger.debug('No Cargo.lock found');\n return null;\n }\n\n const { isLockFileMaintenance } = config;\n if (!isLockFileMaintenance && !updatedDeps?.length) {\n logger.debug('No more dependencies to update');\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: existingLockFileContent,\n },\n },\n ];\n }\n\n try {\n await writeLocalFile(packageFileName, newPackageFileContent);\n logger.debug('Updating ' + lockFileName);\n\n if (isLockFileMaintenance) {\n await cargoUpdate(\n packageFileName,\n true,\n config.env ?? {},\n config.constraints?.rust,\n );\n } else {\n const missingDep = updatedDeps.find((dep) => !dep.lockedVersion);\n if (missingDep) {\n // If there is a dependency without a locked version then log a warning\n // and perform a regular workspace lockfile update.\n logger.warn(\n { dependency: missingDep.depName },\n 'Missing locked version for dependency',\n );\n await cargoUpdate(\n packageFileName,\n false,\n config.env ?? {},\n config.constraints?.rust,\n );\n } else {\n // If all dependencies have locked versions then update them precisely.\n await cargoUpdatePrecise(\n packageFileName,\n updatedDeps,\n config.env ?? {},\n config.constraints?.rust,\n );\n }\n }\n\n logger.debug('Returning updated Cargo.lock');\n const newCargoLockContent = await readLocalFile(lockFileName);\n if (existingLockFileContent === newCargoLockContent) {\n logger.debug('Cargo.lock is unchanged');\n return null;\n }\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newCargoLockContent,\n },\n },\n ];\n } catch (err) {\n // istanbul ignore if\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n\n // Sometimes `cargo update` will fail when a preceding dependency update\n // causes another dependency to update. In this case we can no longer\n // reference the dependency by its old version, so we filter it out\n // and retry recursively.\n const newCargoLockContent = await readLocalFile(lockFileName, 'utf8');\n if (\n recursionLimit > 0 &&\n newCargoLockContent &&\n regEx(/error: package ID specification/).test(err.stderr)\n ) {\n const versions = extractLockFileContentVersions(newCargoLockContent);\n const newUpdatedDeps = updatedDeps.filter(\n (dep) =>\n !coerceArray(versions?.get(dep.packageName!)).includes(\n dep.newVersion!,\n ),\n );\n\n if (newUpdatedDeps.length < updatedDeps.length) {\n logger.debug(\n 'Dependency already up to date - reattempting recursively',\n );\n return updateArtifactsImpl(\n {\n packageFileName,\n updatedDeps: newUpdatedDeps,\n newPackageFileContent,\n config,\n },\n recursionLimit - 1,\n );\n }\n }\n\n logger.debug({ err }, 'Failed to update Cargo lock file');\n\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/cargo/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import { 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 { ExecOptions } from '../../../util/exec/types';\nimport {\n findLocalSiblingOrParent,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\nimport { getGitEnvironmentVariables } from '../../../util/git/auth';\nimport { regEx } from '../../../util/regex';\nimport type { UpdateArtifact, UpdateArtifactsResult, Upgrade } from '../types';\nimport { extractLockFileContentVersions } from './locked-version';\n\nasync function cargoUpdate(\n manifestPath: string,\n isLockFileMaintenance: boolean,\n constraint: string | undefined,\n): Promise<void> {\n let cmd = `cargo update --config net.git-fetch-with-cli=true --manifest-path ${quote(\n manifestPath,\n )}`;\n // If we're updating a specific crate, `cargo-update` requires `--workspace`\n // for more information, see: https://github.com/renovatebot/renovate/issues/12332\n if (!isLockFileMaintenance) {\n cmd += ` --workspace`;\n }\n\n const execOptions: ExecOptions = {\n extraEnv: { ...getGitEnvironmentVariables(['cargo']) },\n docker: {},\n toolConstraints: [{ toolName: 'rust', constraint }],\n };\n await exec(cmd, execOptions);\n}\n\nasync function cargoUpdatePrecise(\n manifestPath: string,\n updatedDeps: Upgrade[],\n constraint: string | undefined,\n): Promise<void> {\n // First update all dependencies that have been bumped in `Cargo.toml`.\n const cmds = [\n 'cargo update --config net.git-fetch-with-cli=true' +\n ` --manifest-path ${quote(manifestPath)} --workspace`,\n ];\n\n // Update individual dependencies to their `newVersion`. Necessary when\n // using the `update-lockfile` rangeStrategy which doesn't touch Cargo.toml.\n for (const dep of updatedDeps) {\n cmds.push(\n `cargo update --config net.git-fetch-with-cli=true` +\n ` --manifest-path ${quote(manifestPath)}` +\n ` --package ${quote(`${dep.packageName}@${dep.lockedVersion}`)}` +\n ` --precise ${quote(dep.newVersion!)}`,\n );\n }\n\n const execOptions: ExecOptions = {\n extraEnv: { ...getGitEnvironmentVariables(['cargo']) },\n docker: {},\n toolConstraints: [{ toolName: 'rust', constraint }],\n };\n\n await exec(cmds, execOptions);\n}\n\nexport async function updateArtifacts(\n updateArtifact: UpdateArtifact,\n): Promise<UpdateArtifactsResult[] | null> {\n return await updateArtifactsImpl(updateArtifact);\n}\n\nasync function updateArtifactsImpl(\n {\n packageFileName,\n updatedDeps,\n newPackageFileContent,\n config,\n }: UpdateArtifact,\n recursionLimit = 10,\n): Promise<UpdateArtifactsResult[] | null> {\n logger.debug(`cargo.updateArtifacts(${packageFileName})`);\n\n // For standalone package crates, the `Cargo.lock` will be in the same\n // directory as `Cargo.toml` (ie. a sibling). For cargo workspaces, it\n // will be further up.\n const lockFileName = await findLocalSiblingOrParent(\n packageFileName,\n 'Cargo.lock',\n );\n const existingLockFileContent = lockFileName\n ? await readLocalFile(lockFileName)\n : null;\n if (!existingLockFileContent || !lockFileName) {\n logger.debug('No Cargo.lock found');\n return null;\n }\n\n const { isLockFileMaintenance } = config;\n if (!isLockFileMaintenance && !updatedDeps?.length) {\n logger.debug('No more dependencies to update');\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: existingLockFileContent,\n },\n },\n ];\n }\n\n try {\n await writeLocalFile(packageFileName, newPackageFileContent);\n logger.debug('Updating ' + lockFileName);\n\n if (isLockFileMaintenance) {\n await cargoUpdate(packageFileName, true, config.constraints?.rust);\n } else {\n const missingDep = updatedDeps.find((dep) => !dep.lockedVersion);\n if (missingDep) {\n // If there is a dependency without a locked version then log a warning\n // and perform a regular workspace lockfile update.\n logger.warn(\n { dependency: missingDep.depName },\n 'Missing locked version for dependency',\n );\n await cargoUpdate(packageFileName, false, config.constraints?.rust);\n } else {\n // If all dependencies have locked versions then update them precisely.\n await cargoUpdatePrecise(\n packageFileName,\n updatedDeps,\n config.constraints?.rust,\n );\n }\n }\n\n logger.debug('Returning updated Cargo.lock');\n const newCargoLockContent = await readLocalFile(lockFileName);\n if (existingLockFileContent === newCargoLockContent) {\n logger.debug('Cargo.lock is unchanged');\n return null;\n }\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newCargoLockContent,\n },\n },\n ];\n } catch (err) {\n // istanbul ignore if\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n\n // Sometimes `cargo update` will fail when a preceding dependency update\n // causes another dependency to update. In this case we can no longer\n // reference the dependency by its old version, so we filter it out\n // and retry recursively.\n const newCargoLockContent = await readLocalFile(lockFileName, 'utf8');\n if (\n recursionLimit > 0 &&\n newCargoLockContent &&\n regEx(/error: package ID specification/).test(err.stderr)\n ) {\n const versions = extractLockFileContentVersions(newCargoLockContent);\n const newUpdatedDeps = updatedDeps.filter(\n (dep) =>\n !coerceArray(versions?.get(dep.packageName!)).includes(\n dep.newVersion!,\n ),\n );\n\n if (newUpdatedDeps.length < updatedDeps.length) {\n logger.debug(\n 'Dependency already up to date - reattempting recursively',\n );\n return updateArtifactsImpl(\n {\n packageFileName,\n updatedDeps: newUpdatedDeps,\n newPackageFileContent,\n config,\n },\n recursionLimit - 1,\n );\n }\n }\n\n logger.debug({ err }, 'Failed to update Cargo lock file');\n\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: err.message,\n },\n },\n ];\n }\n}\n"]}
|