renovate 42.3.0 → 42.4.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/decrypt.js +13 -14
- package/dist/config/decrypt.js.map +1 -1
- package/dist/config/massage.js +6 -7
- package/dist/config/massage.js.map +1 -1
- package/dist/config/migrate-validate.js +3 -3
- package/dist/config/migrate-validate.js.map +1 -1
- package/dist/config/migration.js +19 -20
- package/dist/config/migration.js.map +1 -1
- package/dist/config/migrations/base/abstract-migration.js +5 -6
- package/dist/config/migrations/base/abstract-migration.js.map +1 -1
- package/dist/config/migrations/custom/automerge-major-migration.js +2 -3
- package/dist/config/migrations/custom/automerge-major-migration.js.map +1 -1
- package/dist/config/migrations/custom/automerge-migration.js +4 -5
- package/dist/config/migrations/custom/automerge-migration.js.map +1 -1
- package/dist/config/migrations/custom/automerge-minor-migration.js +2 -3
- package/dist/config/migrations/custom/automerge-minor-migration.js.map +1 -1
- package/dist/config/migrations/custom/automerge-patch-migration.js +2 -3
- package/dist/config/migrations/custom/automerge-patch-migration.js.map +1 -1
- package/dist/config/migrations/custom/automerge-type-migration.js +2 -3
- package/dist/config/migrations/custom/automerge-type-migration.js.map +1 -1
- package/dist/config/migrations/custom/base-branch-migration.js +3 -4
- package/dist/config/migrations/custom/base-branch-migration.js.map +1 -1
- package/dist/config/migrations/custom/branch-name-migration.js +2 -3
- package/dist/config/migrations/custom/branch-name-migration.js.map +1 -1
- package/dist/config/migrations/custom/branch-prefix-migration.js +2 -3
- package/dist/config/migrations/custom/branch-prefix-migration.js.map +1 -1
- package/dist/config/migrations/custom/compatibility-migration.js +2 -3
- package/dist/config/migrations/custom/compatibility-migration.js.map +1 -1
- package/dist/config/migrations/custom/composer-ignore-platform-reqs-migration.js +2 -3
- package/dist/config/migrations/custom/composer-ignore-platform-reqs-migration.js.map +1 -1
- package/dist/config/migrations/custom/custom-managers-migration.js +2 -3
- package/dist/config/migrations/custom/custom-managers-migration.js.map +1 -1
- package/dist/config/migrations/custom/datasource-migration.js +2 -3
- package/dist/config/migrations/custom/datasource-migration.js.map +1 -1
- package/dist/config/migrations/custom/dep-types-migration.js +4 -5
- package/dist/config/migrations/custom/dep-types-migration.js.map +1 -1
- package/dist/config/migrations/custom/enabled-managers-migration.js +2 -3
- package/dist/config/migrations/custom/enabled-managers-migration.js.map +1 -1
- package/dist/config/migrations/custom/extends-migration.js +4 -5
- package/dist/config/migrations/custom/extends-migration.js.map +1 -1
- package/dist/config/migrations/custom/fetch-release-notes-migration.js +2 -3
- package/dist/config/migrations/custom/fetch-release-notes-migration.js.map +1 -1
- package/dist/config/migrations/custom/file-match-migration.js +3 -4
- package/dist/config/migrations/custom/file-match-migration.js.map +1 -1
- package/dist/config/migrations/custom/host-rules-migration.js +6 -7
- package/dist/config/migrations/custom/host-rules-migration.js.map +1 -1
- package/dist/config/migrations/custom/ignore-npmrc-file-migration.js +2 -3
- package/dist/config/migrations/custom/ignore-npmrc-file-migration.js.map +1 -1
- package/dist/config/migrations/custom/include-forks-migration.js +2 -3
- package/dist/config/migrations/custom/include-forks-migration.js.map +1 -1
- package/dist/config/migrations/custom/match-datasources-migration.js +2 -3
- package/dist/config/migrations/custom/match-datasources-migration.js.map +1 -1
- package/dist/config/migrations/custom/match-managers-migration.js +2 -3
- package/dist/config/migrations/custom/match-managers-migration.js.map +1 -1
- package/dist/config/migrations/custom/match-strings-migration.js +2 -3
- package/dist/config/migrations/custom/match-strings-migration.js.map +1 -1
- package/dist/config/migrations/custom/package-files-migration.js +6 -7
- package/dist/config/migrations/custom/package-files-migration.js.map +1 -1
- package/dist/config/migrations/custom/package-rules-migration.js +15 -16
- package/dist/config/migrations/custom/package-rules-migration.js.map +1 -1
- package/dist/config/migrations/custom/packages-migration.js +3 -4
- package/dist/config/migrations/custom/packages-migration.js.map +1 -1
- package/dist/config/migrations/custom/path-rules-migration.js +3 -4
- package/dist/config/migrations/custom/path-rules-migration.js.map +1 -1
- package/dist/config/migrations/custom/pin-versions-migration.js +2 -3
- package/dist/config/migrations/custom/pin-versions-migration.js.map +1 -1
- package/dist/config/migrations/custom/platform-commit-migration.js +2 -3
- package/dist/config/migrations/custom/platform-commit-migration.js.map +1 -1
- package/dist/config/migrations/custom/post-update-options-migration.js +2 -3
- package/dist/config/migrations/custom/post-update-options-migration.js.map +1 -1
- package/dist/config/migrations/custom/rebase-stale-prs-migration.js +2 -3
- package/dist/config/migrations/custom/rebase-stale-prs-migration.js.map +1 -1
- package/dist/config/migrations/custom/recreate-closed-migration.js +2 -3
- package/dist/config/migrations/custom/recreate-closed-migration.js.map +1 -1
- package/dist/config/migrations/custom/renovate-fork-migration.js +2 -3
- package/dist/config/migrations/custom/renovate-fork-migration.js.map +1 -1
- package/dist/config/migrations/custom/schedule-migration.js +4 -4
- package/dist/config/migrations/custom/schedule-migration.js.map +1 -1
- package/dist/config/migrations/custom/semantic-commits-migration.js +2 -3
- package/dist/config/migrations/custom/semantic-commits-migration.js.map +1 -1
- package/dist/config/migrations/custom/semantic-prefix-migration.js +2 -3
- package/dist/config/migrations/custom/semantic-prefix-migration.js.map +1 -1
- package/dist/config/migrations/custom/stability-days-migration.js +2 -3
- package/dist/config/migrations/custom/stability-days-migration.js.map +1 -1
- package/dist/config/migrations/custom/suppress-notifications-migration.js +2 -3
- package/dist/config/migrations/custom/suppress-notifications-migration.js.map +1 -1
- package/dist/config/migrations/custom/unpublish-safe-migration.js +2 -3
- package/dist/config/migrations/custom/unpublish-safe-migration.js.map +1 -1
- package/dist/config/migrations/migrations-service.js +2 -3
- package/dist/config/migrations/migrations-service.js.map +1 -1
- package/dist/config/presets/github/index.js +2 -3
- package/dist/config/presets/github/index.js.map +1 -1
- package/dist/config/presets/gitlab/index.js +2 -3
- package/dist/config/presets/gitlab/index.js.map +1 -1
- package/dist/config/presets/index.js +8 -8
- package/dist/config/presets/index.js.map +1 -1
- package/dist/config/presets/parse.js +2 -3
- package/dist/config/presets/parse.js.map +1 -1
- package/dist/config/secrets.js +3 -4
- package/dist/config/secrets.js.map +1 -1
- package/dist/config/validation-helpers/match-base-branches.js +2 -3
- package/dist/config/validation-helpers/match-base-branches.js.map +1 -1
- package/dist/config/validation-helpers/regex-glob-matchers.js +2 -3
- package/dist/config/validation-helpers/regex-glob-matchers.js.map +1 -1
- package/dist/config/validation-helpers/utils.js +6 -6
- package/dist/config/validation-helpers/utils.js.map +1 -1
- package/dist/config/validation.js +29 -29
- package/dist/config/validation.js.map +1 -1
- package/dist/instrumentation/reporting.js +7 -8
- package/dist/instrumentation/reporting.js.map +1 -1
- package/dist/instrumentation/utils.js +2 -3
- package/dist/instrumentation/utils.js.map +1 -1
- package/dist/logger/err-serializer.js +2 -2
- package/dist/logger/err-serializer.js.map +1 -1
- package/dist/logger/index.js +3 -3
- package/dist/logger/index.js.map +1 -1
- package/dist/logger/renovate-logger.js +4 -5
- package/dist/logger/renovate-logger.js.map +1 -1
- package/dist/logger/utils.js +19 -19
- package/dist/logger/utils.js.map +1 -1
- package/dist/modules/datasource/aws-eks-addon/index.js +2 -2
- package/dist/modules/datasource/aws-eks-addon/index.js.map +1 -1
- package/dist/modules/datasource/bazel/index.js +2 -2
- package/dist/modules/datasource/bazel/index.js.map +1 -1
- package/dist/modules/datasource/bitrise/index.js +2 -2
- package/dist/modules/datasource/bitrise/index.js.map +1 -1
- package/dist/modules/datasource/common.js +4 -4
- package/dist/modules/datasource/common.js.map +1 -1
- package/dist/modules/datasource/conan/index.js +3 -3
- package/dist/modules/datasource/conan/index.js.map +1 -1
- package/dist/modules/datasource/custom/formats/html.js +2 -5
- package/dist/modules/datasource/custom/formats/html.js.map +1 -1
- package/dist/modules/datasource/custom/index.js +2 -3
- package/dist/modules/datasource/custom/index.js.map +1 -1
- package/dist/modules/datasource/custom/utils.js +4 -4
- package/dist/modules/datasource/custom/utils.js.map +1 -1
- package/dist/modules/datasource/dart-version/index.js +2 -3
- package/dist/modules/datasource/dart-version/index.js.map +1 -1
- package/dist/modules/datasource/deno/index.js +2 -2
- package/dist/modules/datasource/deno/index.js.map +1 -1
- package/dist/modules/datasource/docker/common.js +5 -5
- package/dist/modules/datasource/docker/common.js.map +1 -1
- package/dist/modules/datasource/docker/index.js +6 -6
- package/dist/modules/datasource/docker/index.js.map +1 -1
- package/dist/modules/datasource/endoflife-date/index.js +2 -2
- package/dist/modules/datasource/endoflife-date/index.js.map +1 -1
- package/dist/modules/datasource/galaxy/index.js +2 -2
- package/dist/modules/datasource/galaxy/index.js.map +1 -1
- package/dist/modules/datasource/galaxy-collection/index.js +2 -2
- package/dist/modules/datasource/galaxy-collection/index.js.map +1 -1
- package/dist/modules/datasource/git-refs/base.js +2 -2
- package/dist/modules/datasource/git-refs/base.js.map +1 -1
- package/dist/modules/datasource/github-release-attachments/index.js +2 -2
- package/dist/modules/datasource/github-release-attachments/index.js.map +1 -1
- package/dist/modules/datasource/github-releases/index.js +2 -3
- package/dist/modules/datasource/github-releases/index.js.map +1 -1
- package/dist/modules/datasource/github-tags/index.js +2 -3
- package/dist/modules/datasource/github-tags/index.js.map +1 -1
- package/dist/modules/datasource/go/goproxy-parser.js +3 -3
- package/dist/modules/datasource/go/goproxy-parser.js.map +1 -1
- package/dist/modules/datasource/go/index.js +2 -2
- package/dist/modules/datasource/go/index.js.map +1 -1
- package/dist/modules/datasource/go/releases-goproxy.js +3 -3
- package/dist/modules/datasource/go/releases-goproxy.js.map +1 -1
- package/dist/modules/datasource/hackage/index.js +2 -2
- package/dist/modules/datasource/hackage/index.js.map +1 -1
- package/dist/modules/datasource/hex/schema.js +2 -3
- package/dist/modules/datasource/hex/schema.js.map +1 -1
- package/dist/modules/datasource/hexpm-bob/index.js +2 -2
- package/dist/modules/datasource/hexpm-bob/index.js.map +1 -1
- package/dist/modules/datasource/index.js +14 -14
- package/dist/modules/datasource/index.js.map +1 -1
- package/dist/modules/datasource/jsr/index.js +2 -2
- package/dist/modules/datasource/jsr/index.js.map +1 -1
- package/dist/modules/datasource/jsr/util.js +3 -4
- package/dist/modules/datasource/jsr/util.js.map +1 -1
- package/dist/modules/datasource/metadata.js +5 -5
- package/dist/modules/datasource/metadata.js.map +1 -1
- package/dist/modules/datasource/npm/get.js +2 -2
- package/dist/modules/datasource/npm/get.js.map +1 -1
- package/dist/modules/datasource/npm/npmrc.js +7 -7
- package/dist/modules/datasource/npm/npmrc.js.map +1 -1
- package/dist/modules/datasource/nuget/v3.js +2 -2
- package/dist/modules/datasource/nuget/v3.js.map +1 -1
- package/dist/modules/datasource/packagist/index.js +2 -2
- package/dist/modules/datasource/packagist/index.js.map +1 -1
- package/dist/modules/datasource/packagist/schema.js +3 -4
- package/dist/modules/datasource/packagist/schema.js.map +1 -1
- package/dist/modules/datasource/pypi/index.js +2 -2
- package/dist/modules/datasource/pypi/index.js.map +1 -1
- package/dist/modules/datasource/repology/index.js +3 -3
- package/dist/modules/datasource/repology/index.js.map +1 -1
- package/dist/modules/datasource/rubygems/schema.js +5 -6
- package/dist/modules/datasource/rubygems/schema.js.map +1 -1
- package/dist/modules/datasource/util.js +2 -3
- package/dist/modules/datasource/util.js.map +1 -1
- package/dist/modules/manager/argocd/extract.js +3 -4
- package/dist/modules/manager/argocd/extract.js.map +1 -1
- package/dist/modules/manager/asdf/extract.js +2 -3
- package/dist/modules/manager/asdf/extract.js.map +1 -1
- package/dist/modules/manager/bazel/artifacts.js +2 -2
- package/dist/modules/manager/bazel/artifacts.js.map +1 -1
- package/dist/modules/manager/bazel/common.js +4 -5
- package/dist/modules/manager/bazel/common.js.map +1 -1
- package/dist/modules/manager/bazel/rules/http.js +3 -4
- package/dist/modules/manager/bazel/rules/http.js.map +1 -1
- package/dist/modules/manager/bazel/rules/maven.js +2 -3
- package/dist/modules/manager/bazel/rules/maven.js.map +1 -1
- package/dist/modules/manager/bazel-module/parser/starlark.js +2 -3
- package/dist/modules/manager/bazel-module/parser/starlark.js.map +1 -1
- package/dist/modules/manager/bazel-module/rules.js +3 -3
- package/dist/modules/manager/bazel-module/rules.js.map +1 -1
- package/dist/modules/manager/bitrise/utils.js +3 -4
- package/dist/modules/manager/bitrise/utils.js.map +1 -1
- package/dist/modules/manager/buildpacks/extract.js +2 -3
- package/dist/modules/manager/buildpacks/extract.js.map +1 -1
- package/dist/modules/manager/bun/artifacts.js +2 -2
- package/dist/modules/manager/bun/artifacts.js.map +1 -1
- package/dist/modules/manager/bun/extract.js +2 -3
- package/dist/modules/manager/bun/extract.js.map +1 -1
- package/dist/modules/manager/bundler/artifacts.js +3 -3
- package/dist/modules/manager/bundler/artifacts.js.map +1 -1
- package/dist/modules/manager/bundler/extract.js +5 -6
- package/dist/modules/manager/bundler/extract.js.map +1 -1
- package/dist/modules/manager/cargo/extract.js +3 -4
- package/dist/modules/manager/cargo/extract.js.map +1 -1
- package/dist/modules/manager/composer/artifacts.js +3 -3
- package/dist/modules/manager/composer/artifacts.js.map +1 -1
- package/dist/modules/manager/composer/utils.js +3 -4
- package/dist/modules/manager/composer/utils.js.map +1 -1
- package/dist/modules/manager/conan/extract.js +2 -3
- package/dist/modules/manager/conan/extract.js.map +1 -1
- package/dist/modules/manager/copier/artifacts.js +1 -1
- package/dist/modules/manager/copier/artifacts.js.map +1 -1
- package/dist/modules/manager/copier/utils.js +3 -4
- package/dist/modules/manager/copier/utils.js.map +1 -1
- package/dist/modules/manager/crow/extract.js +2 -3
- package/dist/modules/manager/crow/extract.js.map +1 -1
- package/dist/modules/manager/custom/jsonata/index.js +2 -3
- package/dist/modules/manager/custom/jsonata/index.js.map +1 -1
- package/dist/modules/manager/custom/jsonata/utils.js +3 -3
- package/dist/modules/manager/custom/jsonata/utils.js.map +1 -1
- package/dist/modules/manager/custom/regex/index.js +2 -3
- package/dist/modules/manager/custom/regex/index.js.map +1 -1
- package/dist/modules/manager/custom/regex/strategies.js +4 -5
- package/dist/modules/manager/custom/regex/strategies.js.map +1 -1
- package/dist/modules/manager/custom/regex/utils.js +2 -2
- package/dist/modules/manager/custom/regex/utils.js.map +1 -1
- package/dist/modules/manager/custom/utils.js +6 -7
- package/dist/modules/manager/custom/utils.js.map +1 -1
- package/dist/modules/manager/deps-edn/extract.js +13 -14
- package/dist/modules/manager/deps-edn/extract.js.map +1 -1
- package/dist/modules/manager/deps-edn/parser.js +2 -2
- package/dist/modules/manager/deps-edn/parser.js.map +1 -1
- package/dist/modules/manager/devbox/artifacts.js +2 -2
- package/dist/modules/manager/devbox/artifacts.js.map +1 -1
- package/dist/modules/manager/docker-compose/extract.js +3 -4
- package/dist/modules/manager/docker-compose/extract.js.map +1 -1
- package/dist/modules/manager/docker-compose/schema.js +2 -3
- package/dist/modules/manager/docker-compose/schema.js.map +1 -1
- package/dist/modules/manager/dockerfile/extract.js +5 -5
- package/dist/modules/manager/dockerfile/extract.js.map +1 -1
- package/dist/modules/manager/fingerprint.generated.js +6 -6
- package/dist/modules/manager/fingerprint.generated.js.map +1 -1
- package/dist/modules/manager/fleet/extract.js +2 -3
- package/dist/modules/manager/fleet/extract.js.map +1 -1
- package/dist/modules/manager/flux/extract.js +2 -3
- package/dist/modules/manager/flux/extract.js.map +1 -1
- package/dist/modules/manager/glasskube/extract.js +2 -3
- package/dist/modules/manager/glasskube/extract.js.map +1 -1
- package/dist/modules/manager/gleam/artifacts.js +3 -4
- package/dist/modules/manager/gleam/artifacts.js.map +1 -1
- package/dist/modules/manager/gomod/artifacts.js +2 -2
- package/dist/modules/manager/gomod/artifacts.js.map +1 -1
- package/dist/modules/manager/gradle/artifacts.js +2 -2
- package/dist/modules/manager/gradle/artifacts.js.map +1 -1
- package/dist/modules/manager/gradle/extract/catalog.js +5 -5
- package/dist/modules/manager/gradle/extract/catalog.js.map +1 -1
- package/dist/modules/manager/gradle-wrapper/artifacts.js +2 -2
- package/dist/modules/manager/gradle-wrapper/artifacts.js.map +1 -1
- package/dist/modules/manager/helm-requirements/extract.js +2 -3
- package/dist/modules/manager/helm-requirements/extract.js.map +1 -1
- package/dist/modules/manager/helmfile/artifacts.js +2 -3
- package/dist/modules/manager/helmfile/artifacts.js.map +1 -1
- package/dist/modules/manager/helmfile/extract.js +4 -5
- package/dist/modules/manager/helmfile/extract.js.map +1 -1
- package/dist/modules/manager/helmsman/extract.js +4 -5
- package/dist/modules/manager/helmsman/extract.js.map +1 -1
- package/dist/modules/manager/helmv3/artifacts.js +4 -4
- package/dist/modules/manager/helmv3/artifacts.js.map +1 -1
- package/dist/modules/manager/helmv3/extract.js +4 -5
- package/dist/modules/manager/helmv3/extract.js.map +1 -1
- package/dist/modules/manager/helmv3/oci.js +3 -4
- package/dist/modules/manager/helmv3/oci.js.map +1 -1
- package/dist/modules/manager/homebrew/extract.js +1 -1
- package/dist/modules/manager/homebrew/extract.js.map +1 -1
- package/dist/modules/manager/jenkins/extract.js +3 -3
- package/dist/modules/manager/jenkins/extract.js.map +1 -1
- package/dist/modules/manager/kotlin-script/extract.js +3 -4
- package/dist/modules/manager/kotlin-script/extract.js.map +1 -1
- package/dist/modules/manager/kubernetes/extract.js +4 -4
- package/dist/modules/manager/kubernetes/extract.js.map +1 -1
- package/dist/modules/manager/kustomize/artifacts.js +8 -8
- package/dist/modules/manager/kustomize/artifacts.js.map +1 -1
- package/dist/modules/manager/kustomize/extract.js +8 -8
- package/dist/modules/manager/kustomize/extract.js.map +1 -1
- package/dist/modules/manager/maven/extract.js +4 -4
- package/dist/modules/manager/maven/extract.js.map +1 -1
- package/dist/modules/manager/maven/update.js +2 -2
- package/dist/modules/manager/maven/update.js.map +1 -1
- package/dist/modules/manager/maven-wrapper/artifacts.js +2 -2
- package/dist/modules/manager/maven-wrapper/artifacts.js.map +1 -1
- package/dist/modules/manager/mise/backends.js +9 -10
- package/dist/modules/manager/mise/backends.js.map +1 -1
- package/dist/modules/manager/mise/extract.js +7 -8
- package/dist/modules/manager/mise/extract.js.map +1 -1
- package/dist/modules/manager/mix/artifacts.js +3 -3
- package/dist/modules/manager/mix/artifacts.js.map +1 -1
- package/dist/modules/manager/nix/artifacts.js +2 -2
- package/dist/modules/manager/nix/artifacts.js.map +1 -1
- package/dist/modules/manager/npm/detect.js +2 -2
- package/dist/modules/manager/npm/detect.js.map +1 -1
- package/dist/modules/manager/npm/extract/common/dependency.js +2 -2
- package/dist/modules/manager/npm/extract/common/dependency.js.map +1 -1
- package/dist/modules/manager/npm/extract/common/overrides.js +3 -4
- package/dist/modules/manager/npm/extract/common/overrides.js.map +1 -1
- package/dist/modules/manager/npm/extract/common/package-file.js +8 -9
- package/dist/modules/manager/npm/extract/common/package-file.js.map +1 -1
- package/dist/modules/manager/npm/extract/index.js +10 -10
- package/dist/modules/manager/npm/extract/index.js.map +1 -1
- package/dist/modules/manager/npm/extract/pnpm.js +7 -7
- package/dist/modules/manager/npm/extract/pnpm.js.map +1 -1
- package/dist/modules/manager/npm/extract/post/locked-versions.js +3 -3
- package/dist/modules/manager/npm/extract/post/locked-versions.js.map +1 -1
- package/dist/modules/manager/npm/extract/post/monorepo.js +3 -4
- package/dist/modules/manager/npm/extract/post/monorepo.js.map +1 -1
- package/dist/modules/manager/npm/extract/yarn.js +2 -3
- package/dist/modules/manager/npm/extract/yarn.js.map +1 -1
- package/dist/modules/manager/npm/extract/yarnrc.js +2 -3
- package/dist/modules/manager/npm/extract/yarnrc.js.map +1 -1
- package/dist/modules/manager/npm/post-update/index.js +6 -6
- package/dist/modules/manager/npm/post-update/index.js.map +1 -1
- package/dist/modules/manager/npm/post-update/npm.js +4 -4
- package/dist/modules/manager/npm/post-update/npm.js.map +1 -1
- package/dist/modules/manager/npm/post-update/pnpm.js +3 -3
- package/dist/modules/manager/npm/post-update/pnpm.js.map +1 -1
- package/dist/modules/manager/npm/post-update/rules.js +2 -2
- package/dist/modules/manager/npm/post-update/rules.js.map +1 -1
- package/dist/modules/manager/npm/post-update/utils.js +2 -2
- package/dist/modules/manager/npm/post-update/utils.js.map +1 -1
- package/dist/modules/manager/npm/post-update/yarn.js +3 -3
- package/dist/modules/manager/npm/post-update/yarn.js.map +1 -1
- package/dist/modules/manager/npm/update/dependency/index.js +2 -3
- package/dist/modules/manager/npm/update/dependency/index.js.map +1 -1
- package/dist/modules/manager/npm/update/dependency/pnpm.js +2 -3
- package/dist/modules/manager/npm/update/dependency/pnpm.js.map +1 -1
- package/dist/modules/manager/npm/update/dependency/yarn.js +3 -4
- package/dist/modules/manager/npm/update/dependency/yarn.js.map +1 -1
- package/dist/modules/manager/nuget/config-formatter.js +2 -2
- package/dist/modules/manager/nuget/config-formatter.js.map +1 -1
- package/dist/modules/manager/nuget/extract.js +4 -4
- package/dist/modules/manager/nuget/extract.js.map +1 -1
- package/dist/modules/manager/nuget/package-tree.js +2 -2
- package/dist/modules/manager/nuget/package-tree.js.map +1 -1
- package/dist/modules/manager/ocb/extract.js +2 -3
- package/dist/modules/manager/ocb/extract.js.map +1 -1
- package/dist/modules/manager/osgi/extract.js +4 -4
- package/dist/modules/manager/osgi/extract.js.map +1 -1
- package/dist/modules/manager/pep621/artifacts.js +3 -4
- package/dist/modules/manager/pep621/artifacts.js.map +1 -1
- package/dist/modules/manager/pep621/processors/uv.js +2 -3
- package/dist/modules/manager/pep621/processors/uv.js.map +1 -1
- package/dist/modules/manager/pep621/schema.d.ts +1 -1
- package/dist/modules/manager/pep621/schema.js +1 -0
- package/dist/modules/manager/pep621/schema.js.map +1 -1
- package/dist/modules/manager/pep621/utils.js +8 -10
- package/dist/modules/manager/pep621/utils.js.map +1 -1
- package/dist/modules/manager/pep723/schema.js +2 -3
- package/dist/modules/manager/pep723/schema.js.map +1 -1
- package/dist/modules/manager/pip-compile/common.js +3 -3
- package/dist/modules/manager/pip-compile/common.js.map +1 -1
- package/dist/modules/manager/pip_requirements/artifacts.js +2 -3
- package/dist/modules/manager/pip_requirements/artifacts.js.map +1 -1
- package/dist/modules/manager/pip_requirements/extract.js +2 -3
- package/dist/modules/manager/pip_requirements/extract.js.map +1 -1
- package/dist/modules/manager/pipenv/artifacts.js +3 -4
- package/dist/modules/manager/pipenv/artifacts.js.map +1 -1
- package/dist/modules/manager/pipenv/extract.js +6 -7
- package/dist/modules/manager/pipenv/extract.js.map +1 -1
- package/dist/modules/manager/pixi/artifacts.js +2 -3
- package/dist/modules/manager/pixi/artifacts.js.map +1 -1
- package/dist/modules/manager/pixi/extract.js +2 -3
- package/dist/modules/manager/pixi/extract.js.map +1 -1
- package/dist/modules/manager/poetry/artifacts.js +4 -5
- package/dist/modules/manager/poetry/artifacts.js.map +1 -1
- package/dist/modules/manager/poetry/extract.js +2 -3
- package/dist/modules/manager/poetry/extract.js.map +1 -1
- package/dist/modules/manager/poetry/schema.d.ts +4 -0
- package/dist/modules/manager/poetry/schema.js +5 -1
- package/dist/modules/manager/poetry/schema.js.map +1 -1
- package/dist/modules/manager/pre-commit/extract.js +4 -5
- package/dist/modules/manager/pre-commit/extract.js.map +1 -1
- package/dist/modules/manager/pub/artifacts.js +3 -4
- package/dist/modules/manager/pub/artifacts.js.map +1 -1
- package/dist/modules/manager/pub/extract.js +8 -11
- package/dist/modules/manager/pub/extract.js.map +1 -1
- package/dist/modules/manager/renovate-config-presets/extract.js +4 -5
- package/dist/modules/manager/renovate-config-presets/extract.js.map +1 -1
- package/dist/modules/manager/tekton/extract.js +9 -10
- package/dist/modules/manager/tekton/extract.js.map +1 -1
- package/dist/modules/manager/terraform/base.js +2 -3
- package/dist/modules/manager/terraform/base.js.map +1 -1
- package/dist/modules/manager/terraform/extract.js +2 -2
- package/dist/modules/manager/terraform/extract.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/others/modules.js +3 -4
- package/dist/modules/manager/terraform/extractors/others/modules.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/others/providers.js +3 -4
- package/dist/modules/manager/terraform/extractors/others/providers.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.js +7 -8
- package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/resources/helm-release.js +5 -6
- package/dist/modules/manager/terraform/extractors/resources/helm-release.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/resources/terraform-workspace.js +3 -4
- package/dist/modules/manager/terraform/extractors/resources/terraform-workspace.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/terraform-block/required-provider.js +4 -5
- package/dist/modules/manager/terraform/extractors/terraform-block/required-provider.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/terraform-block/terraform-version.js +3 -3
- package/dist/modules/manager/terraform/extractors/terraform-block/terraform-version.js.map +1 -1
- package/dist/modules/manager/terraform/lockfile/index.js +2 -2
- package/dist/modules/manager/terraform/lockfile/index.js.map +1 -1
- package/dist/modules/manager/terraform/lockfile/util.js +2 -3
- package/dist/modules/manager/terraform/lockfile/util.js.map +1 -1
- package/dist/modules/manager/terraform/util.js +2 -3
- package/dist/modules/manager/terraform/util.js.map +1 -1
- package/dist/modules/manager/tflint-plugin/plugins.js +2 -3
- package/dist/modules/manager/tflint-plugin/plugins.js.map +1 -1
- package/dist/modules/manager/travis/extract.js +5 -6
- package/dist/modules/manager/travis/extract.js.map +1 -1
- package/dist/modules/manager/woodpecker/extract.js +2 -3
- package/dist/modules/manager/woodpecker/extract.js.map +1 -1
- package/dist/modules/platform/azure/index.js +2 -2
- package/dist/modules/platform/azure/index.js.map +1 -1
- package/dist/modules/platform/bitbucket/index.js +5 -5
- package/dist/modules/platform/bitbucket/index.js.map +1 -1
- package/dist/modules/platform/bitbucket-server/pr-cache.js +3 -3
- package/dist/modules/platform/bitbucket-server/pr-cache.js.map +1 -1
- package/dist/modules/platform/bitbucket-server/utils.js +2 -2
- package/dist/modules/platform/bitbucket-server/utils.js.map +1 -1
- package/dist/modules/platform/codecommit/codecommit-client.js +2 -2
- package/dist/modules/platform/codecommit/codecommit-client.js.map +1 -1
- package/dist/modules/platform/forgejo/index.js +5 -5
- package/dist/modules/platform/forgejo/index.js.map +1 -1
- package/dist/modules/platform/forgejo/pr-cache.js +1 -1
- package/dist/modules/platform/forgejo/pr-cache.js.map +1 -1
- package/dist/modules/platform/forgejo/utils.js +2 -2
- package/dist/modules/platform/forgejo/utils.js.map +1 -1
- package/dist/modules/platform/gitea/index.js +5 -5
- package/dist/modules/platform/gitea/index.js.map +1 -1
- package/dist/modules/platform/gitea/pr-cache.js +1 -1
- package/dist/modules/platform/gitea/pr-cache.js.map +1 -1
- package/dist/modules/platform/gitea/utils.js +2 -2
- package/dist/modules/platform/gitea/utils.js.map +1 -1
- package/dist/modules/platform/github/common.js +4 -5
- package/dist/modules/platform/github/common.js.map +1 -1
- package/dist/modules/platform/github/index.js +5 -5
- package/dist/modules/platform/github/index.js.map +1 -1
- package/dist/modules/platform/github/pr.js +2 -3
- package/dist/modules/platform/github/pr.js.map +1 -1
- package/dist/modules/platform/gitlab/http.js +2 -3
- package/dist/modules/platform/gitlab/http.js.map +1 -1
- package/dist/modules/platform/gitlab/index.js +3 -3
- package/dist/modules/platform/gitlab/index.js.map +1 -1
- package/dist/modules/platform/gitlab/utils.js +3 -3
- package/dist/modules/platform/gitlab/utils.js.map +1 -1
- package/dist/modules/platform/pr-body.js +2 -3
- package/dist/modules/platform/pr-body.js.map +1 -1
- package/dist/modules/versioning/composer/index.js +2 -3
- package/dist/modules/versioning/composer/index.js.map +1 -1
- package/dist/modules/versioning/generic.js +5 -6
- package/dist/modules/versioning/generic.js.map +1 -1
- package/dist/modules/versioning/gradle/compare.js +3 -4
- package/dist/modules/versioning/gradle/compare.js.map +1 -1
- package/dist/modules/versioning/ivy/parse.js +1 -1
- package/dist/modules/versioning/ivy/parse.js.map +1 -1
- package/dist/modules/versioning/maven/index.js +1 -1
- package/dist/modules/versioning/maven/index.js.map +1 -1
- package/dist/modules/versioning/nixpkgs/index.js +6 -7
- package/dist/modules/versioning/nixpkgs/index.js.map +1 -1
- package/dist/modules/versioning/npm/range.js +2 -2
- package/dist/modules/versioning/npm/range.js.map +1 -1
- package/dist/modules/versioning/nuget/index.js +1 -1
- package/dist/modules/versioning/nuget/index.js.map +1 -1
- package/dist/modules/versioning/rpm/index.js +4 -5
- package/dist/modules/versioning/rpm/index.js.map +1 -1
- package/dist/modules/versioning/schema.js +2 -2
- package/dist/modules/versioning/schema.js.map +1 -1
- package/dist/modules/versioning/semver-coerced/index.js +3 -3
- package/dist/modules/versioning/semver-coerced/index.js.map +1 -1
- package/dist/modules/versioning/semver-partial/index.js +4 -4
- package/dist/modules/versioning/semver-partial/index.js.map +1 -1
- package/dist/proxy.js +3 -4
- package/dist/proxy.js.map +1 -1
- package/dist/util/array.js +4 -5
- package/dist/util/array.js.map +1 -1
- package/dist/util/assign-keys.js +2 -3
- package/dist/util/assign-keys.js.map +1 -1
- package/dist/util/cache/package/decorator.js +6 -6
- package/dist/util/cache/package/decorator.js.map +1 -1
- package/dist/util/cache/package/ttl.js +4 -5
- package/dist/util/cache/package/ttl.js.map +1 -1
- package/dist/util/cache/repository/impl/base.js +3 -4
- package/dist/util/cache/repository/impl/base.js.map +1 -1
- package/dist/util/cache/repository/impl/s3.js +2 -3
- package/dist/util/cache/repository/impl/s3.js.map +1 -1
- package/dist/util/exec/common.js +2 -3
- package/dist/util/exec/common.js.map +1 -1
- package/dist/util/exec/containerbase.js +2 -2
- package/dist/util/exec/containerbase.js.map +1 -1
- package/dist/util/exec/docker/index.js +5 -5
- package/dist/util/exec/docker/index.js.map +1 -1
- package/dist/util/exec/index.js +2 -2
- package/dist/util/exec/index.js.map +1 -1
- package/dist/util/exec/utils.js +3 -4
- package/dist/util/exec/utils.js.map +1 -1
- package/dist/util/filter-map.js +2 -3
- package/dist/util/filter-map.js.map +1 -1
- package/dist/util/fs/index.js +3 -3
- package/dist/util/fs/index.js.map +1 -1
- package/dist/util/git/auth.js +2 -3
- package/dist/util/git/auth.js.map +1 -1
- package/dist/util/git/behind-base-branch-cache.js +2 -1
- package/dist/util/git/behind-base-branch-cache.js.map +1 -1
- package/dist/util/git/config.js +3 -4
- package/dist/util/git/config.js.map +1 -1
- package/dist/util/git/conflicts-cache.js +2 -1
- package/dist/util/git/conflicts-cache.js.map +1 -1
- package/dist/util/git/index.js +5 -5
- package/dist/util/git/index.js.map +1 -1
- package/dist/util/git/private-key.js +2 -2
- package/dist/util/git/private-key.js.map +1 -1
- package/dist/util/github/graphql/datasource-fetcher.js +2 -1
- package/dist/util/github/graphql/datasource-fetcher.js.map +1 -1
- package/dist/util/host-rules.js +6 -6
- package/dist/util/host-rules.js.map +1 -1
- package/dist/util/http/auth.js +3 -4
- package/dist/util/http/auth.js.map +1 -1
- package/dist/util/http/bitbucket-server.js +2 -3
- package/dist/util/http/bitbucket-server.js.map +1 -1
- package/dist/util/http/bitbucket.js +3 -4
- package/dist/util/http/bitbucket.js.map +1 -1
- package/dist/util/http/cache/package-http-cache-provider.js +2 -2
- package/dist/util/http/cache/package-http-cache-provider.js.map +1 -1
- package/dist/util/http/forgejo.js +3 -4
- package/dist/util/http/forgejo.js.map +1 -1
- package/dist/util/http/gitea.js +3 -4
- package/dist/util/http/gitea.js.map +1 -1
- package/dist/util/http/github.js +10 -10
- package/dist/util/http/github.js.map +1 -1
- package/dist/util/http/gitlab.js +4 -5
- package/dist/util/http/gitlab.js.map +1 -1
- package/dist/util/http/host-rules.js +10 -10
- package/dist/util/http/host-rules.js.map +1 -1
- package/dist/util/http/http.js +5 -5
- package/dist/util/http/http.js.map +1 -1
- package/dist/util/http/rate-limits.js +3 -3
- package/dist/util/http/rate-limits.js.map +1 -1
- package/dist/util/http/retry-after.js +3 -4
- package/dist/util/http/retry-after.js.map +1 -1
- package/dist/util/interpolator.js +8 -9
- package/dist/util/interpolator.js.map +1 -1
- package/dist/util/merge-confidence/index.js +5 -5
- package/dist/util/merge-confidence/index.js.map +1 -1
- package/dist/util/number.js +2 -3
- package/dist/util/number.js.map +1 -1
- package/dist/util/package-rules/base-branches.js +3 -4
- package/dist/util/package-rules/base-branches.js.map +1 -1
- package/dist/util/package-rules/categories.js +3 -4
- package/dist/util/package-rules/categories.js.map +1 -1
- package/dist/util/package-rules/current-age.js +3 -4
- package/dist/util/package-rules/current-age.js.map +1 -1
- package/dist/util/package-rules/current-value.js +2 -3
- package/dist/util/package-rules/current-value.js.map +1 -1
- package/dist/util/package-rules/current-version.js +5 -5
- package/dist/util/package-rules/current-version.js.map +1 -1
- package/dist/util/package-rules/datasources.js +3 -4
- package/dist/util/package-rules/datasources.js.map +1 -1
- package/dist/util/package-rules/dep-names.js +3 -4
- package/dist/util/package-rules/dep-names.js.map +1 -1
- package/dist/util/package-rules/dep-types.js +2 -3
- package/dist/util/package-rules/dep-types.js.map +1 -1
- package/dist/util/package-rules/files.js +4 -5
- package/dist/util/package-rules/files.js.map +1 -1
- package/dist/util/package-rules/index.js +6 -6
- package/dist/util/package-rules/index.js.map +1 -1
- package/dist/util/package-rules/managers.js +3 -4
- package/dist/util/package-rules/managers.js.map +1 -1
- package/dist/util/package-rules/merge-confidence.js +5 -6
- package/dist/util/package-rules/merge-confidence.js.map +1 -1
- package/dist/util/package-rules/new-value.js +2 -3
- package/dist/util/package-rules/new-value.js.map +1 -1
- package/dist/util/package-rules/package-names.js +2 -3
- package/dist/util/package-rules/package-names.js.map +1 -1
- package/dist/util/package-rules/repositories.js +3 -4
- package/dist/util/package-rules/repositories.js.map +1 -1
- package/dist/util/package-rules/sourceurls.js +2 -3
- package/dist/util/package-rules/sourceurls.js.map +1 -1
- package/dist/util/package-rules/update-types.js +2 -3
- package/dist/util/package-rules/update-types.js.map +1 -1
- package/dist/util/pretty-time.js +4 -4
- package/dist/util/pretty-time.js.map +1 -1
- package/dist/util/regex.js +2 -3
- package/dist/util/regex.js.map +1 -1
- package/dist/util/s3.js +2 -3
- package/dist/util/s3.js.map +1 -1
- package/dist/util/sanitize.js +2 -3
- package/dist/util/sanitize.js.map +1 -1
- package/dist/util/string-match.js +2 -3
- package/dist/util/string-match.js.map +1 -1
- package/dist/util/template/index.js +6 -6
- package/dist/util/template/index.js.map +1 -1
- package/dist/util/url.js +5 -5
- package/dist/util/url.js.map +1 -1
- package/dist/workers/global/autodiscover.js +3 -4
- package/dist/workers/global/autodiscover.js.map +1 -1
- package/dist/workers/global/config/parse/additional-config-file.js +4 -4
- package/dist/workers/global/config/parse/additional-config-file.js.map +1 -1
- package/dist/workers/global/config/parse/coersions.js +2 -2
- package/dist/workers/global/config/parse/coersions.js.map +1 -1
- package/dist/workers/global/config/parse/env.js +2 -2
- package/dist/workers/global/config/parse/env.js.map +1 -1
- package/dist/workers/global/config/parse/file.js +5 -5
- package/dist/workers/global/config/parse/file.js.map +1 -1
- package/dist/workers/global/config/parse/index.js +6 -7
- package/dist/workers/global/config/parse/index.js.map +1 -1
- package/dist/workers/global/config/parse/util.js +2 -2
- package/dist/workers/global/config/parse/util.js.map +1 -1
- package/dist/workers/global/index.js +5 -5
- package/dist/workers/global/index.js.map +1 -1
- package/dist/workers/global/limits.js +6 -7
- package/dist/workers/global/limits.js.map +1 -1
- package/dist/workers/repository/config-migration/branch/index.js +2 -3
- package/dist/workers/repository/config-migration/branch/index.js.map +1 -1
- package/dist/workers/repository/config-migration/branch/migrated-data.js +2 -2
- package/dist/workers/repository/config-migration/branch/migrated-data.js.map +1 -1
- package/dist/workers/repository/config-migration/pr/index.js +3 -3
- package/dist/workers/repository/config-migration/pr/index.js.map +1 -1
- package/dist/workers/repository/dependency-dashboard.js +10 -10
- package/dist/workers/repository/dependency-dashboard.js.map +1 -1
- package/dist/workers/repository/extract/index.js +2 -3
- package/dist/workers/repository/extract/index.js.map +1 -1
- package/dist/workers/repository/extract/manager-files.js +2 -3
- package/dist/workers/repository/extract/manager-files.js.map +1 -1
- package/dist/workers/repository/extract/supersedes.js +4 -5
- package/dist/workers/repository/extract/supersedes.js.map +1 -1
- package/dist/workers/repository/finalize/prune.js +2 -3
- package/dist/workers/repository/finalize/prune.js.map +1 -1
- package/dist/workers/repository/init/inherited.js +5 -5
- package/dist/workers/repository/init/inherited.js.map +1 -1
- package/dist/workers/repository/init/merge.js +13 -13
- package/dist/workers/repository/init/merge.js.map +1 -1
- package/dist/workers/repository/model/commit-message.js +2 -3
- package/dist/workers/repository/model/commit-message.js.map +1 -1
- package/dist/workers/repository/onboarding/branch/check.js +2 -1
- package/dist/workers/repository/onboarding/branch/check.js.map +1 -1
- package/dist/workers/repository/onboarding/branch/index.js +3 -4
- package/dist/workers/repository/onboarding/branch/index.js.map +1 -1
- package/dist/workers/repository/onboarding/branch/onboarding-branch-cache.js +7 -8
- package/dist/workers/repository/onboarding/branch/onboarding-branch-cache.js.map +1 -1
- package/dist/workers/repository/onboarding/pr/config-description.js +2 -5
- package/dist/workers/repository/onboarding/pr/config-description.js.map +1 -1
- package/dist/workers/repository/onboarding/pr/index.js +3 -3
- package/dist/workers/repository/onboarding/pr/index.js.map +1 -1
- package/dist/workers/repository/package-files.js +8 -9
- package/dist/workers/repository/package-files.js.map +1 -1
- package/dist/workers/repository/process/extract-update.js +2 -2
- package/dist/workers/repository/process/extract-update.js.map +1 -1
- package/dist/workers/repository/process/fetch.js +3 -3
- package/dist/workers/repository/process/fetch.js.map +1 -1
- package/dist/workers/repository/process/lookup/current.js +2 -3
- package/dist/workers/repository/process/lookup/current.js.map +1 -1
- package/dist/workers/repository/process/lookup/filter-checks.js +4 -5
- package/dist/workers/repository/process/lookup/filter-checks.js.map +1 -1
- package/dist/workers/repository/process/lookup/generate.js +2 -3
- package/dist/workers/repository/process/lookup/generate.js.map +1 -1
- package/dist/workers/repository/process/lookup/index.js +15 -16
- package/dist/workers/repository/process/lookup/index.js.map +1 -1
- package/dist/workers/repository/process/lookup/utils.js +7 -7
- package/dist/workers/repository/process/lookup/utils.js.map +1 -1
- package/dist/workers/repository/process/vulnerabilities.js +11 -11
- package/dist/workers/repository/process/vulnerabilities.js.map +1 -1
- package/dist/workers/repository/process/write.js +2 -3
- package/dist/workers/repository/process/write.js.map +1 -1
- package/dist/workers/repository/reconfigure/comment.js +2 -5
- package/dist/workers/repository/reconfigure/comment.js.map +1 -1
- package/dist/workers/repository/reconfigure/utils.js +2 -3
- package/dist/workers/repository/reconfigure/utils.js.map +1 -1
- package/dist/workers/repository/reconfigure/validate.js +2 -3
- package/dist/workers/repository/reconfigure/validate.js.map +1 -1
- package/dist/workers/repository/update/branch/auto-replace.js +4 -5
- package/dist/workers/repository/update/branch/auto-replace.js.map +1 -1
- package/dist/workers/repository/update/branch/commit.js +3 -4
- package/dist/workers/repository/update/branch/commit.js.map +1 -1
- package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js +12 -5
- package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js.map +1 -1
- package/dist/workers/repository/update/branch/get-updated.js +8 -9
- package/dist/workers/repository/update/branch/get-updated.js.map +1 -1
- package/dist/workers/repository/update/branch/index.js +3 -3
- package/dist/workers/repository/update/branch/index.js.map +1 -1
- package/dist/workers/repository/update/branch/schedule.js +2 -2
- package/dist/workers/repository/update/branch/schedule.js.map +1 -1
- package/dist/workers/repository/update/pr/body/notes.js +2 -2
- package/dist/workers/repository/update/pr/body/notes.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/bitbucket/index.js +2 -2
- package/dist/workers/repository/update/pr/changelog/bitbucket/index.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/index.js +3 -3
- package/dist/workers/repository/update/pr/changelog/index.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/release-notes.js +4 -4
- package/dist/workers/repository/update/pr/changelog/release-notes.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/source.js +8 -8
- package/dist/workers/repository/update/pr/changelog/source.js.map +1 -1
- package/dist/workers/repository/update/pr/code-owners.js +2 -2
- package/dist/workers/repository/update/pr/code-owners.js.map +1 -1
- package/dist/workers/repository/update/pr/index.js +7 -8
- package/dist/workers/repository/update/pr/index.js.map +1 -1
- package/dist/workers/repository/update/pr/labels.js +4 -4
- package/dist/workers/repository/update/pr/labels.js.map +1 -1
- package/dist/workers/repository/update/pr/participants.js +4 -5
- package/dist/workers/repository/update/pr/participants.js.map +1 -1
- package/dist/workers/repository/updates/generate.js +4 -4
- package/dist/workers/repository/updates/generate.js.map +1 -1
- package/package.json +5 -5
- package/renovate-schema.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/nuget/index.ts"],"names":[],"mappings":"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","sourcesContent":["import type { NewValueConfig, VersioningApi } from '../types';\nimport { parseRange, parseVersion } from './parser';\nimport {\n coerceFloatingComponent,\n getFloatingRangeLowerBound,\n matches,\n rangeToString,\n tryBump,\n} from './range';\nimport type {\n NugetBracketRange,\n NugetFloatingRange,\n NugetVersion,\n} from './types';\nimport { compare, versionToString } from './version';\n\nexport const id = 'nuget';\nexport const displayName = 'NuGet';\nexport const urls = [\n 'https://learn.microsoft.com/nuget/concepts/package-versioning',\n 'https://nugettools.azurewebsites.net/',\n];\nexport const supportsRanges = true;\nexport const supportedRangeStrategies = ['bump'];\n\nclass NugetVersioningApi implements VersioningApi {\n isCompatible(version: string, _current?: string): boolean {\n return this.isValid(version);\n }\n\n isSingleVersion(version: string): boolean {\n const r = parseRange(version);\n if (!r) {\n return false;\n }\n\n return r.type === 'nuget-exact-range';\n }\n\n isStable(version: string): boolean {\n const v = parseVersion(version);\n if (v) {\n return !v.prerelease;\n }\n\n const r = parseRange(version);\n if (!r || r.type !== 'nuget-exact-range') {\n return false;\n }\n\n return !r.version.prerelease;\n }\n\n isValid(input: string): boolean {\n const v = parseVersion(input);\n if (v) {\n return true;\n }\n\n const r = parseRange(input);\n if (r) {\n return true;\n }\n\n return false;\n }\n\n isVersion(input: string | undefined | null): boolean {\n if (!input) {\n return false;\n }\n\n const v = parseVersion(input);\n if (!v) {\n return false;\n }\n\n return true;\n }\n\n getMajor(version: string): number | null {\n const v = parseVersion(version);\n if (!v) {\n return null;\n }\n\n return v.major;\n }\n\n getMinor(version: string): number | null {\n const v = parseVersion(version);\n if (!v) {\n return null;\n }\n\n return v.minor ?? null;\n }\n\n getPatch(version: string): number | null {\n const v = parseVersion(version);\n if (!v) {\n return null;\n }\n\n return v.patch ?? null;\n }\n\n equals(version: string, other: string): boolean {\n const x = parseVersion(version);\n const y = parseVersion(other);\n if (!x || !y) {\n return false;\n }\n\n return compare(x, y) === 0;\n }\n\n isGreaterThan(version: string, other: string): boolean {\n const x = parseVersion(version);\n const y = parseVersion(other);\n if (!x || !y) {\n return false;\n }\n\n return compare(x, y) > 0;\n }\n\n isLessThanRange(version: string, range: string): boolean {\n const v = parseVersion(version);\n if (!v) {\n return false;\n }\n\n const u = parseVersion(range);\n if (u) {\n return compare(v, u) < 0;\n }\n\n const r = parseRange(range);\n if (!r) {\n return false;\n }\n\n if (r.type === 'nuget-exact-range') {\n return compare(v, r.version) < 0;\n }\n\n if (r.type === 'nuget-bracket-range') {\n if (!r.min) {\n return false;\n }\n\n const minBound =\n r.min.type === 'nuget-version'\n ? r.min\n : getFloatingRangeLowerBound(r.min);\n const cmp = compare(v, minBound);\n return r.minInclusive ? cmp < 0 : cmp <= 0;\n }\n\n const minBound = getFloatingRangeLowerBound(r);\n return compare(v, minBound) < 0;\n }\n\n getSatisfyingVersion(versions: string[], range: string): string | null {\n const r = parseRange(range);\n if (r) {\n let result: string | null = null;\n let vMax: NugetVersion | undefined;\n for (const version of versions) {\n const v = parseVersion(version);\n if (!v) {\n continue;\n }\n\n if (!matches(v, r)) {\n continue;\n }\n\n if (!vMax || compare(v, vMax) > 0) {\n vMax = v;\n result = version;\n }\n }\n\n return result;\n }\n\n const u = parseVersion(range);\n if (u) {\n let result: string | null = null;\n let vMax: NugetVersion | undefined;\n for (const version of versions) {\n const v = parseVersion(version);\n if (!v) {\n continue;\n }\n\n if (compare(v, u) < 0) {\n continue;\n }\n\n if (!vMax || compare(v, vMax) > 0) {\n vMax = v;\n result = version;\n }\n }\n\n return result;\n }\n\n return null;\n }\n\n minSatisfyingVersion(versions: string[], range: string): string | null {\n const r = parseRange(range);\n if (r) {\n let result: string | null = null;\n let vMin: NugetVersion | undefined;\n for (const version of versions) {\n const v = parseVersion(version);\n if (!v) {\n continue;\n }\n\n if (!matches(v, r)) {\n continue;\n }\n\n if (!vMin || compare(v, vMin) < 0) {\n result = version;\n vMin = v;\n }\n }\n\n return result;\n }\n\n const u = parseVersion(range);\n if (u) {\n let result: string | null = null;\n let vMin: NugetVersion | undefined;\n for (const version of versions) {\n const v = parseVersion(version);\n if (!v) {\n continue;\n }\n\n if (compare(v, u) < 0) {\n continue;\n }\n\n if (!vMin || compare(v, vMin) < 0) {\n result = version;\n vMin = v;\n }\n }\n\n return result;\n }\n\n return null;\n }\n\n getPinnedValue(newVersion: string): string {\n const v = parseVersion(newVersion);\n if (!v) {\n return '';\n }\n return rangeToString({ type: 'nuget-exact-range', version: v });\n }\n\n getNewValue({\n currentValue,\n rangeStrategy,\n currentVersion,\n newVersion,\n }: NewValueConfig): string | null {\n const v = parseVersion(newVersion);\n if (!v) {\n return null;\n }\n\n if (this.isVersion(currentValue)) {\n return newVersion;\n }\n\n const r = parseRange(currentValue);\n if (!r) {\n return null;\n }\n\n if (this.isLessThanRange(newVersion, currentValue)) {\n return currentValue;\n }\n\n if (r.type === 'nuget-exact-range') {\n return rangeToString({ type: 'nuget-exact-range', version: v });\n }\n\n if (r.type === 'nuget-floating-range') {\n const floating = r.floating;\n if (!floating) {\n return versionToString(v);\n }\n\n const res: NugetFloatingRange = { ...r };\n\n if (floating === 'major') {\n res.major = coerceFloatingComponent(v.major);\n return tryBump(res, v, currentValue);\n }\n res.major = v.major;\n\n if (floating === 'minor') {\n res.minor = coerceFloatingComponent(v.minor);\n return tryBump(res, v, currentValue);\n }\n res.minor = v.minor ?? 0;\n\n if (floating === 'patch') {\n res.patch = coerceFloatingComponent(v.patch);\n return tryBump(res, v, currentValue);\n }\n res.patch = v.patch ?? 0;\n\n res.revision = coerceFloatingComponent(v.revision);\n return tryBump(res, v, currentValue);\n }\n\n const res: NugetBracketRange = { ...r };\n\n if (!r.max) {\n res.min = v;\n res.minInclusive = true;\n return rangeToString(res);\n }\n\n if (matches(v, r)) {\n return currentValue;\n }\n\n if (!r.min) {\n res.max = v;\n res.maxInclusive = true;\n return rangeToString(res);\n }\n\n res.max = v;\n res.maxInclusive = true;\n return rangeToString(res);\n }\n\n sortVersions(version: string, other: string): number {\n const x = parseVersion(version);\n const y = parseVersion(other);\n if (!x || !y) {\n return 0;\n }\n\n return compare(x, y);\n }\n\n matches(version: string, range: string): boolean {\n const v = parseVersion(version);\n if (!v) {\n return false;\n }\n\n const u = parseVersion(range);\n if (u) {\n return compare(v, u) >= 0;\n }\n\n const r = parseRange(range);\n if (!r) {\n return false;\n }\n\n return matches(v, r);\n }\n}\n\nexport const api: VersioningApi = new NugetVersioningApi();\n\nexport default api;\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/nuget/index.ts"],"names":[],"mappings":"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","sourcesContent":["import type { NewValueConfig, VersioningApi } from '../types';\nimport { parseRange, parseVersion } from './parser';\nimport {\n coerceFloatingComponent,\n getFloatingRangeLowerBound,\n matches,\n rangeToString,\n tryBump,\n} from './range';\nimport type {\n NugetBracketRange,\n NugetFloatingRange,\n NugetVersion,\n} from './types';\nimport { compare, versionToString } from './version';\n\nexport const id = 'nuget';\nexport const displayName = 'NuGet';\nexport const urls = [\n 'https://learn.microsoft.com/nuget/concepts/package-versioning',\n 'https://nugettools.azurewebsites.net/',\n];\nexport const supportsRanges = true;\nexport const supportedRangeStrategies = ['bump'];\n\nclass NugetVersioningApi implements VersioningApi {\n isCompatible(version: string, _current?: string): boolean {\n return this.isValid(version);\n }\n\n isSingleVersion(version: string): boolean {\n const r = parseRange(version);\n if (!r) {\n return false;\n }\n\n return r.type === 'nuget-exact-range';\n }\n\n isStable(version: string): boolean {\n const v = parseVersion(version);\n if (v) {\n return !v.prerelease;\n }\n\n const r = parseRange(version);\n if (r?.type !== 'nuget-exact-range') {\n return false;\n }\n\n return !r.version.prerelease;\n }\n\n isValid(input: string): boolean {\n const v = parseVersion(input);\n if (v) {\n return true;\n }\n\n const r = parseRange(input);\n if (r) {\n return true;\n }\n\n return false;\n }\n\n isVersion(input: string | undefined | null): boolean {\n if (!input) {\n return false;\n }\n\n const v = parseVersion(input);\n if (!v) {\n return false;\n }\n\n return true;\n }\n\n getMajor(version: string): number | null {\n const v = parseVersion(version);\n if (!v) {\n return null;\n }\n\n return v.major;\n }\n\n getMinor(version: string): number | null {\n const v = parseVersion(version);\n if (!v) {\n return null;\n }\n\n return v.minor ?? null;\n }\n\n getPatch(version: string): number | null {\n const v = parseVersion(version);\n if (!v) {\n return null;\n }\n\n return v.patch ?? null;\n }\n\n equals(version: string, other: string): boolean {\n const x = parseVersion(version);\n const y = parseVersion(other);\n if (!x || !y) {\n return false;\n }\n\n return compare(x, y) === 0;\n }\n\n isGreaterThan(version: string, other: string): boolean {\n const x = parseVersion(version);\n const y = parseVersion(other);\n if (!x || !y) {\n return false;\n }\n\n return compare(x, y) > 0;\n }\n\n isLessThanRange(version: string, range: string): boolean {\n const v = parseVersion(version);\n if (!v) {\n return false;\n }\n\n const u = parseVersion(range);\n if (u) {\n return compare(v, u) < 0;\n }\n\n const r = parseRange(range);\n if (!r) {\n return false;\n }\n\n if (r.type === 'nuget-exact-range') {\n return compare(v, r.version) < 0;\n }\n\n if (r.type === 'nuget-bracket-range') {\n if (!r.min) {\n return false;\n }\n\n const minBound =\n r.min.type === 'nuget-version'\n ? r.min\n : getFloatingRangeLowerBound(r.min);\n const cmp = compare(v, minBound);\n return r.minInclusive ? cmp < 0 : cmp <= 0;\n }\n\n const minBound = getFloatingRangeLowerBound(r);\n return compare(v, minBound) < 0;\n }\n\n getSatisfyingVersion(versions: string[], range: string): string | null {\n const r = parseRange(range);\n if (r) {\n let result: string | null = null;\n let vMax: NugetVersion | undefined;\n for (const version of versions) {\n const v = parseVersion(version);\n if (!v) {\n continue;\n }\n\n if (!matches(v, r)) {\n continue;\n }\n\n if (!vMax || compare(v, vMax) > 0) {\n vMax = v;\n result = version;\n }\n }\n\n return result;\n }\n\n const u = parseVersion(range);\n if (u) {\n let result: string | null = null;\n let vMax: NugetVersion | undefined;\n for (const version of versions) {\n const v = parseVersion(version);\n if (!v) {\n continue;\n }\n\n if (compare(v, u) < 0) {\n continue;\n }\n\n if (!vMax || compare(v, vMax) > 0) {\n vMax = v;\n result = version;\n }\n }\n\n return result;\n }\n\n return null;\n }\n\n minSatisfyingVersion(versions: string[], range: string): string | null {\n const r = parseRange(range);\n if (r) {\n let result: string | null = null;\n let vMin: NugetVersion | undefined;\n for (const version of versions) {\n const v = parseVersion(version);\n if (!v) {\n continue;\n }\n\n if (!matches(v, r)) {\n continue;\n }\n\n if (!vMin || compare(v, vMin) < 0) {\n result = version;\n vMin = v;\n }\n }\n\n return result;\n }\n\n const u = parseVersion(range);\n if (u) {\n let result: string | null = null;\n let vMin: NugetVersion | undefined;\n for (const version of versions) {\n const v = parseVersion(version);\n if (!v) {\n continue;\n }\n\n if (compare(v, u) < 0) {\n continue;\n }\n\n if (!vMin || compare(v, vMin) < 0) {\n result = version;\n vMin = v;\n }\n }\n\n return result;\n }\n\n return null;\n }\n\n getPinnedValue(newVersion: string): string {\n const v = parseVersion(newVersion);\n if (!v) {\n return '';\n }\n return rangeToString({ type: 'nuget-exact-range', version: v });\n }\n\n getNewValue({\n currentValue,\n rangeStrategy,\n currentVersion,\n newVersion,\n }: NewValueConfig): string | null {\n const v = parseVersion(newVersion);\n if (!v) {\n return null;\n }\n\n if (this.isVersion(currentValue)) {\n return newVersion;\n }\n\n const r = parseRange(currentValue);\n if (!r) {\n return null;\n }\n\n if (this.isLessThanRange(newVersion, currentValue)) {\n return currentValue;\n }\n\n if (r.type === 'nuget-exact-range') {\n return rangeToString({ type: 'nuget-exact-range', version: v });\n }\n\n if (r.type === 'nuget-floating-range') {\n const floating = r.floating;\n if (!floating) {\n return versionToString(v);\n }\n\n const res: NugetFloatingRange = { ...r };\n\n if (floating === 'major') {\n res.major = coerceFloatingComponent(v.major);\n return tryBump(res, v, currentValue);\n }\n res.major = v.major;\n\n if (floating === 'minor') {\n res.minor = coerceFloatingComponent(v.minor);\n return tryBump(res, v, currentValue);\n }\n res.minor = v.minor ?? 0;\n\n if (floating === 'patch') {\n res.patch = coerceFloatingComponent(v.patch);\n return tryBump(res, v, currentValue);\n }\n res.patch = v.patch ?? 0;\n\n res.revision = coerceFloatingComponent(v.revision);\n return tryBump(res, v, currentValue);\n }\n\n const res: NugetBracketRange = { ...r };\n\n if (!r.max) {\n res.min = v;\n res.minInclusive = true;\n return rangeToString(res);\n }\n\n if (matches(v, r)) {\n return currentValue;\n }\n\n if (!r.min) {\n res.max = v;\n res.maxInclusive = true;\n return rangeToString(res);\n }\n\n res.max = v;\n res.maxInclusive = true;\n return rangeToString(res);\n }\n\n sortVersions(version: string, other: string): number {\n const x = parseVersion(version);\n const y = parseVersion(other);\n if (!x || !y) {\n return 0;\n }\n\n return compare(x, y);\n }\n\n matches(version: string, range: string): boolean {\n const v = parseVersion(version);\n if (!v) {\n return false;\n }\n\n const u = parseVersion(range);\n if (u) {\n return compare(v, u) >= 0;\n }\n\n const r = parseRange(range);\n if (!r) {\n return false;\n }\n\n return matches(v, r);\n }\n}\n\nexport const api: VersioningApi = new NugetVersioningApi();\n\nexport default api;\n"]}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.api = exports.supportsRanges = exports.urls = exports.displayName = exports.id = void 0;
|
|
4
|
-
const
|
|
5
|
-
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
4
|
+
const is_1 = require("@sindresorhus/is");
|
|
6
5
|
const regex_1 = require("../../../util/regex");
|
|
7
6
|
const generic_1 = require("../generic");
|
|
8
7
|
exports.id = 'rpm';
|
|
@@ -123,9 +122,9 @@ class RpmVersioningApi extends generic_1.GenericVersioningApi {
|
|
|
123
122
|
return -1;
|
|
124
123
|
}
|
|
125
124
|
}
|
|
126
|
-
if (is_1.
|
|
125
|
+
if ((0, is_1.isNumericString)(matchv1?.[0])) {
|
|
127
126
|
// numbers are greater than letters
|
|
128
|
-
if (!is_1.
|
|
127
|
+
if (!(0, is_1.isNumericString)(matchv2?.[0])) {
|
|
129
128
|
return 1;
|
|
130
129
|
}
|
|
131
130
|
//We clearly have a number here, so return which is greater
|
|
@@ -137,7 +136,7 @@ class RpmVersioningApi extends generic_1.GenericVersioningApi {
|
|
|
137
136
|
}
|
|
138
137
|
return Math.sign(result);
|
|
139
138
|
}
|
|
140
|
-
else if (is_1.
|
|
139
|
+
else if ((0, is_1.isNumericString)(matchv2?.[0])) {
|
|
141
140
|
return -1;
|
|
142
141
|
}
|
|
143
142
|
// We have two string globs, compare them
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/rpm/index.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { regEx } from '../../../util/regex';\nimport type { GenericVersion } from '../generic';\nimport { GenericVersioningApi } from '../generic';\nimport type { VersioningApi } from '../types';\n\nexport const id = 'rpm';\nexport const displayName = 'RPM version';\nexport const urls = [\n 'https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/',\n 'https://fedoraproject.org/wiki/Package_Versioning_Examples',\n 'https://fedoraproject.org/wiki/User:Tibbs/TildeCaretVersioning',\n];\nexport const supportsRanges = false;\n\nconst alphaNumPattern = regEx(/([a-zA-Z]+)|(\\d+)|(~)/g);\nconst epochPattern = regEx(/^\\d+$/);\n\nexport interface RpmVersion extends GenericVersion {\n /**\n * epoch, defaults to 0 if not present, are used to leave version mistakes and previous\n * versioning schemes behind.\n */\n epoch: number;\n /**\n * upstreamVersion is the main version part: it defines the version of origin software\n * that was packaged.\n */\n upstreamVersion: string;\n /**\n * rpmRelease is used to distinguish between different versions of packaging for the\n * same upstream version.\n */\n rpmRelease: string;\n\n /**\n * rpmPreRelease is used to distinguish versions of prerelease of the same upstream and release version\n * Example: Python 3.12.0-1 > Python 3.12.0-1~a1\n */\n rpmPreRelease: string;\n\n /**\n * snapshot is an archive taken from upstream's source code control system which is not equivalent to any release version.\n * This field must at minimum consist of the date in eight-digit \"YYYYMMDD\" format. The packager MAY\n * include up to 17 characters of additional information after the date. The following formats are suggested:\n * YYYYMMDD.<revision>\n * YYYYMMDD<scm><revision>\n */\n snapshot: string;\n}\n\nclass RpmVersioningApi extends GenericVersioningApi {\n /**\n * https://github.com/rpm-software-management/rpm/blob/e3c11a790367016aed7ea48cfcc78751a71ce862/rpmio/rpmvercmp.c#L16\n */\n protected _parse(version: string): RpmVersion | null {\n let remainingVersion = version;\n\n let epoch = 0;\n const epochIndex = remainingVersion.indexOf(':');\n if (epochIndex !== -1) {\n const epochStr = remainingVersion.slice(0, epochIndex);\n if (epochPattern.test(epochStr)) {\n epoch = parseInt(epochStr);\n } else {\n return null;\n }\n\n remainingVersion = remainingVersion.slice(epochIndex + 1);\n }\n\n let upstreamVersion: string;\n let rpmRelease = '';\n let rpmPreRelease = '';\n let snapshot = '';\n const releaseIndex = remainingVersion.indexOf('-');\n const prereleaseIndex = remainingVersion.indexOf('~');\n\n // Note: There can be a snapshot if there is no prerelease. Snapshot always beat no snapshot,\n // so if there is 3.12.0-1 vs 3.12.0-1^20231110, the snapshot wins.\n // The logic below only creates snapshot IF there is a prerleease version. This logic is NOT\n // correct, but the result is still correct due to the caret being ignored in release, and\n // release continue comparing\n //\n // Note: If there IS a tilde preceding the caret, then snapshot DOES NOT win\n // Example: 3.12.0-1~^20231001 LOSES to 3.12.0-1 and\n // 3.12.0-1~^20231001 LOSES to 3.12.0-1^20231001\n const snapshotIndex = remainingVersion.indexOf('^');\n\n if (releaseIndex >= 0) {\n upstreamVersion = remainingVersion.slice(0, releaseIndex);\n\n // Do NOT splice out prerelease, we need to distinguish if the flag is set or not, regardless if there is a version.\n // The tilde will get filtered out during regex\n if (prereleaseIndex >= 0) {\n rpmRelease = remainingVersion.slice(releaseIndex, prereleaseIndex);\n if (snapshotIndex >= 0) {\n rpmPreRelease = remainingVersion.slice(\n prereleaseIndex,\n snapshotIndex,\n );\n snapshot = remainingVersion.slice(snapshotIndex + 1);\n } else {\n rpmPreRelease = remainingVersion.slice(prereleaseIndex);\n }\n } else {\n rpmRelease = remainingVersion.slice(releaseIndex + 1);\n }\n } else {\n upstreamVersion = remainingVersion;\n }\n\n const release = [...remainingVersion.matchAll(regEx(/\\d+/g))].map((m) =>\n parseInt(m[0]),\n );\n\n return {\n epoch,\n upstreamVersion,\n rpmRelease,\n release,\n rpmPreRelease,\n snapshot,\n };\n }\n\n protected _compare_string(s1: string, s2: string): number {\n if (s1 === s2) {\n return 0;\n }\n\n const minLength = Math.min(s1.length, s2.length);\n\n for (let i = 0; i < minLength; i++) {\n const c1 = s1[i];\n const c2 = s2[i];\n\n if (c1 === c2) {\n continue;\n }\n\n if (c1 > c2) {\n return 1;\n } else if (c1 < c2) {\n return -1;\n }\n }\n\n // Okay, they've been the exact same up until now, so return the longer one\n return s1.length > s2.length ? 1 : -1;\n }\n\n /**\n * Taken from https://github.com/rpm-software-management/rpm/blob/master/rpmio/rpmvercmp.c\n */\n protected _compare_glob(v1: string, v2: string): number {\n if (v1 === v2) {\n return 0;\n }\n\n const matchesv1 = v1.match(alphaNumPattern) ?? [];\n const matchesv2 = v2.match(alphaNumPattern) ?? [];\n const matches = Math.min(matchesv1.length, matchesv2.length);\n\n for (let i = 0; i < matches; i++) {\n const matchv1 = matchesv1[i];\n const matchv2 = matchesv2[i];\n\n // compare tildes\n if (matchv1?.startsWith('~') || matchv2?.startsWith('~')) {\n if (!matchv1?.startsWith('~')) {\n return 1;\n }\n\n if (!matchv2?.startsWith('~')) {\n return -1;\n }\n }\n\n if (is.numericString(matchv1?.[0])) {\n // numbers are greater than letters\n if (!is.numericString(matchv2?.[0])) {\n return 1;\n }\n\n //We clearly have a number here, so return which is greater\n const result = matchv1.localeCompare(matchv2, undefined, {\n numeric: true,\n });\n\n if (result === 0) {\n continue;\n }\n\n return Math.sign(result);\n } else if (is.numericString(matchv2?.[0])) {\n return -1;\n }\n\n // We have two string globs, compare them\n const compared_value = this._compare_string(matchv1, matchv2);\n if (compared_value !== 0) {\n return compared_value;\n }\n }\n\n // segments were all the same, but separators were different\n if (matchesv1.length === matchesv2.length) {\n return 0;\n }\n\n // If there is a tilde in a segment past the minimum number of segments, find it\n if (matchesv1.length > matches && matchesv1[matches].startsWith('~')) {\n return -1;\n }\n\n if (matchesv2.length > matches && matchesv2[matches].startsWith('~')) {\n return 1;\n }\n\n // whichever has the most segments wins\n return matchesv1.length > matchesv2.length ? 1 : -1;\n }\n\n protected override _compare(version: string, other: string): number {\n const parsed1 = this._parse(version);\n const parsed2 = this._parse(other);\n\n if (!(parsed1 && parsed2)) {\n return 1;\n }\n\n // Greater epoch wins\n if (parsed1.epoch !== parsed2.epoch) {\n return Math.sign(parsed1.epoch - parsed2.epoch);\n }\n\n // Greater upstream version wins\n const upstreamVersionDifference = this._compare_glob(\n parsed1.upstreamVersion,\n parsed2.upstreamVersion,\n );\n\n if (upstreamVersionDifference !== 0) {\n return upstreamVersionDifference;\n }\n\n // Greater release version wins\n const releaseVersionDifference = this._compare_glob(\n parsed1.rpmRelease,\n parsed2.rpmRelease,\n );\n\n if (releaseVersionDifference !== 0) {\n return releaseVersionDifference;\n }\n\n // No Prerelease wins\n if (parsed1.rpmPreRelease === '' && parsed2.rpmPreRelease !== '') {\n return 1;\n } else if (parsed1.rpmPreRelease !== '' && parsed2.rpmPreRelease === '') {\n return -1;\n }\n\n const preReleaseDifference = this._compare_glob(\n parsed1.rpmPreRelease,\n parsed2.rpmPreRelease,\n );\n\n if (preReleaseDifference !== 0) {\n return releaseVersionDifference;\n }\n\n // Greater Snapshot wins\n return this._compare_glob(parsed1.snapshot, parsed2.snapshot);\n }\n}\n\nexport const api: VersioningApi = new RpmVersioningApi();\n\nexport default api;\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/rpm/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { isNumericString } from '@sindresorhus/is';\nimport { regEx } from '../../../util/regex';\nimport type { GenericVersion } from '../generic';\nimport { GenericVersioningApi } from '../generic';\nimport type { VersioningApi } from '../types';\n\nexport const id = 'rpm';\nexport const displayName = 'RPM version';\nexport const urls = [\n 'https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/',\n 'https://fedoraproject.org/wiki/Package_Versioning_Examples',\n 'https://fedoraproject.org/wiki/User:Tibbs/TildeCaretVersioning',\n];\nexport const supportsRanges = false;\n\nconst alphaNumPattern = regEx(/([a-zA-Z]+)|(\\d+)|(~)/g);\nconst epochPattern = regEx(/^\\d+$/);\n\nexport interface RpmVersion extends GenericVersion {\n /**\n * epoch, defaults to 0 if not present, are used to leave version mistakes and previous\n * versioning schemes behind.\n */\n epoch: number;\n /**\n * upstreamVersion is the main version part: it defines the version of origin software\n * that was packaged.\n */\n upstreamVersion: string;\n /**\n * rpmRelease is used to distinguish between different versions of packaging for the\n * same upstream version.\n */\n rpmRelease: string;\n\n /**\n * rpmPreRelease is used to distinguish versions of prerelease of the same upstream and release version\n * Example: Python 3.12.0-1 > Python 3.12.0-1~a1\n */\n rpmPreRelease: string;\n\n /**\n * snapshot is an archive taken from upstream's source code control system which is not equivalent to any release version.\n * This field must at minimum consist of the date in eight-digit \"YYYYMMDD\" format. The packager MAY\n * include up to 17 characters of additional information after the date. The following formats are suggested:\n * YYYYMMDD.<revision>\n * YYYYMMDD<scm><revision>\n */\n snapshot: string;\n}\n\nclass RpmVersioningApi extends GenericVersioningApi {\n /**\n * https://github.com/rpm-software-management/rpm/blob/e3c11a790367016aed7ea48cfcc78751a71ce862/rpmio/rpmvercmp.c#L16\n */\n protected _parse(version: string): RpmVersion | null {\n let remainingVersion = version;\n\n let epoch = 0;\n const epochIndex = remainingVersion.indexOf(':');\n if (epochIndex !== -1) {\n const epochStr = remainingVersion.slice(0, epochIndex);\n if (epochPattern.test(epochStr)) {\n epoch = parseInt(epochStr);\n } else {\n return null;\n }\n\n remainingVersion = remainingVersion.slice(epochIndex + 1);\n }\n\n let upstreamVersion: string;\n let rpmRelease = '';\n let rpmPreRelease = '';\n let snapshot = '';\n const releaseIndex = remainingVersion.indexOf('-');\n const prereleaseIndex = remainingVersion.indexOf('~');\n\n // Note: There can be a snapshot if there is no prerelease. Snapshot always beat no snapshot,\n // so if there is 3.12.0-1 vs 3.12.0-1^20231110, the snapshot wins.\n // The logic below only creates snapshot IF there is a prerleease version. This logic is NOT\n // correct, but the result is still correct due to the caret being ignored in release, and\n // release continue comparing\n //\n // Note: If there IS a tilde preceding the caret, then snapshot DOES NOT win\n // Example: 3.12.0-1~^20231001 LOSES to 3.12.0-1 and\n // 3.12.0-1~^20231001 LOSES to 3.12.0-1^20231001\n const snapshotIndex = remainingVersion.indexOf('^');\n\n if (releaseIndex >= 0) {\n upstreamVersion = remainingVersion.slice(0, releaseIndex);\n\n // Do NOT splice out prerelease, we need to distinguish if the flag is set or not, regardless if there is a version.\n // The tilde will get filtered out during regex\n if (prereleaseIndex >= 0) {\n rpmRelease = remainingVersion.slice(releaseIndex, prereleaseIndex);\n if (snapshotIndex >= 0) {\n rpmPreRelease = remainingVersion.slice(\n prereleaseIndex,\n snapshotIndex,\n );\n snapshot = remainingVersion.slice(snapshotIndex + 1);\n } else {\n rpmPreRelease = remainingVersion.slice(prereleaseIndex);\n }\n } else {\n rpmRelease = remainingVersion.slice(releaseIndex + 1);\n }\n } else {\n upstreamVersion = remainingVersion;\n }\n\n const release = [...remainingVersion.matchAll(regEx(/\\d+/g))].map((m) =>\n parseInt(m[0]),\n );\n\n return {\n epoch,\n upstreamVersion,\n rpmRelease,\n release,\n rpmPreRelease,\n snapshot,\n };\n }\n\n protected _compare_string(s1: string, s2: string): number {\n if (s1 === s2) {\n return 0;\n }\n\n const minLength = Math.min(s1.length, s2.length);\n\n for (let i = 0; i < minLength; i++) {\n const c1 = s1[i];\n const c2 = s2[i];\n\n if (c1 === c2) {\n continue;\n }\n\n if (c1 > c2) {\n return 1;\n } else if (c1 < c2) {\n return -1;\n }\n }\n\n // Okay, they've been the exact same up until now, so return the longer one\n return s1.length > s2.length ? 1 : -1;\n }\n\n /**\n * Taken from https://github.com/rpm-software-management/rpm/blob/master/rpmio/rpmvercmp.c\n */\n protected _compare_glob(v1: string, v2: string): number {\n if (v1 === v2) {\n return 0;\n }\n\n const matchesv1 = v1.match(alphaNumPattern) ?? [];\n const matchesv2 = v2.match(alphaNumPattern) ?? [];\n const matches = Math.min(matchesv1.length, matchesv2.length);\n\n for (let i = 0; i < matches; i++) {\n const matchv1 = matchesv1[i];\n const matchv2 = matchesv2[i];\n\n // compare tildes\n if (matchv1?.startsWith('~') || matchv2?.startsWith('~')) {\n if (!matchv1?.startsWith('~')) {\n return 1;\n }\n\n if (!matchv2?.startsWith('~')) {\n return -1;\n }\n }\n\n if (isNumericString(matchv1?.[0])) {\n // numbers are greater than letters\n if (!isNumericString(matchv2?.[0])) {\n return 1;\n }\n\n //We clearly have a number here, so return which is greater\n const result = matchv1.localeCompare(matchv2, undefined, {\n numeric: true,\n });\n\n if (result === 0) {\n continue;\n }\n\n return Math.sign(result);\n } else if (isNumericString(matchv2?.[0])) {\n return -1;\n }\n\n // We have two string globs, compare them\n const compared_value = this._compare_string(matchv1, matchv2);\n if (compared_value !== 0) {\n return compared_value;\n }\n }\n\n // segments were all the same, but separators were different\n if (matchesv1.length === matchesv2.length) {\n return 0;\n }\n\n // If there is a tilde in a segment past the minimum number of segments, find it\n if (matchesv1.length > matches && matchesv1[matches].startsWith('~')) {\n return -1;\n }\n\n if (matchesv2.length > matches && matchesv2[matches].startsWith('~')) {\n return 1;\n }\n\n // whichever has the most segments wins\n return matchesv1.length > matchesv2.length ? 1 : -1;\n }\n\n protected override _compare(version: string, other: string): number {\n const parsed1 = this._parse(version);\n const parsed2 = this._parse(other);\n\n if (!(parsed1 && parsed2)) {\n return 1;\n }\n\n // Greater epoch wins\n if (parsed1.epoch !== parsed2.epoch) {\n return Math.sign(parsed1.epoch - parsed2.epoch);\n }\n\n // Greater upstream version wins\n const upstreamVersionDifference = this._compare_glob(\n parsed1.upstreamVersion,\n parsed2.upstreamVersion,\n );\n\n if (upstreamVersionDifference !== 0) {\n return upstreamVersionDifference;\n }\n\n // Greater release version wins\n const releaseVersionDifference = this._compare_glob(\n parsed1.rpmRelease,\n parsed2.rpmRelease,\n );\n\n if (releaseVersionDifference !== 0) {\n return releaseVersionDifference;\n }\n\n // No Prerelease wins\n if (parsed1.rpmPreRelease === '' && parsed2.rpmPreRelease !== '') {\n return 1;\n } else if (parsed1.rpmPreRelease !== '' && parsed2.rpmPreRelease === '') {\n return -1;\n }\n\n const preReleaseDifference = this._compare_glob(\n parsed1.rpmPreRelease,\n parsed2.rpmPreRelease,\n );\n\n if (preReleaseDifference !== 0) {\n return releaseVersionDifference;\n }\n\n // Greater Snapshot wins\n return this._compare_glob(parsed1.snapshot, parsed2.snapshot);\n }\n}\n\nexport const api: VersioningApi = new RpmVersioningApi();\n\nexport default api;\n"]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Versioning = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const is_1 =
|
|
5
|
+
const is_1 = require("@sindresorhus/is");
|
|
6
6
|
const zod_1 = require("zod");
|
|
7
7
|
const logger_1 = require("../../logger");
|
|
8
8
|
const api_1 = tslib_1.__importDefault(require("./api"));
|
|
@@ -16,7 +16,7 @@ exports.Versioning = zod_1.z
|
|
|
16
16
|
logger_1.logger.debug(`Versioning: '${versioningSpec}' not found, falling back to ${defaultVersioning.id}`);
|
|
17
17
|
return defaultVersioning.api;
|
|
18
18
|
}
|
|
19
|
-
if (is_1.
|
|
19
|
+
if ((0, is_1.isFunction)(versioning)) {
|
|
20
20
|
const versioningConfig = versioningRest.length
|
|
21
21
|
? versioningRest.join(':')
|
|
22
22
|
: undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../lib/modules/versioning/schema.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../lib/modules/versioning/schema.ts"],"names":[],"mappings":";;;;AAAA,yCAA8C;AAC9C,6BAAwB;AACxB,yCAAsC;AACtC,wDAAgC;AAChC,4EAAsD;AAGzC,QAAA,UAAU,GAAG,OAAC;KACxB,MAAM,EAAE;KACR,SAAS,CAAC,CAAC,cAAc,EAAE,GAAG,EAAiB,EAAE;IAChD,MAAM,CAAC,cAAc,EAAE,GAAG,cAAc,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEtE,IAAI,UAAU,GAAG,aAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACjD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,eAAM,CAAC,KAAK,CACV,gBAAgB,cAAc,gCAAgC,iBAAiB,CAAC,EAAE,EAAE,CACrF,CAAC;QACF,OAAO,iBAAiB,CAAC,GAAG,CAAC;IAC/B,CAAC;IAED,IAAI,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,MAAM,gBAAgB,GAAG,cAAc,CAAC,MAAM;YAC5C,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC;YAC1B,CAAC,CAAC,SAAS,CAAC;QAEd,IAAI,CAAC;YACH,UAAU,GAAG,IAAI,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,gBAAgB,cAAc,wBAAwB;gBAC/D,MAAM,EAAE,EAAE,KAAK,EAAE;aAClB,CAAC,CAAC;YACH,OAAO,OAAC,CAAC,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC,CAAC","sourcesContent":["import { isFunction } from '@sindresorhus/is';\nimport { z } from 'zod';\nimport { logger } from '../../logger';\nimport versionings from './api';\nimport * as defaultVersioning from './semver-coerced';\nimport type { VersioningApi } from './types';\n\nexport const Versioning = z\n .string()\n .transform((versioningSpec, ctx): VersioningApi => {\n const [versioningName, ...versioningRest] = versioningSpec.split(':');\n\n let versioning = versionings.get(versioningName);\n if (!versioning) {\n logger.debug(\n `Versioning: '${versioningSpec}' not found, falling back to ${defaultVersioning.id}`,\n );\n return defaultVersioning.api;\n }\n\n if (isFunction(versioning)) {\n const versioningConfig = versioningRest.length\n ? versioningRest.join(':')\n : undefined;\n\n try {\n versioning = new versioning(versioningConfig);\n } catch (error) {\n ctx.addIssue({\n code: 'custom',\n message: `Versioning: '${versioningSpec}' failed to initialize`,\n params: { error },\n });\n return z.NEVER;\n }\n }\n\n return versioning;\n });\n"]}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.api = exports.isValid = exports.isVersion = exports.supportsRanges = exports.urls = exports.displayName = exports.id = void 0;
|
|
4
4
|
exports.getSatisfyingVersion = getSatisfyingVersion;
|
|
5
5
|
const tslib_1 = require("tslib");
|
|
6
|
-
const is_1 =
|
|
6
|
+
const is_1 = require("@sindresorhus/is");
|
|
7
7
|
const semver_1 = tslib_1.__importDefault(require("semver"));
|
|
8
8
|
const semver_stable_1 = tslib_1.__importDefault(require("semver-stable"));
|
|
9
9
|
const regex_1 = require("../../../util/regex");
|
|
@@ -59,13 +59,13 @@ function isValid(version) {
|
|
|
59
59
|
function getSatisfyingVersion(versions, range) {
|
|
60
60
|
const coercedVersions = versions
|
|
61
61
|
.map((version) => semver_1.default.valid(version) ? version : semver_1.default.coerce(version)?.version)
|
|
62
|
-
.filter(is_1.
|
|
62
|
+
.filter(is_1.isString);
|
|
63
63
|
return semver_1.default.maxSatisfying(coercedVersions, range);
|
|
64
64
|
}
|
|
65
65
|
function minSatisfyingVersion(versions, range) {
|
|
66
66
|
const coercedVersions = versions
|
|
67
67
|
.map((version) => semver_1.default.coerce(version)?.version)
|
|
68
|
-
.filter(is_1.
|
|
68
|
+
.filter(is_1.isString);
|
|
69
69
|
return semver_1.default.minSatisfying(coercedVersions, range);
|
|
70
70
|
}
|
|
71
71
|
function isLessThanRange(version, range) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/semver-coerced/index.ts"],"names":[],"mappings":";;;AA2H+B,oDAAoB;;AA3HnD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/semver-coerced/index.ts"],"names":[],"mappings":";;;AA2H+B,oDAAoB;;AA3HnD,yCAA4C;AAE5C,4DAA4B;AAC5B,0EAAmC;AACnC,+CAA4C;AAC5C,sCAA2D;AAG9C,QAAA,EAAE,GAAG,gBAAgB,CAAC;AACtB,QAAA,WAAW,GAAG,6BAA6B,CAAC;AAC5C,QAAA,IAAI,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAC/B,QAAA,cAAc,GAAG,KAAK,CAAC;AAEpC,SAAS,QAAQ,CAAC,OAAe;IAC/B,4CAA4C;IAC5C,kCAAkC;IAClC,MAAM,IAAI,GAAG,IAAA,aAAK,EAChB,gEAAgE,CACjE,CAAC;IACF,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAE7B,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;IAC7B,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC;IACxC,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC;IACxC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IACnD,OAAO,uBAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,YAAY,CAAC,CAAS,EAAE,CAAS;IACxC,MAAM,QAAQ,GAAG,gBAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,gBAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAElC,OAAO,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,gBAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,QAAQ,CAAC,CAAkB;IAClC,MAAM,QAAQ,GAAG,gBAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAClC,OAAO,QAAQ,CAAC,CAAC,CAAC,gBAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAClD,CAAC;AAED,SAAS,QAAQ,CAAC,CAAkB;IAClC,MAAM,QAAQ,GAAG,gBAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAClC,OAAO,QAAQ,CAAC,CAAC,CAAC,gBAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAClD,CAAC;AAED,SAAS,QAAQ,CAAC,CAAkB;IAClC,MAAM,QAAQ,GAAG,gBAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAClC,OAAO,QAAQ,CAAC,CAAC,CAAC,gBAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAClD,CAAC;AAED,SAAS,OAAO,CAAC,OAAe,EAAE,KAAa;IAC7C,MAAM,cAAc,GAAG,gBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9C,OAAO,cAAc,CAAC,CAAC,CAAC,gBAAM,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1E,CAAC;AAED,SAAS,MAAM,CAAC,CAAS,EAAE,CAAS;IAClC,MAAM,QAAQ,GAAG,gBAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,gBAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAClC,OAAO,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,gBAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACtE,CAAC;AAED,SAAS,OAAO,CAAC,OAAe;IAC9B,OAAO,CAAC,CAAC,gBAAM,CAAC,KAAK,CAAC,gBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,oBAAoB,CAC3B,QAAkB,EAClB,KAAa;IAEb,MAAM,eAAe,GAAG,QAAQ;SAC7B,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACf,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,CAClE;SACA,MAAM,CAAC,aAAQ,CAAC,CAAC;IAEpB,OAAO,gBAAM,CAAC,aAAa,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,oBAAoB,CAC3B,QAAkB,EAClB,KAAa;IAEb,MAAM,eAAe,GAAG,QAAQ;SAC7B,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,gBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;SACjD,MAAM,CAAC,aAAQ,CAAC,CAAC;IAEpB,OAAO,gBAAM,CAAC,aAAa,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,eAAe,CAAC,OAAe,EAAE,KAAa;IACrD,MAAM,cAAc,GAAG,gBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9C,OAAO,cAAc,CAAC,CAAC,CAAC,gBAAM,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACpE,CAAC;AAED,SAAS,aAAa,CAAC,OAAe,EAAE,KAAa;IACnD,MAAM,cAAc,GAAG,gBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,gBAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,CAAC,cAAc,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,gBAAM,CAAC,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,qBAAqB,GAAG,IAAA,aAAK,EAAC,MAAM,CAAC,CAAC;AAE5C,SAAS,eAAe,CAAC,OAAe;IACtC,yEAAyE;IACzE,mEAAmE;IACnE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACrE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,CAAC,CAAC,gBAAM,CAAC,KAAK,CAAC,gBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,kEAAkE;AAC3D,MAAM,SAAS,GAAG,CAAC,KAAa,EAAW,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAAvD,QAAA,SAAS,aAA8C;AAE9C,kBAFT,iBAAS,CAEO;AAE7B,SAAS,WAAW,CAAC,EACnB,YAAY,EACZ,cAAc,EACd,UAAU,GACK;IACf,IAAI,cAAc,KAAK,IAAI,YAAY,EAAE,EAAE,CAAC;QAC1C,OAAO,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,UAAU,CAAC,OAAe,EAAE,OAAe;IAClD,MAAM,cAAc,GAAG,gBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC1D,MAAM,cAAc,GAAG,gBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC1D,OAAO,CAAC,CAAC,CACP,cAAc;QACd,cAAc;QACd,IAAA,mBAAgB,EAAC,cAAc,EAAE,cAAc,CAAC,CACjD,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,OAAe;IACnC,OAAO,IAAA,iBAAS,EAAC,OAAO,CAAC,CAAC;AAC5B,CAAC;AAEY,QAAA,GAAG,GAAkB;IAChC,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,YAAY;IACZ,aAAa;IACb,eAAe;IACf,eAAe;IACf,QAAQ;IACR,OAAO;IACP,SAAS,EAAT,iBAAS;IACT,OAAO;IACP,oBAAoB;IACpB,oBAAoB;IACpB,WAAW;IACX,YAAY;CACb,CAAC;AACF,kBAAe,WAAG,CAAC","sourcesContent":["import { isString } from '@sindresorhus/is';\nimport type { SemVer } from 'semver';\nimport semver from 'semver';\nimport stable from 'semver-stable';\nimport { regEx } from '../../../util/regex';\nimport { isBreaking as semverIsBreaking } from '../semver';\nimport type { NewValueConfig, VersioningApi } from '../types';\n\nexport const id = 'semver-coerced';\nexport const displayName = 'Coerced Semantic Versioning';\nexport const urls = ['https://semver.org/'];\nexport const supportsRanges = false;\n\nfunction isStable(version: string): boolean {\n // matching a version with the semver prefix\n // v1.2.3, 1.2.3, v1.2, 1.2, v1, 1\n const regx = regEx(\n /^v?(?<major>\\d+)(?<minor>\\.\\d+)?(?<patch>\\.\\d+)?(?<others>.+)?/,\n );\n const m = regx.exec(version);\n\n if (!m?.groups) {\n return false;\n }\n\n const major = m.groups.major;\n const newMinor = m.groups.minor ?? '.0';\n const newPatch = m.groups.patch ?? '.0';\n const others = m.groups.others ?? '';\n const fixed = major + newMinor + newPatch + others;\n return stable.is(fixed);\n}\n\nfunction sortVersions(a: string, b: string): number {\n const aCoerced = semver.coerce(a);\n const bCoerced = semver.coerce(b);\n\n return aCoerced && bCoerced ? semver.compare(aCoerced, bCoerced) : 0;\n}\n\nfunction getMajor(a: string | SemVer): number | null {\n const aCoerced = semver.coerce(a);\n return aCoerced ? semver.major(aCoerced) : null;\n}\n\nfunction getMinor(a: string | SemVer): number | null {\n const aCoerced = semver.coerce(a);\n return aCoerced ? semver.minor(aCoerced) : null;\n}\n\nfunction getPatch(a: string | SemVer): number | null {\n const aCoerced = semver.coerce(a);\n return aCoerced ? semver.patch(aCoerced) : null;\n}\n\nfunction matches(version: string, range: string): boolean {\n const coercedVersion = semver.coerce(version);\n return coercedVersion ? semver.satisfies(coercedVersion, range) : false;\n}\n\nfunction equals(a: string, b: string): boolean {\n const aCoerced = semver.coerce(a);\n const bCoerced = semver.coerce(b);\n return aCoerced && bCoerced ? semver.eq(aCoerced, bCoerced) : false;\n}\n\nfunction isValid(version: string): boolean {\n return !!semver.valid(semver.coerce(version));\n}\n\nfunction getSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n const coercedVersions = versions\n .map((version) =>\n semver.valid(version) ? version : semver.coerce(version)?.version,\n )\n .filter(isString);\n\n return semver.maxSatisfying(coercedVersions, range);\n}\n\nfunction minSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n const coercedVersions = versions\n .map((version) => semver.coerce(version)?.version)\n .filter(isString);\n\n return semver.minSatisfying(coercedVersions, range);\n}\n\nfunction isLessThanRange(version: string, range: string): boolean {\n const coercedVersion = semver.coerce(version);\n return coercedVersion ? semver.ltr(coercedVersion, range) : false;\n}\n\nfunction isGreaterThan(version: string, other: string): boolean {\n const coercedVersion = semver.coerce(version);\n const coercedOther = semver.coerce(other);\n if (!coercedVersion || !coercedOther) {\n return false;\n }\n return semver.gt(coercedVersion, coercedOther);\n}\n\nconst startsWithNumberRegex = regEx(`^\\\\d`);\n\nfunction isSingleVersion(version: string): boolean {\n // Since coercion accepts ranges as well as versions, we have to manually\n // check that the version string starts with either 'v' or a digit.\n if (!version.startsWith('v') && !startsWithNumberRegex.exec(version)) {\n return false;\n }\n\n return !!semver.valid(semver.coerce(version));\n}\n\n// If this is left as an alias, inputs like \"17.04.0\" throw errors\nexport const isVersion = (input: string): boolean => isValid(input);\n\nexport { isVersion as isValid, getSatisfyingVersion };\n\nfunction getNewValue({\n currentValue,\n currentVersion,\n newVersion,\n}: NewValueConfig): string {\n if (currentVersion === `v${currentValue}`) {\n return newVersion.replace(/^v/, '');\n }\n return newVersion;\n}\n\nfunction isBreaking(version: string, current: string): boolean {\n const coercedVersion = semver.coerce(version)?.toString();\n const coercedCurrent = semver.coerce(current)?.toString();\n return !!(\n coercedVersion &&\n coercedCurrent &&\n semverIsBreaking(coercedVersion, coercedCurrent)\n );\n}\n\nfunction isCompatible(version: string): boolean {\n return isVersion(version);\n}\n\nexport const api: VersioningApi = {\n equals,\n getMajor,\n getMinor,\n getPatch,\n isBreaking,\n isCompatible,\n isGreaterThan,\n isLessThanRange,\n isSingleVersion,\n isStable,\n isValid,\n isVersion,\n matches,\n getSatisfyingVersion,\n minSatisfyingVersion,\n getNewValue,\n sortVersions,\n};\nexport default api;\n"]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.api = exports.supportedRangeStrategies = exports.supportsRanges = exports.urls = exports.displayName = exports.id = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const is_1 =
|
|
5
|
+
const is_1 = require("@sindresorhus/is");
|
|
6
6
|
const semver_1 = tslib_1.__importDefault(require("semver"));
|
|
7
7
|
const regex_1 = require("../../../util/regex");
|
|
8
8
|
exports.id = 'semver-partial';
|
|
@@ -107,7 +107,7 @@ function matches(version, range) {
|
|
|
107
107
|
if (v.major !== r.major) {
|
|
108
108
|
return false;
|
|
109
109
|
}
|
|
110
|
-
if (is_1.
|
|
110
|
+
if ((0, is_1.isUndefined)(r.minor)) {
|
|
111
111
|
return true;
|
|
112
112
|
}
|
|
113
113
|
return v.minor === r.minor;
|
|
@@ -139,7 +139,7 @@ function isLessThanRange(version, range) {
|
|
|
139
139
|
if (v.major !== r.major) {
|
|
140
140
|
return v.major < r.major;
|
|
141
141
|
}
|
|
142
|
-
if (is_1.
|
|
142
|
+
if ((0, is_1.isUndefined)(r.minor)) {
|
|
143
143
|
return false;
|
|
144
144
|
}
|
|
145
145
|
if (v.minor !== r.minor) {
|
|
@@ -169,7 +169,7 @@ function getNewValue({ currentValue, rangeStrategy, currentVersion, newVersion,
|
|
|
169
169
|
return newVersion;
|
|
170
170
|
}
|
|
171
171
|
const [prefix] = currentValue.split(massageValue(currentValue));
|
|
172
|
-
if (is_1.
|
|
172
|
+
if ((0, is_1.isUndefined)(range.minor)) {
|
|
173
173
|
return `${prefix}${newParsed.major}`;
|
|
174
174
|
}
|
|
175
175
|
return `${prefix}${newParsed.major}.${newParsed.minor}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/semver-partial/index.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport type { SemVer } from 'semver';\nimport semver from 'semver';\nimport { regEx } from '../../../util/regex';\nimport type { NewValueConfig, VersioningApi } from '../types';\n\nexport const id = 'semver-partial';\nexport const displayName = 'Partial Semantic Versioning';\nexport const urls = [\n 'https://docs.gitlab.com/ci/components/#partial-semantic-versions',\n];\nexport const supportsRanges = true;\nexport const supportedRangeStrategies = ['pin', 'replace'];\n\nfunction isLatest(input: string): boolean {\n return input === '~latest';\n}\n\nfunction massageValue(input: string): string {\n return input.trim().replace(regEx(/^v/i), '');\n}\n\nfunction parseVersion(input: string): SemVer | null {\n return semver.parse(massageValue(input));\n}\n\ninterface Range {\n major: number;\n minor?: number;\n}\n\nfunction parseRange(input: string): Range | null {\n const stripped = massageValue(input);\n const coerced = semver.coerce(stripped);\n if (!coerced) {\n return null;\n }\n const { major, minor } = coerced;\n\n if (regEx(/^\\d+$/).test(stripped)) {\n return { major };\n }\n\n return { major, minor };\n}\n\nfunction isValid(input: string): boolean {\n return isLatest(input) || !!parseVersion(input) || !!parseRange(input);\n}\n\nfunction isVersion(input: string | undefined | null): boolean {\n if (!input) {\n return false;\n }\n\n return !!parseVersion(input);\n}\n\nfunction isStable(version: string): boolean {\n const v = parseVersion(version);\n if (!v) {\n return false;\n }\n\n return v.prerelease.length === 0;\n}\n\nfunction isSingleVersion(input: string): boolean {\n return isVersion(input);\n}\n\nfunction getMajor(version: string): number | null {\n return parseVersion(version)?.major ?? null;\n}\n\nfunction getMinor(version: string): number | null {\n return parseVersion(version)?.minor ?? null;\n}\n\nfunction getPatch(version: string): number | null {\n return parseVersion(version)?.patch ?? null;\n}\n\nfunction sortVersions(x: string, y: string): number {\n const a = parseVersion(x);\n const b = parseVersion(y);\n if (!a || !b) {\n return 0;\n }\n return semver.compare(a, b);\n}\n\nfunction equals(x: string, y: string): boolean {\n const a = parseVersion(x);\n const b = parseVersion(y);\n if (!a || !b) {\n return false;\n }\n return semver.eq(a, b);\n}\n\nfunction isGreaterThan(x: string, y: string): boolean {\n const a = parseVersion(x);\n const b = parseVersion(y);\n if (!a || !b) {\n return false;\n }\n return semver.gt(a, b);\n}\n\nfunction matches(version: string, range: string): boolean {\n const v = parseVersion(version);\n if (!v) {\n return false;\n }\n\n if (isLatest(range)) {\n return true;\n }\n\n const rv = parseVersion(range);\n if (rv) {\n return semver.eq(v, rv);\n }\n\n const r = parseRange(range);\n if (!r) {\n return false;\n }\n\n if (v.prerelease.length > 0) {\n return false;\n }\n\n if (v.major !== r.major) {\n return false;\n }\n\n if (is.undefined(r.minor)) {\n return true;\n }\n\n return v.minor === r.minor;\n}\n\nfunction getSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n const sortedVersions = versions.sort(sortVersions).reverse();\n for (const version of sortedVersions) {\n if (matches(version, range)) {\n return version;\n }\n }\n return null;\n}\n\nfunction minSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n const sortedVersions = versions.sort(sortVersions);\n for (const version of sortedVersions) {\n if (matches(version, range)) {\n return version;\n }\n }\n return null;\n}\n\nfunction isLessThanRange(version: string, range: string): boolean {\n const v = parseVersion(version);\n const r = parseRange(range);\n\n if (!v || !r) {\n return false;\n }\n\n if (v.major !== r.major) {\n return v.major < r.major;\n }\n\n if (is.undefined(r.minor)) {\n return false;\n }\n\n if (v.minor !== r.minor) {\n return v.minor < r.minor;\n }\n\n return false;\n}\n\nfunction getNewValue({\n currentValue,\n rangeStrategy,\n currentVersion,\n newVersion,\n}: NewValueConfig): string | null {\n if (rangeStrategy === 'pin') {\n return newVersion;\n }\n\n if (isLatest(currentValue)) {\n return currentValue;\n }\n\n const range = parseRange(currentValue);\n if (!range) {\n return newVersion;\n }\n\n const newParsed = parseVersion(newVersion);\n if (!newParsed) {\n return newVersion;\n }\n\n // Check if currentValue is a full version (has patch component)\n const currentParsed = parseVersion(currentValue);\n if (currentParsed) {\n // currentValue is a full version, return full newVersion\n return newVersion;\n }\n\n const [prefix] = currentValue.split(massageValue(currentValue));\n\n if (is.undefined(range.minor)) {\n return `${prefix}${newParsed.major}`;\n }\n\n return `${prefix}${newParsed.major}.${newParsed.minor}`;\n}\n\nfunction isCompatible(version: string): boolean {\n return isValid(version);\n}\n\nfunction isBreaking(version: string, current: string): boolean {\n const versionParsed = parseVersion(version);\n const currentParsed = parseVersion(current);\n\n if (!versionParsed || !currentParsed) {\n return false;\n }\n\n if (currentParsed.major === 0) {\n return versionParsed.major > 0 || versionParsed.minor > currentParsed.minor;\n }\n\n return versionParsed.major > currentParsed.major;\n}\n\nexport const api: VersioningApi = {\n equals,\n getMajor,\n getMinor,\n getPatch,\n isBreaking,\n isCompatible,\n isGreaterThan,\n isLessThanRange,\n isSingleVersion,\n isStable,\n isValid,\n isVersion,\n matches,\n getSatisfyingVersion,\n minSatisfyingVersion,\n getNewValue,\n sortVersions,\n};\n\nexport default api;\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/semver-partial/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { isUndefined } from '@sindresorhus/is';\nimport type { SemVer } from 'semver';\nimport semver from 'semver';\nimport { regEx } from '../../../util/regex';\nimport type { NewValueConfig, VersioningApi } from '../types';\n\nexport const id = 'semver-partial';\nexport const displayName = 'Partial Semantic Versioning';\nexport const urls = [\n 'https://docs.gitlab.com/ci/components/#partial-semantic-versions',\n];\nexport const supportsRanges = true;\nexport const supportedRangeStrategies = ['pin', 'replace'];\n\nfunction isLatest(input: string): boolean {\n return input === '~latest';\n}\n\nfunction massageValue(input: string): string {\n return input.trim().replace(regEx(/^v/i), '');\n}\n\nfunction parseVersion(input: string): SemVer | null {\n return semver.parse(massageValue(input));\n}\n\ninterface Range {\n major: number;\n minor?: number;\n}\n\nfunction parseRange(input: string): Range | null {\n const stripped = massageValue(input);\n const coerced = semver.coerce(stripped);\n if (!coerced) {\n return null;\n }\n const { major, minor } = coerced;\n\n if (regEx(/^\\d+$/).test(stripped)) {\n return { major };\n }\n\n return { major, minor };\n}\n\nfunction isValid(input: string): boolean {\n return isLatest(input) || !!parseVersion(input) || !!parseRange(input);\n}\n\nfunction isVersion(input: string | undefined | null): boolean {\n if (!input) {\n return false;\n }\n\n return !!parseVersion(input);\n}\n\nfunction isStable(version: string): boolean {\n const v = parseVersion(version);\n if (!v) {\n return false;\n }\n\n return v.prerelease.length === 0;\n}\n\nfunction isSingleVersion(input: string): boolean {\n return isVersion(input);\n}\n\nfunction getMajor(version: string): number | null {\n return parseVersion(version)?.major ?? null;\n}\n\nfunction getMinor(version: string): number | null {\n return parseVersion(version)?.minor ?? null;\n}\n\nfunction getPatch(version: string): number | null {\n return parseVersion(version)?.patch ?? null;\n}\n\nfunction sortVersions(x: string, y: string): number {\n const a = parseVersion(x);\n const b = parseVersion(y);\n if (!a || !b) {\n return 0;\n }\n return semver.compare(a, b);\n}\n\nfunction equals(x: string, y: string): boolean {\n const a = parseVersion(x);\n const b = parseVersion(y);\n if (!a || !b) {\n return false;\n }\n return semver.eq(a, b);\n}\n\nfunction isGreaterThan(x: string, y: string): boolean {\n const a = parseVersion(x);\n const b = parseVersion(y);\n if (!a || !b) {\n return false;\n }\n return semver.gt(a, b);\n}\n\nfunction matches(version: string, range: string): boolean {\n const v = parseVersion(version);\n if (!v) {\n return false;\n }\n\n if (isLatest(range)) {\n return true;\n }\n\n const rv = parseVersion(range);\n if (rv) {\n return semver.eq(v, rv);\n }\n\n const r = parseRange(range);\n if (!r) {\n return false;\n }\n\n if (v.prerelease.length > 0) {\n return false;\n }\n\n if (v.major !== r.major) {\n return false;\n }\n\n if (isUndefined(r.minor)) {\n return true;\n }\n\n return v.minor === r.minor;\n}\n\nfunction getSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n const sortedVersions = versions.sort(sortVersions).reverse();\n for (const version of sortedVersions) {\n if (matches(version, range)) {\n return version;\n }\n }\n return null;\n}\n\nfunction minSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n const sortedVersions = versions.sort(sortVersions);\n for (const version of sortedVersions) {\n if (matches(version, range)) {\n return version;\n }\n }\n return null;\n}\n\nfunction isLessThanRange(version: string, range: string): boolean {\n const v = parseVersion(version);\n const r = parseRange(range);\n\n if (!v || !r) {\n return false;\n }\n\n if (v.major !== r.major) {\n return v.major < r.major;\n }\n\n if (isUndefined(r.minor)) {\n return false;\n }\n\n if (v.minor !== r.minor) {\n return v.minor < r.minor;\n }\n\n return false;\n}\n\nfunction getNewValue({\n currentValue,\n rangeStrategy,\n currentVersion,\n newVersion,\n}: NewValueConfig): string | null {\n if (rangeStrategy === 'pin') {\n return newVersion;\n }\n\n if (isLatest(currentValue)) {\n return currentValue;\n }\n\n const range = parseRange(currentValue);\n if (!range) {\n return newVersion;\n }\n\n const newParsed = parseVersion(newVersion);\n if (!newParsed) {\n return newVersion;\n }\n\n // Check if currentValue is a full version (has patch component)\n const currentParsed = parseVersion(currentValue);\n if (currentParsed) {\n // currentValue is a full version, return full newVersion\n return newVersion;\n }\n\n const [prefix] = currentValue.split(massageValue(currentValue));\n\n if (isUndefined(range.minor)) {\n return `${prefix}${newParsed.major}`;\n }\n\n return `${prefix}${newParsed.major}.${newParsed.minor}`;\n}\n\nfunction isCompatible(version: string): boolean {\n return isValid(version);\n}\n\nfunction isBreaking(version: string, current: string): boolean {\n const versionParsed = parseVersion(version);\n const currentParsed = parseVersion(current);\n\n if (!versionParsed || !currentParsed) {\n return false;\n }\n\n if (currentParsed.major === 0) {\n return versionParsed.major > 0 || versionParsed.minor > currentParsed.minor;\n }\n\n return versionParsed.major > currentParsed.major;\n}\n\nexport const api: VersioningApi = {\n equals,\n getMajor,\n getMinor,\n getPatch,\n isBreaking,\n isCompatible,\n isGreaterThan,\n isLessThanRange,\n isSingleVersion,\n isStable,\n isValid,\n isVersion,\n matches,\n getSatisfyingVersion,\n minSatisfyingVersion,\n getNewValue,\n sortVersions,\n};\n\nexport default api;\n"]}
|
package/dist/proxy.js
CHANGED
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.bootstrap = bootstrap;
|
|
4
4
|
exports.hasProxy = hasProxy;
|
|
5
|
-
const
|
|
6
|
-
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
5
|
+
const is_1 = require("@sindresorhus/is");
|
|
7
6
|
const global_agent_1 = require("global-agent");
|
|
8
7
|
const logger_1 = require("./logger");
|
|
9
8
|
const envVars = ['HTTP_PROXY', 'HTTPS_PROXY', 'NO_PROXY'];
|
|
@@ -21,8 +20,8 @@ function bootstrap() {
|
|
|
21
20
|
process.env[envVar.toLowerCase()] = process.env[envVar];
|
|
22
21
|
}
|
|
23
22
|
});
|
|
24
|
-
if (is_1.
|
|
25
|
-
is_1.
|
|
23
|
+
if ((0, is_1.isNonEmptyString)(process.env.HTTP_PROXY) ||
|
|
24
|
+
(0, is_1.isNonEmptyString)(process.env.HTTPS_PROXY)) {
|
|
26
25
|
(0, global_agent_1.createGlobalProxyAgent)({
|
|
27
26
|
environmentVariableNamespace: '',
|
|
28
27
|
});
|
package/dist/proxy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../lib/proxy.ts"],"names":[],"mappings":";;AAQA,8BA6BC;AAGD,4BAEC
|
|
1
|
+
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../lib/proxy.ts"],"names":[],"mappings":";;AAQA,8BA6BC;AAGD,4BAEC;AA1CD,yCAAoD;AACpD,+CAAsD;AACtD,qCAAkC;AAElC,MAAM,OAAO,GAAG,CAAC,YAAY,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;AAE1D,IAAI,KAAK,GAAG,KAAK,CAAC;AAElB,SAAgB,SAAS;IACvB,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACzB,2DAA2D;QAC3D,IACE,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,WAAW;YAC1C,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,WAAW,EACxD,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,oBAAoB;QAEpB,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,eAAM,CAAC,KAAK,CAAC,YAAY,MAAM,eAAe,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IACE,IAAA,qBAAgB,EAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;QACxC,IAAA,qBAAgB,EAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EACzC,CAAC;QACD,IAAA,qCAAsB,EAAC;YACrB,4BAA4B,EAAE,EAAE;SACjC,CAAC,CAAC;QACH,KAAK,GAAG,IAAI,CAAC;IACf,CAAC;SAAM,CAAC;QACN,gDAAgD;QAChD,KAAK,GAAG,KAAK,CAAC;IAChB,CAAC;AACH,CAAC;AAED,uCAAuC;AACvC,SAAgB,QAAQ;IACtB,OAAO,KAAK,KAAK,IAAI,CAAC;AACxB,CAAC","sourcesContent":["import { isNonEmptyString } from '@sindresorhus/is';\nimport { createGlobalProxyAgent } from 'global-agent';\nimport { logger } from './logger';\n\nconst envVars = ['HTTP_PROXY', 'HTTPS_PROXY', 'NO_PROXY'];\n\nlet agent = false;\n\nexport function bootstrap(): void {\n envVars.forEach((envVar) => {\n /* v8 ignore start -- env is case-insensitive on windows */\n if (\n typeof process.env[envVar] === 'undefined' &&\n typeof process.env[envVar.toLowerCase()] !== 'undefined'\n ) {\n process.env[envVar] = process.env[envVar.toLowerCase()];\n }\n /* v8 ignore stop */\n\n if (process.env[envVar]) {\n logger.debug(`Detected ${envVar} value in env`);\n process.env[envVar.toLowerCase()] = process.env[envVar];\n }\n });\n\n if (\n isNonEmptyString(process.env.HTTP_PROXY) ||\n isNonEmptyString(process.env.HTTPS_PROXY)\n ) {\n createGlobalProxyAgent({\n environmentVariableNamespace: '',\n });\n agent = true;\n } else {\n // for testing only, does not reset global agent\n agent = false;\n }\n}\n\n// will be used by our http layer later\nexport function hasProxy(): boolean {\n return agent === true;\n}\n"]}
|
package/dist/util/array.js
CHANGED
|
@@ -4,10 +4,9 @@ exports.coerceArray = coerceArray;
|
|
|
4
4
|
exports.isNotNullOrUndefined = isNotNullOrUndefined;
|
|
5
5
|
exports.toArray = toArray;
|
|
6
6
|
exports.deduplicateArray = deduplicateArray;
|
|
7
|
-
const
|
|
8
|
-
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
7
|
+
const is_1 = require("@sindresorhus/is");
|
|
9
8
|
function coerceArray(input) {
|
|
10
|
-
if (is_1.
|
|
9
|
+
if ((0, is_1.isArray)(input)) {
|
|
11
10
|
return input;
|
|
12
11
|
}
|
|
13
12
|
return [];
|
|
@@ -16,7 +15,7 @@ function coerceArray(input) {
|
|
|
16
15
|
// undefined. This predicate acts as a type guard so that the resulting type for
|
|
17
16
|
// `values.filter(isNotNullOrUndefined)` is `T[]`.
|
|
18
17
|
function isNotNullOrUndefined(value) {
|
|
19
|
-
return !is_1.
|
|
18
|
+
return !(0, is_1.isNullOrUndefined)(value);
|
|
20
19
|
}
|
|
21
20
|
/**
|
|
22
21
|
* Converts a single value or an array of values to an array of values.
|
|
@@ -24,7 +23,7 @@ function isNotNullOrUndefined(value) {
|
|
|
24
23
|
* @returns array of values
|
|
25
24
|
*/
|
|
26
25
|
function toArray(value) {
|
|
27
|
-
return is_1.
|
|
26
|
+
return (0, is_1.isArray)(value) ? value : [value];
|
|
28
27
|
}
|
|
29
28
|
function deduplicateArray(array) {
|
|
30
29
|
return Array.from(new Set(array));
|
package/dist/util/array.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../lib/util/array.ts"],"names":[],"mappings":";;AAEA,kCAKC;AAKD,oDAIC;AAOD,0BAEC;AAED,4CAEC
|
|
1
|
+
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../lib/util/array.ts"],"names":[],"mappings":";;AAEA,kCAKC;AAKD,oDAIC;AAOD,0BAEC;AAED,4CAEC;AA7BD,yCAA8D;AAE9D,SAAgB,WAAW,CAAI,KAA6B;IAC1D,IAAI,IAAA,YAAO,EAAC,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,gFAAgF;AAChF,gFAAgF;AAChF,kDAAkD;AAClD,SAAgB,oBAAoB,CAClC,KAA2B;IAE3B,OAAO,CAAC,IAAA,sBAAiB,EAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,SAAgB,OAAO,CAAI,KAAc;IACvC,OAAO,IAAA,YAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED,SAAgB,gBAAgB,CAAI,KAAU;IAC5C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AACpC,CAAC","sourcesContent":["import { isArray, isNullOrUndefined } from '@sindresorhus/is';\n\nexport function coerceArray<T>(input: T[] | null | undefined): T[] {\n if (isArray(input)) {\n return input;\n }\n return [];\n}\n\n// Useful for filtering an array so that it includes values that are not null or\n// undefined. This predicate acts as a type guard so that the resulting type for\n// `values.filter(isNotNullOrUndefined)` is `T[]`.\nexport function isNotNullOrUndefined<T>(\n value: T | undefined | null,\n): value is T {\n return !isNullOrUndefined(value);\n}\n\n/**\n * Converts a single value or an array of values to an array of values.\n * @param value a single value or an array of values\n * @returns array of values\n */\nexport function toArray<T>(value: T | T[]): T[] {\n return isArray(value) ? value : [value];\n}\n\nexport function deduplicateArray<T>(array: T[]): T[] {\n return Array.from(new Set(array));\n}\n"]}
|
package/dist/util/assign-keys.js
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.assignKeys = assignKeys;
|
|
4
|
-
const
|
|
5
|
-
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
4
|
+
const is_1 = require("@sindresorhus/is");
|
|
6
5
|
/**
|
|
7
6
|
* Assigns non-nullish values from `right` to `left` for the given `keys`.
|
|
8
7
|
*/
|
|
9
8
|
function assignKeys(left, right, keys) {
|
|
10
9
|
for (const key of keys) {
|
|
11
10
|
const val = right[key];
|
|
12
|
-
if (!is_1.
|
|
11
|
+
if (!(0, is_1.isNullOrUndefined)(val)) {
|
|
13
12
|
left[key] = val;
|
|
14
13
|
}
|
|
15
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assign-keys.js","sourceRoot":"","sources":["../../lib/util/assign-keys.ts"],"names":[],"mappings":";;AAKA,gCAYC
|
|
1
|
+
{"version":3,"file":"assign-keys.js","sourceRoot":"","sources":["../../lib/util/assign-keys.ts"],"names":[],"mappings":";;AAKA,gCAYC;AAjBD,yCAAqD;AAErD;;GAEG;AACH,SAAgB,UAAU,CAIxB,IAAU,EAAE,KAAY,EAAE,IAAS;IACnC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,IAAA,sBAAiB,EAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,GAAkC,CAAC;QACjD,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import { isNullOrUndefined } from '@sindresorhus/is';\n\n/**\n * Assigns non-nullish values from `right` to `left` for the given `keys`.\n */\nexport function assignKeys<\n Left extends Partial<Record<K, unknown>>,\n Right extends { [key in K]?: Left[key] },\n K extends keyof Right,\n>(left: Left, right: Right, keys: K[]): Left {\n for (const key of keys) {\n const val = right[key];\n if (!isNullOrUndefined(val)) {\n left[key] = val as unknown as Left[typeof key];\n }\n }\n return left;\n}\n"]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.cache = cache;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const is_1 =
|
|
5
|
+
const is_1 = require("@sindresorhus/is");
|
|
6
6
|
const luxon_1 = require("luxon");
|
|
7
7
|
const global_1 = require("../../../config/global");
|
|
8
8
|
const logger_1 = require("../../../logger");
|
|
@@ -21,17 +21,17 @@ function cache({ namespace, key, cacheable = () => true, ttlMinutes = 30, }) {
|
|
|
21
21
|
return callback();
|
|
22
22
|
}
|
|
23
23
|
let finalNamespace;
|
|
24
|
-
if (is_1.
|
|
24
|
+
if ((0, is_1.isString)(namespace)) {
|
|
25
25
|
finalNamespace = namespace;
|
|
26
26
|
}
|
|
27
|
-
else if (is_1.
|
|
27
|
+
else if ((0, is_1.isFunction)(namespace)) {
|
|
28
28
|
finalNamespace = namespace.apply(instance, args);
|
|
29
29
|
}
|
|
30
30
|
let finalKey;
|
|
31
|
-
if (is_1.
|
|
31
|
+
if ((0, is_1.isString)(key)) {
|
|
32
32
|
finalKey = key;
|
|
33
33
|
}
|
|
34
|
-
else if (is_1.
|
|
34
|
+
else if ((0, is_1.isFunction)(key)) {
|
|
35
35
|
finalKey = key.apply(instance, args);
|
|
36
36
|
}
|
|
37
37
|
// istanbul ignore if
|
|
@@ -86,7 +86,7 @@ function cache({ namespace, key, cacheable = () => true, ttlMinutes = 30, }) {
|
|
|
86
86
|
else {
|
|
87
87
|
newData = await callback();
|
|
88
88
|
}
|
|
89
|
-
if (!is_1.
|
|
89
|
+
if (!(0, is_1.isUndefined)(newData)) {
|
|
90
90
|
const newRecord = {
|
|
91
91
|
cachedAt: luxon_1.DateTime.local().toISO(),
|
|
92
92
|
value: newData,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorator.js","sourceRoot":"","sources":["../../../../lib/util/cache/package/decorator.ts"],"names":[],"mappings":";;AAgDA,sBAqHC;;AArKD,
|
|
1
|
+
{"version":3,"file":"decorator.js","sourceRoot":"","sources":["../../../../lib/util/cache/package/decorator.ts"],"names":[],"mappings":"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","sourcesContent":["import { isFunction, isString, isUndefined } from '@sindresorhus/is';\nimport { DateTime } from 'luxon';\nimport { GlobalConfig } from '../../../config/global';\nimport { logger } from '../../../logger';\nimport type { Decorator } from '../../decorator';\nimport { decorate } from '../../decorator';\nimport { acquireLock } from '../../mutex';\nimport { resolveTtlValues } from './ttl';\nimport type { DecoratorCachedRecord, PackageCacheNamespace } from './types';\nimport * as packageCache from '.';\n\ntype HashFunction<T extends any[] = any[]> = (...args: T) => string;\ntype NamespaceFunction<T extends any[] = any[]> = (\n ...args: T\n) => PackageCacheNamespace;\ntype BooleanFunction<T extends any[] = any[]> = (...args: T) => boolean;\n\n/**\n * The cache decorator parameters.\n */\ninterface CacheParameters {\n /**\n * The cache namespace\n * Either a string or a hash function that generates a string\n */\n namespace: PackageCacheNamespace | NamespaceFunction;\n\n /**\n * The cache key\n * Either a string or a hash function that generates a string\n */\n key: string | HashFunction;\n\n /**\n * A function that returns true if a result is cacheable\n * Used to prevent caching of private, sensitive, results\n */\n cacheable?: BooleanFunction;\n\n /**\n * The TTL (or expiry) of the key in minutes\n */\n ttlMinutes?: number;\n}\n\n/**\n * caches the result of a decorated method.\n */\nexport function cache<T>({\n namespace,\n key,\n cacheable = () => true,\n ttlMinutes = 30,\n}: CacheParameters): Decorator<T> {\n return decorate(async ({ args, instance, callback, methodName }) => {\n const cachePrivatePackages = GlobalConfig.get(\n 'cachePrivatePackages',\n false,\n );\n const isCacheable = cachePrivatePackages || cacheable.apply(instance, args);\n if (!isCacheable) {\n return callback();\n }\n\n let finalNamespace: PackageCacheNamespace | undefined;\n if (isString(namespace)) {\n finalNamespace = namespace;\n } else if (isFunction(namespace)) {\n finalNamespace = namespace.apply(instance, args);\n }\n\n let finalKey: string | undefined;\n if (isString(key)) {\n finalKey = key;\n } else if (isFunction(key)) {\n finalKey = key.apply(instance, args);\n }\n\n // istanbul ignore if\n if (!finalNamespace || !finalKey) {\n return callback();\n }\n\n finalKey = `cache-decorator:${finalKey}`;\n\n // prevent concurrent processing and cache writes\n const releaseLock = await acquireLock(finalKey, finalNamespace);\n\n try {\n const oldRecord = await packageCache.get<DecoratorCachedRecord>(\n finalNamespace,\n finalKey,\n );\n\n // eslint-disable-next-line prefer-const\n let { softTtlMinutes, hardTtlMinutes } = resolveTtlValues(\n finalNamespace,\n ttlMinutes,\n );\n\n // The separation between \"soft\" and \"hard\" TTL allows us to treat\n // data as obsolete according to the \"soft\" TTL while physically storing it\n // according to the \"hard\" TTL.\n //\n // This helps us return obsolete data in case of upstream server errors,\n // which is more useful than throwing exceptions ourselves.\n //\n // However, since the default hard TTL is one week, it could create\n // unnecessary pressure on storage volume. Therefore,\n // we cache only `getReleases` and `getDigest` results for an extended period.\n //\n // For other method names being decorated, the \"soft\" just equals the \"hard\" ttl.\n if (methodName !== 'getReleases' && methodName !== 'getDigest') {\n hardTtlMinutes = softTtlMinutes;\n }\n\n let oldData: unknown;\n if (oldRecord) {\n const now = DateTime.local();\n const cachedAt = DateTime.fromISO(oldRecord.cachedAt);\n\n const softDeadline = cachedAt.plus({ minutes: softTtlMinutes });\n if (now < softDeadline) {\n return oldRecord.value;\n }\n\n const hardDeadline = cachedAt.plus({ minutes: hardTtlMinutes });\n if (now < hardDeadline) {\n oldData = oldRecord.value;\n }\n }\n\n let newData: unknown;\n if (oldData) {\n try {\n newData = await callback();\n } catch (err) {\n logger.debug(\n { err },\n 'Package cache decorator: callback error, returning old data',\n );\n return oldData;\n }\n } else {\n newData = await callback();\n }\n\n if (!isUndefined(newData)) {\n const newRecord: DecoratorCachedRecord = {\n cachedAt: DateTime.local().toISO(),\n value: newData,\n };\n await packageCache.setWithRawTtl(\n finalNamespace,\n finalKey,\n newRecord,\n hardTtlMinutes,\n );\n }\n\n return newData;\n } finally {\n releaseLock();\n }\n });\n}\n"]}
|