renovate 42.3.0 → 42.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/decrypt.js +13 -14
- package/dist/config/decrypt.js.map +1 -1
- package/dist/config/massage.js +6 -7
- package/dist/config/massage.js.map +1 -1
- package/dist/config/migrate-validate.js +3 -3
- package/dist/config/migrate-validate.js.map +1 -1
- package/dist/config/migration.js +19 -20
- package/dist/config/migration.js.map +1 -1
- package/dist/config/migrations/base/abstract-migration.js +5 -6
- package/dist/config/migrations/base/abstract-migration.js.map +1 -1
- package/dist/config/migrations/custom/automerge-major-migration.js +2 -3
- package/dist/config/migrations/custom/automerge-major-migration.js.map +1 -1
- package/dist/config/migrations/custom/automerge-migration.js +4 -5
- package/dist/config/migrations/custom/automerge-migration.js.map +1 -1
- package/dist/config/migrations/custom/automerge-minor-migration.js +2 -3
- package/dist/config/migrations/custom/automerge-minor-migration.js.map +1 -1
- package/dist/config/migrations/custom/automerge-patch-migration.js +2 -3
- package/dist/config/migrations/custom/automerge-patch-migration.js.map +1 -1
- package/dist/config/migrations/custom/automerge-type-migration.js +2 -3
- package/dist/config/migrations/custom/automerge-type-migration.js.map +1 -1
- package/dist/config/migrations/custom/base-branch-migration.js +3 -4
- package/dist/config/migrations/custom/base-branch-migration.js.map +1 -1
- package/dist/config/migrations/custom/branch-name-migration.js +2 -3
- package/dist/config/migrations/custom/branch-name-migration.js.map +1 -1
- package/dist/config/migrations/custom/branch-prefix-migration.js +2 -3
- package/dist/config/migrations/custom/branch-prefix-migration.js.map +1 -1
- package/dist/config/migrations/custom/compatibility-migration.js +2 -3
- package/dist/config/migrations/custom/compatibility-migration.js.map +1 -1
- package/dist/config/migrations/custom/composer-ignore-platform-reqs-migration.js +2 -3
- package/dist/config/migrations/custom/composer-ignore-platform-reqs-migration.js.map +1 -1
- package/dist/config/migrations/custom/custom-managers-migration.js +2 -3
- package/dist/config/migrations/custom/custom-managers-migration.js.map +1 -1
- package/dist/config/migrations/custom/datasource-migration.js +2 -3
- package/dist/config/migrations/custom/datasource-migration.js.map +1 -1
- package/dist/config/migrations/custom/dep-types-migration.js +4 -5
- package/dist/config/migrations/custom/dep-types-migration.js.map +1 -1
- package/dist/config/migrations/custom/enabled-managers-migration.js +2 -3
- package/dist/config/migrations/custom/enabled-managers-migration.js.map +1 -1
- package/dist/config/migrations/custom/extends-migration.js +4 -5
- package/dist/config/migrations/custom/extends-migration.js.map +1 -1
- package/dist/config/migrations/custom/fetch-release-notes-migration.js +2 -3
- package/dist/config/migrations/custom/fetch-release-notes-migration.js.map +1 -1
- package/dist/config/migrations/custom/file-match-migration.js +3 -4
- package/dist/config/migrations/custom/file-match-migration.js.map +1 -1
- package/dist/config/migrations/custom/host-rules-migration.js +6 -7
- package/dist/config/migrations/custom/host-rules-migration.js.map +1 -1
- package/dist/config/migrations/custom/ignore-npmrc-file-migration.js +2 -3
- package/dist/config/migrations/custom/ignore-npmrc-file-migration.js.map +1 -1
- package/dist/config/migrations/custom/include-forks-migration.js +2 -3
- package/dist/config/migrations/custom/include-forks-migration.js.map +1 -1
- package/dist/config/migrations/custom/match-datasources-migration.js +2 -3
- package/dist/config/migrations/custom/match-datasources-migration.js.map +1 -1
- package/dist/config/migrations/custom/match-managers-migration.js +2 -3
- package/dist/config/migrations/custom/match-managers-migration.js.map +1 -1
- package/dist/config/migrations/custom/match-strings-migration.js +2 -3
- package/dist/config/migrations/custom/match-strings-migration.js.map +1 -1
- package/dist/config/migrations/custom/package-files-migration.js +6 -7
- package/dist/config/migrations/custom/package-files-migration.js.map +1 -1
- package/dist/config/migrations/custom/package-rules-migration.js +15 -16
- package/dist/config/migrations/custom/package-rules-migration.js.map +1 -1
- package/dist/config/migrations/custom/packages-migration.js +3 -4
- package/dist/config/migrations/custom/packages-migration.js.map +1 -1
- package/dist/config/migrations/custom/path-rules-migration.js +3 -4
- package/dist/config/migrations/custom/path-rules-migration.js.map +1 -1
- package/dist/config/migrations/custom/pin-versions-migration.js +2 -3
- package/dist/config/migrations/custom/pin-versions-migration.js.map +1 -1
- package/dist/config/migrations/custom/platform-commit-migration.js +2 -3
- package/dist/config/migrations/custom/platform-commit-migration.js.map +1 -1
- package/dist/config/migrations/custom/post-update-options-migration.js +2 -3
- package/dist/config/migrations/custom/post-update-options-migration.js.map +1 -1
- package/dist/config/migrations/custom/rebase-stale-prs-migration.js +2 -3
- package/dist/config/migrations/custom/rebase-stale-prs-migration.js.map +1 -1
- package/dist/config/migrations/custom/recreate-closed-migration.js +2 -3
- package/dist/config/migrations/custom/recreate-closed-migration.js.map +1 -1
- package/dist/config/migrations/custom/renovate-fork-migration.js +2 -3
- package/dist/config/migrations/custom/renovate-fork-migration.js.map +1 -1
- package/dist/config/migrations/custom/schedule-migration.js +4 -4
- package/dist/config/migrations/custom/schedule-migration.js.map +1 -1
- package/dist/config/migrations/custom/semantic-commits-migration.js +2 -3
- package/dist/config/migrations/custom/semantic-commits-migration.js.map +1 -1
- package/dist/config/migrations/custom/semantic-prefix-migration.js +2 -3
- package/dist/config/migrations/custom/semantic-prefix-migration.js.map +1 -1
- package/dist/config/migrations/custom/stability-days-migration.js +2 -3
- package/dist/config/migrations/custom/stability-days-migration.js.map +1 -1
- package/dist/config/migrations/custom/suppress-notifications-migration.js +2 -3
- package/dist/config/migrations/custom/suppress-notifications-migration.js.map +1 -1
- package/dist/config/migrations/custom/unpublish-safe-migration.js +2 -3
- package/dist/config/migrations/custom/unpublish-safe-migration.js.map +1 -1
- package/dist/config/migrations/migrations-service.js +2 -3
- package/dist/config/migrations/migrations-service.js.map +1 -1
- package/dist/config/presets/github/index.js +2 -3
- package/dist/config/presets/github/index.js.map +1 -1
- package/dist/config/presets/gitlab/index.js +2 -3
- package/dist/config/presets/gitlab/index.js.map +1 -1
- package/dist/config/presets/index.js +8 -8
- package/dist/config/presets/index.js.map +1 -1
- package/dist/config/presets/parse.js +2 -3
- package/dist/config/presets/parse.js.map +1 -1
- package/dist/config/secrets.js +3 -4
- package/dist/config/secrets.js.map +1 -1
- package/dist/config/validation-helpers/match-base-branches.js +2 -3
- package/dist/config/validation-helpers/match-base-branches.js.map +1 -1
- package/dist/config/validation-helpers/regex-glob-matchers.js +2 -3
- package/dist/config/validation-helpers/regex-glob-matchers.js.map +1 -1
- package/dist/config/validation-helpers/utils.js +6 -6
- package/dist/config/validation-helpers/utils.js.map +1 -1
- package/dist/config/validation.js +29 -29
- package/dist/config/validation.js.map +1 -1
- package/dist/instrumentation/reporting.js +7 -8
- package/dist/instrumentation/reporting.js.map +1 -1
- package/dist/instrumentation/utils.js +2 -3
- package/dist/instrumentation/utils.js.map +1 -1
- package/dist/logger/err-serializer.js +2 -2
- package/dist/logger/err-serializer.js.map +1 -1
- package/dist/logger/index.js +3 -3
- package/dist/logger/index.js.map +1 -1
- package/dist/logger/renovate-logger.js +4 -5
- package/dist/logger/renovate-logger.js.map +1 -1
- package/dist/logger/utils.js +19 -19
- package/dist/logger/utils.js.map +1 -1
- package/dist/modules/datasource/aws-eks-addon/index.js +2 -2
- package/dist/modules/datasource/aws-eks-addon/index.js.map +1 -1
- package/dist/modules/datasource/bazel/index.js +2 -2
- package/dist/modules/datasource/bazel/index.js.map +1 -1
- package/dist/modules/datasource/bitrise/index.js +2 -2
- package/dist/modules/datasource/bitrise/index.js.map +1 -1
- package/dist/modules/datasource/common.js +4 -4
- package/dist/modules/datasource/common.js.map +1 -1
- package/dist/modules/datasource/conan/index.js +3 -3
- package/dist/modules/datasource/conan/index.js.map +1 -1
- package/dist/modules/datasource/custom/formats/html.js +2 -5
- package/dist/modules/datasource/custom/formats/html.js.map +1 -1
- package/dist/modules/datasource/custom/index.js +2 -3
- package/dist/modules/datasource/custom/index.js.map +1 -1
- package/dist/modules/datasource/custom/utils.js +4 -4
- package/dist/modules/datasource/custom/utils.js.map +1 -1
- package/dist/modules/datasource/dart-version/index.js +2 -3
- package/dist/modules/datasource/dart-version/index.js.map +1 -1
- package/dist/modules/datasource/deno/index.js +2 -2
- package/dist/modules/datasource/deno/index.js.map +1 -1
- package/dist/modules/datasource/docker/common.js +5 -5
- package/dist/modules/datasource/docker/common.js.map +1 -1
- package/dist/modules/datasource/docker/index.js +6 -6
- package/dist/modules/datasource/docker/index.js.map +1 -1
- package/dist/modules/datasource/endoflife-date/index.js +2 -2
- package/dist/modules/datasource/endoflife-date/index.js.map +1 -1
- package/dist/modules/datasource/galaxy/index.js +2 -2
- package/dist/modules/datasource/galaxy/index.js.map +1 -1
- package/dist/modules/datasource/galaxy-collection/index.js +2 -2
- package/dist/modules/datasource/galaxy-collection/index.js.map +1 -1
- package/dist/modules/datasource/git-refs/base.js +2 -2
- package/dist/modules/datasource/git-refs/base.js.map +1 -1
- package/dist/modules/datasource/github-release-attachments/index.js +2 -2
- package/dist/modules/datasource/github-release-attachments/index.js.map +1 -1
- package/dist/modules/datasource/github-releases/index.js +2 -3
- package/dist/modules/datasource/github-releases/index.js.map +1 -1
- package/dist/modules/datasource/github-tags/index.js +2 -3
- package/dist/modules/datasource/github-tags/index.js.map +1 -1
- package/dist/modules/datasource/go/goproxy-parser.js +3 -3
- package/dist/modules/datasource/go/goproxy-parser.js.map +1 -1
- package/dist/modules/datasource/go/index.js +2 -2
- package/dist/modules/datasource/go/index.js.map +1 -1
- package/dist/modules/datasource/go/releases-goproxy.js +3 -3
- package/dist/modules/datasource/go/releases-goproxy.js.map +1 -1
- package/dist/modules/datasource/hackage/index.js +2 -2
- package/dist/modules/datasource/hackage/index.js.map +1 -1
- package/dist/modules/datasource/hex/schema.js +2 -3
- package/dist/modules/datasource/hex/schema.js.map +1 -1
- package/dist/modules/datasource/hexpm-bob/index.js +2 -2
- package/dist/modules/datasource/hexpm-bob/index.js.map +1 -1
- package/dist/modules/datasource/index.js +14 -14
- package/dist/modules/datasource/index.js.map +1 -1
- package/dist/modules/datasource/jsr/index.js +2 -2
- package/dist/modules/datasource/jsr/index.js.map +1 -1
- package/dist/modules/datasource/jsr/util.js +3 -4
- package/dist/modules/datasource/jsr/util.js.map +1 -1
- package/dist/modules/datasource/metadata.js +5 -5
- package/dist/modules/datasource/metadata.js.map +1 -1
- package/dist/modules/datasource/npm/get.js +2 -2
- package/dist/modules/datasource/npm/get.js.map +1 -1
- package/dist/modules/datasource/npm/npmrc.js +7 -7
- package/dist/modules/datasource/npm/npmrc.js.map +1 -1
- package/dist/modules/datasource/nuget/v3.js +2 -2
- package/dist/modules/datasource/nuget/v3.js.map +1 -1
- package/dist/modules/datasource/packagist/index.js +2 -2
- package/dist/modules/datasource/packagist/index.js.map +1 -1
- package/dist/modules/datasource/packagist/schema.js +3 -4
- package/dist/modules/datasource/packagist/schema.js.map +1 -1
- package/dist/modules/datasource/pypi/index.js +2 -2
- package/dist/modules/datasource/pypi/index.js.map +1 -1
- package/dist/modules/datasource/repology/index.js +3 -3
- package/dist/modules/datasource/repology/index.js.map +1 -1
- package/dist/modules/datasource/rubygems/schema.js +5 -6
- package/dist/modules/datasource/rubygems/schema.js.map +1 -1
- package/dist/modules/datasource/util.js +2 -3
- package/dist/modules/datasource/util.js.map +1 -1
- package/dist/modules/manager/argocd/extract.js +3 -4
- package/dist/modules/manager/argocd/extract.js.map +1 -1
- package/dist/modules/manager/asdf/extract.js +2 -3
- package/dist/modules/manager/asdf/extract.js.map +1 -1
- package/dist/modules/manager/bazel/artifacts.js +2 -2
- package/dist/modules/manager/bazel/artifacts.js.map +1 -1
- package/dist/modules/manager/bazel/common.js +4 -5
- package/dist/modules/manager/bazel/common.js.map +1 -1
- package/dist/modules/manager/bazel/rules/http.js +3 -4
- package/dist/modules/manager/bazel/rules/http.js.map +1 -1
- package/dist/modules/manager/bazel/rules/maven.js +2 -3
- package/dist/modules/manager/bazel/rules/maven.js.map +1 -1
- package/dist/modules/manager/bazel-module/parser/starlark.js +2 -3
- package/dist/modules/manager/bazel-module/parser/starlark.js.map +1 -1
- package/dist/modules/manager/bazel-module/rules.js +3 -3
- package/dist/modules/manager/bazel-module/rules.js.map +1 -1
- package/dist/modules/manager/bitrise/utils.js +3 -4
- package/dist/modules/manager/bitrise/utils.js.map +1 -1
- package/dist/modules/manager/buildpacks/extract.js +2 -3
- package/dist/modules/manager/buildpacks/extract.js.map +1 -1
- package/dist/modules/manager/bun/artifacts.js +2 -2
- package/dist/modules/manager/bun/artifacts.js.map +1 -1
- package/dist/modules/manager/bun/extract.js +2 -3
- package/dist/modules/manager/bun/extract.js.map +1 -1
- package/dist/modules/manager/bundler/artifacts.js +3 -3
- package/dist/modules/manager/bundler/artifacts.js.map +1 -1
- package/dist/modules/manager/bundler/extract.js +5 -6
- package/dist/modules/manager/bundler/extract.js.map +1 -1
- package/dist/modules/manager/cargo/extract.js +3 -4
- package/dist/modules/manager/cargo/extract.js.map +1 -1
- package/dist/modules/manager/composer/artifacts.js +3 -3
- package/dist/modules/manager/composer/artifacts.js.map +1 -1
- package/dist/modules/manager/composer/utils.js +3 -4
- package/dist/modules/manager/composer/utils.js.map +1 -1
- package/dist/modules/manager/conan/extract.js +2 -3
- package/dist/modules/manager/conan/extract.js.map +1 -1
- package/dist/modules/manager/copier/artifacts.js +1 -1
- package/dist/modules/manager/copier/artifacts.js.map +1 -1
- package/dist/modules/manager/copier/utils.js +3 -4
- package/dist/modules/manager/copier/utils.js.map +1 -1
- package/dist/modules/manager/crow/extract.js +2 -3
- package/dist/modules/manager/crow/extract.js.map +1 -1
- package/dist/modules/manager/custom/jsonata/index.js +2 -3
- package/dist/modules/manager/custom/jsonata/index.js.map +1 -1
- package/dist/modules/manager/custom/jsonata/utils.js +3 -3
- package/dist/modules/manager/custom/jsonata/utils.js.map +1 -1
- package/dist/modules/manager/custom/regex/index.js +2 -3
- package/dist/modules/manager/custom/regex/index.js.map +1 -1
- package/dist/modules/manager/custom/regex/strategies.js +4 -5
- package/dist/modules/manager/custom/regex/strategies.js.map +1 -1
- package/dist/modules/manager/custom/regex/utils.js +2 -2
- package/dist/modules/manager/custom/regex/utils.js.map +1 -1
- package/dist/modules/manager/custom/utils.js +6 -7
- package/dist/modules/manager/custom/utils.js.map +1 -1
- package/dist/modules/manager/deps-edn/extract.js +13 -14
- package/dist/modules/manager/deps-edn/extract.js.map +1 -1
- package/dist/modules/manager/deps-edn/parser.js +2 -2
- package/dist/modules/manager/deps-edn/parser.js.map +1 -1
- package/dist/modules/manager/devbox/artifacts.js +2 -2
- package/dist/modules/manager/devbox/artifacts.js.map +1 -1
- package/dist/modules/manager/docker-compose/extract.js +3 -4
- package/dist/modules/manager/docker-compose/extract.js.map +1 -1
- package/dist/modules/manager/docker-compose/schema.js +2 -3
- package/dist/modules/manager/docker-compose/schema.js.map +1 -1
- package/dist/modules/manager/dockerfile/extract.js +5 -5
- package/dist/modules/manager/dockerfile/extract.js.map +1 -1
- package/dist/modules/manager/fingerprint.generated.js +6 -6
- package/dist/modules/manager/fingerprint.generated.js.map +1 -1
- package/dist/modules/manager/fleet/extract.js +2 -3
- package/dist/modules/manager/fleet/extract.js.map +1 -1
- package/dist/modules/manager/flux/extract.js +2 -3
- package/dist/modules/manager/flux/extract.js.map +1 -1
- package/dist/modules/manager/glasskube/extract.js +2 -3
- package/dist/modules/manager/glasskube/extract.js.map +1 -1
- package/dist/modules/manager/gleam/artifacts.js +3 -4
- package/dist/modules/manager/gleam/artifacts.js.map +1 -1
- package/dist/modules/manager/gomod/artifacts.js +2 -2
- package/dist/modules/manager/gomod/artifacts.js.map +1 -1
- package/dist/modules/manager/gradle/artifacts.js +2 -2
- package/dist/modules/manager/gradle/artifacts.js.map +1 -1
- package/dist/modules/manager/gradle/extract/catalog.js +5 -5
- package/dist/modules/manager/gradle/extract/catalog.js.map +1 -1
- package/dist/modules/manager/gradle-wrapper/artifacts.js +2 -2
- package/dist/modules/manager/gradle-wrapper/artifacts.js.map +1 -1
- package/dist/modules/manager/helm-requirements/extract.js +2 -3
- package/dist/modules/manager/helm-requirements/extract.js.map +1 -1
- package/dist/modules/manager/helmfile/artifacts.js +2 -3
- package/dist/modules/manager/helmfile/artifacts.js.map +1 -1
- package/dist/modules/manager/helmfile/extract.js +4 -5
- package/dist/modules/manager/helmfile/extract.js.map +1 -1
- package/dist/modules/manager/helmsman/extract.js +4 -5
- package/dist/modules/manager/helmsman/extract.js.map +1 -1
- package/dist/modules/manager/helmv3/artifacts.js +4 -4
- package/dist/modules/manager/helmv3/artifacts.js.map +1 -1
- package/dist/modules/manager/helmv3/extract.js +4 -5
- package/dist/modules/manager/helmv3/extract.js.map +1 -1
- package/dist/modules/manager/helmv3/oci.js +3 -4
- package/dist/modules/manager/helmv3/oci.js.map +1 -1
- package/dist/modules/manager/homebrew/extract.js +1 -1
- package/dist/modules/manager/homebrew/extract.js.map +1 -1
- package/dist/modules/manager/jenkins/extract.js +3 -3
- package/dist/modules/manager/jenkins/extract.js.map +1 -1
- package/dist/modules/manager/kotlin-script/extract.js +3 -4
- package/dist/modules/manager/kotlin-script/extract.js.map +1 -1
- package/dist/modules/manager/kubernetes/extract.js +4 -4
- package/dist/modules/manager/kubernetes/extract.js.map +1 -1
- package/dist/modules/manager/kustomize/artifacts.js +8 -8
- package/dist/modules/manager/kustomize/artifacts.js.map +1 -1
- package/dist/modules/manager/kustomize/extract.js +8 -8
- package/dist/modules/manager/kustomize/extract.js.map +1 -1
- package/dist/modules/manager/maven/extract.js +4 -4
- package/dist/modules/manager/maven/extract.js.map +1 -1
- package/dist/modules/manager/maven/update.js +2 -2
- package/dist/modules/manager/maven/update.js.map +1 -1
- package/dist/modules/manager/maven-wrapper/artifacts.js +2 -2
- package/dist/modules/manager/maven-wrapper/artifacts.js.map +1 -1
- package/dist/modules/manager/mise/backends.js +9 -10
- package/dist/modules/manager/mise/backends.js.map +1 -1
- package/dist/modules/manager/mise/extract.js +7 -8
- package/dist/modules/manager/mise/extract.js.map +1 -1
- package/dist/modules/manager/mix/artifacts.js +3 -3
- package/dist/modules/manager/mix/artifacts.js.map +1 -1
- package/dist/modules/manager/nix/artifacts.js +2 -2
- package/dist/modules/manager/nix/artifacts.js.map +1 -1
- package/dist/modules/manager/npm/detect.js +2 -2
- package/dist/modules/manager/npm/detect.js.map +1 -1
- package/dist/modules/manager/npm/extract/common/dependency.js +2 -2
- package/dist/modules/manager/npm/extract/common/dependency.js.map +1 -1
- package/dist/modules/manager/npm/extract/common/overrides.js +3 -4
- package/dist/modules/manager/npm/extract/common/overrides.js.map +1 -1
- package/dist/modules/manager/npm/extract/common/package-file.js +8 -9
- package/dist/modules/manager/npm/extract/common/package-file.js.map +1 -1
- package/dist/modules/manager/npm/extract/index.js +10 -10
- package/dist/modules/manager/npm/extract/index.js.map +1 -1
- package/dist/modules/manager/npm/extract/pnpm.js +7 -7
- package/dist/modules/manager/npm/extract/pnpm.js.map +1 -1
- package/dist/modules/manager/npm/extract/post/locked-versions.js +3 -3
- package/dist/modules/manager/npm/extract/post/locked-versions.js.map +1 -1
- package/dist/modules/manager/npm/extract/post/monorepo.js +3 -4
- package/dist/modules/manager/npm/extract/post/monorepo.js.map +1 -1
- package/dist/modules/manager/npm/extract/yarn.js +2 -3
- package/dist/modules/manager/npm/extract/yarn.js.map +1 -1
- package/dist/modules/manager/npm/extract/yarnrc.js +2 -3
- package/dist/modules/manager/npm/extract/yarnrc.js.map +1 -1
- package/dist/modules/manager/npm/post-update/index.js +6 -6
- package/dist/modules/manager/npm/post-update/index.js.map +1 -1
- package/dist/modules/manager/npm/post-update/npm.js +4 -4
- package/dist/modules/manager/npm/post-update/npm.js.map +1 -1
- package/dist/modules/manager/npm/post-update/pnpm.js +3 -3
- package/dist/modules/manager/npm/post-update/pnpm.js.map +1 -1
- package/dist/modules/manager/npm/post-update/rules.js +2 -2
- package/dist/modules/manager/npm/post-update/rules.js.map +1 -1
- package/dist/modules/manager/npm/post-update/utils.js +2 -2
- package/dist/modules/manager/npm/post-update/utils.js.map +1 -1
- package/dist/modules/manager/npm/post-update/yarn.js +3 -3
- package/dist/modules/manager/npm/post-update/yarn.js.map +1 -1
- package/dist/modules/manager/npm/update/dependency/index.js +2 -3
- package/dist/modules/manager/npm/update/dependency/index.js.map +1 -1
- package/dist/modules/manager/npm/update/dependency/pnpm.js +2 -3
- package/dist/modules/manager/npm/update/dependency/pnpm.js.map +1 -1
- package/dist/modules/manager/npm/update/dependency/yarn.js +3 -4
- package/dist/modules/manager/npm/update/dependency/yarn.js.map +1 -1
- package/dist/modules/manager/nuget/config-formatter.js +2 -2
- package/dist/modules/manager/nuget/config-formatter.js.map +1 -1
- package/dist/modules/manager/nuget/extract.js +4 -4
- package/dist/modules/manager/nuget/extract.js.map +1 -1
- package/dist/modules/manager/nuget/package-tree.js +2 -2
- package/dist/modules/manager/nuget/package-tree.js.map +1 -1
- package/dist/modules/manager/ocb/extract.js +2 -3
- package/dist/modules/manager/ocb/extract.js.map +1 -1
- package/dist/modules/manager/osgi/extract.js +4 -4
- package/dist/modules/manager/osgi/extract.js.map +1 -1
- package/dist/modules/manager/pep621/artifacts.js +3 -4
- package/dist/modules/manager/pep621/artifacts.js.map +1 -1
- package/dist/modules/manager/pep621/processors/uv.js +2 -3
- package/dist/modules/manager/pep621/processors/uv.js.map +1 -1
- package/dist/modules/manager/pep621/schema.d.ts +1 -1
- package/dist/modules/manager/pep621/schema.js +1 -0
- package/dist/modules/manager/pep621/schema.js.map +1 -1
- package/dist/modules/manager/pep621/utils.js +8 -10
- package/dist/modules/manager/pep621/utils.js.map +1 -1
- package/dist/modules/manager/pep723/schema.js +2 -3
- package/dist/modules/manager/pep723/schema.js.map +1 -1
- package/dist/modules/manager/pip-compile/common.js +3 -3
- package/dist/modules/manager/pip-compile/common.js.map +1 -1
- package/dist/modules/manager/pip_requirements/artifacts.js +2 -3
- package/dist/modules/manager/pip_requirements/artifacts.js.map +1 -1
- package/dist/modules/manager/pip_requirements/extract.js +2 -3
- package/dist/modules/manager/pip_requirements/extract.js.map +1 -1
- package/dist/modules/manager/pipenv/artifacts.js +3 -4
- package/dist/modules/manager/pipenv/artifacts.js.map +1 -1
- package/dist/modules/manager/pipenv/extract.js +6 -7
- package/dist/modules/manager/pipenv/extract.js.map +1 -1
- package/dist/modules/manager/pixi/artifacts.js +2 -3
- package/dist/modules/manager/pixi/artifacts.js.map +1 -1
- package/dist/modules/manager/pixi/extract.js +2 -3
- package/dist/modules/manager/pixi/extract.js.map +1 -1
- package/dist/modules/manager/poetry/artifacts.js +4 -5
- package/dist/modules/manager/poetry/artifacts.js.map +1 -1
- package/dist/modules/manager/poetry/extract.js +2 -3
- package/dist/modules/manager/poetry/extract.js.map +1 -1
- package/dist/modules/manager/poetry/schema.d.ts +4 -0
- package/dist/modules/manager/poetry/schema.js +5 -1
- package/dist/modules/manager/poetry/schema.js.map +1 -1
- package/dist/modules/manager/pre-commit/extract.js +4 -5
- package/dist/modules/manager/pre-commit/extract.js.map +1 -1
- package/dist/modules/manager/pub/artifacts.js +3 -4
- package/dist/modules/manager/pub/artifacts.js.map +1 -1
- package/dist/modules/manager/pub/extract.js +8 -11
- package/dist/modules/manager/pub/extract.js.map +1 -1
- package/dist/modules/manager/renovate-config-presets/extract.js +4 -5
- package/dist/modules/manager/renovate-config-presets/extract.js.map +1 -1
- package/dist/modules/manager/tekton/extract.js +9 -10
- package/dist/modules/manager/tekton/extract.js.map +1 -1
- package/dist/modules/manager/terraform/base.js +2 -3
- package/dist/modules/manager/terraform/base.js.map +1 -1
- package/dist/modules/manager/terraform/extract.js +2 -2
- package/dist/modules/manager/terraform/extract.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/others/modules.js +3 -4
- package/dist/modules/manager/terraform/extractors/others/modules.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/others/providers.js +3 -4
- package/dist/modules/manager/terraform/extractors/others/providers.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.js +7 -8
- package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/resources/helm-release.js +5 -6
- package/dist/modules/manager/terraform/extractors/resources/helm-release.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/resources/terraform-workspace.js +3 -4
- package/dist/modules/manager/terraform/extractors/resources/terraform-workspace.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/terraform-block/required-provider.js +4 -5
- package/dist/modules/manager/terraform/extractors/terraform-block/required-provider.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/terraform-block/terraform-version.js +3 -3
- package/dist/modules/manager/terraform/extractors/terraform-block/terraform-version.js.map +1 -1
- package/dist/modules/manager/terraform/lockfile/index.js +2 -2
- package/dist/modules/manager/terraform/lockfile/index.js.map +1 -1
- package/dist/modules/manager/terraform/lockfile/util.js +2 -3
- package/dist/modules/manager/terraform/lockfile/util.js.map +1 -1
- package/dist/modules/manager/terraform/util.js +2 -3
- package/dist/modules/manager/terraform/util.js.map +1 -1
- package/dist/modules/manager/tflint-plugin/plugins.js +2 -3
- package/dist/modules/manager/tflint-plugin/plugins.js.map +1 -1
- package/dist/modules/manager/travis/extract.js +5 -6
- package/dist/modules/manager/travis/extract.js.map +1 -1
- package/dist/modules/manager/woodpecker/extract.js +2 -3
- package/dist/modules/manager/woodpecker/extract.js.map +1 -1
- package/dist/modules/platform/azure/index.js +2 -2
- package/dist/modules/platform/azure/index.js.map +1 -1
- package/dist/modules/platform/bitbucket/index.js +5 -5
- package/dist/modules/platform/bitbucket/index.js.map +1 -1
- package/dist/modules/platform/bitbucket-server/pr-cache.js +3 -3
- package/dist/modules/platform/bitbucket-server/pr-cache.js.map +1 -1
- package/dist/modules/platform/bitbucket-server/utils.js +2 -2
- package/dist/modules/platform/bitbucket-server/utils.js.map +1 -1
- package/dist/modules/platform/codecommit/codecommit-client.js +2 -2
- package/dist/modules/platform/codecommit/codecommit-client.js.map +1 -1
- package/dist/modules/platform/forgejo/index.js +5 -5
- package/dist/modules/platform/forgejo/index.js.map +1 -1
- package/dist/modules/platform/forgejo/pr-cache.js +1 -1
- package/dist/modules/platform/forgejo/pr-cache.js.map +1 -1
- package/dist/modules/platform/forgejo/utils.js +2 -2
- package/dist/modules/platform/forgejo/utils.js.map +1 -1
- package/dist/modules/platform/gitea/index.js +5 -5
- package/dist/modules/platform/gitea/index.js.map +1 -1
- package/dist/modules/platform/gitea/pr-cache.js +1 -1
- package/dist/modules/platform/gitea/pr-cache.js.map +1 -1
- package/dist/modules/platform/gitea/utils.js +2 -2
- package/dist/modules/platform/gitea/utils.js.map +1 -1
- package/dist/modules/platform/github/common.js +4 -5
- package/dist/modules/platform/github/common.js.map +1 -1
- package/dist/modules/platform/github/index.js +5 -5
- package/dist/modules/platform/github/index.js.map +1 -1
- package/dist/modules/platform/github/pr.js +2 -3
- package/dist/modules/platform/github/pr.js.map +1 -1
- package/dist/modules/platform/gitlab/http.js +2 -3
- package/dist/modules/platform/gitlab/http.js.map +1 -1
- package/dist/modules/platform/gitlab/index.js +3 -3
- package/dist/modules/platform/gitlab/index.js.map +1 -1
- package/dist/modules/platform/gitlab/utils.js +3 -3
- package/dist/modules/platform/gitlab/utils.js.map +1 -1
- package/dist/modules/platform/pr-body.js +2 -3
- package/dist/modules/platform/pr-body.js.map +1 -1
- package/dist/modules/versioning/composer/index.js +2 -3
- package/dist/modules/versioning/composer/index.js.map +1 -1
- package/dist/modules/versioning/generic.js +5 -6
- package/dist/modules/versioning/generic.js.map +1 -1
- package/dist/modules/versioning/gradle/compare.js +3 -4
- package/dist/modules/versioning/gradle/compare.js.map +1 -1
- package/dist/modules/versioning/ivy/parse.js +1 -1
- package/dist/modules/versioning/ivy/parse.js.map +1 -1
- package/dist/modules/versioning/maven/index.js +1 -1
- package/dist/modules/versioning/maven/index.js.map +1 -1
- package/dist/modules/versioning/nixpkgs/index.js +6 -7
- package/dist/modules/versioning/nixpkgs/index.js.map +1 -1
- package/dist/modules/versioning/npm/range.js +2 -2
- package/dist/modules/versioning/npm/range.js.map +1 -1
- package/dist/modules/versioning/nuget/index.js +1 -1
- package/dist/modules/versioning/nuget/index.js.map +1 -1
- package/dist/modules/versioning/rpm/index.js +4 -5
- package/dist/modules/versioning/rpm/index.js.map +1 -1
- package/dist/modules/versioning/schema.js +2 -2
- package/dist/modules/versioning/schema.js.map +1 -1
- package/dist/modules/versioning/semver-coerced/index.js +3 -3
- package/dist/modules/versioning/semver-coerced/index.js.map +1 -1
- package/dist/modules/versioning/semver-partial/index.js +4 -4
- package/dist/modules/versioning/semver-partial/index.js.map +1 -1
- package/dist/proxy.js +3 -4
- package/dist/proxy.js.map +1 -1
- package/dist/util/array.js +4 -5
- package/dist/util/array.js.map +1 -1
- package/dist/util/assign-keys.js +2 -3
- package/dist/util/assign-keys.js.map +1 -1
- package/dist/util/cache/package/decorator.js +6 -6
- package/dist/util/cache/package/decorator.js.map +1 -1
- package/dist/util/cache/package/ttl.js +4 -5
- package/dist/util/cache/package/ttl.js.map +1 -1
- package/dist/util/cache/repository/impl/base.js +3 -4
- package/dist/util/cache/repository/impl/base.js.map +1 -1
- package/dist/util/cache/repository/impl/s3.js +2 -3
- package/dist/util/cache/repository/impl/s3.js.map +1 -1
- package/dist/util/exec/common.js +2 -3
- package/dist/util/exec/common.js.map +1 -1
- package/dist/util/exec/containerbase.js +2 -2
- package/dist/util/exec/containerbase.js.map +1 -1
- package/dist/util/exec/docker/index.js +5 -5
- package/dist/util/exec/docker/index.js.map +1 -1
- package/dist/util/exec/index.js +2 -2
- package/dist/util/exec/index.js.map +1 -1
- package/dist/util/exec/utils.js +3 -4
- package/dist/util/exec/utils.js.map +1 -1
- package/dist/util/filter-map.js +2 -3
- package/dist/util/filter-map.js.map +1 -1
- package/dist/util/fs/index.js +3 -3
- package/dist/util/fs/index.js.map +1 -1
- package/dist/util/git/auth.js +2 -3
- package/dist/util/git/auth.js.map +1 -1
- package/dist/util/git/behind-base-branch-cache.js +2 -1
- package/dist/util/git/behind-base-branch-cache.js.map +1 -1
- package/dist/util/git/config.js +3 -4
- package/dist/util/git/config.js.map +1 -1
- package/dist/util/git/conflicts-cache.js +2 -1
- package/dist/util/git/conflicts-cache.js.map +1 -1
- package/dist/util/git/index.js +5 -5
- package/dist/util/git/index.js.map +1 -1
- package/dist/util/git/private-key.js +2 -2
- package/dist/util/git/private-key.js.map +1 -1
- package/dist/util/github/graphql/datasource-fetcher.js +2 -1
- package/dist/util/github/graphql/datasource-fetcher.js.map +1 -1
- package/dist/util/host-rules.js +6 -6
- package/dist/util/host-rules.js.map +1 -1
- package/dist/util/http/auth.js +3 -4
- package/dist/util/http/auth.js.map +1 -1
- package/dist/util/http/bitbucket-server.js +2 -3
- package/dist/util/http/bitbucket-server.js.map +1 -1
- package/dist/util/http/bitbucket.js +3 -4
- package/dist/util/http/bitbucket.js.map +1 -1
- package/dist/util/http/cache/package-http-cache-provider.js +2 -2
- package/dist/util/http/cache/package-http-cache-provider.js.map +1 -1
- package/dist/util/http/forgejo.js +3 -4
- package/dist/util/http/forgejo.js.map +1 -1
- package/dist/util/http/gitea.js +3 -4
- package/dist/util/http/gitea.js.map +1 -1
- package/dist/util/http/github.js +10 -10
- package/dist/util/http/github.js.map +1 -1
- package/dist/util/http/gitlab.js +4 -5
- package/dist/util/http/gitlab.js.map +1 -1
- package/dist/util/http/host-rules.js +10 -10
- package/dist/util/http/host-rules.js.map +1 -1
- package/dist/util/http/http.js +5 -5
- package/dist/util/http/http.js.map +1 -1
- package/dist/util/http/rate-limits.js +3 -3
- package/dist/util/http/rate-limits.js.map +1 -1
- package/dist/util/http/retry-after.js +3 -4
- package/dist/util/http/retry-after.js.map +1 -1
- package/dist/util/interpolator.js +8 -9
- package/dist/util/interpolator.js.map +1 -1
- package/dist/util/merge-confidence/index.js +5 -5
- package/dist/util/merge-confidence/index.js.map +1 -1
- package/dist/util/number.js +2 -3
- package/dist/util/number.js.map +1 -1
- package/dist/util/package-rules/base-branches.js +3 -4
- package/dist/util/package-rules/base-branches.js.map +1 -1
- package/dist/util/package-rules/categories.js +3 -4
- package/dist/util/package-rules/categories.js.map +1 -1
- package/dist/util/package-rules/current-age.js +3 -4
- package/dist/util/package-rules/current-age.js.map +1 -1
- package/dist/util/package-rules/current-value.js +2 -3
- package/dist/util/package-rules/current-value.js.map +1 -1
- package/dist/util/package-rules/current-version.js +5 -5
- package/dist/util/package-rules/current-version.js.map +1 -1
- package/dist/util/package-rules/datasources.js +3 -4
- package/dist/util/package-rules/datasources.js.map +1 -1
- package/dist/util/package-rules/dep-names.js +3 -4
- package/dist/util/package-rules/dep-names.js.map +1 -1
- package/dist/util/package-rules/dep-types.js +2 -3
- package/dist/util/package-rules/dep-types.js.map +1 -1
- package/dist/util/package-rules/files.js +4 -5
- package/dist/util/package-rules/files.js.map +1 -1
- package/dist/util/package-rules/index.js +6 -6
- package/dist/util/package-rules/index.js.map +1 -1
- package/dist/util/package-rules/managers.js +3 -4
- package/dist/util/package-rules/managers.js.map +1 -1
- package/dist/util/package-rules/merge-confidence.js +5 -6
- package/dist/util/package-rules/merge-confidence.js.map +1 -1
- package/dist/util/package-rules/new-value.js +2 -3
- package/dist/util/package-rules/new-value.js.map +1 -1
- package/dist/util/package-rules/package-names.js +2 -3
- package/dist/util/package-rules/package-names.js.map +1 -1
- package/dist/util/package-rules/repositories.js +3 -4
- package/dist/util/package-rules/repositories.js.map +1 -1
- package/dist/util/package-rules/sourceurls.js +2 -3
- package/dist/util/package-rules/sourceurls.js.map +1 -1
- package/dist/util/package-rules/update-types.js +2 -3
- package/dist/util/package-rules/update-types.js.map +1 -1
- package/dist/util/pretty-time.js +4 -4
- package/dist/util/pretty-time.js.map +1 -1
- package/dist/util/regex.js +2 -3
- package/dist/util/regex.js.map +1 -1
- package/dist/util/s3.js +2 -3
- package/dist/util/s3.js.map +1 -1
- package/dist/util/sanitize.js +2 -3
- package/dist/util/sanitize.js.map +1 -1
- package/dist/util/string-match.js +2 -3
- package/dist/util/string-match.js.map +1 -1
- package/dist/util/template/index.js +6 -6
- package/dist/util/template/index.js.map +1 -1
- package/dist/util/url.js +5 -5
- package/dist/util/url.js.map +1 -1
- package/dist/workers/global/autodiscover.js +3 -4
- package/dist/workers/global/autodiscover.js.map +1 -1
- package/dist/workers/global/config/parse/additional-config-file.js +4 -4
- package/dist/workers/global/config/parse/additional-config-file.js.map +1 -1
- package/dist/workers/global/config/parse/coersions.js +2 -2
- package/dist/workers/global/config/parse/coersions.js.map +1 -1
- package/dist/workers/global/config/parse/env.js +2 -2
- package/dist/workers/global/config/parse/env.js.map +1 -1
- package/dist/workers/global/config/parse/file.js +5 -5
- package/dist/workers/global/config/parse/file.js.map +1 -1
- package/dist/workers/global/config/parse/index.js +6 -7
- package/dist/workers/global/config/parse/index.js.map +1 -1
- package/dist/workers/global/config/parse/util.js +2 -2
- package/dist/workers/global/config/parse/util.js.map +1 -1
- package/dist/workers/global/index.js +5 -5
- package/dist/workers/global/index.js.map +1 -1
- package/dist/workers/global/limits.js +6 -7
- package/dist/workers/global/limits.js.map +1 -1
- package/dist/workers/repository/config-migration/branch/index.js +2 -3
- package/dist/workers/repository/config-migration/branch/index.js.map +1 -1
- package/dist/workers/repository/config-migration/branch/migrated-data.js +2 -2
- package/dist/workers/repository/config-migration/branch/migrated-data.js.map +1 -1
- package/dist/workers/repository/config-migration/pr/index.js +3 -3
- package/dist/workers/repository/config-migration/pr/index.js.map +1 -1
- package/dist/workers/repository/dependency-dashboard.js +10 -10
- package/dist/workers/repository/dependency-dashboard.js.map +1 -1
- package/dist/workers/repository/extract/index.js +2 -3
- package/dist/workers/repository/extract/index.js.map +1 -1
- package/dist/workers/repository/extract/manager-files.js +2 -3
- package/dist/workers/repository/extract/manager-files.js.map +1 -1
- package/dist/workers/repository/extract/supersedes.js +4 -5
- package/dist/workers/repository/extract/supersedes.js.map +1 -1
- package/dist/workers/repository/finalize/prune.js +2 -3
- package/dist/workers/repository/finalize/prune.js.map +1 -1
- package/dist/workers/repository/init/inherited.js +5 -5
- package/dist/workers/repository/init/inherited.js.map +1 -1
- package/dist/workers/repository/init/merge.js +13 -13
- package/dist/workers/repository/init/merge.js.map +1 -1
- package/dist/workers/repository/model/commit-message.js +2 -3
- package/dist/workers/repository/model/commit-message.js.map +1 -1
- package/dist/workers/repository/onboarding/branch/check.js +2 -1
- package/dist/workers/repository/onboarding/branch/check.js.map +1 -1
- package/dist/workers/repository/onboarding/branch/index.js +3 -4
- package/dist/workers/repository/onboarding/branch/index.js.map +1 -1
- package/dist/workers/repository/onboarding/branch/onboarding-branch-cache.js +7 -8
- package/dist/workers/repository/onboarding/branch/onboarding-branch-cache.js.map +1 -1
- package/dist/workers/repository/onboarding/pr/config-description.js +2 -5
- package/dist/workers/repository/onboarding/pr/config-description.js.map +1 -1
- package/dist/workers/repository/onboarding/pr/index.js +3 -3
- package/dist/workers/repository/onboarding/pr/index.js.map +1 -1
- package/dist/workers/repository/package-files.js +8 -9
- package/dist/workers/repository/package-files.js.map +1 -1
- package/dist/workers/repository/process/extract-update.js +2 -2
- package/dist/workers/repository/process/extract-update.js.map +1 -1
- package/dist/workers/repository/process/fetch.js +3 -3
- package/dist/workers/repository/process/fetch.js.map +1 -1
- package/dist/workers/repository/process/lookup/current.js +2 -3
- package/dist/workers/repository/process/lookup/current.js.map +1 -1
- package/dist/workers/repository/process/lookup/filter-checks.js +4 -5
- package/dist/workers/repository/process/lookup/filter-checks.js.map +1 -1
- package/dist/workers/repository/process/lookup/generate.js +2 -3
- package/dist/workers/repository/process/lookup/generate.js.map +1 -1
- package/dist/workers/repository/process/lookup/index.js +15 -16
- package/dist/workers/repository/process/lookup/index.js.map +1 -1
- package/dist/workers/repository/process/lookup/utils.js +7 -7
- package/dist/workers/repository/process/lookup/utils.js.map +1 -1
- package/dist/workers/repository/process/vulnerabilities.js +11 -11
- package/dist/workers/repository/process/vulnerabilities.js.map +1 -1
- package/dist/workers/repository/process/write.js +2 -3
- package/dist/workers/repository/process/write.js.map +1 -1
- package/dist/workers/repository/reconfigure/comment.js +2 -5
- package/dist/workers/repository/reconfigure/comment.js.map +1 -1
- package/dist/workers/repository/reconfigure/utils.js +2 -3
- package/dist/workers/repository/reconfigure/utils.js.map +1 -1
- package/dist/workers/repository/reconfigure/validate.js +2 -3
- package/dist/workers/repository/reconfigure/validate.js.map +1 -1
- package/dist/workers/repository/update/branch/auto-replace.js +4 -5
- package/dist/workers/repository/update/branch/auto-replace.js.map +1 -1
- package/dist/workers/repository/update/branch/commit.js +3 -4
- package/dist/workers/repository/update/branch/commit.js.map +1 -1
- package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js +12 -5
- package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js.map +1 -1
- package/dist/workers/repository/update/branch/get-updated.js +8 -9
- package/dist/workers/repository/update/branch/get-updated.js.map +1 -1
- package/dist/workers/repository/update/branch/index.js +3 -3
- package/dist/workers/repository/update/branch/index.js.map +1 -1
- package/dist/workers/repository/update/branch/schedule.js +2 -2
- package/dist/workers/repository/update/branch/schedule.js.map +1 -1
- package/dist/workers/repository/update/pr/body/notes.js +2 -2
- package/dist/workers/repository/update/pr/body/notes.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/bitbucket/index.js +2 -2
- package/dist/workers/repository/update/pr/changelog/bitbucket/index.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/index.js +3 -3
- package/dist/workers/repository/update/pr/changelog/index.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/release-notes.js +4 -4
- package/dist/workers/repository/update/pr/changelog/release-notes.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/source.js +8 -8
- package/dist/workers/repository/update/pr/changelog/source.js.map +1 -1
- package/dist/workers/repository/update/pr/code-owners.js +2 -2
- package/dist/workers/repository/update/pr/code-owners.js.map +1 -1
- package/dist/workers/repository/update/pr/index.js +7 -8
- package/dist/workers/repository/update/pr/index.js.map +1 -1
- package/dist/workers/repository/update/pr/labels.js +4 -4
- package/dist/workers/repository/update/pr/labels.js.map +1 -1
- package/dist/workers/repository/update/pr/participants.js +4 -5
- package/dist/workers/repository/update/pr/participants.js.map +1 -1
- package/dist/workers/repository/updates/generate.js +4 -4
- package/dist/workers/repository/updates/generate.js.map +1 -1
- package/package.json +5 -5
- package/renovate-schema.json +2 -2
|
@@ -3,8 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.handleAny = handleAny;
|
|
4
4
|
exports.handleCombination = handleCombination;
|
|
5
5
|
exports.handleRecursive = handleRecursive;
|
|
6
|
-
const
|
|
7
|
-
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
6
|
+
const is_1 = require("@sindresorhus/is");
|
|
8
7
|
const regex_1 = require("../../../../util/regex");
|
|
9
8
|
const utils_1 = require("../utils");
|
|
10
9
|
const utils_2 = require("./utils");
|
|
@@ -17,7 +16,7 @@ function handleAny(content, packageFile, config) {
|
|
|
17
16
|
/* istanbul ignore next: can this happen? */ {},
|
|
18
17
|
replaceString: matchResult[0],
|
|
19
18
|
}, config))
|
|
20
|
-
.filter(is_1.
|
|
19
|
+
.filter(is_1.isTruthy)
|
|
21
20
|
.filter((dep) => (0, utils_1.checkIsValidDependency)(dep, packageFile, 'regex'));
|
|
22
21
|
}
|
|
23
22
|
function handleCombination(content, packageFile, config) {
|
|
@@ -36,7 +35,7 @@ function handleCombination(content, packageFile, config) {
|
|
|
36
35
|
}))
|
|
37
36
|
.reduce((base, addition) => (0, utils_2.mergeExtractionTemplate)(base, addition));
|
|
38
37
|
return [(0, utils_2.createDependency)(extraction, config)]
|
|
39
|
-
.filter(is_1.
|
|
38
|
+
.filter(is_1.isTruthy)
|
|
40
39
|
.filter((dep) => (0, utils_1.checkIsValidDependency)(dep, packageFile, 'regex'));
|
|
41
40
|
}
|
|
42
41
|
function handleRecursive(content, packageFile, config) {
|
|
@@ -49,7 +48,7 @@ function handleRecursive(content, packageFile, config) {
|
|
|
49
48
|
combinedGroups: {},
|
|
50
49
|
regexes,
|
|
51
50
|
})
|
|
52
|
-
.filter(is_1.
|
|
51
|
+
.filter(is_1.isTruthy)
|
|
53
52
|
.filter((dep) => (0, utils_1.checkIsValidDependency)(dep, packageFile, 'regex'));
|
|
54
53
|
}
|
|
55
54
|
function processRecursive(parameters) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategies.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/custom/regex/strategies.ts"],"names":[],"mappings":";;AAYA,8BAuBC;AAED,8CA2BC;AAED,0CAqBC
|
|
1
|
+
{"version":3,"file":"strategies.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/custom/regex/strategies.ts"],"names":[],"mappings":"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","sourcesContent":["import { isTruthy } from '@sindresorhus/is';\nimport { regEx } from '../../../../util/regex';\nimport type { PackageDependency } from '../../types';\nimport { checkIsValidDependency } from '../utils';\nimport type { RecursionParameter, RegexManagerConfig } from './types';\nimport {\n createDependency,\n mergeExtractionTemplate,\n mergeGroups,\n regexMatchAll,\n} from './utils';\n\nexport function handleAny(\n content: string,\n packageFile: string,\n config: RegexManagerConfig,\n): PackageDependency[] {\n return config.matchStrings\n .map((matchString) => regEx(matchString, 'g'))\n .flatMap((regex) => regexMatchAll(regex, content)) // match all regex to content, get all matches, reduce to single array\n .map((matchResult) =>\n createDependency(\n {\n groups:\n matchResult.groups ??\n /* istanbul ignore next: can this happen? */ {},\n replaceString: matchResult[0],\n },\n config,\n ),\n )\n .filter(isTruthy)\n .filter((dep: PackageDependency) =>\n checkIsValidDependency(dep, packageFile, 'regex'),\n );\n}\n\nexport function handleCombination(\n content: string,\n packageFile: string,\n config: RegexManagerConfig,\n): PackageDependency[] {\n const matches = config.matchStrings\n .map((matchString) => regEx(matchString, 'g'))\n .flatMap((regex) => regexMatchAll(regex, content)); // match all regex to content, get all matches, reduce to single array\n\n if (!matches.length) {\n return [];\n }\n\n const extraction = matches\n .map((match) => ({\n groups: match.groups ?? /* istanbul ignore next: can this happen? */ {},\n replaceString:\n (match?.groups?.currentValue ?? match?.groups?.currentDigest)\n ? match[0]\n : undefined,\n }))\n .reduce((base, addition) => mergeExtractionTemplate(base, addition));\n return [createDependency(extraction, config)]\n .filter(isTruthy)\n .filter((dep: PackageDependency) =>\n checkIsValidDependency(dep, packageFile, 'regex'),\n );\n}\n\nexport function handleRecursive(\n content: string,\n packageFile: string,\n config: RegexManagerConfig,\n): PackageDependency[] {\n const regexes = config.matchStrings.map((matchString) =>\n regEx(matchString, 'g'),\n );\n\n return processRecursive({\n content,\n packageFile,\n config,\n index: 0,\n combinedGroups: {},\n regexes,\n })\n .filter(isTruthy)\n .filter((dep: PackageDependency) =>\n checkIsValidDependency(dep, packageFile, 'regex'),\n );\n}\n\nfunction processRecursive(parameters: RecursionParameter): PackageDependency[] {\n const {\n content,\n index,\n combinedGroups,\n regexes,\n config,\n }: RecursionParameter = parameters;\n // abort if we have no matchString anymore\n if (regexes.length === index) {\n const result = createDependency(\n {\n groups: combinedGroups,\n replaceString: content,\n },\n config,\n );\n return result ? [result] : /* istanbul ignore next: can this happen? */ [];\n }\n return regexMatchAll(regexes[index], content).flatMap((match) => {\n return processRecursive({\n ...parameters,\n content: match[0],\n index: index + 1,\n combinedGroups: mergeGroups(combinedGroups, match.groups ?? {}),\n });\n });\n}\n"]}
|
|
@@ -6,7 +6,7 @@ exports.mergeGroups = mergeGroups;
|
|
|
6
6
|
exports.mergeExtractionTemplate = mergeExtractionTemplate;
|
|
7
7
|
const tslib_1 = require("tslib");
|
|
8
8
|
const node_url_1 = require("node:url");
|
|
9
|
-
const is_1 =
|
|
9
|
+
const is_1 = require("@sindresorhus/is");
|
|
10
10
|
const datasource_migration_1 = require("../../../../config/migrations/custom/datasource-migration");
|
|
11
11
|
const logger_1 = require("../../../../logger");
|
|
12
12
|
const template = tslib_1.__importStar(require("../../../../util/template"));
|
|
@@ -27,7 +27,7 @@ function updateDependency(dependency, field, value) {
|
|
|
27
27
|
dependency.datasource = (0, datasource_migration_1.migrateDatasource)(value);
|
|
28
28
|
break;
|
|
29
29
|
case 'indentation':
|
|
30
|
-
dependency.indentation = is_1.
|
|
30
|
+
dependency.indentation = (0, is_1.isEmptyStringOrWhitespace)(value) ? value : '';
|
|
31
31
|
break;
|
|
32
32
|
default:
|
|
33
33
|
dependency[field] = value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/custom/regex/utils.ts"],"names":[],"mappings":";;AAyCA,4CA4BC;AAED,sCAmBC;AAED,kCAKC;AAED,0DAQC;;AA3GD,uCAA+B;AAC/B,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/custom/regex/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { URL } from 'node:url';\nimport { isEmptyStringOrWhitespace } from '@sindresorhus/is';\nimport { migrateDatasource } from '../../../../config/migrations/custom/datasource-migration';\nimport { logger } from '../../../../logger';\nimport * as template from '../../../../util/template';\nimport type { PackageDependency } from '../../types';\nimport type { ValidMatchFields } from '../utils';\nimport { validMatchFields } from '../utils';\nimport type {\n ExtractionTemplate,\n RegexManagerConfig,\n RegexManagerTemplates,\n} from './types';\n\nfunction updateDependency(\n dependency: PackageDependency,\n field: ValidMatchFields,\n value: string,\n): void {\n switch (field) {\n case 'registryUrl':\n // check if URL is valid and pack inside an array\n try {\n const url = new URL(value).toString();\n dependency.registryUrls = [url];\n } catch {\n logger.warn({ value }, 'Invalid regex manager registryUrl');\n }\n break;\n case 'datasource':\n dependency.datasource = migrateDatasource(value);\n break;\n case 'indentation':\n dependency.indentation = isEmptyStringOrWhitespace(value) ? value : '';\n break;\n default:\n dependency[field] = value;\n break;\n }\n}\n\nexport function createDependency(\n extractionTemplate: ExtractionTemplate,\n config: RegexManagerConfig,\n dep?: PackageDependency,\n): PackageDependency | null {\n const dependency = dep ?? {};\n const { groups, replaceString } = extractionTemplate;\n\n for (const field of validMatchFields) {\n const fieldTemplate = `${field}Template` as keyof RegexManagerTemplates;\n const tmpl = config[fieldTemplate];\n if (tmpl) {\n try {\n const compiled = template.compile(tmpl, groups, false);\n updateDependency(dependency, field, compiled);\n } catch {\n logger.warn(\n { template: tmpl },\n 'Error compiling template for custom manager',\n );\n return null;\n }\n } else if (groups[field]) {\n updateDependency(dependency, field, groups[field]);\n }\n }\n dependency.replaceString = replaceString;\n return dependency;\n}\n\nexport function regexMatchAll(\n regex: RegExp,\n content: string,\n): RegExpMatchArray[] {\n const matches: RegExpMatchArray[] = [];\n let matchResult: RegExpMatchArray | null;\n let iterations = 0;\n const maxIterations = 10000;\n do {\n matchResult = regex.exec(content);\n if (matchResult) {\n matches.push(matchResult);\n }\n iterations += 1;\n } while (matchResult && iterations < maxIterations);\n if (iterations === maxIterations) {\n logger.warn('Max iterations reached for matchStrings');\n }\n return matches;\n}\n\nexport function mergeGroups(\n mergedGroup: Record<string, string>,\n secondGroup: Record<string, string>,\n): Record<string, string> {\n return { ...mergedGroup, ...secondGroup };\n}\n\nexport function mergeExtractionTemplate(\n base: ExtractionTemplate,\n addition: ExtractionTemplate,\n): ExtractionTemplate {\n return {\n groups: mergeGroups(base.groups, addition.groups),\n replaceString: addition.replaceString ?? base.replaceString,\n };\n}\n"]}
|
|
@@ -3,8 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.validMatchFields = void 0;
|
|
4
4
|
exports.isValidDependency = isValidDependency;
|
|
5
5
|
exports.checkIsValidDependency = checkIsValidDependency;
|
|
6
|
-
const
|
|
7
|
-
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
6
|
+
const is_1 = require("@sindresorhus/is");
|
|
8
7
|
const logger_1 = require("../../../logger");
|
|
9
8
|
exports.validMatchFields = [
|
|
10
9
|
'depName',
|
|
@@ -20,11 +19,11 @@ exports.validMatchFields = [
|
|
|
20
19
|
];
|
|
21
20
|
function isValidDependency({ depName, currentValue, currentDigest, packageName, datasource, }) {
|
|
22
21
|
// check if all the fields are set
|
|
23
|
-
return ((is_1.
|
|
24
|
-
is_1.
|
|
25
|
-
(is_1.
|
|
26
|
-
is_1.
|
|
27
|
-
is_1.
|
|
22
|
+
return (((0, is_1.isNonEmptyStringAndNotWhitespace)(depName) ||
|
|
23
|
+
(0, is_1.isNonEmptyStringAndNotWhitespace)(packageName)) &&
|
|
24
|
+
((0, is_1.isNonEmptyStringAndNotWhitespace)(currentDigest) ||
|
|
25
|
+
(0, is_1.isNonEmptyStringAndNotWhitespace)(currentValue)) &&
|
|
26
|
+
(0, is_1.isNonEmptyStringAndNotWhitespace)(datasource));
|
|
28
27
|
}
|
|
29
28
|
function checkIsValidDependency(dep, packageFile, manager) {
|
|
30
29
|
const isValid = isValidDependency(dep);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../lib/modules/manager/custom/utils.ts"],"names":[],"mappings":";;;AAmBA,8CAeC;AAED,wDAoBC
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../lib/modules/manager/custom/utils.ts"],"names":[],"mappings":";;;AAmBA,8CAeC;AAED,wDAoBC;AAxDD,yCAAoE;AACpE,4CAAyC;AAG5B,QAAA,gBAAgB,GAAG;IAC9B,SAAS;IACT,aAAa;IACb,cAAc;IACd,eAAe;IACf,YAAY;IACZ,YAAY;IACZ,gBAAgB;IAChB,aAAa;IACb,SAAS;IACT,aAAa;CACL,CAAC;AAIX,SAAgB,iBAAiB,CAAC,EAChC,OAAO,EACP,YAAY,EACZ,aAAa,EACb,WAAW,EACX,UAAU,GACQ;IAClB,kCAAkC;IAClC,OAAO,CACL,CAAC,IAAA,qCAAgC,EAAC,OAAO,CAAC;QACxC,IAAA,qCAAgC,EAAC,WAAW,CAAC,CAAC;QAChD,CAAC,IAAA,qCAAgC,EAAC,aAAa,CAAC;YAC9C,IAAA,qCAAgC,EAAC,YAAY,CAAC,CAAC;QACjD,IAAA,qCAAgC,EAAC,UAAU,CAAC,CAC7C,CAAC;AACJ,CAAC;AAED,SAAgB,sBAAsB,CACpC,GAAsB,EACtB,WAAmB,EACnB,OAAe;IAEf,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,GAAG;YACX,iBAAiB,EAAE,GAAG;YACtB,WAAW;YACX,OAAO;SACR,CAAC;QACF,eAAM,CAAC,KAAK,CACV,IAAI,EACJ,6EAA6E,CAC9E,CAAC;QACF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC","sourcesContent":["import { isNonEmptyStringAndNotWhitespace } from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport type { PackageDependency } from '../types';\n\nexport const validMatchFields = [\n 'depName',\n 'packageName',\n 'currentValue',\n 'currentDigest',\n 'datasource',\n 'versioning',\n 'extractVersion',\n 'registryUrl',\n 'depType',\n 'indentation',\n] as const;\n\nexport type ValidMatchFields = (typeof validMatchFields)[number];\n\nexport function isValidDependency({\n depName,\n currentValue,\n currentDigest,\n packageName,\n datasource,\n}: PackageDependency): boolean {\n // check if all the fields are set\n return (\n (isNonEmptyStringAndNotWhitespace(depName) ||\n isNonEmptyStringAndNotWhitespace(packageName)) &&\n (isNonEmptyStringAndNotWhitespace(currentDigest) ||\n isNonEmptyStringAndNotWhitespace(currentValue)) &&\n isNonEmptyStringAndNotWhitespace(datasource)\n );\n}\n\nexport function checkIsValidDependency(\n dep: PackageDependency,\n packageFile: string,\n manager: string,\n): boolean {\n const isValid = isValidDependency(dep);\n if (!isValid) {\n const meta = {\n packageDependency: dep,\n packageFile,\n manager,\n };\n logger.trace(\n meta,\n 'Discovered a package dependency, but it did not pass validation. Discarding',\n );\n return isValid;\n }\n\n return isValid;\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 regex_1 = require("../../../util/regex");
|
|
7
6
|
const url_1 = require("../../../util/url");
|
|
8
7
|
const bitbucket_tags_1 = require("../../datasource/bitbucket-tags");
|
|
@@ -56,7 +55,7 @@ const gitlabUrlRegex = (0, regex_1.regEx)(/^(?:https:\/\/|git@)gitlab\.com[/:](?
|
|
|
56
55
|
const bitbucketUrlRegex = (0, regex_1.regEx)(/^(?:https:\/\/|git@)bitbucket\.org[/:](?<packageName>[^/]+\/[^/]+?)(?:\.git)?$/);
|
|
57
56
|
function resolveGitPackageFromEdnVal(dep, val) {
|
|
58
57
|
const gitUrl = val['git/url'];
|
|
59
|
-
if (!is_1.
|
|
58
|
+
if (!(0, is_1.isString)(gitUrl)) {
|
|
60
59
|
return;
|
|
61
60
|
}
|
|
62
61
|
const githubMatchGroups = githubUrlRegex.exec(gitUrl)?.groups;
|
|
@@ -87,7 +86,7 @@ function resolveGitPackageFromEdnVal(dep, val) {
|
|
|
87
86
|
}
|
|
88
87
|
}
|
|
89
88
|
function extractDependency(key, val, metadata, mavenRegistries, depType) {
|
|
90
|
-
if (!is_1.
|
|
89
|
+
if (!(0, is_1.isPlainObject)(val)) {
|
|
91
90
|
return null;
|
|
92
91
|
}
|
|
93
92
|
const packageName = getPackageName(key);
|
|
@@ -105,7 +104,7 @@ function extractDependency(key, val, metadata, mavenRegistries, depType) {
|
|
|
105
104
|
dep.depType = depType;
|
|
106
105
|
}
|
|
107
106
|
const mvnVersion = val['mvn/version'];
|
|
108
|
-
if (is_1.
|
|
107
|
+
if ((0, is_1.isString)(mvnVersion)) {
|
|
109
108
|
dep.datasource = clojure_1.ClojureDatasource.id;
|
|
110
109
|
dep.currentValue = mvnVersion;
|
|
111
110
|
dep.packageName = packageName.replace('/', ':');
|
|
@@ -116,11 +115,11 @@ function extractDependency(key, val, metadata, mavenRegistries, depType) {
|
|
|
116
115
|
resolveGitPackageFromEdnKey(dep, key);
|
|
117
116
|
if (dep.datasource) {
|
|
118
117
|
const gitTag = val['git/tag'];
|
|
119
|
-
if (is_1.
|
|
118
|
+
if ((0, is_1.isString)(gitTag)) {
|
|
120
119
|
dep.currentValue = gitTag;
|
|
121
120
|
}
|
|
122
121
|
const gitSha = val['git/sha'] ?? val.sha;
|
|
123
|
-
if (is_1.
|
|
122
|
+
if ((0, is_1.isString)(gitSha)) {
|
|
124
123
|
dep.currentDigest = gitSha;
|
|
125
124
|
dep.currentDigestShort = gitSha.slice(0, 7);
|
|
126
125
|
}
|
|
@@ -130,7 +129,7 @@ function extractDependency(key, val, metadata, mavenRegistries, depType) {
|
|
|
130
129
|
}
|
|
131
130
|
function extractSection(section, metadata, mavenRegistries, depType) {
|
|
132
131
|
const deps = [];
|
|
133
|
-
if (is_1.
|
|
132
|
+
if ((0, is_1.isPlainObject)(section)) {
|
|
134
133
|
for (const [key, val] of Object.entries(section)) {
|
|
135
134
|
const dep = extractDependency(key, val, metadata, mavenRegistries, depType);
|
|
136
135
|
if (dep) {
|
|
@@ -153,13 +152,13 @@ function extractPackageFile(content) {
|
|
|
153
152
|
central: common_2.MAVEN_REPO,
|
|
154
153
|
};
|
|
155
154
|
const mavenRepos = data['mvn/repos'];
|
|
156
|
-
if (is_1.
|
|
155
|
+
if ((0, is_1.isPlainObject)(mavenRepos)) {
|
|
157
156
|
for (const [repoName, repoSpec] of Object.entries(mavenRepos)) {
|
|
158
|
-
if (is_1.
|
|
159
|
-
if (is_1.
|
|
157
|
+
if ((0, is_1.isString)(repoName)) {
|
|
158
|
+
if ((0, is_1.isPlainObject)(repoSpec) && (0, is_1.isString)(repoSpec.url)) {
|
|
160
159
|
registryMap[repoName] = repoSpec.url;
|
|
161
160
|
}
|
|
162
|
-
else if (is_1.
|
|
161
|
+
else if ((0, is_1.isString)(repoSpec) && repoSpec === 'nil') {
|
|
163
162
|
delete registryMap[repoName];
|
|
164
163
|
}
|
|
165
164
|
}
|
|
@@ -168,9 +167,9 @@ function extractPackageFile(content) {
|
|
|
168
167
|
const mavenRegistries = [...Object.values(registryMap)];
|
|
169
168
|
deps.push(...extractSection(data.deps, metadata, mavenRegistries));
|
|
170
169
|
const aliases = data.aliases;
|
|
171
|
-
if (is_1.
|
|
170
|
+
if ((0, is_1.isPlainObject)(aliases)) {
|
|
172
171
|
for (const [depType, aliasSection] of Object.entries(aliases)) {
|
|
173
|
-
if (is_1.
|
|
172
|
+
if ((0, is_1.isPlainObject)(aliasSection)) {
|
|
174
173
|
deps.push(...extractSection(aliasSection['extra-deps'], metadata, mavenRegistries, depType));
|
|
175
174
|
deps.push(...extractSection(aliasSection['override-deps'], metadata, mavenRegistries, depType));
|
|
176
175
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/deps-edn/extract.ts"],"names":[],"mappings":";;AAgNA,gDAuDC;;AAvQD,kEAAkC;AAClC,+CAA4C;AAC5C,2CAA8C;AAC9C,oEAA0E;AAC1E,sDAA6D;AAC7D,4DAA+D;AAC/D,wDAA8D;AAC9D,8DAAoE;AACpE,8DAAoE;AACpE,0DAA2D;AAE3D,qCAA4C;AAO5C,MAAM,eAAe,GAAG,IAAA,aAAK,EAC3B,kJAAkJ,CACnJ,CAAC;AAEF,SAAS,cAAc,CAAC,OAAe;IACrC,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1D,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;QACpC,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU;YACvC,CAAC,CAAC,WAAW,CAAC,UAAU;YACxB,CAAC,CAAC,OAAO,CAAC;QACZ,OAAO,GAAG,OAAO,IAAI,UAAU,EAAE,CAAC;IACpC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,qBAAqB,GAAG,IAAA,aAAK,EACjC,oDAAoD,CACrD,CAAC;AACF,MAAM,qBAAqB,GAAG,IAAA,aAAK,EACjC,oDAAoD,CACrD,CAAC;AACF,MAAM,wBAAwB,GAAG,IAAA,aAAK,EACpC,uDAAuD,CACxD,CAAC;AAEF,SAAS,2BAA2B,CAClC,GAAsB,EACtB,GAAW;IAEX,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnB,OAAO;IACT,CAAC;IAED,MAAM,sBAAsB,GAAG,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACvE,IAAI,sBAAsB,EAAE,WAAW,EAAE,CAAC;QACxC,GAAG,CAAC,UAAU,GAAG,kCAAoB,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,WAAW,GAAG,sBAAsB,CAAC,WAAW,CAAC;QACrD,OAAO;IACT,CAAC;IAED,MAAM,sBAAsB,GAAG,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACvE,IAAI,sBAAsB,EAAE,WAAW,EAAE,CAAC;QACxC,GAAG,CAAC,UAAU,GAAG,kCAAoB,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,WAAW,GAAG,sBAAsB,CAAC,WAAW,CAAC;QACrD,OAAO;IACT,CAAC;IAED,MAAM,yBAAyB,GAAG,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAC7E,IAAI,yBAAyB,EAAE,WAAW,EAAE,CAAC;QAC3C,GAAG,CAAC,UAAU,GAAG,wCAAuB,CAAC,EAAE,CAAC;QAC5C,GAAG,CAAC,WAAW,GAAG,yBAAyB,CAAC,WAAW,CAAC;QACxD,OAAO;IACT,CAAC;AACH,CAAC;AAED,MAAM,cAAc,GAAG,IAAA,aAAK,EAC1B,6EAA6E,CAC9E,CAAC;AACF,MAAM,cAAc,GAAG,IAAA,aAAK,EAC1B,6EAA6E,CAC9E,CAAC;AACF,MAAM,iBAAiB,GAAG,IAAA,aAAK,EAC7B,gFAAgF,CACjF,CAAC;AAEF,SAAS,2BAA2B,CAClC,GAAsB,EACtB,GAAoB;IAEpB,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;IAC9B,IAAI,CAAC,YAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IAED,MAAM,iBAAiB,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAC9D,IAAI,iBAAiB,EAAE,CAAC;QACtB,GAAG,CAAC,UAAU,GAAG,kCAAoB,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,WAAW,GAAG,iBAAiB,CAAC,WAAW,CAAC;QAChD,GAAG,CAAC,SAAS,GAAG,sBAAsB,GAAG,CAAC,WAAW,EAAE,CAAC;QACxD,OAAO;IACT,CAAC;IAED,MAAM,iBAAiB,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAC9D,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEpE,IAAI,iBAAiB,EAAE,CAAC;QACtB,GAAG,CAAC,UAAU,GAAG,kCAAoB,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,WAAW,GAAG,iBAAiB,CAAC,WAAW,CAAC;QAChD,GAAG,CAAC,SAAS,GAAG,sBAAsB,GAAG,CAAC,WAAW,EAAE,CAAC;QACxD,OAAO;IACT,CAAC;IAED,IAAI,oBAAoB,EAAE,CAAC;QACzB,GAAG,CAAC,UAAU,GAAG,kCAAoB,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,WAAW,GAAG,oBAAoB,CAAC,WAAW,CAAC;QACnD,GAAG,CAAC,SAAS,GAAG,yBAAyB,GAAG,CAAC,WAAW,EAAE,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,GAAG,CAAC,UAAU,GAAG,4BAAiB,CAAC,EAAE,CAAC;IACtC,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC;IACzB,IAAI,IAAA,eAAS,EAAC,MAAM,CAAC,EAAE,CAAC;QACtB,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,GAAW,EACX,GAAkB,EAClB,QAA2B,EAC3B,eAAyB,EACzB,OAAgB;IAEhB,IAAI,CAAC,YAAE,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,GAAG,CAAC;IAEpB,MAAM,GAAG,GAAsB;QAC7B,OAAO;QACP,WAAW;QACX,YAAY,EAAE,IAAI;QAClB,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;KACrB,CAAC;IAEF,IAAI,OAAO,EAAE,CAAC;QACZ,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAED,MAAM,UAAU,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC;IACtC,IAAI,YAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1B,GAAG,CAAC,UAAU,GAAG,2BAAiB,CAAC,EAAE,CAAC;QACtC,GAAG,CAAC,YAAY,GAAG,UAAU,CAAC;QAC9B,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAChD,GAAG,CAAC,YAAY,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC;QACxC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,2BAA2B,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACtC,2BAA2B,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAEtC,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9B,IAAI,YAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,GAAG,CAAC,YAAY,GAAG,MAAM,CAAC;QAC5B,CAAC;QAED,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC;QACzC,IAAI,YAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,GAAG,CAAC,aAAa,GAAG,MAAM,CAAC;YAC3B,GAAG,CAAC,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CACrB,OAAsB,EACtB,QAA2B,EAC3B,eAAyB,EACzB,OAAgB;IAEhB,MAAM,IAAI,GAAwB,EAAE,CAAC;IACrC,IAAI,YAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACjD,MAAM,GAAG,GAAG,iBAAiB,CAC3B,GAAG,EACH,GAAG,EACH,QAAQ,EACR,eAAe,EACf,OAAO,CACR,CAAC;YACF,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,kBAAkB,CAAC,OAAe;IAChD,MAAM,MAAM,GAAG,IAAA,yBAAgB,EAAC,OAAO,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAElC,MAAM,IAAI,GAAwB,EAAE,CAAC;IAErC,sFAAsF;IACtF,MAAM,WAAW,GAA2B;QAC1C,OAAO,EAAE,qBAAY;QACrB,OAAO,EAAE,mBAAU;KACpB,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IACrC,IAAI,YAAE,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9D,IAAI,YAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxB,IAAI,YAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,YAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACxD,WAAW,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC;gBACvC,CAAC;qBAAM,IAAI,YAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;oBACrD,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,eAAe,GAAa,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;IAElE,IAAI,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;IAEnE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC7B,IAAI,YAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9D,IAAI,YAAE,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,IAAI,CACP,GAAG,cAAc,CACf,YAAY,CAAC,YAAY,CAAC,EAC1B,QAAQ,EACR,eAAe,EACf,OAAO,CACR,CACF,CAAC;gBACF,IAAI,CAAC,IAAI,CACP,GAAG,cAAc,CACf,YAAY,CAAC,eAAe,CAAC,EAC7B,QAAQ,EACR,eAAe,EACf,OAAO,CACR,CACF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport { regEx } from '../../../util/regex';\nimport { isHttpUrl } from '../../../util/url';\nimport { BitbucketTagsDatasource } from '../../datasource/bitbucket-tags';\nimport { ClojureDatasource } from '../../datasource/clojure';\nimport { CLOJARS_REPO } from '../../datasource/clojure/common';\nimport { GitRefsDatasource } from '../../datasource/git-refs';\nimport { GithubTagsDatasource } from '../../datasource/github-tags';\nimport { GitlabTagsDatasource } from '../../datasource/gitlab-tags';\nimport { MAVEN_REPO } from '../../datasource/maven/common';\nimport type { PackageDependency, PackageFileContent } from '../types';\nimport { parseDepsEdnFile } from './parser';\nimport type {\n ParsedEdnData,\n ParsedEdnMetadata,\n ParsedEdnRecord,\n} from './types';\n\nconst dependencyRegex = regEx(\n /^(?<groupId>[a-zA-Z][-_a-zA-Z0-9]*(?:\\.[a-zA-Z0-9][-_a-zA-Z0-9]*)*)(?:\\/(?<artifactId>[a-zA-Z][-_a-zA-Z0-9]*(?:\\.[a-zA-Z0-9][-_a-zA-Z0-9]*)*))?$/,\n);\n\nfunction getPackageName(depName: string): string | null {\n const matchGroups = dependencyRegex.exec(depName)?.groups;\n if (matchGroups) {\n const groupId = matchGroups.groupId;\n const artifactId = matchGroups.artifactId\n ? matchGroups.artifactId\n : groupId;\n return `${groupId}:${artifactId}`;\n }\n\n return null;\n}\n\nconst githubDependencyRegex = regEx(\n /^(?:com|io)\\.github\\.(?<packageName>[^/]+\\/[^/]+)$/,\n);\nconst gitlabDependencyRegex = regEx(\n /^(?:com|io)\\.gitlab\\.(?<packageName>[^/]+\\/[^/]+)$/,\n);\nconst bitbucketDependencyRegex = regEx(\n /^(?:org|io)\\.bitbucket\\.(?<packageName>[^/]+\\/[^/]+)$/,\n);\n\nfunction resolveGitPackageFromEdnKey(\n dep: PackageDependency,\n key: string,\n): void {\n if (dep.datasource) {\n return;\n }\n\n const githubDependencyGroups = githubDependencyRegex.exec(key)?.groups;\n if (githubDependencyGroups?.packageName) {\n dep.datasource = GithubTagsDatasource.id;\n dep.packageName = githubDependencyGroups.packageName;\n return;\n }\n\n const gitlabDependencyGroups = gitlabDependencyRegex.exec(key)?.groups;\n if (gitlabDependencyGroups?.packageName) {\n dep.datasource = GitlabTagsDatasource.id;\n dep.packageName = gitlabDependencyGroups.packageName;\n return;\n }\n\n const bitbucketDependencyGroups = bitbucketDependencyRegex.exec(key)?.groups;\n if (bitbucketDependencyGroups?.packageName) {\n dep.datasource = BitbucketTagsDatasource.id;\n dep.packageName = bitbucketDependencyGroups.packageName;\n return;\n }\n}\n\nconst githubUrlRegex = regEx(\n /^(?:https:\\/\\/|git@)github\\.com[/:](?<packageName>[^/]+\\/[^/]+?)(?:\\.git)?$/,\n);\nconst gitlabUrlRegex = regEx(\n /^(?:https:\\/\\/|git@)gitlab\\.com[/:](?<packageName>[^/]+\\/[^/]+?)(?:\\.git)?$/,\n);\nconst bitbucketUrlRegex = regEx(\n /^(?:https:\\/\\/|git@)bitbucket\\.org[/:](?<packageName>[^/]+\\/[^/]+?)(?:\\.git)?$/,\n);\n\nfunction resolveGitPackageFromEdnVal(\n dep: PackageDependency,\n val: ParsedEdnRecord,\n): void {\n const gitUrl = val['git/url'];\n if (!is.string(gitUrl)) {\n return;\n }\n\n const githubMatchGroups = githubUrlRegex.exec(gitUrl)?.groups;\n if (githubMatchGroups) {\n dep.datasource = GithubTagsDatasource.id;\n dep.packageName = githubMatchGroups.packageName;\n dep.sourceUrl = `https://github.com/${dep.packageName}`;\n return;\n }\n\n const gitlabMatchGroups = gitlabUrlRegex.exec(gitUrl)?.groups;\n const bitbucketMatchGroups = bitbucketUrlRegex.exec(gitUrl)?.groups;\n\n if (gitlabMatchGroups) {\n dep.datasource = GitlabTagsDatasource.id;\n dep.packageName = gitlabMatchGroups.packageName;\n dep.sourceUrl = `https://gitlab.com/${dep.packageName}`;\n return;\n }\n\n if (bitbucketMatchGroups) {\n dep.datasource = GitlabTagsDatasource.id;\n dep.packageName = bitbucketMatchGroups.packageName;\n dep.sourceUrl = `https://bitbucket.org/${dep.packageName}`;\n return;\n }\n\n dep.datasource = GitRefsDatasource.id;\n dep.packageName = gitUrl;\n if (isHttpUrl(gitUrl)) {\n dep.sourceUrl = gitUrl.replace(/\\.git$/, '');\n }\n}\n\nfunction extractDependency(\n key: string,\n val: ParsedEdnData,\n metadata: ParsedEdnMetadata,\n mavenRegistries: string[],\n depType?: string,\n): PackageDependency | null {\n if (!is.plainObject(val)) {\n return null;\n }\n\n const packageName = getPackageName(key);\n if (!packageName) {\n return null;\n }\n const depName = key;\n\n const dep: PackageDependency = {\n depName,\n packageName,\n currentValue: null,\n ...metadata.get(val),\n };\n\n if (depType) {\n dep.depType = depType;\n }\n\n const mvnVersion = val['mvn/version'];\n if (is.string(mvnVersion)) {\n dep.datasource = ClojureDatasource.id;\n dep.currentValue = mvnVersion;\n dep.packageName = packageName.replace('/', ':');\n dep.registryUrls = [...mavenRegistries];\n return dep;\n }\n\n resolveGitPackageFromEdnVal(dep, val);\n resolveGitPackageFromEdnKey(dep, key);\n\n if (dep.datasource) {\n const gitTag = val['git/tag'];\n if (is.string(gitTag)) {\n dep.currentValue = gitTag;\n }\n\n const gitSha = val['git/sha'] ?? val.sha;\n if (is.string(gitSha)) {\n dep.currentDigest = gitSha;\n dep.currentDigestShort = gitSha.slice(0, 7);\n }\n\n return dep;\n }\n\n return null;\n}\n\nfunction extractSection(\n section: ParsedEdnData,\n metadata: ParsedEdnMetadata,\n mavenRegistries: string[],\n depType?: string,\n): PackageDependency[] {\n const deps: PackageDependency[] = [];\n if (is.plainObject(section)) {\n for (const [key, val] of Object.entries(section)) {\n const dep = extractDependency(\n key,\n val,\n metadata,\n mavenRegistries,\n depType,\n );\n if (dep) {\n deps.push(dep);\n }\n }\n }\n return deps;\n}\n\nexport function extractPackageFile(content: string): PackageFileContent | null {\n const parsed = parseDepsEdnFile(content);\n if (!parsed) {\n return null;\n }\n const { data, metadata } = parsed;\n\n const deps: PackageDependency[] = [];\n\n // See: https://clojure.org/reference/deps_and_cli#_modifying_the_default_repositories\n const registryMap: Record<string, string> = {\n clojars: CLOJARS_REPO,\n central: MAVEN_REPO,\n };\n const mavenRepos = data['mvn/repos'];\n if (is.plainObject(mavenRepos)) {\n for (const [repoName, repoSpec] of Object.entries(mavenRepos)) {\n if (is.string(repoName)) {\n if (is.plainObject(repoSpec) && is.string(repoSpec.url)) {\n registryMap[repoName] = repoSpec.url;\n } else if (is.string(repoSpec) && repoSpec === 'nil') {\n delete registryMap[repoName];\n }\n }\n }\n }\n const mavenRegistries: string[] = [...Object.values(registryMap)];\n\n deps.push(...extractSection(data.deps, metadata, mavenRegistries));\n\n const aliases = data.aliases;\n if (is.plainObject(aliases)) {\n for (const [depType, aliasSection] of Object.entries(aliases)) {\n if (is.plainObject(aliasSection)) {\n deps.push(\n ...extractSection(\n aliasSection['extra-deps'],\n metadata,\n mavenRegistries,\n depType,\n ),\n );\n deps.push(\n ...extractSection(\n aliasSection['override-deps'],\n metadata,\n mavenRegistries,\n depType,\n ),\n );\n }\n }\n }\n\n return { deps };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/deps-edn/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import { isPlainObject, isString } from '@sindresorhus/is';\nimport { regEx } from '../../../util/regex';\nimport { isHttpUrl } from '../../../util/url';\nimport { BitbucketTagsDatasource } from '../../datasource/bitbucket-tags';\nimport { ClojureDatasource } from '../../datasource/clojure';\nimport { CLOJARS_REPO } from '../../datasource/clojure/common';\nimport { GitRefsDatasource } from '../../datasource/git-refs';\nimport { GithubTagsDatasource } from '../../datasource/github-tags';\nimport { GitlabTagsDatasource } from '../../datasource/gitlab-tags';\nimport { MAVEN_REPO } from '../../datasource/maven/common';\nimport type { PackageDependency, PackageFileContent } from '../types';\nimport { parseDepsEdnFile } from './parser';\nimport type {\n ParsedEdnData,\n ParsedEdnMetadata,\n ParsedEdnRecord,\n} from './types';\n\nconst dependencyRegex = regEx(\n /^(?<groupId>[a-zA-Z][-_a-zA-Z0-9]*(?:\\.[a-zA-Z0-9][-_a-zA-Z0-9]*)*)(?:\\/(?<artifactId>[a-zA-Z][-_a-zA-Z0-9]*(?:\\.[a-zA-Z0-9][-_a-zA-Z0-9]*)*))?$/,\n);\n\nfunction getPackageName(depName: string): string | null {\n const matchGroups = dependencyRegex.exec(depName)?.groups;\n if (matchGroups) {\n const groupId = matchGroups.groupId;\n const artifactId = matchGroups.artifactId\n ? matchGroups.artifactId\n : groupId;\n return `${groupId}:${artifactId}`;\n }\n\n return null;\n}\n\nconst githubDependencyRegex = regEx(\n /^(?:com|io)\\.github\\.(?<packageName>[^/]+\\/[^/]+)$/,\n);\nconst gitlabDependencyRegex = regEx(\n /^(?:com|io)\\.gitlab\\.(?<packageName>[^/]+\\/[^/]+)$/,\n);\nconst bitbucketDependencyRegex = regEx(\n /^(?:org|io)\\.bitbucket\\.(?<packageName>[^/]+\\/[^/]+)$/,\n);\n\nfunction resolveGitPackageFromEdnKey(\n dep: PackageDependency,\n key: string,\n): void {\n if (dep.datasource) {\n return;\n }\n\n const githubDependencyGroups = githubDependencyRegex.exec(key)?.groups;\n if (githubDependencyGroups?.packageName) {\n dep.datasource = GithubTagsDatasource.id;\n dep.packageName = githubDependencyGroups.packageName;\n return;\n }\n\n const gitlabDependencyGroups = gitlabDependencyRegex.exec(key)?.groups;\n if (gitlabDependencyGroups?.packageName) {\n dep.datasource = GitlabTagsDatasource.id;\n dep.packageName = gitlabDependencyGroups.packageName;\n return;\n }\n\n const bitbucketDependencyGroups = bitbucketDependencyRegex.exec(key)?.groups;\n if (bitbucketDependencyGroups?.packageName) {\n dep.datasource = BitbucketTagsDatasource.id;\n dep.packageName = bitbucketDependencyGroups.packageName;\n return;\n }\n}\n\nconst githubUrlRegex = regEx(\n /^(?:https:\\/\\/|git@)github\\.com[/:](?<packageName>[^/]+\\/[^/]+?)(?:\\.git)?$/,\n);\nconst gitlabUrlRegex = regEx(\n /^(?:https:\\/\\/|git@)gitlab\\.com[/:](?<packageName>[^/]+\\/[^/]+?)(?:\\.git)?$/,\n);\nconst bitbucketUrlRegex = regEx(\n /^(?:https:\\/\\/|git@)bitbucket\\.org[/:](?<packageName>[^/]+\\/[^/]+?)(?:\\.git)?$/,\n);\n\nfunction resolveGitPackageFromEdnVal(\n dep: PackageDependency,\n val: ParsedEdnRecord,\n): void {\n const gitUrl = val['git/url'];\n if (!isString(gitUrl)) {\n return;\n }\n\n const githubMatchGroups = githubUrlRegex.exec(gitUrl)?.groups;\n if (githubMatchGroups) {\n dep.datasource = GithubTagsDatasource.id;\n dep.packageName = githubMatchGroups.packageName;\n dep.sourceUrl = `https://github.com/${dep.packageName}`;\n return;\n }\n\n const gitlabMatchGroups = gitlabUrlRegex.exec(gitUrl)?.groups;\n const bitbucketMatchGroups = bitbucketUrlRegex.exec(gitUrl)?.groups;\n\n if (gitlabMatchGroups) {\n dep.datasource = GitlabTagsDatasource.id;\n dep.packageName = gitlabMatchGroups.packageName;\n dep.sourceUrl = `https://gitlab.com/${dep.packageName}`;\n return;\n }\n\n if (bitbucketMatchGroups) {\n dep.datasource = GitlabTagsDatasource.id;\n dep.packageName = bitbucketMatchGroups.packageName;\n dep.sourceUrl = `https://bitbucket.org/${dep.packageName}`;\n return;\n }\n\n dep.datasource = GitRefsDatasource.id;\n dep.packageName = gitUrl;\n if (isHttpUrl(gitUrl)) {\n dep.sourceUrl = gitUrl.replace(/\\.git$/, '');\n }\n}\n\nfunction extractDependency(\n key: string,\n val: ParsedEdnData,\n metadata: ParsedEdnMetadata,\n mavenRegistries: string[],\n depType?: string,\n): PackageDependency | null {\n if (!isPlainObject(val)) {\n return null;\n }\n\n const packageName = getPackageName(key);\n if (!packageName) {\n return null;\n }\n const depName = key;\n\n const dep: PackageDependency = {\n depName,\n packageName,\n currentValue: null,\n ...metadata.get(val),\n };\n\n if (depType) {\n dep.depType = depType;\n }\n\n const mvnVersion = val['mvn/version'];\n if (isString(mvnVersion)) {\n dep.datasource = ClojureDatasource.id;\n dep.currentValue = mvnVersion;\n dep.packageName = packageName.replace('/', ':');\n dep.registryUrls = [...mavenRegistries];\n return dep;\n }\n\n resolveGitPackageFromEdnVal(dep, val);\n resolveGitPackageFromEdnKey(dep, key);\n\n if (dep.datasource) {\n const gitTag = val['git/tag'];\n if (isString(gitTag)) {\n dep.currentValue = gitTag;\n }\n\n const gitSha = val['git/sha'] ?? val.sha;\n if (isString(gitSha)) {\n dep.currentDigest = gitSha;\n dep.currentDigestShort = gitSha.slice(0, 7);\n }\n\n return dep;\n }\n\n return null;\n}\n\nfunction extractSection(\n section: ParsedEdnData,\n metadata: ParsedEdnMetadata,\n mavenRegistries: string[],\n depType?: string,\n): PackageDependency[] {\n const deps: PackageDependency[] = [];\n if (isPlainObject(section)) {\n for (const [key, val] of Object.entries(section)) {\n const dep = extractDependency(\n key,\n val,\n metadata,\n mavenRegistries,\n depType,\n );\n if (dep) {\n deps.push(dep);\n }\n }\n }\n return deps;\n}\n\nexport function extractPackageFile(content: string): PackageFileContent | null {\n const parsed = parseDepsEdnFile(content);\n if (!parsed) {\n return null;\n }\n const { data, metadata } = parsed;\n\n const deps: PackageDependency[] = [];\n\n // See: https://clojure.org/reference/deps_and_cli#_modifying_the_default_repositories\n const registryMap: Record<string, string> = {\n clojars: CLOJARS_REPO,\n central: MAVEN_REPO,\n };\n const mavenRepos = data['mvn/repos'];\n if (isPlainObject(mavenRepos)) {\n for (const [repoName, repoSpec] of Object.entries(mavenRepos)) {\n if (isString(repoName)) {\n if (isPlainObject(repoSpec) && isString(repoSpec.url)) {\n registryMap[repoName] = repoSpec.url;\n } else if (isString(repoSpec) && repoSpec === 'nil') {\n delete registryMap[repoName];\n }\n }\n }\n }\n const mavenRegistries: string[] = [...Object.values(registryMap)];\n\n deps.push(...extractSection(data.deps, metadata, mavenRegistries));\n\n const aliases = data.aliases;\n if (isPlainObject(aliases)) {\n for (const [depType, aliasSection] of Object.entries(aliases)) {\n if (isPlainObject(aliasSection)) {\n deps.push(\n ...extractSection(\n aliasSection['extra-deps'],\n metadata,\n mavenRegistries,\n depType,\n ),\n );\n deps.push(\n ...extractSection(\n aliasSection['override-deps'],\n metadata,\n mavenRegistries,\n depType,\n ),\n );\n }\n }\n }\n\n return { deps };\n}\n"]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.parseDepsEdnFile = parseDepsEdnFile;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const is_1 =
|
|
5
|
+
const is_1 = require("@sindresorhus/is");
|
|
6
6
|
const moo_1 = tslib_1.__importDefault(require("moo"));
|
|
7
7
|
const logger_1 = require("../../../logger");
|
|
8
8
|
const lexerStates = {
|
|
@@ -161,7 +161,7 @@ function parseDepsEdnFile(content) {
|
|
|
161
161
|
while (stack.length) {
|
|
162
162
|
popState();
|
|
163
163
|
}
|
|
164
|
-
if (is_1.
|
|
164
|
+
if ((0, is_1.isPlainObject)(state.data)) {
|
|
165
165
|
return { data: state.data, metadata };
|
|
166
166
|
}
|
|
167
167
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../../lib/modules/manager/deps-edn/parser.ts"],"names":[],"mappings":";;AA+DA,4CAgIC;;AA/LD,kEAAkC;AAClC,sDAAsB;AACtB,4CAAyC;AAWzC,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE;QACJ,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;QACrB,WAAW,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;QAC/B,SAAS,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;QACzB,UAAU,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;QAC1B,UAAU,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;QAC1B,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;QAC3B,UAAU,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;QAC1B,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;QAC3B,gBAAgB,EAAE;YAChB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,kBAAkB;SACzB;QACD,YAAY,EAAE;YACZ,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,cAAc;SACrB;QACD,qDAAqD;QACrD,OAAO,EAAE;YACP,KAAK,EACH,sGAAsG;YACxG,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;SACjC;QACD,MAAM,EAAE;YACN,KAAK,EACH,qGAAqG;SACxG;QACD,MAAM,EAAE;YACN,KAAK,EACH,iFAAiF;SACpF;QACD,QAAQ,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE;QACrC,OAAO,EAAE,EAAE,KAAK,EAAE,+CAA+C,EAAE;QACnE,OAAO,EAAE,aAAG,CAAC,QAAQ;KACtB;IACD,gBAAgB,EAAE;QAChB,YAAY,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE;QACtC,aAAa,EAAE,aAAG,CAAC,QAAQ;KAC5B;IACD,YAAY,EAAE;QACZ,YAAY,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE;QACpC,aAAa,EAAE,aAAG,CAAC,QAAQ;KAC5B;CACF,CAAC;AAIF,MAAM,KAAK,GAAG,aAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AAEtC,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrB,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAC1B,KAAK,CAAC,KAAK,EAAE,CAAC;IAEd,MAAM,KAAK,GAAkB,EAAE,CAAC;IAChC,IAAI,KAAK,GAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAEtD,MAAM,QAAQ,GAAsB,IAAI,OAAO,EAG5C,CAAC;IAEJ,MAAM,QAAQ,GAAG,GAAY,EAAE;QAC7B,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC/B,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YAC7B,KAAK,GAAG,UAAU,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjC,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACvB,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC7B,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;YAC7B,CAAC;iBAAM,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;gBACjC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;gBACpD,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAChC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,GAAG,UAAU,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,IAAiB,CAAC;QAC1C,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;QAE7B,iDAAiD;QACjD,IACE,SAAS,KAAK,aAAa;YAC3B,SAAS,KAAK,SAAS;YACvB,SAAS,KAAK,cAAc;YAC5B,SAAS,KAAK,kBAAkB;YAChC,SAAS,KAAK,cAAc;YAC5B,SAAS,KAAK,OAAO,EACrB,CAAC;YACD,SAAS;QACX,CAAC;aAAM,IACL,SAAS,KAAK,YAAY;YAC1B,SAAS,KAAK,aAAa;YAC3B,SAAS,KAAK,aAAa,EAC3B,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACtD,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;gBAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;gBACnD,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAC1D,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;YAC9C,CAAC;YAED,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAChB,MAAM;YACR,CAAC;QACH,CAAC;aAAM,IAAI,SAAS,KAAK,WAAW,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;YACnE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,KAAK,GAAG;gBACN,IAAI,EAAE,OAAO;gBACb,UAAU,EAAE,KAAK,CAAC,MAAM;gBACxB,IAAI,EAAE,EAAE;aACT,CAAC;QACJ,CAAC;aAAM,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,KAAK,GAAG;gBACN,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,KAAK,CAAC,MAAM;gBACxB,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,IAAI;aACjB,CAAC;QACJ,CAAC;aAAM,IACL,SAAS,KAAK,QAAQ;YACtB,SAAS,KAAK,SAAS;YACvB,SAAS,KAAK,eAAe;YAC7B,SAAS,KAAK,QAAQ;YACtB,SAAS,KAAK,UAAU;YACxB,SAAS,KAAK,SAAS,EACvB,CAAC;YACD,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAC3B,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAClB,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;oBACxB,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;gBACxB,CAAC;qBAAM,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oBAC5B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;oBAC3C,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC1B,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;gBACjC,CAAC;YACH,CAAC;iBAAM,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;gBACjC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;gBAChC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;YAC3B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,WAAW,GAAU,SAAS,CAAC;YACrC,eAAM,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,EAAE,mCAAmC,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;QACpB,QAAQ,EAAE,CAAC;IACb,CAAC;IAED,IAAI,YAAE,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;IACxC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport moo from 'moo';\nimport { logger } from '../../../logger';\nimport type {\n EdnMetadata,\n ParsedEdnArray,\n ParsedEdnMetadata,\n ParsedEdnRecord,\n ParsedEdnResult,\n ParserState,\n TokenTypes,\n} from './types';\n\nconst lexerStates = {\n main: {\n comma: { match: ',' },\n lineComment: { match: /;.*?$/ },\n leftParen: { match: '(' },\n rightParen: { match: ')' },\n leftSquare: { match: '[' },\n rightSquare: { match: ']' },\n leftFigure: { match: '{' },\n rightFigure: { match: '}' },\n longDoubleQuoted: {\n match: '\"\"\"',\n push: 'longDoubleQuoted',\n },\n doubleQuoted: {\n match: '\"',\n push: 'doubleQuoted',\n },\n // https://clojure.org/reference/reader#_reader_forms\n keyword: {\n match:\n /:(?:[a-zA-Z*+!_'?<>=.-][a-zA-Z0-9*+!_'?<>=.-]*)(?:\\/(?:[a-zA-Z*+!_'?<>=.-][a-zA-Z0-9*+!_'?<>=.-]*))?/,\n value: (x: string) => x.slice(1),\n },\n symbol: {\n match:\n /(?:[a-zA-Z*+!_'?<>=.-][a-zA-Z0-9*+!_'?<>=.-]*)(?:\\/(?:[a-zA-Z*+!_'?<>=.-][a-zA-Z0-9*+!_'?<>=.-]*))?/,\n },\n double: {\n match:\n /(?:[0-9]+\\.[0-9]*|[0-9]*\\.[0-9]+)(?:[eE][+-]?[0-9]+)?|(?:[0-9]+[eE][+-]?[0-9]+)/,\n },\n rational: { match: /[0-9]+\\/[0-9]+/ },\n integer: { match: /(?:0x[0-9a-fA-F]+|[0-9]+r[0-9a-zA-Z]+|[0-9]+)/ },\n unknown: moo.fallback,\n },\n longDoubleQuoted: {\n stringFinish: { match: '\"\"\"', pop: 1 },\n stringContent: moo.fallback,\n },\n doubleQuoted: {\n stringFinish: { match: '\"', pop: 1 },\n stringContent: moo.fallback,\n },\n};\n\ntype TokenType = TokenTypes<typeof lexerStates>;\n\nconst lexer = moo.states(lexerStates);\n\nexport function parseDepsEdnFile(content: string): ParsedEdnResult | null {\n lexer.reset(content);\n const tokens = [...lexer];\n lexer.reset();\n\n const stack: ParserState[] = [];\n let state: ParserState = { type: 'root', data: null };\n\n const metadata: ParsedEdnMetadata = new WeakMap<\n ParsedEdnRecord | ParsedEdnArray,\n EdnMetadata\n >();\n\n const popState = (): boolean => {\n const savedState = stack.pop();\n if (!savedState) {\n return false;\n }\n\n if (savedState.type === 'root') {\n savedState.data = state.data;\n state = savedState;\n return false;\n }\n\n if (savedState.type === 'record') {\n if (savedState.skipKey) {\n savedState.currentKey = null;\n savedState.skipKey = false;\n } else if (savedState.currentKey) {\n savedState.data[savedState.currentKey] = state.data;\n savedState.currentKey = null;\n } else {\n savedState.skipKey = true;\n }\n }\n\n if (savedState.type === 'array') {\n savedState.data.push(state.data);\n }\n\n state = savedState;\n return true;\n };\n\n for (const token of tokens) {\n const tokenType = token.type as TokenType;\n const stateType = state.type;\n\n // istanbul ignore else: token type comprehension\n if (\n tokenType === 'lineComment' ||\n tokenType === 'unknown' ||\n tokenType === 'doubleQuoted' ||\n tokenType === 'longDoubleQuoted' ||\n tokenType === 'stringFinish' ||\n tokenType === 'comma'\n ) {\n continue;\n } else if (\n tokenType === 'rightParen' ||\n tokenType === 'rightSquare' ||\n tokenType === 'rightFigure'\n ) {\n if (state.type === 'record' || state.type === 'array') {\n const { startIndex } = state;\n const endIndex = token.offset + token.value.length;\n const replaceString = content.slice(startIndex, endIndex);\n metadata.set(state.data, { replaceString });\n }\n\n if (!popState()) {\n break;\n }\n } else if (tokenType === 'leftParen' || tokenType === 'leftSquare') {\n stack.push(state);\n state = {\n type: 'array',\n startIndex: token.offset,\n data: [],\n };\n } else if (tokenType === 'leftFigure') {\n stack.push(state);\n state = {\n type: 'record',\n startIndex: token.offset,\n data: {},\n skipKey: false,\n currentKey: null,\n };\n } else if (\n tokenType === 'symbol' ||\n tokenType === 'keyword' ||\n tokenType === 'stringContent' ||\n tokenType === 'double' ||\n tokenType === 'rational' ||\n tokenType === 'integer'\n ) {\n if (stateType === 'record') {\n if (state.skipKey) {\n state.currentKey = null;\n state.skipKey = false;\n } else if (state.currentKey) {\n state.data[state.currentKey] = token.value;\n state.currentKey = null;\n } else {\n state.currentKey = token.value;\n }\n } else if (stateType === 'array') {\n state.data.push(token.value);\n } else if (stateType === 'root') {\n state.data = token.value;\n }\n } else {\n const unknownType: never = tokenType;\n logger.debug({ unknownType }, `Unknown token type for \"deps.edn\"`);\n }\n }\n\n while (stack.length) {\n popState();\n }\n\n if (is.plainObject(state.data)) {\n return { data: state.data, metadata };\n }\n\n return null;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../../lib/modules/manager/deps-edn/parser.ts"],"names":[],"mappings":"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","sourcesContent":["import { isPlainObject } from '@sindresorhus/is';\nimport moo from 'moo';\nimport { logger } from '../../../logger';\nimport type {\n EdnMetadata,\n ParsedEdnArray,\n ParsedEdnMetadata,\n ParsedEdnRecord,\n ParsedEdnResult,\n ParserState,\n TokenTypes,\n} from './types';\n\nconst lexerStates = {\n main: {\n comma: { match: ',' },\n lineComment: { match: /;.*?$/ },\n leftParen: { match: '(' },\n rightParen: { match: ')' },\n leftSquare: { match: '[' },\n rightSquare: { match: ']' },\n leftFigure: { match: '{' },\n rightFigure: { match: '}' },\n longDoubleQuoted: {\n match: '\"\"\"',\n push: 'longDoubleQuoted',\n },\n doubleQuoted: {\n match: '\"',\n push: 'doubleQuoted',\n },\n // https://clojure.org/reference/reader#_reader_forms\n keyword: {\n match:\n /:(?:[a-zA-Z*+!_'?<>=.-][a-zA-Z0-9*+!_'?<>=.-]*)(?:\\/(?:[a-zA-Z*+!_'?<>=.-][a-zA-Z0-9*+!_'?<>=.-]*))?/,\n value: (x: string) => x.slice(1),\n },\n symbol: {\n match:\n /(?:[a-zA-Z*+!_'?<>=.-][a-zA-Z0-9*+!_'?<>=.-]*)(?:\\/(?:[a-zA-Z*+!_'?<>=.-][a-zA-Z0-9*+!_'?<>=.-]*))?/,\n },\n double: {\n match:\n /(?:[0-9]+\\.[0-9]*|[0-9]*\\.[0-9]+)(?:[eE][+-]?[0-9]+)?|(?:[0-9]+[eE][+-]?[0-9]+)/,\n },\n rational: { match: /[0-9]+\\/[0-9]+/ },\n integer: { match: /(?:0x[0-9a-fA-F]+|[0-9]+r[0-9a-zA-Z]+|[0-9]+)/ },\n unknown: moo.fallback,\n },\n longDoubleQuoted: {\n stringFinish: { match: '\"\"\"', pop: 1 },\n stringContent: moo.fallback,\n },\n doubleQuoted: {\n stringFinish: { match: '\"', pop: 1 },\n stringContent: moo.fallback,\n },\n};\n\ntype TokenType = TokenTypes<typeof lexerStates>;\n\nconst lexer = moo.states(lexerStates);\n\nexport function parseDepsEdnFile(content: string): ParsedEdnResult | null {\n lexer.reset(content);\n const tokens = [...lexer];\n lexer.reset();\n\n const stack: ParserState[] = [];\n let state: ParserState = { type: 'root', data: null };\n\n const metadata: ParsedEdnMetadata = new WeakMap<\n ParsedEdnRecord | ParsedEdnArray,\n EdnMetadata\n >();\n\n const popState = (): boolean => {\n const savedState = stack.pop();\n if (!savedState) {\n return false;\n }\n\n if (savedState.type === 'root') {\n savedState.data = state.data;\n state = savedState;\n return false;\n }\n\n if (savedState.type === 'record') {\n if (savedState.skipKey) {\n savedState.currentKey = null;\n savedState.skipKey = false;\n } else if (savedState.currentKey) {\n savedState.data[savedState.currentKey] = state.data;\n savedState.currentKey = null;\n } else {\n savedState.skipKey = true;\n }\n }\n\n if (savedState.type === 'array') {\n savedState.data.push(state.data);\n }\n\n state = savedState;\n return true;\n };\n\n for (const token of tokens) {\n const tokenType = token.type as TokenType;\n const stateType = state.type;\n\n // istanbul ignore else: token type comprehension\n if (\n tokenType === 'lineComment' ||\n tokenType === 'unknown' ||\n tokenType === 'doubleQuoted' ||\n tokenType === 'longDoubleQuoted' ||\n tokenType === 'stringFinish' ||\n tokenType === 'comma'\n ) {\n continue;\n } else if (\n tokenType === 'rightParen' ||\n tokenType === 'rightSquare' ||\n tokenType === 'rightFigure'\n ) {\n if (state.type === 'record' || state.type === 'array') {\n const { startIndex } = state;\n const endIndex = token.offset + token.value.length;\n const replaceString = content.slice(startIndex, endIndex);\n metadata.set(state.data, { replaceString });\n }\n\n if (!popState()) {\n break;\n }\n } else if (tokenType === 'leftParen' || tokenType === 'leftSquare') {\n stack.push(state);\n state = {\n type: 'array',\n startIndex: token.offset,\n data: [],\n };\n } else if (tokenType === 'leftFigure') {\n stack.push(state);\n state = {\n type: 'record',\n startIndex: token.offset,\n data: {},\n skipKey: false,\n currentKey: null,\n };\n } else if (\n tokenType === 'symbol' ||\n tokenType === 'keyword' ||\n tokenType === 'stringContent' ||\n tokenType === 'double' ||\n tokenType === 'rational' ||\n tokenType === 'integer'\n ) {\n if (stateType === 'record') {\n if (state.skipKey) {\n state.currentKey = null;\n state.skipKey = false;\n } else if (state.currentKey) {\n state.data[state.currentKey] = token.value;\n state.currentKey = null;\n } else {\n state.currentKey = token.value;\n }\n } else if (stateType === 'array') {\n state.data.push(token.value);\n } else if (stateType === 'root') {\n state.data = token.value;\n }\n } else {\n const unknownType: never = tokenType;\n logger.debug({ unknownType }, `Unknown token type for \"deps.edn\"`);\n }\n }\n\n while (stack.length) {\n popState();\n }\n\n if (isPlainObject(state.data)) {\n return { data: state.data, metadata };\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 semver_1 = tslib_1.__importDefault(require("semver"));
|
|
7
7
|
const shlex_1 = require("shlex");
|
|
8
8
|
const logger_1 = require("../../../logger");
|
|
@@ -39,7 +39,7 @@ async function updateArtifacts({ config: { constraints, isLockFileMaintenance, u
|
|
|
39
39
|
if (isLockFileMaintenance) {
|
|
40
40
|
cmd.push(supportsNoInstall ? 'devbox update --no-install' : 'devbox update');
|
|
41
41
|
}
|
|
42
|
-
else if (is_1.
|
|
42
|
+
else if ((0, is_1.isNonEmptyArray)(updatedDeps)) {
|
|
43
43
|
if (supportsNoInstall) {
|
|
44
44
|
const updateCommands = updatedDeps
|
|
45
45
|
.map((dep) => dep.depName && `devbox update ${(0, shlex_1.quote)(dep.depName)} --no-install`)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/devbox/artifacts.ts"],"names":[],"mappings":";;AASA,0CAkGC;;AA3GD,
|
|
1
|
+
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/devbox/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import { isNonEmptyArray } from '@sindresorhus/is';\nimport semver from 'semver';\nimport { quote } from 'shlex';\nimport { logger } from '../../../logger';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions } from '../../../util/exec/types';\nimport { getSiblingFileName, readLocalFile } from '../../../util/fs';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\n\nexport async function updateArtifacts({\n config: { constraints, isLockFileMaintenance, updateType },\n packageFileName,\n updatedDeps,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n const lockFileName = getSiblingFileName(packageFileName, 'devbox.lock');\n const existingLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!existingLockFileContent) {\n logger.debug('No devbox.lock found');\n return null;\n }\n\n const supportsNoInstall = constraints?.devbox\n ? semver.intersects(constraints.devbox, '>=0.14.0')\n : true;\n\n const execOptions: ExecOptions = {\n cwdFile: packageFileName,\n toolConstraints: [\n // we are required to install nix because devbox spawns nix commands internally\n // https://github.com/renovatebot/renovate/discussions/35382\n // https://github.com/jetify-com/devbox/issues/2585\n {\n toolName: 'nix',\n constraint: constraints?.nix,\n },\n {\n toolName: 'devbox',\n constraint: constraints?.devbox,\n },\n ],\n docker: {},\n };\n\n const cmd = [];\n if (isLockFileMaintenance) {\n cmd.push(\n supportsNoInstall ? 'devbox update --no-install' : 'devbox update',\n );\n } else if (isNonEmptyArray(updatedDeps)) {\n if (supportsNoInstall) {\n const updateCommands: string[] = updatedDeps\n .map(\n (dep) =>\n dep.depName && `devbox update ${quote(dep.depName)} --no-install`,\n )\n .filter((dep): dep is string => Boolean(dep));\n if (updateCommands.length) {\n cmd.push(...updateCommands);\n } else {\n logger.trace('No updated devbox packages - returning null');\n return null;\n }\n } else {\n cmd.push('devbox install');\n }\n } else {\n logger.trace('No updated devbox packages - returning null');\n return null;\n }\n\n const oldLockFileContent = await readLocalFile(lockFileName);\n if (!oldLockFileContent) {\n logger.trace(`No ${lockFileName} found`);\n return null;\n }\n\n try {\n await exec(cmd, execOptions);\n const newLockFileContent = await readLocalFile(lockFileName);\n\n if (\n !newLockFileContent ||\n Buffer.compare(oldLockFileContent, newLockFileContent) === 0\n ) {\n return null;\n }\n logger.trace('Returning updated devbox.lock');\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newLockFileContent,\n },\n },\n ];\n } catch (err) {\n logger.warn({ err }, 'Error updating devbox.lock');\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: err.message,\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 regex_1 = require("../../../util/regex");
|
|
8
7
|
const yaml_1 = require("../../../util/yaml");
|
|
@@ -51,7 +50,7 @@ function extractPackageFile(content, packageFile, extractConfig) {
|
|
|
51
50
|
// use variables and if the image is not built locally
|
|
52
51
|
const deps = Object.values(services || /* istanbul ignore next: can never happen */ {})
|
|
53
52
|
.concat(Object.values(extensions))
|
|
54
|
-
.filter((service) => is_1.
|
|
53
|
+
.filter((service) => (0, is_1.isString)(service?.image) && !service?.build)
|
|
55
54
|
.map((service) => {
|
|
56
55
|
const dep = (0, extract_1.getDep)(service.image, true, extractConfig.registryAliases);
|
|
57
56
|
const lineNumber = lineMapper.pluckLineNumber(service.image);
|
|
@@ -61,7 +60,7 @@ function extractPackageFile(content, packageFile, extractConfig) {
|
|
|
61
60
|
}
|
|
62
61
|
return dep;
|
|
63
62
|
})
|
|
64
|
-
.filter(is_1.
|
|
63
|
+
.filter(is_1.isTruthy);
|
|
65
64
|
logger_1.logger.trace({ deps }, 'Docker Compose image');
|
|
66
65
|
return { deps };
|
|
67
66
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/docker-compose/extract.ts"],"names":[],"mappings":";;AA8BA,gDAsDC
|
|
1
|
+
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/docker-compose/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import { isString, isTruthy } from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { newlineRegex, regEx } from '../../../util/regex';\nimport { parseSingleYaml } from '../../../util/yaml';\nimport { getDep } from '../dockerfile/extract';\nimport type { ExtractConfig, PackageFileContent } from '../types';\nimport { DockerComposeFile } from './schema';\n\nclass LineMapper {\n private imageLines: { line: string; lineNumber: number; used: boolean }[];\n\n constructor(content: string, filter: RegExp) {\n this.imageLines = [...content.split(newlineRegex).entries()]\n .filter((entry) => filter.test(entry[1]))\n .map(([lineNumber, line]) => ({ lineNumber, line, used: false }));\n }\n\n pluckLineNumber(imageName: string | undefined): number | null {\n const lineMeta = this.imageLines.find(\n ({ line, used }) => !used && imageName && line.includes(imageName),\n );\n // istanbul ignore if\n if (!lineMeta) {\n return null;\n }\n lineMeta.used = true; // unset plucked lines so duplicates are skipped\n return lineMeta.lineNumber;\n }\n}\n\nexport function extractPackageFile(\n content: string,\n packageFile: string,\n extractConfig: ExtractConfig,\n): PackageFileContent | null {\n logger.debug(`docker-compose.extractPackageFile(${packageFile})`);\n let config: DockerComposeFile;\n try {\n config = parseSingleYaml(content, {\n customSchema: DockerComposeFile,\n removeTemplates: true,\n });\n } catch (err) {\n logger.debug(\n { err, packageFile },\n `Parsing Docker Compose config YAML failed`,\n );\n return null;\n }\n try {\n const lineMapper = new LineMapper(content, regEx(/^\\s*image:/));\n\n // docker-compose v1 places the services at the top level,\n // docker-compose v2+ places the services within a 'services' key\n // since docker-compose spec version 1.27, the 'version' key has\n // become optional and can no longer be used to differentiate\n // between v1 and v2.\n const services = config.services ?? config;\n const extensions = config.extensions ?? {};\n\n // Image name/tags for services are only eligible for update if they don't\n // use variables and if the image is not built locally\n const deps = Object.values(\n services || /* istanbul ignore next: can never happen */ {},\n )\n .concat(Object.values(extensions))\n .filter((service) => isString(service?.image) && !service?.build)\n .map((service) => {\n const dep = getDep(service.image, true, extractConfig.registryAliases);\n const lineNumber = lineMapper.pluckLineNumber(service.image);\n // istanbul ignore if\n if (!lineNumber) {\n return null;\n }\n return dep;\n })\n .filter(isTruthy);\n\n logger.trace({ deps }, 'Docker Compose image');\n return { deps };\n } catch (err) /* istanbul ignore next */ {\n logger.debug({ packageFile, err }, 'Error extracting Docker Compose file');\n return null;\n }\n}\n"]}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DockerComposeFile = void 0;
|
|
4
|
-
const
|
|
5
|
-
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
4
|
+
const is_1 = require("@sindresorhus/is");
|
|
6
5
|
const zod_1 = require("zod");
|
|
7
6
|
const DockerComposeService = zod_1.z.object({
|
|
8
7
|
image: zod_1.z.string().optional(),
|
|
@@ -37,7 +36,7 @@ const DockerComposeFileModern = zod_1.z
|
|
|
37
36
|
for (const key in rest) {
|
|
38
37
|
if (key.startsWith('x-')) {
|
|
39
38
|
const value = rest[key];
|
|
40
|
-
if (is_1.
|
|
39
|
+
if ((0, is_1.isObject)(value) && 'image' in value && (0, is_1.isString)(value.image)) {
|
|
41
40
|
extensions ??= {};
|
|
42
41
|
extensions[key] = { image: value.image };
|
|
43
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/manager/docker-compose/schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/manager/docker-compose/schema.ts"],"names":[],"mappings":";;;AAAA,yCAAsD;AACtD,6BAAwB;AAExB,MAAM,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IACpC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,KAAK,EAAE,OAAC;SACL,KAAK,CAAC;QACL,OAAC,CAAC,MAAM,EAAE;QACV,OAAC,CAAC,MAAM,CAAC;YACP,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC9B,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAClC,CAAC;KACH,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAC3D,MAAM,uBAAuB,GAAG,OAAC;KAC9B,MAAM,CAAC;IACN;;;OAGG;IACH,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC;CACzC,CAAC;IACF,gGAAgG;IAChG,yEAAyE;KACxE,QAAQ,CAAC,OAAC,CAAC,OAAO,EAAE,CAAC;KACrB,SAAS,CACR,CACE,GAAG,EAKH,EAAE;IACF,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;IAE3C,IAAI,UAAyD,CAAC;IAE9D,4CAA4C;IAC5C,6DAA6D;IAC7D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,IAAA,aAAQ,EAAC,KAAK,CAAC,IAAI,OAAO,IAAI,KAAK,IAAI,IAAA,aAAQ,EAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjE,UAAU,KAAK,EAAE,CAAC;gBAClB,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO;QACP,QAAQ;QACR,GAAG,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,CAAC;KAClC,CAAC;AACJ,CAAC,CACF,CAAC;AAES,QAAA,iBAAiB,GAAG,OAAC,CAAC,KAAK,CAAC;IACvC,uBAAuB;IACvB,mBAAmB;CACpB,CAAC,CAAC","sourcesContent":["import { isObject, isString } from '@sindresorhus/is';\nimport { z } from 'zod';\n\nconst DockerComposeService = z.object({\n image: z.string().optional(),\n build: z\n .union([\n z.string(),\n z.object({\n context: z.string().optional(),\n dockerfile: z.string().optional(),\n }),\n ])\n .optional(),\n});\n\nconst DockerComposeFileV1 = z.record(DockerComposeService);\nconst DockerComposeFileModern = z\n .object({\n /**\n * compose does not use this strictly, so we shouldn't be either\n * https://docs.docker.com/compose/compose-file/04-version-and-name/#version-top-level-element\n */\n version: z.string().optional(),\n services: z.record(DockerComposeService),\n })\n // using catchall to capture fields starting with `x-` and collecting them in `extensions` field\n // might need to replace this with something better once zod v4 is stable\n .catchall(z.unknown())\n .transform(\n (\n obj,\n ): {\n version?: string;\n services: Record<string, z.infer<typeof DockerComposeService>>;\n extensions?: Record<string, { image: string }>;\n } => {\n const { version, services, ...rest } = obj;\n\n let extensions: Record<string, { image: string }> | undefined;\n\n // collect extensions which have image field\n // https://docs.docker.com/reference/compose-file/extensions/\n for (const key in rest) {\n if (key.startsWith('x-')) {\n const value = rest[key];\n if (isObject(value) && 'image' in value && isString(value.image)) {\n extensions ??= {};\n extensions[key] = { image: value.image };\n }\n }\n }\n\n return {\n version,\n services,\n ...(extensions && { extensions }),\n };\n },\n );\n\nexport const DockerComposeFile = z.union([\n DockerComposeFileModern,\n DockerComposeFileV1,\n]);\nexport type DockerComposeFile = z.infer<typeof DockerComposeFile>;\n"]}
|
|
@@ -5,7 +5,7 @@ exports.splitImageParts = splitImageParts;
|
|
|
5
5
|
exports.getDep = getDep;
|
|
6
6
|
exports.extractPackageFile = extractPackageFile;
|
|
7
7
|
const tslib_1 = require("tslib");
|
|
8
|
-
const is_1 =
|
|
8
|
+
const is_1 = require("@sindresorhus/is");
|
|
9
9
|
const logger_1 = require("../../../logger");
|
|
10
10
|
const regex_1 = require("../../../util/regex");
|
|
11
11
|
const docker_1 = require("../../datasource/docker");
|
|
@@ -43,9 +43,9 @@ function processDepForAutoReplace(dep, lineNumberRanges, lines, linefeed) {
|
|
|
43
43
|
const lineNumberRangesToReplace = [];
|
|
44
44
|
for (const lineNumberRange of lineNumberRanges) {
|
|
45
45
|
for (const lineNumber of lineNumberRange) {
|
|
46
|
-
if ((is_1.
|
|
46
|
+
if (((0, is_1.isString)(dep.currentValue) &&
|
|
47
47
|
lines[lineNumber].includes(dep.currentValue)) ||
|
|
48
|
-
(is_1.
|
|
48
|
+
((0, is_1.isString)(dep.currentDigest) &&
|
|
49
49
|
lines[lineNumber].includes(dep.currentDigest))) {
|
|
50
50
|
lineNumberRangesToReplace.push(lineNumberRange);
|
|
51
51
|
}
|
|
@@ -120,8 +120,8 @@ function splitImageParts(currentFrom) {
|
|
|
120
120
|
}
|
|
121
121
|
const quayRegex = (0, regex_1.regEx)(/^quay\.io(?::[1-9][0-9]{0,4})?/i);
|
|
122
122
|
function getDep(currentFrom, specifyReplaceString = true, registryAliases) {
|
|
123
|
-
if (!is_1.
|
|
124
|
-
!is_1.
|
|
123
|
+
if (!(0, is_1.isString)(currentFrom) ||
|
|
124
|
+
!(0, is_1.isNonEmptyStringAndNotWhitespace)(currentFrom)) {
|
|
125
125
|
return {
|
|
126
126
|
skipReason: 'invalid-value',
|
|
127
127
|
};
|