renovate 42.0.0-next.2 → 42.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/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":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/go/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/go/index.ts"],"names":[],"mappings":";;;;AAAA,kEAAkC;AAClC,4CAAyC;AACzC,qEAA8D;AAC9D,2CAA2C;AAC3C,+CAA4C;AAC5C,qDAAgE;AAChE,2CAA6C;AAC7C,oDAAyD;AACzD,sDAA4D;AAC5D,8CAA2C;AAC3C,kDAAwD;AACxD,0CAAgD;AAChD,8CAAoD;AACpD,gDAAsD;AACtD,gDAAsD;AAEtD,iCAA0C;AAC1C,qDAAgD;AAChD,uDAAuD;AACvD,yDAAuD;AAEvD,MAAa,YAAa,SAAQ,uBAAU;IAC1C,MAAM,CAAU,EAAE,GAAG,IAAI,CAAC;IAER,iBAAiB,GAAG,WAAQ,CAAC;IAE/C;QACE,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC;IAEiB,aAAa,GAAG;QAChC,kBAAkB,EAAE,oBAAoB;KACzC,CAAC;IAEgB,qBAAqB,GAAG,KAAK,CAAC;IAE9B,uBAAuB,GAAG,IAAI,CAAC;IAC/B,oBAAoB,GACpC,gKAAgK,CAAC;IACjJ,gBAAgB,GAAG,SAAS,CAAC;IAC7B,aAAa,GAC7B,wEAAwE,CAAC;IAElE,OAAO,GAAG,IAAI,oCAAiB,EAAE,CAAC;IAClC,MAAM,GAAG,IAAI,oCAAkB,EAAE,CAAC;IAE3C,yDAAyD;IACzD,MAAM,CAAU,cAAc,GAAG,IAAA,aAAK,EACpC,iEAAiE,CAClE,CAAC;IAMF,WAAW,CAAC,MAAyB;QACnC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;;OASG;IAMY,AAAN,KAAK,CAAC,SAAS,CACtB,EAAE,WAAW,EAAgB,EAC7B,QAAiB;QAEjB,IAAI,IAAA,6BAAY,GAAE,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,CAAC,EAAE,CAAC;YACpD,eAAM,CAAC,KAAK,CACV,yBAAyB,WAAW,gCAAgC,CACrE,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,uBAAgB,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,gGAAgG;QAChG,4GAA4G;QAC5G,MAAM,GAAG,GACP,QAAQ;YACR,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC3C,QAAQ,KAAK,QAAQ;YACnB,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,SAAS,CAAC;QAEhB,QAAQ,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1B,KAAK,oCAAqB,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACpD,CAAC;YACD,KAAK,4BAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAChD,CAAC;YACD,KAAK,gCAAmB,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAClD,CAAC;YACD,KAAK,kCAAoB,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACnD,CAAC;YACD,KAAK,wCAAuB,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACtD,CAAC;YACD,KAAK,kCAAoB,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACnD,CAAC;YACD,0DAA0D;YAC1D,OAAO,CAAC,CAAC,CAAC;gBACR,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;;AAtGH,oCAuGC;AArEC;IALC,IAAA,iBAAK,EAAC;QACL,SAAS,EAAE,cAAc,YAAY,CAAC,EAAE,EAAE;QAC1C,uBAAuB;QACvB,GAAG,EAAE,CAAC,EAAE,WAAW,EAAqB,EAAE,EAAE,CAAC,eAAe,WAAW,EAAE;KAC1E,CAAC;+CAGD;AAiBc;IALd,IAAA,iBAAK,EAAC;QACL,SAAS,EAAE,cAAc,YAAY,CAAC,EAAE,EAAE;QAC1C,GAAG,EAAE,CAAC,EAAE,WAAW,EAAgB,EAAE,QAAiB,EAAE,EAAE,CACxD,aAAa,WAAW,IAAI,QAAQ,EAAE;KACzC,CAAC;6CAkDD;AAGH,MAAM,GAAG,GAAG,IAAA,YAAM,GAAE,CAAC;AACrB,qCAAqC;AACrC,IAAI,YAAE,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;IAC3B,MAAM,GAAG,GAAG,IAAA,cAAQ,EAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,GAAG,EAAE,QAAQ,EAAE,CAAC;QAClB,IAAA,iCAAsB,EAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACjD,CAAC;SAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,CAAC;QACzB,IAAA,iCAAsB,EAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AACD,oCAAoC","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { cache } from '../../../util/cache/package/decorator';\nimport { getEnv } from '../../../util/env';\nimport { regEx } from '../../../util/regex';\nimport { addSecretForSanitizing } from '../../../util/sanitize';\nimport { parseUrl } from '../../../util/url';\nimport { id as semverId } from '../../versioning/semver';\nimport { BitbucketTagsDatasource } from '../bitbucket-tags';\nimport { Datasource } from '../datasource';\nimport { ForgejoTagsDatasource } from '../forgejo-tags';\nimport { GitTagsDatasource } from '../git-tags';\nimport { GiteaTagsDatasource } from '../gitea-tags';\nimport { GithubTagsDatasource } from '../github-tags';\nimport { GitlabTagsDatasource } from '../gitlab-tags';\nimport type { DigestConfig, GetReleasesConfig, ReleaseResult } from '../types';\nimport { BaseGoDatasource } from './base';\nimport { parseGoproxy } from './goproxy-parser';\nimport { GoDirectDatasource } from './releases-direct';\nimport { GoProxyDatasource } from './releases-goproxy';\n\nexport class GoDatasource extends Datasource {\n static readonly id = 'go';\n\n override readonly defaultVersioning = semverId;\n\n constructor() {\n super(GoDatasource.id);\n }\n\n override readonly defaultConfig = {\n commitMessageTopic: 'module {{depName}}',\n };\n\n override readonly customRegistrySupport = false;\n\n override readonly releaseTimestampSupport = true;\n override readonly releaseTimestampNote =\n 'If the release timestamp is not returned from the respective datasoure used to fetch the releases, then Renovate uses the `Time` field in the results instead.';\n override readonly sourceUrlSupport = 'package';\n override readonly sourceUrlNote =\n 'The source URL is determined from the `packageName` and `registryUrl`.';\n\n readonly goproxy = new GoProxyDatasource();\n readonly direct = new GoDirectDatasource();\n\n // Pseudo versions https://go.dev/ref/mod#pseudo-versions\n static readonly pversionRegexp = regEx(\n /v\\d+\\.\\d+\\.\\d+-(?:\\w+\\.)?(?:0\\.)?\\d{14}-(?<digest>[a-f0-9]{12})/,\n );\n @cache({\n namespace: `datasource-${GoDatasource.id}`,\n // TODO: types (#22198)\n key: ({ packageName }: GetReleasesConfig) => `getReleases:${packageName}`,\n })\n getReleases(config: GetReleasesConfig): Promise<ReleaseResult | null> {\n return this.goproxy.getReleases(config);\n }\n\n /**\n * go.getDigest\n *\n * This datasource resolves a go module URL into its source repository\n * and then fetches the digest if it is on GitHub.\n *\n * This function will:\n * - Determine the source URL for the module\n * - Call the respective getDigest in github to retrieve the commit hash\n */\n @cache({\n namespace: `datasource-${GoDatasource.id}`,\n key: ({ packageName }: DigestConfig, newValue?: string) =>\n `getDigest:${packageName}:${newValue}`,\n })\n override async getDigest(\n { packageName }: DigestConfig,\n newValue?: string,\n ): Promise<string | null> {\n if (parseGoproxy().some(({ url }) => url === 'off')) {\n logger.debug(\n `Skip digest fetch for ${packageName} with GOPROXY containing \"off\"`,\n );\n return null;\n }\n\n const source = await BaseGoDatasource.getDatasource(packageName);\n if (!source) {\n return null;\n }\n\n // ignore vX.Y.Z-(0.)? pseudo versions that are used Go Modules - look up default branch instead\n // ignore v0.0.0 versions to fetch the digest of default branch, not the commit of non-existing tag `v0.0.0`\n const tag =\n newValue &&\n !GoDatasource.pversionRegexp.test(newValue) &&\n newValue !== 'v0.0.0'\n ? newValue\n : undefined;\n\n switch (source.datasource) {\n case ForgejoTagsDatasource.id: {\n return this.direct.forgejo.getDigest(source, tag);\n }\n case GitTagsDatasource.id: {\n return this.direct.git.getDigest(source, tag);\n }\n case GiteaTagsDatasource.id: {\n return this.direct.gitea.getDigest(source, tag);\n }\n case GithubTagsDatasource.id: {\n return this.direct.github.getDigest(source, tag);\n }\n case BitbucketTagsDatasource.id: {\n return this.direct.bitbucket.getDigest(source, tag);\n }\n case GitlabTagsDatasource.id: {\n return this.direct.gitlab.getDigest(source, tag);\n }\n /* v8 ignore next 3: can never happen, makes lint happy */\n default: {\n return null;\n }\n }\n }\n}\n\nconst env = getEnv();\n/* v8 ignore start -- hard to test */\nif (is.string(env.GOPROXY)) {\n const uri = parseUrl(env.GOPROXY);\n if (uri?.password) {\n addSecretForSanitizing(uri.password, 'global');\n } else if (uri?.username) {\n addSecretForSanitizing(uri.username, 'global');\n }\n}\n/* v8 ignore stop -- hard to test */\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BitbucketTagsDatasource } from '../bitbucket-tags';
|
|
2
2
|
import { Datasource } from '../datasource';
|
|
3
|
+
import { ForgejoTagsDatasource } from '../forgejo-tags';
|
|
3
4
|
import { GitTagsDatasource } from '../git-tags';
|
|
4
5
|
import { GiteaTagsDatasource } from '../gitea-tags';
|
|
5
6
|
import { GithubTagsDatasource } from '../github-tags';
|
|
@@ -7,6 +8,7 @@ import { GitlabTagsDatasource } from '../gitlab-tags';
|
|
|
7
8
|
import type { GetReleasesConfig, ReleaseResult } from '../types';
|
|
8
9
|
export declare class GoDirectDatasource extends Datasource {
|
|
9
10
|
static readonly id = "go-direct";
|
|
11
|
+
readonly forgejo: ForgejoTagsDatasource;
|
|
10
12
|
git: GitTagsDatasource;
|
|
11
13
|
readonly gitea: GiteaTagsDatasource;
|
|
12
14
|
github: GithubTagsDatasource;
|
|
@@ -7,6 +7,7 @@ const decorator_1 = require("../../../util/cache/package/decorator");
|
|
|
7
7
|
const regex_1 = require("../../../util/regex");
|
|
8
8
|
const bitbucket_tags_1 = require("../bitbucket-tags");
|
|
9
9
|
const datasource_1 = require("../datasource");
|
|
10
|
+
const forgejo_tags_1 = require("../forgejo-tags");
|
|
10
11
|
const git_tags_1 = require("../git-tags");
|
|
11
12
|
const gitea_tags_1 = require("../gitea-tags");
|
|
12
13
|
const github_tags_1 = require("../github-tags");
|
|
@@ -53,6 +54,7 @@ function filterByPrefix(packageName, releases) {
|
|
|
53
54
|
}
|
|
54
55
|
class GoDirectDatasource extends datasource_1.Datasource {
|
|
55
56
|
static id = 'go-direct';
|
|
57
|
+
forgejo = new forgejo_tags_1.ForgejoTagsDatasource();
|
|
56
58
|
git;
|
|
57
59
|
gitea = new gitea_tags_1.GiteaTagsDatasource();
|
|
58
60
|
github;
|
|
@@ -86,6 +88,10 @@ class GoDirectDatasource extends datasource_1.Datasource {
|
|
|
86
88
|
return null;
|
|
87
89
|
}
|
|
88
90
|
switch (source.datasource) {
|
|
91
|
+
case forgejo_tags_1.ForgejoTagsDatasource.id: {
|
|
92
|
+
res = await this.forgejo.getReleases(source);
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
89
95
|
case git_tags_1.GitTagsDatasource.id: {
|
|
90
96
|
res = await this.git.getReleases(source);
|
|
91
97
|
break;
|
|
@@ -115,7 +121,7 @@ class GoDirectDatasource extends datasource_1.Datasource {
|
|
|
115
121
|
if (!res) {
|
|
116
122
|
return null;
|
|
117
123
|
}
|
|
118
|
-
const sourceUrl = (0, common_1.getSourceUrl)(source) ?? null;
|
|
124
|
+
const sourceUrl = res.sourceUrl ?? (0, common_1.getSourceUrl)(source) ?? null;
|
|
119
125
|
return {
|
|
120
126
|
...res,
|
|
121
127
|
releases: filterByPrefix(packageName, res.releases),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"releases-direct.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/go/releases-direct.ts"],"names":[],"mappings":";;;;AAAA,4CAAyC;AACzC,qEAA8D;AAC9D,+CAA4C;AAC5C,sDAA4D;AAC5D,8CAA2C;AAC3C,0CAAgD;AAChD,8CAAoD;AACpD,gDAAsD;AACtD,gDAAsD;AAEtD,iCAA0C;AAC1C,qCAAwC;AAExC;;;;;;;;;;;GAWG;AACH,SAAS,cAAc,CAAC,WAAmB,EAAE,QAAmB;IAC9D,MAAM,SAAS,GAAG,WAAW;SAC1B,OAAO,CAAC,IAAA,aAAK,EAAC,SAAS,CAAC,EAAE,EAAE,CAAC;SAC7B,KAAK,CAAC,GAAG,CAAC;SACV,KAAK,CAAC,CAAC,CAAC,CAAC;IAEZ,MAAM,iBAAiB,GAAc,EAAE,CAAC;IACxC,OAAO,SAAS,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QAEzC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxC,SAAS;YACX,CAAC;YAED,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC9D,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAA,aAAK,EAAC,WAAW,CAAC,CAAC,EAAE,CAAC;gBACjD,SAAS;YACX,CAAC;YAED,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACtD,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAC7B,OAAO,iBAAiB,CAAC;QAC3B,CAAC;QAED,SAAS,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,MAAa,kBAAmB,SAAQ,uBAAU;IAChD,MAAM,CAAU,EAAE,GAAG,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"releases-direct.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/go/releases-direct.ts"],"names":[],"mappings":"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","sourcesContent":["import { logger } from '../../../logger';\nimport { cache } from '../../../util/cache/package/decorator';\nimport { regEx } from '../../../util/regex';\nimport { BitbucketTagsDatasource } from '../bitbucket-tags';\nimport { Datasource } from '../datasource';\nimport { ForgejoTagsDatasource } from '../forgejo-tags';\nimport { GitTagsDatasource } from '../git-tags';\nimport { GiteaTagsDatasource } from '../gitea-tags';\nimport { GithubTagsDatasource } from '../github-tags';\nimport { GitlabTagsDatasource } from '../gitlab-tags';\nimport type { GetReleasesConfig, Release, ReleaseResult } from '../types';\nimport { BaseGoDatasource } from './base';\nimport { getSourceUrl } from './common';\n\n/**\n * This function tries to select tags with longest prefix could be constructed from `packageName`.\n *\n * For package named `example.com/foo/bar/baz/qux`, it will try to detect tags with following prefixes:\n *\n * - `foo/bar/baz/qux/vX.Y.Z`\n * - `bar/baz/qux/vX.Y.Z`\n * - `baz/qux/vX.Y.Z`\n * - `qux/vX.Y.Z`\n *\n * If none of the following is found, it falls back to simply returning all tags like `vX.Y.Z`.\n */\nfunction filterByPrefix(packageName: string, releases: Release[]): Release[] {\n const nameParts = packageName\n .replace(regEx(/\\/v\\d+$/), '')\n .split('/')\n .slice(1);\n\n const submoduleReleases: Release[] = [];\n while (nameParts.length) {\n const prefix = `${nameParts.join('/')}/`;\n\n for (const release of releases) {\n if (!release.version.startsWith(prefix)) {\n continue;\n }\n\n const normalizedVersion = release.version.replace(prefix, '');\n if (!normalizedVersion.match(regEx(/^v\\d[^/]*/))) {\n continue;\n }\n\n release.version = release.version.replace(prefix, '');\n submoduleReleases.push(release);\n }\n\n if (submoduleReleases.length) {\n return submoduleReleases;\n }\n\n nameParts.shift();\n }\n\n return releases.filter((release) => release.version.startsWith('v'));\n}\n\nexport class GoDirectDatasource extends Datasource {\n static readonly id = 'go-direct';\n\n readonly forgejo = new ForgejoTagsDatasource();\n git: GitTagsDatasource;\n readonly gitea = new GiteaTagsDatasource();\n github: GithubTagsDatasource;\n gitlab: GitlabTagsDatasource;\n bitbucket: BitbucketTagsDatasource;\n\n constructor() {\n super(GoDirectDatasource.id);\n this.git = new GitTagsDatasource();\n this.github = new GithubTagsDatasource();\n this.gitlab = new GitlabTagsDatasource();\n this.bitbucket = new BitbucketTagsDatasource();\n }\n\n /**\n * go.getReleases\n *\n * This datasource resolves a go module URL into its source repository\n * and then fetch it if it is on GitHub.\n *\n * This function will:\n * - Determine the source URL for the module\n * - Call the respective getReleases in github/gitlab to retrieve the tags\n * - Filter module tags according to the module path\n */\n @cache({\n namespace: `datasource-${GoDirectDatasource.id}`,\n key: ({ packageName }: GetReleasesConfig) => packageName,\n })\n async getReleases(config: GetReleasesConfig): Promise<ReleaseResult | null> {\n const { packageName } = config;\n\n let res: ReleaseResult | null = null;\n\n logger.trace(`go.getReleases(${packageName})`);\n const source = await BaseGoDatasource.getDatasource(packageName);\n\n if (!source) {\n logger.info(\n { packageName },\n 'Unsupported go host - cannot look up versions',\n );\n return null;\n }\n\n switch (source.datasource) {\n case ForgejoTagsDatasource.id: {\n res = await this.forgejo.getReleases(source);\n break;\n }\n case GitTagsDatasource.id: {\n res = await this.git.getReleases(source);\n break;\n }\n case GiteaTagsDatasource.id: {\n res = await this.gitea.getReleases(source);\n break;\n }\n case GithubTagsDatasource.id: {\n res = await this.github.getReleases(source);\n break;\n }\n case GitlabTagsDatasource.id: {\n res = await this.gitlab.getReleases(source);\n break;\n }\n case BitbucketTagsDatasource.id: {\n res = await this.bitbucket.getReleases(source);\n break;\n }\n /* v8 ignore next 3 -- should never happen */\n default: {\n return null;\n }\n }\n\n /* v8 ignore next 3 -- TODO: add test */\n if (!res) {\n return null;\n }\n\n const sourceUrl = res.sourceUrl ?? getSourceUrl(source) ?? null;\n\n return {\n ...res,\n releases: filterByPrefix(packageName, res.releases),\n sourceUrl,\n };\n }\n}\n"]}
|
|
@@ -152,7 +152,7 @@ class GoProxyDatasource extends datasource_1.Datasource {
|
|
|
152
152
|
const isGopkgin = packageName.startsWith('gopkg.in/');
|
|
153
153
|
const majorSuffixSeparator = isGopkgin ? '.' : '/';
|
|
154
154
|
const modParts = packageName.match(modRegex)?.groups;
|
|
155
|
-
const baseMod = modParts?.baseMod ?? /*
|
|
155
|
+
const baseMod = modParts?.baseMod ?? /* v8 ignore next */ packageName;
|
|
156
156
|
const packageMajor = parseInt(modParts?.majorVersion ?? '0');
|
|
157
157
|
const result = { releases: [] };
|
|
158
158
|
for (let major = packageMajor;; major += 1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"releases-goproxy.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/go/releases-goproxy.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { ExternalHostError } from '../../../types/errors/external-host-error';\nimport { cache } from '../../../util/cache/package/decorator';\nimport { getEnv } from '../../../util/env';\nimport { filterMap } from '../../../util/filter-map';\nimport { HttpError } from '../../../util/http';\nimport * as p from '../../../util/promises';\nimport { newlineRegex, regEx } from '../../../util/regex';\nimport { asTimestamp } from '../../../util/timestamp';\nimport { joinUrlParts } from '../../../util/url';\nimport goVersioning from '../../versioning/go-mod-directive';\nimport { Datasource } from '../datasource';\nimport type { GetReleasesConfig, Release, ReleaseResult } from '../types';\nimport { BaseGoDatasource } from './base';\nimport { getSourceUrl } from './common';\nimport { parseGoproxy, parseNoproxy } from './goproxy-parser';\nimport { GoDirectDatasource } from './releases-direct';\nimport type { VersionInfo } from './types';\n\nconst modRegex = regEx(/^(?<baseMod>.*?)(?:[./]v(?<majorVersion>\\d+))?$/);\n\n/**\n * @see https://go.dev/ref/mod#pseudo-versions\n */\nconst pseudoVersionRegex = regEx(\n /v\\d+\\.\\d+\\.\\d+-(?:\\w+\\.)?(?:0\\.)?(?<timestamp>\\d{14})-(?<digest>[a-f0-9]{12})/i,\n);\n\nexport function pseudoVersionToRelease(pseudoVersion: string): Release | null {\n const match = pseudoVersion.match(pseudoVersionRegex)?.groups;\n if (!match) {\n return null;\n }\n\n const { digest: newDigest, timestamp } = match;\n const releaseTimestamp = asTimestamp(timestamp);\n\n return {\n version: pseudoVersion,\n newDigest,\n releaseTimestamp,\n };\n}\n\nexport class GoProxyDatasource extends Datasource {\n static readonly id = 'go-proxy';\n\n constructor() {\n super(GoProxyDatasource.id);\n }\n\n readonly direct = new GoDirectDatasource();\n\n @cache({\n namespace: `datasource-${GoProxyDatasource.id}`,\n key: (config: GetReleasesConfig) => GoProxyDatasource.getCacheKey(config),\n })\n async getReleases(config: GetReleasesConfig): Promise<ReleaseResult | null> {\n const { packageName } = config;\n logger.trace(`goproxy.getReleases(${packageName})`);\n const goproxy = getEnv().GOPROXY ?? 'https://proxy.golang.org,direct';\n if (goproxy === 'direct') {\n return this.direct.getReleases(config);\n }\n const proxyList = parseGoproxy(goproxy);\n const noproxy = parseNoproxy();\n\n let result: ReleaseResult | null = null;\n\n if (noproxy?.test(packageName)) {\n logger.debug(`Fetching ${packageName} via GONOPROXY match`);\n result = await this.direct.getReleases(config);\n return result;\n }\n\n for (const { url, fallback } of proxyList) {\n try {\n if (url === 'off') {\n break;\n } else if (url === 'direct') {\n result = await this.direct.getReleases(config);\n break;\n }\n\n const res = await this.getVersionsWithInfo(url, packageName);\n if (res.releases.length) {\n result = res;\n break;\n }\n } catch (err) {\n const potentialHttpError =\n err instanceof ExternalHostError ? err.err : err;\n const statusCode = potentialHttpError?.response?.statusCode;\n const canFallback =\n fallback === '|' ? true : statusCode === 404 || statusCode === 410;\n const msg = canFallback\n ? 'Goproxy error: trying next URL provided with GOPROXY'\n : 'Goproxy error: skipping other URLs provided with GOPROXY';\n logger.debug({ err }, msg);\n if (!canFallback) {\n break;\n }\n }\n }\n\n if (result && !result.sourceUrl) {\n try {\n const datasource = await BaseGoDatasource.getDatasource(packageName);\n const sourceUrl = getSourceUrl(datasource);\n if (sourceUrl) {\n result.sourceUrl = sourceUrl;\n }\n } catch (err) {\n logger.trace({ err }, `Can't get datasource for ${packageName}`);\n }\n }\n\n return result;\n }\n\n /**\n * Avoid ambiguity when serving from case-insensitive file systems.\n *\n * @see https://golang.org/ref/mod#goproxy-protocol\n */\n encodeCase(input: string): string {\n return input.replace(regEx(/([A-Z])/g), (x) => `!${x.toLowerCase()}`);\n }\n\n async listVersions(baseUrl: string, packageName: string): Promise<Release[]> {\n const url = joinUrlParts(\n baseUrl,\n this.encodeCase(packageName),\n '@v',\n 'list',\n );\n const { body } = await this.http.getText(url);\n return filterMap(body.split(newlineRegex), (str) => {\n if (!is.nonEmptyStringAndNotWhitespace(str)) {\n return null;\n }\n\n const [version, timestamp] = str.trim().split(regEx(/\\s+/));\n const release: Release = pseudoVersionToRelease(version) ?? { version };\n\n const releaseTimestamp = asTimestamp(timestamp);\n if (releaseTimestamp) {\n release.releaseTimestamp = releaseTimestamp;\n }\n\n return release;\n });\n }\n\n async versionInfo(\n baseUrl: string,\n packageName: string,\n version: string,\n ): Promise<Release> {\n const url = joinUrlParts(\n baseUrl,\n this.encodeCase(packageName),\n '@v',\n `${version}.info`,\n );\n const res = await this.http.getJsonUnchecked<VersionInfo>(url);\n\n const result: Release = {\n version: res.body.Version,\n };\n\n const releaseTimestamp = asTimestamp(res.body.Time);\n if (releaseTimestamp) {\n result.releaseTimestamp = releaseTimestamp;\n }\n\n return result;\n }\n\n async getLatestVersion(\n baseUrl: string,\n packageName: string,\n ): Promise<string | null> {\n try {\n const url = joinUrlParts(\n baseUrl,\n this.encodeCase(packageName),\n '@latest',\n );\n const res = await this.http.getJsonUnchecked<VersionInfo>(url);\n return res.body.Version;\n } catch (err) {\n logger.trace({ err }, 'Failed to get latest version');\n return null;\n }\n }\n\n async getVersionsWithInfo(\n baseUrl: string,\n packageName: string,\n ): Promise<ReleaseResult> {\n const isGopkgin = packageName.startsWith('gopkg.in/');\n const majorSuffixSeparator = isGopkgin ? '.' : '/';\n const modParts = packageName.match(modRegex)?.groups;\n const baseMod = modParts?.baseMod ?? /* istanbul ignore next */ packageName;\n const packageMajor = parseInt(modParts?.majorVersion ?? '0');\n\n const result: ReleaseResult = { releases: [] };\n for (let major = packageMajor; ; major += 1) {\n let pkg = `${baseMod}${majorSuffixSeparator}v${major}`;\n if (!isGopkgin && major < 2) {\n pkg = baseMod;\n major += 1; // v0 and v1 are the same module\n }\n\n let releases: Release[] = [];\n\n try {\n const res = await this.listVersions(baseUrl, pkg);\n\n // Artifactory returns all versions in any major (past and future),\n // so starting from v2, we filter them in order to avoid the infinite loop\n const filteredReleases = res.filter(({ version }) => {\n if (major < 2) {\n return true;\n }\n\n return (\n version.split(regEx(/[^\\d]+/)).find(is.truthy) === major.toString()\n );\n });\n\n releases = await p.map(filteredReleases, async (versionInfo) => {\n const { version, newDigest, releaseTimestamp } = versionInfo;\n\n if (releaseTimestamp) {\n return { version, newDigest, releaseTimestamp };\n }\n\n try {\n return await this.versionInfo(baseUrl, pkg, version);\n } catch (err) {\n logger.trace({ err }, `Can't obtain data from ${baseUrl}`);\n return { version };\n }\n });\n result.releases.push(...releases);\n } catch (err) {\n const potentialHttpError =\n err instanceof ExternalHostError ? err.err : err;\n const status = potentialHttpError.response?.statusCode;\n if (\n potentialHttpError instanceof HttpError &&\n (status === 404 || status === 403) &&\n major !== packageMajor\n ) {\n break;\n }\n\n throw err;\n }\n\n const latestVersion = await this.getLatestVersion(baseUrl, pkg);\n if (latestVersion) {\n result.tags ??= {};\n result.tags.latest ??= latestVersion;\n if (goVersioning.isGreaterThan(latestVersion, result.tags.latest)) {\n result.tags.latest = latestVersion;\n }\n if (!result.releases.length) {\n const releaseFromLatest = pseudoVersionToRelease(latestVersion);\n if (releaseFromLatest) {\n result.releases.push(releaseFromLatest);\n }\n }\n }\n\n if (!releases.length) {\n break;\n }\n }\n\n return result;\n }\n\n static getCacheKey({ packageName }: GetReleasesConfig): string {\n const goproxy = getEnv().GOPROXY;\n const noproxy = parseNoproxy();\n // TODO: types (#22198)\n return `${packageName}@@${goproxy}@@${noproxy?.toString()}`;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"releases-goproxy.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/go/releases-goproxy.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { ExternalHostError } from '../../../types/errors/external-host-error';\nimport { cache } from '../../../util/cache/package/decorator';\nimport { getEnv } from '../../../util/env';\nimport { filterMap } from '../../../util/filter-map';\nimport { HttpError } from '../../../util/http';\nimport * as p from '../../../util/promises';\nimport { newlineRegex, regEx } from '../../../util/regex';\nimport { asTimestamp } from '../../../util/timestamp';\nimport { joinUrlParts } from '../../../util/url';\nimport goVersioning from '../../versioning/go-mod-directive';\nimport { Datasource } from '../datasource';\nimport type { GetReleasesConfig, Release, ReleaseResult } from '../types';\nimport { BaseGoDatasource } from './base';\nimport { getSourceUrl } from './common';\nimport { parseGoproxy, parseNoproxy } from './goproxy-parser';\nimport { GoDirectDatasource } from './releases-direct';\nimport type { VersionInfo } from './types';\n\nconst modRegex = regEx(/^(?<baseMod>.*?)(?:[./]v(?<majorVersion>\\d+))?$/);\n\n/**\n * @see https://go.dev/ref/mod#pseudo-versions\n */\nconst pseudoVersionRegex = regEx(\n /v\\d+\\.\\d+\\.\\d+-(?:\\w+\\.)?(?:0\\.)?(?<timestamp>\\d{14})-(?<digest>[a-f0-9]{12})/i,\n);\n\nexport function pseudoVersionToRelease(pseudoVersion: string): Release | null {\n const match = pseudoVersion.match(pseudoVersionRegex)?.groups;\n if (!match) {\n return null;\n }\n\n const { digest: newDigest, timestamp } = match;\n const releaseTimestamp = asTimestamp(timestamp);\n\n return {\n version: pseudoVersion,\n newDigest,\n releaseTimestamp,\n };\n}\n\nexport class GoProxyDatasource extends Datasource {\n static readonly id = 'go-proxy';\n\n constructor() {\n super(GoProxyDatasource.id);\n }\n\n readonly direct = new GoDirectDatasource();\n\n @cache({\n namespace: `datasource-${GoProxyDatasource.id}`,\n key: (config: GetReleasesConfig) => GoProxyDatasource.getCacheKey(config),\n })\n async getReleases(config: GetReleasesConfig): Promise<ReleaseResult | null> {\n const { packageName } = config;\n logger.trace(`goproxy.getReleases(${packageName})`);\n const goproxy = getEnv().GOPROXY ?? 'https://proxy.golang.org,direct';\n if (goproxy === 'direct') {\n return this.direct.getReleases(config);\n }\n const proxyList = parseGoproxy(goproxy);\n const noproxy = parseNoproxy();\n\n let result: ReleaseResult | null = null;\n\n if (noproxy?.test(packageName)) {\n logger.debug(`Fetching ${packageName} via GONOPROXY match`);\n result = await this.direct.getReleases(config);\n return result;\n }\n\n for (const { url, fallback } of proxyList) {\n try {\n if (url === 'off') {\n break;\n } else if (url === 'direct') {\n result = await this.direct.getReleases(config);\n break;\n }\n\n const res = await this.getVersionsWithInfo(url, packageName);\n if (res.releases.length) {\n result = res;\n break;\n }\n } catch (err) {\n const potentialHttpError =\n err instanceof ExternalHostError ? err.err : err;\n const statusCode = potentialHttpError?.response?.statusCode;\n const canFallback =\n fallback === '|' ? true : statusCode === 404 || statusCode === 410;\n const msg = canFallback\n ? 'Goproxy error: trying next URL provided with GOPROXY'\n : 'Goproxy error: skipping other URLs provided with GOPROXY';\n logger.debug({ err }, msg);\n if (!canFallback) {\n break;\n }\n }\n }\n\n if (result && !result.sourceUrl) {\n try {\n const datasource = await BaseGoDatasource.getDatasource(packageName);\n const sourceUrl = getSourceUrl(datasource);\n if (sourceUrl) {\n result.sourceUrl = sourceUrl;\n }\n } catch (err) {\n logger.trace({ err }, `Can't get datasource for ${packageName}`);\n }\n }\n\n return result;\n }\n\n /**\n * Avoid ambiguity when serving from case-insensitive file systems.\n *\n * @see https://golang.org/ref/mod#goproxy-protocol\n */\n encodeCase(input: string): string {\n return input.replace(regEx(/([A-Z])/g), (x) => `!${x.toLowerCase()}`);\n }\n\n async listVersions(baseUrl: string, packageName: string): Promise<Release[]> {\n const url = joinUrlParts(\n baseUrl,\n this.encodeCase(packageName),\n '@v',\n 'list',\n );\n const { body } = await this.http.getText(url);\n return filterMap(body.split(newlineRegex), (str) => {\n if (!is.nonEmptyStringAndNotWhitespace(str)) {\n return null;\n }\n\n const [version, timestamp] = str.trim().split(regEx(/\\s+/));\n const release: Release = pseudoVersionToRelease(version) ?? { version };\n\n const releaseTimestamp = asTimestamp(timestamp);\n if (releaseTimestamp) {\n release.releaseTimestamp = releaseTimestamp;\n }\n\n return release;\n });\n }\n\n async versionInfo(\n baseUrl: string,\n packageName: string,\n version: string,\n ): Promise<Release> {\n const url = joinUrlParts(\n baseUrl,\n this.encodeCase(packageName),\n '@v',\n `${version}.info`,\n );\n const res = await this.http.getJsonUnchecked<VersionInfo>(url);\n\n const result: Release = {\n version: res.body.Version,\n };\n\n const releaseTimestamp = asTimestamp(res.body.Time);\n if (releaseTimestamp) {\n result.releaseTimestamp = releaseTimestamp;\n }\n\n return result;\n }\n\n async getLatestVersion(\n baseUrl: string,\n packageName: string,\n ): Promise<string | null> {\n try {\n const url = joinUrlParts(\n baseUrl,\n this.encodeCase(packageName),\n '@latest',\n );\n const res = await this.http.getJsonUnchecked<VersionInfo>(url);\n return res.body.Version;\n } catch (err) {\n logger.trace({ err }, 'Failed to get latest version');\n return null;\n }\n }\n\n async getVersionsWithInfo(\n baseUrl: string,\n packageName: string,\n ): Promise<ReleaseResult> {\n const isGopkgin = packageName.startsWith('gopkg.in/');\n const majorSuffixSeparator = isGopkgin ? '.' : '/';\n const modParts = packageName.match(modRegex)?.groups;\n const baseMod = modParts?.baseMod ?? /* v8 ignore next */ packageName;\n const packageMajor = parseInt(modParts?.majorVersion ?? '0');\n\n const result: ReleaseResult = { releases: [] };\n for (let major = packageMajor; ; major += 1) {\n let pkg = `${baseMod}${majorSuffixSeparator}v${major}`;\n if (!isGopkgin && major < 2) {\n pkg = baseMod;\n major += 1; // v0 and v1 are the same module\n }\n\n let releases: Release[] = [];\n\n try {\n const res = await this.listVersions(baseUrl, pkg);\n\n // Artifactory returns all versions in any major (past and future),\n // so starting from v2, we filter them in order to avoid the infinite loop\n const filteredReleases = res.filter(({ version }) => {\n if (major < 2) {\n return true;\n }\n\n return (\n version.split(regEx(/[^\\d]+/)).find(is.truthy) === major.toString()\n );\n });\n\n releases = await p.map(filteredReleases, async (versionInfo) => {\n const { version, newDigest, releaseTimestamp } = versionInfo;\n\n if (releaseTimestamp) {\n return { version, newDigest, releaseTimestamp };\n }\n\n try {\n return await this.versionInfo(baseUrl, pkg, version);\n } catch (err) {\n logger.trace({ err }, `Can't obtain data from ${baseUrl}`);\n return { version };\n }\n });\n result.releases.push(...releases);\n } catch (err) {\n const potentialHttpError =\n err instanceof ExternalHostError ? err.err : err;\n const status = potentialHttpError.response?.statusCode;\n if (\n potentialHttpError instanceof HttpError &&\n (status === 404 || status === 403) &&\n major !== packageMajor\n ) {\n break;\n }\n\n throw err;\n }\n\n const latestVersion = await this.getLatestVersion(baseUrl, pkg);\n if (latestVersion) {\n result.tags ??= {};\n result.tags.latest ??= latestVersion;\n if (goVersioning.isGreaterThan(latestVersion, result.tags.latest)) {\n result.tags.latest = latestVersion;\n }\n if (!result.releases.length) {\n const releaseFromLatest = pseudoVersionToRelease(latestVersion);\n if (releaseFromLatest) {\n result.releases.push(releaseFromLatest);\n }\n }\n }\n\n if (!releases.length) {\n break;\n }\n }\n\n return result;\n }\n\n static getCacheKey({ packageName }: GetReleasesConfig): string {\n const goproxy = getEnv().GOPROXY;\n const noproxy = parseNoproxy();\n // TODO: types (#22198)\n return `${packageName}@@${goproxy}@@${noproxy?.toString()}`;\n }\n}\n"]}
|
|
@@ -24,7 +24,7 @@ class HelmDatasource extends datasource_1.Datasource {
|
|
|
24
24
|
sourceUrlNote = 'The source URL is determined from the `home` field or the `sources` field in the results.';
|
|
25
25
|
async getRepositoryData(helmRepository) {
|
|
26
26
|
const { val, err } = await this.http
|
|
27
|
-
.getYamlSafe('index.yaml', { baseUrl: (0, url_1.ensureTrailingSlash)(helmRepository) }, schema_1.
|
|
27
|
+
.getYamlSafe('index.yaml', { baseUrl: (0, url_1.ensureTrailingSlash)(helmRepository) }, schema_1.HelmRepository)
|
|
28
28
|
.unwrap();
|
|
29
29
|
if (err) {
|
|
30
30
|
this.handleGenericErrors(err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/helm/index.ts"],"names":[],"mappings":";;;;AAAA,4CAAyC;AACzC,qEAA8D;AAC9D,2CAAwD;AACxD,8EAAwD;AACxD,8CAA2C;AAG3C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/helm/index.ts"],"names":[],"mappings":";;;;AAAA,4CAAyC;AACzC,qEAA8D;AAC9D,2CAAwD;AACxD,8EAAwD;AACxD,8CAA2C;AAG3C,qCAA0C;AAE1C,MAAa,cAAe,SAAQ,uBAAU;IAC5C,MAAM,CAAU,EAAE,GAAG,MAAM,CAAC;IAE5B;QACE,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IAEiB,mBAAmB,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAExD,aAAa,GAAG;QAChC,kBAAkB,EAAE,0BAA0B;KAC/C,CAAC;IAEgB,iBAAiB,GAAG,cAAc,CAAC,EAAE,CAAC;IAEtC,uBAAuB,GAAG,IAAI,CAAC;IAC/B,oBAAoB,GACpC,6EAA6E,CAAC;IAC9D,gBAAgB,GAAG,SAAS,CAAC;IAC7B,aAAa,GAC7B,2FAA2F,CAAC;IAMxF,AAAN,KAAK,CAAC,iBAAiB,CAAC,cAAsB;QAC5C,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI;aACjC,WAAW,CACV,YAAY,EACZ,EAAE,OAAO,EAAE,IAAA,yBAAmB,EAAC,cAAc,CAAC,EAAE,EAChD,uBAAc,CACf;aACA,MAAM,EAAE,CAAC;QAEZ,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAChB,WAAW,EACX,WAAW,EAAE,cAAc,GACT;QAClB,6CAA6C;QAC7C,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,eAAM,CAAC,KAAK,CACV,EAAE,UAAU,EAAE,WAAW,EAAE,EAC3B,SAAS,WAAW,qCAAqC,cAAc,EAAE,CAC1E,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;;AA7DH,wCA8DC;AApCO;IAJL,IAAA,iBAAK,EAAC;QACL,SAAS,EAAE,cAAc,cAAc,CAAC,EAAE,EAAE;QAC5C,GAAG,EAAE,CAAC,cAAsB,EAAE,EAAE,CAAC,mBAAmB,cAAc,EAAE;KACrE,CAAC;uDAeD","sourcesContent":["import { logger } from '../../../logger';\nimport { cache } from '../../../util/cache/package/decorator';\nimport { ensureTrailingSlash } from '../../../util/url';\nimport * as helmVersioning from '../../versioning/helm';\nimport { Datasource } from '../datasource';\nimport type { GetReleasesConfig, ReleaseResult } from '../types';\nimport type { HelmRepositoryData } from './schema';\nimport { HelmRepository } from './schema';\n\nexport class HelmDatasource extends Datasource {\n static readonly id = 'helm';\n\n constructor() {\n super(HelmDatasource.id);\n }\n\n override readonly defaultRegistryUrls = ['https://charts.helm.sh/stable'];\n\n override readonly defaultConfig = {\n commitMessageTopic: 'Helm release {{depName}}',\n };\n\n override readonly defaultVersioning = helmVersioning.id;\n\n override readonly releaseTimestampSupport = true;\n override readonly releaseTimestampNote =\n 'The release timstamp is determined from the `created` field in the results.';\n override readonly sourceUrlSupport = 'package';\n override readonly sourceUrlNote =\n 'The source URL is determined from the `home` field or the `sources` field in the results.';\n\n @cache({\n namespace: `datasource-${HelmDatasource.id}`,\n key: (helmRepository: string) => `repository-data:${helmRepository}`,\n })\n async getRepositoryData(helmRepository: string): Promise<HelmRepositoryData> {\n const { val, err } = await this.http\n .getYamlSafe(\n 'index.yaml',\n { baseUrl: ensureTrailingSlash(helmRepository) },\n HelmRepository,\n )\n .unwrap();\n\n if (err) {\n this.handleGenericErrors(err);\n }\n\n return val;\n }\n\n async getReleases({\n packageName,\n registryUrl: helmRepository,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n /* v8 ignore next 3 -- should never happen */\n if (!helmRepository) {\n return null;\n }\n\n const repositoryData = await this.getRepositoryData(helmRepository);\n const releases = repositoryData[packageName];\n if (!releases) {\n logger.debug(\n { dependency: packageName },\n `Entry ${packageName} doesn't exist in index.yaml from ${helmRepository}`,\n );\n return null;\n }\n return releases;\n }\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import type { Release } from '../types';
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const HelmRepository: z.ZodEffects<z.ZodObject<{
|
|
4
4
|
entries: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, {
|
|
5
5
|
homepage: string | undefined;
|
|
6
6
|
sourceUrl: string | undefined;
|
|
@@ -21,4 +21,4 @@ export declare const HelmRepositorySchema: z.ZodEffects<z.ZodObject<{
|
|
|
21
21
|
}>, {
|
|
22
22
|
entries: Record<string, any>;
|
|
23
23
|
}>;
|
|
24
|
-
export type HelmRepositoryData = z.infer<typeof
|
|
24
|
+
export type HelmRepositoryData = z.infer<typeof HelmRepository>;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.HelmRepository = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const common_1 = require("../../../util/common");
|
|
6
6
|
const url_1 = require("../../../util/git/url");
|
|
7
7
|
const regex_1 = require("../../../util/regex");
|
|
8
8
|
const schema_utils_1 = require("../../../util/schema-utils");
|
|
9
9
|
const timestamp_1 = require("../../../util/timestamp");
|
|
10
|
-
const
|
|
10
|
+
const HelmRelease = zod_1.z.object({
|
|
11
11
|
version: zod_1.z.string(),
|
|
12
12
|
created: timestamp_1.MaybeTimestamp,
|
|
13
13
|
digest: zod_1.z.string().optional().catch(undefined),
|
|
@@ -42,9 +42,9 @@ function getSourceUrl(release) {
|
|
|
42
42
|
// fallback
|
|
43
43
|
return release.sources[0];
|
|
44
44
|
}
|
|
45
|
-
exports.
|
|
45
|
+
exports.HelmRepository = zod_1.z
|
|
46
46
|
.object({
|
|
47
|
-
entries: (0, schema_utils_1.LooseRecord)(zod_1.z.string(),
|
|
47
|
+
entries: (0, schema_utils_1.LooseRecord)(zod_1.z.string(), HelmRelease.array()
|
|
48
48
|
.min(1)
|
|
49
49
|
.transform((helmReleases) => {
|
|
50
50
|
const latestRelease = helmReleases[0];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/helm/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iDAAsD;AACtD,+CAAoD;AACpD,+CAA4C;AAC5C,6DAAyD;AACzD,uDAAyD;AAGzD,MAAM,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/helm/schema.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport { detectPlatform } from '../../../util/common';\nimport { parseGitUrl } from '../../../util/git/url';\nimport { regEx } from '../../../util/regex';\nimport { LooseRecord } from '../../../util/schema-utils';\nimport { MaybeTimestamp } from '../../../util/timestamp';\nimport type { Release } from '../types';\n\nconst HelmRelease = z.object({\n version: z.string(),\n created: MaybeTimestamp,\n digest: z.string().optional().catch(undefined),\n home: z.string().optional().catch(undefined),\n sources: z.array(z.string()).catch([]),\n urls: z.array(z.string()).catch([]),\n});\ntype HelmRelease = z.infer<typeof HelmRelease>;\n\nconst chartRepo = regEx(/charts?|helm|helm-charts/i);\n\nfunction isPossibleChartRepo(url: string): boolean {\n if (detectPlatform(url) === null) {\n return false;\n }\n\n const parsed = parseGitUrl(url);\n return chartRepo.test(parsed.name);\n}\n\nconst githubRelease = regEx(\n /^(https:\\/\\/github\\.com\\/[^/]+\\/[^/]+)\\/releases\\//,\n);\n\nfunction getSourceUrl(release: HelmRelease): string | undefined {\n // it's a github release :)\n const [githubUrl] = release.urls;\n const releaseMatch = githubRelease.exec(githubUrl);\n if (releaseMatch) {\n return releaseMatch[1];\n }\n\n if (release.home && isPossibleChartRepo(release.home)) {\n return release.home;\n }\n\n for (const url of release.sources) {\n if (isPossibleChartRepo(url)) {\n return url;\n }\n }\n\n // fallback\n return release.sources[0];\n}\n\nexport const HelmRepository = z\n .object({\n entries: LooseRecord(\n z.string(),\n HelmRelease.array()\n .min(1)\n .transform((helmReleases) => {\n const latestRelease = helmReleases[0];\n const homepage = latestRelease.home;\n const sourceUrl = getSourceUrl(latestRelease);\n const releases = helmReleases.map(\n ({\n version,\n created: releaseTimestamp,\n digest: newDigest,\n }): Release => ({\n version,\n releaseTimestamp,\n newDigest,\n }),\n );\n return { homepage, sourceUrl, releases };\n }),\n ),\n })\n .transform(({ entries }) => entries);\n\nexport type HelmRepositoryData = z.infer<typeof HelmRepository>;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const defaultRegistryUrls: string[];
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.defaultRegistryUrls = void 0;
|
|
4
|
+
exports.defaultRegistryUrls = [
|
|
5
|
+
'https://jsr.io/',
|
|
6
|
+
// the "https://npm.jsr.io" npm compatible registry api url
|
|
7
|
+
// it contains more information than above, but less accuracy
|
|
8
|
+
// https://jsr.io/docs/api#npm-compatibility-registry-api
|
|
9
|
+
// > Note: The data served from the npm compatibility registry API may not always
|
|
10
|
+
// > be up to date or consistent with the data served from the JSR registry API.
|
|
11
|
+
];
|
|
12
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/jsr/common.ts"],"names":[],"mappings":";;;AAAa,QAAA,mBAAmB,GAAG;IACjC,iBAAiB;IACjB,2DAA2D;IAC3D,6DAA6D;IAC7D,yDAAyD;IACzD,iFAAiF;IACjF,gFAAgF;CACjF,CAAC","sourcesContent":["export const defaultRegistryUrls = [\n 'https://jsr.io/',\n // the \"https://npm.jsr.io\" npm compatible registry api url\n // it contains more information than above, but less accuracy\n // https://jsr.io/docs/api#npm-compatibility-registry-api\n // > Note: The data served from the npm compatibility registry API may not always\n // > be up to date or consistent with the data served from the JSR registry API.\n];\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Datasource } from '../datasource';
|
|
2
|
+
import type { GetReleasesConfig, ReleaseResult } from '../types';
|
|
3
|
+
export declare class JsrDatasource extends Datasource {
|
|
4
|
+
static readonly id = "jsr";
|
|
5
|
+
readonly customRegistrySupport = false;
|
|
6
|
+
readonly registryStrategy = "first";
|
|
7
|
+
readonly defaultVersioning = "semver";
|
|
8
|
+
readonly defaultRegistryUrls: string[];
|
|
9
|
+
readonly releaseTimestampSupport = false;
|
|
10
|
+
constructor();
|
|
11
|
+
getReleases({ packageName, registryUrl, }: GetReleasesConfig): Promise<ReleaseResult | null>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JsrDatasource = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
6
|
+
const logger_1 = require("../../../logger");
|
|
7
|
+
const decorator_1 = require("../../../util/cache/package/decorator");
|
|
8
|
+
const url_1 = require("../../../util/url");
|
|
9
|
+
const semver_1 = require("../../versioning/semver");
|
|
10
|
+
const datasource_1 = require("../datasource");
|
|
11
|
+
const common_1 = require("./common");
|
|
12
|
+
const schema_1 = require("./schema");
|
|
13
|
+
const util_1 = require("./util");
|
|
14
|
+
class JsrDatasource extends datasource_1.Datasource {
|
|
15
|
+
static id = 'jsr';
|
|
16
|
+
// custom registry support is not yet supported
|
|
17
|
+
// https://github.com/jsr-io/jsr/issues/203
|
|
18
|
+
customRegistrySupport = false;
|
|
19
|
+
registryStrategy = 'first';
|
|
20
|
+
// https://jsr.io/docs/using-packages#semver-resolution
|
|
21
|
+
defaultVersioning = semver_1.id;
|
|
22
|
+
// use npm compatible registry api url due to returns
|
|
23
|
+
defaultRegistryUrls = common_1.defaultRegistryUrls;
|
|
24
|
+
releaseTimestampSupport = false;
|
|
25
|
+
constructor() {
|
|
26
|
+
super(JsrDatasource.id);
|
|
27
|
+
}
|
|
28
|
+
async getReleases({ packageName, registryUrl, }) {
|
|
29
|
+
/* v8 ignore next 3 -- should never happen */
|
|
30
|
+
if (!registryUrl) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
const validJsrPackageName = (0, util_1.extractJsrPackageName)(packageName);
|
|
34
|
+
if (is_1.default.null(validJsrPackageName)) {
|
|
35
|
+
logger_1.logger.debug(`Could not extract packageName: "${packageName}"`);
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
// construct a package metadata url
|
|
39
|
+
// https://jsr.io/docs/api#package-metadata
|
|
40
|
+
const packageInfoUrl = (0, url_1.joinUrlParts)(registryUrl, packageName, 'meta.json');
|
|
41
|
+
const result = {
|
|
42
|
+
homepage: (0, url_1.joinUrlParts)(registryUrl, packageName),
|
|
43
|
+
registryUrl,
|
|
44
|
+
releases: [],
|
|
45
|
+
};
|
|
46
|
+
try {
|
|
47
|
+
const { body } = await this.http.getJson(packageInfoUrl, schema_1.JsrPackageMetadata);
|
|
48
|
+
result.releases.push(...body);
|
|
49
|
+
}
|
|
50
|
+
catch (err) {
|
|
51
|
+
logger_1.logger.warn({ err }, 'JSR: failed to get package details');
|
|
52
|
+
this.handleGenericErrors(err);
|
|
53
|
+
}
|
|
54
|
+
return result.releases.length ? result : null;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
exports.JsrDatasource = JsrDatasource;
|
|
58
|
+
tslib_1.__decorate([
|
|
59
|
+
(0, decorator_1.cache)({
|
|
60
|
+
namespace: `datasource-${JsrDatasource.id}`,
|
|
61
|
+
key: ({ packageName, registryUrl }) =>
|
|
62
|
+
// TODO: types (#22198)
|
|
63
|
+
`getReleases:${registryUrl}:${packageName}`,
|
|
64
|
+
})
|
|
65
|
+
], JsrDatasource.prototype, "getReleases", null);
|
|
66
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/jsr/index.ts"],"names":[],"mappings":";;;;AAAA,kEAAkC;AAClC,4CAAyC;AACzC,qEAA8D;AAC9D,2CAAiD;AACjD,oDAAyD;AACzD,8CAA2C;AAE3C,qCAA+C;AAC/C,qCAA8C;AAC9C,iCAA+C;AAE/C,MAAa,aAAc,SAAQ,uBAAU;IAC3C,MAAM,CAAU,EAAE,GAAG,KAAK,CAAC;IAE3B,+CAA+C;IAC/C,2CAA2C;IACzB,qBAAqB,GAAG,KAAK,CAAC;IAE9B,gBAAgB,GAAG,OAAO,CAAC;IAC7C,uDAAuD;IACrC,iBAAiB,GAAG,WAAQ,CAAC;IAE/C,qDAAqD;IACnC,mBAAmB,GAAG,4BAAmB,CAAC;IAE1C,uBAAuB,GAAG,KAAK,CAAC;IAElD;QACE,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAQK,AAAN,KAAK,CAAC,WAAW,CAAC,EAChB,WAAW,EACX,WAAW,GACO;QAClB,6CAA6C;QAC7C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,mBAAmB,GAAG,IAAA,4BAAqB,EAAC,WAAW,CAAC,CAAC;QAC/D,IAAI,YAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACjC,eAAM,CAAC,KAAK,CAAC,mCAAmC,WAAW,GAAG,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,mCAAmC;QACnC,2CAA2C;QAC3C,MAAM,cAAc,GAAG,IAAA,kBAAY,EAAC,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QAE3E,MAAM,MAAM,GAAkB;YAC5B,QAAQ,EAAE,IAAA,kBAAY,EAAC,WAAW,EAAE,WAAW,CAAC;YAChD,WAAW;YACX,QAAQ,EAAE,EAAE;SACb,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CACtC,cAAc,EACd,2BAAkB,CACnB,CAAC;YACF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,eAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,oCAAoC,CAAC,CAAC;YAC3D,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAChD,CAAC;;AA9DH,sCA+DC;AArCO;IANL,IAAA,iBAAK,EAAC;QACL,SAAS,EAAE,cAAc,aAAa,CAAC,EAAE,EAAE;QAC3C,GAAG,EAAE,CAAC,EAAE,WAAW,EAAE,WAAW,EAAqB,EAAE,EAAE;QACvD,uBAAuB;QACvB,eAAe,WAAW,IAAI,WAAW,EAAE;KAC9C,CAAC;gDAqCD","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { cache } from '../../../util/cache/package/decorator';\nimport { joinUrlParts } from '../../../util/url';\nimport { id as semverId } from '../../versioning/semver';\nimport { Datasource } from '../datasource';\nimport type { GetReleasesConfig, ReleaseResult } from '../types';\nimport { defaultRegistryUrls } from './common';\nimport { JsrPackageMetadata } from './schema';\nimport { extractJsrPackageName } from './util';\n\nexport class JsrDatasource extends Datasource {\n static readonly id = 'jsr';\n\n // custom registry support is not yet supported\n // https://github.com/jsr-io/jsr/issues/203\n override readonly customRegistrySupport = false;\n\n override readonly registryStrategy = 'first';\n // https://jsr.io/docs/using-packages#semver-resolution\n override readonly defaultVersioning = semverId;\n\n // use npm compatible registry api url due to returns\n override readonly defaultRegistryUrls = defaultRegistryUrls;\n\n override readonly releaseTimestampSupport = false;\n\n constructor() {\n super(JsrDatasource.id);\n }\n\n @cache({\n namespace: `datasource-${JsrDatasource.id}`,\n key: ({ packageName, registryUrl }: GetReleasesConfig) =>\n // TODO: types (#22198)\n `getReleases:${registryUrl}:${packageName}`,\n })\n async getReleases({\n packageName,\n registryUrl,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n /* v8 ignore next 3 -- should never happen */\n if (!registryUrl) {\n return null;\n }\n\n const validJsrPackageName = extractJsrPackageName(packageName);\n if (is.null(validJsrPackageName)) {\n logger.debug(`Could not extract packageName: \"${packageName}\"`);\n return null;\n }\n // construct a package metadata url\n // https://jsr.io/docs/api#package-metadata\n const packageInfoUrl = joinUrlParts(registryUrl, packageName, 'meta.json');\n\n const result: ReleaseResult = {\n homepage: joinUrlParts(registryUrl, packageName),\n registryUrl,\n releases: [],\n };\n\n try {\n const { body } = await this.http.getJson(\n packageInfoUrl,\n JsrPackageMetadata,\n );\n result.releases.push(...body);\n } catch (err) {\n logger.warn({ err }, 'JSR: failed to get package details');\n this.handleGenericErrors(err);\n }\n\n return result.releases.length ? result : null;\n }\n}\n"]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { Release } from '../types';
|
|
3
|
+
export declare const JsrPackageMetadata: z.ZodEffects<z.ZodObject<{
|
|
4
|
+
latest: z.ZodOptional<z.ZodString>;
|
|
5
|
+
versions: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
6
|
+
yanked: z.ZodOptional<z.ZodBoolean>;
|
|
7
|
+
}, "strip", z.ZodTypeAny, {
|
|
8
|
+
yanked?: boolean | undefined;
|
|
9
|
+
}, {
|
|
10
|
+
yanked?: boolean | undefined;
|
|
11
|
+
}>>;
|
|
12
|
+
}, "strip", z.ZodTypeAny, {
|
|
13
|
+
versions: Record<string, {
|
|
14
|
+
yanked?: boolean | undefined;
|
|
15
|
+
}>;
|
|
16
|
+
latest?: string | undefined;
|
|
17
|
+
}, {
|
|
18
|
+
versions: Record<string, {
|
|
19
|
+
yanked?: boolean | undefined;
|
|
20
|
+
}>;
|
|
21
|
+
latest?: string | undefined;
|
|
22
|
+
}>, Release[], {
|
|
23
|
+
versions: Record<string, {
|
|
24
|
+
yanked?: boolean | undefined;
|
|
25
|
+
}>;
|
|
26
|
+
latest?: string | undefined;
|
|
27
|
+
}>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JsrPackageMetadata = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
// https://github.com/jsr-io/jsr/blob/b8d753f4ed96f032bc494e8809065cfe8df5c641/api/src/metadata.rs#L30-L35
|
|
6
|
+
exports.JsrPackageMetadata = zod_1.z
|
|
7
|
+
.object({
|
|
8
|
+
latest: zod_1.z.string().optional(),
|
|
9
|
+
versions: zod_1.z.record(zod_1.z.string(), zod_1.z.object({
|
|
10
|
+
yanked: zod_1.z.boolean().optional(),
|
|
11
|
+
})),
|
|
12
|
+
})
|
|
13
|
+
.transform(({ versions, latest }) => {
|
|
14
|
+
return Object.entries(versions).map(([version, val]) => ({
|
|
15
|
+
version,
|
|
16
|
+
...(val.yanked && { isDeprecated: true }),
|
|
17
|
+
...(latest === version && { isLatest: true }),
|
|
18
|
+
}));
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/jsr/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAGxB,0GAA0G;AAC7F,QAAA,kBAAkB,GAAG,OAAC;KAChC,MAAM,CAAC;IACN,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,QAAQ,EAAE,OAAC,CAAC,MAAM,CAChB,OAAC,CAAC,MAAM,EAAE,EACV,OAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KAC/B,CAAC,CACH;CACF,CAAC;KACD,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAa,EAAE;IAC7C,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACvD,OAAO;QACP,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QACzC,GAAG,CAAC,MAAM,KAAK,OAAO,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KAC9C,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport type { Release } from '../types';\n\n// https://github.com/jsr-io/jsr/blob/b8d753f4ed96f032bc494e8809065cfe8df5c641/api/src/metadata.rs#L30-L35\nexport const JsrPackageMetadata = z\n .object({\n latest: z.string().optional(),\n versions: z.record(\n z.string(),\n z.object({\n yanked: z.boolean().optional(),\n }),\n ),\n })\n .transform(({ versions, latest }): Release[] => {\n return Object.entries(versions).map(([version, val]) => ({\n version,\n ...(val.yanked && { isDeprecated: true }),\n ...(latest === version && { isLatest: true }),\n }));\n });\n"]}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Ported from jsr:
|
|
3
|
+
// https://github.com/jsr-io/jsr/blob/b8d753f4ed96f032bc494e8809065cfe8df5c641/frontend/utils/ids.ts
|
|
4
|
+
// Copyright 2024 the JSR authors. All rights reserved. MIT license.
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.extractJsrPackageName = extractJsrPackageName;
|
|
7
|
+
const tslib_1 = require("tslib");
|
|
8
|
+
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
9
|
+
const regex_1 = require("../../../util/regex");
|
|
10
|
+
function extractJsrPackageName(packageName) {
|
|
11
|
+
// trim first @
|
|
12
|
+
const validatePackageName = packageName.replace((0, regex_1.regEx)(/^@/), '');
|
|
13
|
+
const parts = validatePackageName.split('/');
|
|
14
|
+
if (parts.length !== 2) {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
const [scope, name] = parts;
|
|
18
|
+
if (is_1.default.null(parseJsrScopeName(scope))) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
if (is_1.default.null(parseJsrPackageName(name))) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
return { scope, name };
|
|
25
|
+
}
|
|
26
|
+
function parseJsrScopeName(name) {
|
|
27
|
+
if (name.length > 100) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
if (name.length < 3) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
if (!(0, regex_1.regEx)(/^[a-zA-Z0-9-_]+$/).test(name)) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
return name;
|
|
37
|
+
}
|
|
38
|
+
function parseJsrPackageName(name) {
|
|
39
|
+
if (name.startsWith('@')) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
if (name.length > 58) {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
if (!(0, regex_1.regEx)(/^[a-z0-9-]+$/).test(name)) {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
if (name.startsWith('-')) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
return name;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/jsr/util.ts"],"names":[],"mappings":";AAAA,mBAAmB;AACnB,oGAAoG;AACpG,oEAAoE;;AAKpE,sDAkBC;;AArBD,kEAAkC;AAClC,+CAA4C;AAE5C,SAAgB,qBAAqB,CAAC,WAAmB;IAIvD,eAAe;IACf,MAAM,mBAAmB,GAAG,WAAW,CAAC,OAAO,CAAC,IAAA,aAAK,EAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;IAC5B,IAAI,YAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,YAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,IAAA,aAAK,EAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,IAAA,aAAK,EAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["// Ported from jsr:\n// https://github.com/jsr-io/jsr/blob/b8d753f4ed96f032bc494e8809065cfe8df5c641/frontend/utils/ids.ts\n// Copyright 2024 the JSR authors. All rights reserved. MIT license.\n\nimport is from '@sindresorhus/is';\nimport { regEx } from '../../../util/regex';\n\nexport function extractJsrPackageName(packageName: string): {\n scope: string;\n name: string;\n} | null {\n // trim first @\n const validatePackageName = packageName.replace(regEx(/^@/), '');\n const parts = validatePackageName.split('/');\n if (parts.length !== 2) {\n return null;\n }\n const [scope, name] = parts;\n if (is.null(parseJsrScopeName(scope))) {\n return null;\n }\n if (is.null(parseJsrPackageName(name))) {\n return null;\n }\n return { scope, name };\n}\n\nfunction parseJsrScopeName(name: string): string | null {\n if (name.length > 100) {\n return null;\n }\n if (name.length < 3) {\n return null;\n }\n if (!regEx(/^[a-zA-Z0-9-_]+$/).test(name)) {\n return null;\n }\n return name;\n}\n\nfunction parseJsrPackageName(name: string): string | null {\n if (name.startsWith('@')) {\n return null;\n }\n if (name.length > 58) {\n return null;\n }\n if (!regEx(/^[a-z0-9-]+$/).test(name)) {\n return null;\n }\n if (name.startsWith('-')) {\n return null;\n }\n return name;\n}\n"]}
|
|
@@ -32,6 +32,16 @@ function extractVersions(metadata) {
|
|
|
32
32
|
return res;
|
|
33
33
|
}
|
|
34
34
|
res.versions = elements.map((el) => el.val);
|
|
35
|
+
const latest = metadata.descendantWithPath('versioning.latest');
|
|
36
|
+
if (latest?.val) {
|
|
37
|
+
res.tags ??= {};
|
|
38
|
+
res.tags.latest = latest.val;
|
|
39
|
+
}
|
|
40
|
+
const release = metadata.descendantWithPath('versioning.release');
|
|
41
|
+
if (release?.val) {
|
|
42
|
+
res.tags ??= {};
|
|
43
|
+
res.tags.release = release.val;
|
|
44
|
+
}
|
|
35
45
|
return res;
|
|
36
46
|
}
|
|
37
47
|
exports.defaultRegistryUrls = [common_1.MAVEN_REPO];
|
|
@@ -82,6 +92,10 @@ class MavenDatasource extends datasource_1.Datasource {
|
|
|
82
92
|
};
|
|
83
93
|
if (metadata.tags) {
|
|
84
94
|
result.tags = metadata.tags;
|
|
95
|
+
if (result.tags.latest) {
|
|
96
|
+
logger_1.logger.debug(`Setting respectLatest=false for maven ${packageName}`);
|
|
97
|
+
result.respectLatest = false;
|
|
98
|
+
}
|
|
85
99
|
}
|
|
86
100
|
if (!this.defaultRegistryUrls.includes(registryUrl)) {
|
|
87
101
|
result.isPrivate = true;
|