renovate 42.4.0 → 42.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/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/options/index.js +7 -0
- package/dist/config/options/index.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/types.d.ts +1 -0
- package/dist/config/types.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/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 +5 -5
- 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/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/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/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 +2 -2
- 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/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/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/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/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/config.js +3 -4
- package/dist/util/git/config.js.map +1 -1
- package/dist/util/git/index.js +4 -4
- 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/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/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/error.js +6 -1
- package/dist/workers/repository/error.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/index.js +2 -3
- package/dist/workers/repository/onboarding/branch/index.js.map +1 -1
- package/dist/workers/repository/onboarding/branch/onboarding-branch-cache.js +5 -6
- 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 +3 -3
- package/renovate-schema.json +7 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../../../lib/modules/manager/bazel-module/rules.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport parseGithubUrl from 'github-url-from-git';\nimport { z } from 'zod';\nimport { logger } from '../../../logger';\nimport type { SkipReason } from '../../../types';\nimport { clone } from '../../../util/clone';\nimport { regEx } from '../../../util/regex';\nimport { BazelDatasource } from '../../datasource/bazel';\nimport { GithubTagsDatasource } from '../../datasource/github-tags';\nimport type { PackageDependency } from '../types';\nimport { RuleFragment, StringFragment } from './parser/fragments';\n\n// Rule Schemas\n\nexport interface BasePackageDep extends PackageDependency {\n depType: string;\n depName: string;\n}\n\ntype BasePackageDepMergeKeys = Extract<keyof BasePackageDep, 'registryUrls'>;\n\nexport interface MergePackageDep extends BasePackageDep {\n // The fields that should be copied from this struct to the bazel_dep\n // PackageDependency.\n bazelDepMergeFields: BasePackageDepMergeKeys[];\n}\n\nexport interface OverridePackageDep extends BasePackageDep {\n // This value is set as the skipReason on the bazel_dep PackageDependency.\n bazelDepSkipReason: SkipReason;\n}\n\nexport type BazelModulePackageDep =\n | BasePackageDep\n | OverridePackageDep\n | MergePackageDep;\n\nfunction isOverride(value: BazelModulePackageDep): value is OverridePackageDep {\n return 'bazelDepSkipReason' in value;\n}\n\nfunction isMerge(value: BazelModulePackageDep): value is MergePackageDep {\n return 'bazelDepMergeFields' in value;\n}\n\n// This function exists to remove properties that are specific to\n// BazelModulePackageDep. In theory, there is no harm in leaving the properties\n// as it does not invalidate the PackageDependency interface. However, it might\n// be surprising to someone outside the bazel-module code to see the extra\n// properties.\nexport function bazelModulePackageDepToPackageDependency(\n bmpd: BazelModulePackageDep,\n): PackageDependency {\n const copy: BazelModulePackageDep = clone(bmpd);\n if (isOverride(copy)) {\n const partial = copy as Partial<OverridePackageDep>;\n delete partial.bazelDepSkipReason;\n }\n if (isMerge(copy)) {\n const partial = copy as Partial<MergePackageDep>;\n delete partial.bazelDepMergeFields;\n }\n return copy;\n}\n\nconst BazelDepToPackageDep = RuleFragment.extend({\n rule: z.literal('bazel_dep'),\n children: z.object({\n name: StringFragment,\n version: StringFragment.optional(),\n }),\n}).transform(\n ({ rule, children: { name, version } }): BasePackageDep => ({\n datasource: BazelDatasource.id,\n depType: rule,\n depName: name.value,\n currentValue: version?.value,\n ...(version ? {} : { skipReason: 'unspecified-version' }),\n }),\n);\n\nconst GitOverrideToPackageDep = RuleFragment.extend({\n rule: z.literal('git_override'),\n children: z.object({\n module_name: StringFragment,\n remote: StringFragment,\n commit: StringFragment,\n }),\n}).transform(\n ({\n rule,\n children: { module_name: moduleName, remote, commit },\n }): OverridePackageDep => {\n const override: OverridePackageDep = {\n depType: rule,\n depName: moduleName.value,\n bazelDepSkipReason: 'git-dependency',\n currentDigest: commit.value,\n };\n const ghPackageName = githubPackageName(remote.value);\n if (is.nonEmptyString(ghPackageName)) {\n override.datasource = GithubTagsDatasource.id;\n override.packageName = ghPackageName;\n } else {\n override.skipReason = 'unsupported-datasource';\n }\n return override;\n },\n);\n\nconst SingleVersionOverrideToPackageDep = RuleFragment.extend({\n rule: z.literal('single_version_override'),\n children: z.object({\n module_name: StringFragment,\n version: StringFragment.optional(),\n registry: StringFragment.optional(),\n }),\n}).transform(\n ({\n rule,\n children: { module_name: moduleName, version, registry },\n }): BasePackageDep => {\n const base: BasePackageDep = {\n depType: rule,\n depName: moduleName.value,\n skipReason: 'ignored',\n };\n // If a version is specified, then add a skipReason to bazel_dep\n if (version) {\n const override = base as OverridePackageDep;\n override.bazelDepSkipReason = 'is-pinned';\n override.currentValue = version.value;\n }\n // If a registry is specified, then merge it into the bazel_dep\n if (registry) {\n const merge = base as MergePackageDep;\n merge.bazelDepMergeFields = ['registryUrls'];\n merge.registryUrls = [registry.value];\n }\n return base;\n },\n);\n\nconst UnsupportedOverrideToPackageDep = RuleFragment.extend({\n rule: z.enum(['archive_override', 'local_path_override']),\n children: z.object({\n module_name: StringFragment,\n }),\n}).transform(\n ({ rule, children: { module_name: moduleName } }): OverridePackageDep => {\n let bazelDepSkipReason: SkipReason = 'unsupported';\n switch (rule) {\n case 'archive_override':\n bazelDepSkipReason = 'file-dependency';\n break;\n case 'local_path_override':\n bazelDepSkipReason = 'local-dependency';\n break;\n }\n return {\n depType: rule,\n depName: moduleName.value,\n skipReason: 'unsupported-datasource',\n bazelDepSkipReason,\n };\n },\n);\n\nexport const RuleToBazelModulePackageDep = z.union([\n BazelDepToPackageDep,\n GitOverrideToPackageDep,\n SingleVersionOverrideToPackageDep,\n UnsupportedOverrideToPackageDep,\n]);\n\nconst githubRemoteRegex = regEx(\n /^https:\\/\\/github\\.com\\/(?<packageName>[^/]+\\/.+)$/,\n);\nfunction githubPackageName(remote: string): string | undefined {\n return parseGithubUrl(remote)?.match(githubRemoteRegex)?.groups?.packageName;\n}\n\nfunction collectByModule(\n packageDeps: BazelModulePackageDep[],\n): BazelModulePackageDep[][] {\n const rulesByModule = new Map<string, BasePackageDep[]>();\n for (const pkgDep of packageDeps) {\n const bmi = rulesByModule.get(pkgDep.depName) ?? [];\n bmi.push(pkgDep);\n rulesByModule.set(pkgDep.depName, bmi);\n }\n return Array.from(rulesByModule.values());\n}\n\nexport function processModulePkgDeps(\n packageDeps: BazelModulePackageDep[],\n): PackageDependency[] {\n if (!packageDeps.length) {\n return [];\n }\n const moduleName = packageDeps[0].depName;\n const bazelDep = packageDeps.find((pd) => pd.depType === 'bazel_dep');\n if (!bazelDep) {\n logger.debug(`A 'bazel_dep' was not found for '${moduleName}'.`);\n return [];\n }\n // Create a new bazelDep that will be modified. We do not want to change the\n // input.\n const bazelDepOut = { ...bazelDep };\n const deps: PackageDependency[] = [bazelDepOut];\n const merges = packageDeps.filter(isMerge);\n for (const merge of merges) {\n merge.bazelDepMergeFields.forEach((k) => (bazelDepOut[k] = merge[k]));\n }\n const overrides = packageDeps.filter(isOverride);\n if (overrides.length === 0) {\n return deps;\n }\n // It is an error for more than one override to exist for a module. We will\n // ignore the overrides if there is more than one.\n if (overrides.length > 1) {\n const depTypes = overrides.map((o) => o.depType);\n logger.debug(\n { depName: moduleName, depTypes },\n 'More than one override for a module was found',\n );\n return deps;\n }\n const override = overrides[0];\n deps.push(bazelModulePackageDepToPackageDependency(override));\n bazelDepOut.skipReason = override.bazelDepSkipReason;\n return deps;\n}\n\nexport function toPackageDependencies(\n packageDeps: BazelModulePackageDep[],\n): PackageDependency[] {\n return collectByModule(packageDeps).map(processModulePkgDeps).flat();\n}\n\nexport const GitRepositoryToPackageDep = RuleFragment.extend({\n rule: z.union([z.literal('git_repository'), z.literal('new_git_repository')]),\n children: z.object({\n name: StringFragment,\n remote: StringFragment,\n commit: StringFragment.optional(),\n tag: StringFragment.optional(),\n }),\n}).transform(\n ({ rule, children: { name, remote, commit, tag } }): BasePackageDep => {\n const gitRepo: BasePackageDep = {\n depType: rule,\n depName: name.value,\n };\n\n if (commit?.value) {\n gitRepo.currentDigest = commit.value;\n }\n\n if (tag?.value) {\n gitRepo.currentValue = tag.value;\n }\n\n const ghPackageName = githubPackageName(remote.value);\n if (is.nonEmptyString(ghPackageName)) {\n gitRepo.datasource = GithubTagsDatasource.id;\n gitRepo.packageName = ghPackageName;\n } else {\n gitRepo.skipReason = 'unsupported-datasource';\n }\n return gitRepo;\n },\n);\n"]}
|
|
1
|
+
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../../../lib/modules/manager/bazel-module/rules.ts"],"names":[],"mappings":"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","sourcesContent":["import { isNonEmptyString } from '@sindresorhus/is';\nimport parseGithubUrl from 'github-url-from-git';\nimport { z } from 'zod';\nimport { logger } from '../../../logger';\nimport type { SkipReason } from '../../../types';\nimport { clone } from '../../../util/clone';\nimport { regEx } from '../../../util/regex';\nimport { BazelDatasource } from '../../datasource/bazel';\nimport { GithubTagsDatasource } from '../../datasource/github-tags';\nimport type { PackageDependency } from '../types';\nimport { RuleFragment, StringFragment } from './parser/fragments';\n\n// Rule Schemas\n\nexport interface BasePackageDep extends PackageDependency {\n depType: string;\n depName: string;\n}\n\ntype BasePackageDepMergeKeys = Extract<keyof BasePackageDep, 'registryUrls'>;\n\nexport interface MergePackageDep extends BasePackageDep {\n // The fields that should be copied from this struct to the bazel_dep\n // PackageDependency.\n bazelDepMergeFields: BasePackageDepMergeKeys[];\n}\n\nexport interface OverridePackageDep extends BasePackageDep {\n // This value is set as the skipReason on the bazel_dep PackageDependency.\n bazelDepSkipReason: SkipReason;\n}\n\nexport type BazelModulePackageDep =\n | BasePackageDep\n | OverridePackageDep\n | MergePackageDep;\n\nfunction isOverride(value: BazelModulePackageDep): value is OverridePackageDep {\n return 'bazelDepSkipReason' in value;\n}\n\nfunction isMerge(value: BazelModulePackageDep): value is MergePackageDep {\n return 'bazelDepMergeFields' in value;\n}\n\n// This function exists to remove properties that are specific to\n// BazelModulePackageDep. In theory, there is no harm in leaving the properties\n// as it does not invalidate the PackageDependency interface. However, it might\n// be surprising to someone outside the bazel-module code to see the extra\n// properties.\nexport function bazelModulePackageDepToPackageDependency(\n bmpd: BazelModulePackageDep,\n): PackageDependency {\n const copy: BazelModulePackageDep = clone(bmpd);\n if (isOverride(copy)) {\n const partial = copy as Partial<OverridePackageDep>;\n delete partial.bazelDepSkipReason;\n }\n if (isMerge(copy)) {\n const partial = copy as Partial<MergePackageDep>;\n delete partial.bazelDepMergeFields;\n }\n return copy;\n}\n\nconst BazelDepToPackageDep = RuleFragment.extend({\n rule: z.literal('bazel_dep'),\n children: z.object({\n name: StringFragment,\n version: StringFragment.optional(),\n }),\n}).transform(\n ({ rule, children: { name, version } }): BasePackageDep => ({\n datasource: BazelDatasource.id,\n depType: rule,\n depName: name.value,\n currentValue: version?.value,\n ...(version ? {} : { skipReason: 'unspecified-version' }),\n }),\n);\n\nconst GitOverrideToPackageDep = RuleFragment.extend({\n rule: z.literal('git_override'),\n children: z.object({\n module_name: StringFragment,\n remote: StringFragment,\n commit: StringFragment,\n }),\n}).transform(\n ({\n rule,\n children: { module_name: moduleName, remote, commit },\n }): OverridePackageDep => {\n const override: OverridePackageDep = {\n depType: rule,\n depName: moduleName.value,\n bazelDepSkipReason: 'git-dependency',\n currentDigest: commit.value,\n };\n const ghPackageName = githubPackageName(remote.value);\n if (isNonEmptyString(ghPackageName)) {\n override.datasource = GithubTagsDatasource.id;\n override.packageName = ghPackageName;\n } else {\n override.skipReason = 'unsupported-datasource';\n }\n return override;\n },\n);\n\nconst SingleVersionOverrideToPackageDep = RuleFragment.extend({\n rule: z.literal('single_version_override'),\n children: z.object({\n module_name: StringFragment,\n version: StringFragment.optional(),\n registry: StringFragment.optional(),\n }),\n}).transform(\n ({\n rule,\n children: { module_name: moduleName, version, registry },\n }): BasePackageDep => {\n const base: BasePackageDep = {\n depType: rule,\n depName: moduleName.value,\n skipReason: 'ignored',\n };\n // If a version is specified, then add a skipReason to bazel_dep\n if (version) {\n const override = base as OverridePackageDep;\n override.bazelDepSkipReason = 'is-pinned';\n override.currentValue = version.value;\n }\n // If a registry is specified, then merge it into the bazel_dep\n if (registry) {\n const merge = base as MergePackageDep;\n merge.bazelDepMergeFields = ['registryUrls'];\n merge.registryUrls = [registry.value];\n }\n return base;\n },\n);\n\nconst UnsupportedOverrideToPackageDep = RuleFragment.extend({\n rule: z.enum(['archive_override', 'local_path_override']),\n children: z.object({\n module_name: StringFragment,\n }),\n}).transform(\n ({ rule, children: { module_name: moduleName } }): OverridePackageDep => {\n let bazelDepSkipReason: SkipReason = 'unsupported';\n switch (rule) {\n case 'archive_override':\n bazelDepSkipReason = 'file-dependency';\n break;\n case 'local_path_override':\n bazelDepSkipReason = 'local-dependency';\n break;\n }\n return {\n depType: rule,\n depName: moduleName.value,\n skipReason: 'unsupported-datasource',\n bazelDepSkipReason,\n };\n },\n);\n\nexport const RuleToBazelModulePackageDep = z.union([\n BazelDepToPackageDep,\n GitOverrideToPackageDep,\n SingleVersionOverrideToPackageDep,\n UnsupportedOverrideToPackageDep,\n]);\n\nconst githubRemoteRegex = regEx(\n /^https:\\/\\/github\\.com\\/(?<packageName>[^/]+\\/.+)$/,\n);\nfunction githubPackageName(remote: string): string | undefined {\n return parseGithubUrl(remote)?.match(githubRemoteRegex)?.groups?.packageName;\n}\n\nfunction collectByModule(\n packageDeps: BazelModulePackageDep[],\n): BazelModulePackageDep[][] {\n const rulesByModule = new Map<string, BasePackageDep[]>();\n for (const pkgDep of packageDeps) {\n const bmi = rulesByModule.get(pkgDep.depName) ?? [];\n bmi.push(pkgDep);\n rulesByModule.set(pkgDep.depName, bmi);\n }\n return Array.from(rulesByModule.values());\n}\n\nexport function processModulePkgDeps(\n packageDeps: BazelModulePackageDep[],\n): PackageDependency[] {\n if (!packageDeps.length) {\n return [];\n }\n const moduleName = packageDeps[0].depName;\n const bazelDep = packageDeps.find((pd) => pd.depType === 'bazel_dep');\n if (!bazelDep) {\n logger.debug(`A 'bazel_dep' was not found for '${moduleName}'.`);\n return [];\n }\n // Create a new bazelDep that will be modified. We do not want to change the\n // input.\n const bazelDepOut = { ...bazelDep };\n const deps: PackageDependency[] = [bazelDepOut];\n const merges = packageDeps.filter(isMerge);\n for (const merge of merges) {\n merge.bazelDepMergeFields.forEach((k) => (bazelDepOut[k] = merge[k]));\n }\n const overrides = packageDeps.filter(isOverride);\n if (overrides.length === 0) {\n return deps;\n }\n // It is an error for more than one override to exist for a module. We will\n // ignore the overrides if there is more than one.\n if (overrides.length > 1) {\n const depTypes = overrides.map((o) => o.depType);\n logger.debug(\n { depName: moduleName, depTypes },\n 'More than one override for a module was found',\n );\n return deps;\n }\n const override = overrides[0];\n deps.push(bazelModulePackageDepToPackageDependency(override));\n bazelDepOut.skipReason = override.bazelDepSkipReason;\n return deps;\n}\n\nexport function toPackageDependencies(\n packageDeps: BazelModulePackageDep[],\n): PackageDependency[] {\n return collectByModule(packageDeps).map(processModulePkgDeps).flat();\n}\n\nexport const GitRepositoryToPackageDep = RuleFragment.extend({\n rule: z.union([z.literal('git_repository'), z.literal('new_git_repository')]),\n children: z.object({\n name: StringFragment,\n remote: StringFragment,\n commit: StringFragment.optional(),\n tag: StringFragment.optional(),\n }),\n}).transform(\n ({ rule, children: { name, remote, commit, tag } }): BasePackageDep => {\n const gitRepo: BasePackageDep = {\n depType: rule,\n depName: name.value,\n };\n\n if (commit?.value) {\n gitRepo.currentDigest = commit.value;\n }\n\n if (tag?.value) {\n gitRepo.currentValue = tag.value;\n }\n\n const ghPackageName = githubPackageName(remote.value);\n if (isNonEmptyString(ghPackageName)) {\n gitRepo.datasource = GithubTagsDatasource.id;\n gitRepo.packageName = ghPackageName;\n } else {\n gitRepo.skipReason = 'unsupported-datasource';\n }\n return gitRepo;\n },\n);\n"]}
|
|
@@ -2,12 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.parseStep = parseStep;
|
|
4
4
|
exports.parseStepRef = parseStepRef;
|
|
5
|
-
const
|
|
6
|
-
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
5
|
+
const is_1 = require("@sindresorhus/is");
|
|
7
6
|
const bitrise_1 = require("../../datasource/bitrise");
|
|
8
7
|
const git_tags_1 = require("../../datasource/git-tags");
|
|
9
8
|
function parseStep(stepRef, defaultRegistry) {
|
|
10
|
-
if (is_1.
|
|
9
|
+
if ((0, is_1.isEmptyString)(stepRef)) {
|
|
11
10
|
return null;
|
|
12
11
|
}
|
|
13
12
|
const dep = {
|
|
@@ -17,7 +16,7 @@ function parseStep(stepRef, defaultRegistry) {
|
|
|
17
16
|
const [ref, currentValue] = stepRef.split('@', 2);
|
|
18
17
|
const refDep = parseStepRef(ref, defaultRegistry);
|
|
19
18
|
// no version
|
|
20
|
-
if (is_1.
|
|
19
|
+
if ((0, is_1.isNullOrUndefined)(currentValue)) {
|
|
21
20
|
return {
|
|
22
21
|
...dep,
|
|
23
22
|
packageName: stepRef,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../lib/modules/manager/bitrise/utils.ts"],"names":[],"mappings":";;AAKA,8BA+BC;AAED,oCA8CC
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../lib/modules/manager/bitrise/utils.ts"],"names":[],"mappings":";;AAKA,8BA+BC;AAED,oCA8CC;AApFD,yCAAoE;AACpE,sDAA6D;AAC7D,wDAA8D;AAG9D,SAAgB,SAAS,CACvB,OAAe,EACf,eAAwB;IAExB,IAAI,IAAA,kBAAa,EAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,GAAG,GAAsB;QAC7B,UAAU,EAAE,2BAAiB,CAAC,EAAE;QAChC,aAAa,EAAE,OAAO;KACvB,CAAC;IAEF,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAElD,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAElD,aAAa;IACb,IAAI,IAAA,sBAAiB,EAAC,YAAY,CAAC,EAAE,CAAC;QACpC,OAAO;YACL,GAAG,GAAG;YACN,WAAW,EAAE,OAAO;YACpB,UAAU,EAAE,qBAAqB;SAClC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,GAAG;QACN,GAAG,MAAM;QACT,YAAY;KACb,CAAC;AACJ,CAAC;AAED,SAAgB,YAAY,CAC1B,GAAW,EACX,eAAwB;IAExB,oBAAoB;IACpB,2FAA2F;IAC3F,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9B,UAAU,EAAE,kBAAkB;SAC/B,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,2FAA2F;IAC3F,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,EAAE,WAAW,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO;YACL,WAAW;YACX,UAAU,EAAE,4BAAiB,CAAC,EAAE;SACjC,CAAC;IACJ,CAAC;IAED,0BAA0B;IAC1B,2FAA2F;IAC3F,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEpC,wCAAwC;IACxC,YAAY;IACZ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC;QAC/B,OAAO;YACL,WAAW;YACX,UAAU,EAAE,2BAAiB,CAAC,EAAE;YAChC,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9D,CAAC;IACJ,CAAC;IAED,8CAA8C;IAC9C,+DAA+D;IAC/D,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC;IAC5C,OAAO;QACL,WAAW;QACX,UAAU,EAAE,2BAAiB,CAAC,EAAE;QAChC,YAAY,EAAE,CAAC,WAAW,CAAC;KAC5B,CAAC;AACJ,CAAC","sourcesContent":["import { isEmptyString, isNullOrUndefined } from '@sindresorhus/is';\nimport { BitriseDatasource } from '../../datasource/bitrise';\nimport { GitTagsDatasource } from '../../datasource/git-tags';\nimport type { PackageDependency } from '../types';\n\nexport function parseStep(\n stepRef: string,\n defaultRegistry?: string,\n): PackageDependency | null {\n if (isEmptyString(stepRef)) {\n return null;\n }\n\n const dep: PackageDependency = {\n datasource: BitriseDatasource.id,\n replaceString: stepRef,\n };\n\n const [ref, currentValue] = stepRef.split('@', 2);\n\n const refDep = parseStepRef(ref, defaultRegistry);\n\n // no version\n if (isNullOrUndefined(currentValue)) {\n return {\n ...dep,\n packageName: stepRef,\n skipReason: 'unspecified-version',\n };\n }\n\n return {\n ...dep,\n ...refDep,\n currentValue,\n };\n}\n\nexport function parseStepRef(\n ref: string,\n defaultRegistry?: string,\n): PackageDependency {\n // handle local path\n // https://devcenter.bitrise.io/en/references/steps-reference/step-reference-id-format.html\n if (ref.startsWith('path::')) {\n return {\n depName: ref.split('::', 2)[1],\n skipReason: 'local-dependency',\n };\n }\n\n // handle Git references\n // https://devcenter.bitrise.io/en/references/steps-reference/step-reference-id-format.html\n if (ref.startsWith('git::')) {\n const [, packageName] = ref.split('::');\n return {\n packageName,\n datasource: GitTagsDatasource.id,\n };\n }\n\n // step library references\n // https://devcenter.bitrise.io/en/references/steps-reference/step-reference-id-format.html\n const splitted = ref.split('::', 2);\n\n // reference which uses default registry\n // - script:\n if (splitted.length === 1) {\n const [packageName] = splitted;\n return {\n packageName,\n datasource: BitriseDatasource.id,\n registryUrls: defaultRegistry ? [defaultRegistry] : undefined,\n };\n }\n\n // reference which overwrites Bitrise registry\n // https://github.com/bitrise-io/bitrise-steplib.git::script@1:\n const [registryUrl, packageName] = splitted;\n return {\n packageName,\n datasource: BitriseDatasource.id,\n registryUrls: [registryUrl],\n };\n}\n"]}
|
|
@@ -5,8 +5,7 @@ exports.isDockerRef = isDockerRef;
|
|
|
5
5
|
exports.isBuildpackRegistryRef = isBuildpackRegistryRef;
|
|
6
6
|
exports.extractPackageFile = extractPackageFile;
|
|
7
7
|
exports.getDep = getDep;
|
|
8
|
-
const
|
|
9
|
-
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
8
|
+
const is_1 = require("@sindresorhus/is");
|
|
10
9
|
const logger_1 = require("../../../logger");
|
|
11
10
|
const regex_1 = require("../../../util/regex");
|
|
12
11
|
const buildpacks_registry_1 = require("../../datasource/buildpacks-registry");
|
|
@@ -61,7 +60,7 @@ function extractPackageFile(content, packageFile, config) {
|
|
|
61
60
|
deps.push({ ...dep, commitMessageTopic: 'builder {{depName}}' });
|
|
62
61
|
}
|
|
63
62
|
if (descriptor.io?.buildpacks?.group &&
|
|
64
|
-
is_1.
|
|
63
|
+
(0, is_1.isArray)(descriptor.io.buildpacks.group)) {
|
|
65
64
|
for (const group of descriptor.io.buildpacks.group) {
|
|
66
65
|
if ((0, schema_1.isBuildpackByURI)(group) && isDockerRef(group.uri)) {
|
|
67
66
|
const dep = (0, extract_1.getDep)(group.uri.replace(exports.DOCKER_PREFIX, ''), true, config.registryAliases);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/buildpacks/extract.ts"],"names":[],"mappings":";;;AAuBA,kCAKC;AAgBD,wDAIC;AAmBD,gDA8EC;AAED,wBAcC
|
|
1
|
+
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/buildpacks/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import { isArray } from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { regEx } from '../../../util/regex';\nimport { BuildpacksRegistryDatasource } from '../../datasource/buildpacks-registry';\nimport { isVersion } from '../../versioning/semver';\nimport { getDep as getDockerDep } from '../dockerfile/extract';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFileContent,\n} from '../types';\nimport {\n type ProjectDescriptor,\n ProjectDescriptorToml,\n isBuildpackByName,\n isBuildpackByURI,\n} from './schema';\n\nexport const DOCKER_PREFIX = regEx(/^docker:\\/?\\//);\nconst dockerRef = regEx(\n /^((?:[a-z\\d](?:[a-z\\d-]{0,61}[a-z\\d])?(?:\\.[a-z\\d](?:[a-z\\d-]{0,61}[a-z\\d])?)*)(?::\\d{2,5}\\/)?)?[a-z\\d]+((\\.|_|__|-+)[a-z\\d]+)*(\\/[a-z\\d]+((\\.|_|__|-+)[a-z\\d]+)*)*(?::(\\w[\\w.-]{0,127})(?:@sha256:[A-Fa-f\\d]{32,})?|@sha256:[A-Fa-f\\d]{32,})$/,\n);\n\nexport function isDockerRef(ref: string): boolean {\n if (ref.startsWith('docker:/') || dockerRef.test(ref)) {\n return true;\n }\n return false;\n}\nexport const BUILDPACK_REGISTRY_PREFIX = 'urn:cnb:registry:';\nconst buildpackRegistryId = regEx(\n /^[a-z0-9\\-.]+\\/[a-z0-9\\-.]+(?:@(?<version>.+))?$/,\n);\n\nfunction isBuildpackRegistryId(ref: string): boolean {\n const bpRegistryMatch = buildpackRegistryId.exec(ref);\n if (!bpRegistryMatch) {\n return false;\n } else if (!bpRegistryMatch.groups?.version) {\n return true;\n }\n return isVersion(bpRegistryMatch.groups.version);\n}\n\nexport function isBuildpackRegistryRef(ref: string): boolean {\n return (\n isBuildpackRegistryId(ref) || ref.startsWith(BUILDPACK_REGISTRY_PREFIX)\n );\n}\n\nfunction parseProjectToml(\n content: string,\n packageFile: string,\n): ProjectDescriptor | null {\n const res = ProjectDescriptorToml.safeParse(content);\n if (res.success) {\n return res.data;\n }\n\n logger.debug(\n { packageFile, err: res.error },\n 'Failed to parse buildpacks project descriptor TOML',\n );\n\n return null;\n}\n\nexport function extractPackageFile(\n content: string,\n packageFile: string,\n config: ExtractConfig,\n): PackageFileContent | null {\n const deps: PackageDependency[] = [];\n\n const descriptor = parseProjectToml(content, packageFile);\n if (!descriptor) {\n return null;\n }\n\n if (\n descriptor.io?.buildpacks?.builder &&\n isDockerRef(descriptor.io.buildpacks.builder)\n ) {\n const dep = getDockerDep(\n descriptor.io.buildpacks.builder.replace(DOCKER_PREFIX, ''),\n true,\n config.registryAliases,\n );\n logger.trace(\n {\n depName: dep.depName,\n currentValue: dep.currentValue,\n currentDigest: dep.currentDigest,\n },\n 'Cloud Native Buildpacks builder',\n );\n\n deps.push({ ...dep, commitMessageTopic: 'builder {{depName}}' });\n }\n\n if (\n descriptor.io?.buildpacks?.group &&\n isArray(descriptor.io.buildpacks.group)\n ) {\n for (const group of descriptor.io.buildpacks.group) {\n if (isBuildpackByURI(group) && isDockerRef(group.uri)) {\n const dep = getDockerDep(\n group.uri.replace(DOCKER_PREFIX, ''),\n true,\n config.registryAliases,\n );\n logger.trace(\n {\n depName: dep.depName,\n currentValue: dep.currentValue,\n currentDigest: dep.currentDigest,\n },\n 'Cloud Native Buildpack',\n );\n\n deps.push(dep);\n } else if (isBuildpackByURI(group) && isBuildpackRegistryRef(group.uri)) {\n const dep = getDep(group.uri.replace(BUILDPACK_REGISTRY_PREFIX, ''));\n if (dep) {\n deps.push(dep);\n }\n } else if (isBuildpackByName(group)) {\n const version = group.version;\n\n if (version) {\n const dep: PackageDependency = {\n datasource: BuildpacksRegistryDatasource.id,\n currentValue: version,\n packageName: group.id,\n };\n deps.push(dep);\n }\n }\n }\n }\n\n if (!deps.length) {\n return null;\n }\n return { deps };\n}\n\nexport function getDep(currentFrom: string): PackageDependency | null {\n if (currentFrom.includes('@')) {\n const dep: PackageDependency = {\n datasource: BuildpacksRegistryDatasource.id,\n packageName: currentFrom.split('@')[0],\n autoReplaceStringTemplate:\n '{{depName}}{{#if newValue}}:{{newValue}}{{/if}}{{#if newDigest}}@{{newDigest}}{{/if}}',\n };\n const version = currentFrom.split('@')[1];\n dep.currentValue = version;\n return dep;\n }\n\n return null;\n}\n"]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.updateArtifacts = updateArtifacts;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const is_1 =
|
|
5
|
+
const is_1 = require("@sindresorhus/is");
|
|
6
6
|
const upath_1 = tslib_1.__importDefault(require("upath"));
|
|
7
7
|
const global_1 = require("../../../config/global");
|
|
8
8
|
const error_messages_1 = require("../../../constants/error-messages");
|
|
@@ -15,7 +15,7 @@ async function updateArtifacts(updateArtifact) {
|
|
|
15
15
|
const { packageFileName, updatedDeps, newPackageFileContent, config } = updateArtifact;
|
|
16
16
|
logger_1.logger.debug(`bun.updateArtifacts(${packageFileName})`);
|
|
17
17
|
const { isLockFileMaintenance } = config;
|
|
18
|
-
if (is_1.
|
|
18
|
+
if ((0, is_1.isEmptyArray)(updatedDeps) && !isLockFileMaintenance) {
|
|
19
19
|
logger_1.logger.debug('No updated bun deps - returning null');
|
|
20
20
|
return null;
|
|
21
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/bun/artifacts.ts"],"names":[],"mappings":";;AAoBA,0CA2FC;;AA/GD,
|
|
1
|
+
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/bun/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import { isEmptyArray } from '@sindresorhus/is';\nimport upath from 'upath';\nimport { GlobalConfig } from '../../../config/global';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions } from '../../../util/exec/types';\nimport {\n deleteLocalFile,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\nimport { processHostRules } from '../npm/post-update/rules';\nimport {\n getNpmrcContent,\n resetNpmrcContent,\n updateNpmrcContent,\n} from '../npm/utils';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\n\nexport async function updateArtifacts(\n updateArtifact: UpdateArtifact,\n): Promise<UpdateArtifactsResult[] | null> {\n const { packageFileName, updatedDeps, newPackageFileContent, config } =\n updateArtifact;\n logger.debug(`bun.updateArtifacts(${packageFileName})`);\n const { isLockFileMaintenance } = config;\n\n if (isEmptyArray(updatedDeps) && !isLockFileMaintenance) {\n logger.debug('No updated bun deps - returning null');\n return null;\n }\n\n // Find the first bun dependency in order to handle mixed manager updates,\n // eventually falling back to the first lock file from config.\n const lockFileName =\n updatedDeps.find((dep) => dep.manager === 'bun')?.lockFiles?.[0] ??\n config.lockFiles?.[0];\n\n if (!lockFileName) {\n logger.debug(`bun: No lock file found`);\n return null;\n }\n\n const oldLockFileContent = await readLocalFile(lockFileName);\n if (!oldLockFileContent) {\n logger.debug(`No ${lockFileName} found`);\n return null;\n }\n\n const pkgFileDir = upath.dirname(packageFileName);\n const npmrcContent = await getNpmrcContent(pkgFileDir);\n const { additionalNpmrcContent } = processHostRules();\n await updateNpmrcContent(pkgFileDir, npmrcContent, additionalNpmrcContent);\n\n try {\n await writeLocalFile(packageFileName, newPackageFileContent);\n if (isLockFileMaintenance) {\n await deleteLocalFile(lockFileName);\n }\n\n let cmd = 'bun install';\n\n if (!GlobalConfig.get('allowScripts') || config.ignoreScripts) {\n cmd += ' --ignore-scripts';\n }\n\n const execOptions: ExecOptions = {\n cwdFile: packageFileName,\n docker: {},\n toolConstraints: [\n {\n toolName: 'bun',\n constraint: updateArtifact?.config?.constraints?.bun,\n },\n ],\n };\n\n await exec(cmd, execOptions);\n await resetNpmrcContent(pkgFileDir, npmrcContent);\n\n const newLockFileContent = await readLocalFile(lockFileName);\n if (\n !newLockFileContent ||\n Buffer.compare(oldLockFileContent, newLockFileContent) === 0\n ) {\n return null;\n }\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newLockFileContent,\n },\n },\n ];\n } catch (err) {\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.warn({ lockfile: lockFileName, err }, `Failed to update lock file`);\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: err.message,\n },\n },\n ];\n }\n}\n"]}
|
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.processPackageFile = processPackageFile;
|
|
4
4
|
exports.extractAllPackageFiles = extractAllPackageFiles;
|
|
5
|
-
const
|
|
6
|
-
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
5
|
+
const is_1 = require("@sindresorhus/is");
|
|
7
6
|
const logger_1 = require("../../../logger");
|
|
8
7
|
const fs_1 = require("../../../util/fs");
|
|
9
8
|
const package_file_1 = require("../npm/extract/common/package-file");
|
|
@@ -51,7 +50,7 @@ async function extractAllPackageFiles(config, matchedFiles) {
|
|
|
51
50
|
}
|
|
52
51
|
// Check if package.json contains workspaces
|
|
53
52
|
const workspaces = res?.managerData?.workspaces;
|
|
54
|
-
if (!is_1.
|
|
53
|
+
if (!(0, is_1.isArray)(workspaces, is_1.isString)) {
|
|
55
54
|
continue;
|
|
56
55
|
}
|
|
57
56
|
logger_1.logger.debug(`Found bun workspaces in ${packageFile}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/bun/extract.ts"],"names":[],"mappings":";;AAoBA,gDAwBC;AACD,wDAgDC
|
|
1
|
+
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/bun/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import { isArray, isString } from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport {\n getParentDir,\n getSiblingFileName,\n readLocalFile,\n} from '../../../util/fs';\n\nimport { extractPackageJson } from '../npm/extract/common/package-file';\nimport type { NpmPackage } from '../npm/extract/types';\nimport type { NpmManagerData } from '../npm/types';\nimport type { ExtractConfig, PackageFile } from '../types';\nimport { filesMatchingWorkspaces } from './utils';\n\nfunction matchesFileName(fileNameWithPath: string, fileName: string): boolean {\n return (\n fileNameWithPath === fileName || fileNameWithPath.endsWith(`/${fileName}`)\n );\n}\n\nexport async function processPackageFile(\n packageFile: string,\n): Promise<PackageFile | null> {\n const fileContent = await readLocalFile(packageFile, 'utf8');\n if (!fileContent) {\n logger.warn({ fileName: packageFile }, 'Could not read file content');\n return null;\n }\n let packageJson: NpmPackage;\n try {\n packageJson = JSON.parse(fileContent);\n } catch (err) {\n logger.debug({ err }, 'Error parsing package.json');\n return null;\n }\n const result = extractPackageJson(packageJson, packageFile);\n if (!result) {\n logger.debug({ packageFile }, 'No dependencies found');\n return null;\n }\n return {\n ...result,\n packageFile,\n };\n}\nexport async function extractAllPackageFiles(\n config: ExtractConfig,\n matchedFiles: string[],\n): Promise<PackageFile[]> {\n const packageFiles: PackageFile<NpmManagerData>[] = [];\n const allLockFiles = matchedFiles.filter(\n (file) =>\n matchesFileName(file, 'bun.lock') || matchesFileName(file, 'bun.lockb'),\n );\n if (allLockFiles.length === 0) {\n logger.debug('No bun lockfiles found');\n return packageFiles;\n }\n const allPackageJson = matchedFiles.filter((file) =>\n matchesFileName(file, 'package.json'),\n );\n for (const lockFile of allLockFiles) {\n const packageFile = getSiblingFileName(lockFile, 'package.json');\n const res = await processPackageFile(packageFile);\n if (res) {\n packageFiles.push({ ...res, lockFiles: [lockFile] });\n }\n // Check if package.json contains workspaces\n const workspaces = res?.managerData?.workspaces;\n\n if (!isArray(workspaces, isString)) {\n continue;\n }\n\n logger.debug(`Found bun workspaces in ${packageFile}`);\n const pwd = getParentDir(packageFile);\n const workspacePackageFiles = filesMatchingWorkspaces(\n pwd,\n allPackageJson,\n workspaces,\n );\n if (workspacePackageFiles.length) {\n logger.debug({ workspacePackageFiles }, 'Found bun workspace files');\n for (const workspaceFile of workspacePackageFiles) {\n const res = await processPackageFile(workspaceFile);\n if (res) {\n packageFiles.push({ ...res, lockFiles: [lockFile] });\n }\n }\n }\n }\n\n return packageFiles;\n}\n"]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.updateArtifacts = updateArtifacts;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const is_1 =
|
|
5
|
+
const is_1 = require("@sindresorhus/is");
|
|
6
6
|
const shlex_1 = require("shlex");
|
|
7
7
|
const error_messages_1 = require("../../../constants/error-messages");
|
|
8
8
|
const logger_1 = require("../../../logger");
|
|
@@ -59,7 +59,7 @@ async function updateArtifacts(updateArtifact, recursionLimit = 10) {
|
|
|
59
59
|
}
|
|
60
60
|
const updatedDepNames = updatedDeps
|
|
61
61
|
.map(({ depName }) => depName)
|
|
62
|
-
.filter(is_1.
|
|
62
|
+
.filter(is_1.isNonEmptyStringAndNotWhitespace);
|
|
63
63
|
try {
|
|
64
64
|
await (0, fs_1.writeLocalFile)(packageFileName, newPackageFileContent);
|
|
65
65
|
const commands = [];
|
|
@@ -82,7 +82,7 @@ async function updateArtifacts(updateArtifact, recursionLimit = 10) {
|
|
|
82
82
|
const deps = updatedDeps
|
|
83
83
|
.filter((dep) => (dep.updateType ?? 'major') === updateType)
|
|
84
84
|
.map((dep) => dep.depName)
|
|
85
|
-
.filter(is_1.
|
|
85
|
+
.filter(is_1.isString)
|
|
86
86
|
.filter((dep) => dep !== 'ruby' && dep !== 'bundler');
|
|
87
87
|
let additionalArgs = '';
|
|
88
88
|
if (config.postUpdateOptions?.includes('bundlerConservative')) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/bundler/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport {\n BUNDLER_INVALID_CREDENTIALS,\n TEMPORARY_ERROR,\n} from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport type { HostRule } from '../../../types';\nimport * as memCache from '../../../util/cache/memory';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions } from '../../../util/exec/types';\nimport {\n ensureCacheDir,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\nimport { getRepoStatus } from '../../../util/git';\nimport { newlineRegex, regEx } from '../../../util/regex';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\nimport {\n getBundlerConstraint,\n getLockFilePath,\n getRubyConstraint,\n} from './common';\nimport {\n findAllAuthenticatable,\n getAuthenticationHeaderValue,\n} from './host-rules';\n\nconst hostConfigVariablePrefix = 'BUNDLE_';\n\nfunction buildBundleHostVariable(hostRule: HostRule): Record<string, string> {\n // istanbul ignore if: doesn't happen in practice\n if (!hostRule.resolvedHost) {\n return {};\n }\n const varName = hostConfigVariablePrefix.concat(\n hostRule.resolvedHost\n .toUpperCase()\n .split('.')\n .join('__')\n .split('-')\n .join('___'),\n );\n return {\n [varName]: `${getAuthenticationHeaderValue(hostRule)}`,\n };\n}\n\nconst resolvedPkgRegex = regEx(\n /(?<pkg>\\S+)(?:\\s*\\([^)]+\\)\\s*)? was resolved to/,\n);\n\nfunction getResolvedPackages(input: string): string[] {\n const lines = input.split(newlineRegex);\n const result: string[] = [];\n for (const line of lines) {\n const resolveMatchGroups = line.match(resolvedPkgRegex)?.groups;\n if (resolveMatchGroups) {\n const { pkg } = resolveMatchGroups;\n result.push(pkg);\n }\n }\n\n return [...new Set(result)];\n}\n\nexport async function updateArtifacts(\n updateArtifact: UpdateArtifact,\n recursionLimit = 10,\n): Promise<UpdateArtifactsResult[] | null> {\n const { packageFileName, updatedDeps, newPackageFileContent, config } =\n updateArtifact;\n logger.debug(`bundler.updateArtifacts(${packageFileName})`);\n const existingError = memCache.get<string>('bundlerArtifactsError');\n // istanbul ignore if\n if (existingError) {\n logger.debug('Aborting Bundler artifacts due to previous failed attempt');\n throw new Error(existingError);\n }\n const lockFileName = await getLockFilePath(packageFileName);\n const existingLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!existingLockFileContent) {\n logger.debug('No Gemfile.lock found');\n return null;\n }\n\n const updatedDepNames: string[] = updatedDeps\n .map(({ depName }) => depName)\n .filter(is.nonEmptyStringAndNotWhitespace);\n\n try {\n await writeLocalFile(packageFileName, newPackageFileContent);\n\n const commands: string[] = [];\n\n if (config.isLockFileMaintenance) {\n commands.push('bundler lock --update');\n } else {\n const bundlerUpgraded = updatedDeps\n .map((dep) => dep.depName)\n .includes('bundler');\n if (bundlerUpgraded) {\n commands.push('bundler lock --update --bundler');\n }\n\n const updateTypes = {\n patch: '--patch ',\n minor: '--minor ',\n major: '',\n };\n for (const [updateType, updateArg] of Object.entries(updateTypes)) {\n const deps = updatedDeps\n .filter((dep) => (dep.updateType ?? 'major') === updateType)\n .map((dep) => dep.depName)\n .filter(is.string)\n .filter((dep) => dep !== 'ruby' && dep !== 'bundler');\n let additionalArgs = '';\n if (config.postUpdateOptions?.includes('bundlerConservative')) {\n additionalArgs = '--conservative ';\n }\n if (deps.length) {\n const cmd = `bundler lock ${updateArg}${additionalArgs}--update ${deps\n .map(quote)\n .join(' ')}`;\n commands.push(cmd);\n }\n }\n\n const rubyUpgraded = updatedDeps\n .map((dep) => dep.depName)\n .includes('ruby');\n if (rubyUpgraded) {\n commands.push('bundler lock');\n }\n }\n\n const bundlerHostRules = findAllAuthenticatable({\n hostType: 'rubygems',\n });\n\n const bundlerHostRulesVariables = bundlerHostRules.reduce(\n (variables, hostRule) => ({\n ...variables,\n ...buildBundleHostVariable(hostRule),\n }),\n {} as Record<string, string>,\n );\n\n const bundler = getBundlerConstraint(\n updateArtifact,\n existingLockFileContent,\n );\n const preCommands = ['ruby --version'];\n\n const execOptions: ExecOptions = {\n cwdFile: lockFileName,\n extraEnv: {\n ...bundlerHostRulesVariables,\n GEM_HOME: await ensureCacheDir('bundler'),\n },\n docker: {},\n toolConstraints: [\n {\n toolName: 'ruby',\n constraint: await getRubyConstraint(updateArtifact),\n },\n {\n toolName: 'bundler',\n constraint: bundler,\n },\n ],\n preCommands,\n };\n await exec(commands, execOptions);\n\n const status = await getRepoStatus();\n if (!status.modified.includes(lockFileName)) {\n return null;\n }\n logger.debug('Returning updated Gemfile.lock');\n const lockFileContent = await readLocalFile(lockFileName);\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: lockFileContent,\n },\n },\n ];\n } catch (err) {\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n const output = `${String(err.stdout)}\\n${String(err.stderr)}`;\n if (\n err.message.includes('fatal: Could not parse object') ||\n output.includes('but that version could not be found')\n ) {\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: output,\n },\n },\n ];\n }\n if (\n err.stdout?.includes('Please supply credentials for this source') ||\n err.stderr?.includes('Authentication is required') ||\n err.stderr?.includes(\n 'Please make sure you have the correct access rights',\n )\n ) {\n logger.debug(\n { err },\n 'Gemfile.lock update failed due to missing credentials - skipping branch',\n );\n // Do not generate these PRs because we don't yet support Bundler authentication\n memCache.set('bundlerArtifactsError', BUNDLER_INVALID_CREDENTIALS);\n throw new Error(BUNDLER_INVALID_CREDENTIALS);\n }\n const resolveMatches: string[] = getResolvedPackages(output).filter(\n (depName) => !updatedDepNames.includes(depName),\n );\n if (\n recursionLimit > 0 &&\n resolveMatches.length &&\n !config.isLockFileMaintenance\n ) {\n logger.debug(\n { resolveMatches, updatedDeps },\n 'Found new resolve matches - reattempting recursively',\n );\n const newUpdatedDeps = [\n ...new Set([\n ...updatedDeps,\n ...resolveMatches.map((match) => ({ depName: match })),\n ]),\n ];\n return updateArtifacts(\n {\n packageFileName,\n updatedDeps: newUpdatedDeps,\n newPackageFileContent,\n config,\n },\n recursionLimit - 1,\n );\n }\n\n logger.info({ err }, 'Gemfile.lock update failed due to an unknown reason');\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: `${String(err.stdout)}\\n${String(err.stderr)}`,\n },\n },\n ];\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/bundler/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import { isNonEmptyStringAndNotWhitespace, isString } from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport {\n BUNDLER_INVALID_CREDENTIALS,\n TEMPORARY_ERROR,\n} from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport type { HostRule } from '../../../types';\nimport * as memCache from '../../../util/cache/memory';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions } from '../../../util/exec/types';\nimport {\n ensureCacheDir,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\nimport { getRepoStatus } from '../../../util/git';\nimport { newlineRegex, regEx } from '../../../util/regex';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\nimport {\n getBundlerConstraint,\n getLockFilePath,\n getRubyConstraint,\n} from './common';\nimport {\n findAllAuthenticatable,\n getAuthenticationHeaderValue,\n} from './host-rules';\n\nconst hostConfigVariablePrefix = 'BUNDLE_';\n\nfunction buildBundleHostVariable(hostRule: HostRule): Record<string, string> {\n // istanbul ignore if: doesn't happen in practice\n if (!hostRule.resolvedHost) {\n return {};\n }\n const varName = hostConfigVariablePrefix.concat(\n hostRule.resolvedHost\n .toUpperCase()\n .split('.')\n .join('__')\n .split('-')\n .join('___'),\n );\n return {\n [varName]: `${getAuthenticationHeaderValue(hostRule)}`,\n };\n}\n\nconst resolvedPkgRegex = regEx(\n /(?<pkg>\\S+)(?:\\s*\\([^)]+\\)\\s*)? was resolved to/,\n);\n\nfunction getResolvedPackages(input: string): string[] {\n const lines = input.split(newlineRegex);\n const result: string[] = [];\n for (const line of lines) {\n const resolveMatchGroups = line.match(resolvedPkgRegex)?.groups;\n if (resolveMatchGroups) {\n const { pkg } = resolveMatchGroups;\n result.push(pkg);\n }\n }\n\n return [...new Set(result)];\n}\n\nexport async function updateArtifacts(\n updateArtifact: UpdateArtifact,\n recursionLimit = 10,\n): Promise<UpdateArtifactsResult[] | null> {\n const { packageFileName, updatedDeps, newPackageFileContent, config } =\n updateArtifact;\n logger.debug(`bundler.updateArtifacts(${packageFileName})`);\n const existingError = memCache.get<string>('bundlerArtifactsError');\n // istanbul ignore if\n if (existingError) {\n logger.debug('Aborting Bundler artifacts due to previous failed attempt');\n throw new Error(existingError);\n }\n const lockFileName = await getLockFilePath(packageFileName);\n const existingLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!existingLockFileContent) {\n logger.debug('No Gemfile.lock found');\n return null;\n }\n\n const updatedDepNames: string[] = updatedDeps\n .map(({ depName }) => depName)\n .filter(isNonEmptyStringAndNotWhitespace);\n\n try {\n await writeLocalFile(packageFileName, newPackageFileContent);\n\n const commands: string[] = [];\n\n if (config.isLockFileMaintenance) {\n commands.push('bundler lock --update');\n } else {\n const bundlerUpgraded = updatedDeps\n .map((dep) => dep.depName)\n .includes('bundler');\n if (bundlerUpgraded) {\n commands.push('bundler lock --update --bundler');\n }\n\n const updateTypes = {\n patch: '--patch ',\n minor: '--minor ',\n major: '',\n };\n for (const [updateType, updateArg] of Object.entries(updateTypes)) {\n const deps = updatedDeps\n .filter((dep) => (dep.updateType ?? 'major') === updateType)\n .map((dep) => dep.depName)\n .filter(isString)\n .filter((dep) => dep !== 'ruby' && dep !== 'bundler');\n let additionalArgs = '';\n if (config.postUpdateOptions?.includes('bundlerConservative')) {\n additionalArgs = '--conservative ';\n }\n if (deps.length) {\n const cmd = `bundler lock ${updateArg}${additionalArgs}--update ${deps\n .map(quote)\n .join(' ')}`;\n commands.push(cmd);\n }\n }\n\n const rubyUpgraded = updatedDeps\n .map((dep) => dep.depName)\n .includes('ruby');\n if (rubyUpgraded) {\n commands.push('bundler lock');\n }\n }\n\n const bundlerHostRules = findAllAuthenticatable({\n hostType: 'rubygems',\n });\n\n const bundlerHostRulesVariables = bundlerHostRules.reduce(\n (variables, hostRule) => ({\n ...variables,\n ...buildBundleHostVariable(hostRule),\n }),\n {} as Record<string, string>,\n );\n\n const bundler = getBundlerConstraint(\n updateArtifact,\n existingLockFileContent,\n );\n const preCommands = ['ruby --version'];\n\n const execOptions: ExecOptions = {\n cwdFile: lockFileName,\n extraEnv: {\n ...bundlerHostRulesVariables,\n GEM_HOME: await ensureCacheDir('bundler'),\n },\n docker: {},\n toolConstraints: [\n {\n toolName: 'ruby',\n constraint: await getRubyConstraint(updateArtifact),\n },\n {\n toolName: 'bundler',\n constraint: bundler,\n },\n ],\n preCommands,\n };\n await exec(commands, execOptions);\n\n const status = await getRepoStatus();\n if (!status.modified.includes(lockFileName)) {\n return null;\n }\n logger.debug('Returning updated Gemfile.lock');\n const lockFileContent = await readLocalFile(lockFileName);\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: lockFileContent,\n },\n },\n ];\n } catch (err) {\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n const output = `${String(err.stdout)}\\n${String(err.stderr)}`;\n if (\n err.message.includes('fatal: Could not parse object') ||\n output.includes('but that version could not be found')\n ) {\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: output,\n },\n },\n ];\n }\n if (\n err.stdout?.includes('Please supply credentials for this source') ||\n err.stderr?.includes('Authentication is required') ||\n err.stderr?.includes(\n 'Please make sure you have the correct access rights',\n )\n ) {\n logger.debug(\n { err },\n 'Gemfile.lock update failed due to missing credentials - skipping branch',\n );\n // Do not generate these PRs because we don't yet support Bundler authentication\n memCache.set('bundlerArtifactsError', BUNDLER_INVALID_CREDENTIALS);\n throw new Error(BUNDLER_INVALID_CREDENTIALS);\n }\n const resolveMatches: string[] = getResolvedPackages(output).filter(\n (depName) => !updatedDepNames.includes(depName),\n );\n if (\n recursionLimit > 0 &&\n resolveMatches.length &&\n !config.isLockFileMaintenance\n ) {\n logger.debug(\n { resolveMatches, updatedDeps },\n 'Found new resolve matches - reattempting recursively',\n );\n const newUpdatedDeps = [\n ...new Set([\n ...updatedDeps,\n ...resolveMatches.map((match) => ({ depName: match })),\n ]),\n ];\n return updateArtifacts(\n {\n packageFileName,\n updatedDeps: newUpdatedDeps,\n newPackageFileContent,\n config,\n },\n recursionLimit - 1,\n );\n }\n\n logger.info({ err }, 'Gemfile.lock update failed due to an unknown reason');\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: `${String(err.stdout)}\\n${String(err.stderr)}`,\n },\n },\n ];\n }\n}\n"]}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.extractPackageFile = extractPackageFile;
|
|
4
|
-
const
|
|
5
|
-
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
4
|
+
const is_1 = require("@sindresorhus/is");
|
|
6
5
|
const logger_1 = require("../../../logger");
|
|
7
6
|
const fs_1 = require("../../../util/fs");
|
|
8
7
|
const regex_1 = require("../../../util/regex");
|
|
@@ -37,7 +36,7 @@ async function extractPackageFile(content, packageFile) {
|
|
|
37
36
|
lineNumber += 1;
|
|
38
37
|
groupLine = lines[lineNumber];
|
|
39
38
|
// istanbul ignore if
|
|
40
|
-
if (!is_1.
|
|
39
|
+
if (!(0, is_1.isString)(groupLine)) {
|
|
41
40
|
logger_1.logger.debug({ content, packageFile, type: 'groupLine' }, 'Bundler parsing error');
|
|
42
41
|
groupLine = 'end';
|
|
43
42
|
}
|
|
@@ -173,7 +172,7 @@ async function extractPackageFile(content, packageFile) {
|
|
|
173
172
|
lineNumber += 1;
|
|
174
173
|
sourceLine = lines[lineNumber];
|
|
175
174
|
// istanbul ignore if
|
|
176
|
-
if (!is_1.
|
|
175
|
+
if (!(0, is_1.isString)(sourceLine)) {
|
|
177
176
|
logger_1.logger.debug({ content, packageFile, type: 'sourceLine' }, 'Bundler parsing error');
|
|
178
177
|
sourceLine = 'end';
|
|
179
178
|
}
|
|
@@ -203,7 +202,7 @@ async function extractPackageFile(content, packageFile) {
|
|
|
203
202
|
lineNumber += 1;
|
|
204
203
|
platformsLine = lines[lineNumber];
|
|
205
204
|
// istanbul ignore if
|
|
206
|
-
if (!is_1.
|
|
205
|
+
if (!(0, is_1.isString)(platformsLine)) {
|
|
207
206
|
logger_1.logger.debug({ content, packageFile, type: 'platformsLine' }, 'Bundler parsing error');
|
|
208
207
|
platformsLine = 'end';
|
|
209
208
|
}
|
|
@@ -230,7 +229,7 @@ async function extractPackageFile(content, packageFile) {
|
|
|
230
229
|
lineNumber += 1;
|
|
231
230
|
ifLine = lines[lineNumber];
|
|
232
231
|
// istanbul ignore if
|
|
233
|
-
if (!is_1.
|
|
232
|
+
if (!(0, is_1.isString)(ifLine)) {
|
|
234
233
|
logger_1.logger.debug({ content, packageFile, type: 'ifLine' }, 'Bundler parsing error');
|
|
235
234
|
ifLine = 'end';
|
|
236
235
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/bundler/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { readLocalFile } from '../../../util/fs';\nimport { newlineRegex, regEx } from '../../../util/regex';\nimport { isHttpUrl } from '../../../util/url';\nimport { GitRefsDatasource } from '../../datasource/git-refs';\nimport { RubyVersionDatasource } from '../../datasource/ruby-version';\nimport { RubygemsDatasource } from '../../datasource/rubygems';\nimport type { PackageDependency, PackageFileContent } from '../types';\nimport { delimiters, extractRubyVersion, getLockFilePath } from './common';\nimport { extractLockFileEntries } from './locked-version';\n\nfunction formatContent(input: string): string {\n return input.replace(regEx(/^ {2}/), '') + '\\n'; //remove leading whitespace and add a new line at the end\n}\n\nconst variableMatchRegex = regEx(\n `^(?<key>\\\\w+)\\\\s*=\\\\s*['\"](?<value>[^'\"]+)['\"]`,\n);\nconst gemMatchRegex = regEx(\n `^\\\\s*gem\\\\s+(['\"])(?<depName>[^'\"]+)(['\"])(\\\\s*,\\\\s*(?<currentValue>(['\"])[^'\"]+['\"](\\\\s*,\\\\s*['\"][^'\"]+['\"])?))?`,\n);\nconst sourceMatchRegex = regEx(\n `source:\\\\s*((?:['\"](?<registryUrl>[^'\"]+)['\"])|(?<sourceName>\\\\w+))?`,\n);\nconst gitRefsMatchRegex = regEx(\n `((git:\\\\s*['\"](?<gitUrl>[^'\"]+)['\"])|(\\\\s*,\\\\s*github:\\\\s*['\"](?<repoName>[^'\"]+)['\"]))(\\\\s*,\\\\s*branch:\\\\s*['\"](?<branchName>[^'\"]+)['\"])?(\\\\s*,\\\\s*ref:\\\\s*['\"](?<refName>[^'\"]+)['\"])?(\\\\s*,\\\\s*tag:\\\\s*['\"](?<tagName>[^'\"]+)['\"])?`,\n);\nconst pathMatchRegex = regEx(`path:\\\\s*['\"](?<path>[^'\"]+)['\"]`);\n\nexport async function extractPackageFile(\n content: string,\n packageFile?: string,\n): Promise<PackageFileContent | null> {\n let lineNumber: number;\n async function processGroupBlock(\n line: string,\n repositoryUrl?: string,\n trimGroupLine = false,\n ): Promise<void> {\n const groupMatch = regEx(/^group\\s+(.*?)\\s+do/).exec(line);\n if (groupMatch) {\n const depTypes = groupMatch[1]\n .split(',')\n .map((group) => group.trim())\n .map((group) => group.replace(regEx(/^:/), ''));\n\n const groupLineNumber = lineNumber;\n let groupContent = '';\n let groupLine = '';\n\n while (\n lineNumber < lines.length &&\n (trimGroupLine ? groupLine.trim() !== 'end' : groupLine !== 'end')\n ) {\n lineNumber += 1;\n groupLine = lines[lineNumber];\n\n // istanbul ignore if\n if (!is.string(groupLine)) {\n logger.debug(\n { content, packageFile, type: 'groupLine' },\n 'Bundler parsing error',\n );\n groupLine = 'end';\n }\n if (trimGroupLine ? groupLine.trim() !== 'end' : groupLine !== 'end') {\n groupContent += formatContent(groupLine);\n }\n }\n\n const groupRes = await extractPackageFile(groupContent);\n if (groupRes) {\n res.deps = res.deps.concat(\n groupRes.deps.map((dep) => {\n const depObject = {\n ...dep,\n depTypes,\n managerData: {\n lineNumber:\n Number(dep.managerData?.lineNumber) + groupLineNumber + 1,\n },\n };\n if (repositoryUrl) {\n depObject.registryUrls = [repositoryUrl];\n }\n return depObject;\n }),\n );\n }\n }\n }\n const res: PackageFileContent = {\n registryUrls: [],\n deps: [],\n };\n\n const variables: Record<string, string> = {};\n\n const lines = content.split(newlineRegex);\n for (lineNumber = 0; lineNumber < lines.length; lineNumber += 1) {\n const line = lines[lineNumber];\n let sourceMatch: RegExpMatchArray | null = null;\n for (const delimiter of delimiters) {\n sourceMatch =\n sourceMatch ??\n regEx(\n `^source ((${delimiter}(?<registryUrl>[^${delimiter}]+)${delimiter})|(?<sourceName>\\\\w+))\\\\s*$`,\n ).exec(line);\n }\n if (sourceMatch) {\n if (sourceMatch.groups?.registryUrl) {\n res.registryUrls?.push(sourceMatch.groups.registryUrl);\n }\n if (sourceMatch.groups?.sourceName) {\n const registryUrl = variables[sourceMatch.groups.sourceName];\n if (registryUrl) {\n res.registryUrls?.push(registryUrl);\n }\n }\n }\n\n const rubyMatch = extractRubyVersion(line);\n if (rubyMatch) {\n res.deps.push({\n depName: 'ruby',\n currentValue: rubyMatch,\n datasource: RubyVersionDatasource.id,\n registryUrls: null,\n });\n }\n\n const variableMatch = variableMatchRegex.exec(line);\n if (variableMatch) {\n if (variableMatch.groups?.key) {\n variables[variableMatch.groups?.key] = variableMatch.groups?.value;\n }\n }\n\n const gemMatch = gemMatchRegex.exec(line)?.groups;\n\n if (gemMatch) {\n const dep: PackageDependency = {\n depName: gemMatch.depName,\n managerData: { lineNumber },\n datasource: RubygemsDatasource.id,\n };\n\n if (gemMatch.currentValue) {\n const currentValue = gemMatch.currentValue;\n dep.currentValue = currentValue;\n }\n\n const pathMatch = pathMatchRegex.exec(line)?.groups;\n if (pathMatch) {\n dep.skipReason = 'internal-package';\n }\n\n const sourceMatch = sourceMatchRegex.exec(line)?.groups;\n if (sourceMatch) {\n if (sourceMatch.registryUrl) {\n dep.registryUrls = [sourceMatch.registryUrl];\n } else if (sourceMatch.sourceName) {\n dep.registryUrls = [variables[sourceMatch.sourceName]];\n }\n }\n\n const gitRefsMatch = gitRefsMatchRegex.exec(line)?.groups;\n if (gitRefsMatch) {\n if (gitRefsMatch.gitUrl) {\n const gitUrl = gitRefsMatch.gitUrl;\n dep.packageName = gitUrl;\n\n if (isHttpUrl(gitUrl)) {\n dep.sourceUrl = gitUrl.replace(/\\.git$/, '');\n }\n } else if (gitRefsMatch.repoName) {\n dep.packageName = `https://github.com/${gitRefsMatch.repoName}`;\n dep.sourceUrl = dep.packageName;\n }\n if (gitRefsMatch.refName) {\n dep.currentDigest = gitRefsMatch.refName;\n } else if (gitRefsMatch.branchName) {\n dep.currentValue = gitRefsMatch.branchName;\n } else if (gitRefsMatch.tagName) {\n dep.currentValue = gitRefsMatch.tagName;\n }\n dep.datasource = GitRefsDatasource.id;\n }\n res.deps.push(dep);\n }\n\n await processGroupBlock(line);\n\n for (const delimiter of delimiters) {\n const sourceBlockMatch = regEx(\n `^source\\\\s+((${delimiter}(?<registryUrl>[^${delimiter}]+)${delimiter})|(?<sourceName>\\\\w+))\\\\s+do`,\n ).exec(line);\n if (sourceBlockMatch) {\n let repositoryUrl = '';\n if (sourceBlockMatch.groups?.registryUrl) {\n repositoryUrl = sourceBlockMatch.groups.registryUrl;\n }\n if (sourceBlockMatch.groups?.sourceName) {\n if (variables[sourceBlockMatch.groups.sourceName]) {\n repositoryUrl = variables[sourceBlockMatch.groups.sourceName];\n }\n }\n const sourceLineNumber = lineNumber;\n let sourceContent = '';\n let sourceLine = '';\n\n while (lineNumber < lines.length && sourceLine.trim() !== 'end') {\n lineNumber += 1;\n sourceLine = lines[lineNumber];\n // istanbul ignore if\n if (!is.string(sourceLine)) {\n logger.debug(\n { content, packageFile, type: 'sourceLine' },\n 'Bundler parsing error',\n );\n sourceLine = 'end';\n }\n\n await processGroupBlock(sourceLine.trim(), repositoryUrl, true);\n\n if (sourceLine.trim() !== 'end') {\n sourceContent += formatContent(sourceLine);\n }\n }\n\n const sourceRes = await extractPackageFile(sourceContent);\n\n if (sourceRes) {\n res.deps = res.deps.concat(\n sourceRes.deps.map((dep) => ({\n ...dep,\n registryUrls: [repositoryUrl],\n managerData: {\n lineNumber:\n Number(dep.managerData?.lineNumber) + sourceLineNumber + 1,\n },\n })),\n );\n }\n }\n }\n const platformsMatch = regEx(/^platforms\\s+(.*?)\\s+do/).test(line);\n if (platformsMatch) {\n const platformsLineNumber = lineNumber;\n let platformsContent = '';\n let platformsLine = '';\n while (lineNumber < lines.length && platformsLine !== 'end') {\n lineNumber += 1;\n platformsLine = lines[lineNumber];\n // istanbul ignore if\n if (!is.string(platformsLine)) {\n logger.debug(\n { content, packageFile, type: 'platformsLine' },\n 'Bundler parsing error',\n );\n platformsLine = 'end';\n }\n if (platformsLine !== 'end') {\n platformsContent += formatContent(platformsLine);\n }\n }\n const platformsRes = await extractPackageFile(platformsContent);\n if (platformsRes) {\n res.deps = res.deps.concat(\n platformsRes.deps.map((dep) => ({\n ...dep,\n managerData: {\n lineNumber:\n Number(dep.managerData?.lineNumber) + platformsLineNumber + 1,\n },\n })),\n );\n }\n }\n const ifMatch = regEx(/^if\\s+(.*?)/).test(line);\n if (ifMatch) {\n const ifLineNumber = lineNumber;\n let ifContent = '';\n let ifLine = '';\n while (lineNumber < lines.length && ifLine !== 'end') {\n lineNumber += 1;\n ifLine = lines[lineNumber];\n // istanbul ignore if\n if (!is.string(ifLine)) {\n logger.debug(\n { content, packageFile, type: 'ifLine' },\n 'Bundler parsing error',\n );\n ifLine = 'end';\n }\n if (ifLine !== 'end') {\n ifContent += formatContent(ifLine);\n }\n }\n const ifRes = await extractPackageFile(ifContent);\n if (ifRes) {\n res.deps = res.deps.concat(\n ifRes.deps.map((dep) => ({\n ...dep,\n managerData: {\n lineNumber:\n Number(dep.managerData?.lineNumber) + ifLineNumber + 1,\n },\n })),\n );\n }\n }\n }\n if (!res.deps.length && !res.registryUrls?.length) {\n return null;\n }\n\n if (packageFile) {\n const gemfileLockPath = await getLockFilePath(packageFile);\n const lockContent = await readLocalFile(gemfileLockPath, 'utf8');\n if (lockContent) {\n logger.debug(\n `Found lock file ${gemfileLockPath} for packageFile: ${packageFile}`,\n );\n res.lockFiles = [gemfileLockPath];\n const lockedEntries = extractLockFileEntries(lockContent);\n for (const dep of res.deps) {\n // TODO: types (#22198)\n const lockedDepValue = lockedEntries.get(`${dep.depName!}`);\n if (lockedDepValue) {\n dep.lockedVersion = lockedDepValue;\n }\n }\n }\n }\n return res;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/bundler/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import { isString } from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { readLocalFile } from '../../../util/fs';\nimport { newlineRegex, regEx } from '../../../util/regex';\nimport { isHttpUrl } from '../../../util/url';\nimport { GitRefsDatasource } from '../../datasource/git-refs';\nimport { RubyVersionDatasource } from '../../datasource/ruby-version';\nimport { RubygemsDatasource } from '../../datasource/rubygems';\nimport type { PackageDependency, PackageFileContent } from '../types';\nimport { delimiters, extractRubyVersion, getLockFilePath } from './common';\nimport { extractLockFileEntries } from './locked-version';\n\nfunction formatContent(input: string): string {\n return input.replace(regEx(/^ {2}/), '') + '\\n'; //remove leading whitespace and add a new line at the end\n}\n\nconst variableMatchRegex = regEx(\n `^(?<key>\\\\w+)\\\\s*=\\\\s*['\"](?<value>[^'\"]+)['\"]`,\n);\nconst gemMatchRegex = regEx(\n `^\\\\s*gem\\\\s+(['\"])(?<depName>[^'\"]+)(['\"])(\\\\s*,\\\\s*(?<currentValue>(['\"])[^'\"]+['\"](\\\\s*,\\\\s*['\"][^'\"]+['\"])?))?`,\n);\nconst sourceMatchRegex = regEx(\n `source:\\\\s*((?:['\"](?<registryUrl>[^'\"]+)['\"])|(?<sourceName>\\\\w+))?`,\n);\nconst gitRefsMatchRegex = regEx(\n `((git:\\\\s*['\"](?<gitUrl>[^'\"]+)['\"])|(\\\\s*,\\\\s*github:\\\\s*['\"](?<repoName>[^'\"]+)['\"]))(\\\\s*,\\\\s*branch:\\\\s*['\"](?<branchName>[^'\"]+)['\"])?(\\\\s*,\\\\s*ref:\\\\s*['\"](?<refName>[^'\"]+)['\"])?(\\\\s*,\\\\s*tag:\\\\s*['\"](?<tagName>[^'\"]+)['\"])?`,\n);\nconst pathMatchRegex = regEx(`path:\\\\s*['\"](?<path>[^'\"]+)['\"]`);\n\nexport async function extractPackageFile(\n content: string,\n packageFile?: string,\n): Promise<PackageFileContent | null> {\n let lineNumber: number;\n async function processGroupBlock(\n line: string,\n repositoryUrl?: string,\n trimGroupLine = false,\n ): Promise<void> {\n const groupMatch = regEx(/^group\\s+(.*?)\\s+do/).exec(line);\n if (groupMatch) {\n const depTypes = groupMatch[1]\n .split(',')\n .map((group) => group.trim())\n .map((group) => group.replace(regEx(/^:/), ''));\n\n const groupLineNumber = lineNumber;\n let groupContent = '';\n let groupLine = '';\n\n while (\n lineNumber < lines.length &&\n (trimGroupLine ? groupLine.trim() !== 'end' : groupLine !== 'end')\n ) {\n lineNumber += 1;\n groupLine = lines[lineNumber];\n\n // istanbul ignore if\n if (!isString(groupLine)) {\n logger.debug(\n { content, packageFile, type: 'groupLine' },\n 'Bundler parsing error',\n );\n groupLine = 'end';\n }\n if (trimGroupLine ? groupLine.trim() !== 'end' : groupLine !== 'end') {\n groupContent += formatContent(groupLine);\n }\n }\n\n const groupRes = await extractPackageFile(groupContent);\n if (groupRes) {\n res.deps = res.deps.concat(\n groupRes.deps.map((dep) => {\n const depObject = {\n ...dep,\n depTypes,\n managerData: {\n lineNumber:\n Number(dep.managerData?.lineNumber) + groupLineNumber + 1,\n },\n };\n if (repositoryUrl) {\n depObject.registryUrls = [repositoryUrl];\n }\n return depObject;\n }),\n );\n }\n }\n }\n const res: PackageFileContent = {\n registryUrls: [],\n deps: [],\n };\n\n const variables: Record<string, string> = {};\n\n const lines = content.split(newlineRegex);\n for (lineNumber = 0; lineNumber < lines.length; lineNumber += 1) {\n const line = lines[lineNumber];\n let sourceMatch: RegExpMatchArray | null = null;\n for (const delimiter of delimiters) {\n sourceMatch =\n sourceMatch ??\n regEx(\n `^source ((${delimiter}(?<registryUrl>[^${delimiter}]+)${delimiter})|(?<sourceName>\\\\w+))\\\\s*$`,\n ).exec(line);\n }\n if (sourceMatch) {\n if (sourceMatch.groups?.registryUrl) {\n res.registryUrls?.push(sourceMatch.groups.registryUrl);\n }\n if (sourceMatch.groups?.sourceName) {\n const registryUrl = variables[sourceMatch.groups.sourceName];\n if (registryUrl) {\n res.registryUrls?.push(registryUrl);\n }\n }\n }\n\n const rubyMatch = extractRubyVersion(line);\n if (rubyMatch) {\n res.deps.push({\n depName: 'ruby',\n currentValue: rubyMatch,\n datasource: RubyVersionDatasource.id,\n registryUrls: null,\n });\n }\n\n const variableMatch = variableMatchRegex.exec(line);\n if (variableMatch) {\n if (variableMatch.groups?.key) {\n variables[variableMatch.groups?.key] = variableMatch.groups?.value;\n }\n }\n\n const gemMatch = gemMatchRegex.exec(line)?.groups;\n\n if (gemMatch) {\n const dep: PackageDependency = {\n depName: gemMatch.depName,\n managerData: { lineNumber },\n datasource: RubygemsDatasource.id,\n };\n\n if (gemMatch.currentValue) {\n const currentValue = gemMatch.currentValue;\n dep.currentValue = currentValue;\n }\n\n const pathMatch = pathMatchRegex.exec(line)?.groups;\n if (pathMatch) {\n dep.skipReason = 'internal-package';\n }\n\n const sourceMatch = sourceMatchRegex.exec(line)?.groups;\n if (sourceMatch) {\n if (sourceMatch.registryUrl) {\n dep.registryUrls = [sourceMatch.registryUrl];\n } else if (sourceMatch.sourceName) {\n dep.registryUrls = [variables[sourceMatch.sourceName]];\n }\n }\n\n const gitRefsMatch = gitRefsMatchRegex.exec(line)?.groups;\n if (gitRefsMatch) {\n if (gitRefsMatch.gitUrl) {\n const gitUrl = gitRefsMatch.gitUrl;\n dep.packageName = gitUrl;\n\n if (isHttpUrl(gitUrl)) {\n dep.sourceUrl = gitUrl.replace(/\\.git$/, '');\n }\n } else if (gitRefsMatch.repoName) {\n dep.packageName = `https://github.com/${gitRefsMatch.repoName}`;\n dep.sourceUrl = dep.packageName;\n }\n if (gitRefsMatch.refName) {\n dep.currentDigest = gitRefsMatch.refName;\n } else if (gitRefsMatch.branchName) {\n dep.currentValue = gitRefsMatch.branchName;\n } else if (gitRefsMatch.tagName) {\n dep.currentValue = gitRefsMatch.tagName;\n }\n dep.datasource = GitRefsDatasource.id;\n }\n res.deps.push(dep);\n }\n\n await processGroupBlock(line);\n\n for (const delimiter of delimiters) {\n const sourceBlockMatch = regEx(\n `^source\\\\s+((${delimiter}(?<registryUrl>[^${delimiter}]+)${delimiter})|(?<sourceName>\\\\w+))\\\\s+do`,\n ).exec(line);\n if (sourceBlockMatch) {\n let repositoryUrl = '';\n if (sourceBlockMatch.groups?.registryUrl) {\n repositoryUrl = sourceBlockMatch.groups.registryUrl;\n }\n if (sourceBlockMatch.groups?.sourceName) {\n if (variables[sourceBlockMatch.groups.sourceName]) {\n repositoryUrl = variables[sourceBlockMatch.groups.sourceName];\n }\n }\n const sourceLineNumber = lineNumber;\n let sourceContent = '';\n let sourceLine = '';\n\n while (lineNumber < lines.length && sourceLine.trim() !== 'end') {\n lineNumber += 1;\n sourceLine = lines[lineNumber];\n // istanbul ignore if\n if (!isString(sourceLine)) {\n logger.debug(\n { content, packageFile, type: 'sourceLine' },\n 'Bundler parsing error',\n );\n sourceLine = 'end';\n }\n\n await processGroupBlock(sourceLine.trim(), repositoryUrl, true);\n\n if (sourceLine.trim() !== 'end') {\n sourceContent += formatContent(sourceLine);\n }\n }\n\n const sourceRes = await extractPackageFile(sourceContent);\n\n if (sourceRes) {\n res.deps = res.deps.concat(\n sourceRes.deps.map((dep) => ({\n ...dep,\n registryUrls: [repositoryUrl],\n managerData: {\n lineNumber:\n Number(dep.managerData?.lineNumber) + sourceLineNumber + 1,\n },\n })),\n );\n }\n }\n }\n const platformsMatch = regEx(/^platforms\\s+(.*?)\\s+do/).test(line);\n if (platformsMatch) {\n const platformsLineNumber = lineNumber;\n let platformsContent = '';\n let platformsLine = '';\n while (lineNumber < lines.length && platformsLine !== 'end') {\n lineNumber += 1;\n platformsLine = lines[lineNumber];\n // istanbul ignore if\n if (!isString(platformsLine)) {\n logger.debug(\n { content, packageFile, type: 'platformsLine' },\n 'Bundler parsing error',\n );\n platformsLine = 'end';\n }\n if (platformsLine !== 'end') {\n platformsContent += formatContent(platformsLine);\n }\n }\n const platformsRes = await extractPackageFile(platformsContent);\n if (platformsRes) {\n res.deps = res.deps.concat(\n platformsRes.deps.map((dep) => ({\n ...dep,\n managerData: {\n lineNumber:\n Number(dep.managerData?.lineNumber) + platformsLineNumber + 1,\n },\n })),\n );\n }\n }\n const ifMatch = regEx(/^if\\s+(.*?)/).test(line);\n if (ifMatch) {\n const ifLineNumber = lineNumber;\n let ifContent = '';\n let ifLine = '';\n while (lineNumber < lines.length && ifLine !== 'end') {\n lineNumber += 1;\n ifLine = lines[lineNumber];\n // istanbul ignore if\n if (!isString(ifLine)) {\n logger.debug(\n { content, packageFile, type: 'ifLine' },\n 'Bundler parsing error',\n );\n ifLine = 'end';\n }\n if (ifLine !== 'end') {\n ifContent += formatContent(ifLine);\n }\n }\n const ifRes = await extractPackageFile(ifContent);\n if (ifRes) {\n res.deps = res.deps.concat(\n ifRes.deps.map((dep) => ({\n ...dep,\n managerData: {\n lineNumber:\n Number(dep.managerData?.lineNumber) + ifLineNumber + 1,\n },\n })),\n );\n }\n }\n }\n if (!res.deps.length && !res.registryUrls?.length) {\n return null;\n }\n\n if (packageFile) {\n const gemfileLockPath = await getLockFilePath(packageFile);\n const lockContent = await readLocalFile(gemfileLockPath, 'utf8');\n if (lockContent) {\n logger.debug(\n `Found lock file ${gemfileLockPath} for packageFile: ${packageFile}`,\n );\n res.lockFiles = [gemfileLockPath];\n const lockedEntries = extractLockFileEntries(lockContent);\n for (const dep of res.deps) {\n // TODO: types (#22198)\n const lockedDepValue = lockedEntries.get(`${dep.depName!}`);\n if (lockedDepValue) {\n dep.lockedVersion = lockedDepValue;\n }\n }\n }\n }\n return res;\n}\n"]}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.extractPackageFile = extractPackageFile;
|
|
4
|
-
const
|
|
5
|
-
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
4
|
+
const is_1 = require("@sindresorhus/is");
|
|
6
5
|
const logger_1 = require("../../../logger");
|
|
7
6
|
const array_1 = require("../../../util/array");
|
|
8
7
|
const env_1 = require("../../../util/env");
|
|
@@ -175,10 +174,10 @@ async function extractPackageFile(content, packageFile, _config) {
|
|
|
175
174
|
const packageSection = cargoManifest.package;
|
|
176
175
|
let version = undefined;
|
|
177
176
|
if (packageSection) {
|
|
178
|
-
if (is_1.
|
|
177
|
+
if ((0, is_1.isString)(packageSection.version)) {
|
|
179
178
|
version = packageSection.version;
|
|
180
179
|
}
|
|
181
|
-
else if (is_1.
|
|
180
|
+
else if ((0, is_1.isObject)(packageSection.version) &&
|
|
182
181
|
cargoManifest.workspace?.package?.version) {
|
|
183
182
|
// TODO: Support reading from parent workspace manifest?
|
|
184
183
|
version = cargoManifest.workspace.package.version;
|