renovate 42.0.0-next.2 → 42.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/app-strings.d.ts +2 -1
- package/dist/config/app-strings.js +10 -2
- package/dist/config/app-strings.js.map +1 -1
- package/dist/config/decrypt/bcpgp.d.ts +1 -0
- package/dist/config/decrypt/bcpgp.js +57 -0
- package/dist/config/decrypt/bcpgp.js.map +1 -0
- package/dist/config/decrypt/openpgp.js +0 -4
- package/dist/config/decrypt/openpgp.js.map +1 -1
- package/dist/config/decrypt.d.ts +1 -1
- package/dist/config/decrypt.js +9 -26
- package/dist/config/decrypt.js.map +1 -1
- package/dist/config/global.js +1 -0
- package/dist/config/global.js.map +1 -1
- package/dist/config/migrations/custom/schedule-migration.js +9 -11
- package/dist/config/migrations/custom/schedule-migration.js.map +1 -1
- package/dist/config/migrations/custom/unpublish-safe-migration.js +3 -2
- package/dist/config/migrations/custom/unpublish-safe-migration.js.map +1 -1
- package/dist/config/options/index.js +49 -2
- package/dist/config/options/index.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/internal/abandonments.js +4 -1
- package/dist/config/presets/internal/abandonments.js.map +1 -1
- package/dist/config/presets/internal/config.js +15 -0
- package/dist/config/presets/internal/config.js.map +1 -1
- package/dist/config/presets/internal/custom-managers.js +2 -2
- package/dist/config/presets/internal/custom-managers.js.map +1 -1
- package/dist/config/presets/internal/default.js +12 -1
- package/dist/config/presets/internal/default.js.map +1 -1
- package/dist/config/presets/internal/group.js +13 -0
- package/dist/config/presets/internal/group.js.map +1 -1
- package/dist/config/presets/internal/npm.js +1 -8
- package/dist/config/presets/internal/npm.js.map +1 -1
- package/dist/config/presets/internal/packages.js +5 -1
- package/dist/config/presets/internal/packages.js.map +1 -1
- package/dist/config/presets/internal/security.js +8 -0
- package/dist/config/presets/internal/security.js.map +1 -1
- package/dist/config/presets/internal/workarounds.js +2 -2
- package/dist/config/presets/internal/workarounds.js.map +1 -1
- package/dist/config/schema.d.ts +1 -1
- package/dist/config/secrets.js +2 -2
- package/dist/config/secrets.js.map +1 -1
- package/dist/config/types.d.ts +26 -1
- package/dist/config/types.js.map +1 -1
- package/dist/config/validation.js +4 -3
- package/dist/config/validation.js.map +1 -1
- package/dist/config-validator.js +1 -1
- package/dist/config-validator.js.map +1 -1
- package/dist/constants/platforms.js +1 -0
- package/dist/constants/platforms.js.map +1 -1
- package/dist/data/monorepo.json +13 -2
- package/dist/data/node-js-schedule.json +1 -1
- package/dist/data/replacements.json +34 -0
- package/dist/data-files.generated.js +3 -3
- package/dist/data-files.generated.js.map +1 -1
- package/dist/logger/renovate-logger.d.ts +1 -0
- package/dist/logger/renovate-logger.js +3 -0
- package/dist/logger/renovate-logger.js.map +1 -1
- package/dist/logger/utils.js +2 -1
- package/dist/logger/utils.js.map +1 -1
- package/dist/manager-list.generated.d.ts +1 -1
- package/dist/manager-list.generated.js +1 -1
- package/dist/manager-list.generated.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/aws-eks-addon/schema.d.ts +1 -8
- package/dist/modules/datasource/aws-eks-addon/schema.js +7 -5
- package/dist/modules/datasource/aws-eks-addon/schema.js.map +1 -1
- package/dist/modules/datasource/azure-pipelines-tasks/schema.d.ts +12 -12
- package/dist/modules/datasource/bitrise/schema.d.ts +1 -1
- package/dist/modules/datasource/buildpacks-registry/index.js +1 -1
- package/dist/modules/datasource/buildpacks-registry/index.js.map +1 -1
- package/dist/modules/datasource/buildpacks-registry/schema.d.ts +1 -1
- package/dist/modules/datasource/buildpacks-registry/schema.js +2 -2
- package/dist/modules/datasource/buildpacks-registry/schema.js.map +1 -1
- package/dist/modules/datasource/cdnjs/index.js +2 -2
- package/dist/modules/datasource/cdnjs/index.js.map +1 -1
- package/dist/modules/datasource/cdnjs/schema.d.ts +8 -8
- package/dist/modules/datasource/cdnjs/schema.js +3 -3
- package/dist/modules/datasource/cdnjs/schema.js.map +1 -1
- package/dist/modules/datasource/conan/schema.d.ts +3 -3
- package/dist/modules/datasource/conda/prefix-dev.js +1 -1
- package/dist/modules/datasource/conda/prefix-dev.js.map +1 -1
- package/dist/modules/datasource/conda/schema/prefix-dev.d.ts +7 -7
- package/dist/modules/datasource/conda/schema/prefix-dev.js +2 -2
- package/dist/modules/datasource/conda/schema/prefix-dev.js.map +1 -1
- package/dist/modules/datasource/cpan/schema.js +2 -2
- package/dist/modules/datasource/cpan/schema.js.map +1 -1
- package/dist/modules/datasource/crate/index.js +12 -11
- package/dist/modules/datasource/crate/index.js.map +1 -1
- package/dist/modules/datasource/crate/schema.d.ts +1 -1
- package/dist/modules/datasource/crate/schema.js +2 -2
- package/dist/modules/datasource/crate/schema.js.map +1 -1
- package/dist/modules/datasource/custom/index.d.ts +1 -1
- package/dist/modules/datasource/custom/index.js +2 -2
- package/dist/modules/datasource/custom/index.js.map +1 -1
- package/dist/modules/datasource/custom/schema.d.ts +1 -1
- package/dist/modules/datasource/custom/schema.js +2 -2
- package/dist/modules/datasource/custom/schema.js.map +1 -1
- package/dist/modules/datasource/docker/index.d.ts +1 -1
- package/dist/modules/datasource/docker/index.js +4 -1
- package/dist/modules/datasource/docker/index.js.map +1 -1
- package/dist/modules/datasource/docker/schema.d.ts +4 -4
- package/dist/modules/datasource/forgejo-releases/index.js +3 -3
- package/dist/modules/datasource/forgejo-releases/index.js.map +1 -1
- package/dist/modules/datasource/forgejo-releases/schema.d.ts +6 -6
- package/dist/modules/datasource/forgejo-releases/schema.js +3 -3
- package/dist/modules/datasource/forgejo-releases/schema.js.map +1 -1
- package/dist/modules/datasource/forgejo-tags/index.js +3 -3
- package/dist/modules/datasource/forgejo-tags/index.js.map +1 -1
- package/dist/modules/datasource/forgejo-tags/schema.d.ts +4 -4
- package/dist/modules/datasource/forgejo-tags/schema.js +7 -7
- package/dist/modules/datasource/forgejo-tags/schema.js.map +1 -1
- package/dist/modules/datasource/gitea-releases/index.js +3 -3
- package/dist/modules/datasource/gitea-releases/index.js.map +1 -1
- package/dist/modules/datasource/gitea-releases/schema.d.ts +6 -6
- package/dist/modules/datasource/gitea-releases/schema.js +3 -3
- package/dist/modules/datasource/gitea-releases/schema.js.map +1 -1
- package/dist/modules/datasource/gitea-tags/index.js +3 -3
- package/dist/modules/datasource/gitea-tags/index.js.map +1 -1
- package/dist/modules/datasource/gitea-tags/schema.d.ts +4 -4
- package/dist/modules/datasource/gitea-tags/schema.js +7 -7
- package/dist/modules/datasource/gitea-tags/schema.js.map +1 -1
- package/dist/modules/datasource/github-runners/index.js +5 -3
- package/dist/modules/datasource/github-runners/index.js.map +1 -1
- package/dist/modules/datasource/go/base.js +3 -2
- package/dist/modules/datasource/go/base.js.map +1 -1
- package/dist/modules/datasource/go/common.js +13 -9
- package/dist/modules/datasource/go/common.js.map +1 -1
- package/dist/modules/datasource/go/index.js +7 -2
- package/dist/modules/datasource/go/index.js.map +1 -1
- package/dist/modules/datasource/go/releases-direct.d.ts +2 -0
- package/dist/modules/datasource/go/releases-direct.js +7 -1
- 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/helm/index.js +1 -1
- package/dist/modules/datasource/helm/index.js.map +1 -1
- package/dist/modules/datasource/helm/schema.d.ts +2 -2
- package/dist/modules/datasource/helm/schema.js +4 -4
- package/dist/modules/datasource/helm/schema.js.map +1 -1
- package/dist/modules/datasource/jsr/common.d.ts +1 -0
- package/dist/modules/datasource/jsr/common.js +12 -0
- package/dist/modules/datasource/jsr/common.js.map +1 -0
- package/dist/modules/datasource/jsr/index.d.ts +12 -0
- package/dist/modules/datasource/jsr/index.js +66 -0
- package/dist/modules/datasource/jsr/index.js.map +1 -0
- package/dist/modules/datasource/jsr/schema.d.ts +27 -0
- package/dist/modules/datasource/jsr/schema.js +20 -0
- package/dist/modules/datasource/jsr/schema.js.map +1 -0
- package/dist/modules/datasource/jsr/util.d.ts +4 -0
- package/dist/modules/datasource/jsr/util.js +53 -0
- package/dist/modules/datasource/jsr/util.js.map +1 -0
- package/dist/modules/datasource/maven/index.js +14 -0
- package/dist/modules/datasource/maven/index.js.map +1 -1
- package/dist/modules/datasource/maven/util.js +10 -0
- package/dist/modules/datasource/maven/util.js.map +1 -1
- package/dist/modules/datasource/npm/get.js +2 -1
- package/dist/modules/datasource/npm/get.js.map +1 -1
- package/dist/modules/datasource/npm/types.d.ts +7 -0
- package/dist/modules/datasource/npm/types.js.map +1 -1
- package/dist/modules/datasource/nuget/v3.js +3 -1
- package/dist/modules/datasource/nuget/v3.js.map +1 -1
- package/dist/modules/datasource/packagist/schema.d.ts +12 -12
- package/dist/modules/datasource/pypi/index.d.ts +1 -0
- package/dist/modules/datasource/pypi/index.js +1 -0
- package/dist/modules/datasource/pypi/index.js.map +1 -1
- package/dist/modules/datasource/python-version/schema.d.ts +3 -3
- package/dist/modules/datasource/rpm/index.d.ts +7 -0
- package/dist/modules/datasource/rpm/index.js +7 -0
- package/dist/modules/datasource/rpm/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/typst/index.d.ts +11 -0
- package/dist/modules/datasource/typst/index.js +65 -0
- package/dist/modules/datasource/typst/index.js.map +1 -0
- package/dist/modules/datasource/typst/schema.d.ts +31 -0
- package/dist/modules/datasource/typst/schema.js +28 -0
- package/dist/modules/datasource/typst/schema.js.map +1 -0
- package/dist/modules/datasource/unity3d-packages/schema.d.ts +4 -4
- package/dist/modules/manager/api.js +6 -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 +1 -1
- package/dist/modules/manager/argocd/schema.js +2 -2
- package/dist/modules/manager/argocd/schema.js.map +1 -1
- package/dist/modules/manager/azure-pipelines/schema.d.ts +1 -1
- package/dist/modules/manager/batect/extract.js +1 -1
- package/dist/modules/manager/batect/extract.js.map +1 -1
- package/dist/modules/manager/batect/schema.d.ts +4 -4
- package/dist/modules/manager/batect/schema.js +2 -2
- package/dist/modules/manager/batect/schema.js.map +1 -1
- package/dist/modules/manager/bazel/rules/docker.d.ts +3 -3
- package/dist/modules/manager/bazel/rules/git.d.ts +5 -5
- package/dist/modules/manager/bazel/rules/go.d.ts +5 -5
- package/dist/modules/manager/bazel/rules/oci.d.ts +3 -3
- package/dist/modules/manager/bazel-module/extract.js +5 -0
- package/dist/modules/manager/bazel-module/extract.js.map +1 -1
- package/dist/modules/manager/bazel-module/parser/context.d.ts +6 -0
- package/dist/modules/manager/bazel-module/parser/context.js +42 -2
- package/dist/modules/manager/bazel-module/parser/context.js.map +1 -1
- package/dist/modules/manager/bazel-module/parser/fragments.d.ts +276 -112
- package/dist/modules/manager/bazel-module/parser/fragments.js +70 -32
- package/dist/modules/manager/bazel-module/parser/fragments.js.map +1 -1
- package/dist/modules/manager/bazel-module/parser/index.js +3 -1
- package/dist/modules/manager/bazel-module/parser/index.js.map +1 -1
- package/dist/modules/manager/bazel-module/parser/maven.d.ts +27 -27
- package/dist/modules/manager/bazel-module/parser/maven.js +7 -7
- package/dist/modules/manager/bazel-module/parser/maven.js.map +1 -1
- package/dist/modules/manager/bazel-module/parser/oci.d.ts +38 -38
- package/dist/modules/manager/bazel-module/parser/oci.js +5 -5
- package/dist/modules/manager/bazel-module/parser/oci.js.map +1 -1
- package/dist/modules/manager/bazel-module/parser/repo-rules.d.ts +5 -0
- package/dist/modules/manager/bazel-module/parser/repo-rules.js +71 -0
- package/dist/modules/manager/bazel-module/parser/repo-rules.js.map +1 -0
- package/dist/modules/manager/bazel-module/rules-img.d.ts +229 -0
- package/dist/modules/manager/bazel-module/rules-img.js +74 -0
- package/dist/modules/manager/bazel-module/rules-img.js.map +1 -0
- package/dist/modules/manager/bazel-module/rules.d.ts +101 -101
- package/dist/modules/manager/bazel-module/rules.js +18 -18
- package/dist/modules/manager/bazel-module/rules.js.map +1 -1
- package/dist/modules/manager/bitrise/schema.d.ts +1 -1
- package/dist/modules/manager/bun/artifacts.js +5 -4
- package/dist/modules/manager/bun/artifacts.js.map +1 -1
- package/dist/modules/manager/bundler/locked-version.js +44 -23
- package/dist/modules/manager/bundler/locked-version.js.map +1 -1
- package/dist/modules/manager/cargo/artifacts.js +15 -11
- package/dist/modules/manager/cargo/artifacts.js.map +1 -1
- package/dist/modules/manager/cargo/extract.js +6 -3
- package/dist/modules/manager/cargo/extract.js.map +1 -1
- package/dist/modules/manager/cargo/index.d.ts +0 -1
- package/dist/modules/manager/cargo/index.js +11 -4
- package/dist/modules/manager/cargo/index.js.map +1 -1
- package/dist/modules/manager/cargo/locked-version.d.ts +2 -2
- package/dist/modules/manager/cargo/locked-version.js +1 -1
- package/dist/modules/manager/cargo/locked-version.js.map +1 -1
- package/dist/modules/manager/cargo/schema.d.ts +206 -35
- package/dist/modules/manager/cargo/schema.js +26 -18
- package/dist/modules/manager/cargo/schema.js.map +1 -1
- package/dist/modules/manager/cloudbuild/schema.d.ts +1 -1
- package/dist/modules/manager/composer/schema.d.ts +98 -98
- package/dist/modules/manager/conan/artifacts.js +12 -2
- package/dist/modules/manager/conan/artifacts.js.map +1 -1
- package/dist/modules/manager/conan/extract.js +1 -1
- package/dist/modules/manager/conan/extract.js.map +1 -1
- package/dist/modules/manager/conan/index.d.ts +0 -1
- package/dist/modules/manager/conan/index.js +0 -1
- package/dist/modules/manager/conan/index.js.map +1 -1
- package/dist/modules/manager/copier/artifacts.js +5 -5
- package/dist/modules/manager/copier/artifacts.js.map +1 -1
- package/dist/modules/manager/copier/schema.d.ts +2 -2
- package/dist/modules/manager/copier/schema.js +5 -1
- package/dist/modules/manager/copier/schema.js.map +1 -1
- package/dist/modules/manager/crossplane/extract.js +1 -1
- package/dist/modules/manager/crossplane/extract.js.map +1 -1
- package/dist/modules/manager/crossplane/schema.d.ts +2 -2
- package/dist/modules/manager/crossplane/schema.js +2 -2
- package/dist/modules/manager/crossplane/schema.js.map +1 -1
- package/dist/modules/manager/crow/extract.d.ts +2 -0
- package/dist/modules/manager/crow/extract.js +35 -0
- package/dist/modules/manager/crow/extract.js.map +1 -0
- package/dist/modules/manager/crow/index.d.ts +8 -0
- package/dist/modules/manager/crow/index.js +13 -0
- package/dist/modules/manager/crow/index.js.map +1 -0
- package/dist/modules/manager/crow/schema.d.ts +66 -0
- package/dist/modules/manager/crow/schema.js +15 -0
- package/dist/modules/manager/crow/schema.js.map +1 -0
- package/dist/modules/manager/custom/jsonata/schema.d.ts +1 -1
- package/dist/modules/manager/custom/jsonata/schema.js +4 -4
- package/dist/modules/manager/custom/jsonata/schema.js.map +1 -1
- package/dist/modules/manager/custom/jsonata/utils.js +3 -3
- package/dist/modules/manager/custom/jsonata/utils.js.map +1 -1
- package/dist/modules/manager/devbox/extract.js +1 -1
- package/dist/modules/manager/devbox/extract.js.map +1 -1
- package/dist/modules/manager/devbox/schema.d.ts +1 -1
- package/dist/modules/manager/devbox/schema.js +2 -2
- package/dist/modules/manager/devbox/schema.js.map +1 -1
- package/dist/modules/manager/devcontainer/schema.d.ts +1 -1
- package/dist/modules/manager/fingerprint.generated.js +35 -32
- package/dist/modules/manager/fingerprint.generated.js.map +1 -1
- package/dist/modules/manager/fleet/schema.d.ts +16 -16
- package/dist/modules/manager/flux/schema.d.ts +24 -24
- package/dist/modules/manager/github-actions/community.d.ts +96 -0
- package/dist/modules/manager/github-actions/community.js +116 -10
- package/dist/modules/manager/github-actions/community.js.map +1 -1
- package/dist/modules/manager/github-actions/extract.js +2 -1
- package/dist/modules/manager/github-actions/extract.js.map +1 -1
- package/dist/modules/manager/github-actions/schema.d.ts +3 -3
- package/dist/modules/manager/github-actions/schema.js +7 -7
- package/dist/modules/manager/github-actions/schema.js.map +1 -1
- package/dist/modules/manager/gitlabci/extract.js +2 -0
- package/dist/modules/manager/gitlabci/extract.js.map +1 -1
- package/dist/modules/manager/glasskube/schema.d.ts +12 -12
- package/dist/modules/manager/gleam/schema.d.ts +4 -4
- package/dist/modules/manager/gomod/artifacts.js +8 -4
- package/dist/modules/manager/gomod/artifacts.js.map +1 -1
- package/dist/modules/manager/gradle/parser/dependencies.js +23 -2
- package/dist/modules/manager/gradle/parser/dependencies.js.map +1 -1
- package/dist/modules/manager/gradle/parser/objects.js +15 -0
- package/dist/modules/manager/gradle/parser/objects.js.map +1 -1
- package/dist/modules/manager/gradle/parser.js +1 -1
- package/dist/modules/manager/gradle/parser.js.map +1 -1
- package/dist/modules/manager/helmfile/extract.js +26 -21
- package/dist/modules/manager/helmfile/extract.js.map +1 -1
- package/dist/modules/manager/helmfile/index.js +4 -1
- package/dist/modules/manager/helmfile/index.js.map +1 -1
- package/dist/modules/manager/helmfile/schema.d.ts +4 -4
- package/dist/modules/manager/maven-wrapper/artifacts.js +1 -1
- package/dist/modules/manager/maven-wrapper/artifacts.js.map +1 -1
- package/dist/modules/manager/maven-wrapper/extract.js +4 -4
- package/dist/modules/manager/maven-wrapper/extract.js.map +1 -1
- package/dist/modules/manager/maven-wrapper/index.d.ts +1 -1
- package/dist/modules/manager/maven-wrapper/index.js +5 -2
- package/dist/modules/manager/maven-wrapper/index.js.map +1 -1
- package/dist/modules/manager/mise/backends.d.ts +2 -2
- package/dist/modules/manager/mise/backends.js +1 -1
- package/dist/modules/manager/mise/backends.js.map +1 -1
- package/dist/modules/manager/mise/extract.js.map +1 -1
- package/dist/modules/manager/mise/schema.d.ts +6 -29
- package/dist/modules/manager/mise/schema.js +7 -8
- package/dist/modules/manager/mise/schema.js.map +1 -1
- package/dist/modules/manager/mise/upgradeable-tooling.js +1 -1
- package/dist/modules/manager/mise/upgradeable-tooling.js.map +1 -1
- package/dist/modules/manager/mise/utils.d.ts +2 -2
- package/dist/modules/manager/mise/utils.js +1 -1
- package/dist/modules/manager/mise/utils.js.map +1 -1
- package/dist/modules/manager/nix/artifacts.js +2 -2
- package/dist/modules/manager/nix/artifacts.js.map +1 -1
- package/dist/modules/manager/nix/extract.d.ts +2 -2
- package/dist/modules/manager/nix/extract.js +79 -67
- package/dist/modules/manager/nix/extract.js.map +1 -1
- package/dist/modules/manager/nix/index.d.ts +1 -0
- package/dist/modules/manager/nix/index.js +3 -1
- package/dist/modules/manager/nix/index.js.map +1 -1
- package/dist/modules/manager/nix/range.d.ts +3 -0
- package/dist/modules/manager/nix/range.js +10 -0
- package/dist/modules/manager/nix/range.js.map +1 -0
- package/dist/modules/manager/nix/schema.d.ts +42 -28
- package/dist/modules/manager/nix/schema.js +4 -1
- package/dist/modules/manager/nix/schema.js.map +1 -1
- package/dist/modules/manager/npm/extract/common/package-file.d.ts +1 -0
- package/dist/modules/manager/npm/extract/common/package-file.js +8 -0
- package/dist/modules/manager/npm/extract/common/package-file.js.map +1 -1
- package/dist/modules/manager/npm/extract/index.js +24 -7
- package/dist/modules/manager/npm/extract/index.js.map +1 -1
- package/dist/modules/manager/npm/extract/pnpm.d.ts +4 -3
- package/dist/modules/manager/npm/extract/pnpm.js +1 -1
- package/dist/modules/manager/npm/extract/pnpm.js.map +1 -1
- package/dist/modules/manager/npm/extract/post/locked-versions.js +6 -0
- package/dist/modules/manager/npm/extract/post/locked-versions.js.map +1 -1
- package/dist/modules/manager/npm/extract/yarn.d.ts +4 -0
- package/dist/modules/manager/npm/extract/yarn.js +35 -0
- package/dist/modules/manager/npm/extract/yarn.js.map +1 -1
- package/dist/modules/manager/npm/extract/yarnrc.d.ts +4 -4
- package/dist/modules/manager/npm/extract/yarnrc.js +1 -2
- package/dist/modules/manager/npm/extract/yarnrc.js.map +1 -1
- package/dist/modules/manager/npm/index.js +1 -0
- package/dist/modules/manager/npm/index.js.map +1 -1
- package/dist/modules/manager/npm/post-update/index.js +2 -1
- package/dist/modules/manager/npm/post-update/index.js.map +1 -1
- package/dist/modules/manager/npm/post-update/npm.js +14 -1
- package/dist/modules/manager/npm/post-update/npm.js.map +1 -1
- package/dist/modules/manager/npm/post-update/pnpm.js +6 -1
- package/dist/modules/manager/npm/post-update/pnpm.js.map +1 -1
- package/dist/modules/manager/npm/post-update/types.d.ts +5 -5
- package/dist/modules/manager/npm/post-update/types.js.map +1 -1
- package/dist/modules/manager/npm/post-update/utils.d.ts +3 -4
- package/dist/modules/manager/npm/post-update/utils.js +2 -13
- package/dist/modules/manager/npm/post-update/utils.js.map +1 -1
- package/dist/modules/manager/npm/schema.d.ts +35 -97
- package/dist/modules/manager/npm/schema.js +21 -16
- package/dist/modules/manager/npm/schema.js.map +1 -1
- package/dist/modules/manager/npm/update/dependency/index.js +4 -0
- package/dist/modules/manager/npm/update/dependency/index.js.map +1 -1
- package/dist/modules/manager/npm/update/dependency/pnpm.js +1 -1
- package/dist/modules/manager/npm/update/dependency/pnpm.js.map +1 -1
- package/dist/modules/manager/npm/update/dependency/yarn.d.ts +2 -0
- package/dist/modules/manager/npm/update/dependency/yarn.js +102 -0
- package/dist/modules/manager/npm/update/dependency/yarn.js.map +1 -0
- package/dist/modules/manager/npm/utils.d.ts +2 -0
- package/dist/modules/manager/npm/utils.js +10 -0
- package/dist/modules/manager/npm/utils.js.map +1 -1
- package/dist/modules/manager/nuget/extract.js +5 -0
- package/dist/modules/manager/nuget/extract.js.map +1 -1
- package/dist/modules/manager/nuget/schema.d.ts +3 -56
- package/dist/modules/manager/nuget/schema.js +5 -6
- package/dist/modules/manager/nuget/schema.js.map +1 -1
- package/dist/modules/manager/nvm/extract.js +8 -1
- package/dist/modules/manager/nvm/extract.js.map +1 -1
- package/dist/modules/manager/ocb/extract.js +1 -1
- package/dist/modules/manager/ocb/extract.js.map +1 -1
- package/dist/modules/manager/ocb/schema.d.ts +4 -4
- package/dist/modules/manager/ocb/schema.js +9 -9
- package/dist/modules/manager/ocb/schema.js.map +1 -1
- package/dist/modules/manager/pep621/extract.d.ts +1 -1
- package/dist/modules/manager/pep621/extract.js +11 -3
- package/dist/modules/manager/pep621/extract.js.map +1 -1
- package/dist/modules/manager/pep621/processors/abstract.d.ts +10 -0
- package/dist/modules/manager/pep621/processors/abstract.js +25 -0
- package/dist/modules/manager/pep621/processors/abstract.js.map +1 -0
- package/dist/modules/manager/pep621/processors/hatch.d.ts +2 -2
- package/dist/modules/manager/pep621/processors/hatch.js +2 -1
- package/dist/modules/manager/pep621/processors/hatch.js.map +1 -1
- package/dist/modules/manager/pep621/processors/index.d.ts +2 -4
- package/dist/modules/manager/pep621/processors/index.js.map +1 -1
- package/dist/modules/manager/pep621/processors/pdm.d.ts +3 -2
- package/dist/modules/manager/pep621/processors/pdm.js +5 -4
- package/dist/modules/manager/pep621/processors/pdm.js.map +1 -1
- package/dist/modules/manager/pep621/processors/types.d.ts +1 -0
- package/dist/modules/manager/pep621/processors/types.js.map +1 -1
- package/dist/modules/manager/pep621/processors/uv.d.ts +3 -2
- package/dist/modules/manager/pep621/processors/uv.js +8 -6
- package/dist/modules/manager/pep621/processors/uv.js.map +1 -1
- package/dist/modules/manager/pep621/schema.d.ts +35 -257
- package/dist/modules/manager/pep621/schema.js +17 -21
- package/dist/modules/manager/pep621/schema.js.map +1 -1
- package/dist/modules/manager/pep723/extract.js +1 -1
- package/dist/modules/manager/pep723/extract.js.map +1 -1
- package/dist/modules/manager/pep723/schema.d.ts +1 -1
- package/dist/modules/manager/pep723/schema.js +2 -2
- package/dist/modules/manager/pep723/schema.js.map +1 -1
- package/dist/modules/manager/pip-compile/extract.d.ts +1 -1
- package/dist/modules/manager/pip-compile/extract.js +9 -6
- package/dist/modules/manager/pip-compile/extract.js.map +1 -1
- package/dist/modules/manager/pixi/extract.js +4 -7
- package/dist/modules/manager/pixi/extract.js.map +1 -1
- package/dist/modules/manager/pixi/schema.d.ts +296 -4
- package/dist/modules/manager/pixi/schema.js +11 -4
- package/dist/modules/manager/pixi/schema.js.map +1 -1
- package/dist/modules/manager/poetry/artifacts.js +2 -2
- package/dist/modules/manager/poetry/artifacts.js.map +1 -1
- package/dist/modules/manager/poetry/extract.js +1 -1
- package/dist/modules/manager/poetry/extract.js.map +1 -1
- package/dist/modules/manager/poetry/index.d.ts +1 -0
- package/dist/modules/manager/poetry/index.js +2 -1
- package/dist/modules/manager/poetry/index.js.map +1 -1
- package/dist/modules/manager/poetry/schema.d.ts +45 -138
- package/dist/modules/manager/poetry/schema.js +49 -32
- package/dist/modules/manager/poetry/schema.js.map +1 -1
- package/dist/modules/manager/poetry/update-locked.js +2 -2
- package/dist/modules/manager/poetry/update-locked.js.map +1 -1
- package/dist/modules/manager/pre-commit/extract.js +2 -1
- package/dist/modules/manager/pre-commit/extract.js.map +1 -1
- package/dist/modules/manager/pub/extract.js +38 -8
- package/dist/modules/manager/pub/extract.js.map +1 -1
- package/dist/modules/manager/pub/index.d.ts +0 -1
- package/dist/modules/manager/pub/index.js +0 -3
- package/dist/modules/manager/pub/index.js.map +1 -1
- package/dist/modules/manager/pub/schema.d.ts +25 -79
- package/dist/modules/manager/pub/schema.js +17 -10
- package/dist/modules/manager/pub/schema.js.map +1 -1
- package/dist/modules/manager/pub/utils.d.ts +3 -3
- package/dist/modules/manager/pub/utils.js +2 -2
- package/dist/modules/manager/pub/utils.js.map +1 -1
- package/dist/modules/manager/quadlet/extract.d.ts +2 -0
- package/dist/modules/manager/quadlet/extract.js +54 -0
- package/dist/modules/manager/quadlet/extract.js.map +1 -0
- package/dist/modules/manager/quadlet/index.d.ts +8 -0
- package/dist/modules/manager/quadlet/index.js +13 -0
- package/dist/modules/manager/quadlet/index.js.map +1 -0
- package/dist/modules/manager/quadlet/schema.d.ts +45 -0
- package/dist/modules/manager/quadlet/schema.js +23 -0
- package/dist/modules/manager/quadlet/schema.js.map +1 -0
- package/dist/modules/manager/renovate-config-presets/extract.js +1 -1
- package/dist/modules/manager/renovate-config-presets/extract.js.map +1 -1
- package/dist/modules/manager/renovate-config-presets/index.js +1 -1
- package/dist/modules/manager/renovate-config-presets/index.js.map +1 -1
- package/dist/modules/manager/renovate-config-presets/schema.d.ts +1 -1
- package/dist/modules/manager/renovate-config-presets/schema.js +2 -2
- package/dist/modules/manager/renovate-config-presets/schema.js.map +1 -1
- package/dist/modules/manager/swift/extract.js +25 -9
- package/dist/modules/manager/swift/extract.js.map +1 -1
- package/dist/modules/manager/swift/index.js +7 -1
- package/dist/modules/manager/swift/index.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.js +1 -1
- package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.js.map +1 -1
- package/dist/modules/manager/terraform/lockfile/hash.js +1 -1
- package/dist/modules/manager/terraform/lockfile/hash.js.map +1 -1
- package/dist/modules/manager/terragrunt/util.js +1 -1
- package/dist/modules/manager/terragrunt/util.js.map +1 -1
- package/dist/modules/manager/types.d.ts +2 -0
- package/dist/modules/manager/types.js.map +1 -1
- package/dist/modules/manager/typst/extract.d.ts +2 -0
- package/dist/modules/manager/typst/extract.js +31 -0
- package/dist/modules/manager/typst/extract.js.map +1 -0
- package/dist/modules/manager/typst/index.d.ts +7 -0
- package/dist/modules/manager/typst/index.js +12 -0
- package/dist/modules/manager/typst/index.js.map +1 -0
- package/dist/modules/manager/util.js +3 -2
- package/dist/modules/manager/util.js.map +1 -1
- package/dist/modules/manager/vendir/schema.d.ts +13 -13
- package/dist/modules/platform/azure/azure-helper.js +1 -1
- package/dist/modules/platform/azure/azure-helper.js.map +1 -1
- package/dist/modules/platform/azure/schema.d.ts +3 -3
- package/dist/modules/platform/azure/schema.js +4 -4
- package/dist/modules/platform/azure/schema.js.map +1 -1
- package/dist/modules/platform/bitbucket/index.js +12 -9
- package/dist/modules/platform/bitbucket/index.js.map +1 -1
- package/dist/modules/platform/bitbucket/schema.d.ts +7 -7
- package/dist/modules/platform/bitbucket/schema.js +7 -7
- package/dist/modules/platform/bitbucket/schema.js.map +1 -1
- package/dist/modules/platform/bitbucket-server/index.js +7 -6
- package/dist/modules/platform/bitbucket-server/index.js.map +1 -1
- package/dist/modules/platform/bitbucket-server/schema.d.ts +16 -17
- package/dist/modules/platform/bitbucket-server/schema.js +6 -8
- package/dist/modules/platform/bitbucket-server/schema.js.map +1 -1
- package/dist/modules/platform/codecommit/index.d.ts +0 -8
- package/dist/modules/platform/codecommit/index.js +16 -16
- package/dist/modules/platform/codecommit/index.js.map +1 -1
- package/dist/modules/platform/forgejo/index.js +39 -38
- package/dist/modules/platform/forgejo/index.js.map +1 -1
- package/dist/modules/platform/forgejo/types.d.ts +3 -2
- package/dist/modules/platform/forgejo/types.js.map +1 -1
- package/dist/modules/platform/forgejo/utils.d.ts +1 -0
- package/dist/modules/platform/forgejo/utils.js +17 -0
- package/dist/modules/platform/forgejo/utils.js.map +1 -1
- package/dist/modules/platform/gerrit/client.d.ts +1 -1
- package/dist/modules/platform/gerrit/client.js +32 -33
- package/dist/modules/platform/gerrit/client.js.map +1 -1
- package/dist/modules/platform/gerrit/index.d.ts +1 -2
- package/dist/modules/platform/gerrit/index.js +8 -16
- package/dist/modules/platform/gerrit/index.js.map +1 -1
- package/dist/modules/platform/gerrit/scm.js +7 -13
- package/dist/modules/platform/gerrit/scm.js.map +1 -1
- package/dist/modules/platform/gerrit/types.d.ts +27 -1
- package/dist/modules/platform/gerrit/types.js.map +1 -1
- package/dist/modules/platform/gitea/index.js +34 -37
- package/dist/modules/platform/gitea/index.js.map +1 -1
- package/dist/modules/platform/gitea/schema.d.ts +3 -3
- package/dist/modules/platform/gitea/schema.js +3 -3
- package/dist/modules/platform/gitea/schema.js.map +1 -1
- package/dist/modules/platform/gitea/types.d.ts +3 -2
- package/dist/modules/platform/gitea/types.js.map +1 -1
- package/dist/modules/platform/gitea/utils.d.ts +1 -0
- package/dist/modules/platform/gitea/utils.js +17 -0
- package/dist/modules/platform/gitea/utils.js.map +1 -1
- package/dist/modules/platform/github/index.d.ts +1 -1
- package/dist/modules/platform/github/index.js +92 -33
- package/dist/modules/platform/github/index.js.map +1 -1
- package/dist/modules/platform/github/schema.d.ts +32 -2
- package/dist/modules/platform/github/schema.js +32 -8
- package/dist/modules/platform/github/schema.js.map +1 -1
- package/dist/modules/platform/github/types.d.ts +2 -2
- package/dist/modules/platform/github/types.js.map +1 -1
- package/dist/modules/platform/github/user.d.ts +2 -1
- package/dist/modules/platform/github/user.js.map +1 -1
- package/dist/modules/platform/gitlab/index.js.map +1 -1
- package/dist/modules/platform/gitlab/pr-cache.d.ts +0 -2
- package/dist/modules/platform/gitlab/pr-cache.js +28 -37
- package/dist/modules/platform/gitlab/pr-cache.js.map +1 -1
- package/dist/modules/platform/gitlab/utils.js +1 -0
- package/dist/modules/platform/gitlab/utils.js.map +1 -1
- package/dist/modules/platform/types.d.ts +1 -1
- package/dist/modules/platform/types.js.map +1 -1
- package/dist/modules/versioning/api.js +2 -0
- package/dist/modules/versioning/api.js.map +1 -1
- package/dist/modules/versioning/cargo/index.js +7 -7
- package/dist/modules/versioning/cargo/index.js.map +1 -1
- package/dist/modules/versioning/composer/index.js +0 -4
- package/dist/modules/versioning/composer/index.js.map +1 -1
- package/dist/modules/versioning/conan/index.js +1 -1
- package/dist/modules/versioning/conan/index.js.map +1 -1
- package/dist/modules/versioning/conda/index.d.ts +2 -0
- package/dist/modules/versioning/conda/index.js +4 -4
- package/dist/modules/versioning/conda/index.js.map +1 -1
- package/dist/modules/versioning/debian/index.d.ts +1 -1
- package/dist/modules/versioning/debian/index.js +2 -17
- package/dist/modules/versioning/debian/index.js.map +1 -1
- package/dist/modules/versioning/gradle/index.js +2 -2
- package/dist/modules/versioning/gradle/index.js.map +1 -1
- package/dist/modules/versioning/hashicorp/index.js +0 -1
- package/dist/modules/versioning/hashicorp/index.js.map +1 -1
- package/dist/modules/versioning/helm/index.js +0 -1
- package/dist/modules/versioning/helm/index.js.map +1 -1
- package/dist/modules/versioning/hex/index.js +0 -1
- package/dist/modules/versioning/hex/index.js.map +1 -1
- package/dist/modules/versioning/ivy/index.js +1 -2
- package/dist/modules/versioning/ivy/index.js.map +1 -1
- package/dist/modules/versioning/npm/index.js +0 -1
- package/dist/modules/versioning/npm/index.js.map +1 -1
- package/dist/modules/versioning/npm/range.js +2 -3
- package/dist/modules/versioning/npm/range.js.map +1 -1
- package/dist/modules/versioning/nuget/index.js +8 -4
- package/dist/modules/versioning/nuget/index.js.map +1 -1
- package/dist/modules/versioning/pep440/index.js +1 -1
- package/dist/modules/versioning/pep440/index.js.map +1 -1
- package/dist/modules/versioning/pep440/range.d.ts +1 -0
- package/dist/modules/versioning/pep440/range.js +4 -3
- package/dist/modules/versioning/pep440/range.js.map +1 -1
- package/dist/modules/versioning/poetry/index.js +0 -4
- package/dist/modules/versioning/poetry/index.js.map +1 -1
- package/dist/modules/versioning/rez/index.js +0 -1
- package/dist/modules/versioning/rez/index.js.map +1 -1
- package/dist/modules/versioning/ruby/index.js +5 -5
- package/dist/modules/versioning/ruby/index.js.map +1 -1
- package/dist/modules/versioning/ruby/strategies/index.d.ts +1 -2
- package/dist/modules/versioning/ruby/strategies/index.js +1 -3
- package/dist/modules/versioning/ruby/strategies/index.js.map +1 -1
- package/dist/modules/versioning/semver-partial/index.d.ts +8 -0
- package/dist/modules/versioning/semver-partial/index.js +211 -0
- package/dist/modules/versioning/semver-partial/index.js.map +1 -0
- package/dist/modules/versioning/swift/index.js +0 -1
- package/dist/modules/versioning/swift/index.js.map +1 -1
- package/dist/modules/versioning/types.d.ts +5 -0
- package/dist/modules/versioning/types.js.map +1 -1
- package/dist/renovate.js +0 -0
- package/dist/util/cache/package/decorator.js +20 -9
- package/dist/util/cache/package/decorator.js.map +1 -1
- package/dist/util/cache/package/file.d.ts +1 -1
- package/dist/util/cache/package/file.js +3 -3
- package/dist/util/cache/package/file.js.map +1 -1
- package/dist/util/cache/package/index.d.ts +9 -2
- package/dist/util/cache/package/index.js +19 -4
- package/dist/util/cache/package/index.js.map +1 -1
- package/dist/util/cache/package/namespaces.d.ts +1 -1
- package/dist/util/cache/package/namespaces.js +3 -0
- package/dist/util/cache/package/namespaces.js.map +1 -1
- package/dist/util/cache/package/redis.d.ts +1 -1
- package/dist/util/cache/package/redis.js +17 -7
- package/dist/util/cache/package/redis.js.map +1 -1
- package/dist/util/cache/package/sqlite.d.ts +1 -1
- package/dist/util/cache/package/sqlite.js +2 -2
- package/dist/util/cache/package/sqlite.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/http-cache.js +1 -1
- package/dist/util/cache/repository/http-cache.js.map +1 -1
- package/dist/util/cache/repository/schema.d.ts +1 -1
- package/dist/util/cache/repository/types.d.ts +1 -0
- package/dist/util/cache/repository/types.js.map +1 -1
- package/dist/util/emoji.js +2 -2
- package/dist/util/emoji.js.map +1 -1
- package/dist/util/exec/containerbase.js +5 -0
- package/dist/util/exec/containerbase.js.map +1 -1
- package/dist/util/git/index.js +6 -3
- package/dist/util/git/index.js.map +1 -1
- package/dist/util/git/private-key.js +23 -3
- package/dist/util/git/private-key.js.map +1 -1
- package/dist/util/git/types.d.ts +2 -1
- package/dist/util/git/types.js.map +1 -1
- package/dist/util/github/graphql/query-adapters/releases-query-adapter.d.ts +6 -6
- package/dist/util/http/bitbucket.js +0 -1
- package/dist/util/http/bitbucket.js.map +1 -1
- package/dist/util/http/cache/abstract-http-cache-provider.d.ts +7 -7
- package/dist/util/http/cache/abstract-http-cache-provider.js +11 -11
- package/dist/util/http/cache/abstract-http-cache-provider.js.map +1 -1
- package/dist/util/http/cache/memory-http-cache-provider.d.ts +3 -3
- package/dist/util/http/cache/memory-http-cache-provider.js +8 -8
- package/dist/util/http/cache/memory-http-cache-provider.js.map +1 -1
- package/dist/util/http/cache/package-http-cache-provider.d.ts +5 -4
- package/dist/util/http/cache/package-http-cache-provider.js +17 -11
- package/dist/util/http/cache/package-http-cache-provider.js.map +1 -1
- package/dist/util/http/cache/repository-http-cache-provider.d.ts +16 -3
- package/dist/util/http/cache/repository-http-cache-provider.js +60 -3
- package/dist/util/http/cache/repository-http-cache-provider.js.map +1 -1
- package/dist/util/http/cache/schema.d.ts +2 -2
- package/dist/util/http/cache/schema.js +2 -2
- package/dist/util/http/cache/schema.js.map +1 -1
- package/dist/util/http/cache/types.d.ts +3 -3
- package/dist/util/http/cache/types.js.map +1 -1
- package/dist/util/http/gerrit.d.ts +1 -1
- package/dist/util/http/gerrit.js +1 -1
- package/dist/util/http/gerrit.js.map +1 -1
- package/dist/util/http/gitlab.js +0 -1
- package/dist/util/http/gitlab.js.map +1 -1
- package/dist/util/http/host-rules.js +10 -0
- package/dist/util/http/host-rules.js.map +1 -1
- package/dist/util/http/http.d.ts +1 -1
- package/dist/util/http/http.js +17 -15
- package/dist/util/http/http.js.map +1 -1
- package/dist/util/http/retry-after.js +1 -1
- package/dist/util/http/retry-after.js.map +1 -1
- package/dist/util/interpolator.js +2 -0
- package/dist/util/interpolator.js.map +1 -1
- package/dist/util/markdown.js +3 -3
- package/dist/util/markdown.js.map +1 -1
- package/dist/util/merge-confidence/index.js +3 -1
- package/dist/util/merge-confidence/index.js.map +1 -1
- package/dist/util/schema-utils/index.d.ts +8 -4
- package/dist/util/schema-utils/index.js +16 -1
- package/dist/util/schema-utils/index.js.map +1 -1
- package/dist/util/template/index.d.ts +1 -0
- package/dist/util/template/index.js +70 -64
- package/dist/util/template/index.js.map +1 -1
- package/dist/workers/global/config/parse/file.js +6 -0
- package/dist/workers/global/config/parse/file.js.map +1 -1
- package/dist/workers/global/config/parse/index.js +2 -1
- package/dist/workers/global/config/parse/index.js.map +1 -1
- package/dist/workers/repository/config-migration/branch/commit-message.js +2 -1
- package/dist/workers/repository/config-migration/branch/commit-message.js.map +1 -1
- package/dist/workers/repository/config-migration/branch/create.js +1 -0
- package/dist/workers/repository/config-migration/branch/create.js.map +1 -1
- package/dist/workers/repository/config-migration/branch/rebase.js +1 -0
- package/dist/workers/repository/config-migration/branch/rebase.js.map +1 -1
- package/dist/workers/repository/dependency-dashboard.js +42 -5
- package/dist/workers/repository/dependency-dashboard.js.map +1 -1
- package/dist/workers/repository/error-config.js +1 -1
- package/dist/workers/repository/error-config.js.map +1 -1
- package/dist/workers/repository/error.js +1 -1
- package/dist/workers/repository/error.js.map +1 -1
- package/dist/workers/repository/extract/supersedes.d.ts +1 -1
- package/dist/workers/repository/extract/supersedes.js +31 -17
- package/dist/workers/repository/extract/supersedes.js.map +1 -1
- package/dist/workers/repository/finalize/index.js +1 -1
- package/dist/workers/repository/finalize/index.js.map +1 -1
- package/dist/workers/repository/finalize/prune.js +4 -3
- package/dist/workers/repository/finalize/prune.js.map +1 -1
- package/dist/workers/repository/index.js +49 -20
- package/dist/workers/repository/index.js.map +1 -1
- package/dist/workers/repository/init/inherited.js +7 -0
- package/dist/workers/repository/init/inherited.js.map +1 -1
- package/dist/workers/repository/init/merge.js +1 -1
- package/dist/workers/repository/init/merge.js.map +1 -1
- package/dist/workers/repository/onboarding/branch/check.js +5 -3
- package/dist/workers/repository/onboarding/branch/check.js.map +1 -1
- package/dist/workers/repository/onboarding/branch/create.js +1 -0
- package/dist/workers/repository/onboarding/branch/create.js.map +1 -1
- package/dist/workers/repository/onboarding/branch/rebase.js +1 -0
- package/dist/workers/repository/onboarding/branch/rebase.js.map +1 -1
- package/dist/workers/repository/onboarding/common.js +3 -2
- package/dist/workers/repository/onboarding/common.js.map +1 -1
- package/dist/workers/repository/process/extract-update.js +2 -2
- package/dist/workers/repository/process/extract-update.js.map +1 -1
- package/dist/workers/repository/process/fetch.js +4 -3
- package/dist/workers/repository/process/fetch.js.map +1 -1
- package/dist/workers/repository/process/index.d.ts +1 -0
- package/dist/workers/repository/process/index.js +25 -5
- package/dist/workers/repository/process/index.js.map +1 -1
- package/dist/workers/repository/process/lookup/filter-checks.js +42 -8
- package/dist/workers/repository/process/lookup/filter-checks.js.map +1 -1
- package/dist/workers/repository/process/lookup/filter.js +5 -7
- package/dist/workers/repository/process/lookup/filter.js.map +1 -1
- package/dist/workers/repository/process/lookup/index.js +10 -13
- package/dist/workers/repository/process/lookup/index.js.map +1 -1
- package/dist/workers/repository/process/vulnerabilities.d.ts +1 -1
- package/dist/workers/repository/process/vulnerabilities.js +13 -8
- package/dist/workers/repository/process/vulnerabilities.js.map +1 -1
- package/dist/workers/repository/reconfigure/comment.js +1 -1
- package/dist/workers/repository/reconfigure/comment.js.map +1 -1
- package/dist/workers/repository/reconfigure/index.js +1 -1
- package/dist/workers/repository/reconfigure/index.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 +12 -1
- package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js.map +1 -1
- package/dist/workers/repository/update/branch/index.js +65 -20
- package/dist/workers/repository/update/branch/index.js.map +1 -1
- package/dist/workers/repository/update/branch/status-checks.js +5 -0
- package/dist/workers/repository/update/branch/status-checks.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/forgejo/index.js +3 -3
- package/dist/workers/repository/update/pr/changelog/forgejo/index.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/gitea/index.js +3 -3
- package/dist/workers/repository/update/pr/changelog/gitea/index.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/release-notes.js +9 -4
- package/dist/workers/repository/update/pr/changelog/release-notes.js.map +1 -1
- package/dist/workers/repository/update/pr/index.js +28 -11
- package/dist/workers/repository/update/pr/index.js.map +1 -1
- package/dist/workers/repository/update/pr/pr-reuse.d.ts +1 -1
- package/dist/workers/repository/update/pr/pr-reuse.js +2 -2
- package/dist/workers/repository/update/pr/pr-reuse.js.map +1 -1
- package/dist/workers/repository/updates/generate.js +1 -0
- package/dist/workers/repository/updates/generate.js.map +1 -1
- package/dist/workers/types.d.ts +1 -0
- package/dist/workers/types.js.map +1 -1
- package/package.json +136 -153
- package/renovate-schema.json +325 -111
- package/dist/config/decrypt/kbpgp.d.ts +0 -1
- package/dist/config/decrypt/kbpgp.js +0 -58
- package/dist/config/decrypt/kbpgp.js.map +0 -1
- package/dist/config/decrypt/legacy.d.ts +0 -2
- package/dist/config/decrypt/legacy.js +0 -36
- package/dist/config/decrypt/legacy.js.map +0 -1
- package/dist/modules/versioning/ruby/strategies/pin.d.ts +0 -4
- package/dist/modules/versioning/ruby/strategies/pin.js +0 -4
- package/dist/modules/versioning/ruby/strategies/pin.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hash.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/terraform/lockfile/hash.ts"],"names":[],"mappings":"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","sourcesContent":["import crypto from 'node:crypto';\nimport extract from 'extract-zip';\nimport upath from 'upath';\nimport { logger } from '../../../../logger';\nimport {\n coerceArray,\n deduplicateArray,\n isNotNullOrUndefined,\n} from '../../../../util/array';\nimport { cache } from '../../../../util/cache/package/decorator';\nimport * as fs from '../../../../util/fs';\nimport { ensureCacheDir } from '../../../../util/fs';\nimport { Http } from '../../../../util/http';\nimport * as p from '../../../../util/promises';\nimport { TerraformProviderDatasource } from '../../../datasource/terraform-provider';\nimport type { TerraformBuild } from '../../../datasource/terraform-provider/types';\n\nexport class TerraformProviderHash {\n static http = new Http(TerraformProviderDatasource.id);\n\n static terraformDatasource = new TerraformProviderDatasource();\n\n static hashCacheTTL = 10080; // in minutes == 1 week\n\n private static async hashElementList(\n basePath: string,\n fileSystemEntries: string[],\n ): Promise<string> {\n const rootHash = crypto.createHash('sha256');\n\n for (const entryPath of fileSystemEntries) {\n const absolutePath = upath.resolve(basePath, entryPath);\n if (!(await fs.cachePathIsFile(absolutePath))) {\n continue;\n }\n\n // build for every file a line looking like \"aaaaaaaaaaaaaaa file.txt\\n\"\n\n // get hash of specific file\n const hash = crypto.createHash('sha256');\n const fileBuffer = await fs.readCacheFile(absolutePath);\n hash.update(fileBuffer);\n\n const line = `${hash.digest('hex')} ${upath.normalize(entryPath)}\\n`;\n rootHash.update(line);\n }\n\n return rootHash.digest('base64');\n }\n\n /**\n * This is a reimplementation of the Go H1 hash algorithm found at https://github.com/golang/mod/blob/master/sumdb/dirhash/hash.go\n * The package provides two function HashDir and HashZip where the first is for hashing the contents of a directory\n * and the second for doing the same but implicitly extracting the contents first.\n *\n * The problem starts with that there is a bug which leads to the fact that HashDir and HashZip do not return the same\n * hash if there are folders inside the content which should be hashed.\n *\n * In a folder structure such as\n * .\n * ├── Readme.md\n * └── readme-assets/\n * └── image.jpg\n *\n * HashDir will create a list of following entries which in turn will hash again\n * aaaaaaaaaaa Readme.md\\n\n * ccccccccccc readme-assets/image.jpg\\n\n *\n * HashZip in contrast will not filter out the directory itself but rather includes it in the hash list\n * aaaaaaaaaaa Readme.md\\n\n * bbbbbbbbbbb readme-assets/\\n\n * ccccccccccc readme-assets/image.jpg\\n\n *\n * As the resulting string is used to generate the final hash it will differ based on which function has been used.\n * The issue is tracked here: https://github.com/golang/go/issues/53448\n *\n * This implementation follows the intended implementation and filters out folder entries.\n * Terraform seems NOT to use HashZip for provider validation, but rather extracts it and then do the hash calculation\n * even as both are set up in their code base.\n * https://github.com/hashicorp/terraform/blob/3fdfbd69448b14a4982b3c62a5d36835956fcbaa/internal/getproviders/hash.go#L283-L305\n *\n * @param zipFilePath path to the zip file\n * @param extractPath path to where to temporarily extract the data\n */\n static async hashOfZipContent(\n zipFilePath: string,\n extractPath: string,\n ): Promise<string> {\n await extract(zipFilePath, {\n dir: extractPath,\n });\n const hash = await this.hashOfDir(extractPath);\n // delete extracted files\n await fs.rmCache(extractPath);\n\n return hash;\n }\n\n static async hashOfDir(dirPath: string): Promise<string> {\n const elements = await fs.listCacheDir(dirPath, { recursive: true });\n\n const sortedFileSystemObjects = elements.sort();\n return await TerraformProviderHash.hashElementList(\n dirPath,\n sortedFileSystemObjects,\n );\n }\n\n @cache({\n namespace: `terraform-provider-hash`,\n key: (build: TerraformBuild) => `calculateSingleHash:${build.url}`,\n ttlMinutes: TerraformProviderHash.hashCacheTTL,\n })\n static async calculateSingleHash(\n build: TerraformBuild,\n cacheDir: string,\n ): Promise<string> {\n const downloadFileName = upath.join(cacheDir, build.filename);\n const extractPath = upath.join(cacheDir, 'extract', build.filename);\n logger.trace(\n `Downloading archive and generating hash for ${build.name}-${build.version}...`,\n );\n const startTime = Date.now();\n const readStream = TerraformProviderHash.http.stream(build.url);\n const writeStream = fs.createCacheWriteStream(downloadFileName);\n\n try {\n await fs.pipeline(readStream, writeStream);\n\n const hash = await this.hashOfZipContent(downloadFileName, extractPath);\n logger.debug(\n `Hash generation for ${build.url} took ${Date.now() - startTime}ms for ${build.name}-${build.version}`,\n );\n return hash;\n } finally {\n // delete zip file\n await fs.rmCache(downloadFileName);\n }\n }\n\n static async calculateHashScheme1Hashes(\n builds: TerraformBuild[],\n ): Promise<string[]> {\n logger.debug(`Calculating hashes for ${builds.length} builds`);\n const cacheDir = await ensureCacheDir('./others/terraform');\n\n // for each build download ZIP, extract content and generate hash for all containing files\n return p.map(builds, (build) => this.calculateSingleHash(build, cacheDir), {\n concurrency: 4,\n });\n }\n\n static async createHashes(\n registryURL: string,\n repository: string,\n version: string,\n ): Promise<string[] | null> {\n logger.debug(\n `Creating hashes for ${repository}@${version} (${registryURL})`,\n );\n const builds = await TerraformProviderHash.terraformDatasource.getBuilds(\n registryURL,\n repository,\n version,\n );\n if (!builds) {\n return null;\n }\n\n // check if the publisher uses one shasum file for all builds or separate ones\n // we deduplicate to reduce the number of API calls\n const shaUrls = deduplicateArray(\n builds.map((build) => build.shasums_url).filter(isNotNullOrUndefined),\n );\n\n logger.debug(\n `Getting zip hashes for ${shaUrls.length} shasum URL(s) for ${repository}@${version}`,\n );\n\n const zhHashes: string[] = [];\n for (const shaUrl of shaUrls) {\n const hashes =\n await TerraformProviderHash.terraformDatasource.getZipHashes(shaUrl);\n\n zhHashes.push(...coerceArray(hashes));\n }\n\n logger.debug(\n `Got ${zhHashes.length} zip hashes for ${repository}@${version}`,\n );\n\n const h1Hashes =\n await TerraformProviderHash.calculateHashScheme1Hashes(builds);\n\n const hashes = [];\n hashes.push(...h1Hashes.map((hash) => `h1:${hash}`));\n hashes.push(...zhHashes.map((hash) => `zh:${hash}`));\n\n // sorting the hash alphabetically as terraform does this as well\n return hashes.sort();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"hash.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/terraform/lockfile/hash.ts"],"names":[],"mappings":"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","sourcesContent":["import crypto from 'node:crypto';\nimport extract from 'extract-zip';\nimport upath from 'upath';\nimport { logger } from '../../../../logger';\nimport {\n coerceArray,\n deduplicateArray,\n isNotNullOrUndefined,\n} from '../../../../util/array';\nimport { cache } from '../../../../util/cache/package/decorator';\nimport * as fs from '../../../../util/fs';\nimport { ensureCacheDir } from '../../../../util/fs';\nimport { Http } from '../../../../util/http';\nimport * as p from '../../../../util/promises';\nimport { TerraformProviderDatasource } from '../../../datasource/terraform-provider';\nimport type { TerraformBuild } from '../../../datasource/terraform-provider/types';\n\nexport class TerraformProviderHash {\n static http = new Http(TerraformProviderDatasource.id);\n\n static terraformDatasource = new TerraformProviderDatasource();\n\n static hashCacheTTL = 10080; // in minutes == 1 week\n\n private static async hashElementList(\n basePath: string,\n fileSystemEntries: string[],\n ): Promise<string> {\n const rootHash = crypto.createHash('sha256');\n\n for (const entryPath of fileSystemEntries) {\n const absolutePath = upath.resolve(basePath, entryPath);\n if (!(await fs.cachePathIsFile(absolutePath))) {\n continue;\n }\n\n // build for every file a line looking like \"aaaaaaaaaaaaaaa file.txt\\n\"\n\n // get hash of specific file\n const hash = crypto.createHash('sha256');\n const fileBuffer = await fs.readCacheFile(absolutePath);\n hash.update(fileBuffer);\n\n const line = `${hash.digest('hex')} ${upath.normalize(entryPath)}\\n`;\n rootHash.update(line);\n }\n\n return rootHash.digest('base64');\n }\n\n /**\n * This is a reimplementation of the Go H1 hash algorithm found at https://github.com/golang/mod/blob/master/sumdb/dirhash/hash.go\n * The package provides two function HashDir and HashZip where the first is for hashing the contents of a directory\n * and the second for doing the same but implicitly extracting the contents first.\n *\n * The problem starts with that there is a bug which leads to the fact that HashDir and HashZip do not return the same\n * hash if there are folders inside the content which should be hashed.\n *\n * In a folder structure such as\n * .\n * ├── Readme.md\n * └── readme-assets/\n * └── image.jpg\n *\n * HashDir will create a list of following entries which in turn will hash again\n * aaaaaaaaaaa Readme.md\\n\n * ccccccccccc readme-assets/image.jpg\\n\n *\n * HashZip in contrast will not filter out the directory itself but rather includes it in the hash list\n * aaaaaaaaaaa Readme.md\\n\n * bbbbbbbbbbb readme-assets/\\n\n * ccccccccccc readme-assets/image.jpg\\n\n *\n * As the resulting string is used to generate the final hash it will differ based on which function has been used.\n * The issue is tracked here: https://github.com/golang/go/issues/53448\n *\n * This implementation follows the intended implementation and filters out folder entries.\n * Terraform seems NOT to use HashZip for provider validation, but rather extracts it and then do the hash calculation\n * even as both are set up in their code base.\n * https://github.com/hashicorp/terraform/blob/3fdfbd69448b14a4982b3c62a5d36835956fcbaa/internal/getproviders/hash.go#L283-L305\n *\n * @param zipFilePath path to the zip file\n * @param extractPath path to where to temporarily extract the data\n */\n static async hashOfZipContent(\n zipFilePath: string,\n extractPath: string,\n ): Promise<string> {\n await extract(zipFilePath, {\n dir: extractPath,\n });\n const hash = await this.hashOfDir(extractPath);\n // delete extracted files\n await fs.rmCache(extractPath);\n\n return hash;\n }\n\n static async hashOfDir(dirPath: string): Promise<string> {\n const elements = await fs.listCacheDir(dirPath, { recursive: true });\n\n const sortedFileSystemObjects = elements.sort();\n return await TerraformProviderHash.hashElementList(\n dirPath,\n sortedFileSystemObjects,\n );\n }\n\n @cache({\n namespace: `terraform-provider-hash`,\n key: (build: TerraformBuild) => `calculateSingleHash:${build.url}`,\n ttlMinutes: TerraformProviderHash.hashCacheTTL,\n })\n static async calculateSingleHash(\n build: TerraformBuild,\n cacheDir: string,\n ): Promise<string> {\n const downloadFileName = upath.join(cacheDir, build.filename);\n const extractPath = upath.join(cacheDir, 'extract', build.filename);\n logger.trace(\n `Downloading archive and generating hash for ${build.name}-${build.version}...`,\n );\n const startTime = Date.now();\n const readStream = TerraformProviderHash.http.stream(build.url);\n const writeStream = fs.createCacheWriteStream(downloadFileName);\n\n try {\n await fs.pipeline(readStream, writeStream);\n\n const hash = await this.hashOfZipContent(downloadFileName, extractPath);\n logger.debug(\n `Hash generation for ${build.url} took ${Date.now() - startTime}ms for ${build.name}-${build.version}`,\n );\n return hash;\n } finally {\n // delete zip file\n await fs.rmCache(downloadFileName);\n }\n }\n\n static async calculateHashScheme1Hashes(\n builds: TerraformBuild[],\n ): Promise<string[]> {\n logger.debug(`Calculating hashes for ${builds.length} builds`);\n const cacheDir = await ensureCacheDir('terraform');\n\n // for each build download ZIP, extract content and generate hash for all containing files\n return p.map(builds, (build) => this.calculateSingleHash(build, cacheDir), {\n concurrency: 4,\n });\n }\n\n static async createHashes(\n registryURL: string,\n repository: string,\n version: string,\n ): Promise<string[] | null> {\n logger.debug(\n `Creating hashes for ${repository}@${version} (${registryURL})`,\n );\n const builds = await TerraformProviderHash.terraformDatasource.getBuilds(\n registryURL,\n repository,\n version,\n );\n if (!builds) {\n return null;\n }\n\n // check if the publisher uses one shasum file for all builds or separate ones\n // we deduplicate to reduce the number of API calls\n const shaUrls = deduplicateArray(\n builds.map((build) => build.shasums_url).filter(isNotNullOrUndefined),\n );\n\n logger.debug(\n `Getting zip hashes for ${shaUrls.length} shasum URL(s) for ${repository}@${version}`,\n );\n\n const zhHashes: string[] = [];\n for (const shaUrl of shaUrls) {\n const hashes =\n await TerraformProviderHash.terraformDatasource.getZipHashes(shaUrl);\n\n zhHashes.push(...coerceArray(hashes));\n }\n\n logger.debug(\n `Got ${zhHashes.length} zip hashes for ${repository}@${version}`,\n );\n\n const h1Hashes =\n await TerraformProviderHash.calculateHashScheme1Hashes(builds);\n\n const hashes = [];\n hashes.push(...h1Hashes.map((hash) => `h1:${hash}`));\n hashes.push(...zhHashes.map((hash) => `zh:${hash}`));\n\n // sorting the hash alphabetically as terraform does this as well\n return hashes.sort();\n }\n}\n"]}
|
|
@@ -4,7 +4,7 @@ exports.keyValueExtractionRegex = void 0;
|
|
|
4
4
|
exports.getTerragruntDependencyType = getTerragruntDependencyType;
|
|
5
5
|
exports.checkFileContainsDependency = checkFileContainsDependency;
|
|
6
6
|
const regex_1 = require("../../../util/regex");
|
|
7
|
-
exports.keyValueExtractionRegex = (0, regex_1.regEx)(/^\s*source\s+=\s+"(?<value>[^"]+)"
|
|
7
|
+
exports.keyValueExtractionRegex = (0, regex_1.regEx)(/^\s*source\s+=\s+"(?<value>[^"]+)"/);
|
|
8
8
|
function getTerragruntDependencyType(value) {
|
|
9
9
|
switch (value) {
|
|
10
10
|
case 'terraform': {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../lib/modules/manager/terragrunt/util.ts"],"names":[],"mappings":";;;AAOA,kEAWC;AAED,kEAKC;AAzBD,+CAA4C;AAG/B,QAAA,uBAAuB,GAAG,IAAA,aAAK,EAC1C,
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../lib/modules/manager/terragrunt/util.ts"],"names":[],"mappings":";;;AAOA,kEAWC;AAED,kEAKC;AAzBD,+CAA4C;AAG/B,QAAA,uBAAuB,GAAG,IAAA,aAAK,EAC1C,oCAAoC,CACrC,CAAC;AAEF,SAAgB,2BAA2B,CACzC,KAAa;IAEb,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAgB,2BAA2B,CACzC,OAAe,EACf,SAAmB;IAEnB,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5D,CAAC","sourcesContent":["import { regEx } from '../../../util/regex';\nimport type { TerragruntDependencyTypes } from './common';\n\nexport const keyValueExtractionRegex = regEx(\n /^\\s*source\\s+=\\s+\"(?<value>[^\"]+)\"/,\n);\n\nexport function getTerragruntDependencyType(\n value: string,\n): TerragruntDependencyTypes {\n switch (value) {\n case 'terraform': {\n return 'terraform';\n }\n default: {\n return 'unknown';\n }\n }\n}\n\nexport function checkFileContainsDependency(\n content: string,\n checkList: string[],\n): boolean {\n return checkList.some((check) => content.includes(check));\n}\n"]}
|
|
@@ -16,6 +16,8 @@ export interface ExtractConfig extends CustomExtractConfig {
|
|
|
16
16
|
npmrcMerge?: boolean;
|
|
17
17
|
skipInstalls?: boolean | null;
|
|
18
18
|
repository?: string;
|
|
19
|
+
currentDigest?: string;
|
|
20
|
+
newDigest?: string;
|
|
19
21
|
}
|
|
20
22
|
export interface UpdateArtifactsConfig {
|
|
21
23
|
isLockFileMaintenance?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../lib/modules/manager/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ReleaseType } from 'semver';\nimport type {\n MatchStringsStrategy,\n UpdateType,\n ValidationMessage,\n} from '../../config/types';\nimport type { Category } from '../../constants';\nimport type {\n MaybePromise,\n ModuleApi,\n RangeStrategy,\n SkipReason,\n StageName,\n} from '../../types';\nimport type { FileChange } from '../../util/git/types';\nimport type { MergeConfidence } from '../../util/merge-confidence/types';\nimport type { Timestamp } from '../../util/timestamp';\nimport type { RegistryStrategy } from '../datasource';\nimport type { CustomExtractConfig } from './custom/types';\n\nexport interface ManagerData<T> {\n managerData?: T;\n}\n\nexport interface ExtractConfig extends CustomExtractConfig {\n registryAliases?: Record<string, string>;\n npmrc?: string;\n npmrcMerge?: boolean;\n skipInstalls?: boolean | null;\n repository?: string;\n}\n\nexport interface UpdateArtifactsConfig {\n isLockFileMaintenance?: boolean;\n constraints?: Record<string, string>;\n composerIgnorePlatformReqs?: string[];\n goGetDirs?: string[];\n currentValue?: string;\n postUpdateOptions?: string[];\n ignorePlugins?: boolean;\n ignoreScripts?: boolean;\n updateType?: UpdateType;\n newValue?: string;\n newVersion?: string;\n newMajor?: number;\n registryAliases?: Record<string, string>;\n skipArtifactsUpdate?: boolean;\n lockFiles?: string[];\n}\n\nexport interface RangeConfig<T = Record<string, any>> extends ManagerData<T> {\n currentValue?: string;\n depName?: string;\n depType?: string;\n manager?: string;\n rangeStrategy: RangeStrategy;\n}\n\nexport interface PackageFileContent<T = Record<string, any>>\n extends ManagerData<T> {\n autoReplaceStringTemplate?: string;\n extractedConstraints?: Record<string, string>;\n datasource?: string;\n registryUrls?: string[];\n additionalRegistryUrls?: string[];\n deps: PackageDependency[];\n lockFiles?: string[];\n npmrc?: string;\n packageFileVersion?: string;\n skipInstalls?: boolean | null;\n matchStrings?: string[];\n matchStringsStrategy?: MatchStringsStrategy;\n fileFormat?: string;\n}\n\nexport interface PackageFile<T = Record<string, any>>\n extends PackageFileContent<T> {\n packageFile: string;\n}\n\nexport interface LookupUpdate {\n bucket?: string;\n branchName?: string;\n commitMessageAction?: string;\n isBump?: boolean;\n isLockfileUpdate?: boolean;\n isPin?: boolean;\n isPinDigest?: boolean;\n isRange?: boolean;\n isRollback?: boolean;\n isReplacement?: boolean;\n newDigest?: string;\n newMajor?: number;\n newMinor?: number;\n newPatch?: number;\n newName?: string;\n newValue?: string;\n semanticCommitType?: string;\n pendingChecks?: boolean;\n pendingVersions?: string[];\n newVersion?: string;\n updateType?: UpdateType;\n isBreaking?: boolean;\n mergeConfidenceLevel?: MergeConfidence | undefined;\n userStrings?: Record<string, string>;\n checksumUrl?: string;\n downloadUrl?: string;\n releaseTimestamp?: Timestamp;\n newVersionAgeInDays?: number;\n registryUrl?: string;\n libYears?: number;\n}\n\n/**\n * @property {string} depName - Display name of the package. See #16012\n * @property {string} packageName - The name of the package, used in comparisons. depName is used as fallback if this is not set. See #16012\n */\nexport interface PackageDependency<T = Record<string, any>>\n extends ManagerData<T> {\n currentValue?: string | null;\n currentDigest?: string;\n depName?: string;\n depType?: string;\n fileReplacePosition?: number;\n sharedVariableName?: string;\n lineNumber?: number;\n packageName?: string;\n target?: string;\n versioning?: string;\n dataType?: string;\n enabled?: boolean;\n bumpVersion?: ReleaseType;\n npmPackageAlias?: boolean;\n packageFileVersion?: string;\n gitRef?: boolean;\n sourceUrl?: string | null;\n pinDigests?: boolean;\n currentRawValue?: string;\n major?: { enabled?: boolean };\n prettyDepType?: string;\n newValue?: string;\n warnings?: ValidationMessage[];\n commitMessageTopic?: string;\n currentDigestShort?: string;\n datasource?: string;\n deprecationMessage?: string;\n digestOneAndOnly?: boolean;\n fixedVersion?: string;\n currentVersion?: string;\n currentVersionTimestamp?: string;\n lockedVersion?: string;\n propSource?: string;\n registryUrls?: string[] | null;\n rangeStrategy?: RangeStrategy;\n skipReason?: SkipReason;\n skipStage?: StageName;\n sourceLine?: number;\n newVersion?: string;\n updates?: LookupUpdate[];\n replaceString?: string;\n autoReplaceStringTemplate?: string;\n editFile?: string;\n separateMinorPatch?: boolean;\n extractVersion?: string;\n isInternal?: boolean;\n variableName?: string;\n indentation?: string;\n\n /**\n * override data source's default strategy.\n */\n registryStrategy?: RegistryStrategy;\n\n mostRecentTimestamp?: Timestamp;\n isAbandoned?: boolean;\n}\n\nexport interface Upgrade<T = Record<string, any>> extends PackageDependency<T> {\n workspace?: string;\n isLockfileUpdate?: boolean;\n currentRawValue?: any;\n depGroup?: string;\n lockFiles?: string[];\n manager?: string;\n name?: string;\n newDigest?: string;\n newFrom?: string;\n newMajor?: number;\n newName?: string;\n newValue?: string;\n packageFile?: string;\n rangeStrategy?: RangeStrategy;\n newVersion?: string;\n updateType?: UpdateType;\n version?: string;\n isLockFileMaintenance?: boolean;\n isRemediation?: boolean;\n isVulnerabilityAlert?: boolean;\n vulnerabilitySeverity?: string;\n registryUrls?: string[] | null;\n currentVersion?: string;\n replaceString?: string;\n replacementApproach?: 'replace' | 'alias';\n}\n\nexport interface ArtifactNotice {\n file: string;\n message: string;\n}\n\nexport interface ArtifactError {\n fileName?: string;\n lockFile?: string;\n stderr?: string;\n}\n\nexport type UpdateArtifactsResult =\n | {\n file?: FileChange;\n notice?: ArtifactNotice;\n artifactError?: undefined;\n }\n | {\n file?: undefined;\n notice?: undefined;\n artifactError?: ArtifactError;\n };\n\nexport interface UpdateArtifact<T = Record<string, unknown>> {\n packageFileName: string;\n updatedDeps: Upgrade<T>[];\n newPackageFileContent: string;\n config: UpdateArtifactsConfig;\n}\n\nexport interface UpdateDependencyConfig<T = Record<string, any>> {\n fileContent: string;\n upgrade: Upgrade<T>;\n}\n\nexport interface BumpPackageVersionResult {\n bumpedContent: string | null;\n}\n\nexport interface UpdateLockedConfig {\n packageFile: string;\n packageFileContent?: string;\n lockFile: string;\n lockFileContent?: string;\n depName: string;\n currentVersion: string;\n newVersion: string;\n allowParentUpdates?: boolean;\n allowHigherOrRemoved?: boolean;\n}\n\nexport interface UpdateLockedResult {\n status: 'unsupported' | 'updated' | 'already-updated' | 'update-failed';\n files?: Record<string, string>;\n}\n\nexport interface GlobalManagerConfig {\n npmrc?: string;\n npmrcMerge?: boolean;\n}\n\nexport interface ManagerApi extends ModuleApi {\n defaultConfig: Record<string, unknown>;\n\n categories?: Category[];\n supportsLockFileMaintenance?: boolean;\n supersedesManagers?: string[];\n supportedDatasources: string[];\n\n bumpPackageVersion?(\n content: string,\n currentValue: string,\n bumpVersion: ReleaseType,\n packageFile: string,\n ): MaybePromise<BumpPackageVersionResult>;\n\n detectGlobalConfig?(): MaybePromise<GlobalManagerConfig>;\n\n extractAllPackageFiles?(\n config: ExtractConfig,\n files: string[],\n ): MaybePromise<PackageFile[] | null>;\n\n extractPackageFile?(\n content: string,\n packageFile?: string,\n config?: ExtractConfig,\n ): MaybePromise<PackageFileContent | null>;\n\n getRangeStrategy?(config: RangeConfig): RangeStrategy;\n\n updateArtifacts?(\n updateArtifact: UpdateArtifact,\n ): MaybePromise<UpdateArtifactsResult[] | null>;\n\n updateDependency?(\n updateDependencyConfig: UpdateDependencyConfig,\n ): MaybePromise<string | null>;\n\n updateLockedDependency?(\n config: UpdateLockedConfig,\n ): MaybePromise<UpdateLockedResult>;\n}\n\n// TODO: name and properties used by npm manager\nexport interface PostUpdateConfig<T = Record<string, any>>\n extends Record<string, any>,\n ManagerData<T> {\n // TODO: remove null\n constraints?: Record<string, string> | null;\n updatedPackageFiles?: FileChange[];\n postUpdateOptions?: string[];\n skipArtifactsUpdate?: boolean;\n skipInstalls?: boolean | null;\n ignoreScripts?: boolean;\n\n packageFile?: string;\n\n upgrades: Upgrade[];\n npmLock?: string;\n yarnLock?: string;\n branchName: string;\n reuseExistingBranch?: boolean;\n\n isLockFileMaintenance?: boolean;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../lib/modules/manager/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ReleaseType } from 'semver';\nimport type {\n MatchStringsStrategy,\n UpdateType,\n ValidationMessage,\n} from '../../config/types';\nimport type { Category } from '../../constants';\nimport type {\n MaybePromise,\n ModuleApi,\n RangeStrategy,\n SkipReason,\n StageName,\n} from '../../types';\nimport type { FileChange } from '../../util/git/types';\nimport type { MergeConfidence } from '../../util/merge-confidence/types';\nimport type { Timestamp } from '../../util/timestamp';\nimport type { RegistryStrategy } from '../datasource';\nimport type { CustomExtractConfig } from './custom/types';\n\nexport interface ManagerData<T> {\n managerData?: T;\n}\n\nexport interface ExtractConfig extends CustomExtractConfig {\n registryAliases?: Record<string, string>;\n npmrc?: string;\n npmrcMerge?: boolean;\n skipInstalls?: boolean | null;\n repository?: string;\n currentDigest?: string;\n newDigest?: string;\n}\n\nexport interface UpdateArtifactsConfig {\n isLockFileMaintenance?: boolean;\n constraints?: Record<string, string>;\n composerIgnorePlatformReqs?: string[];\n goGetDirs?: string[];\n currentValue?: string;\n postUpdateOptions?: string[];\n ignorePlugins?: boolean;\n ignoreScripts?: boolean;\n updateType?: UpdateType;\n newValue?: string;\n newVersion?: string;\n newMajor?: number;\n registryAliases?: Record<string, string>;\n skipArtifactsUpdate?: boolean;\n lockFiles?: string[];\n}\n\nexport interface RangeConfig<T = Record<string, any>> extends ManagerData<T> {\n currentValue?: string;\n depName?: string;\n depType?: string;\n manager?: string;\n rangeStrategy: RangeStrategy;\n}\n\nexport interface PackageFileContent<T = Record<string, any>>\n extends ManagerData<T> {\n autoReplaceStringTemplate?: string;\n extractedConstraints?: Record<string, string>;\n datasource?: string;\n registryUrls?: string[];\n additionalRegistryUrls?: string[];\n deps: PackageDependency[];\n lockFiles?: string[];\n npmrc?: string;\n packageFileVersion?: string;\n skipInstalls?: boolean | null;\n matchStrings?: string[];\n matchStringsStrategy?: MatchStringsStrategy;\n fileFormat?: string;\n}\n\nexport interface PackageFile<T = Record<string, any>>\n extends PackageFileContent<T> {\n packageFile: string;\n}\n\nexport interface LookupUpdate {\n bucket?: string;\n branchName?: string;\n commitMessageAction?: string;\n isBump?: boolean;\n isLockfileUpdate?: boolean;\n isPin?: boolean;\n isPinDigest?: boolean;\n isRange?: boolean;\n isRollback?: boolean;\n isReplacement?: boolean;\n newDigest?: string;\n newMajor?: number;\n newMinor?: number;\n newPatch?: number;\n newName?: string;\n newValue?: string;\n semanticCommitType?: string;\n pendingChecks?: boolean;\n pendingVersions?: string[];\n newVersion?: string;\n updateType?: UpdateType;\n isBreaking?: boolean;\n mergeConfidenceLevel?: MergeConfidence | undefined;\n userStrings?: Record<string, string>;\n checksumUrl?: string;\n downloadUrl?: string;\n releaseTimestamp?: Timestamp;\n newVersionAgeInDays?: number;\n registryUrl?: string;\n libYears?: number;\n}\n\n/**\n * @property {string} depName - Display name of the package. See #16012\n * @property {string} packageName - The name of the package, used in comparisons. depName is used as fallback if this is not set. See #16012\n */\nexport interface PackageDependency<T = Record<string, any>>\n extends ManagerData<T> {\n currentValue?: string | null;\n currentDigest?: string;\n depName?: string;\n depType?: string;\n fileReplacePosition?: number;\n sharedVariableName?: string;\n lineNumber?: number;\n packageName?: string;\n target?: string;\n versioning?: string;\n dataType?: string;\n enabled?: boolean;\n bumpVersion?: ReleaseType;\n npmPackageAlias?: boolean;\n packageFileVersion?: string;\n gitRef?: boolean;\n sourceUrl?: string | null;\n pinDigests?: boolean;\n currentRawValue?: string;\n major?: { enabled?: boolean };\n prettyDepType?: string;\n newValue?: string;\n warnings?: ValidationMessage[];\n commitMessageTopic?: string;\n currentDigestShort?: string;\n datasource?: string;\n deprecationMessage?: string;\n digestOneAndOnly?: boolean;\n fixedVersion?: string;\n currentVersion?: string;\n currentVersionTimestamp?: string;\n lockedVersion?: string;\n propSource?: string;\n registryUrls?: string[] | null;\n rangeStrategy?: RangeStrategy;\n skipReason?: SkipReason;\n skipStage?: StageName;\n sourceLine?: number;\n newVersion?: string;\n updates?: LookupUpdate[];\n replaceString?: string;\n autoReplaceStringTemplate?: string;\n editFile?: string;\n separateMinorPatch?: boolean;\n extractVersion?: string;\n isInternal?: boolean;\n variableName?: string;\n indentation?: string;\n\n /**\n * override data source's default strategy.\n */\n registryStrategy?: RegistryStrategy;\n\n mostRecentTimestamp?: Timestamp;\n isAbandoned?: boolean;\n}\n\nexport interface Upgrade<T = Record<string, any>> extends PackageDependency<T> {\n workspace?: string;\n isLockfileUpdate?: boolean;\n currentRawValue?: any;\n depGroup?: string;\n lockFiles?: string[];\n manager?: string;\n name?: string;\n newDigest?: string;\n newFrom?: string;\n newMajor?: number;\n newName?: string;\n newValue?: string;\n packageFile?: string;\n rangeStrategy?: RangeStrategy;\n newVersion?: string;\n updateType?: UpdateType;\n version?: string;\n isLockFileMaintenance?: boolean;\n isRemediation?: boolean;\n isVulnerabilityAlert?: boolean;\n vulnerabilitySeverity?: string;\n registryUrls?: string[] | null;\n currentVersion?: string;\n replaceString?: string;\n replacementApproach?: 'replace' | 'alias';\n}\n\nexport interface ArtifactNotice {\n file: string;\n message: string;\n}\n\nexport interface ArtifactError {\n fileName?: string;\n lockFile?: string;\n stderr?: string;\n}\n\nexport type UpdateArtifactsResult =\n | {\n file?: FileChange;\n notice?: ArtifactNotice;\n artifactError?: undefined;\n }\n | {\n file?: undefined;\n notice?: undefined;\n artifactError?: ArtifactError;\n };\n\nexport interface UpdateArtifact<T = Record<string, unknown>> {\n packageFileName: string;\n updatedDeps: Upgrade<T>[];\n newPackageFileContent: string;\n config: UpdateArtifactsConfig;\n}\n\nexport interface UpdateDependencyConfig<T = Record<string, any>> {\n fileContent: string;\n upgrade: Upgrade<T>;\n}\n\nexport interface BumpPackageVersionResult {\n bumpedContent: string | null;\n}\n\nexport interface UpdateLockedConfig {\n packageFile: string;\n packageFileContent?: string;\n lockFile: string;\n lockFileContent?: string;\n depName: string;\n currentVersion: string;\n newVersion: string;\n allowParentUpdates?: boolean;\n allowHigherOrRemoved?: boolean;\n}\n\nexport interface UpdateLockedResult {\n status: 'unsupported' | 'updated' | 'already-updated' | 'update-failed';\n files?: Record<string, string>;\n}\n\nexport interface GlobalManagerConfig {\n npmrc?: string;\n npmrcMerge?: boolean;\n}\n\nexport interface ManagerApi extends ModuleApi {\n defaultConfig: Record<string, unknown>;\n\n categories?: Category[];\n supportsLockFileMaintenance?: boolean;\n supersedesManagers?: string[];\n supportedDatasources: string[];\n\n bumpPackageVersion?(\n content: string,\n currentValue: string,\n bumpVersion: ReleaseType,\n packageFile: string,\n ): MaybePromise<BumpPackageVersionResult>;\n\n detectGlobalConfig?(): MaybePromise<GlobalManagerConfig>;\n\n extractAllPackageFiles?(\n config: ExtractConfig,\n files: string[],\n ): MaybePromise<PackageFile[] | null>;\n\n extractPackageFile?(\n content: string,\n packageFile?: string,\n config?: ExtractConfig,\n ): MaybePromise<PackageFileContent | null>;\n\n getRangeStrategy?(config: RangeConfig): RangeStrategy;\n\n updateArtifacts?(\n updateArtifact: UpdateArtifact,\n ): MaybePromise<UpdateArtifactsResult[] | null>;\n\n updateDependency?(\n updateDependencyConfig: UpdateDependencyConfig,\n ): MaybePromise<string | null>;\n\n updateLockedDependency?(\n config: UpdateLockedConfig,\n ): MaybePromise<UpdateLockedResult>;\n}\n\n// TODO: name and properties used by npm manager\nexport interface PostUpdateConfig<T = Record<string, any>>\n extends Record<string, any>,\n ManagerData<T> {\n // TODO: remove null\n constraints?: Record<string, string> | null;\n updatedPackageFiles?: FileChange[];\n postUpdateOptions?: string[];\n skipArtifactsUpdate?: boolean;\n skipInstalls?: boolean | null;\n ignoreScripts?: boolean;\n\n packageFile?: string;\n\n upgrades: Upgrade[];\n npmLock?: string;\n yarnLock?: string;\n branchName: string;\n reuseExistingBranch?: boolean;\n\n isLockFileMaintenance?: boolean;\n}\n"]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.extractPackageFile = extractPackageFile;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const strip_json_comments_1 = tslib_1.__importDefault(require("strip-json-comments"));
|
|
6
|
+
const regex_1 = require("../../../util/regex");
|
|
7
|
+
const typst_1 = require("../../datasource/typst");
|
|
8
|
+
function extractPackageFile(content) {
|
|
9
|
+
const lines = (0, strip_json_comments_1.default)(content).split(regex_1.newlineRegex);
|
|
10
|
+
const deps = [];
|
|
11
|
+
const importRegex = /#import\s+"@(?<namespace>[^/]+)\/(?<pkg>[^:]+):(?<version>[^"]+)"/g;
|
|
12
|
+
for (const line of lines) {
|
|
13
|
+
for (const match of line.matchAll(importRegex)) {
|
|
14
|
+
const { namespace, pkg, version } = match.groups;
|
|
15
|
+
const dep = {
|
|
16
|
+
datasource: typst_1.TypstDatasource.id,
|
|
17
|
+
packageName: `${namespace}/${pkg}`,
|
|
18
|
+
currentValue: version,
|
|
19
|
+
};
|
|
20
|
+
if (namespace === 'preview') {
|
|
21
|
+
dep.depName = pkg;
|
|
22
|
+
}
|
|
23
|
+
if (namespace !== 'preview') {
|
|
24
|
+
dep.skipReason = namespace === 'local' ? 'local' : 'unsupported';
|
|
25
|
+
}
|
|
26
|
+
deps.push(dep);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return { deps };
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=extract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/typst/extract.ts"],"names":[],"mappings":";;AAKA,gDA6BC;;AAlCD,sFAAoD;AACpD,+CAAmD;AACnD,kDAAyD;AAGzD,SAAgB,kBAAkB,CAAC,OAAe;IAChD,MAAM,KAAK,GAAG,IAAA,6BAAiB,EAAC,OAAO,CAAC,CAAC,KAAK,CAAC,oBAAY,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAwB,EAAE,CAAC;IAErC,MAAM,WAAW,GACf,oEAAoE,CAAC;IAEvE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/C,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,MAAO,CAAC;YAClD,MAAM,GAAG,GAAsB;gBAC7B,UAAU,EAAE,uBAAe,CAAC,EAAE;gBAC9B,WAAW,EAAE,GAAG,SAAS,IAAI,GAAG,EAAE;gBAClC,YAAY,EAAE,OAAO;aACtB,CAAC;YAEF,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC;YACpB,CAAC;YAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,GAAG,CAAC,UAAU,GAAG,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;YACnE,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC","sourcesContent":["import stripJsonComments from 'strip-json-comments';\nimport { newlineRegex } from '../../../util/regex';\nimport { TypstDatasource } from '../../datasource/typst';\nimport type { PackageDependency, PackageFileContent } from '../types';\n\nexport function extractPackageFile(content: string): PackageFileContent {\n const lines = stripJsonComments(content).split(newlineRegex);\n const deps: PackageDependency[] = [];\n\n const importRegex =\n /#import\\s+\"@(?<namespace>[^/]+)\\/(?<pkg>[^:]+):(?<version>[^\"]+)\"/g;\n\n for (const line of lines) {\n for (const match of line.matchAll(importRegex)) {\n const { namespace, pkg, version } = match.groups!;\n const dep: PackageDependency = {\n datasource: TypstDatasource.id,\n packageName: `${namespace}/${pkg}`,\n currentValue: version,\n };\n\n if (namespace === 'preview') {\n dep.depName = pkg;\n }\n\n if (namespace !== 'preview') {\n dep.skipReason = namespace === 'local' ? 'local' : 'unsupported';\n }\n\n deps.push(dep);\n }\n }\n\n return { deps };\n}\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.supportedDatasources = exports.defaultConfig = exports.displayName = exports.extractPackageFile = void 0;
|
|
4
|
+
const typst_1 = require("../../datasource/typst");
|
|
5
|
+
const extract_1 = require("./extract");
|
|
6
|
+
Object.defineProperty(exports, "extractPackageFile", { enumerable: true, get: function () { return extract_1.extractPackageFile; } });
|
|
7
|
+
exports.displayName = 'Typst package';
|
|
8
|
+
exports.defaultConfig = {
|
|
9
|
+
managerFilePatterns: ['/\\.typ$/'],
|
|
10
|
+
};
|
|
11
|
+
exports.supportedDatasources = [typst_1.TypstDatasource.id];
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/manager/typst/index.ts"],"names":[],"mappings":";;;AAAA,kDAAyD;AACzD,uCAA+C;AAEtC,mGAFA,4BAAkB,OAEA;AAEd,QAAA,WAAW,GAAG,eAAe,CAAC;AAE9B,QAAA,aAAa,GAAG;IAC3B,mBAAmB,EAAE,CAAC,WAAW,CAAC;CACnC,CAAC;AAEW,QAAA,oBAAoB,GAAG,CAAC,uBAAe,CAAC,EAAE,CAAC,CAAC","sourcesContent":["import { TypstDatasource } from '../../datasource/typst';\nimport { extractPackageFile } from './extract';\n\nexport { extractPackageFile };\n\nexport const displayName = 'Typst package';\n\nexport const defaultConfig = {\n managerFilePatterns: ['/\\\\.typ$/'],\n};\n\nexport const supportedDatasources = [TypstDatasource.id];\n"]}
|
|
@@ -15,8 +15,9 @@ function applyGitSource(dep, git, rev, tag, branch) {
|
|
|
15
15
|
platform === 'github'
|
|
16
16
|
? github_tags_1.GithubTagsDatasource.id
|
|
17
17
|
: gitlab_tags_1.GitlabTagsDatasource.id;
|
|
18
|
-
const {
|
|
19
|
-
|
|
18
|
+
const { source, full_name } = (0, url_1.parseGitUrl)(git);
|
|
19
|
+
// Always use HTTPS for GitHub/GitLab API endpoints, even if the git URL protocol is SSH.
|
|
20
|
+
dep.registryUrls = [`https://${source}`];
|
|
20
21
|
dep.packageName = full_name;
|
|
21
22
|
}
|
|
22
23
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../lib/modules/manager/util.ts"],"names":[],"mappings":";;AAQA,
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../lib/modules/manager/util.ts"],"names":[],"mappings":";;AAQA,wCAoCC;AA5CD,8CAAmD;AACnD,4CAAiD;AACjD,qDAA2D;AAC3D,qDAA2D;AAC3D,2DAAiE;AACjE,2DAAiE;AAGjE,SAAgB,cAAc,CAC5B,GAAsB,EACtB,GAAW,EACX,GAAuB,EACvB,GAAuB,EACvB,MAA0B;IAE1B,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,QAAQ,GAAG,IAAA,uBAAc,EAAC,GAAG,CAAC,CAAC;QACrC,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACnD,GAAG,CAAC,UAAU;gBACZ,QAAQ,KAAK,QAAQ;oBACnB,CAAC,CAAC,kCAAoB,CAAC,EAAE;oBACzB,CAAC,CAAC,kCAAoB,CAAC,EAAE,CAAC;YAC9B,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,iBAAW,EAAC,GAAG,CAAC,CAAC;YAC/C,yFAAyF;YACzF,GAAG,CAAC,YAAY,GAAG,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC;YACzC,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,UAAU,GAAG,4BAAiB,CAAC,EAAE,CAAC;YACtC,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC;QACxB,CAAC;QACD,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC;QACvB,GAAG,CAAC,UAAU,GAAG,SAAS,CAAC;IAC7B,CAAC;SAAM,IAAI,GAAG,EAAE,CAAC;QACf,GAAG,CAAC,UAAU,GAAG,4BAAiB,CAAC,EAAE,CAAC;QACtC,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC;QACtB,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC;QACxB,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC;QACxB,GAAG,CAAC,UAAU,GAAG,SAAS,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,UAAU,GAAG,4BAAiB,CAAC,EAAE,CAAC;QACtC,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC;QACtB,GAAG,CAAC,YAAY,GAAG,MAAM,CAAC;QAC1B,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,qBAAqB,CAAC;IACrE,CAAC;AACH,CAAC","sourcesContent":["import { detectPlatform } from '../../util/common';\nimport { parseGitUrl } from '../../util/git/url';\nimport { GitRefsDatasource } from '../datasource/git-refs';\nimport { GitTagsDatasource } from '../datasource/git-tags';\nimport { GithubTagsDatasource } from '../datasource/github-tags';\nimport { GitlabTagsDatasource } from '../datasource/gitlab-tags';\nimport type { PackageDependency } from './types';\n\nexport function applyGitSource(\n dep: PackageDependency,\n git: string,\n rev: string | undefined,\n tag: string | undefined,\n branch: string | undefined,\n): void {\n if (tag) {\n const platform = detectPlatform(git);\n if (platform === 'github' || platform === 'gitlab') {\n dep.datasource =\n platform === 'github'\n ? GithubTagsDatasource.id\n : GitlabTagsDatasource.id;\n const { source, full_name } = parseGitUrl(git);\n // Always use HTTPS for GitHub/GitLab API endpoints, even if the git URL protocol is SSH.\n dep.registryUrls = [`https://${source}`];\n dep.packageName = full_name;\n } else {\n dep.datasource = GitTagsDatasource.id;\n dep.packageName = git;\n }\n dep.currentValue = tag;\n dep.skipReason = undefined;\n } else if (rev) {\n dep.datasource = GitRefsDatasource.id;\n dep.packageName = git;\n dep.currentDigest = rev;\n dep.replaceString = rev;\n dep.skipReason = undefined;\n } else {\n dep.datasource = GitRefsDatasource.id;\n dep.packageName = git;\n dep.currentValue = branch;\n dep.skipReason = branch ? 'git-dependency' : 'unspecified-version';\n }\n}\n"]}
|
|
@@ -43,14 +43,14 @@ export declare const HelmChart: z.ZodObject<{
|
|
|
43
43
|
url: string;
|
|
44
44
|
}>;
|
|
45
45
|
}, "strip", z.ZodTypeAny, {
|
|
46
|
-
name: string;
|
|
47
46
|
version: string;
|
|
47
|
+
name: string;
|
|
48
48
|
repository: {
|
|
49
49
|
url: string;
|
|
50
50
|
};
|
|
51
51
|
}, {
|
|
52
|
-
name: string;
|
|
53
52
|
version: string;
|
|
53
|
+
name: string;
|
|
54
54
|
repository: {
|
|
55
55
|
url: string;
|
|
56
56
|
};
|
|
@@ -68,14 +68,14 @@ export declare const HelmChartContent: z.ZodObject<{
|
|
|
68
68
|
url: string;
|
|
69
69
|
}>;
|
|
70
70
|
}, "strip", z.ZodTypeAny, {
|
|
71
|
-
name: string;
|
|
72
71
|
version: string;
|
|
72
|
+
name: string;
|
|
73
73
|
repository: {
|
|
74
74
|
url: string;
|
|
75
75
|
};
|
|
76
76
|
}, {
|
|
77
|
-
name: string;
|
|
78
77
|
version: string;
|
|
78
|
+
name: string;
|
|
79
79
|
repository: {
|
|
80
80
|
url: string;
|
|
81
81
|
};
|
|
@@ -83,8 +83,8 @@ export declare const HelmChartContent: z.ZodObject<{
|
|
|
83
83
|
}, "strip", z.ZodTypeAny, {
|
|
84
84
|
path: string;
|
|
85
85
|
helmChart: {
|
|
86
|
-
name: string;
|
|
87
86
|
version: string;
|
|
87
|
+
name: string;
|
|
88
88
|
repository: {
|
|
89
89
|
url: string;
|
|
90
90
|
};
|
|
@@ -92,8 +92,8 @@ export declare const HelmChartContent: z.ZodObject<{
|
|
|
92
92
|
}, {
|
|
93
93
|
path: string;
|
|
94
94
|
helmChart: {
|
|
95
|
-
name: string;
|
|
96
95
|
version: string;
|
|
96
|
+
name: string;
|
|
97
97
|
repository: {
|
|
98
98
|
url: string;
|
|
99
99
|
};
|
|
@@ -167,14 +167,14 @@ export declare const Contents: z.ZodUnion<[z.ZodObject<{
|
|
|
167
167
|
url: string;
|
|
168
168
|
}>;
|
|
169
169
|
}, "strip", z.ZodTypeAny, {
|
|
170
|
-
name: string;
|
|
171
170
|
version: string;
|
|
171
|
+
name: string;
|
|
172
172
|
repository: {
|
|
173
173
|
url: string;
|
|
174
174
|
};
|
|
175
175
|
}, {
|
|
176
|
-
name: string;
|
|
177
176
|
version: string;
|
|
177
|
+
name: string;
|
|
178
178
|
repository: {
|
|
179
179
|
url: string;
|
|
180
180
|
};
|
|
@@ -182,8 +182,8 @@ export declare const Contents: z.ZodUnion<[z.ZodObject<{
|
|
|
182
182
|
}, "strip", z.ZodTypeAny, {
|
|
183
183
|
path: string;
|
|
184
184
|
helmChart: {
|
|
185
|
-
name: string;
|
|
186
185
|
version: string;
|
|
186
|
+
name: string;
|
|
187
187
|
repository: {
|
|
188
188
|
url: string;
|
|
189
189
|
};
|
|
@@ -191,8 +191,8 @@ export declare const Contents: z.ZodUnion<[z.ZodObject<{
|
|
|
191
191
|
}, {
|
|
192
192
|
path: string;
|
|
193
193
|
helmChart: {
|
|
194
|
-
name: string;
|
|
195
194
|
version: string;
|
|
195
|
+
name: string;
|
|
196
196
|
repository: {
|
|
197
197
|
url: string;
|
|
198
198
|
};
|
|
@@ -260,8 +260,8 @@ export declare const Vendir: z.ZodObject<{
|
|
|
260
260
|
contents: z.ZodEffects<z.ZodArray<z.ZodAny, "many">, ({
|
|
261
261
|
path: string;
|
|
262
262
|
helmChart: {
|
|
263
|
-
name: string;
|
|
264
263
|
version: string;
|
|
264
|
+
name: string;
|
|
265
265
|
repository: {
|
|
266
266
|
url: string;
|
|
267
267
|
};
|
|
@@ -285,8 +285,8 @@ export declare const Vendir: z.ZodObject<{
|
|
|
285
285
|
contents: ({
|
|
286
286
|
path: string;
|
|
287
287
|
helmChart: {
|
|
288
|
-
name: string;
|
|
289
288
|
version: string;
|
|
289
|
+
name: string;
|
|
290
290
|
repository: {
|
|
291
291
|
url: string;
|
|
292
292
|
};
|
|
@@ -317,8 +317,8 @@ export declare const Vendir: z.ZodObject<{
|
|
|
317
317
|
contents: ({
|
|
318
318
|
path: string;
|
|
319
319
|
helmChart: {
|
|
320
|
-
name: string;
|
|
321
320
|
version: string;
|
|
321
|
+
name: string;
|
|
322
322
|
repository: {
|
|
323
323
|
url: string;
|
|
324
324
|
};
|
|
@@ -51,7 +51,7 @@ async function getFile(repoId, filePath, branchName) {
|
|
|
51
51
|
if (item?.readable) {
|
|
52
52
|
const fileContent = await (0, streams_1.streamToString)(item);
|
|
53
53
|
try {
|
|
54
|
-
const result = schema_1.
|
|
54
|
+
const result = schema_1.WrappedException.safeParse(fileContent);
|
|
55
55
|
if (result.success) {
|
|
56
56
|
if (result.data.typeKey === 'GitItemNotFoundException') {
|
|
57
57
|
logger_1.logger.warn({ filePath }, 'Unable to find file');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"azure-helper.js","sourceRoot":"","sources":["../../../../lib/modules/platform/azure/azure-helper.ts"],"names":[],"mappings":"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","sourcesContent":["import type { WebApiTeam } from 'azure-devops-node-api/interfaces/CoreInterfaces.js';\nimport type {\n GitCommit,\n GitRef,\n} from 'azure-devops-node-api/interfaces/GitInterfaces.js';\nimport { GitPullRequestMergeStrategy } from 'azure-devops-node-api/interfaces/GitInterfaces.js';\nimport { logger } from '../../../logger';\nimport { streamToString } from '../../../util/streams';\nimport { getNewBranchName } from '../util';\nimport * as azureApi from './azure-got-wrapper';\nimport { WrappedExceptionSchema } from './schema';\nimport {\n getBranchNameWithoutRefsPrefix,\n getBranchNameWithoutRefsheadsPrefix,\n} from './util';\n\nconst mergePolicyGuid = 'fa4e907d-c16b-4a4c-9dfa-4916e5d171ab'; // Magic GUID for merge strategy policy configurations\n\nexport async function getRefs(\n repoId: string,\n branchName?: string,\n): Promise<GitRef[]> {\n logger.debug(`getRefs(${repoId}, ${branchName!})`);\n const azureApiGit = await azureApi.gitApi();\n const refs = await azureApiGit.getRefs(\n repoId,\n undefined,\n getBranchNameWithoutRefsPrefix(branchName),\n );\n return refs;\n}\n\nexport interface AzureBranchObj {\n name: string;\n oldObjectId: string;\n}\n\nexport async function getAzureBranchObj(\n repoId: string,\n branchName: string,\n from?: string,\n): Promise<AzureBranchObj> {\n const fromBranchName = getNewBranchName(from);\n const refs = await getRefs(repoId, fromBranchName);\n if (refs.length === 0) {\n logger.debug(`getAzureBranchObj without a valid from, so initial commit.`);\n // TODO: fix undefined\n return {\n name: getNewBranchName(branchName)!,\n oldObjectId: '0000000000000000000000000000000000000000',\n };\n }\n return {\n // TODO: fix undefined (#22198)\n name: getNewBranchName(branchName)!,\n oldObjectId: refs[0].objectId!,\n };\n}\n\n// if no branchName, look globally\nexport async function getFile(\n repoId: string,\n filePath: string,\n branchName: string,\n): Promise<string | null> {\n logger.trace(`getFile(filePath=${filePath}, branchName=${branchName})`);\n const azureApiGit = await azureApi.gitApi();\n const item = await azureApiGit.getItemText(\n repoId,\n filePath,\n undefined,\n undefined,\n 0, // because we look for 1 file\n false,\n false,\n true,\n {\n versionType: 0, // branch\n versionOptions: 0,\n version: getBranchNameWithoutRefsheadsPrefix(branchName),\n },\n );\n\n if (item?.readable) {\n const fileContent = await streamToString(item);\n try {\n const result = WrappedExceptionSchema.safeParse(fileContent);\n if (result.success) {\n if (result.data.typeKey === 'GitItemNotFoundException') {\n logger.warn({ filePath }, 'Unable to find file');\n return null;\n }\n if (result.data.typeKey === 'GitUnresolvableToCommitException') {\n logger.warn({ branchName }, 'Unable to find branch');\n return null;\n }\n }\n } catch /* v8 ignore start */ {\n // it 's not a JSON, so I send the content directly with the line under\n } /* v8 ignore stop */\n\n return fileContent;\n }\n\n return null; // no file found\n}\n\nexport async function getCommitDetails(\n commit: string,\n repoId: string,\n): Promise<GitCommit> {\n logger.debug(`getCommitDetails(${commit}, ${repoId})`);\n const azureApiGit = await azureApi.gitApi();\n const results = await azureApiGit.getCommit(commit, repoId);\n return results;\n}\n\nexport async function getMergeMethod(\n repoId: string,\n project: string,\n branchRef?: string | null,\n defaultBranch?: string,\n): Promise<GitPullRequestMergeStrategy> {\n logger.debug(\n `getMergeMethod(branchRef=${branchRef}, defaultBranch=${defaultBranch})`,\n );\n interface Scope {\n repositoryId: string;\n refName?: string;\n matchKind: 'Prefix' | 'Exact' | 'DefaultBranch';\n }\n const isRelevantScope = (scope: Scope): boolean => {\n if (\n scope.matchKind === 'DefaultBranch' &&\n // TODO: types (#22198)\n (!branchRef || branchRef === `refs/heads/${defaultBranch!}`)\n ) {\n return true;\n }\n if (scope.repositoryId !== repoId && scope.repositoryId !== null) {\n return false;\n }\n if (!branchRef) {\n return true;\n }\n // TODO #22198\n return scope.matchKind === 'Exact'\n ? scope.refName === branchRef\n : branchRef.startsWith(scope.refName!);\n };\n\n const policyConfigurations = (\n await (\n await azureApi.policyApi()\n ).getPolicyConfigurations(project, undefined, mergePolicyGuid)\n )\n .filter((p) => p.settings.scope.some(isRelevantScope))\n .map((p) => p.settings)[0];\n\n logger.debug(\n // TODO: types (#22198)\n `getMergeMethod(branchRef=${branchRef!}) determining mergeMethod from matched policy:\\n${JSON.stringify(\n policyConfigurations,\n null,\n 4,\n )}`,\n );\n\n try {\n // TODO: fix me, wrong types\n return Object.keys(policyConfigurations)\n .map(\n (p) =>\n GitPullRequestMergeStrategy[\n p.slice(5) as never\n ] as never as GitPullRequestMergeStrategy,\n )\n .find((p) => p)!;\n } catch {\n return GitPullRequestMergeStrategy.NoFastForward;\n }\n}\n\nexport async function getAllProjectTeams(\n projectId: string,\n): Promise<WebApiTeam[]> {\n const allTeams: WebApiTeam[] = [];\n const azureApiCore = await azureApi.coreApi();\n const top = 100;\n let skip = 0;\n let length = 0;\n\n do {\n const teams = await azureApiCore.getTeams(projectId, undefined, top, skip);\n length = teams.length;\n allTeams.push(...teams);\n skip += top;\n } while (top <= length);\n\n return allTeams;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"azure-helper.js","sourceRoot":"","sources":["../../../../lib/modules/platform/azure/azure-helper.ts"],"names":[],"mappings":";;AAkBA,0BAYC;AAOD,8CAoBC;AAGD,0BA6CC;AAED,4CAQC;AAED,wCAgEC;AAED,gDAiBC;;AAnMD,wFAAgG;AAChG,4CAAyC;AACzC,mDAAuD;AACvD,kCAA2C;AAC3C,sEAAgD;AAChD,qCAA4C;AAC5C,iCAGgB;AAEhB,MAAM,eAAe,GAAG,sCAAsC,CAAC,CAAC,sDAAsD;AAE/G,KAAK,UAAU,OAAO,CAC3B,MAAc,EACd,UAAmB;IAEnB,eAAM,CAAC,KAAK,CAAC,WAAW,MAAM,KAAK,UAAW,GAAG,CAAC,CAAC;IACnD,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO,CACpC,MAAM,EACN,SAAS,EACT,IAAA,qCAA8B,EAAC,UAAU,CAAC,CAC3C,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC;AAOM,KAAK,UAAU,iBAAiB,CACrC,MAAc,EACd,UAAkB,EAClB,IAAa;IAEb,MAAM,cAAc,GAAG,IAAA,uBAAgB,EAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACnD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,eAAM,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAC3E,sBAAsB;QACtB,OAAO;YACL,IAAI,EAAE,IAAA,uBAAgB,EAAC,UAAU,CAAE;YACnC,WAAW,EAAE,0CAA0C;SACxD,CAAC;IACJ,CAAC;IACD,OAAO;QACL,+BAA+B;QAC/B,IAAI,EAAE,IAAA,uBAAgB,EAAC,UAAU,CAAE;QACnC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,QAAS;KAC/B,CAAC;AACJ,CAAC;AAED,kCAAkC;AAC3B,KAAK,UAAU,OAAO,CAC3B,MAAc,EACd,QAAgB,EAChB,UAAkB;IAElB,eAAM,CAAC,KAAK,CAAC,oBAAoB,QAAQ,gBAAgB,UAAU,GAAG,CAAC,CAAC;IACxE,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,WAAW,CACxC,MAAM,EACN,QAAQ,EACR,SAAS,EACT,SAAS,EACT,CAAC,EAAE,6BAA6B;IAChC,KAAK,EACL,KAAK,EACL,IAAI,EACJ;QACE,WAAW,EAAE,CAAC,EAAE,SAAS;QACzB,cAAc,EAAE,CAAC;QACjB,OAAO,EAAE,IAAA,0CAAmC,EAAC,UAAU,CAAC;KACzD,CACF,CAAC;IAEF,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC;QACnB,MAAM,WAAW,GAAG,MAAM,IAAA,wBAAc,EAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,yBAAgB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YACvD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,0BAA0B,EAAE,CAAC;oBACvD,eAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,qBAAqB,CAAC,CAAC;oBACjD,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,kCAAkC,EAAE,CAAC;oBAC/D,eAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,uBAAuB,CAAC,CAAC;oBACrD,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,qBAAqB,CAAC,CAAC;YAC7B,uEAAuE;QACzE,CAAC,CAAC,oBAAoB;QAEtB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,OAAO,IAAI,CAAC,CAAC,gBAAgB;AAC/B,CAAC;AAEM,KAAK,UAAU,gBAAgB,CACpC,MAAc,EACd,MAAc;IAEd,eAAM,CAAC,KAAK,CAAC,oBAAoB,MAAM,KAAK,MAAM,GAAG,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5D,OAAO,OAAO,CAAC;AACjB,CAAC;AAEM,KAAK,UAAU,cAAc,CAClC,MAAc,EACd,OAAe,EACf,SAAyB,EACzB,aAAsB;IAEtB,eAAM,CAAC,KAAK,CACV,4BAA4B,SAAS,mBAAmB,aAAa,GAAG,CACzE,CAAC;IAMF,MAAM,eAAe,GAAG,CAAC,KAAY,EAAW,EAAE;QAChD,IACE,KAAK,CAAC,SAAS,KAAK,eAAe;YACnC,uBAAuB;YACvB,CAAC,CAAC,SAAS,IAAI,SAAS,KAAK,cAAc,aAAc,EAAE,CAAC,EAC5D,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,KAAK,CAAC,YAAY,KAAK,MAAM,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YACjE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QACD,cAAc;QACd,OAAO,KAAK,CAAC,SAAS,KAAK,OAAO;YAChC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS;YAC7B,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,OAAQ,CAAC,CAAC;IAC3C,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,CAC3B,MAAM,CACJ,MAAM,QAAQ,CAAC,SAAS,EAAE,CAC3B,CAAC,uBAAuB,CAAC,OAAO,EAAE,SAAS,EAAE,eAAe,CAAC,CAC/D;SACE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACrD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7B,eAAM,CAAC,KAAK;IACV,uBAAuB;IACvB,4BAA4B,SAAU,mDAAmD,IAAI,CAAC,SAAS,CACrG,oBAAoB,EACpB,IAAI,EACJ,CAAC,CACF,EAAE,CACJ,CAAC;IAEF,IAAI,CAAC;QACH,4BAA4B;QAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC;aACrC,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,8CAA2B,CACzB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAU,CACoB,CAC5C;aACA,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAE,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,8CAA2B,CAAC,aAAa,CAAC;IACnD,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,kBAAkB,CACtC,SAAiB;IAEjB,MAAM,QAAQ,GAAiB,EAAE,CAAC;IAClC,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC9C,MAAM,GAAG,GAAG,GAAG,CAAC;IAChB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,GAAG,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAC3E,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QACxB,IAAI,IAAI,GAAG,CAAC;IACd,CAAC,QAAQ,GAAG,IAAI,MAAM,EAAE;IAExB,OAAO,QAAQ,CAAC;AAClB,CAAC","sourcesContent":["import type { WebApiTeam } from 'azure-devops-node-api/interfaces/CoreInterfaces.js';\nimport type {\n GitCommit,\n GitRef,\n} from 'azure-devops-node-api/interfaces/GitInterfaces.js';\nimport { GitPullRequestMergeStrategy } from 'azure-devops-node-api/interfaces/GitInterfaces.js';\nimport { logger } from '../../../logger';\nimport { streamToString } from '../../../util/streams';\nimport { getNewBranchName } from '../util';\nimport * as azureApi from './azure-got-wrapper';\nimport { WrappedException } from './schema';\nimport {\n getBranchNameWithoutRefsPrefix,\n getBranchNameWithoutRefsheadsPrefix,\n} from './util';\n\nconst mergePolicyGuid = 'fa4e907d-c16b-4a4c-9dfa-4916e5d171ab'; // Magic GUID for merge strategy policy configurations\n\nexport async function getRefs(\n repoId: string,\n branchName?: string,\n): Promise<GitRef[]> {\n logger.debug(`getRefs(${repoId}, ${branchName!})`);\n const azureApiGit = await azureApi.gitApi();\n const refs = await azureApiGit.getRefs(\n repoId,\n undefined,\n getBranchNameWithoutRefsPrefix(branchName),\n );\n return refs;\n}\n\nexport interface AzureBranchObj {\n name: string;\n oldObjectId: string;\n}\n\nexport async function getAzureBranchObj(\n repoId: string,\n branchName: string,\n from?: string,\n): Promise<AzureBranchObj> {\n const fromBranchName = getNewBranchName(from);\n const refs = await getRefs(repoId, fromBranchName);\n if (refs.length === 0) {\n logger.debug(`getAzureBranchObj without a valid from, so initial commit.`);\n // TODO: fix undefined\n return {\n name: getNewBranchName(branchName)!,\n oldObjectId: '0000000000000000000000000000000000000000',\n };\n }\n return {\n // TODO: fix undefined (#22198)\n name: getNewBranchName(branchName)!,\n oldObjectId: refs[0].objectId!,\n };\n}\n\n// if no branchName, look globally\nexport async function getFile(\n repoId: string,\n filePath: string,\n branchName: string,\n): Promise<string | null> {\n logger.trace(`getFile(filePath=${filePath}, branchName=${branchName})`);\n const azureApiGit = await azureApi.gitApi();\n const item = await azureApiGit.getItemText(\n repoId,\n filePath,\n undefined,\n undefined,\n 0, // because we look for 1 file\n false,\n false,\n true,\n {\n versionType: 0, // branch\n versionOptions: 0,\n version: getBranchNameWithoutRefsheadsPrefix(branchName),\n },\n );\n\n if (item?.readable) {\n const fileContent = await streamToString(item);\n try {\n const result = WrappedException.safeParse(fileContent);\n if (result.success) {\n if (result.data.typeKey === 'GitItemNotFoundException') {\n logger.warn({ filePath }, 'Unable to find file');\n return null;\n }\n if (result.data.typeKey === 'GitUnresolvableToCommitException') {\n logger.warn({ branchName }, 'Unable to find branch');\n return null;\n }\n }\n } catch /* v8 ignore start */ {\n // it 's not a JSON, so I send the content directly with the line under\n } /* v8 ignore stop */\n\n return fileContent;\n }\n\n return null; // no file found\n}\n\nexport async function getCommitDetails(\n commit: string,\n repoId: string,\n): Promise<GitCommit> {\n logger.debug(`getCommitDetails(${commit}, ${repoId})`);\n const azureApiGit = await azureApi.gitApi();\n const results = await azureApiGit.getCommit(commit, repoId);\n return results;\n}\n\nexport async function getMergeMethod(\n repoId: string,\n project: string,\n branchRef?: string | null,\n defaultBranch?: string,\n): Promise<GitPullRequestMergeStrategy> {\n logger.debug(\n `getMergeMethod(branchRef=${branchRef}, defaultBranch=${defaultBranch})`,\n );\n interface Scope {\n repositoryId: string;\n refName?: string;\n matchKind: 'Prefix' | 'Exact' | 'DefaultBranch';\n }\n const isRelevantScope = (scope: Scope): boolean => {\n if (\n scope.matchKind === 'DefaultBranch' &&\n // TODO: types (#22198)\n (!branchRef || branchRef === `refs/heads/${defaultBranch!}`)\n ) {\n return true;\n }\n if (scope.repositoryId !== repoId && scope.repositoryId !== null) {\n return false;\n }\n if (!branchRef) {\n return true;\n }\n // TODO #22198\n return scope.matchKind === 'Exact'\n ? scope.refName === branchRef\n : branchRef.startsWith(scope.refName!);\n };\n\n const policyConfigurations = (\n await (\n await azureApi.policyApi()\n ).getPolicyConfigurations(project, undefined, mergePolicyGuid)\n )\n .filter((p) => p.settings.scope.some(isRelevantScope))\n .map((p) => p.settings)[0];\n\n logger.debug(\n // TODO: types (#22198)\n `getMergeMethod(branchRef=${branchRef!}) determining mergeMethod from matched policy:\\n${JSON.stringify(\n policyConfigurations,\n null,\n 4,\n )}`,\n );\n\n try {\n // TODO: fix me, wrong types\n return Object.keys(policyConfigurations)\n .map(\n (p) =>\n GitPullRequestMergeStrategy[\n p.slice(5) as never\n ] as never as GitPullRequestMergeStrategy,\n )\n .find((p) => p)!;\n } catch {\n return GitPullRequestMergeStrategy.NoFastForward;\n }\n}\n\nexport async function getAllProjectTeams(\n projectId: string,\n): Promise<WebApiTeam[]> {\n const allTeams: WebApiTeam[] = [];\n const azureApiCore = await azureApi.coreApi();\n const top = 100;\n let skip = 0;\n let length = 0;\n\n do {\n const teams = await azureApiCore.getTeams(projectId, undefined, top, skip);\n length = teams.length;\n allTeams.push(...teams);\n skip += top;\n } while (top <= length);\n\n return allTeams;\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { WrappedException } from 'azure-devops-node-api/interfaces/common/VSSInterfaces';
|
|
1
|
+
import type { WrappedException as _WrappedException } from 'azure-devops-node-api/interfaces/common/VSSInterfaces';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
declare const
|
|
4
|
-
export declare const
|
|
3
|
+
declare const _WrappedException: z.ZodSchema<_WrappedException>;
|
|
4
|
+
export declare const WrappedException: z.ZodPipeline<z.ZodEffects<z.ZodString, string | number | boolean | import("type-fest", { with: { "resolution-mode": "import" } }).JsonObject | import("type-fest", { with: { "resolution-mode": "import" } }).JsonValue[] | readonly import("type-fest", { with: { "resolution-mode": "import" } }).JsonValue[] | null, string>, z.ZodType<_WrappedException, z.ZodTypeDef, _WrappedException>>;
|
|
5
5
|
export {};
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.WrappedException = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const schema_utils_1 = require("../../../util/schema-utils");
|
|
6
|
-
const
|
|
6
|
+
const _WrappedException = zod_1.z.lazy(() => zod_1.z.object({
|
|
7
7
|
customProperties: zod_1.z.record(zod_1.z.any()).optional(),
|
|
8
8
|
errorCode: zod_1.z.number().optional(),
|
|
9
9
|
eventId: zod_1.z.number().optional(),
|
|
10
10
|
helpLink: zod_1.z.string().optional(),
|
|
11
|
-
innerException:
|
|
11
|
+
innerException: _WrappedException.optional(),
|
|
12
12
|
message: zod_1.z.string().optional(),
|
|
13
13
|
stackTrace: zod_1.z.string().optional(),
|
|
14
14
|
typeKey: zod_1.z.string().optional(),
|
|
15
15
|
typeName: zod_1.z.string().optional(),
|
|
16
16
|
}));
|
|
17
|
-
exports.
|
|
17
|
+
exports.WrappedException = schema_utils_1.Json.pipe(_WrappedException);
|
|
18
18
|
//# sourceMappingURL=schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/platform/azure/schema.ts"],"names":[],"mappings":";;;AACA,6BAAwB;AACxB,6DAAkD;AAElD,MAAM,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/platform/azure/schema.ts"],"names":[],"mappings":";;;AACA,6BAAwB;AACxB,6DAAkD;AAElD,MAAM,iBAAiB,GAAmC,OAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACpE,OAAC,CAAC,MAAM,CAAC;IACP,gBAAgB,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC9C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,cAAc,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IAC5C,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CACH,CAAC;AAEW,QAAA,gBAAgB,GAAG,mBAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC","sourcesContent":["import type { WrappedException as _WrappedException } from 'azure-devops-node-api/interfaces/common/VSSInterfaces';\nimport { z } from 'zod';\nimport { Json } from '../../../util/schema-utils';\n\nconst _WrappedException: z.ZodSchema<_WrappedException> = z.lazy(() =>\n z.object({\n customProperties: z.record(z.any()).optional(),\n errorCode: z.number().optional(),\n eventId: z.number().optional(),\n helpLink: z.string().optional(),\n innerException: _WrappedException.optional(),\n message: z.string().optional(),\n stackTrace: z.string().optional(),\n typeKey: z.string().optional(),\n typeName: z.string().optional(),\n }),\n);\n\nexport const WrappedException = Json.pipe(_WrappedException);\n"]}
|
|
@@ -273,7 +273,7 @@ async function findPr({ branchName, prTitle, state = 'all', includeOtherAuthors,
|
|
|
273
273
|
}
|
|
274
274
|
// Gets details for a PR
|
|
275
275
|
async function getPr(prNo) {
|
|
276
|
-
const pr = (await bitbucketHttp.getJsonUnchecked(`/2.0/repositories/${config.repository}/pullrequests/${prNo}`, { cacheProvider:
|
|
276
|
+
const pr = (await bitbucketHttp.getJsonUnchecked(`/2.0/repositories/${config.repository}/pullrequests/${prNo}`, { cacheProvider: repository_http_cache_provider_1.aggressiveRepoCacheProvider })).body;
|
|
277
277
|
/* v8 ignore start */
|
|
278
278
|
if (!pr) {
|
|
279
279
|
return null;
|
|
@@ -292,7 +292,7 @@ const escapeHash = (input) => input?.replace((0, regex_1.regEx)(/#/g), '%23');
|
|
|
292
292
|
// Return the commit SHA for a branch
|
|
293
293
|
async function getBranchCommit(branchName) {
|
|
294
294
|
try {
|
|
295
|
-
const branch = (await bitbucketHttp.getJsonUnchecked(`/2.0/repositories/${config.repository}/refs/branches/${escapeHash(branchName)}`, { cacheProvider:
|
|
295
|
+
const branch = (await bitbucketHttp.getJsonUnchecked(`/2.0/repositories/${config.repository}/refs/branches/${escapeHash(branchName)}`, { cacheProvider: repository_http_cache_provider_1.aggressiveRepoCacheProvider })).body;
|
|
296
296
|
return branch.target.hash;
|
|
297
297
|
}
|
|
298
298
|
catch (err) /* v8 ignore start */ {
|
|
@@ -314,7 +314,7 @@ async function getStatus(branchName, memCache = true) {
|
|
|
314
314
|
const opts = { paginate: true };
|
|
315
315
|
/* v8 ignore start: temporary code */
|
|
316
316
|
if (memCache) {
|
|
317
|
-
opts.cacheProvider =
|
|
317
|
+
opts.cacheProvider = repository_http_cache_provider_1.aggressiveRepoCacheProvider;
|
|
318
318
|
}
|
|
319
319
|
else {
|
|
320
320
|
opts.memCache = false;
|
|
@@ -369,8 +369,11 @@ async function setBranchStatus({ branchName, context, description, state, url: t
|
|
|
369
369
|
url,
|
|
370
370
|
};
|
|
371
371
|
await bitbucketHttp.postJson(`/2.0/repositories/${config.repository}/commit/${sha}/statuses/build`, { body });
|
|
372
|
-
//
|
|
373
|
-
|
|
372
|
+
// invalidate status cache
|
|
373
|
+
const branchStatusesUrl = bitbucketHttp
|
|
374
|
+
.resolveUrl(`/2.0/repositories/${config.repository}/commit/${sha}/statuses`)
|
|
375
|
+
.toString();
|
|
376
|
+
repository_http_cache_provider_1.aggressiveRepoCacheProvider.markSynced('get', branchStatusesUrl, false);
|
|
374
377
|
}
|
|
375
378
|
async function findOpenIssues(title) {
|
|
376
379
|
try {
|
|
@@ -382,7 +385,7 @@ async function findOpenIssues(title) {
|
|
|
382
385
|
filters.push(`reporter.uuid="${renovateUserUuid}"`);
|
|
383
386
|
}
|
|
384
387
|
const filter = encodeURIComponent(filters.join(' AND '));
|
|
385
|
-
return ((await bitbucketHttp.getJsonUnchecked(`/2.0/repositories/${config.repository}/issues?q=${filter}`, { cacheProvider:
|
|
388
|
+
return ((await bitbucketHttp.getJsonUnchecked(`/2.0/repositories/${config.repository}/issues?q=${filter}`, { cacheProvider: repository_http_cache_provider_1.aggressiveRepoCacheProvider })).body.values /* v8 ignore start */ || [] /* v8 ignore stop */);
|
|
386
389
|
}
|
|
387
390
|
catch (err) /* v8 ignore start */ {
|
|
388
391
|
logger_1.logger.warn({ err }, 'Error finding issues');
|
|
@@ -571,7 +574,7 @@ async function sanitizeReviewers(reviewers, err) {
|
|
|
571
574
|
logger_1.logger.debug({ err }, 'PR contains reviewers that may be either inactive or no longer a member of this workspace. Will try setting only active reviewers');
|
|
572
575
|
// Validate that each previous PR reviewer account is still active
|
|
573
576
|
for (const reviewer of reviewers) {
|
|
574
|
-
const reviewerUser = (await bitbucketHttp.getJsonUnchecked(`/2.0/users/${reviewer.uuid}`, { cacheProvider:
|
|
577
|
+
const reviewerUser = (await bitbucketHttp.getJsonUnchecked(`/2.0/users/${reviewer.uuid}`, { cacheProvider: repository_http_cache_provider_1.aggressiveRepoCacheProvider })).body;
|
|
575
578
|
if (reviewerUser.account_status === 'active') {
|
|
576
579
|
// There are cases where an active user may still not be a member of a workspace
|
|
577
580
|
if (await isAccountMemberOfWorkspace(reviewer, config.repository)) {
|
|
@@ -610,7 +613,7 @@ async function sanitizeReviewers(reviewers, err) {
|
|
|
610
613
|
async function isAccountMemberOfWorkspace(reviewer, repository) {
|
|
611
614
|
const workspace = repository.split('/')[0];
|
|
612
615
|
try {
|
|
613
|
-
await bitbucketHttp.get(`/2.0/workspaces/${workspace}/members/${reviewer.uuid}`, { cacheProvider:
|
|
616
|
+
await bitbucketHttp.get(`/2.0/workspaces/${workspace}/members/${reviewer.uuid}`, { cacheProvider: repository_http_cache_provider_1.aggressiveRepoCacheProvider });
|
|
614
617
|
return true;
|
|
615
618
|
}
|
|
616
619
|
catch (err) {
|
|
@@ -631,7 +634,7 @@ async function createPr({ sourceBranch, targetBranch, prTitle: title, prBody: de
|
|
|
631
634
|
if (platformPrOptions?.bbUseDefaultReviewers) {
|
|
632
635
|
const reviewersResponse = (await bitbucketHttp.getJsonUnchecked(`/2.0/repositories/${config.repository}/effective-default-reviewers`, {
|
|
633
636
|
paginate: true,
|
|
634
|
-
cacheProvider:
|
|
637
|
+
cacheProvider: repository_http_cache_provider_1.aggressiveRepoCacheProvider,
|
|
635
638
|
})).body;
|
|
636
639
|
reviewers = reviewersResponse.values.map((reviewer) => ({
|
|
637
640
|
uuid: reviewer.user.uuid,
|