renovate 42.4.0 → 42.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/decrypt.js +13 -14
- package/dist/config/decrypt.js.map +1 -1
- package/dist/config/massage.js +6 -7
- package/dist/config/massage.js.map +1 -1
- package/dist/config/migrate-validate.js +3 -3
- package/dist/config/migrate-validate.js.map +1 -1
- package/dist/config/migration.js +19 -20
- package/dist/config/migration.js.map +1 -1
- package/dist/config/migrations/base/abstract-migration.js +5 -6
- package/dist/config/migrations/base/abstract-migration.js.map +1 -1
- package/dist/config/migrations/custom/automerge-major-migration.js +2 -3
- package/dist/config/migrations/custom/automerge-major-migration.js.map +1 -1
- package/dist/config/migrations/custom/automerge-migration.js +4 -5
- package/dist/config/migrations/custom/automerge-migration.js.map +1 -1
- package/dist/config/migrations/custom/automerge-minor-migration.js +2 -3
- package/dist/config/migrations/custom/automerge-minor-migration.js.map +1 -1
- package/dist/config/migrations/custom/automerge-patch-migration.js +2 -3
- package/dist/config/migrations/custom/automerge-patch-migration.js.map +1 -1
- package/dist/config/migrations/custom/automerge-type-migration.js +2 -3
- package/dist/config/migrations/custom/automerge-type-migration.js.map +1 -1
- package/dist/config/migrations/custom/base-branch-migration.js +3 -4
- package/dist/config/migrations/custom/base-branch-migration.js.map +1 -1
- package/dist/config/migrations/custom/branch-name-migration.js +2 -3
- package/dist/config/migrations/custom/branch-name-migration.js.map +1 -1
- package/dist/config/migrations/custom/branch-prefix-migration.js +2 -3
- package/dist/config/migrations/custom/branch-prefix-migration.js.map +1 -1
- package/dist/config/migrations/custom/compatibility-migration.js +2 -3
- package/dist/config/migrations/custom/compatibility-migration.js.map +1 -1
- package/dist/config/migrations/custom/composer-ignore-platform-reqs-migration.js +2 -3
- package/dist/config/migrations/custom/composer-ignore-platform-reqs-migration.js.map +1 -1
- package/dist/config/migrations/custom/custom-managers-migration.js +2 -3
- package/dist/config/migrations/custom/custom-managers-migration.js.map +1 -1
- package/dist/config/migrations/custom/datasource-migration.js +2 -3
- package/dist/config/migrations/custom/datasource-migration.js.map +1 -1
- package/dist/config/migrations/custom/dep-types-migration.js +4 -5
- package/dist/config/migrations/custom/dep-types-migration.js.map +1 -1
- package/dist/config/migrations/custom/enabled-managers-migration.js +2 -3
- package/dist/config/migrations/custom/enabled-managers-migration.js.map +1 -1
- package/dist/config/migrations/custom/extends-migration.js +4 -5
- package/dist/config/migrations/custom/extends-migration.js.map +1 -1
- package/dist/config/migrations/custom/fetch-release-notes-migration.js +2 -3
- package/dist/config/migrations/custom/fetch-release-notes-migration.js.map +1 -1
- package/dist/config/migrations/custom/file-match-migration.js +3 -4
- package/dist/config/migrations/custom/file-match-migration.js.map +1 -1
- package/dist/config/migrations/custom/host-rules-migration.js +6 -7
- package/dist/config/migrations/custom/host-rules-migration.js.map +1 -1
- package/dist/config/migrations/custom/ignore-npmrc-file-migration.js +2 -3
- package/dist/config/migrations/custom/ignore-npmrc-file-migration.js.map +1 -1
- package/dist/config/migrations/custom/include-forks-migration.js +2 -3
- package/dist/config/migrations/custom/include-forks-migration.js.map +1 -1
- package/dist/config/migrations/custom/match-datasources-migration.js +2 -3
- package/dist/config/migrations/custom/match-datasources-migration.js.map +1 -1
- package/dist/config/migrations/custom/match-managers-migration.js +2 -3
- package/dist/config/migrations/custom/match-managers-migration.js.map +1 -1
- package/dist/config/migrations/custom/match-strings-migration.js +2 -3
- package/dist/config/migrations/custom/match-strings-migration.js.map +1 -1
- package/dist/config/migrations/custom/package-files-migration.js +6 -7
- package/dist/config/migrations/custom/package-files-migration.js.map +1 -1
- package/dist/config/migrations/custom/package-rules-migration.js +15 -16
- package/dist/config/migrations/custom/package-rules-migration.js.map +1 -1
- package/dist/config/migrations/custom/packages-migration.js +3 -4
- package/dist/config/migrations/custom/packages-migration.js.map +1 -1
- package/dist/config/migrations/custom/path-rules-migration.js +3 -4
- package/dist/config/migrations/custom/path-rules-migration.js.map +1 -1
- package/dist/config/migrations/custom/pin-versions-migration.js +2 -3
- package/dist/config/migrations/custom/pin-versions-migration.js.map +1 -1
- package/dist/config/migrations/custom/platform-commit-migration.js +2 -3
- package/dist/config/migrations/custom/platform-commit-migration.js.map +1 -1
- package/dist/config/migrations/custom/post-update-options-migration.js +2 -3
- package/dist/config/migrations/custom/post-update-options-migration.js.map +1 -1
- package/dist/config/migrations/custom/rebase-stale-prs-migration.js +2 -3
- package/dist/config/migrations/custom/rebase-stale-prs-migration.js.map +1 -1
- package/dist/config/migrations/custom/recreate-closed-migration.js +2 -3
- package/dist/config/migrations/custom/recreate-closed-migration.js.map +1 -1
- package/dist/config/migrations/custom/renovate-fork-migration.js +2 -3
- package/dist/config/migrations/custom/renovate-fork-migration.js.map +1 -1
- package/dist/config/migrations/custom/schedule-migration.js +4 -4
- package/dist/config/migrations/custom/schedule-migration.js.map +1 -1
- package/dist/config/migrations/custom/semantic-commits-migration.js +2 -3
- package/dist/config/migrations/custom/semantic-commits-migration.js.map +1 -1
- package/dist/config/migrations/custom/semantic-prefix-migration.js +2 -3
- package/dist/config/migrations/custom/semantic-prefix-migration.js.map +1 -1
- package/dist/config/migrations/custom/stability-days-migration.js +2 -3
- package/dist/config/migrations/custom/stability-days-migration.js.map +1 -1
- package/dist/config/migrations/custom/suppress-notifications-migration.js +2 -3
- package/dist/config/migrations/custom/suppress-notifications-migration.js.map +1 -1
- package/dist/config/migrations/custom/unpublish-safe-migration.js +2 -3
- package/dist/config/migrations/custom/unpublish-safe-migration.js.map +1 -1
- package/dist/config/migrations/migrations-service.js +2 -3
- package/dist/config/migrations/migrations-service.js.map +1 -1
- package/dist/config/options/index.js +7 -0
- package/dist/config/options/index.js.map +1 -1
- package/dist/config/presets/github/index.js +2 -3
- package/dist/config/presets/github/index.js.map +1 -1
- package/dist/config/presets/gitlab/index.js +2 -3
- package/dist/config/presets/gitlab/index.js.map +1 -1
- package/dist/config/presets/index.js +8 -8
- package/dist/config/presets/index.js.map +1 -1
- package/dist/config/presets/parse.js +2 -3
- package/dist/config/presets/parse.js.map +1 -1
- package/dist/config/secrets.js +3 -4
- package/dist/config/secrets.js.map +1 -1
- package/dist/config/types.d.ts +1 -0
- package/dist/config/types.js.map +1 -1
- package/dist/config/validation-helpers/match-base-branches.js +2 -3
- package/dist/config/validation-helpers/match-base-branches.js.map +1 -1
- package/dist/config/validation-helpers/regex-glob-matchers.js +2 -3
- package/dist/config/validation-helpers/regex-glob-matchers.js.map +1 -1
- package/dist/config/validation-helpers/utils.js +6 -6
- package/dist/config/validation-helpers/utils.js.map +1 -1
- package/dist/config/validation.js +29 -29
- package/dist/config/validation.js.map +1 -1
- package/dist/instrumentation/reporting.js +7 -8
- package/dist/instrumentation/reporting.js.map +1 -1
- package/dist/instrumentation/utils.js +2 -3
- package/dist/instrumentation/utils.js.map +1 -1
- package/dist/logger/err-serializer.js +2 -2
- package/dist/logger/err-serializer.js.map +1 -1
- package/dist/logger/index.js +3 -3
- package/dist/logger/index.js.map +1 -1
- package/dist/logger/renovate-logger.js +4 -5
- package/dist/logger/renovate-logger.js.map +1 -1
- package/dist/logger/utils.js +19 -19
- package/dist/logger/utils.js.map +1 -1
- package/dist/modules/datasource/aws-eks-addon/index.js +2 -2
- package/dist/modules/datasource/aws-eks-addon/index.js.map +1 -1
- package/dist/modules/datasource/bazel/index.js +2 -2
- package/dist/modules/datasource/bazel/index.js.map +1 -1
- package/dist/modules/datasource/bitrise/index.js +2 -2
- package/dist/modules/datasource/bitrise/index.js.map +1 -1
- package/dist/modules/datasource/common.js +4 -4
- package/dist/modules/datasource/common.js.map +1 -1
- package/dist/modules/datasource/conan/index.js +3 -3
- package/dist/modules/datasource/conan/index.js.map +1 -1
- package/dist/modules/datasource/custom/formats/html.js +2 -5
- package/dist/modules/datasource/custom/formats/html.js.map +1 -1
- package/dist/modules/datasource/custom/index.js +2 -3
- package/dist/modules/datasource/custom/index.js.map +1 -1
- package/dist/modules/datasource/custom/utils.js +4 -4
- package/dist/modules/datasource/custom/utils.js.map +1 -1
- package/dist/modules/datasource/dart-version/index.js +2 -3
- package/dist/modules/datasource/dart-version/index.js.map +1 -1
- package/dist/modules/datasource/deno/index.js +2 -2
- package/dist/modules/datasource/deno/index.js.map +1 -1
- package/dist/modules/datasource/docker/common.js +5 -5
- package/dist/modules/datasource/docker/common.js.map +1 -1
- package/dist/modules/datasource/docker/index.js +6 -6
- package/dist/modules/datasource/docker/index.js.map +1 -1
- package/dist/modules/datasource/endoflife-date/index.js +2 -2
- package/dist/modules/datasource/endoflife-date/index.js.map +1 -1
- package/dist/modules/datasource/galaxy/index.js +2 -2
- package/dist/modules/datasource/galaxy/index.js.map +1 -1
- package/dist/modules/datasource/galaxy-collection/index.js +2 -2
- package/dist/modules/datasource/galaxy-collection/index.js.map +1 -1
- package/dist/modules/datasource/git-refs/base.js +2 -2
- package/dist/modules/datasource/git-refs/base.js.map +1 -1
- package/dist/modules/datasource/github-release-attachments/index.js +2 -2
- package/dist/modules/datasource/github-release-attachments/index.js.map +1 -1
- package/dist/modules/datasource/github-releases/index.js +2 -3
- package/dist/modules/datasource/github-releases/index.js.map +1 -1
- package/dist/modules/datasource/github-tags/index.js +2 -3
- package/dist/modules/datasource/github-tags/index.js.map +1 -1
- package/dist/modules/datasource/go/goproxy-parser.js +3 -3
- package/dist/modules/datasource/go/goproxy-parser.js.map +1 -1
- package/dist/modules/datasource/go/index.js +2 -2
- package/dist/modules/datasource/go/index.js.map +1 -1
- package/dist/modules/datasource/go/releases-goproxy.js +3 -3
- package/dist/modules/datasource/go/releases-goproxy.js.map +1 -1
- package/dist/modules/datasource/hackage/index.js +2 -2
- package/dist/modules/datasource/hackage/index.js.map +1 -1
- package/dist/modules/datasource/hex/schema.js +2 -3
- package/dist/modules/datasource/hex/schema.js.map +1 -1
- package/dist/modules/datasource/hexpm-bob/index.js +2 -2
- package/dist/modules/datasource/hexpm-bob/index.js.map +1 -1
- package/dist/modules/datasource/index.js +14 -14
- package/dist/modules/datasource/index.js.map +1 -1
- package/dist/modules/datasource/jsr/index.js +2 -2
- package/dist/modules/datasource/jsr/index.js.map +1 -1
- package/dist/modules/datasource/jsr/util.js +3 -4
- package/dist/modules/datasource/jsr/util.js.map +1 -1
- package/dist/modules/datasource/metadata.js +5 -5
- package/dist/modules/datasource/metadata.js.map +1 -1
- package/dist/modules/datasource/npm/get.js +2 -2
- package/dist/modules/datasource/npm/get.js.map +1 -1
- package/dist/modules/datasource/npm/npmrc.js +7 -7
- package/dist/modules/datasource/npm/npmrc.js.map +1 -1
- package/dist/modules/datasource/nuget/v3.js +2 -2
- package/dist/modules/datasource/nuget/v3.js.map +1 -1
- package/dist/modules/datasource/packagist/index.js +2 -2
- package/dist/modules/datasource/packagist/index.js.map +1 -1
- package/dist/modules/datasource/packagist/schema.js +3 -4
- package/dist/modules/datasource/packagist/schema.js.map +1 -1
- package/dist/modules/datasource/pypi/index.js +2 -2
- package/dist/modules/datasource/pypi/index.js.map +1 -1
- package/dist/modules/datasource/repology/index.js +3 -3
- package/dist/modules/datasource/repology/index.js.map +1 -1
- package/dist/modules/datasource/rubygems/schema.js +5 -6
- package/dist/modules/datasource/rubygems/schema.js.map +1 -1
- package/dist/modules/datasource/util.js +2 -3
- package/dist/modules/datasource/util.js.map +1 -1
- package/dist/modules/manager/argocd/extract.js +3 -4
- package/dist/modules/manager/argocd/extract.js.map +1 -1
- package/dist/modules/manager/asdf/extract.js +2 -3
- package/dist/modules/manager/asdf/extract.js.map +1 -1
- package/dist/modules/manager/bazel/artifacts.js +2 -2
- package/dist/modules/manager/bazel/artifacts.js.map +1 -1
- package/dist/modules/manager/bazel/common.js +4 -5
- package/dist/modules/manager/bazel/common.js.map +1 -1
- package/dist/modules/manager/bazel/rules/http.js +3 -4
- package/dist/modules/manager/bazel/rules/http.js.map +1 -1
- package/dist/modules/manager/bazel/rules/maven.js +2 -3
- package/dist/modules/manager/bazel/rules/maven.js.map +1 -1
- package/dist/modules/manager/bazel-module/parser/starlark.js +2 -3
- package/dist/modules/manager/bazel-module/parser/starlark.js.map +1 -1
- package/dist/modules/manager/bazel-module/rules.js +3 -3
- package/dist/modules/manager/bazel-module/rules.js.map +1 -1
- package/dist/modules/manager/bitrise/utils.js +3 -4
- package/dist/modules/manager/bitrise/utils.js.map +1 -1
- package/dist/modules/manager/buildpacks/extract.js +2 -3
- package/dist/modules/manager/buildpacks/extract.js.map +1 -1
- package/dist/modules/manager/bun/artifacts.js +2 -2
- package/dist/modules/manager/bun/artifacts.js.map +1 -1
- package/dist/modules/manager/bun/extract.js +2 -3
- package/dist/modules/manager/bun/extract.js.map +1 -1
- package/dist/modules/manager/bundler/artifacts.js +3 -3
- package/dist/modules/manager/bundler/artifacts.js.map +1 -1
- package/dist/modules/manager/bundler/extract.js +5 -6
- package/dist/modules/manager/bundler/extract.js.map +1 -1
- package/dist/modules/manager/cargo/extract.js +3 -4
- package/dist/modules/manager/cargo/extract.js.map +1 -1
- package/dist/modules/manager/composer/artifacts.js +3 -3
- package/dist/modules/manager/composer/artifacts.js.map +1 -1
- package/dist/modules/manager/composer/utils.js +3 -4
- package/dist/modules/manager/composer/utils.js.map +1 -1
- package/dist/modules/manager/conan/extract.js +2 -3
- package/dist/modules/manager/conan/extract.js.map +1 -1
- package/dist/modules/manager/copier/utils.js +3 -4
- package/dist/modules/manager/copier/utils.js.map +1 -1
- package/dist/modules/manager/crow/extract.js +2 -3
- package/dist/modules/manager/crow/extract.js.map +1 -1
- package/dist/modules/manager/custom/jsonata/index.js +2 -3
- package/dist/modules/manager/custom/jsonata/index.js.map +1 -1
- package/dist/modules/manager/custom/jsonata/utils.js +3 -3
- package/dist/modules/manager/custom/jsonata/utils.js.map +1 -1
- package/dist/modules/manager/custom/regex/index.js +2 -3
- package/dist/modules/manager/custom/regex/index.js.map +1 -1
- package/dist/modules/manager/custom/regex/strategies.js +4 -5
- package/dist/modules/manager/custom/regex/strategies.js.map +1 -1
- package/dist/modules/manager/custom/regex/utils.js +2 -2
- package/dist/modules/manager/custom/regex/utils.js.map +1 -1
- package/dist/modules/manager/custom/utils.js +6 -7
- package/dist/modules/manager/custom/utils.js.map +1 -1
- package/dist/modules/manager/deps-edn/extract.js +13 -14
- package/dist/modules/manager/deps-edn/extract.js.map +1 -1
- package/dist/modules/manager/deps-edn/parser.js +2 -2
- package/dist/modules/manager/deps-edn/parser.js.map +1 -1
- package/dist/modules/manager/devbox/artifacts.js +2 -2
- package/dist/modules/manager/devbox/artifacts.js.map +1 -1
- package/dist/modules/manager/docker-compose/extract.js +3 -4
- package/dist/modules/manager/docker-compose/extract.js.map +1 -1
- package/dist/modules/manager/docker-compose/schema.js +2 -3
- package/dist/modules/manager/docker-compose/schema.js.map +1 -1
- package/dist/modules/manager/dockerfile/extract.js +5 -5
- package/dist/modules/manager/dockerfile/extract.js.map +1 -1
- package/dist/modules/manager/fingerprint.generated.js +5 -5
- package/dist/modules/manager/fingerprint.generated.js.map +1 -1
- package/dist/modules/manager/fleet/extract.js +2 -3
- package/dist/modules/manager/fleet/extract.js.map +1 -1
- package/dist/modules/manager/flux/extract.js +2 -3
- package/dist/modules/manager/flux/extract.js.map +1 -1
- package/dist/modules/manager/glasskube/extract.js +2 -3
- package/dist/modules/manager/glasskube/extract.js.map +1 -1
- package/dist/modules/manager/gleam/artifacts.js +3 -4
- package/dist/modules/manager/gleam/artifacts.js.map +1 -1
- package/dist/modules/manager/gomod/artifacts.js +2 -2
- package/dist/modules/manager/gomod/artifacts.js.map +1 -1
- package/dist/modules/manager/gradle/artifacts.js +2 -2
- package/dist/modules/manager/gradle/artifacts.js.map +1 -1
- package/dist/modules/manager/gradle/extract/catalog.js +5 -5
- package/dist/modules/manager/gradle/extract/catalog.js.map +1 -1
- package/dist/modules/manager/gradle-wrapper/artifacts.js +2 -2
- package/dist/modules/manager/gradle-wrapper/artifacts.js.map +1 -1
- package/dist/modules/manager/helm-requirements/extract.js +2 -3
- package/dist/modules/manager/helm-requirements/extract.js.map +1 -1
- package/dist/modules/manager/helmfile/artifacts.js +2 -3
- package/dist/modules/manager/helmfile/artifacts.js.map +1 -1
- package/dist/modules/manager/helmfile/extract.js +4 -5
- package/dist/modules/manager/helmfile/extract.js.map +1 -1
- package/dist/modules/manager/helmsman/extract.js +4 -5
- package/dist/modules/manager/helmsman/extract.js.map +1 -1
- package/dist/modules/manager/helmv3/artifacts.js +4 -4
- package/dist/modules/manager/helmv3/artifacts.js.map +1 -1
- package/dist/modules/manager/helmv3/extract.js +4 -5
- package/dist/modules/manager/helmv3/extract.js.map +1 -1
- package/dist/modules/manager/helmv3/oci.js +3 -4
- package/dist/modules/manager/helmv3/oci.js.map +1 -1
- package/dist/modules/manager/jenkins/extract.js +3 -3
- package/dist/modules/manager/jenkins/extract.js.map +1 -1
- package/dist/modules/manager/kotlin-script/extract.js +3 -4
- package/dist/modules/manager/kotlin-script/extract.js.map +1 -1
- package/dist/modules/manager/kubernetes/extract.js +4 -4
- package/dist/modules/manager/kubernetes/extract.js.map +1 -1
- package/dist/modules/manager/kustomize/artifacts.js +8 -8
- package/dist/modules/manager/kustomize/artifacts.js.map +1 -1
- package/dist/modules/manager/kustomize/extract.js +8 -8
- package/dist/modules/manager/kustomize/extract.js.map +1 -1
- package/dist/modules/manager/maven/extract.js +4 -4
- package/dist/modules/manager/maven/extract.js.map +1 -1
- package/dist/modules/manager/maven/update.js +2 -2
- package/dist/modules/manager/maven/update.js.map +1 -1
- package/dist/modules/manager/maven-wrapper/artifacts.js +2 -2
- package/dist/modules/manager/maven-wrapper/artifacts.js.map +1 -1
- package/dist/modules/manager/mise/backends.js +9 -10
- package/dist/modules/manager/mise/backends.js.map +1 -1
- package/dist/modules/manager/mise/extract.js +7 -8
- package/dist/modules/manager/mise/extract.js.map +1 -1
- package/dist/modules/manager/mix/artifacts.js +3 -3
- package/dist/modules/manager/mix/artifacts.js.map +1 -1
- package/dist/modules/manager/nix/artifacts.js +2 -2
- package/dist/modules/manager/nix/artifacts.js.map +1 -1
- package/dist/modules/manager/npm/detect.js +2 -2
- package/dist/modules/manager/npm/detect.js.map +1 -1
- package/dist/modules/manager/npm/extract/common/dependency.js +2 -2
- package/dist/modules/manager/npm/extract/common/dependency.js.map +1 -1
- package/dist/modules/manager/npm/extract/common/overrides.js +3 -4
- package/dist/modules/manager/npm/extract/common/overrides.js.map +1 -1
- package/dist/modules/manager/npm/extract/common/package-file.js +8 -9
- package/dist/modules/manager/npm/extract/common/package-file.js.map +1 -1
- package/dist/modules/manager/npm/extract/index.js +10 -10
- package/dist/modules/manager/npm/extract/index.js.map +1 -1
- package/dist/modules/manager/npm/extract/pnpm.js +7 -7
- package/dist/modules/manager/npm/extract/pnpm.js.map +1 -1
- package/dist/modules/manager/npm/extract/post/locked-versions.js +3 -3
- package/dist/modules/manager/npm/extract/post/locked-versions.js.map +1 -1
- package/dist/modules/manager/npm/extract/post/monorepo.js +3 -4
- package/dist/modules/manager/npm/extract/post/monorepo.js.map +1 -1
- package/dist/modules/manager/npm/extract/yarn.js +2 -3
- package/dist/modules/manager/npm/extract/yarn.js.map +1 -1
- package/dist/modules/manager/npm/extract/yarnrc.js +2 -3
- package/dist/modules/manager/npm/extract/yarnrc.js.map +1 -1
- package/dist/modules/manager/npm/post-update/index.js +6 -6
- package/dist/modules/manager/npm/post-update/index.js.map +1 -1
- package/dist/modules/manager/npm/post-update/npm.js +4 -4
- package/dist/modules/manager/npm/post-update/npm.js.map +1 -1
- package/dist/modules/manager/npm/post-update/pnpm.js +3 -3
- package/dist/modules/manager/npm/post-update/pnpm.js.map +1 -1
- package/dist/modules/manager/npm/post-update/rules.js +2 -2
- package/dist/modules/manager/npm/post-update/rules.js.map +1 -1
- package/dist/modules/manager/npm/post-update/utils.js +2 -2
- package/dist/modules/manager/npm/post-update/utils.js.map +1 -1
- package/dist/modules/manager/npm/post-update/yarn.js +3 -3
- package/dist/modules/manager/npm/post-update/yarn.js.map +1 -1
- package/dist/modules/manager/npm/update/dependency/index.js +2 -3
- package/dist/modules/manager/npm/update/dependency/index.js.map +1 -1
- package/dist/modules/manager/npm/update/dependency/pnpm.js +2 -3
- package/dist/modules/manager/npm/update/dependency/pnpm.js.map +1 -1
- package/dist/modules/manager/npm/update/dependency/yarn.js +3 -4
- package/dist/modules/manager/npm/update/dependency/yarn.js.map +1 -1
- package/dist/modules/manager/nuget/config-formatter.js +2 -2
- package/dist/modules/manager/nuget/config-formatter.js.map +1 -1
- package/dist/modules/manager/nuget/extract.js +4 -4
- package/dist/modules/manager/nuget/extract.js.map +1 -1
- package/dist/modules/manager/nuget/package-tree.js +2 -2
- package/dist/modules/manager/nuget/package-tree.js.map +1 -1
- package/dist/modules/manager/ocb/extract.js +2 -3
- package/dist/modules/manager/ocb/extract.js.map +1 -1
- package/dist/modules/manager/osgi/extract.js +4 -4
- package/dist/modules/manager/osgi/extract.js.map +1 -1
- package/dist/modules/manager/pep621/artifacts.js +3 -4
- package/dist/modules/manager/pep621/artifacts.js.map +1 -1
- package/dist/modules/manager/pep621/processors/uv.js +2 -3
- package/dist/modules/manager/pep621/processors/uv.js.map +1 -1
- package/dist/modules/manager/pep621/utils.js +8 -10
- package/dist/modules/manager/pep621/utils.js.map +1 -1
- package/dist/modules/manager/pep723/schema.js +2 -3
- package/dist/modules/manager/pep723/schema.js.map +1 -1
- package/dist/modules/manager/pip-compile/common.js +3 -3
- package/dist/modules/manager/pip-compile/common.js.map +1 -1
- package/dist/modules/manager/pip_requirements/artifacts.js +2 -3
- package/dist/modules/manager/pip_requirements/artifacts.js.map +1 -1
- package/dist/modules/manager/pip_requirements/extract.js +2 -3
- package/dist/modules/manager/pip_requirements/extract.js.map +1 -1
- package/dist/modules/manager/pipenv/artifacts.js +3 -4
- package/dist/modules/manager/pipenv/artifacts.js.map +1 -1
- package/dist/modules/manager/pipenv/extract.js +6 -7
- package/dist/modules/manager/pipenv/extract.js.map +1 -1
- package/dist/modules/manager/pixi/artifacts.js +2 -3
- package/dist/modules/manager/pixi/artifacts.js.map +1 -1
- package/dist/modules/manager/pixi/extract.js +2 -3
- package/dist/modules/manager/pixi/extract.js.map +1 -1
- package/dist/modules/manager/poetry/artifacts.js +4 -5
- package/dist/modules/manager/poetry/artifacts.js.map +1 -1
- package/dist/modules/manager/poetry/extract.js +2 -3
- package/dist/modules/manager/poetry/extract.js.map +1 -1
- package/dist/modules/manager/pre-commit/extract.js +4 -5
- package/dist/modules/manager/pre-commit/extract.js.map +1 -1
- package/dist/modules/manager/pub/artifacts.js +3 -4
- package/dist/modules/manager/pub/artifacts.js.map +1 -1
- package/dist/modules/manager/pub/extract.js +8 -11
- package/dist/modules/manager/pub/extract.js.map +1 -1
- package/dist/modules/manager/renovate-config-presets/extract.js +4 -5
- package/dist/modules/manager/renovate-config-presets/extract.js.map +1 -1
- package/dist/modules/manager/tekton/extract.js +9 -10
- package/dist/modules/manager/tekton/extract.js.map +1 -1
- package/dist/modules/manager/terraform/base.js +2 -3
- package/dist/modules/manager/terraform/base.js.map +1 -1
- package/dist/modules/manager/terraform/extract.js +2 -2
- package/dist/modules/manager/terraform/extract.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/others/modules.js +3 -4
- package/dist/modules/manager/terraform/extractors/others/modules.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/others/providers.js +3 -4
- package/dist/modules/manager/terraform/extractors/others/providers.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.js +7 -8
- package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/resources/helm-release.js +5 -6
- package/dist/modules/manager/terraform/extractors/resources/helm-release.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/resources/terraform-workspace.js +3 -4
- package/dist/modules/manager/terraform/extractors/resources/terraform-workspace.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/terraform-block/required-provider.js +4 -5
- package/dist/modules/manager/terraform/extractors/terraform-block/required-provider.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/terraform-block/terraform-version.js +3 -3
- package/dist/modules/manager/terraform/extractors/terraform-block/terraform-version.js.map +1 -1
- package/dist/modules/manager/terraform/lockfile/index.js +2 -2
- package/dist/modules/manager/terraform/lockfile/index.js.map +1 -1
- package/dist/modules/manager/terraform/lockfile/util.js +2 -3
- package/dist/modules/manager/terraform/lockfile/util.js.map +1 -1
- package/dist/modules/manager/terraform/util.js +2 -3
- package/dist/modules/manager/terraform/util.js.map +1 -1
- package/dist/modules/manager/tflint-plugin/plugins.js +2 -3
- package/dist/modules/manager/tflint-plugin/plugins.js.map +1 -1
- package/dist/modules/manager/travis/extract.js +5 -6
- package/dist/modules/manager/travis/extract.js.map +1 -1
- package/dist/modules/manager/woodpecker/extract.js +2 -3
- package/dist/modules/manager/woodpecker/extract.js.map +1 -1
- package/dist/modules/platform/azure/index.js +2 -2
- package/dist/modules/platform/azure/index.js.map +1 -1
- package/dist/modules/platform/bitbucket/index.js +5 -5
- package/dist/modules/platform/bitbucket/index.js.map +1 -1
- package/dist/modules/platform/bitbucket-server/pr-cache.js +2 -2
- package/dist/modules/platform/bitbucket-server/pr-cache.js.map +1 -1
- package/dist/modules/platform/bitbucket-server/utils.js +2 -2
- package/dist/modules/platform/bitbucket-server/utils.js.map +1 -1
- package/dist/modules/platform/codecommit/codecommit-client.js +2 -2
- package/dist/modules/platform/codecommit/codecommit-client.js.map +1 -1
- package/dist/modules/platform/forgejo/index.js +5 -5
- package/dist/modules/platform/forgejo/index.js.map +1 -1
- package/dist/modules/platform/forgejo/utils.js +2 -2
- package/dist/modules/platform/forgejo/utils.js.map +1 -1
- package/dist/modules/platform/gitea/index.js +5 -5
- package/dist/modules/platform/gitea/index.js.map +1 -1
- package/dist/modules/platform/gitea/utils.js +2 -2
- package/dist/modules/platform/gitea/utils.js.map +1 -1
- package/dist/modules/platform/github/common.js +4 -5
- package/dist/modules/platform/github/common.js.map +1 -1
- package/dist/modules/platform/github/index.js +5 -5
- package/dist/modules/platform/github/index.js.map +1 -1
- package/dist/modules/platform/github/pr.js +2 -3
- package/dist/modules/platform/github/pr.js.map +1 -1
- package/dist/modules/platform/gitlab/http.js +2 -3
- package/dist/modules/platform/gitlab/http.js.map +1 -1
- package/dist/modules/platform/gitlab/index.js +3 -3
- package/dist/modules/platform/gitlab/index.js.map +1 -1
- package/dist/modules/platform/gitlab/utils.js +3 -3
- package/dist/modules/platform/gitlab/utils.js.map +1 -1
- package/dist/modules/platform/pr-body.js +2 -3
- package/dist/modules/platform/pr-body.js.map +1 -1
- package/dist/modules/versioning/composer/index.js +2 -3
- package/dist/modules/versioning/composer/index.js.map +1 -1
- package/dist/modules/versioning/generic.js +5 -6
- package/dist/modules/versioning/generic.js.map +1 -1
- package/dist/modules/versioning/gradle/compare.js +3 -4
- package/dist/modules/versioning/gradle/compare.js.map +1 -1
- package/dist/modules/versioning/nixpkgs/index.js +6 -7
- package/dist/modules/versioning/nixpkgs/index.js.map +1 -1
- package/dist/modules/versioning/npm/range.js +2 -2
- package/dist/modules/versioning/npm/range.js.map +1 -1
- package/dist/modules/versioning/rpm/index.js +4 -5
- package/dist/modules/versioning/rpm/index.js.map +1 -1
- package/dist/modules/versioning/schema.js +2 -2
- package/dist/modules/versioning/schema.js.map +1 -1
- package/dist/modules/versioning/semver-coerced/index.js +3 -3
- package/dist/modules/versioning/semver-coerced/index.js.map +1 -1
- package/dist/modules/versioning/semver-partial/index.js +4 -4
- package/dist/modules/versioning/semver-partial/index.js.map +1 -1
- package/dist/proxy.js +3 -4
- package/dist/proxy.js.map +1 -1
- package/dist/util/array.js +4 -5
- package/dist/util/array.js.map +1 -1
- package/dist/util/assign-keys.js +2 -3
- package/dist/util/assign-keys.js.map +1 -1
- package/dist/util/cache/package/decorator.js +6 -6
- package/dist/util/cache/package/decorator.js.map +1 -1
- package/dist/util/cache/package/ttl.js +4 -5
- package/dist/util/cache/package/ttl.js.map +1 -1
- package/dist/util/cache/repository/impl/base.js +3 -4
- package/dist/util/cache/repository/impl/base.js.map +1 -1
- package/dist/util/cache/repository/impl/s3.js +2 -3
- package/dist/util/cache/repository/impl/s3.js.map +1 -1
- package/dist/util/exec/common.js +2 -3
- package/dist/util/exec/common.js.map +1 -1
- package/dist/util/exec/containerbase.js +2 -2
- package/dist/util/exec/containerbase.js.map +1 -1
- package/dist/util/exec/docker/index.js +5 -5
- package/dist/util/exec/docker/index.js.map +1 -1
- package/dist/util/exec/index.js +2 -2
- package/dist/util/exec/index.js.map +1 -1
- package/dist/util/exec/utils.js +3 -4
- package/dist/util/exec/utils.js.map +1 -1
- package/dist/util/filter-map.js +2 -3
- package/dist/util/filter-map.js.map +1 -1
- package/dist/util/fs/index.js +3 -3
- package/dist/util/fs/index.js.map +1 -1
- package/dist/util/git/auth.js +2 -3
- package/dist/util/git/auth.js.map +1 -1
- package/dist/util/git/config.js +3 -4
- package/dist/util/git/config.js.map +1 -1
- package/dist/util/git/index.js +4 -4
- package/dist/util/git/index.js.map +1 -1
- package/dist/util/git/private-key.js +2 -2
- package/dist/util/git/private-key.js.map +1 -1
- package/dist/util/host-rules.js +6 -6
- package/dist/util/host-rules.js.map +1 -1
- package/dist/util/http/auth.js +3 -4
- package/dist/util/http/auth.js.map +1 -1
- package/dist/util/http/bitbucket-server.js +2 -3
- package/dist/util/http/bitbucket-server.js.map +1 -1
- package/dist/util/http/bitbucket.js +3 -4
- package/dist/util/http/bitbucket.js.map +1 -1
- package/dist/util/http/cache/package-http-cache-provider.js +2 -2
- package/dist/util/http/cache/package-http-cache-provider.js.map +1 -1
- package/dist/util/http/forgejo.js +3 -4
- package/dist/util/http/forgejo.js.map +1 -1
- package/dist/util/http/gitea.js +3 -4
- package/dist/util/http/gitea.js.map +1 -1
- package/dist/util/http/github.js +10 -10
- package/dist/util/http/github.js.map +1 -1
- package/dist/util/http/gitlab.js +4 -5
- package/dist/util/http/gitlab.js.map +1 -1
- package/dist/util/http/host-rules.js +10 -10
- package/dist/util/http/host-rules.js.map +1 -1
- package/dist/util/http/http.js +5 -5
- package/dist/util/http/http.js.map +1 -1
- package/dist/util/http/rate-limits.js +3 -3
- package/dist/util/http/rate-limits.js.map +1 -1
- package/dist/util/interpolator.js +8 -9
- package/dist/util/interpolator.js.map +1 -1
- package/dist/util/merge-confidence/index.js +5 -5
- package/dist/util/merge-confidence/index.js.map +1 -1
- package/dist/util/number.js +2 -3
- package/dist/util/number.js.map +1 -1
- package/dist/util/package-rules/base-branches.js +3 -4
- package/dist/util/package-rules/base-branches.js.map +1 -1
- package/dist/util/package-rules/categories.js +3 -4
- package/dist/util/package-rules/categories.js.map +1 -1
- package/dist/util/package-rules/current-age.js +3 -4
- package/dist/util/package-rules/current-age.js.map +1 -1
- package/dist/util/package-rules/current-value.js +2 -3
- package/dist/util/package-rules/current-value.js.map +1 -1
- package/dist/util/package-rules/current-version.js +5 -5
- package/dist/util/package-rules/current-version.js.map +1 -1
- package/dist/util/package-rules/datasources.js +3 -4
- package/dist/util/package-rules/datasources.js.map +1 -1
- package/dist/util/package-rules/dep-names.js +3 -4
- package/dist/util/package-rules/dep-names.js.map +1 -1
- package/dist/util/package-rules/dep-types.js +2 -3
- package/dist/util/package-rules/dep-types.js.map +1 -1
- package/dist/util/package-rules/files.js +4 -5
- package/dist/util/package-rules/files.js.map +1 -1
- package/dist/util/package-rules/index.js +6 -6
- package/dist/util/package-rules/index.js.map +1 -1
- package/dist/util/package-rules/managers.js +3 -4
- package/dist/util/package-rules/managers.js.map +1 -1
- package/dist/util/package-rules/merge-confidence.js +5 -6
- package/dist/util/package-rules/merge-confidence.js.map +1 -1
- package/dist/util/package-rules/new-value.js +2 -3
- package/dist/util/package-rules/new-value.js.map +1 -1
- package/dist/util/package-rules/package-names.js +2 -3
- package/dist/util/package-rules/package-names.js.map +1 -1
- package/dist/util/package-rules/repositories.js +3 -4
- package/dist/util/package-rules/repositories.js.map +1 -1
- package/dist/util/package-rules/sourceurls.js +2 -3
- package/dist/util/package-rules/sourceurls.js.map +1 -1
- package/dist/util/package-rules/update-types.js +2 -3
- package/dist/util/package-rules/update-types.js.map +1 -1
- package/dist/util/pretty-time.js +4 -4
- package/dist/util/pretty-time.js.map +1 -1
- package/dist/util/regex.js +2 -3
- package/dist/util/regex.js.map +1 -1
- package/dist/util/s3.js +2 -3
- package/dist/util/s3.js.map +1 -1
- package/dist/util/sanitize.js +2 -3
- package/dist/util/sanitize.js.map +1 -1
- package/dist/util/string-match.js +2 -3
- package/dist/util/string-match.js.map +1 -1
- package/dist/util/template/index.js +6 -6
- package/dist/util/template/index.js.map +1 -1
- package/dist/util/url.js +5 -5
- package/dist/util/url.js.map +1 -1
- package/dist/workers/global/autodiscover.js +3 -4
- package/dist/workers/global/autodiscover.js.map +1 -1
- package/dist/workers/global/config/parse/additional-config-file.js +4 -4
- package/dist/workers/global/config/parse/additional-config-file.js.map +1 -1
- package/dist/workers/global/config/parse/coersions.js +2 -2
- package/dist/workers/global/config/parse/coersions.js.map +1 -1
- package/dist/workers/global/config/parse/env.js +2 -2
- package/dist/workers/global/config/parse/env.js.map +1 -1
- package/dist/workers/global/config/parse/file.js +5 -5
- package/dist/workers/global/config/parse/file.js.map +1 -1
- package/dist/workers/global/config/parse/index.js +6 -7
- package/dist/workers/global/config/parse/index.js.map +1 -1
- package/dist/workers/global/config/parse/util.js +2 -2
- package/dist/workers/global/config/parse/util.js.map +1 -1
- package/dist/workers/global/index.js +5 -5
- package/dist/workers/global/index.js.map +1 -1
- package/dist/workers/global/limits.js +6 -7
- package/dist/workers/global/limits.js.map +1 -1
- package/dist/workers/repository/config-migration/branch/index.js +2 -3
- package/dist/workers/repository/config-migration/branch/index.js.map +1 -1
- package/dist/workers/repository/config-migration/branch/migrated-data.js +2 -2
- package/dist/workers/repository/config-migration/branch/migrated-data.js.map +1 -1
- package/dist/workers/repository/config-migration/pr/index.js +3 -3
- package/dist/workers/repository/config-migration/pr/index.js.map +1 -1
- package/dist/workers/repository/dependency-dashboard.js +10 -10
- package/dist/workers/repository/dependency-dashboard.js.map +1 -1
- package/dist/workers/repository/error.js +6 -1
- package/dist/workers/repository/error.js.map +1 -1
- package/dist/workers/repository/extract/index.js +2 -3
- package/dist/workers/repository/extract/index.js.map +1 -1
- package/dist/workers/repository/extract/manager-files.js +2 -3
- package/dist/workers/repository/extract/manager-files.js.map +1 -1
- package/dist/workers/repository/extract/supersedes.js +4 -5
- package/dist/workers/repository/extract/supersedes.js.map +1 -1
- package/dist/workers/repository/finalize/prune.js +2 -3
- package/dist/workers/repository/finalize/prune.js.map +1 -1
- package/dist/workers/repository/init/inherited.js +5 -5
- package/dist/workers/repository/init/inherited.js.map +1 -1
- package/dist/workers/repository/init/merge.js +13 -13
- package/dist/workers/repository/init/merge.js.map +1 -1
- package/dist/workers/repository/model/commit-message.js +2 -3
- package/dist/workers/repository/model/commit-message.js.map +1 -1
- package/dist/workers/repository/onboarding/branch/index.js +2 -3
- package/dist/workers/repository/onboarding/branch/index.js.map +1 -1
- package/dist/workers/repository/onboarding/branch/onboarding-branch-cache.js +5 -6
- package/dist/workers/repository/onboarding/branch/onboarding-branch-cache.js.map +1 -1
- package/dist/workers/repository/onboarding/pr/config-description.js +2 -5
- package/dist/workers/repository/onboarding/pr/config-description.js.map +1 -1
- package/dist/workers/repository/onboarding/pr/index.js +3 -3
- package/dist/workers/repository/onboarding/pr/index.js.map +1 -1
- package/dist/workers/repository/package-files.js +8 -9
- package/dist/workers/repository/package-files.js.map +1 -1
- package/dist/workers/repository/process/extract-update.js +2 -2
- package/dist/workers/repository/process/extract-update.js.map +1 -1
- package/dist/workers/repository/process/fetch.js +3 -3
- package/dist/workers/repository/process/fetch.js.map +1 -1
- package/dist/workers/repository/process/lookup/current.js +2 -3
- package/dist/workers/repository/process/lookup/current.js.map +1 -1
- package/dist/workers/repository/process/lookup/filter-checks.js +4 -5
- package/dist/workers/repository/process/lookup/filter-checks.js.map +1 -1
- package/dist/workers/repository/process/lookup/generate.js +2 -3
- package/dist/workers/repository/process/lookup/generate.js.map +1 -1
- package/dist/workers/repository/process/lookup/index.js +15 -16
- package/dist/workers/repository/process/lookup/index.js.map +1 -1
- package/dist/workers/repository/process/lookup/utils.js +7 -7
- package/dist/workers/repository/process/lookup/utils.js.map +1 -1
- package/dist/workers/repository/process/vulnerabilities.js +11 -11
- package/dist/workers/repository/process/vulnerabilities.js.map +1 -1
- package/dist/workers/repository/process/write.js +2 -3
- package/dist/workers/repository/process/write.js.map +1 -1
- package/dist/workers/repository/reconfigure/comment.js +2 -5
- package/dist/workers/repository/reconfigure/comment.js.map +1 -1
- package/dist/workers/repository/reconfigure/utils.js +2 -3
- package/dist/workers/repository/reconfigure/utils.js.map +1 -1
- package/dist/workers/repository/reconfigure/validate.js +2 -3
- package/dist/workers/repository/reconfigure/validate.js.map +1 -1
- package/dist/workers/repository/update/branch/auto-replace.js +4 -5
- package/dist/workers/repository/update/branch/auto-replace.js.map +1 -1
- package/dist/workers/repository/update/branch/commit.js +3 -4
- package/dist/workers/repository/update/branch/commit.js.map +1 -1
- package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js +12 -5
- package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js.map +1 -1
- package/dist/workers/repository/update/branch/get-updated.js +8 -9
- package/dist/workers/repository/update/branch/get-updated.js.map +1 -1
- package/dist/workers/repository/update/branch/index.js +3 -3
- package/dist/workers/repository/update/branch/index.js.map +1 -1
- package/dist/workers/repository/update/branch/schedule.js +2 -2
- package/dist/workers/repository/update/branch/schedule.js.map +1 -1
- package/dist/workers/repository/update/pr/body/notes.js +2 -2
- package/dist/workers/repository/update/pr/body/notes.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/bitbucket/index.js +2 -2
- package/dist/workers/repository/update/pr/changelog/bitbucket/index.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/index.js +3 -3
- package/dist/workers/repository/update/pr/changelog/index.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/release-notes.js +4 -4
- package/dist/workers/repository/update/pr/changelog/release-notes.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/source.js +8 -8
- package/dist/workers/repository/update/pr/changelog/source.js.map +1 -1
- package/dist/workers/repository/update/pr/code-owners.js +2 -2
- package/dist/workers/repository/update/pr/code-owners.js.map +1 -1
- package/dist/workers/repository/update/pr/index.js +7 -8
- package/dist/workers/repository/update/pr/index.js.map +1 -1
- package/dist/workers/repository/update/pr/labels.js +4 -4
- package/dist/workers/repository/update/pr/labels.js.map +1 -1
- package/dist/workers/repository/update/pr/participants.js +4 -5
- package/dist/workers/repository/update/pr/participants.js.map +1 -1
- package/dist/workers/repository/updates/generate.js +4 -4
- package/dist/workers/repository/updates/generate.js.map +1 -1
- package/package.json +3 -3
- package/renovate-schema.json +7 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yarn.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/post-update/yarn.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport semver from 'semver';\nimport { quote } from 'shlex';\nimport upath from 'upath';\nimport { GlobalConfig } from '../../../../config/global';\nimport {\n SYSTEM_INSUFFICIENT_DISK_SPACE,\n TEMPORARY_ERROR,\n} from '../../../../constants/error-messages';\nimport { logger } from '../../../../logger';\nimport { ExternalHostError } from '../../../../types/errors/external-host-error';\nimport { getEnv } from '../../../../util/env';\nimport { exec } from '../../../../util/exec';\nimport type {\n ExecOptions,\n ExtraEnv,\n ToolConstraint,\n} from '../../../../util/exec/types';\nimport {\n localPathIsFile,\n readLocalFile,\n writeLocalFile,\n} from '../../../../util/fs';\nimport { newlineRegex, regEx } from '../../../../util/regex';\nimport { uniqueStrings } from '../../../../util/string';\nimport { NpmDatasource } from '../../../datasource/npm';\nimport type { PostUpdateConfig, Upgrade } from '../../types';\nimport { getYarnLock, getYarnVersionFromLock } from '../extract/yarn';\nimport type { NpmManagerData } from '../types';\nimport { getNodeToolConstraint } from './node-version';\nimport type { GenerateLockFileResult } from './types';\nimport { getPackageManagerVersion, lazyLoadPackageJson } from './utils';\n\nexport async function checkYarnrc(\n lockFileDir: string,\n): Promise<{ offlineMirror: boolean; yarnPath: string | null }> {\n let offlineMirror = false;\n let yarnPath: string | null = null;\n try {\n const yarnrc = await readLocalFile(\n upath.join(lockFileDir, '.yarnrc'),\n 'utf8',\n );\n if (is.string(yarnrc)) {\n const mirrorLine = yarnrc\n .split(newlineRegex)\n .find((line) => line.startsWith('yarn-offline-mirror '));\n offlineMirror = !!mirrorLine;\n const pathLine = yarnrc\n .split(newlineRegex)\n .find((line) => line.startsWith('yarn-path '));\n if (pathLine) {\n yarnPath = pathLine.replace(regEx(/^yarn-path\\s+\"?(.+?)\"?$/), '$1');\n }\n if (yarnPath) {\n // resolve binary relative to `yarnrc`\n yarnPath = upath.join(lockFileDir, yarnPath);\n }\n const yarnBinaryExists = yarnPath\n ? await localPathIsFile(yarnPath)\n : false;\n let scrubbedYarnrc = yarnrc\n .replace('--install.pure-lockfile true', '')\n .replace('--install.frozen-lockfile true', '');\n if (!yarnBinaryExists) {\n scrubbedYarnrc = scrubbedYarnrc.replace(\n regEx(/^yarn-path\\s+\"?.+?\"?$/gm),\n '',\n );\n yarnPath = null;\n }\n if (yarnrc !== scrubbedYarnrc) {\n logger.debug(`Writing scrubbed .yarnrc to ${lockFileDir}`);\n await writeLocalFile(\n upath.join(lockFileDir, '.yarnrc'),\n scrubbedYarnrc,\n );\n }\n }\n /* v8 ignore start -- needs test */\n } catch {\n // not found\n } /* v8 ignore stop -- needs test */\n return { offlineMirror, yarnPath };\n}\n\nexport function getOptimizeCommand(fileName: string): string {\n return `sed -i 's/ steps,/ steps.slice(0,1),/' ${quote(fileName)}`;\n}\n\nexport function isYarnUpdate(upgrade: Upgrade): boolean {\n return upgrade.depType === 'packageManager' && upgrade.depName === 'yarn';\n}\n\nexport async function generateLockFile(\n lockFileDir: string,\n env: NodeJS.ProcessEnv,\n config: Partial<PostUpdateConfig<NpmManagerData>> = {},\n upgrades: Upgrade[] = [],\n): Promise<GenerateLockFileResult> {\n const lockFileName = upath.join(lockFileDir, 'yarn.lock');\n logger.debug(`Spawning yarn install to create ${lockFileName}`);\n let lockFile: string | null = null;\n try {\n const lazyPgkJson = lazyLoadPackageJson(lockFileDir);\n const toolConstraints: ToolConstraint[] = [\n await getNodeToolConstraint(config, upgrades, lockFileDir, lazyPgkJson),\n ];\n const yarnUpdate = upgrades.find(isYarnUpdate);\n const yarnCompatibility =\n (yarnUpdate ? yarnUpdate.newValue : config.constraints?.yarn) ??\n getPackageManagerVersion('yarn', await lazyPgkJson.getValue()) ??\n getYarnVersionFromLock(await getYarnLock(lockFileName));\n const minYarnVersion =\n semver.validRange(yarnCompatibility) &&\n semver.minVersion(yarnCompatibility);\n const isYarn1 = !minYarnVersion || minYarnVersion.major === 1;\n const isYarnDedupeAvailable =\n minYarnVersion && semver.gte(minYarnVersion, '2.2.0');\n const isYarnModeAvailable =\n minYarnVersion && semver.gte(minYarnVersion, '3.0.0');\n\n const yarnTool: ToolConstraint = {\n toolName: 'yarn',\n constraint: '^1.22.18', // needs to be a v1 yarn, otherwise v2 will be installed\n };\n\n // check first upgrade, see #17786\n const hasPackageManager =\n !!config.managerData?.hasPackageManager ||\n !!upgrades[0]?.managerData?.hasPackageManager;\n\n if (!isYarn1 && hasPackageManager) {\n toolConstraints.push({\n toolName: 'corepack',\n constraint: config.constraints?.corepack,\n });\n } else {\n toolConstraints.push(yarnTool);\n if (isYarn1 && minYarnVersion) {\n yarnTool.constraint = yarnCompatibility;\n }\n }\n\n const extraEnv: ExtraEnv = {\n NPM_CONFIG_CACHE: env.NPM_CONFIG_CACHE,\n npm_config_store: env.npm_config_store,\n CI: 'true',\n };\n\n const commands: string[] = [];\n let cmdOptions = ''; // should have a leading space\n if (config.skipInstalls !== false) {\n if (isYarn1) {\n const { offlineMirror, yarnPath } = await checkYarnrc(lockFileDir);\n if (!offlineMirror) {\n logger.debug('Updating yarn.lock only - skipping node_modules');\n // The following change causes Yarn 1.x to exit gracefully after updating the lock file but without installing node_modules\n yarnTool.toolName = 'yarn-slim';\n if (yarnPath) {\n commands.push(getOptimizeCommand(yarnPath) + ' || true');\n }\n }\n } else if (isYarnModeAvailable) {\n // Don't run the link step and only fetch what's necessary to compute an updated lockfile\n cmdOptions += ' --mode=update-lockfile';\n }\n }\n\n if (isYarn1) {\n cmdOptions +=\n ' --ignore-engines --ignore-platform --network-timeout 100000';\n extraEnv.YARN_CACHE_FOLDER = env.YARN_CACHE_FOLDER;\n } else {\n extraEnv.YARN_ENABLE_IMMUTABLE_INSTALLS = 'false';\n extraEnv.YARN_HTTP_TIMEOUT = '100000';\n extraEnv.YARN_GLOBAL_FOLDER = env.YARN_GLOBAL_FOLDER;\n if (!config.managerData?.yarnZeroInstall) {\n logger.debug('Enabling global cache as zero-install is not detected');\n extraEnv.YARN_ENABLE_GLOBAL_CACHE = '1';\n }\n }\n if (!GlobalConfig.get('allowScripts') || config.ignoreScripts) {\n if (isYarn1) {\n cmdOptions += ' --ignore-scripts';\n } else if (isYarnModeAvailable) {\n if (config.skipInstalls === false) {\n // Don't run the build scripts\n cmdOptions += ' --mode=skip-build';\n }\n } else {\n extraEnv.YARN_ENABLE_SCRIPTS = '0';\n }\n }\n\n const execOptions: ExecOptions = {\n cwdFile: lockFileName,\n extraEnv,\n docker: {},\n toolConstraints,\n };\n /* v8 ignore next 4 -- needs test */\n if (GlobalConfig.get('exposeAllEnv')) {\n extraEnv.NPM_AUTH = env.NPM_AUTH;\n extraEnv.NPM_EMAIL = env.NPM_EMAIL;\n }\n\n if (yarnUpdate && !isYarn1) {\n logger.debug('Updating Yarn binary');\n // TODO: types (#22198)\n commands.push(`yarn set version ${quote(yarnUpdate.newValue!)}`);\n }\n\n const allEnv = getEnv();\n if (allEnv.RENOVATE_X_YARN_PROXY) {\n if (allEnv.HTTP_PROXY && !isYarn1) {\n commands.push('yarn config unset --home httpProxy');\n commands.push(\n `yarn config set --home httpProxy ${quote(allEnv.HTTP_PROXY)}`,\n );\n }\n if (allEnv.HTTPS_PROXY && !isYarn1) {\n commands.push('yarn config unset --home httpsProxy');\n commands.push(\n `yarn config set --home httpsProxy ${quote(allEnv.HTTPS_PROXY)}`,\n );\n }\n }\n\n // This command updates the lock file based on package.json\n commands.push(`yarn install${cmdOptions}`);\n\n // rangeStrategy = update-lockfile\n const lockUpdates = upgrades.filter((upgrade) => upgrade.isLockfileUpdate);\n if (lockUpdates.length) {\n logger.debug('Performing lockfileUpdate (yarn)');\n if (isYarn1) {\n // `yarn upgrade` updates based on the version range specified in the package file\n // note - this can hit a yarn bug, see https://github.com/yarnpkg/yarn/issues/8236\n commands.push(\n `yarn upgrade ${lockUpdates\n .map((update) => update.depName)\n .filter(is.string)\n .filter(uniqueStrings)\n .map(quote)\n .join(' ')}${cmdOptions}`,\n );\n } else {\n // `yarn up -R` updates to the latest release in each range\n commands.push(\n `yarn up -R ${lockUpdates\n // TODO: types (#22198)\n .map((update) => `${update.depName!}`)\n .filter(uniqueStrings)\n .map(quote)\n .join(' ')}${cmdOptions}`,\n );\n }\n }\n\n // postUpdateOptions\n ['fewer', 'highest'].forEach((s) => {\n if (\n config.postUpdateOptions?.includes(\n `yarnDedupe${s.charAt(0).toUpperCase()}${s.slice(1)}`,\n )\n ) {\n logger.debug(`Performing yarn dedupe ${s}`);\n if (isYarn1) {\n commands.push(`npx yarn-deduplicate --strategy ${s}`);\n // Run yarn again in case any changes are necessary\n commands.push(`yarn install${cmdOptions}`);\n } else if (isYarnDedupeAvailable && s === 'highest') {\n commands.push(`yarn dedupe --strategy ${s}${cmdOptions}`);\n } else {\n logger.debug(`yarn dedupe ${s} not available`);\n }\n }\n });\n\n if (upgrades.find((upgrade) => upgrade.isLockFileMaintenance)) {\n logger.debug(\n `Removing ${lockFileName} first due to lock file maintenance upgrade`,\n );\n\n // Note: Instead of just deleting the `yarn.lock` file, we just wipe it\n // and keep an empty lock file. Deleting the lock file could result in different\n // Yarn semantics. e.g. Yarn 2+ will error when `yarn install` is executed in\n // a subdirectory which is not part of a Yarn workspace. Yarn suggests to create\n // an empty lock file if a subdirectory should be treated as its own workspace.\n // https://github.com/yarnpkg/berry/blob/20612e82d26ead5928cc27bf482bb8d62dde87d3/packages/yarnpkg-core/sources/Project.ts#L284.\n try {\n await writeLocalFile(lockFileName, '');\n /* v8 ignore start -- needs test */\n } catch (err) {\n logger.debug(\n { err, lockFileName },\n 'Error clearing `yarn.lock` for lock file maintenance',\n );\n } /* v8 ignore stop -- needs test */\n }\n\n // Run the commands\n await exec(commands, execOptions);\n\n // Read the result\n lockFile = await readLocalFile(lockFileName, 'utf8');\n /* v8 ignore start -- needs test */\n } catch (err) {\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.debug(\n {\n err,\n type: 'yarn',\n },\n 'lock file error',\n );\n const stdouterr = String(err.stdout) + String(err.stderr);\n if (\n stdouterr.includes('ENOSPC: no space left on device') ||\n stdouterr.includes('Out of diskspace')\n ) {\n throw new Error(SYSTEM_INSUFFICIENT_DISK_SPACE);\n }\n if (\n stdouterr.includes('The registry may be down.') ||\n stdouterr.includes('getaddrinfo ENOTFOUND registry.yarnpkg.com') ||\n stdouterr.includes('getaddrinfo ENOTFOUND registry.npmjs.org')\n ) {\n throw new ExternalHostError(err, NpmDatasource.id);\n }\n return { error: true, stderr: err.stderr, stdout: err.stdout };\n } /* v8 ignore stop -- needs test */\n return { lockFile };\n}\n\nexport function fuzzyMatchAdditionalYarnrcYml<\n T extends { npmRegistries?: Record<string, unknown> },\n>(additionalYarnRcYml: T, existingYarnrRcYml: T): T {\n const keys = new Map(\n Object.keys(existingYarnrRcYml.npmRegistries ?? {}).map((x) => [\n x.replace(/\\/$/, '').replace(/^https?:/, ''),\n x,\n ]),\n );\n\n return {\n ...additionalYarnRcYml,\n npmRegistries: Object.entries(additionalYarnRcYml.npmRegistries ?? {})\n .map(([k, v]) => {\n const key = keys.get(k.replace(/\\/$/, '')) ?? k;\n return { [key]: v };\n })\n .reduce((acc, cur) => ({ ...acc, ...cur }), {}),\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"yarn.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/post-update/yarn.ts"],"names":[],"mappings":"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","sourcesContent":["import { isString } from '@sindresorhus/is';\nimport semver from 'semver';\nimport { quote } from 'shlex';\nimport upath from 'upath';\nimport { GlobalConfig } from '../../../../config/global';\nimport {\n SYSTEM_INSUFFICIENT_DISK_SPACE,\n TEMPORARY_ERROR,\n} from '../../../../constants/error-messages';\nimport { logger } from '../../../../logger';\nimport { ExternalHostError } from '../../../../types/errors/external-host-error';\nimport { getEnv } from '../../../../util/env';\nimport { exec } from '../../../../util/exec';\nimport type {\n ExecOptions,\n ExtraEnv,\n ToolConstraint,\n} from '../../../../util/exec/types';\nimport {\n localPathIsFile,\n readLocalFile,\n writeLocalFile,\n} from '../../../../util/fs';\nimport { newlineRegex, regEx } from '../../../../util/regex';\nimport { uniqueStrings } from '../../../../util/string';\nimport { NpmDatasource } from '../../../datasource/npm';\nimport type { PostUpdateConfig, Upgrade } from '../../types';\nimport { getYarnLock, getYarnVersionFromLock } from '../extract/yarn';\nimport type { NpmManagerData } from '../types';\nimport { getNodeToolConstraint } from './node-version';\nimport type { GenerateLockFileResult } from './types';\nimport { getPackageManagerVersion, lazyLoadPackageJson } from './utils';\n\nexport async function checkYarnrc(\n lockFileDir: string,\n): Promise<{ offlineMirror: boolean; yarnPath: string | null }> {\n let offlineMirror = false;\n let yarnPath: string | null = null;\n try {\n const yarnrc = await readLocalFile(\n upath.join(lockFileDir, '.yarnrc'),\n 'utf8',\n );\n if (isString(yarnrc)) {\n const mirrorLine = yarnrc\n .split(newlineRegex)\n .find((line) => line.startsWith('yarn-offline-mirror '));\n offlineMirror = !!mirrorLine;\n const pathLine = yarnrc\n .split(newlineRegex)\n .find((line) => line.startsWith('yarn-path '));\n if (pathLine) {\n yarnPath = pathLine.replace(regEx(/^yarn-path\\s+\"?(.+?)\"?$/), '$1');\n }\n if (yarnPath) {\n // resolve binary relative to `yarnrc`\n yarnPath = upath.join(lockFileDir, yarnPath);\n }\n const yarnBinaryExists = yarnPath\n ? await localPathIsFile(yarnPath)\n : false;\n let scrubbedYarnrc = yarnrc\n .replace('--install.pure-lockfile true', '')\n .replace('--install.frozen-lockfile true', '');\n if (!yarnBinaryExists) {\n scrubbedYarnrc = scrubbedYarnrc.replace(\n regEx(/^yarn-path\\s+\"?.+?\"?$/gm),\n '',\n );\n yarnPath = null;\n }\n if (yarnrc !== scrubbedYarnrc) {\n logger.debug(`Writing scrubbed .yarnrc to ${lockFileDir}`);\n await writeLocalFile(\n upath.join(lockFileDir, '.yarnrc'),\n scrubbedYarnrc,\n );\n }\n }\n /* v8 ignore start -- needs test */\n } catch {\n // not found\n } /* v8 ignore stop -- needs test */\n return { offlineMirror, yarnPath };\n}\n\nexport function getOptimizeCommand(fileName: string): string {\n return `sed -i 's/ steps,/ steps.slice(0,1),/' ${quote(fileName)}`;\n}\n\nexport function isYarnUpdate(upgrade: Upgrade): boolean {\n return upgrade.depType === 'packageManager' && upgrade.depName === 'yarn';\n}\n\nexport async function generateLockFile(\n lockFileDir: string,\n env: NodeJS.ProcessEnv,\n config: Partial<PostUpdateConfig<NpmManagerData>> = {},\n upgrades: Upgrade[] = [],\n): Promise<GenerateLockFileResult> {\n const lockFileName = upath.join(lockFileDir, 'yarn.lock');\n logger.debug(`Spawning yarn install to create ${lockFileName}`);\n let lockFile: string | null = null;\n try {\n const lazyPgkJson = lazyLoadPackageJson(lockFileDir);\n const toolConstraints: ToolConstraint[] = [\n await getNodeToolConstraint(config, upgrades, lockFileDir, lazyPgkJson),\n ];\n const yarnUpdate = upgrades.find(isYarnUpdate);\n const yarnCompatibility =\n (yarnUpdate ? yarnUpdate.newValue : config.constraints?.yarn) ??\n getPackageManagerVersion('yarn', await lazyPgkJson.getValue()) ??\n getYarnVersionFromLock(await getYarnLock(lockFileName));\n const minYarnVersion =\n semver.validRange(yarnCompatibility) &&\n semver.minVersion(yarnCompatibility);\n const isYarn1 = !minYarnVersion || minYarnVersion.major === 1;\n const isYarnDedupeAvailable =\n minYarnVersion && semver.gte(minYarnVersion, '2.2.0');\n const isYarnModeAvailable =\n minYarnVersion && semver.gte(minYarnVersion, '3.0.0');\n\n const yarnTool: ToolConstraint = {\n toolName: 'yarn',\n constraint: '^1.22.18', // needs to be a v1 yarn, otherwise v2 will be installed\n };\n\n // check first upgrade, see #17786\n const hasPackageManager =\n !!config.managerData?.hasPackageManager ||\n !!upgrades[0]?.managerData?.hasPackageManager;\n\n if (!isYarn1 && hasPackageManager) {\n toolConstraints.push({\n toolName: 'corepack',\n constraint: config.constraints?.corepack,\n });\n } else {\n toolConstraints.push(yarnTool);\n if (isYarn1 && minYarnVersion) {\n yarnTool.constraint = yarnCompatibility;\n }\n }\n\n const extraEnv: ExtraEnv = {\n NPM_CONFIG_CACHE: env.NPM_CONFIG_CACHE,\n npm_config_store: env.npm_config_store,\n CI: 'true',\n };\n\n const commands: string[] = [];\n let cmdOptions = ''; // should have a leading space\n if (config.skipInstalls !== false) {\n if (isYarn1) {\n const { offlineMirror, yarnPath } = await checkYarnrc(lockFileDir);\n if (!offlineMirror) {\n logger.debug('Updating yarn.lock only - skipping node_modules');\n // The following change causes Yarn 1.x to exit gracefully after updating the lock file but without installing node_modules\n yarnTool.toolName = 'yarn-slim';\n if (yarnPath) {\n commands.push(getOptimizeCommand(yarnPath) + ' || true');\n }\n }\n } else if (isYarnModeAvailable) {\n // Don't run the link step and only fetch what's necessary to compute an updated lockfile\n cmdOptions += ' --mode=update-lockfile';\n }\n }\n\n if (isYarn1) {\n cmdOptions +=\n ' --ignore-engines --ignore-platform --network-timeout 100000';\n extraEnv.YARN_CACHE_FOLDER = env.YARN_CACHE_FOLDER;\n } else {\n extraEnv.YARN_ENABLE_IMMUTABLE_INSTALLS = 'false';\n extraEnv.YARN_HTTP_TIMEOUT = '100000';\n extraEnv.YARN_GLOBAL_FOLDER = env.YARN_GLOBAL_FOLDER;\n if (!config.managerData?.yarnZeroInstall) {\n logger.debug('Enabling global cache as zero-install is not detected');\n extraEnv.YARN_ENABLE_GLOBAL_CACHE = '1';\n }\n }\n if (!GlobalConfig.get('allowScripts') || config.ignoreScripts) {\n if (isYarn1) {\n cmdOptions += ' --ignore-scripts';\n } else if (isYarnModeAvailable) {\n if (config.skipInstalls === false) {\n // Don't run the build scripts\n cmdOptions += ' --mode=skip-build';\n }\n } else {\n extraEnv.YARN_ENABLE_SCRIPTS = '0';\n }\n }\n\n const execOptions: ExecOptions = {\n cwdFile: lockFileName,\n extraEnv,\n docker: {},\n toolConstraints,\n };\n /* v8 ignore next 4 -- needs test */\n if (GlobalConfig.get('exposeAllEnv')) {\n extraEnv.NPM_AUTH = env.NPM_AUTH;\n extraEnv.NPM_EMAIL = env.NPM_EMAIL;\n }\n\n if (yarnUpdate && !isYarn1) {\n logger.debug('Updating Yarn binary');\n // TODO: types (#22198)\n commands.push(`yarn set version ${quote(yarnUpdate.newValue!)}`);\n }\n\n const allEnv = getEnv();\n if (allEnv.RENOVATE_X_YARN_PROXY) {\n if (allEnv.HTTP_PROXY && !isYarn1) {\n commands.push('yarn config unset --home httpProxy');\n commands.push(\n `yarn config set --home httpProxy ${quote(allEnv.HTTP_PROXY)}`,\n );\n }\n if (allEnv.HTTPS_PROXY && !isYarn1) {\n commands.push('yarn config unset --home httpsProxy');\n commands.push(\n `yarn config set --home httpsProxy ${quote(allEnv.HTTPS_PROXY)}`,\n );\n }\n }\n\n // This command updates the lock file based on package.json\n commands.push(`yarn install${cmdOptions}`);\n\n // rangeStrategy = update-lockfile\n const lockUpdates = upgrades.filter((upgrade) => upgrade.isLockfileUpdate);\n if (lockUpdates.length) {\n logger.debug('Performing lockfileUpdate (yarn)');\n if (isYarn1) {\n // `yarn upgrade` updates based on the version range specified in the package file\n // note - this can hit a yarn bug, see https://github.com/yarnpkg/yarn/issues/8236\n commands.push(\n `yarn upgrade ${lockUpdates\n .map((update) => update.depName)\n .filter(isString)\n .filter(uniqueStrings)\n .map(quote)\n .join(' ')}${cmdOptions}`,\n );\n } else {\n // `yarn up -R` updates to the latest release in each range\n commands.push(\n `yarn up -R ${lockUpdates\n // TODO: types (#22198)\n .map((update) => `${update.depName!}`)\n .filter(uniqueStrings)\n .map(quote)\n .join(' ')}${cmdOptions}`,\n );\n }\n }\n\n // postUpdateOptions\n ['fewer', 'highest'].forEach((s) => {\n if (\n config.postUpdateOptions?.includes(\n `yarnDedupe${s.charAt(0).toUpperCase()}${s.slice(1)}`,\n )\n ) {\n logger.debug(`Performing yarn dedupe ${s}`);\n if (isYarn1) {\n commands.push(`npx yarn-deduplicate --strategy ${s}`);\n // Run yarn again in case any changes are necessary\n commands.push(`yarn install${cmdOptions}`);\n } else if (isYarnDedupeAvailable && s === 'highest') {\n commands.push(`yarn dedupe --strategy ${s}${cmdOptions}`);\n } else {\n logger.debug(`yarn dedupe ${s} not available`);\n }\n }\n });\n\n if (upgrades.find((upgrade) => upgrade.isLockFileMaintenance)) {\n logger.debug(\n `Removing ${lockFileName} first due to lock file maintenance upgrade`,\n );\n\n // Note: Instead of just deleting the `yarn.lock` file, we just wipe it\n // and keep an empty lock file. Deleting the lock file could result in different\n // Yarn semantics. e.g. Yarn 2+ will error when `yarn install` is executed in\n // a subdirectory which is not part of a Yarn workspace. Yarn suggests to create\n // an empty lock file if a subdirectory should be treated as its own workspace.\n // https://github.com/yarnpkg/berry/blob/20612e82d26ead5928cc27bf482bb8d62dde87d3/packages/yarnpkg-core/sources/Project.ts#L284.\n try {\n await writeLocalFile(lockFileName, '');\n /* v8 ignore start -- needs test */\n } catch (err) {\n logger.debug(\n { err, lockFileName },\n 'Error clearing `yarn.lock` for lock file maintenance',\n );\n } /* v8 ignore stop -- needs test */\n }\n\n // Run the commands\n await exec(commands, execOptions);\n\n // Read the result\n lockFile = await readLocalFile(lockFileName, 'utf8');\n /* v8 ignore start -- needs test */\n } catch (err) {\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.debug(\n {\n err,\n type: 'yarn',\n },\n 'lock file error',\n );\n const stdouterr = String(err.stdout) + String(err.stderr);\n if (\n stdouterr.includes('ENOSPC: no space left on device') ||\n stdouterr.includes('Out of diskspace')\n ) {\n throw new Error(SYSTEM_INSUFFICIENT_DISK_SPACE);\n }\n if (\n stdouterr.includes('The registry may be down.') ||\n stdouterr.includes('getaddrinfo ENOTFOUND registry.yarnpkg.com') ||\n stdouterr.includes('getaddrinfo ENOTFOUND registry.npmjs.org')\n ) {\n throw new ExternalHostError(err, NpmDatasource.id);\n }\n return { error: true, stderr: err.stderr, stdout: err.stdout };\n } /* v8 ignore stop -- needs test */\n return { lockFile };\n}\n\nexport function fuzzyMatchAdditionalYarnrcYml<\n T extends { npmRegistries?: Record<string, unknown> },\n>(additionalYarnRcYml: T, existingYarnrRcYml: T): T {\n const keys = new Map(\n Object.keys(existingYarnrRcYml.npmRegistries ?? {}).map((x) => [\n x.replace(/\\/$/, '').replace(/^https?:/, ''),\n x,\n ]),\n );\n\n return {\n ...additionalYarnRcYml,\n npmRegistries: Object.entries(additionalYarnRcYml.npmRegistries ?? {})\n .map(([k, v]) => {\n const key = keys.get(k.replace(/\\/$/, '')) ?? k;\n return { [key]: v };\n })\n .reduce((acc, cur) => ({ ...acc, ...cur }), {}),\n };\n}\n"]}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.updateDependency = updateDependency;
|
|
4
|
-
const
|
|
5
|
-
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
4
|
+
const is_1 = require("@sindresorhus/is");
|
|
6
5
|
const dequal_1 = require("dequal");
|
|
7
6
|
const logger_1 = require("../../../../../logger");
|
|
8
7
|
const regex_1 = require("../../../../../util/regex");
|
|
@@ -204,7 +203,7 @@ function overrideDepPosition(overrideBlock, parents, depName) {
|
|
|
204
203
|
return { depObjectReference, overrideDepName };
|
|
205
204
|
}
|
|
206
205
|
function isOverrideObject(upgrade) {
|
|
207
|
-
return (is_1.
|
|
206
|
+
return ((0, is_1.isArray)(upgrade.managerData?.parents, is_1.isNonEmptyStringAndNotWhitespace) &&
|
|
208
207
|
upgrade.depType === 'overrides');
|
|
209
208
|
}
|
|
210
209
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../lib/modules/manager/npm/update/dependency/index.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { dequal } from 'dequal';\nimport { logger } from '../../../../../logger';\nimport { escapeRegExp, regEx } from '../../../../../util/regex';\nimport { matchAt, replaceAt } from '../../../../../util/string';\nimport type { UpdateDependencyConfig, Upgrade } from '../../../types';\nimport type {\n DependenciesMeta,\n NpmPackage,\n OverrideDependency,\n RecursiveOverride,\n} from '../../extract/types';\nimport type { NpmDepType, NpmManagerData } from '../../types';\nimport { getNewGitValue, getNewNpmAliasValue } from './common';\nimport { updatePnpmCatalogDependency } from './pnpm';\nimport { updateYarnrcCatalogDependency } from './yarn';\n\nfunction renameObjKey(\n oldObj: DependenciesMeta,\n oldKey: string,\n newKey: string,\n): DependenciesMeta {\n const keys = Object.keys(oldObj);\n return keys.reduce((acc, key) => {\n if (key === oldKey) {\n acc[newKey] = oldObj[oldKey];\n } else {\n acc[key] = oldObj[key];\n }\n return acc;\n }, {} as DependenciesMeta);\n}\n\nfunction replaceAsString(\n parsedContents: NpmPackage,\n fileContent: string,\n depType:\n | NpmDepType\n | 'dependenciesMeta'\n | 'packageManager'\n | 'pnpm.overrides',\n depName: string,\n oldValue: string,\n newValue: string,\n parents?: string[],\n): string {\n if (depType === 'packageManager') {\n parsedContents[depType] = newValue;\n } else if (depType === 'pnpm.overrides') {\n parsedContents.pnpm!.overrides![depName] = newValue;\n } else if (depName === oldValue) {\n // The old value is the name of the dependency itself\n delete Object.assign(parsedContents[depType]!, {\n [newValue]: parsedContents[depType]![oldValue],\n })[oldValue];\n } else if (depType === 'dependenciesMeta') {\n if (oldValue !== newValue) {\n parsedContents.dependenciesMeta = renameObjKey(\n // TODO #22198\n parsedContents.dependenciesMeta!,\n oldValue,\n newValue,\n );\n }\n } else if (parents && depType === 'overrides') {\n // there is an object as a value in overrides block\n const { depObjectReference, overrideDepName } = overrideDepPosition(\n parsedContents[depType]!,\n parents,\n depName,\n );\n if (depObjectReference) {\n depObjectReference[overrideDepName] = newValue;\n }\n } else {\n // The old value is the version of the dependency\n parsedContents[depType]![depName] = newValue;\n }\n // Look for the old version number\n const searchString = `\"${oldValue}\"`;\n let newString = `\"${newValue}\"`;\n\n const escapedDepName = escapeRegExp(depName);\n const patchRe = regEx(`^(patch:${escapedDepName}@(npm:)?).*#`);\n const match = patchRe.exec(oldValue);\n if (match && depType === 'resolutions') {\n const patch = oldValue.replace(match[0], `${match[1]}${newValue}#`);\n parsedContents[depType]![depName] = patch;\n newString = `\"${patch}\"`;\n }\n\n // Skip ahead to depType section\n let searchIndex = fileContent.indexOf(`\"${depType}\"`) + depType.length;\n logger.trace(`Starting search at index ${searchIndex}`);\n // Iterate through the rest of the file\n for (; searchIndex < fileContent.length; searchIndex += 1) {\n // First check if we have a hit for the old version\n if (matchAt(fileContent, searchIndex, searchString)) {\n logger.trace(`Found match at index ${searchIndex}`);\n // Now test if the result matches\n const testContent = replaceAt(\n fileContent,\n searchIndex,\n searchString,\n newString,\n );\n // Compare the parsed JSON structure of old and new\n if (dequal(parsedContents, JSON.parse(testContent))) {\n return testContent;\n }\n }\n /* v8 ignore next 3 -- needs test */\n }\n throw new Error();\n}\n\nexport function updateDependency({\n fileContent,\n upgrade,\n}: UpdateDependencyConfig): string | null {\n if (upgrade.depType?.startsWith('pnpm.catalog')) {\n return updatePnpmCatalogDependency({ fileContent, upgrade });\n }\n if (upgrade.depType?.startsWith('yarn.catalog')) {\n return updateYarnrcCatalogDependency({ fileContent, upgrade });\n }\n\n const { depType, managerData } = upgrade;\n const depName: string = managerData?.key ?? upgrade.depName;\n let { newValue } = upgrade;\n\n newValue = getNewGitValue(upgrade) ?? newValue;\n newValue = getNewNpmAliasValue(newValue, upgrade) ?? newValue;\n\n logger.debug(`npm.updateDependency(): ${depType}.${depName} = ${newValue}`);\n try {\n const parsedContents: NpmPackage = JSON.parse(fileContent);\n let overrideDepParents: string[] | undefined = undefined;\n // Save the old version\n let oldVersion: string | undefined;\n if (depType === 'packageManager') {\n oldVersion = parsedContents[depType];\n newValue = `${depName}@${newValue}`;\n } else if (isOverrideObject(upgrade)) {\n overrideDepParents = managerData?.parents;\n if (overrideDepParents) {\n // old version when there is an object as a value in overrides block\n const { depObjectReference, overrideDepName } = overrideDepPosition(\n parsedContents.overrides!,\n overrideDepParents,\n depName,\n );\n if (depObjectReference) {\n oldVersion = depObjectReference[overrideDepName]!;\n }\n }\n } else if (depType === 'pnpm.overrides') {\n oldVersion = parsedContents.pnpm?.overrides?.[depName];\n } else {\n oldVersion = parsedContents[depType as NpmDepType]![depName] as string;\n }\n if (oldVersion === newValue) {\n logger.trace('Version is already updated');\n return fileContent;\n }\n\n // TODO #22198\n let newFileContent: string;\n if (upgrade.newName && upgrade.replacementApproach === 'alias') {\n newFileContent = replaceAsString(\n parsedContents,\n fileContent,\n depType as NpmDepType,\n depName,\n oldVersion!,\n `npm:${upgrade.newName}@${newValue}`,\n overrideDepParents,\n );\n } else {\n newFileContent = replaceAsString(\n parsedContents,\n fileContent,\n depType as NpmDepType,\n depName,\n oldVersion!,\n newValue!,\n overrideDepParents,\n );\n if (upgrade.newName) {\n newFileContent = replaceAsString(\n parsedContents,\n newFileContent,\n depType as NpmDepType,\n depName,\n depName,\n upgrade.newName,\n overrideDepParents,\n );\n }\n }\n /* v8 ignore start -- needs test */\n if (!newFileContent) {\n logger.debug(\n { fileContent, parsedContents, depType, depName, newValue },\n 'Warning: updateDependency error',\n );\n return fileContent;\n }\n /* v8 ignore stop -- needs test */\n if (parsedContents?.resolutions) {\n let depKey: string | undefined;\n if (parsedContents.resolutions[depName]) {\n depKey = depName;\n } else if (parsedContents.resolutions[`**/${depName}`]) {\n depKey = `**/${depName}`;\n }\n if (depKey) {\n /* v8 ignore start -- needs test */\n if (parsedContents.resolutions[depKey] !== oldVersion) {\n logger.debug(\n {\n depName,\n depKey,\n oldVersion,\n resolutionsVersion: parsedContents.resolutions[depKey],\n },\n 'Upgraded dependency exists in yarn resolutions but is different version',\n );\n } /* v8 ignore stop -- needs test */\n newFileContent = replaceAsString(\n parsedContents,\n newFileContent,\n 'resolutions',\n depKey,\n // TODO #22198\n parsedContents.resolutions[depKey]!,\n // TODO #22198\n newValue!,\n );\n if (upgrade.newName) {\n if (depKey === `**/${depName}`) {\n // handles the case where a replacement is in a resolution\n upgrade.newName = `**/${upgrade.newName}`;\n }\n newFileContent = replaceAsString(\n parsedContents,\n newFileContent,\n 'resolutions',\n depKey,\n depKey,\n upgrade.newName,\n );\n }\n }\n }\n if (parsedContents?.dependenciesMeta) {\n for (const [depKey] of Object.entries(parsedContents.dependenciesMeta)) {\n if (depKey.startsWith(depName + '@')) {\n newFileContent = replaceAsString(\n parsedContents,\n newFileContent,\n 'dependenciesMeta',\n depName,\n depKey,\n // TODO: types (#22198)\n `${depName}@${newValue}`,\n );\n }\n }\n }\n return newFileContent;\n } catch (err) {\n logger.debug({ err }, 'updateDependency error');\n return null;\n }\n}\n\nfunction overrideDepPosition(\n overrideBlock: OverrideDependency,\n parents: string[],\n depName: string,\n): {\n depObjectReference: Record<string, string>;\n overrideDepName: string;\n} {\n // get override dep position when its nested in an object\n const lastParent = parents[parents.length - 1];\n let overrideDep: OverrideDependency = overrideBlock;\n for (const parent of parents) {\n if (overrideDep) {\n overrideDep = overrideDep[parent] as Record<string, RecursiveOverride>;\n }\n }\n const overrideDepName = depName === lastParent ? '.' : depName;\n const depObjectReference = overrideDep as Record<string, string>;\n return { depObjectReference, overrideDepName };\n}\n\nfunction isOverrideObject(upgrade: Upgrade<NpmManagerData>): boolean {\n return (\n is.array(upgrade.managerData?.parents, is.nonEmptyStringAndNotWhitespace) &&\n upgrade.depType === 'overrides'\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../lib/modules/manager/npm/update/dependency/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { isArray, isNonEmptyStringAndNotWhitespace } from '@sindresorhus/is';\nimport { dequal } from 'dequal';\nimport { logger } from '../../../../../logger';\nimport { escapeRegExp, regEx } from '../../../../../util/regex';\nimport { matchAt, replaceAt } from '../../../../../util/string';\nimport type { UpdateDependencyConfig, Upgrade } from '../../../types';\nimport type {\n DependenciesMeta,\n NpmPackage,\n OverrideDependency,\n RecursiveOverride,\n} from '../../extract/types';\nimport type { NpmDepType, NpmManagerData } from '../../types';\nimport { getNewGitValue, getNewNpmAliasValue } from './common';\nimport { updatePnpmCatalogDependency } from './pnpm';\nimport { updateYarnrcCatalogDependency } from './yarn';\n\nfunction renameObjKey(\n oldObj: DependenciesMeta,\n oldKey: string,\n newKey: string,\n): DependenciesMeta {\n const keys = Object.keys(oldObj);\n return keys.reduce((acc, key) => {\n if (key === oldKey) {\n acc[newKey] = oldObj[oldKey];\n } else {\n acc[key] = oldObj[key];\n }\n return acc;\n }, {} as DependenciesMeta);\n}\n\nfunction replaceAsString(\n parsedContents: NpmPackage,\n fileContent: string,\n depType:\n | NpmDepType\n | 'dependenciesMeta'\n | 'packageManager'\n | 'pnpm.overrides',\n depName: string,\n oldValue: string,\n newValue: string,\n parents?: string[],\n): string {\n if (depType === 'packageManager') {\n parsedContents[depType] = newValue;\n } else if (depType === 'pnpm.overrides') {\n parsedContents.pnpm!.overrides![depName] = newValue;\n } else if (depName === oldValue) {\n // The old value is the name of the dependency itself\n delete Object.assign(parsedContents[depType]!, {\n [newValue]: parsedContents[depType]![oldValue],\n })[oldValue];\n } else if (depType === 'dependenciesMeta') {\n if (oldValue !== newValue) {\n parsedContents.dependenciesMeta = renameObjKey(\n // TODO #22198\n parsedContents.dependenciesMeta!,\n oldValue,\n newValue,\n );\n }\n } else if (parents && depType === 'overrides') {\n // there is an object as a value in overrides block\n const { depObjectReference, overrideDepName } = overrideDepPosition(\n parsedContents[depType]!,\n parents,\n depName,\n );\n if (depObjectReference) {\n depObjectReference[overrideDepName] = newValue;\n }\n } else {\n // The old value is the version of the dependency\n parsedContents[depType]![depName] = newValue;\n }\n // Look for the old version number\n const searchString = `\"${oldValue}\"`;\n let newString = `\"${newValue}\"`;\n\n const escapedDepName = escapeRegExp(depName);\n const patchRe = regEx(`^(patch:${escapedDepName}@(npm:)?).*#`);\n const match = patchRe.exec(oldValue);\n if (match && depType === 'resolutions') {\n const patch = oldValue.replace(match[0], `${match[1]}${newValue}#`);\n parsedContents[depType]![depName] = patch;\n newString = `\"${patch}\"`;\n }\n\n // Skip ahead to depType section\n let searchIndex = fileContent.indexOf(`\"${depType}\"`) + depType.length;\n logger.trace(`Starting search at index ${searchIndex}`);\n // Iterate through the rest of the file\n for (; searchIndex < fileContent.length; searchIndex += 1) {\n // First check if we have a hit for the old version\n if (matchAt(fileContent, searchIndex, searchString)) {\n logger.trace(`Found match at index ${searchIndex}`);\n // Now test if the result matches\n const testContent = replaceAt(\n fileContent,\n searchIndex,\n searchString,\n newString,\n );\n // Compare the parsed JSON structure of old and new\n if (dequal(parsedContents, JSON.parse(testContent))) {\n return testContent;\n }\n }\n /* v8 ignore next 3 -- needs test */\n }\n throw new Error();\n}\n\nexport function updateDependency({\n fileContent,\n upgrade,\n}: UpdateDependencyConfig): string | null {\n if (upgrade.depType?.startsWith('pnpm.catalog')) {\n return updatePnpmCatalogDependency({ fileContent, upgrade });\n }\n if (upgrade.depType?.startsWith('yarn.catalog')) {\n return updateYarnrcCatalogDependency({ fileContent, upgrade });\n }\n\n const { depType, managerData } = upgrade;\n const depName: string = managerData?.key ?? upgrade.depName;\n let { newValue } = upgrade;\n\n newValue = getNewGitValue(upgrade) ?? newValue;\n newValue = getNewNpmAliasValue(newValue, upgrade) ?? newValue;\n\n logger.debug(`npm.updateDependency(): ${depType}.${depName} = ${newValue}`);\n try {\n const parsedContents: NpmPackage = JSON.parse(fileContent);\n let overrideDepParents: string[] | undefined = undefined;\n // Save the old version\n let oldVersion: string | undefined;\n if (depType === 'packageManager') {\n oldVersion = parsedContents[depType];\n newValue = `${depName}@${newValue}`;\n } else if (isOverrideObject(upgrade)) {\n overrideDepParents = managerData?.parents;\n if (overrideDepParents) {\n // old version when there is an object as a value in overrides block\n const { depObjectReference, overrideDepName } = overrideDepPosition(\n parsedContents.overrides!,\n overrideDepParents,\n depName,\n );\n if (depObjectReference) {\n oldVersion = depObjectReference[overrideDepName]!;\n }\n }\n } else if (depType === 'pnpm.overrides') {\n oldVersion = parsedContents.pnpm?.overrides?.[depName];\n } else {\n oldVersion = parsedContents[depType as NpmDepType]![depName] as string;\n }\n if (oldVersion === newValue) {\n logger.trace('Version is already updated');\n return fileContent;\n }\n\n // TODO #22198\n let newFileContent: string;\n if (upgrade.newName && upgrade.replacementApproach === 'alias') {\n newFileContent = replaceAsString(\n parsedContents,\n fileContent,\n depType as NpmDepType,\n depName,\n oldVersion!,\n `npm:${upgrade.newName}@${newValue}`,\n overrideDepParents,\n );\n } else {\n newFileContent = replaceAsString(\n parsedContents,\n fileContent,\n depType as NpmDepType,\n depName,\n oldVersion!,\n newValue!,\n overrideDepParents,\n );\n if (upgrade.newName) {\n newFileContent = replaceAsString(\n parsedContents,\n newFileContent,\n depType as NpmDepType,\n depName,\n depName,\n upgrade.newName,\n overrideDepParents,\n );\n }\n }\n /* v8 ignore start -- needs test */\n if (!newFileContent) {\n logger.debug(\n { fileContent, parsedContents, depType, depName, newValue },\n 'Warning: updateDependency error',\n );\n return fileContent;\n }\n /* v8 ignore stop -- needs test */\n if (parsedContents?.resolutions) {\n let depKey: string | undefined;\n if (parsedContents.resolutions[depName]) {\n depKey = depName;\n } else if (parsedContents.resolutions[`**/${depName}`]) {\n depKey = `**/${depName}`;\n }\n if (depKey) {\n /* v8 ignore start -- needs test */\n if (parsedContents.resolutions[depKey] !== oldVersion) {\n logger.debug(\n {\n depName,\n depKey,\n oldVersion,\n resolutionsVersion: parsedContents.resolutions[depKey],\n },\n 'Upgraded dependency exists in yarn resolutions but is different version',\n );\n } /* v8 ignore stop -- needs test */\n newFileContent = replaceAsString(\n parsedContents,\n newFileContent,\n 'resolutions',\n depKey,\n // TODO #22198\n parsedContents.resolutions[depKey]!,\n // TODO #22198\n newValue!,\n );\n if (upgrade.newName) {\n if (depKey === `**/${depName}`) {\n // handles the case where a replacement is in a resolution\n upgrade.newName = `**/${upgrade.newName}`;\n }\n newFileContent = replaceAsString(\n parsedContents,\n newFileContent,\n 'resolutions',\n depKey,\n depKey,\n upgrade.newName,\n );\n }\n }\n }\n if (parsedContents?.dependenciesMeta) {\n for (const [depKey] of Object.entries(parsedContents.dependenciesMeta)) {\n if (depKey.startsWith(depName + '@')) {\n newFileContent = replaceAsString(\n parsedContents,\n newFileContent,\n 'dependenciesMeta',\n depName,\n depKey,\n // TODO: types (#22198)\n `${depName}@${newValue}`,\n );\n }\n }\n }\n return newFileContent;\n } catch (err) {\n logger.debug({ err }, 'updateDependency error');\n return null;\n }\n}\n\nfunction overrideDepPosition(\n overrideBlock: OverrideDependency,\n parents: string[],\n depName: string,\n): {\n depObjectReference: Record<string, string>;\n overrideDepName: string;\n} {\n // get override dep position when its nested in an object\n const lastParent = parents[parents.length - 1];\n let overrideDep: OverrideDependency = overrideBlock;\n for (const parent of parents) {\n if (overrideDep) {\n overrideDep = overrideDep[parent] as Record<string, RecursiveOverride>;\n }\n }\n const overrideDepName = depName === lastParent ? '.' : depName;\n const depObjectReference = overrideDep as Record<string, string>;\n return { depObjectReference, overrideDepName };\n}\n\nfunction isOverrideObject(upgrade: Upgrade<NpmManagerData>): boolean {\n return (\n isArray(upgrade.managerData?.parents, isNonEmptyStringAndNotWhitespace) &&\n upgrade.depType === 'overrides'\n );\n}\n"]}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.updatePnpmCatalogDependency = updatePnpmCatalogDependency;
|
|
4
|
-
const
|
|
5
|
-
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
4
|
+
const is_1 = require("@sindresorhus/is");
|
|
6
5
|
const yaml_1 = require("yaml");
|
|
7
6
|
const logger_1 = require("../../../../../logger");
|
|
8
7
|
const schema_1 = require("../../schema");
|
|
@@ -11,7 +10,7 @@ function updatePnpmCatalogDependency({ fileContent, upgrade, }) {
|
|
|
11
10
|
const { depType, managerData, depName } = upgrade;
|
|
12
11
|
const catalogName = depType?.split('.').at(-1);
|
|
13
12
|
/* v8 ignore start -- needs test */
|
|
14
|
-
if (!is_1.
|
|
13
|
+
if (!(0, is_1.isString)(catalogName)) {
|
|
15
14
|
logger_1.logger.error('No catalogName was found; this is likely an extraction error.');
|
|
16
15
|
return null;
|
|
17
16
|
} /* v8 ignore stop -- needs test */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pnpm.js","sourceRoot":"","sources":["../../../../../../lib/modules/manager/npm/update/dependency/pnpm.ts"],"names":[],"mappings":";;AAQA,kEAkFC
|
|
1
|
+
{"version":3,"file":"pnpm.js","sourceRoot":"","sources":["../../../../../../lib/modules/manager/npm/update/dependency/pnpm.ts"],"names":[],"mappings":"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","sourcesContent":["import { isString } from '@sindresorhus/is';\nimport type { Document } from 'yaml';\nimport { CST, isCollection, isPair, isScalar, parseDocument } from 'yaml';\nimport { logger } from '../../../../../logger';\nimport type { UpdateDependencyConfig } from '../../../types';\nimport { PnpmCatalogs } from '../../schema';\nimport { getNewGitValue, getNewNpmAliasValue } from './common';\n\nexport function updatePnpmCatalogDependency({\n fileContent,\n upgrade,\n}: UpdateDependencyConfig): string | null {\n const { depType, managerData, depName } = upgrade;\n\n const catalogName = depType?.split('.').at(-1);\n\n /* v8 ignore start -- needs test */\n if (!isString(catalogName)) {\n logger.error(\n 'No catalogName was found; this is likely an extraction error.',\n );\n return null;\n } /* v8 ignore stop -- needs test */\n\n let { newValue } = upgrade;\n\n newValue = getNewGitValue(upgrade) ?? newValue;\n newValue = getNewNpmAliasValue(newValue, upgrade) ?? newValue;\n\n logger.trace(\n `npm.updatePnpmCatalogDependency(): ${depType}:${/* v8 ignore next -- needs test */ managerData?.catalogName}.${depName} = ${newValue}`,\n );\n\n let document;\n let parsedContents;\n\n try {\n // In order to preserve the original formatting as much as possible, we want\n // manipulate the CST directly. Using the AST (the result of parseDocument)\n // does not guarantee that formatting would be the same after\n // stringification. However, the CST is more annoying to query for certain\n // values. Thus, we use both an annotated AST and a JS representation; the\n // former for manipulation, and the latter for querying/validation.\n document = parseDocument(fileContent, { keepSourceTokens: true });\n parsedContents = PnpmCatalogs.parse(document.toJS());\n } catch (err) {\n logger.debug({ err }, 'Could not parse pnpm-workspace YAML file.');\n return null;\n }\n\n // In pnpm-workspace.yaml, the default catalog can be either `catalog` or\n // `catalog.default`, but not both (pnpm throws outright with a config error).\n // Thus, we must check which entry is being used, to reference it from / set\n // it in the right place.\n const usesImplicitDefaultCatalog = parsedContents.catalog !== undefined;\n\n const oldVersion =\n catalogName === 'default' && usesImplicitDefaultCatalog\n ? parsedContents.catalog?.[depName!]\n : parsedContents.catalogs?.[catalogName]?.[depName!];\n\n if (oldVersion === newValue) {\n logger.trace('Version is already updated');\n return fileContent;\n }\n\n // Update the value\n const path = getDepPath({\n depName: depName!,\n catalogName,\n usesImplicitDefaultCatalog,\n });\n\n const modifiedDocument = changeDependencyIn(document, path, {\n newValue,\n newName: upgrade.newName,\n });\n\n if (!modifiedDocument) {\n // Case where we are explicitly unable to substitute the key/value, for\n // example if the value was an alias.\n return null;\n }\n\n /* v8 ignore next 3 -- this should not happen in practice, but we must satisfy the types */\n if (!modifiedDocument.contents?.srcToken) {\n return null;\n }\n\n return CST.stringify(modifiedDocument.contents.srcToken);\n}\n\n/**\n * Change the scalar name and/or value of a collection item in a YAML document,\n * while keeping formatting consistent. Mutates the given document.\n */\nfunction changeDependencyIn(\n document: Document,\n path: string[],\n { newName, newValue }: { newName?: string; newValue?: string },\n): Document | null {\n const parentPath = path.slice(0, -1);\n const relevantItemKey = path.at(-1);\n\n const parentNode = document.getIn(parentPath);\n\n if (!parentNode || !isCollection(parentNode)) {\n return null;\n }\n\n const relevantNode = parentNode.items.find(\n (item) =>\n isPair(item) && isScalar(item.key) && item.key.value === relevantItemKey,\n );\n\n if (!relevantNode || !isPair(relevantNode)) {\n return null;\n }\n\n if (newName) {\n /* v8 ignore next 3 -- the try..catch block above already throws if a key is an alias */\n if (!CST.isScalar(relevantNode.srcToken?.key)) {\n return null;\n }\n CST.setScalarValue(relevantNode.srcToken.key, newName);\n }\n\n if (newValue) {\n // We only support scalar values when substituting. This explicitly avoids\n // substituting aliases, since those can be resolved from a shared location,\n // and replacing either the referrent anchor or the alias would be wrong in\n // the general case. We leave this up to the user, e.g. via a Regex custom\n // manager.\n if (!CST.isScalar(relevantNode.srcToken?.value)) {\n return null;\n }\n CST.setScalarValue(relevantNode.srcToken.value, newValue);\n }\n\n return document;\n}\n\nfunction getDepPath({\n catalogName,\n depName,\n usesImplicitDefaultCatalog,\n}: {\n usesImplicitDefaultCatalog: boolean;\n catalogName: string;\n depName: string;\n}): string[] {\n if (catalogName === 'default' && usesImplicitDefaultCatalog) {\n return ['catalog', depName];\n } else {\n return ['catalogs', catalogName, depName];\n }\n}\n"]}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.updateYarnrcCatalogDependency = updateYarnrcCatalogDependency;
|
|
4
|
-
const
|
|
5
|
-
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
4
|
+
const is_1 = require("@sindresorhus/is");
|
|
6
5
|
const yaml_1 = require("yaml");
|
|
7
6
|
const logger_1 = require("../../../../../logger");
|
|
8
7
|
const schema_1 = require("../../schema");
|
|
@@ -10,7 +9,7 @@ const common_1 = require("./common");
|
|
|
10
9
|
function updateYarnrcCatalogDependency({ fileContent, upgrade, }) {
|
|
11
10
|
const { depType, depName } = upgrade;
|
|
12
11
|
const catalogName = depType?.split('.').at(-1);
|
|
13
|
-
if (!is_1.
|
|
12
|
+
if (!(0, is_1.isString)(catalogName)) {
|
|
14
13
|
logger_1.logger.error('No catalogName was found; this is likely an extraction error.');
|
|
15
14
|
return null;
|
|
16
15
|
}
|
|
@@ -36,7 +35,7 @@ function updateYarnrcCatalogDependency({ fileContent, upgrade, }) {
|
|
|
36
35
|
}
|
|
37
36
|
const oldVersion = catalogName === 'default'
|
|
38
37
|
? parsedContents.catalog?.[depName]
|
|
39
|
-
: is_1.
|
|
38
|
+
: (0, is_1.isObject)(parsedContents.catalogs?.[catalogName]) && (0, is_1.isString)(depName)
|
|
40
39
|
? parsedContents.catalogs?.[catalogName][depName]
|
|
41
40
|
: undefined;
|
|
42
41
|
if (oldVersion === newValue) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yarn.js","sourceRoot":"","sources":["../../../../../../lib/modules/manager/npm/update/dependency/yarn.ts"],"names":[],"mappings":";;AAQA,sEAuEC
|
|
1
|
+
{"version":3,"file":"yarn.js","sourceRoot":"","sources":["../../../../../../lib/modules/manager/npm/update/dependency/yarn.ts"],"names":[],"mappings":"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","sourcesContent":["import { isObject, isString } from '@sindresorhus/is';\nimport type { Document } from 'yaml';\nimport { CST, isCollection, isPair, isScalar, parseDocument } from 'yaml';\nimport { logger } from '../../../../../logger';\nimport type { UpdateDependencyConfig } from '../../../types';\nimport { YarnConfig } from '../../schema';\nimport { getNewGitValue, getNewNpmAliasValue } from './common';\n\nexport function updateYarnrcCatalogDependency({\n fileContent,\n upgrade,\n}: UpdateDependencyConfig): string | null {\n const { depType, depName } = upgrade;\n\n const catalogName = depType?.split('.').at(-1);\n\n if (!isString(catalogName)) {\n logger.error(\n 'No catalogName was found; this is likely an extraction error.',\n );\n return null;\n }\n\n let { newValue } = upgrade;\n\n newValue = getNewGitValue(upgrade) ?? newValue;\n newValue = getNewNpmAliasValue(newValue, upgrade) ?? newValue;\n\n logger.trace(\n `npm.updateYarnrcCatalogDependency(): ${depType}::${catalogName}.${depName} = ${newValue}`,\n );\n\n let document: ReturnType<typeof parseDocument>;\n let parsedContents: YarnConfig;\n\n try {\n // In order to preserve the original formatting as much as possible, we want\n // manipulate the CST directly. Using the AST (the result of parseDocument)\n // does not guarantee that formatting would be the same after\n // stringification. However, the CST is more annoying to query for certain\n // values. Thus, we use both an annotated AST and a JS representation; the\n // former for manipulation, and the latter for querying/validation.\n document = parseDocument(fileContent, { keepSourceTokens: true });\n parsedContents = YarnConfig.parse(document.toString());\n } catch (err) {\n logger.debug({ err }, 'Could not parse yarnrc YAML file.');\n return null;\n }\n\n const oldVersion =\n catalogName === 'default'\n ? parsedContents.catalog?.[depName!]\n : isObject(parsedContents.catalogs?.[catalogName]) && isString(depName)\n ? parsedContents.catalogs?.[catalogName][depName]\n : undefined;\n\n if (oldVersion === newValue) {\n logger.trace('Version is already updated');\n return fileContent;\n }\n\n // Update the value\n const path = getDepPath({\n depName: depName!,\n catalogName,\n });\n\n const modifiedDocument = changeDependencyIn(document, path, {\n newValue,\n newName: upgrade.newName,\n });\n\n if (!modifiedDocument) {\n // Case where we are explicitly unable to substitute the key/value, for\n // example if the value was an alias.\n return null;\n }\n\n return CST.stringify(modifiedDocument.contents!.srcToken!);\n}\n\n/**\n * Change the scalar name and/or value of a collection item in a YAML document,\n * while keeping formatting consistent. Mutates the given document.\n */\nfunction changeDependencyIn(\n document: Document,\n path: string[],\n { newName, newValue }: { newName?: string; newValue?: string },\n): Document | null {\n const parentPath = path.slice(0, -1);\n const relevantItemKey = path.at(-1);\n\n const parentNode = document.getIn(parentPath);\n\n if (!parentNode || !isCollection(parentNode)) {\n return null;\n }\n\n const relevantNode = parentNode.items.find(\n (item) =>\n isPair(item) && isScalar(item.key) && item.key.value === relevantItemKey,\n );\n\n if (!relevantNode || !isPair(relevantNode)) {\n return null;\n }\n\n if (newName) {\n /* the try..catch block above already throws if a key is an alias */\n CST.setScalarValue(relevantNode.srcToken!.key!, newName);\n }\n\n if (newValue) {\n // We only support scalar values when substituting. This explicitly avoids\n // substituting aliases, since those can be resolved from a shared location,\n // and replacing either the referrent anchor or the alias would be wrong in\n // the general case. We leave this up to the user, e.g. via a Regex custom\n // manager.\n if (!CST.isScalar(relevantNode.srcToken?.value)) {\n return null;\n }\n CST.setScalarValue(relevantNode.srcToken.value, newValue);\n }\n\n return document;\n}\n\nfunction getDepPath({\n catalogName,\n depName,\n}: {\n catalogName: string;\n depName: string;\n}): string[] {\n if (catalogName === 'default') {\n return ['catalog', depName];\n } else {\n return ['catalogs', catalogName, depName];\n }\n}\n"]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createNuGetConfigXml = createNuGetConfigXml;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const is_1 =
|
|
5
|
+
const is_1 = require("@sindresorhus/is");
|
|
6
6
|
const hostRules = tslib_1.__importStar(require("../../../util/host-rules"));
|
|
7
7
|
const regex_1 = require("../../../util/regex");
|
|
8
8
|
const nuget_1 = require("../../datasource/nuget");
|
|
@@ -20,7 +20,7 @@ function createNuGetConfigXml(registries) {
|
|
|
20
20
|
hostType: nuget_1.NugetDatasource.id,
|
|
21
21
|
url: registry.url,
|
|
22
22
|
});
|
|
23
|
-
if (is_1.
|
|
23
|
+
if ((0, is_1.isNonEmptyString)(password) || (0, is_1.isNonEmptyString)(username)) {
|
|
24
24
|
credentials.push({
|
|
25
25
|
name: registryName,
|
|
26
26
|
password,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-formatter.js","sourceRoot":"","sources":["../../../../lib/modules/manager/nuget/config-formatter.ts"],"names":[],"mappings":";;AAYA,oDA0DC;;AAtED,
|
|
1
|
+
{"version":3,"file":"config-formatter.js","sourceRoot":"","sources":["../../../../lib/modules/manager/nuget/config-formatter.ts"],"names":[],"mappings":"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","sourcesContent":["import { isNonEmptyString } from '@sindresorhus/is';\nimport * as hostRules from '../../../util/host-rules';\nimport { regEx } from '../../../util/regex';\nimport { NugetDatasource } from '../../datasource/nuget';\nimport { parseRegistryUrl } from '../../datasource/nuget/common';\nimport type { ParsedRegistryUrl } from '../../datasource/nuget/types';\nimport type {\n PackageSourceCredential,\n PackageSourceMap,\n Registry,\n} from './types';\n\nexport function createNuGetConfigXml(registries: Registry[]): string {\n let contents = `<?xml version=\"1.0\" encoding=\"utf-8\"?>\\n<configuration>\\n<packageSources>\\n`;\n let unnamedRegistryCount = 0;\n\n const credentials: PackageSourceCredential[] = [];\n const packageSourceMaps: PackageSourceMap[] = [];\n\n for (const registry of registries) {\n const registryName =\n registry.name ?? `Package source ${++unnamedRegistryCount}`;\n const registryInfo = parseRegistryUrl(registry.url);\n\n contents += formatPackageSourceElement(registryInfo, registryName);\n\n const { password, username } = hostRules.find({\n hostType: NugetDatasource.id,\n url: registry.url,\n });\n\n if (isNonEmptyString(password) || isNonEmptyString(username)) {\n credentials.push({\n name: registryName,\n password,\n username,\n });\n }\n\n if (registry.sourceMappedPackagePatterns) {\n packageSourceMaps.push({\n name: registryName,\n patterns: registry.sourceMappedPackagePatterns,\n });\n }\n }\n\n contents += '</packageSources>\\n';\n\n if (credentials.length > 0) {\n contents += '<packageSourceCredentials>\\n';\n\n for (const credential of credentials) {\n contents += formatPackageSourceCredentialElement(credential);\n }\n\n contents += '</packageSourceCredentials>\\n';\n }\n\n if (packageSourceMaps.length > 0) {\n contents += '<packageSourceMapping>\\n';\n for (const packageSourceMap of packageSourceMaps) {\n contents += formatPackageSource(packageSourceMap);\n }\n contents += '</packageSourceMapping>';\n }\n\n contents += '</configuration>\\n';\n\n return contents;\n}\n\nfunction formatPackageSourceElement(\n registryInfo: ParsedRegistryUrl,\n name: string,\n): string {\n let element = `<add key=\"${name}\" value=\"${registryInfo.feedUrl}\" `;\n\n if (registryInfo.protocolVersion) {\n element += `protocolVersion=\"${registryInfo.protocolVersion}\" `;\n }\n\n return `${element}/>\\n`;\n}\n\nfunction formatPackageSourceCredentialElement(\n credential: PackageSourceCredential,\n): string {\n const escapedName = escapeName(credential.name);\n\n let packageSourceCredential = `<${escapedName}>\\n`;\n\n if (credential.username) {\n packageSourceCredential += `<add key=\"Username\" value=\"${credential.username}\" />\\n`;\n }\n\n if (credential.password) {\n packageSourceCredential += `<add key=\"ClearTextPassword\" value=\"${credential.password}\" />\\n`;\n }\n\n packageSourceCredential += `<add key=\"ValidAuthenticationTypes\" value=\"basic\" />`;\n\n packageSourceCredential += `</${escapedName}>\\n`;\n\n return packageSourceCredential;\n}\n\nfunction formatPackageSource(packageSourceMap: PackageSourceMap): string {\n let packageSource = `<packageSource key=\"${packageSourceMap.name}\">\\n`;\n\n for (const pattern of packageSourceMap.patterns) {\n packageSource += `<package pattern=\"${pattern}\" />\\n`;\n }\n\n return `${packageSource}</packageSource>\\n`;\n}\n\nconst charactersToEscape = regEx(/[^A-Za-z0-9\\-_.]/);\n\nfunction escapeName(name: string): string {\n let escapedName = '';\n for (const char of name) {\n if (char.match(charactersToEscape)) {\n escapedName += `_x${char.codePointAt(0)!.toString(16).padStart(4, '0')}_`;\n } else {\n escapedName += char;\n }\n }\n\n return escapedName;\n}\n"]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.extractPackageFile = extractPackageFile;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const is_1 =
|
|
5
|
+
const is_1 = require("@sindresorhus/is");
|
|
6
6
|
const xmldoc_1 = require("xmldoc");
|
|
7
7
|
const logger_1 = require("../../../logger");
|
|
8
8
|
const fs_1 = require("../../../util/fs");
|
|
@@ -33,7 +33,7 @@ function extractDepsFromXml(xmlNode) {
|
|
|
33
33
|
const { name, attr } = child;
|
|
34
34
|
if (name === 'ContainerBaseImage') {
|
|
35
35
|
const { depName, ...dep } = (0, extract_1.getDep)(child.val, true);
|
|
36
|
-
if (is_1.
|
|
36
|
+
if ((0, is_1.isNonEmptyStringAndNotWhitespace)(depName)) {
|
|
37
37
|
results.push({ ...dep, depName, depType: 'docker' });
|
|
38
38
|
}
|
|
39
39
|
}
|
|
@@ -52,7 +52,7 @@ function extractDepsFromXml(xmlNode) {
|
|
|
52
52
|
child.valueWithPath('Version') ??
|
|
53
53
|
attr?.VersionOverride ??
|
|
54
54
|
child.valueWithPath('VersionOverride');
|
|
55
|
-
if (!is_1.
|
|
55
|
+
if (!(0, is_1.isNonEmptyStringAndNotWhitespace)(currentValue)) {
|
|
56
56
|
dep.skipReason = 'invalid-version';
|
|
57
57
|
}
|
|
58
58
|
let sharedVariableName;
|
|
@@ -160,7 +160,7 @@ async function extractPackageFile(content, packageFile, _config) {
|
|
|
160
160
|
currentValue,
|
|
161
161
|
datasource: nuget_1.NugetDatasource.id,
|
|
162
162
|
};
|
|
163
|
-
if (is_1.
|
|
163
|
+
if ((0, is_1.isString)(currentValue) && semver.isVersion(currentValue)) {
|
|
164
164
|
// This is to avoid nuget versioning pinning to [1.2.3]
|
|
165
165
|
dep.versioning = 'semver';
|
|
166
166
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/nuget/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport type { XmlElement } from 'xmldoc';\nimport { XmlDocument } from 'xmldoc';\nimport { logger } from '../../../logger';\nimport { getSiblingFileName, localPathExists } from '../../../util/fs';\nimport { regEx } from '../../../util/regex';\nimport { NugetDatasource } from '../../datasource/nuget';\nimport * as semver from '../../versioning/semver';\nimport { getDep } from '../dockerfile/extract';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFileContent,\n} from '../types';\nimport { extractMsbuildGlobalManifest } from './extract/global-manifest';\nimport type { DotnetToolsManifest, NugetPackageDependency } from './types';\nimport {\n applyRegistries,\n findVersion,\n getConfiguredRegistries,\n isXmlElement,\n} from './util';\n\n/**\n * https://learn.microsoft.com/nuget/concepts/package-versioning\n * This article mentions that Nuget 3.x and later tries to restore the lowest possible version\n * regarding to given version range.\n * 1.3.4 equals [1.3.4,)\n */\nconst elemNames = new Set([\n 'PackageReference',\n 'PackageVersion',\n 'DotNetCliToolReference',\n 'GlobalPackageReference',\n]);\n\nfunction extractDepsFromXml(xmlNode: XmlDocument): NugetPackageDependency[] {\n const results: NugetPackageDependency[] = [];\n const vars = new Map<string, string>();\n const todo: XmlElement[] = [xmlNode];\n while (todo.length) {\n const child = todo.pop()!;\n const { name, attr } = child;\n\n if (name === 'ContainerBaseImage') {\n const { depName, ...dep } = getDep(child.val, true);\n\n if (is.nonEmptyStringAndNotWhitespace(depName)) {\n results.push({ ...dep, depName, depType: 'docker' });\n }\n } else if (elemNames.has(name)) {\n const depName = attr?.Include || attr?.Update;\n\n if (!depName) {\n continue;\n }\n\n const dep: NugetPackageDependency = {\n datasource: NugetDatasource.id,\n depType: 'nuget',\n depName,\n };\n\n let currentValue: string | undefined =\n attr?.Version ??\n attr?.version ??\n child.valueWithPath('Version') ??\n attr?.VersionOverride ??\n child.valueWithPath('VersionOverride');\n\n if (!is.nonEmptyStringAndNotWhitespace(currentValue)) {\n dep.skipReason = 'invalid-version';\n }\n\n let sharedVariableName: string | undefined;\n\n currentValue = currentValue\n ?.trim()\n ?.replace(/^\\$\\((\\w+)\\)$/, (match, key) => {\n sharedVariableName = key;\n const val = vars.get(key);\n if (val) {\n return val;\n }\n return match;\n });\n\n if (sharedVariableName) {\n if (currentValue === `$(${sharedVariableName})`) {\n // this means that be failed to find/replace the variable\n dep.skipReason = 'contains-variable';\n } else {\n dep.sharedVariableName = sharedVariableName;\n }\n }\n\n dep.currentValue = currentValue;\n results.push(dep);\n } else if (name === 'Sdk') {\n const depName = attr?.Name;\n const version = attr?.Version;\n // if sdk element is present it will always have the Name field but the Version is an optional field\n if (depName && version) {\n results.push({\n depName,\n currentValue: version,\n depType: 'msbuild-sdk',\n datasource: NugetDatasource.id,\n });\n }\n } else if (name === 'Import') {\n const depName = attr?.Sdk;\n const version = attr?.Version;\n if (depName && version) {\n results.push({\n depName,\n currentValue: version,\n depType: 'msbuild-sdk',\n datasource: NugetDatasource.id,\n });\n }\n } else {\n if (name === 'Project') {\n if (attr?.Sdk) {\n const str = attr?.Sdk;\n const [name, version] = str.split('/');\n if (name && version) {\n results.push({\n depName: name,\n depType: 'msbuild-sdk',\n currentValue: version,\n datasource: NugetDatasource.id,\n });\n }\n }\n\n const propertyGroup = child.childNamed('PropertyGroup');\n if (propertyGroup) {\n for (const propChild of propertyGroup.children) {\n if (isXmlElement(propChild)) {\n const { name, val } = propChild;\n if (!['Version', 'TargetFramework'].includes(name)) {\n vars.set(name, val);\n }\n }\n }\n }\n }\n\n todo.push(...child.children.filter(isXmlElement));\n }\n }\n return results;\n}\n\nexport async function extractPackageFile(\n content: string,\n packageFile: string,\n _config: ExtractConfig,\n): Promise<PackageFileContent | null> {\n logger.trace(`nuget.extractPackageFile(${packageFile})`);\n\n const registries = await getConfiguredRegistries(packageFile);\n\n if (packageFile.endsWith('dotnet-tools.json')) {\n const deps: PackageDependency[] = [];\n let manifest: DotnetToolsManifest;\n\n try {\n manifest = JSON.parse(content);\n } catch {\n logger.debug({ packageFile }, `Invalid JSON`);\n return null;\n }\n\n if (manifest.version !== 1) {\n logger.debug({ packageFile }, 'Unsupported dotnet tools version');\n return null;\n }\n\n for (const depName of Object.keys(manifest.tools ?? {})) {\n const tool = manifest.tools[depName];\n const currentValue = tool.version;\n const dep: NugetPackageDependency = {\n depType: 'nuget',\n depName,\n currentValue,\n datasource: NugetDatasource.id,\n };\n if (is.string(currentValue) && semver.isVersion(currentValue)) {\n // This is to avoid nuget versioning pinning to [1.2.3]\n dep.versioning = 'semver';\n }\n\n applyRegistries(dep, registries);\n\n deps.push(dep);\n }\n\n return deps.length ? { deps } : null;\n }\n\n if (packageFile.endsWith('global.json')) {\n return extractMsbuildGlobalManifest(content, packageFile, registries);\n }\n\n // Simple xml validation.\n // Should start with `<` and end with `>` after trimming all whitespace\n if (!regEx(/^\\s*<.+>$/m).test(content.trim())) {\n logger.debug(`NuGet: Skipping ${packageFile} as it is not XML`);\n return null;\n }\n\n let deps: PackageDependency[] = [];\n let packageFileVersion: string | undefined;\n try {\n const parsedXml = new XmlDocument(content);\n deps = extractDepsFromXml(parsedXml).map((dep) =>\n applyRegistries(dep, registries),\n );\n packageFileVersion = findVersion(parsedXml)?.val;\n } catch (err) {\n logger.debug({ err, packageFile }, `Failed to parse XML`);\n }\n\n if (!deps.length) {\n return null;\n }\n\n const res: PackageFileContent = { deps, packageFileVersion };\n const lockFileName = getSiblingFileName(packageFile, 'packages.lock.json');\n if (await localPathExists(lockFileName)) {\n res.lockFiles = [lockFileName];\n }\n return res;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/nuget/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import { isNonEmptyStringAndNotWhitespace, isString } from '@sindresorhus/is';\nimport type { XmlElement } from 'xmldoc';\nimport { XmlDocument } from 'xmldoc';\nimport { logger } from '../../../logger';\nimport { getSiblingFileName, localPathExists } from '../../../util/fs';\nimport { regEx } from '../../../util/regex';\nimport { NugetDatasource } from '../../datasource/nuget';\nimport * as semver from '../../versioning/semver';\nimport { getDep } from '../dockerfile/extract';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFileContent,\n} from '../types';\nimport { extractMsbuildGlobalManifest } from './extract/global-manifest';\nimport type { DotnetToolsManifest, NugetPackageDependency } from './types';\nimport {\n applyRegistries,\n findVersion,\n getConfiguredRegistries,\n isXmlElement,\n} from './util';\n\n/**\n * https://learn.microsoft.com/nuget/concepts/package-versioning\n * This article mentions that Nuget 3.x and later tries to restore the lowest possible version\n * regarding to given version range.\n * 1.3.4 equals [1.3.4,)\n */\nconst elemNames = new Set([\n 'PackageReference',\n 'PackageVersion',\n 'DotNetCliToolReference',\n 'GlobalPackageReference',\n]);\n\nfunction extractDepsFromXml(xmlNode: XmlDocument): NugetPackageDependency[] {\n const results: NugetPackageDependency[] = [];\n const vars = new Map<string, string>();\n const todo: XmlElement[] = [xmlNode];\n while (todo.length) {\n const child = todo.pop()!;\n const { name, attr } = child;\n\n if (name === 'ContainerBaseImage') {\n const { depName, ...dep } = getDep(child.val, true);\n\n if (isNonEmptyStringAndNotWhitespace(depName)) {\n results.push({ ...dep, depName, depType: 'docker' });\n }\n } else if (elemNames.has(name)) {\n const depName = attr?.Include || attr?.Update;\n\n if (!depName) {\n continue;\n }\n\n const dep: NugetPackageDependency = {\n datasource: NugetDatasource.id,\n depType: 'nuget',\n depName,\n };\n\n let currentValue: string | undefined =\n attr?.Version ??\n attr?.version ??\n child.valueWithPath('Version') ??\n attr?.VersionOverride ??\n child.valueWithPath('VersionOverride');\n\n if (!isNonEmptyStringAndNotWhitespace(currentValue)) {\n dep.skipReason = 'invalid-version';\n }\n\n let sharedVariableName: string | undefined;\n\n currentValue = currentValue\n ?.trim()\n ?.replace(/^\\$\\((\\w+)\\)$/, (match, key) => {\n sharedVariableName = key;\n const val = vars.get(key);\n if (val) {\n return val;\n }\n return match;\n });\n\n if (sharedVariableName) {\n if (currentValue === `$(${sharedVariableName})`) {\n // this means that be failed to find/replace the variable\n dep.skipReason = 'contains-variable';\n } else {\n dep.sharedVariableName = sharedVariableName;\n }\n }\n\n dep.currentValue = currentValue;\n results.push(dep);\n } else if (name === 'Sdk') {\n const depName = attr?.Name;\n const version = attr?.Version;\n // if sdk element is present it will always have the Name field but the Version is an optional field\n if (depName && version) {\n results.push({\n depName,\n currentValue: version,\n depType: 'msbuild-sdk',\n datasource: NugetDatasource.id,\n });\n }\n } else if (name === 'Import') {\n const depName = attr?.Sdk;\n const version = attr?.Version;\n if (depName && version) {\n results.push({\n depName,\n currentValue: version,\n depType: 'msbuild-sdk',\n datasource: NugetDatasource.id,\n });\n }\n } else {\n if (name === 'Project') {\n if (attr?.Sdk) {\n const str = attr?.Sdk;\n const [name, version] = str.split('/');\n if (name && version) {\n results.push({\n depName: name,\n depType: 'msbuild-sdk',\n currentValue: version,\n datasource: NugetDatasource.id,\n });\n }\n }\n\n const propertyGroup = child.childNamed('PropertyGroup');\n if (propertyGroup) {\n for (const propChild of propertyGroup.children) {\n if (isXmlElement(propChild)) {\n const { name, val } = propChild;\n if (!['Version', 'TargetFramework'].includes(name)) {\n vars.set(name, val);\n }\n }\n }\n }\n }\n\n todo.push(...child.children.filter(isXmlElement));\n }\n }\n return results;\n}\n\nexport async function extractPackageFile(\n content: string,\n packageFile: string,\n _config: ExtractConfig,\n): Promise<PackageFileContent | null> {\n logger.trace(`nuget.extractPackageFile(${packageFile})`);\n\n const registries = await getConfiguredRegistries(packageFile);\n\n if (packageFile.endsWith('dotnet-tools.json')) {\n const deps: PackageDependency[] = [];\n let manifest: DotnetToolsManifest;\n\n try {\n manifest = JSON.parse(content);\n } catch {\n logger.debug({ packageFile }, `Invalid JSON`);\n return null;\n }\n\n if (manifest.version !== 1) {\n logger.debug({ packageFile }, 'Unsupported dotnet tools version');\n return null;\n }\n\n for (const depName of Object.keys(manifest.tools ?? {})) {\n const tool = manifest.tools[depName];\n const currentValue = tool.version;\n const dep: NugetPackageDependency = {\n depType: 'nuget',\n depName,\n currentValue,\n datasource: NugetDatasource.id,\n };\n if (isString(currentValue) && semver.isVersion(currentValue)) {\n // This is to avoid nuget versioning pinning to [1.2.3]\n dep.versioning = 'semver';\n }\n\n applyRegistries(dep, registries);\n\n deps.push(dep);\n }\n\n return deps.length ? { deps } : null;\n }\n\n if (packageFile.endsWith('global.json')) {\n return extractMsbuildGlobalManifest(content, packageFile, registries);\n }\n\n // Simple xml validation.\n // Should start with `<` and end with `>` after trimming all whitespace\n if (!regEx(/^\\s*<.+>$/m).test(content.trim())) {\n logger.debug(`NuGet: Skipping ${packageFile} as it is not XML`);\n return null;\n }\n\n let deps: PackageDependency[] = [];\n let packageFileVersion: string | undefined;\n try {\n const parsedXml = new XmlDocument(content);\n deps = extractDepsFromXml(parsedXml).map((dep) =>\n applyRegistries(dep, registries),\n );\n packageFileVersion = findVersion(parsedXml)?.val;\n } catch (err) {\n logger.debug({ err, packageFile }, `Failed to parse XML`);\n }\n\n if (!deps.length) {\n return null;\n }\n\n const res: PackageFileContent = { deps, packageFileVersion };\n const lockFileName = getSiblingFileName(packageFile, 'packages.lock.json');\n if (await localPathExists(lockFileName)) {\n res.lockFiles = [lockFileName];\n }\n return res;\n}\n"]}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.MSBUILD_CENTRAL_FILE = exports.NUGET_CENTRAL_FILE = exports.GLOBAL_JSON = void 0;
|
|
4
4
|
exports.getDependentPackageFiles = getDependentPackageFiles;
|
|
5
5
|
const tslib_1 = require("tslib");
|
|
6
|
-
const is_1 =
|
|
6
|
+
const is_1 = require("@sindresorhus/is");
|
|
7
7
|
const graph_data_structure_1 = require("graph-data-structure");
|
|
8
8
|
const upath_1 = tslib_1.__importDefault(require("upath"));
|
|
9
9
|
const logger_1 = require("../../../logger");
|
|
@@ -47,7 +47,7 @@ async function getDependentPackageFiles(packageFileName, isCentralManagement = f
|
|
|
47
47
|
.map((ig) => ig.childrenNamed('ProjectReference'))
|
|
48
48
|
.flat()
|
|
49
49
|
.map((pf) => pf.attr.Include)
|
|
50
|
-
.filter(is_1.
|
|
50
|
+
.filter(is_1.isNonEmptyString);
|
|
51
51
|
const projectReferences = projectReferenceAttributes.map((a) => upath_1.default.normalize(a));
|
|
52
52
|
const normalizedRelativeProjectReferences = projectReferences.map((r) => reframeRelativePathToRootOfRepo(f, r));
|
|
53
53
|
for (const ref of normalizedRelativeProjectReferences) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-tree.js","sourceRoot":"","sources":["../../../../lib/modules/manager/nuget/package-tree.ts"],"names":[],"mappings":";;;AAgBA,4DAyEC;;AAzFD,
|
|
1
|
+
{"version":3,"file":"package-tree.js","sourceRoot":"","sources":["../../../../lib/modules/manager/nuget/package-tree.ts"],"names":[],"mappings":"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","sourcesContent":["import { isNonEmptyString } from '@sindresorhus/is';\nimport { Graph, hasCycle } from 'graph-data-structure';\nimport upath from 'upath';\nimport { logger } from '../../../logger';\nimport { minimatchFilter } from '../../../util/minimatch';\nimport { scm } from '../../platform/scm';\nimport type { ProjectFile } from './types';\nimport { readFileAsXmlDocument } from './util';\n\nexport const GLOBAL_JSON = 'global.json';\nexport const NUGET_CENTRAL_FILE = 'Directory.Packages.props';\nexport const MSBUILD_CENTRAL_FILE = 'Packages.props';\n\n/**\n * Get all leaf package files of ancestry that depend on packageFileName.\n */\nexport async function getDependentPackageFiles(\n packageFileName: string,\n isCentralManagement = false,\n isGlobalJson = false,\n): Promise<ProjectFile[]> {\n const packageFiles = await getAllPackageFiles();\n const graph = new Graph();\n\n if (isCentralManagement) {\n graph.addNode(packageFileName);\n }\n\n if (isGlobalJson) {\n graph.addNode(GLOBAL_JSON);\n }\n\n const parentDir =\n packageFileName === NUGET_CENTRAL_FILE ||\n packageFileName === MSBUILD_CENTRAL_FILE ||\n packageFileName === GLOBAL_JSON\n ? ''\n : upath.dirname(packageFileName);\n\n for (const f of packageFiles) {\n graph.addNode(f);\n\n if (\n (isCentralManagement || isGlobalJson) &&\n upath.dirname(f).startsWith(parentDir)\n ) {\n graph.addEdge(packageFileName, f);\n }\n }\n\n for (const f of packageFiles) {\n const doc = await readFileAsXmlDocument(f);\n if (!doc) {\n continue;\n }\n\n const projectReferenceAttributes = doc\n .childrenNamed('ItemGroup')\n .map((ig) => ig.childrenNamed('ProjectReference'))\n .flat()\n .map((pf) => pf.attr.Include)\n .filter(isNonEmptyString);\n\n const projectReferences = projectReferenceAttributes.map((a) =>\n upath.normalize(a),\n );\n const normalizedRelativeProjectReferences = projectReferences.map((r) =>\n reframeRelativePathToRootOfRepo(f, r),\n );\n\n for (const ref of normalizedRelativeProjectReferences) {\n graph.addEdge(ref, f);\n }\n\n if (hasCycle(graph)) {\n throw new Error('Circular reference detected in NuGet package files');\n }\n }\n\n const deps = new Map<string, boolean>();\n recursivelyGetDependentPackageFiles(packageFileName, graph, deps);\n\n if (isCentralManagement || isGlobalJson) {\n // remove props file, as we don't need it\n deps.delete(packageFileName);\n }\n\n // deduplicate\n return Array.from(deps).map(([name, isLeaf]) => ({ name, isLeaf }));\n}\n\n/**\n * Traverse graph and find dependent package files at any level of ancestry\n */\nfunction recursivelyGetDependentPackageFiles(\n packageFileName: string,\n graph: Graph,\n deps: Map<string, boolean>,\n): void {\n if (deps.has(packageFileName)) {\n // we have already visited this package file\n return;\n }\n\n const dependents = graph.adjacent(packageFileName);\n\n if (!dependents || dependents.size === 0) {\n deps.set(packageFileName, true);\n return;\n }\n\n deps.set(packageFileName, false);\n\n for (const dep of dependents) {\n recursivelyGetDependentPackageFiles(dep, graph, deps);\n }\n}\n\n/**\n * Take the path relative from a project file, and make it relative from the root of the repo\n */\nfunction reframeRelativePathToRootOfRepo(\n dependentProjectRelativePath: string,\n projectReference: string,\n): string {\n const virtualRepoRoot = '/';\n const absoluteDependentProjectPath = upath.resolve(\n virtualRepoRoot,\n dependentProjectRelativePath,\n );\n const absoluteProjectReferencePath = upath.resolve(\n upath.dirname(absoluteDependentProjectPath),\n projectReference,\n );\n const relativeProjectReferencePath = upath.relative(\n virtualRepoRoot,\n absoluteProjectReferencePath,\n );\n\n return relativeProjectReferencePath;\n}\n\n/**\n * Get a list of package files in localDir\n */\nasync function getAllPackageFiles(): Promise<string[]> {\n const allFiles = await scm.getFileList();\n const filteredPackageFiles = allFiles.filter(\n minimatchFilter('*.{cs,vb,fs}proj', { matchBase: true, nocase: true }),\n );\n\n logger.trace({ filteredPackageFiles }, 'Found package files');\n\n return filteredPackageFiles;\n}\n"]}
|
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.extractPackageFile = extractPackageFile;
|
|
4
4
|
exports.processModule = processModule;
|
|
5
|
-
const
|
|
6
|
-
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
5
|
+
const is_1 = require("@sindresorhus/is");
|
|
7
6
|
const logger_1 = require("../../../logger");
|
|
8
7
|
const regex_1 = require("../../../util/regex");
|
|
9
8
|
const yaml_1 = require("../../../util/yaml");
|
|
@@ -47,7 +46,7 @@ function extractPackageFile(content, packageFile, _config) {
|
|
|
47
46
|
}
|
|
48
47
|
function processModule(module, depType) {
|
|
49
48
|
const deps = [];
|
|
50
|
-
if (is_1.
|
|
49
|
+
if ((0, is_1.isNullOrUndefined)(module)) {
|
|
51
50
|
return deps;
|
|
52
51
|
}
|
|
53
52
|
for (const element of module) {
|