renovate 42.4.0 → 42.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/decrypt.js +13 -14
- package/dist/config/decrypt.js.map +1 -1
- package/dist/config/massage.js +6 -7
- package/dist/config/massage.js.map +1 -1
- package/dist/config/migrate-validate.js +3 -3
- package/dist/config/migrate-validate.js.map +1 -1
- package/dist/config/migration.js +19 -20
- package/dist/config/migration.js.map +1 -1
- package/dist/config/migrations/base/abstract-migration.js +5 -6
- package/dist/config/migrations/base/abstract-migration.js.map +1 -1
- package/dist/config/migrations/custom/automerge-major-migration.js +2 -3
- package/dist/config/migrations/custom/automerge-major-migration.js.map +1 -1
- package/dist/config/migrations/custom/automerge-migration.js +4 -5
- package/dist/config/migrations/custom/automerge-migration.js.map +1 -1
- package/dist/config/migrations/custom/automerge-minor-migration.js +2 -3
- package/dist/config/migrations/custom/automerge-minor-migration.js.map +1 -1
- package/dist/config/migrations/custom/automerge-patch-migration.js +2 -3
- package/dist/config/migrations/custom/automerge-patch-migration.js.map +1 -1
- package/dist/config/migrations/custom/automerge-type-migration.js +2 -3
- package/dist/config/migrations/custom/automerge-type-migration.js.map +1 -1
- package/dist/config/migrations/custom/base-branch-migration.js +3 -4
- package/dist/config/migrations/custom/base-branch-migration.js.map +1 -1
- package/dist/config/migrations/custom/branch-name-migration.js +2 -3
- package/dist/config/migrations/custom/branch-name-migration.js.map +1 -1
- package/dist/config/migrations/custom/branch-prefix-migration.js +2 -3
- package/dist/config/migrations/custom/branch-prefix-migration.js.map +1 -1
- package/dist/config/migrations/custom/compatibility-migration.js +2 -3
- package/dist/config/migrations/custom/compatibility-migration.js.map +1 -1
- package/dist/config/migrations/custom/composer-ignore-platform-reqs-migration.js +2 -3
- package/dist/config/migrations/custom/composer-ignore-platform-reqs-migration.js.map +1 -1
- package/dist/config/migrations/custom/custom-managers-migration.js +2 -3
- package/dist/config/migrations/custom/custom-managers-migration.js.map +1 -1
- package/dist/config/migrations/custom/datasource-migration.js +2 -3
- package/dist/config/migrations/custom/datasource-migration.js.map +1 -1
- package/dist/config/migrations/custom/dep-types-migration.js +4 -5
- package/dist/config/migrations/custom/dep-types-migration.js.map +1 -1
- package/dist/config/migrations/custom/enabled-managers-migration.js +2 -3
- package/dist/config/migrations/custom/enabled-managers-migration.js.map +1 -1
- package/dist/config/migrations/custom/extends-migration.js +4 -5
- package/dist/config/migrations/custom/extends-migration.js.map +1 -1
- package/dist/config/migrations/custom/fetch-release-notes-migration.js +2 -3
- package/dist/config/migrations/custom/fetch-release-notes-migration.js.map +1 -1
- package/dist/config/migrations/custom/file-match-migration.js +3 -4
- package/dist/config/migrations/custom/file-match-migration.js.map +1 -1
- package/dist/config/migrations/custom/host-rules-migration.js +6 -7
- package/dist/config/migrations/custom/host-rules-migration.js.map +1 -1
- package/dist/config/migrations/custom/ignore-npmrc-file-migration.js +2 -3
- package/dist/config/migrations/custom/ignore-npmrc-file-migration.js.map +1 -1
- package/dist/config/migrations/custom/include-forks-migration.js +2 -3
- package/dist/config/migrations/custom/include-forks-migration.js.map +1 -1
- package/dist/config/migrations/custom/match-datasources-migration.js +2 -3
- package/dist/config/migrations/custom/match-datasources-migration.js.map +1 -1
- package/dist/config/migrations/custom/match-managers-migration.js +2 -3
- package/dist/config/migrations/custom/match-managers-migration.js.map +1 -1
- package/dist/config/migrations/custom/match-strings-migration.js +2 -3
- package/dist/config/migrations/custom/match-strings-migration.js.map +1 -1
- package/dist/config/migrations/custom/package-files-migration.js +6 -7
- package/dist/config/migrations/custom/package-files-migration.js.map +1 -1
- package/dist/config/migrations/custom/package-rules-migration.js +15 -16
- package/dist/config/migrations/custom/package-rules-migration.js.map +1 -1
- package/dist/config/migrations/custom/packages-migration.js +3 -4
- package/dist/config/migrations/custom/packages-migration.js.map +1 -1
- package/dist/config/migrations/custom/path-rules-migration.js +3 -4
- package/dist/config/migrations/custom/path-rules-migration.js.map +1 -1
- package/dist/config/migrations/custom/pin-versions-migration.js +2 -3
- package/dist/config/migrations/custom/pin-versions-migration.js.map +1 -1
- package/dist/config/migrations/custom/platform-commit-migration.js +2 -3
- package/dist/config/migrations/custom/platform-commit-migration.js.map +1 -1
- package/dist/config/migrations/custom/post-update-options-migration.js +2 -3
- package/dist/config/migrations/custom/post-update-options-migration.js.map +1 -1
- package/dist/config/migrations/custom/rebase-stale-prs-migration.js +2 -3
- package/dist/config/migrations/custom/rebase-stale-prs-migration.js.map +1 -1
- package/dist/config/migrations/custom/recreate-closed-migration.js +2 -3
- package/dist/config/migrations/custom/recreate-closed-migration.js.map +1 -1
- package/dist/config/migrations/custom/renovate-fork-migration.js +2 -3
- package/dist/config/migrations/custom/renovate-fork-migration.js.map +1 -1
- package/dist/config/migrations/custom/schedule-migration.js +4 -4
- package/dist/config/migrations/custom/schedule-migration.js.map +1 -1
- package/dist/config/migrations/custom/semantic-commits-migration.js +2 -3
- package/dist/config/migrations/custom/semantic-commits-migration.js.map +1 -1
- package/dist/config/migrations/custom/semantic-prefix-migration.js +2 -3
- package/dist/config/migrations/custom/semantic-prefix-migration.js.map +1 -1
- package/dist/config/migrations/custom/stability-days-migration.js +2 -3
- package/dist/config/migrations/custom/stability-days-migration.js.map +1 -1
- package/dist/config/migrations/custom/suppress-notifications-migration.js +2 -3
- package/dist/config/migrations/custom/suppress-notifications-migration.js.map +1 -1
- package/dist/config/migrations/custom/unpublish-safe-migration.js +2 -3
- package/dist/config/migrations/custom/unpublish-safe-migration.js.map +1 -1
- package/dist/config/migrations/migrations-service.js +2 -3
- package/dist/config/migrations/migrations-service.js.map +1 -1
- package/dist/config/presets/github/index.js +2 -3
- package/dist/config/presets/github/index.js.map +1 -1
- package/dist/config/presets/gitlab/index.js +2 -3
- package/dist/config/presets/gitlab/index.js.map +1 -1
- package/dist/config/presets/index.js +8 -8
- package/dist/config/presets/index.js.map +1 -1
- package/dist/config/presets/parse.js +2 -3
- package/dist/config/presets/parse.js.map +1 -1
- package/dist/config/secrets.js +3 -4
- package/dist/config/secrets.js.map +1 -1
- package/dist/config/validation-helpers/match-base-branches.js +2 -3
- package/dist/config/validation-helpers/match-base-branches.js.map +1 -1
- package/dist/config/validation-helpers/regex-glob-matchers.js +2 -3
- package/dist/config/validation-helpers/regex-glob-matchers.js.map +1 -1
- package/dist/config/validation-helpers/utils.js +6 -6
- package/dist/config/validation-helpers/utils.js.map +1 -1
- package/dist/config/validation.js +29 -29
- package/dist/config/validation.js.map +1 -1
- package/dist/instrumentation/reporting.js +7 -8
- package/dist/instrumentation/reporting.js.map +1 -1
- package/dist/instrumentation/utils.js +2 -3
- package/dist/instrumentation/utils.js.map +1 -1
- package/dist/logger/err-serializer.js +2 -2
- package/dist/logger/err-serializer.js.map +1 -1
- package/dist/logger/index.js +3 -3
- package/dist/logger/index.js.map +1 -1
- package/dist/logger/renovate-logger.js +4 -5
- package/dist/logger/renovate-logger.js.map +1 -1
- package/dist/logger/utils.js +19 -19
- package/dist/logger/utils.js.map +1 -1
- package/dist/modules/datasource/aws-eks-addon/index.js +2 -2
- package/dist/modules/datasource/aws-eks-addon/index.js.map +1 -1
- package/dist/modules/datasource/bazel/index.js +2 -2
- package/dist/modules/datasource/bazel/index.js.map +1 -1
- package/dist/modules/datasource/bitrise/index.js +2 -2
- package/dist/modules/datasource/bitrise/index.js.map +1 -1
- package/dist/modules/datasource/common.js +4 -4
- package/dist/modules/datasource/common.js.map +1 -1
- package/dist/modules/datasource/conan/index.js +3 -3
- package/dist/modules/datasource/conan/index.js.map +1 -1
- package/dist/modules/datasource/custom/formats/html.js +2 -5
- package/dist/modules/datasource/custom/formats/html.js.map +1 -1
- package/dist/modules/datasource/custom/index.js +2 -3
- package/dist/modules/datasource/custom/index.js.map +1 -1
- package/dist/modules/datasource/custom/utils.js +4 -4
- package/dist/modules/datasource/custom/utils.js.map +1 -1
- package/dist/modules/datasource/dart-version/index.js +2 -3
- package/dist/modules/datasource/dart-version/index.js.map +1 -1
- package/dist/modules/datasource/deno/index.js +2 -2
- package/dist/modules/datasource/deno/index.js.map +1 -1
- package/dist/modules/datasource/docker/common.js +5 -5
- package/dist/modules/datasource/docker/common.js.map +1 -1
- package/dist/modules/datasource/docker/index.js +6 -6
- package/dist/modules/datasource/docker/index.js.map +1 -1
- package/dist/modules/datasource/endoflife-date/index.js +2 -2
- package/dist/modules/datasource/endoflife-date/index.js.map +1 -1
- package/dist/modules/datasource/galaxy/index.js +2 -2
- package/dist/modules/datasource/galaxy/index.js.map +1 -1
- package/dist/modules/datasource/galaxy-collection/index.js +2 -2
- package/dist/modules/datasource/galaxy-collection/index.js.map +1 -1
- package/dist/modules/datasource/git-refs/base.js +2 -2
- package/dist/modules/datasource/git-refs/base.js.map +1 -1
- package/dist/modules/datasource/github-release-attachments/index.js +2 -2
- package/dist/modules/datasource/github-release-attachments/index.js.map +1 -1
- package/dist/modules/datasource/github-releases/index.js +2 -3
- package/dist/modules/datasource/github-releases/index.js.map +1 -1
- package/dist/modules/datasource/github-tags/index.js +2 -3
- package/dist/modules/datasource/github-tags/index.js.map +1 -1
- package/dist/modules/datasource/go/goproxy-parser.js +3 -3
- package/dist/modules/datasource/go/goproxy-parser.js.map +1 -1
- package/dist/modules/datasource/go/index.js +2 -2
- package/dist/modules/datasource/go/index.js.map +1 -1
- package/dist/modules/datasource/go/releases-goproxy.js +3 -3
- package/dist/modules/datasource/go/releases-goproxy.js.map +1 -1
- package/dist/modules/datasource/hackage/index.js +2 -2
- package/dist/modules/datasource/hackage/index.js.map +1 -1
- package/dist/modules/datasource/hex/schema.js +2 -3
- package/dist/modules/datasource/hex/schema.js.map +1 -1
- package/dist/modules/datasource/hexpm-bob/index.js +2 -2
- package/dist/modules/datasource/hexpm-bob/index.js.map +1 -1
- package/dist/modules/datasource/index.js +14 -14
- package/dist/modules/datasource/index.js.map +1 -1
- package/dist/modules/datasource/jsr/index.js +2 -2
- package/dist/modules/datasource/jsr/index.js.map +1 -1
- package/dist/modules/datasource/jsr/util.js +3 -4
- package/dist/modules/datasource/jsr/util.js.map +1 -1
- package/dist/modules/datasource/metadata.js +5 -5
- package/dist/modules/datasource/metadata.js.map +1 -1
- package/dist/modules/datasource/npm/get.js +2 -2
- package/dist/modules/datasource/npm/get.js.map +1 -1
- package/dist/modules/datasource/npm/npmrc.js +7 -7
- package/dist/modules/datasource/npm/npmrc.js.map +1 -1
- package/dist/modules/datasource/nuget/v3.js +2 -2
- package/dist/modules/datasource/nuget/v3.js.map +1 -1
- package/dist/modules/datasource/packagist/index.js +2 -2
- package/dist/modules/datasource/packagist/index.js.map +1 -1
- package/dist/modules/datasource/packagist/schema.js +3 -4
- package/dist/modules/datasource/packagist/schema.js.map +1 -1
- package/dist/modules/datasource/pypi/index.js +2 -2
- package/dist/modules/datasource/pypi/index.js.map +1 -1
- package/dist/modules/datasource/repology/index.js +3 -3
- package/dist/modules/datasource/repology/index.js.map +1 -1
- package/dist/modules/datasource/rubygems/schema.js +5 -6
- package/dist/modules/datasource/rubygems/schema.js.map +1 -1
- package/dist/modules/datasource/util.js +2 -3
- package/dist/modules/datasource/util.js.map +1 -1
- package/dist/modules/manager/argocd/extract.js +3 -4
- package/dist/modules/manager/argocd/extract.js.map +1 -1
- package/dist/modules/manager/asdf/extract.js +2 -3
- package/dist/modules/manager/asdf/extract.js.map +1 -1
- package/dist/modules/manager/bazel/artifacts.js +2 -2
- package/dist/modules/manager/bazel/artifacts.js.map +1 -1
- package/dist/modules/manager/bazel/common.js +4 -5
- package/dist/modules/manager/bazel/common.js.map +1 -1
- package/dist/modules/manager/bazel/rules/http.js +3 -4
- package/dist/modules/manager/bazel/rules/http.js.map +1 -1
- package/dist/modules/manager/bazel/rules/maven.js +2 -3
- package/dist/modules/manager/bazel/rules/maven.js.map +1 -1
- package/dist/modules/manager/bazel-module/parser/starlark.js +2 -3
- package/dist/modules/manager/bazel-module/parser/starlark.js.map +1 -1
- package/dist/modules/manager/bazel-module/rules.js +3 -3
- package/dist/modules/manager/bazel-module/rules.js.map +1 -1
- package/dist/modules/manager/bitrise/utils.js +3 -4
- package/dist/modules/manager/bitrise/utils.js.map +1 -1
- package/dist/modules/manager/buildpacks/extract.js +2 -3
- package/dist/modules/manager/buildpacks/extract.js.map +1 -1
- package/dist/modules/manager/bun/artifacts.js +2 -2
- package/dist/modules/manager/bun/artifacts.js.map +1 -1
- package/dist/modules/manager/bun/extract.js +2 -3
- package/dist/modules/manager/bun/extract.js.map +1 -1
- package/dist/modules/manager/bundler/artifacts.js +3 -3
- package/dist/modules/manager/bundler/artifacts.js.map +1 -1
- package/dist/modules/manager/bundler/extract.js +5 -6
- package/dist/modules/manager/bundler/extract.js.map +1 -1
- package/dist/modules/manager/cargo/extract.js +3 -4
- package/dist/modules/manager/cargo/extract.js.map +1 -1
- package/dist/modules/manager/composer/artifacts.js +3 -3
- package/dist/modules/manager/composer/artifacts.js.map +1 -1
- package/dist/modules/manager/composer/utils.js +3 -4
- package/dist/modules/manager/composer/utils.js.map +1 -1
- package/dist/modules/manager/conan/extract.js +2 -3
- package/dist/modules/manager/conan/extract.js.map +1 -1
- package/dist/modules/manager/copier/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/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 +1 -1
- package/renovate-schema.json +2 -2
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.extractPackageFile = extractPackageFile;
|
|
4
4
|
exports.extractAllPackageFiles = extractAllPackageFiles;
|
|
5
5
|
const tslib_1 = require("tslib");
|
|
6
|
-
const is_1 =
|
|
6
|
+
const is_1 = require("@sindresorhus/is");
|
|
7
7
|
const upath_1 = tslib_1.__importDefault(require("upath"));
|
|
8
8
|
const global_1 = require("../../../../config/global");
|
|
9
9
|
const logger_1 = require("../../../../logger");
|
|
@@ -17,7 +17,7 @@ const post_1 = require("./post");
|
|
|
17
17
|
const yarn_1 = require("./yarn");
|
|
18
18
|
const yarnrc_1 = require("./yarnrc");
|
|
19
19
|
function hasMultipleLockFiles(lockFiles) {
|
|
20
|
-
return Object.values(lockFiles).filter(is_1.
|
|
20
|
+
return Object.values(lockFiles).filter(is_1.isString).length > 1;
|
|
21
21
|
}
|
|
22
22
|
async function extractPackageFile(content, packageFile, config) {
|
|
23
23
|
logger_1.logger.trace(`npm.extractPackageFile(${packageFile})`);
|
|
@@ -35,7 +35,7 @@ async function extractPackageFile(content, packageFile, config) {
|
|
|
35
35
|
return null;
|
|
36
36
|
}
|
|
37
37
|
let workspacesPackages;
|
|
38
|
-
if (is_1.
|
|
38
|
+
if ((0, is_1.isArray)(packageJson.workspaces)) {
|
|
39
39
|
workspacesPackages = packageJson.workspaces;
|
|
40
40
|
}
|
|
41
41
|
else {
|
|
@@ -66,8 +66,8 @@ async function extractPackageFile(content, packageFile, config) {
|
|
|
66
66
|
const npmrcFileName = await (0, fs_1.findLocalSiblingOrParent)(packageFile, '.npmrc');
|
|
67
67
|
if (npmrcFileName) {
|
|
68
68
|
let repoNpmrc = await (0, fs_1.readLocalFile)(npmrcFileName, 'utf8');
|
|
69
|
-
if (is_1.
|
|
70
|
-
if (is_1.
|
|
69
|
+
if ((0, is_1.isString)(repoNpmrc)) {
|
|
70
|
+
if ((0, is_1.isString)(config.npmrc) && !config.npmrcMerge) {
|
|
71
71
|
logger_1.logger.debug({ npmrcFileName }, 'Repo .npmrc file is ignored due to config.npmrc with config.npmrcMerge=false');
|
|
72
72
|
npmrc = config.npmrc;
|
|
73
73
|
}
|
|
@@ -93,7 +93,7 @@ async function extractPackageFile(content, packageFile, config) {
|
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
|
-
else if (is_1.
|
|
96
|
+
else if ((0, is_1.isString)(config.npmrc)) {
|
|
97
97
|
npmrc = config.npmrc;
|
|
98
98
|
}
|
|
99
99
|
const yarnrcYmlFileName = await (0, fs_1.findLocalSiblingOrParent)(packageFile, '.yarnrc.yml');
|
|
@@ -104,14 +104,14 @@ async function extractPackageFile(content, packageFile, config) {
|
|
|
104
104
|
const repoYarnrcYml = yarnrcYmlFileName
|
|
105
105
|
? await (0, fs_1.readLocalFile)(yarnrcYmlFileName, 'utf8')
|
|
106
106
|
: null;
|
|
107
|
-
if (is_1.
|
|
107
|
+
if ((0, is_1.isString)(repoYarnrcYml) && repoYarnrcYml.trim().length > 0) {
|
|
108
108
|
yarnrcConfig = (0, yarnrc_1.loadConfigFromYarnrcYml)(repoYarnrcYml);
|
|
109
109
|
}
|
|
110
110
|
const legacyYarnrcFileName = await (0, fs_1.findLocalSiblingOrParent)(packageFile, '.yarnrc');
|
|
111
111
|
const repoLegacyYarnrc = legacyYarnrcFileName
|
|
112
112
|
? await (0, fs_1.readLocalFile)(legacyYarnrcFileName, 'utf8')
|
|
113
113
|
: null;
|
|
114
|
-
if (is_1.
|
|
114
|
+
if ((0, is_1.isString)(repoLegacyYarnrc) && repoLegacyYarnrc.trim().length > 0) {
|
|
115
115
|
yarnrcConfig = (0, yarnrc_1.loadConfigFromLegacyYarnrc)(repoLegacyYarnrc);
|
|
116
116
|
}
|
|
117
117
|
if (res.deps.length === 0) {
|
|
@@ -160,8 +160,8 @@ async function extractPackageFile(content, packageFile, config) {
|
|
|
160
160
|
...res.managerData,
|
|
161
161
|
...lockFiles,
|
|
162
162
|
yarnZeroInstall,
|
|
163
|
-
hasPackageManager: is_1.
|
|
164
|
-
is_1.
|
|
163
|
+
hasPackageManager: (0, is_1.isNonEmptyStringAndNotWhitespace)(packageJson.packageManager) ||
|
|
164
|
+
(0, is_1.isNonEmptyObject)(packageJson.devEngines?.packageManager),
|
|
165
165
|
workspacesPackages,
|
|
166
166
|
npmrcFileName, // store npmrc file name so we can later tell if it came from the workspace or not
|
|
167
167
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/extract/index.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport upath from 'upath';\nimport { GlobalConfig } from '../../../../config/global';\nimport { logger } from '../../../../logger';\nimport {\n findLocalSiblingOrParent,\n getSiblingFileName,\n readLocalFile,\n} from '../../../../util/fs';\nimport { newlineRegex, regEx } from '../../../../util/regex';\nimport { NpmDatasource } from '../../../datasource/npm';\n\nimport type {\n ExtractConfig,\n PackageFile,\n PackageFileContent,\n} from '../../types';\nimport type { YarnConfig } from '../schema';\nimport type { NpmLockFiles, NpmManagerData } from '../types';\nimport { getExtractedConstraints } from './common/dependency';\nimport { extractPackageJson, hasPackageManager } from './common/package-file';\nimport { extractPnpmWorkspaceFile, tryParsePnpmWorkspaceYaml } from './pnpm';\nimport { postExtract } from './post';\nimport type { NpmPackage } from './types';\nimport { extractYarnCatalogs, isZeroInstall } from './yarn';\nimport {\n loadConfigFromLegacyYarnrc,\n loadConfigFromYarnrcYml,\n resolveRegistryUrl,\n} from './yarnrc';\n\nfunction hasMultipleLockFiles(lockFiles: NpmLockFiles): boolean {\n return Object.values(lockFiles).filter(is.string).length > 1;\n}\n\nexport async function extractPackageFile(\n content: string,\n packageFile: string,\n config: ExtractConfig,\n): Promise<PackageFileContent<NpmManagerData> | null> {\n logger.trace(`npm.extractPackageFile(${packageFile})`);\n logger.trace({ content });\n let packageJson: NpmPackage;\n try {\n packageJson = JSON.parse(content);\n } catch {\n logger.debug({ packageFile }, `Invalid JSON`);\n return null;\n }\n\n const res = extractPackageJson(packageJson, packageFile);\n if (!res) {\n return null;\n }\n\n let workspacesPackages: string[] | undefined;\n if (is.array(packageJson.workspaces)) {\n workspacesPackages = packageJson.workspaces;\n } else {\n workspacesPackages = packageJson.workspaces?.packages;\n }\n\n const lockFiles: NpmLockFiles = {\n yarnLock: 'yarn.lock',\n packageLock: 'package-lock.json',\n shrinkwrapJson: 'npm-shrinkwrap.json',\n pnpmShrinkwrap: 'pnpm-lock.yaml',\n };\n\n for (const [key, val] of Object.entries(lockFiles) as [\n 'yarnLock' | 'packageLock' | 'shrinkwrapJson' | 'pnpmShrinkwrap',\n string,\n ][]) {\n const filePath = getSiblingFileName(packageFile, val);\n if (await readLocalFile(filePath, 'utf8')) {\n lockFiles[key] = filePath;\n } else {\n lockFiles[key] = undefined;\n }\n }\n lockFiles.npmLock = lockFiles.packageLock ?? lockFiles.shrinkwrapJson;\n delete lockFiles.packageLock;\n delete lockFiles.shrinkwrapJson;\n\n if (hasMultipleLockFiles(lockFiles)) {\n logger.warn(\n 'Updating multiple npm lock files is deprecated and support will be removed in future versions.',\n );\n }\n\n let npmrc: string | undefined;\n const npmrcFileName = await findLocalSiblingOrParent(packageFile, '.npmrc');\n if (npmrcFileName) {\n let repoNpmrc = await readLocalFile(npmrcFileName, 'utf8');\n if (is.string(repoNpmrc)) {\n if (is.string(config.npmrc) && !config.npmrcMerge) {\n logger.debug(\n { npmrcFileName },\n 'Repo .npmrc file is ignored due to config.npmrc with config.npmrcMerge=false',\n );\n npmrc = config.npmrc;\n } else {\n npmrc = config.npmrc ?? '';\n if (npmrc.length) {\n if (!npmrc.endsWith('\\n')) {\n npmrc += '\\n';\n }\n }\n if (repoNpmrc?.includes('package-lock')) {\n logger.debug('Stripping package-lock setting from .npmrc');\n repoNpmrc = repoNpmrc.replace(\n regEx(/(^|\\n)package-lock.*?(\\n|$)/g),\n '\\n',\n );\n }\n if (repoNpmrc.includes('=${') && !GlobalConfig.get('exposeAllEnv')) {\n logger.debug(\n { npmrcFileName },\n 'Stripping .npmrc file of lines with variables',\n );\n repoNpmrc = repoNpmrc\n .split(newlineRegex)\n .filter((line) => !line.includes('=${'))\n .join('\\n');\n }\n npmrc += repoNpmrc;\n }\n }\n } else if (is.string(config.npmrc)) {\n npmrc = config.npmrc;\n }\n\n const yarnrcYmlFileName = await findLocalSiblingOrParent(\n packageFile,\n '.yarnrc.yml',\n );\n const yarnZeroInstall = yarnrcYmlFileName\n ? await isZeroInstall(yarnrcYmlFileName)\n : false;\n\n let yarnrcConfig: YarnConfig | null = null;\n const repoYarnrcYml = yarnrcYmlFileName\n ? await readLocalFile(yarnrcYmlFileName, 'utf8')\n : null;\n if (is.string(repoYarnrcYml) && repoYarnrcYml.trim().length > 0) {\n yarnrcConfig = loadConfigFromYarnrcYml(repoYarnrcYml);\n }\n\n const legacyYarnrcFileName = await findLocalSiblingOrParent(\n packageFile,\n '.yarnrc',\n );\n const repoLegacyYarnrc = legacyYarnrcFileName\n ? await readLocalFile(legacyYarnrcFileName, 'utf8')\n : null;\n if (is.string(repoLegacyYarnrc) && repoLegacyYarnrc.trim().length > 0) {\n yarnrcConfig = loadConfigFromLegacyYarnrc(repoLegacyYarnrc);\n }\n\n if (res.deps.length === 0) {\n logger.debug('Package file has no deps');\n if (\n !(\n !!res.managerData?.packageJsonName ||\n !!res.packageFileVersion ||\n !!npmrc ||\n workspacesPackages\n )\n ) {\n logger.debug('Skipping file');\n return null;\n }\n }\n let skipInstalls = config.skipInstalls;\n if (skipInstalls === null) {\n const hasFancyRefs = !!res.deps.some(\n (dep) =>\n !!dep.currentValue?.startsWith('file:') ||\n !!dep.currentValue?.startsWith('npm:'),\n );\n if ((hasFancyRefs && !!lockFiles.npmLock) || yarnZeroInstall) {\n // https://github.com/npm/cli/issues/1432\n // Explanation:\n // - npm install --package-lock-only is buggy for transitive deps in file: and npm: references\n // - So we set skipInstalls to false if file: or npm: refs are found *and* the user hasn't explicitly set the value already\n // - Also, do not skip install if Yarn zero-install is used\n logger.debug('Automatically setting skipInstalls to false');\n skipInstalls = false;\n } else {\n skipInstalls = true;\n }\n }\n\n const extractedConstraints = getExtractedConstraints(res.deps);\n\n if (yarnrcConfig) {\n for (const dep of res.deps) {\n if (dep.depName) {\n const registryUrlFromYarnrcConfig = resolveRegistryUrl(\n dep.packageName ?? dep.depName,\n yarnrcConfig,\n );\n if (\n registryUrlFromYarnrcConfig &&\n dep.datasource === NpmDatasource.id\n ) {\n dep.registryUrls = [registryUrlFromYarnrcConfig];\n }\n }\n }\n }\n\n return {\n ...res,\n npmrc,\n managerData: {\n ...res.managerData,\n ...lockFiles,\n yarnZeroInstall,\n hasPackageManager:\n is.nonEmptyStringAndNotWhitespace(packageJson.packageManager) ||\n is.nonEmptyObject(packageJson.devEngines?.packageManager),\n workspacesPackages,\n npmrcFileName, // store npmrc file name so we can later tell if it came from the workspace or not\n },\n skipInstalls,\n extractedConstraints,\n };\n}\n\nexport async function extractAllPackageFiles(\n config: ExtractConfig,\n packageFiles: string[],\n): Promise<PackageFile<NpmManagerData>[]> {\n const npmFiles: PackageFile<NpmManagerData>[] = [];\n for (const packageFile of packageFiles) {\n const content = await readLocalFile(packageFile, 'utf8');\n if (content) {\n // pnpm workspace files are their own package file, defined via managerFilePatterns.\n // We duck-type the content here, to allow users to rename the file itself.\n const parsedPnpmWorkspaceYaml = tryParsePnpmWorkspaceYaml(content);\n if (parsedPnpmWorkspaceYaml.success) {\n logger.trace(\n { packageFile },\n `Extracting file as a pnpm workspace YAML file`,\n );\n const deps = await extractPnpmWorkspaceFile(\n parsedPnpmWorkspaceYaml.data,\n packageFile,\n );\n if (deps) {\n npmFiles.push({\n ...deps,\n packageFile,\n });\n }\n } else {\n if (packageFile.endsWith('json')) {\n logger.trace({ packageFile }, `Extracting as a package.json file`);\n\n const deps = await extractPackageFile(content, packageFile, config);\n if (deps) {\n npmFiles.push({\n ...deps,\n packageFile,\n });\n }\n } else {\n logger.trace({ packageFile }, `Extracting as a .yarnrc.yml file`);\n\n const yarnConfig = loadConfigFromYarnrcYml(content);\n\n if (yarnConfig?.catalogs || yarnConfig?.catalog) {\n const hasPackageManagerResult = await hasPackageManager(\n upath.dirname(packageFile),\n );\n const catalogsDeps = await extractYarnCatalogs(\n { catalog: yarnConfig.catalog, catalogs: yarnConfig.catalogs },\n packageFile,\n hasPackageManagerResult,\n );\n if (catalogsDeps) {\n npmFiles.push({\n ...catalogsDeps,\n packageFile,\n });\n }\n }\n }\n }\n } else {\n logger.debug({ packageFile }, `No content found`);\n }\n }\n\n await postExtract(npmFiles);\n return npmFiles;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/extract/index.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n isArray,\n isNonEmptyObject,\n isNonEmptyStringAndNotWhitespace,\n isString,\n} from '@sindresorhus/is';\nimport upath from 'upath';\nimport { GlobalConfig } from '../../../../config/global';\nimport { logger } from '../../../../logger';\nimport {\n findLocalSiblingOrParent,\n getSiblingFileName,\n readLocalFile,\n} from '../../../../util/fs';\nimport { newlineRegex, regEx } from '../../../../util/regex';\nimport { NpmDatasource } from '../../../datasource/npm';\n\nimport type {\n ExtractConfig,\n PackageFile,\n PackageFileContent,\n} from '../../types';\nimport type { YarnConfig } from '../schema';\nimport type { NpmLockFiles, NpmManagerData } from '../types';\nimport { getExtractedConstraints } from './common/dependency';\nimport { extractPackageJson, hasPackageManager } from './common/package-file';\nimport { extractPnpmWorkspaceFile, tryParsePnpmWorkspaceYaml } from './pnpm';\nimport { postExtract } from './post';\nimport type { NpmPackage } from './types';\nimport { extractYarnCatalogs, isZeroInstall } from './yarn';\nimport {\n loadConfigFromLegacyYarnrc,\n loadConfigFromYarnrcYml,\n resolveRegistryUrl,\n} from './yarnrc';\n\nfunction hasMultipleLockFiles(lockFiles: NpmLockFiles): boolean {\n return Object.values(lockFiles).filter(isString).length > 1;\n}\n\nexport async function extractPackageFile(\n content: string,\n packageFile: string,\n config: ExtractConfig,\n): Promise<PackageFileContent<NpmManagerData> | null> {\n logger.trace(`npm.extractPackageFile(${packageFile})`);\n logger.trace({ content });\n let packageJson: NpmPackage;\n try {\n packageJson = JSON.parse(content);\n } catch {\n logger.debug({ packageFile }, `Invalid JSON`);\n return null;\n }\n\n const res = extractPackageJson(packageJson, packageFile);\n if (!res) {\n return null;\n }\n\n let workspacesPackages: string[] | undefined;\n if (isArray(packageJson.workspaces)) {\n workspacesPackages = packageJson.workspaces;\n } else {\n workspacesPackages = packageJson.workspaces?.packages;\n }\n\n const lockFiles: NpmLockFiles = {\n yarnLock: 'yarn.lock',\n packageLock: 'package-lock.json',\n shrinkwrapJson: 'npm-shrinkwrap.json',\n pnpmShrinkwrap: 'pnpm-lock.yaml',\n };\n\n for (const [key, val] of Object.entries(lockFiles) as [\n 'yarnLock' | 'packageLock' | 'shrinkwrapJson' | 'pnpmShrinkwrap',\n string,\n ][]) {\n const filePath = getSiblingFileName(packageFile, val);\n if (await readLocalFile(filePath, 'utf8')) {\n lockFiles[key] = filePath;\n } else {\n lockFiles[key] = undefined;\n }\n }\n lockFiles.npmLock = lockFiles.packageLock ?? lockFiles.shrinkwrapJson;\n delete lockFiles.packageLock;\n delete lockFiles.shrinkwrapJson;\n\n if (hasMultipleLockFiles(lockFiles)) {\n logger.warn(\n 'Updating multiple npm lock files is deprecated and support will be removed in future versions.',\n );\n }\n\n let npmrc: string | undefined;\n const npmrcFileName = await findLocalSiblingOrParent(packageFile, '.npmrc');\n if (npmrcFileName) {\n let repoNpmrc = await readLocalFile(npmrcFileName, 'utf8');\n if (isString(repoNpmrc)) {\n if (isString(config.npmrc) && !config.npmrcMerge) {\n logger.debug(\n { npmrcFileName },\n 'Repo .npmrc file is ignored due to config.npmrc with config.npmrcMerge=false',\n );\n npmrc = config.npmrc;\n } else {\n npmrc = config.npmrc ?? '';\n if (npmrc.length) {\n if (!npmrc.endsWith('\\n')) {\n npmrc += '\\n';\n }\n }\n if (repoNpmrc?.includes('package-lock')) {\n logger.debug('Stripping package-lock setting from .npmrc');\n repoNpmrc = repoNpmrc.replace(\n regEx(/(^|\\n)package-lock.*?(\\n|$)/g),\n '\\n',\n );\n }\n if (repoNpmrc.includes('=${') && !GlobalConfig.get('exposeAllEnv')) {\n logger.debug(\n { npmrcFileName },\n 'Stripping .npmrc file of lines with variables',\n );\n repoNpmrc = repoNpmrc\n .split(newlineRegex)\n .filter((line) => !line.includes('=${'))\n .join('\\n');\n }\n npmrc += repoNpmrc;\n }\n }\n } else if (isString(config.npmrc)) {\n npmrc = config.npmrc;\n }\n\n const yarnrcYmlFileName = await findLocalSiblingOrParent(\n packageFile,\n '.yarnrc.yml',\n );\n const yarnZeroInstall = yarnrcYmlFileName\n ? await isZeroInstall(yarnrcYmlFileName)\n : false;\n\n let yarnrcConfig: YarnConfig | null = null;\n const repoYarnrcYml = yarnrcYmlFileName\n ? await readLocalFile(yarnrcYmlFileName, 'utf8')\n : null;\n if (isString(repoYarnrcYml) && repoYarnrcYml.trim().length > 0) {\n yarnrcConfig = loadConfigFromYarnrcYml(repoYarnrcYml);\n }\n\n const legacyYarnrcFileName = await findLocalSiblingOrParent(\n packageFile,\n '.yarnrc',\n );\n const repoLegacyYarnrc = legacyYarnrcFileName\n ? await readLocalFile(legacyYarnrcFileName, 'utf8')\n : null;\n if (isString(repoLegacyYarnrc) && repoLegacyYarnrc.trim().length > 0) {\n yarnrcConfig = loadConfigFromLegacyYarnrc(repoLegacyYarnrc);\n }\n\n if (res.deps.length === 0) {\n logger.debug('Package file has no deps');\n if (\n !(\n !!res.managerData?.packageJsonName ||\n !!res.packageFileVersion ||\n !!npmrc ||\n workspacesPackages\n )\n ) {\n logger.debug('Skipping file');\n return null;\n }\n }\n let skipInstalls = config.skipInstalls;\n if (skipInstalls === null) {\n const hasFancyRefs = !!res.deps.some(\n (dep) =>\n !!dep.currentValue?.startsWith('file:') ||\n !!dep.currentValue?.startsWith('npm:'),\n );\n if ((hasFancyRefs && !!lockFiles.npmLock) || yarnZeroInstall) {\n // https://github.com/npm/cli/issues/1432\n // Explanation:\n // - npm install --package-lock-only is buggy for transitive deps in file: and npm: references\n // - So we set skipInstalls to false if file: or npm: refs are found *and* the user hasn't explicitly set the value already\n // - Also, do not skip install if Yarn zero-install is used\n logger.debug('Automatically setting skipInstalls to false');\n skipInstalls = false;\n } else {\n skipInstalls = true;\n }\n }\n\n const extractedConstraints = getExtractedConstraints(res.deps);\n\n if (yarnrcConfig) {\n for (const dep of res.deps) {\n if (dep.depName) {\n const registryUrlFromYarnrcConfig = resolveRegistryUrl(\n dep.packageName ?? dep.depName,\n yarnrcConfig,\n );\n if (\n registryUrlFromYarnrcConfig &&\n dep.datasource === NpmDatasource.id\n ) {\n dep.registryUrls = [registryUrlFromYarnrcConfig];\n }\n }\n }\n }\n\n return {\n ...res,\n npmrc,\n managerData: {\n ...res.managerData,\n ...lockFiles,\n yarnZeroInstall,\n hasPackageManager:\n isNonEmptyStringAndNotWhitespace(packageJson.packageManager) ||\n isNonEmptyObject(packageJson.devEngines?.packageManager),\n workspacesPackages,\n npmrcFileName, // store npmrc file name so we can later tell if it came from the workspace or not\n },\n skipInstalls,\n extractedConstraints,\n };\n}\n\nexport async function extractAllPackageFiles(\n config: ExtractConfig,\n packageFiles: string[],\n): Promise<PackageFile<NpmManagerData>[]> {\n const npmFiles: PackageFile<NpmManagerData>[] = [];\n for (const packageFile of packageFiles) {\n const content = await readLocalFile(packageFile, 'utf8');\n if (content) {\n // pnpm workspace files are their own package file, defined via managerFilePatterns.\n // We duck-type the content here, to allow users to rename the file itself.\n const parsedPnpmWorkspaceYaml = tryParsePnpmWorkspaceYaml(content);\n if (parsedPnpmWorkspaceYaml.success) {\n logger.trace(\n { packageFile },\n `Extracting file as a pnpm workspace YAML file`,\n );\n const deps = await extractPnpmWorkspaceFile(\n parsedPnpmWorkspaceYaml.data,\n packageFile,\n );\n if (deps) {\n npmFiles.push({\n ...deps,\n packageFile,\n });\n }\n } else {\n if (packageFile.endsWith('json')) {\n logger.trace({ packageFile }, `Extracting as a package.json file`);\n\n const deps = await extractPackageFile(content, packageFile, config);\n if (deps) {\n npmFiles.push({\n ...deps,\n packageFile,\n });\n }\n } else {\n logger.trace({ packageFile }, `Extracting as a .yarnrc.yml file`);\n\n const yarnConfig = loadConfigFromYarnrcYml(content);\n\n if (yarnConfig?.catalogs || yarnConfig?.catalog) {\n const hasPackageManagerResult = await hasPackageManager(\n upath.dirname(packageFile),\n );\n const catalogsDeps = await extractYarnCatalogs(\n { catalog: yarnConfig.catalog, catalogs: yarnConfig.catalogs },\n packageFile,\n hasPackageManagerResult,\n );\n if (catalogsDeps) {\n npmFiles.push({\n ...catalogsDeps,\n packageFile,\n });\n }\n }\n }\n }\n } else {\n logger.debug({ packageFile }, `No content found`);\n }\n }\n\n await postExtract(npmFiles);\n return npmFiles;\n}\n"]}
|
|
@@ -7,7 +7,7 @@ exports.getPnpmLock = getPnpmLock;
|
|
|
7
7
|
exports.tryParsePnpmWorkspaceYaml = tryParsePnpmWorkspaceYaml;
|
|
8
8
|
exports.extractPnpmWorkspaceFile = extractPnpmWorkspaceFile;
|
|
9
9
|
const tslib_1 = require("tslib");
|
|
10
|
-
const is_1 =
|
|
10
|
+
const is_1 = require("@sindresorhus/is");
|
|
11
11
|
const find_packages_1 = require("find-packages");
|
|
12
12
|
const upath_1 = tslib_1.__importDefault(require("upath"));
|
|
13
13
|
const global_1 = require("../../../../config/global");
|
|
@@ -17,14 +17,14 @@ const yaml_1 = require("../../../../util/yaml");
|
|
|
17
17
|
const schema_1 = require("../schema");
|
|
18
18
|
const catalogs_1 = require("./common/catalogs");
|
|
19
19
|
function isPnpmLockfile(obj) {
|
|
20
|
-
return is_1.
|
|
20
|
+
return (0, is_1.isPlainObject)(obj) && 'lockfileVersion' in obj;
|
|
21
21
|
}
|
|
22
22
|
async function extractPnpmFilters(fileName) {
|
|
23
23
|
try {
|
|
24
24
|
// TODO: use schema (#9610,#22198)
|
|
25
25
|
const contents = (0, yaml_1.parseSingleYaml)((await (0, fs_1.readLocalFile)(fileName, 'utf8')));
|
|
26
26
|
if (!Array.isArray(contents.packages) ||
|
|
27
|
-
!contents.packages.every((item) => is_1.
|
|
27
|
+
!contents.packages.every((item) => (0, is_1.isString)(item))) {
|
|
28
28
|
logger_1.logger.trace({ fileName }, 'Failed to find required "packages" array in pnpm-workspace.yaml');
|
|
29
29
|
return undefined;
|
|
30
30
|
}
|
|
@@ -106,7 +106,7 @@ async function getPnpmLock(filePath) {
|
|
|
106
106
|
}
|
|
107
107
|
logger_1.logger.trace({ lockParsed }, 'pnpm lockfile parsed');
|
|
108
108
|
// field lockfileVersion is type string in lockfileVersion = 6 and type number in < 6
|
|
109
|
-
const lockfileVersion = is_1.
|
|
109
|
+
const lockfileVersion = (0, is_1.isNumber)(lockParsed.lockfileVersion)
|
|
110
110
|
? lockParsed.lockfileVersion
|
|
111
111
|
: parseFloat(lockParsed.lockfileVersion);
|
|
112
112
|
const lockedVersions = getLockedVersions(lockParsed);
|
|
@@ -124,7 +124,7 @@ async function getPnpmLock(filePath) {
|
|
|
124
124
|
}
|
|
125
125
|
function getLockedCatalogVersions(lockParsed) {
|
|
126
126
|
const lockedVersions = {};
|
|
127
|
-
if (is_1.
|
|
127
|
+
if ((0, is_1.isNonEmptyObject)(lockParsed.catalogs)) {
|
|
128
128
|
for (const [catalog, dependencies] of Object.entries(lockParsed.catalogs)) {
|
|
129
129
|
const versions = {};
|
|
130
130
|
for (const [dep, versionCarrier] of Object.entries(dependencies)) {
|
|
@@ -138,7 +138,7 @@ function getLockedCatalogVersions(lockParsed) {
|
|
|
138
138
|
function getLockedVersions(lockParsed) {
|
|
139
139
|
const lockedVersions = {};
|
|
140
140
|
// monorepo
|
|
141
|
-
if (is_1.
|
|
141
|
+
if ((0, is_1.isNonEmptyObject)(lockParsed.importers)) {
|
|
142
142
|
for (const [importer, imports] of Object.entries(lockParsed.importers)) {
|
|
143
143
|
lockedVersions[importer] = getLockedDependencyVersions(imports);
|
|
144
144
|
}
|
|
@@ -160,7 +160,7 @@ function getLockedDependencyVersions(obj) {
|
|
|
160
160
|
res[depType] = {};
|
|
161
161
|
for (const [pkgName, versionCarrier] of Object.entries(obj[depType] ?? {})) {
|
|
162
162
|
let version;
|
|
163
|
-
if (is_1.
|
|
163
|
+
if ((0, is_1.isObject)(versionCarrier)) {
|
|
164
164
|
version = versionCarrier.version;
|
|
165
165
|
}
|
|
166
166
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pnpm.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/extract/pnpm.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { findPackages } from 'find-packages';\nimport upath from 'upath';\nimport type { z } from 'zod';\nimport { GlobalConfig } from '../../../../config/global';\nimport { logger } from '../../../../logger';\nimport {\n findLocalSiblingOrParent,\n getSiblingFileName,\n localPathExists,\n readLocalFile,\n} from '../../../../util/fs';\nimport { parseSingleYaml } from '../../../../util/yaml';\nimport type { PackageFile, PackageFileContent } from '../../types';\nimport type { PnpmDependency, PnpmLockFile } from '../post-update/types';\nimport type { PnpmCatalogs } from '../schema';\nimport { PnpmWorkspaceFile } from '../schema';\nimport type { NpmManagerData } from '../types';\nimport { extractCatalogDeps } from './common/catalogs';\nimport type { Catalog, LockFile } from './types';\n\nfunction isPnpmLockfile(obj: any): obj is PnpmLockFile {\n return is.plainObject(obj) && 'lockfileVersion' in obj;\n}\n\nexport async function extractPnpmFilters(\n fileName: string,\n): Promise<string[] | undefined> {\n try {\n // TODO: use schema (#9610,#22198)\n const contents = parseSingleYaml<PnpmWorkspaceFile>(\n (await readLocalFile(fileName, 'utf8'))!,\n );\n if (\n !Array.isArray(contents.packages) ||\n !contents.packages.every((item) => is.string(item))\n ) {\n logger.trace(\n { fileName },\n 'Failed to find required \"packages\" array in pnpm-workspace.yaml',\n );\n return undefined;\n }\n return contents.packages;\n } catch (err) {\n logger.trace({ fileName, err }, 'Failed to parse pnpm-workspace.yaml');\n return undefined;\n }\n}\n\nexport async function findPnpmWorkspace(\n packageFile: string,\n): Promise<{ lockFilePath: string; workspaceYamlPath: string } | null> {\n // search for pnpm-workspace.yaml\n const workspaceYamlPath = await findLocalSiblingOrParent(\n packageFile,\n 'pnpm-workspace.yaml',\n );\n if (!workspaceYamlPath) {\n logger.trace(\n { packageFile },\n 'Failed to locate pnpm-workspace.yaml in a parent directory.',\n );\n return null;\n }\n\n // search for pnpm-lock.yaml next to pnpm-workspace.yaml\n const pnpmLockfilePath = getSiblingFileName(\n workspaceYamlPath,\n 'pnpm-lock.yaml',\n );\n if (!(await localPathExists(pnpmLockfilePath))) {\n logger.trace(\n { workspaceYamlPath, packageFile },\n 'Failed to find a pnpm-lock.yaml sibling for the workspace.',\n );\n return null;\n }\n\n return {\n lockFilePath: pnpmLockfilePath,\n workspaceYamlPath,\n };\n}\n\nexport async function detectPnpmWorkspaces(\n packageFiles: Partial<PackageFile<NpmManagerData>>[],\n): Promise<void> {\n logger.debug(`Detecting pnpm Workspaces`);\n const packagePathCache = new Map<string, string[] | null>();\n\n for (const p of packageFiles) {\n const { packageFile, managerData } = p;\n const pnpmShrinkwrap = managerData?.pnpmShrinkwrap;\n\n // check if pnpmShrinkwrap-file has already been provided\n if (pnpmShrinkwrap) {\n logger.trace(\n { packageFile, pnpmShrinkwrap },\n 'Found an existing pnpm shrinkwrap file; skipping pnpm monorepo check.',\n );\n continue;\n }\n\n // search for corresponding pnpm workspace\n // TODO #22198\n const pnpmWorkspace = await findPnpmWorkspace(packageFile!);\n if (pnpmWorkspace === null) {\n continue;\n }\n const { workspaceYamlPath, lockFilePath } = pnpmWorkspace;\n\n // check if package matches workspace filter\n if (!packagePathCache.has(workspaceYamlPath)) {\n const filters = await extractPnpmFilters(workspaceYamlPath);\n const localDir = GlobalConfig.get('localDir');\n const packages = await findPackages(\n upath.dirname(upath.join(localDir, workspaceYamlPath)),\n {\n patterns: filters,\n // Match the ignores used in @pnpm/find-workspace-packages\n ignore: ['**/node_modules/**', '**/bower_components/**'],\n },\n );\n const packagePaths = packages.map((pkg) =>\n upath.join(pkg.dir, 'package.json'),\n );\n packagePathCache.set(workspaceYamlPath, packagePaths);\n }\n const packagePaths = packagePathCache.get(workspaceYamlPath);\n\n const isPackageInWorkspace = packagePaths?.some((p) =>\n p.endsWith(packageFile!),\n );\n\n if (isPackageInWorkspace) {\n p.managerData ??= {};\n p.managerData.pnpmShrinkwrap = lockFilePath;\n } else {\n logger.trace(\n { packageFile, workspaceYamlPath },\n `Didn't find the package in the pnpm workspace`,\n );\n }\n }\n}\n\nexport async function getPnpmLock(filePath: string): Promise<LockFile> {\n try {\n const pnpmLockRaw = await readLocalFile(filePath, 'utf8');\n if (!pnpmLockRaw) {\n throw new Error('Unable to read pnpm-lock.yaml');\n }\n\n const lockParsed = parseSingleYaml(pnpmLockRaw);\n if (!isPnpmLockfile(lockParsed)) {\n throw new Error('Invalid or empty lockfile');\n }\n logger.trace({ lockParsed }, 'pnpm lockfile parsed');\n\n // field lockfileVersion is type string in lockfileVersion = 6 and type number in < 6\n const lockfileVersion: number = is.number(lockParsed.lockfileVersion)\n ? lockParsed.lockfileVersion\n : parseFloat(lockParsed.lockfileVersion);\n\n const lockedVersions = getLockedVersions(lockParsed);\n const lockedCatalogVersions = getLockedCatalogVersions(lockParsed);\n\n return {\n lockedVersionsWithPath: lockedVersions,\n lockedVersionsWithCatalog: lockedCatalogVersions,\n lockfileVersion,\n };\n } catch (err) {\n logger.debug({ filePath, err }, 'Warning: Exception parsing pnpm lockfile');\n return { lockedVersions: {} };\n }\n}\n\nfunction getLockedCatalogVersions(\n lockParsed: PnpmLockFile,\n): Record<string, Record<string, string>> {\n const lockedVersions: Record<string, Record<string, string>> = {};\n\n if (is.nonEmptyObject(lockParsed.catalogs)) {\n for (const [catalog, dependencies] of Object.entries(lockParsed.catalogs)) {\n const versions: Record<string, string> = {};\n\n for (const [dep, versionCarrier] of Object.entries(dependencies)) {\n versions[dep] = versionCarrier.version;\n }\n\n lockedVersions[catalog] = versions;\n }\n }\n\n return lockedVersions;\n}\n\nfunction getLockedVersions(\n lockParsed: PnpmLockFile,\n): Record<string, Record<string, Record<string, string>>> {\n const lockedVersions: Record<\n string,\n Record<string, Record<string, string>>\n > = {};\n\n // monorepo\n if (is.nonEmptyObject(lockParsed.importers)) {\n for (const [importer, imports] of Object.entries(lockParsed.importers)) {\n lockedVersions[importer] = getLockedDependencyVersions(imports);\n }\n }\n // normal repo\n else {\n lockedVersions['.'] = getLockedDependencyVersions(lockParsed);\n }\n\n return lockedVersions;\n}\n\nfunction getLockedDependencyVersions(\n obj: PnpmLockFile | Record<string, PnpmDependency>,\n): Record<string, Record<string, string>> {\n const dependencyTypes = [\n 'dependencies',\n 'devDependencies',\n 'optionalDependencies',\n ] as const;\n\n const res: Record<string, Record<string, string>> = {};\n for (const depType of dependencyTypes) {\n res[depType] = {};\n for (const [pkgName, versionCarrier] of Object.entries(\n obj[depType] ?? {},\n )) {\n let version: string;\n if (is.object(versionCarrier)) {\n version = versionCarrier.version;\n } else {\n version = versionCarrier;\n }\n\n const pkgVersion = version.split('(')[0].trim();\n res[depType][pkgName] = pkgVersion;\n }\n }\n\n return res;\n}\n\nexport function tryParsePnpmWorkspaceYaml(content: string):\n | {\n success: true;\n data: PnpmWorkspaceFile;\n }\n | { success: false; data?: never } {\n try {\n const data = parseSingleYaml(content, {\n customSchema: PnpmWorkspaceFile,\n });\n return { success: true, data };\n } catch {\n return { success: false };\n }\n}\n\ntype PnpmCatalogs = z.TypeOf<typeof PnpmCatalogs>;\n\nexport async function extractPnpmWorkspaceFile(\n catalogs: PnpmCatalogs,\n packageFile: string,\n): Promise<PackageFileContent<NpmManagerData> | null> {\n logger.trace(`pnpm.extractPnpmWorkspaceFile(${packageFile})`);\n\n const pnpmCatalogs = pnpmCatalogsToArray(catalogs);\n\n const deps = extractCatalogDeps(pnpmCatalogs);\n\n let pnpmShrinkwrap;\n const filePath = getSiblingFileName(packageFile, 'pnpm-lock.yaml');\n\n if (await readLocalFile(filePath, 'utf8')) {\n pnpmShrinkwrap = filePath;\n }\n\n return {\n deps,\n managerData: {\n pnpmShrinkwrap,\n },\n };\n}\n\nfunction pnpmCatalogsToArray({\n catalog: defaultCatalogDeps,\n catalogs: namedCatalogs,\n}: PnpmCatalogs): Catalog[] {\n const result: Catalog[] = [];\n\n if (defaultCatalogDeps !== undefined) {\n result.push({ name: 'default', dependencies: defaultCatalogDeps });\n }\n\n if (!namedCatalogs) {\n return result;\n }\n\n for (const [name, dependencies] of Object.entries(namedCatalogs)) {\n result.push({\n name,\n dependencies,\n });\n }\n\n return result;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"pnpm.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/extract/pnpm.ts"],"names":[],"mappings":";;AA+BA,gDAuBC;AAED,8CAiCC;AAED,oDA4DC;AAED,kCA8BC;AA0ED,8DAcC;AAID,4DAuBC;;AA1SD,yCAM0B;AAC1B,iDAA6C;AAC7C,0DAA0B;AAE1B,sDAAyD;AACzD,+CAA4C;AAC5C,4CAK6B;AAC7B,gDAAwD;AAIxD,sCAA8C;AAE9C,gDAAuD;AAGvD,SAAS,cAAc,CAAC,GAAQ;IAC9B,OAAO,IAAA,kBAAa,EAAC,GAAG,CAAC,IAAI,iBAAiB,IAAI,GAAG,CAAC;AACxD,CAAC;AAEM,KAAK,UAAU,kBAAkB,CACtC,QAAgB;IAEhB,IAAI,CAAC;QACH,kCAAkC;QAClC,MAAM,QAAQ,GAAG,IAAA,sBAAe,EAC9B,CAAC,MAAM,IAAA,kBAAa,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAE,CACzC,CAAC;QACF,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACjC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,aAAQ,EAAC,IAAI,CAAC,CAAC,EAClD,CAAC;YACD,eAAM,CAAC,KAAK,CACV,EAAE,QAAQ,EAAE,EACZ,iEAAiE,CAClE,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,eAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,qCAAqC,CAAC,CAAC;QACvE,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,iBAAiB,CACrC,WAAmB;IAEnB,iCAAiC;IACjC,MAAM,iBAAiB,GAAG,MAAM,IAAA,6BAAwB,EACtD,WAAW,EACX,qBAAqB,CACtB,CAAC;IACF,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,eAAM,CAAC,KAAK,CACV,EAAE,WAAW,EAAE,EACf,6DAA6D,CAC9D,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wDAAwD;IACxD,MAAM,gBAAgB,GAAG,IAAA,uBAAkB,EACzC,iBAAiB,EACjB,gBAAgB,CACjB,CAAC;IACF,IAAI,CAAC,CAAC,MAAM,IAAA,oBAAe,EAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;QAC/C,eAAM,CAAC,KAAK,CACV,EAAE,iBAAiB,EAAE,WAAW,EAAE,EAClC,4DAA4D,CAC7D,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,YAAY,EAAE,gBAAgB;QAC9B,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,oBAAoB,CACxC,YAAoD;IAEpD,eAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC1C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA2B,CAAC;IAE5D,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QAC7B,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;QACvC,MAAM,cAAc,GAAG,WAAW,EAAE,cAAc,CAAC;QAEnD,yDAAyD;QACzD,IAAI,cAAc,EAAE,CAAC;YACnB,eAAM,CAAC,KAAK,CACV,EAAE,WAAW,EAAE,cAAc,EAAE,EAC/B,uEAAuE,CACxE,CAAC;YACF,SAAS;QACX,CAAC;QAED,0CAA0C;QAC1C,cAAc;QACd,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,WAAY,CAAC,CAAC;QAC5D,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YAC3B,SAAS;QACX,CAAC;QACD,MAAM,EAAE,iBAAiB,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC;QAE1D,4CAA4C;QAC5C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;YAC5D,MAAM,QAAQ,GAAG,qBAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,MAAM,IAAA,4BAAY,EACjC,eAAK,CAAC,OAAO,CAAC,eAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,EACtD;gBACE,QAAQ,EAAE,OAAO;gBACjB,0DAA0D;gBAC1D,MAAM,EAAE,CAAC,oBAAoB,EAAE,wBAAwB,CAAC;aACzD,CACF,CAAC;YACF,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACxC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CACpC,CAAC;YACF,gBAAgB,CAAC,GAAG,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAE7D,MAAM,oBAAoB,GAAG,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACpD,CAAC,CAAC,QAAQ,CAAC,WAAY,CAAC,CACzB,CAAC;QAEF,IAAI,oBAAoB,EAAE,CAAC;YACzB,CAAC,CAAC,WAAW,KAAK,EAAE,CAAC;YACrB,CAAC,CAAC,WAAW,CAAC,cAAc,GAAG,YAAY,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,eAAM,CAAC,KAAK,CACV,EAAE,WAAW,EAAE,iBAAiB,EAAE,EAClC,+CAA+C,CAChD,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,QAAgB;IAChD,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,IAAA,kBAAa,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,UAAU,GAAG,IAAA,sBAAe,EAAC,WAAW,CAAC,CAAC;QAChD,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QACD,eAAM,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,EAAE,sBAAsB,CAAC,CAAC;QAErD,qFAAqF;QACrF,MAAM,eAAe,GAAW,IAAA,aAAQ,EAAC,UAAU,CAAC,eAAe,CAAC;YAClE,CAAC,CAAC,UAAU,CAAC,eAAe;YAC5B,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAE3C,MAAM,cAAc,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;QAEnE,OAAO;YACL,sBAAsB,EAAE,cAAc;YACtC,yBAAyB,EAAE,qBAAqB;YAChD,eAAe;SAChB,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,eAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,0CAA0C,CAAC,CAAC;QAC5E,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;IAChC,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAC/B,UAAwB;IAExB,MAAM,cAAc,GAA2C,EAAE,CAAC;IAElE,IAAI,IAAA,qBAAgB,EAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1C,KAAK,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1E,MAAM,QAAQ,GAA2B,EAAE,CAAC;YAE5C,KAAK,MAAM,CAAC,GAAG,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;gBACjE,QAAQ,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC;YACzC,CAAC;YAED,cAAc,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC;QACrC,CAAC;IACH,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,iBAAiB,CACxB,UAAwB;IAExB,MAAM,cAAc,GAGhB,EAAE,CAAC;IAEP,WAAW;IACX,IAAI,IAAA,qBAAgB,EAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACvE,cAAc,CAAC,QAAQ,CAAC,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IACD,cAAc;SACT,CAAC;QACJ,cAAc,CAAC,GAAG,CAAC,GAAG,2BAA2B,CAAC,UAAU,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,2BAA2B,CAClC,GAAkD;IAElD,MAAM,eAAe,GAAG;QACtB,cAAc;QACd,iBAAiB;QACjB,sBAAsB;KACd,CAAC;IAEX,MAAM,GAAG,GAA2C,EAAE,CAAC;IACvD,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;QACtC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QAClB,KAAK,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC,OAAO,CACpD,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CACnB,EAAE,CAAC;YACF,IAAI,OAAe,CAAC;YACpB,IAAI,IAAA,aAAQ,EAAC,cAAc,CAAC,EAAE,CAAC;gBAC7B,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,cAAc,CAAC;YAC3B,CAAC;YAED,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAChD,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC;QACrC,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,yBAAyB,CAAC,OAAe;IAMvD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAA,sBAAe,EAAC,OAAO,EAAE;YACpC,YAAY,EAAE,0BAAiB;SAChC,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;AACH,CAAC;AAIM,KAAK,UAAU,wBAAwB,CAC5C,QAAsB,EACtB,WAAmB;IAEnB,eAAM,CAAC,KAAK,CAAC,iCAAiC,WAAW,GAAG,CAAC,CAAC;IAE9D,MAAM,YAAY,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAEnD,MAAM,IAAI,GAAG,IAAA,6BAAkB,EAAC,YAAY,CAAC,CAAC;IAE9C,IAAI,cAAc,CAAC;IACnB,MAAM,QAAQ,GAAG,IAAA,uBAAkB,EAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAEnE,IAAI,MAAM,IAAA,kBAAa,EAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;QAC1C,cAAc,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAED,OAAO;QACL,IAAI;QACJ,WAAW,EAAE;YACX,cAAc;SACf;KACF,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,EAC3B,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,aAAa,GACV;IACb,MAAM,MAAM,GAAc,EAAE,CAAC;IAE7B,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QACjE,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,YAAY;SACb,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import {\n isNonEmptyObject,\n isNumber,\n isObject,\n isPlainObject,\n isString,\n} from '@sindresorhus/is';\nimport { findPackages } from 'find-packages';\nimport upath from 'upath';\nimport type { z } from 'zod';\nimport { GlobalConfig } from '../../../../config/global';\nimport { logger } from '../../../../logger';\nimport {\n findLocalSiblingOrParent,\n getSiblingFileName,\n localPathExists,\n readLocalFile,\n} from '../../../../util/fs';\nimport { parseSingleYaml } from '../../../../util/yaml';\nimport type { PackageFile, PackageFileContent } from '../../types';\nimport type { PnpmDependency, PnpmLockFile } from '../post-update/types';\nimport type { PnpmCatalogs } from '../schema';\nimport { PnpmWorkspaceFile } from '../schema';\nimport type { NpmManagerData } from '../types';\nimport { extractCatalogDeps } from './common/catalogs';\nimport type { Catalog, LockFile } from './types';\n\nfunction isPnpmLockfile(obj: any): obj is PnpmLockFile {\n return isPlainObject(obj) && 'lockfileVersion' in obj;\n}\n\nexport async function extractPnpmFilters(\n fileName: string,\n): Promise<string[] | undefined> {\n try {\n // TODO: use schema (#9610,#22198)\n const contents = parseSingleYaml<PnpmWorkspaceFile>(\n (await readLocalFile(fileName, 'utf8'))!,\n );\n if (\n !Array.isArray(contents.packages) ||\n !contents.packages.every((item) => isString(item))\n ) {\n logger.trace(\n { fileName },\n 'Failed to find required \"packages\" array in pnpm-workspace.yaml',\n );\n return undefined;\n }\n return contents.packages;\n } catch (err) {\n logger.trace({ fileName, err }, 'Failed to parse pnpm-workspace.yaml');\n return undefined;\n }\n}\n\nexport async function findPnpmWorkspace(\n packageFile: string,\n): Promise<{ lockFilePath: string; workspaceYamlPath: string } | null> {\n // search for pnpm-workspace.yaml\n const workspaceYamlPath = await findLocalSiblingOrParent(\n packageFile,\n 'pnpm-workspace.yaml',\n );\n if (!workspaceYamlPath) {\n logger.trace(\n { packageFile },\n 'Failed to locate pnpm-workspace.yaml in a parent directory.',\n );\n return null;\n }\n\n // search for pnpm-lock.yaml next to pnpm-workspace.yaml\n const pnpmLockfilePath = getSiblingFileName(\n workspaceYamlPath,\n 'pnpm-lock.yaml',\n );\n if (!(await localPathExists(pnpmLockfilePath))) {\n logger.trace(\n { workspaceYamlPath, packageFile },\n 'Failed to find a pnpm-lock.yaml sibling for the workspace.',\n );\n return null;\n }\n\n return {\n lockFilePath: pnpmLockfilePath,\n workspaceYamlPath,\n };\n}\n\nexport async function detectPnpmWorkspaces(\n packageFiles: Partial<PackageFile<NpmManagerData>>[],\n): Promise<void> {\n logger.debug(`Detecting pnpm Workspaces`);\n const packagePathCache = new Map<string, string[] | null>();\n\n for (const p of packageFiles) {\n const { packageFile, managerData } = p;\n const pnpmShrinkwrap = managerData?.pnpmShrinkwrap;\n\n // check if pnpmShrinkwrap-file has already been provided\n if (pnpmShrinkwrap) {\n logger.trace(\n { packageFile, pnpmShrinkwrap },\n 'Found an existing pnpm shrinkwrap file; skipping pnpm monorepo check.',\n );\n continue;\n }\n\n // search for corresponding pnpm workspace\n // TODO #22198\n const pnpmWorkspace = await findPnpmWorkspace(packageFile!);\n if (pnpmWorkspace === null) {\n continue;\n }\n const { workspaceYamlPath, lockFilePath } = pnpmWorkspace;\n\n // check if package matches workspace filter\n if (!packagePathCache.has(workspaceYamlPath)) {\n const filters = await extractPnpmFilters(workspaceYamlPath);\n const localDir = GlobalConfig.get('localDir');\n const packages = await findPackages(\n upath.dirname(upath.join(localDir, workspaceYamlPath)),\n {\n patterns: filters,\n // Match the ignores used in @pnpm/find-workspace-packages\n ignore: ['**/node_modules/**', '**/bower_components/**'],\n },\n );\n const packagePaths = packages.map((pkg) =>\n upath.join(pkg.dir, 'package.json'),\n );\n packagePathCache.set(workspaceYamlPath, packagePaths);\n }\n const packagePaths = packagePathCache.get(workspaceYamlPath);\n\n const isPackageInWorkspace = packagePaths?.some((p) =>\n p.endsWith(packageFile!),\n );\n\n if (isPackageInWorkspace) {\n p.managerData ??= {};\n p.managerData.pnpmShrinkwrap = lockFilePath;\n } else {\n logger.trace(\n { packageFile, workspaceYamlPath },\n `Didn't find the package in the pnpm workspace`,\n );\n }\n }\n}\n\nexport async function getPnpmLock(filePath: string): Promise<LockFile> {\n try {\n const pnpmLockRaw = await readLocalFile(filePath, 'utf8');\n if (!pnpmLockRaw) {\n throw new Error('Unable to read pnpm-lock.yaml');\n }\n\n const lockParsed = parseSingleYaml(pnpmLockRaw);\n if (!isPnpmLockfile(lockParsed)) {\n throw new Error('Invalid or empty lockfile');\n }\n logger.trace({ lockParsed }, 'pnpm lockfile parsed');\n\n // field lockfileVersion is type string in lockfileVersion = 6 and type number in < 6\n const lockfileVersion: number = isNumber(lockParsed.lockfileVersion)\n ? lockParsed.lockfileVersion\n : parseFloat(lockParsed.lockfileVersion);\n\n const lockedVersions = getLockedVersions(lockParsed);\n const lockedCatalogVersions = getLockedCatalogVersions(lockParsed);\n\n return {\n lockedVersionsWithPath: lockedVersions,\n lockedVersionsWithCatalog: lockedCatalogVersions,\n lockfileVersion,\n };\n } catch (err) {\n logger.debug({ filePath, err }, 'Warning: Exception parsing pnpm lockfile');\n return { lockedVersions: {} };\n }\n}\n\nfunction getLockedCatalogVersions(\n lockParsed: PnpmLockFile,\n): Record<string, Record<string, string>> {\n const lockedVersions: Record<string, Record<string, string>> = {};\n\n if (isNonEmptyObject(lockParsed.catalogs)) {\n for (const [catalog, dependencies] of Object.entries(lockParsed.catalogs)) {\n const versions: Record<string, string> = {};\n\n for (const [dep, versionCarrier] of Object.entries(dependencies)) {\n versions[dep] = versionCarrier.version;\n }\n\n lockedVersions[catalog] = versions;\n }\n }\n\n return lockedVersions;\n}\n\nfunction getLockedVersions(\n lockParsed: PnpmLockFile,\n): Record<string, Record<string, Record<string, string>>> {\n const lockedVersions: Record<\n string,\n Record<string, Record<string, string>>\n > = {};\n\n // monorepo\n if (isNonEmptyObject(lockParsed.importers)) {\n for (const [importer, imports] of Object.entries(lockParsed.importers)) {\n lockedVersions[importer] = getLockedDependencyVersions(imports);\n }\n }\n // normal repo\n else {\n lockedVersions['.'] = getLockedDependencyVersions(lockParsed);\n }\n\n return lockedVersions;\n}\n\nfunction getLockedDependencyVersions(\n obj: PnpmLockFile | Record<string, PnpmDependency>,\n): Record<string, Record<string, string>> {\n const dependencyTypes = [\n 'dependencies',\n 'devDependencies',\n 'optionalDependencies',\n ] as const;\n\n const res: Record<string, Record<string, string>> = {};\n for (const depType of dependencyTypes) {\n res[depType] = {};\n for (const [pkgName, versionCarrier] of Object.entries(\n obj[depType] ?? {},\n )) {\n let version: string;\n if (isObject(versionCarrier)) {\n version = versionCarrier.version;\n } else {\n version = versionCarrier;\n }\n\n const pkgVersion = version.split('(')[0].trim();\n res[depType][pkgName] = pkgVersion;\n }\n }\n\n return res;\n}\n\nexport function tryParsePnpmWorkspaceYaml(content: string):\n | {\n success: true;\n data: PnpmWorkspaceFile;\n }\n | { success: false; data?: never } {\n try {\n const data = parseSingleYaml(content, {\n customSchema: PnpmWorkspaceFile,\n });\n return { success: true, data };\n } catch {\n return { success: false };\n }\n}\n\ntype PnpmCatalogs = z.TypeOf<typeof PnpmCatalogs>;\n\nexport async function extractPnpmWorkspaceFile(\n catalogs: PnpmCatalogs,\n packageFile: string,\n): Promise<PackageFileContent<NpmManagerData> | null> {\n logger.trace(`pnpm.extractPnpmWorkspaceFile(${packageFile})`);\n\n const pnpmCatalogs = pnpmCatalogsToArray(catalogs);\n\n const deps = extractCatalogDeps(pnpmCatalogs);\n\n let pnpmShrinkwrap;\n const filePath = getSiblingFileName(packageFile, 'pnpm-lock.yaml');\n\n if (await readLocalFile(filePath, 'utf8')) {\n pnpmShrinkwrap = filePath;\n }\n\n return {\n deps,\n managerData: {\n pnpmShrinkwrap,\n },\n };\n}\n\nfunction pnpmCatalogsToArray({\n catalog: defaultCatalogDeps,\n catalogs: namedCatalogs,\n}: PnpmCatalogs): Catalog[] {\n const result: Catalog[] = [];\n\n if (defaultCatalogDeps !== undefined) {\n result.push({ name: 'default', dependencies: defaultCatalogDeps });\n }\n\n if (!namedCatalogs) {\n return result;\n }\n\n for (const [name, dependencies] of Object.entries(namedCatalogs)) {\n result.push({\n name,\n dependencies,\n });\n }\n\n return result;\n}\n"]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getLockedVersions = getLockedVersions;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const is_1 =
|
|
5
|
+
const is_1 = require("@sindresorhus/is");
|
|
6
6
|
const semver_1 = tslib_1.__importDefault(require("semver"));
|
|
7
7
|
const upath_1 = tslib_1.__importDefault(require("upath"));
|
|
8
8
|
const logger_1 = require("../../../../../logger");
|
|
@@ -129,14 +129,14 @@ async function getLockedVersions(packageFiles) {
|
|
|
129
129
|
?.version;
|
|
130
130
|
if (catalogName) {
|
|
131
131
|
const lockedVersion = semver_1.default.valid(lockFileCache[pnpmShrinkwrap].lockedVersionsWithCatalog?.[catalogName]?.[depName]);
|
|
132
|
-
if (is_1.
|
|
132
|
+
if ((0, is_1.isString)(lockedVersion)) {
|
|
133
133
|
dep.lockedVersion = lockedVersion;
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
136
|
else {
|
|
137
137
|
// TODO: types (#22198)
|
|
138
138
|
const lockedVersion = semver_1.default.valid(lockFileCache[pnpmShrinkwrap].lockedVersionsWithPath?.[relativeDir]?.[depType]?.[depName]);
|
|
139
|
-
if (is_1.
|
|
139
|
+
if ((0, is_1.isString)(lockedVersion)) {
|
|
140
140
|
dep.lockedVersion = lockedVersion;
|
|
141
141
|
}
|
|
142
142
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locked-versions.js","sourceRoot":"","sources":["../../../../../../lib/modules/manager/npm/extract/post/locked-versions.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport semver from 'semver';\nimport upath from 'upath';\nimport { logger } from '../../../../../logger';\nimport type { PackageFile } from '../../../types';\nimport type { NpmManagerData } from '../../types';\nimport { getNpmLock } from '../npm';\nimport { getPnpmLock } from '../pnpm';\nimport type { LockFile } from '../types';\nimport { getYarnLock, getYarnVersionFromLock } from '../yarn';\n\nconst pnpmCatalogDepTypeRe = /pnpm\\.catalog\\.(?<version>.*)/;\n\nexport async function getLockedVersions(\n packageFiles: PackageFile<NpmManagerData>[],\n): Promise<void> {\n const lockFileCache: Record<string, LockFile> = {};\n logger.debug('Finding locked versions');\n for (const packageFile of packageFiles) {\n const { managerData = {} } = packageFile;\n const { yarnLock, npmLock, pnpmShrinkwrap } = managerData;\n const lockFiles: string[] = [];\n if (yarnLock) {\n logger.trace('Found yarnLock');\n lockFiles.push(yarnLock);\n if (!lockFileCache[yarnLock]) {\n logger.trace(`Retrieving/parsing ${yarnLock}`);\n lockFileCache[yarnLock] = await getYarnLock(yarnLock);\n }\n const { isYarn1 } = lockFileCache[yarnLock];\n let yarn: string | undefined;\n if (!isYarn1 && !packageFile.extractedConstraints?.yarn) {\n yarn = getYarnVersionFromLock(lockFileCache[yarnLock]);\n }\n if (yarn) {\n packageFile.extractedConstraints ??= {};\n packageFile.extractedConstraints.yarn = yarn;\n }\n for (const dep of packageFile.deps) {\n dep.lockedVersion =\n lockFileCache[yarnLock].lockedVersions?.[\n // TODO: types (#22198)\n `${dep.depName}@${dep.currentValue}`\n ];\n if (\n (dep.depType === 'engines' || dep.depType === 'packageManager') &&\n dep.depName === 'yarn' &&\n !isYarn1\n ) {\n dep.packageName = '@yarnpkg/cli';\n }\n }\n } else if (npmLock) {\n logger.debug(`Found ${npmLock} for ${packageFile.packageFile}`);\n lockFiles.push(npmLock);\n if (!lockFileCache[npmLock]) {\n logger.trace('Retrieving/parsing ' + npmLock);\n const cache = await getNpmLock(npmLock);\n /* v8 ignore next 4 -- needs test */\n if (!cache) {\n logger.warn({ npmLock }, 'Npm: unable to get lockfile');\n return;\n }\n lockFileCache[npmLock] = cache;\n }\n\n const { lockfileVersion } = lockFileCache[npmLock];\n let npm: string | undefined;\n if (lockfileVersion === 1) {\n if (packageFile.extractedConstraints?.npm) {\n // Add a <7 constraint if it's not already a fixed version\n if (\n semver.satisfies('6.14.18', packageFile.extractedConstraints.npm)\n ) {\n npm = packageFile.extractedConstraints.npm + ' <7';\n }\n } else {\n npm = '<7';\n }\n } else if (lockfileVersion === 2) {\n if (packageFile.extractedConstraints?.npm) {\n // Add a <9 constraint if the latest 8.x is compatible\n if (\n semver.satisfies('8.19.3', packageFile.extractedConstraints.npm)\n ) {\n npm = packageFile.extractedConstraints.npm + ' <9';\n }\n } else {\n npm = '<9';\n }\n } else if (lockfileVersion === 3) {\n if (!packageFile.extractedConstraints?.npm) {\n npm = '>=7';\n }\n } else {\n logger.warn(\n { lockfileVersion, npmLock },\n 'Found unsupported npm lockfile version',\n );\n return;\n }\n if (npm) {\n packageFile.extractedConstraints ??= {};\n packageFile.extractedConstraints.npm = npm;\n }\n\n const packageDir = upath.dirname(packageFile.packageFile);\n const npmRootDir = upath.dirname(npmLock);\n const relativeDir = upath.relative(npmRootDir, packageDir);\n\n for (const dep of packageFile.deps) {\n // Skip dependency types which are not locked in the lock file\n if (\n dep.depType === 'engines' ||\n dep.depType === 'packageManager' ||\n dep.depType === 'volta'\n ) {\n continue;\n }\n\n // TODO: types (#22198)\n let lockedDepName = dep.depName!;\n if (relativeDir && relativeDir !== '.') {\n lockedDepName = `${relativeDir}/node_modules/${dep.depName}`;\n }\n\n dep.lockedVersion = semver.valid(\n lockFileCache[npmLock].lockedVersions?.[lockedDepName],\n )!;\n }\n } else if (pnpmShrinkwrap) {\n logger.debug('Found pnpm lock-file');\n lockFiles.push(pnpmShrinkwrap);\n if (!lockFileCache[pnpmShrinkwrap]) {\n logger.trace(`Retrieving/parsing ${pnpmShrinkwrap}`);\n lockFileCache[pnpmShrinkwrap] = await getPnpmLock(pnpmShrinkwrap);\n }\n\n const packageDir = upath.dirname(packageFile.packageFile);\n const pnpmRootDir = upath.dirname(pnpmShrinkwrap);\n const relativeDir = upath.relative(pnpmRootDir, packageDir) || '.';\n\n for (const dep of packageFile.deps) {\n const { depName, depType } = dep;\n\n const catalogName = pnpmCatalogDepTypeRe.exec(depType!)?.groups\n ?.version;\n\n if (catalogName) {\n const lockedVersion = semver.valid(\n lockFileCache[pnpmShrinkwrap].lockedVersionsWithCatalog?.[\n catalogName\n ]?.[depName!],\n );\n\n if (is.string(lockedVersion)) {\n dep.lockedVersion = lockedVersion;\n }\n } else {\n // TODO: types (#22198)\n const lockedVersion = semver.valid(\n lockFileCache[pnpmShrinkwrap].lockedVersionsWithPath?.[\n relativeDir\n ]?.[depType!]?.[depName!],\n );\n\n if (is.string(lockedVersion)) {\n dep.lockedVersion = lockedVersion;\n }\n }\n }\n }\n if (lockFiles.length) {\n packageFile.lockFiles = lockFiles;\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"locked-versions.js","sourceRoot":"","sources":["../../../../../../lib/modules/manager/npm/extract/post/locked-versions.ts"],"names":[],"mappings":"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","sourcesContent":["import { isString } from '@sindresorhus/is';\nimport semver from 'semver';\nimport upath from 'upath';\nimport { logger } from '../../../../../logger';\nimport type { PackageFile } from '../../../types';\nimport type { NpmManagerData } from '../../types';\nimport { getNpmLock } from '../npm';\nimport { getPnpmLock } from '../pnpm';\nimport type { LockFile } from '../types';\nimport { getYarnLock, getYarnVersionFromLock } from '../yarn';\n\nconst pnpmCatalogDepTypeRe = /pnpm\\.catalog\\.(?<version>.*)/;\n\nexport async function getLockedVersions(\n packageFiles: PackageFile<NpmManagerData>[],\n): Promise<void> {\n const lockFileCache: Record<string, LockFile> = {};\n logger.debug('Finding locked versions');\n for (const packageFile of packageFiles) {\n const { managerData = {} } = packageFile;\n const { yarnLock, npmLock, pnpmShrinkwrap } = managerData;\n const lockFiles: string[] = [];\n if (yarnLock) {\n logger.trace('Found yarnLock');\n lockFiles.push(yarnLock);\n if (!lockFileCache[yarnLock]) {\n logger.trace(`Retrieving/parsing ${yarnLock}`);\n lockFileCache[yarnLock] = await getYarnLock(yarnLock);\n }\n const { isYarn1 } = lockFileCache[yarnLock];\n let yarn: string | undefined;\n if (!isYarn1 && !packageFile.extractedConstraints?.yarn) {\n yarn = getYarnVersionFromLock(lockFileCache[yarnLock]);\n }\n if (yarn) {\n packageFile.extractedConstraints ??= {};\n packageFile.extractedConstraints.yarn = yarn;\n }\n for (const dep of packageFile.deps) {\n dep.lockedVersion =\n lockFileCache[yarnLock].lockedVersions?.[\n // TODO: types (#22198)\n `${dep.depName}@${dep.currentValue}`\n ];\n if (\n (dep.depType === 'engines' || dep.depType === 'packageManager') &&\n dep.depName === 'yarn' &&\n !isYarn1\n ) {\n dep.packageName = '@yarnpkg/cli';\n }\n }\n } else if (npmLock) {\n logger.debug(`Found ${npmLock} for ${packageFile.packageFile}`);\n lockFiles.push(npmLock);\n if (!lockFileCache[npmLock]) {\n logger.trace('Retrieving/parsing ' + npmLock);\n const cache = await getNpmLock(npmLock);\n /* v8 ignore next 4 -- needs test */\n if (!cache) {\n logger.warn({ npmLock }, 'Npm: unable to get lockfile');\n return;\n }\n lockFileCache[npmLock] = cache;\n }\n\n const { lockfileVersion } = lockFileCache[npmLock];\n let npm: string | undefined;\n if (lockfileVersion === 1) {\n if (packageFile.extractedConstraints?.npm) {\n // Add a <7 constraint if it's not already a fixed version\n if (\n semver.satisfies('6.14.18', packageFile.extractedConstraints.npm)\n ) {\n npm = packageFile.extractedConstraints.npm + ' <7';\n }\n } else {\n npm = '<7';\n }\n } else if (lockfileVersion === 2) {\n if (packageFile.extractedConstraints?.npm) {\n // Add a <9 constraint if the latest 8.x is compatible\n if (\n semver.satisfies('8.19.3', packageFile.extractedConstraints.npm)\n ) {\n npm = packageFile.extractedConstraints.npm + ' <9';\n }\n } else {\n npm = '<9';\n }\n } else if (lockfileVersion === 3) {\n if (!packageFile.extractedConstraints?.npm) {\n npm = '>=7';\n }\n } else {\n logger.warn(\n { lockfileVersion, npmLock },\n 'Found unsupported npm lockfile version',\n );\n return;\n }\n if (npm) {\n packageFile.extractedConstraints ??= {};\n packageFile.extractedConstraints.npm = npm;\n }\n\n const packageDir = upath.dirname(packageFile.packageFile);\n const npmRootDir = upath.dirname(npmLock);\n const relativeDir = upath.relative(npmRootDir, packageDir);\n\n for (const dep of packageFile.deps) {\n // Skip dependency types which are not locked in the lock file\n if (\n dep.depType === 'engines' ||\n dep.depType === 'packageManager' ||\n dep.depType === 'volta'\n ) {\n continue;\n }\n\n // TODO: types (#22198)\n let lockedDepName = dep.depName!;\n if (relativeDir && relativeDir !== '.') {\n lockedDepName = `${relativeDir}/node_modules/${dep.depName}`;\n }\n\n dep.lockedVersion = semver.valid(\n lockFileCache[npmLock].lockedVersions?.[lockedDepName],\n )!;\n }\n } else if (pnpmShrinkwrap) {\n logger.debug('Found pnpm lock-file');\n lockFiles.push(pnpmShrinkwrap);\n if (!lockFileCache[pnpmShrinkwrap]) {\n logger.trace(`Retrieving/parsing ${pnpmShrinkwrap}`);\n lockFileCache[pnpmShrinkwrap] = await getPnpmLock(pnpmShrinkwrap);\n }\n\n const packageDir = upath.dirname(packageFile.packageFile);\n const pnpmRootDir = upath.dirname(pnpmShrinkwrap);\n const relativeDir = upath.relative(pnpmRootDir, packageDir) || '.';\n\n for (const dep of packageFile.deps) {\n const { depName, depType } = dep;\n\n const catalogName = pnpmCatalogDepTypeRe.exec(depType!)?.groups\n ?.version;\n\n if (catalogName) {\n const lockedVersion = semver.valid(\n lockFileCache[pnpmShrinkwrap].lockedVersionsWithCatalog?.[\n catalogName\n ]?.[depName!],\n );\n\n if (isString(lockedVersion)) {\n dep.lockedVersion = lockedVersion;\n }\n } else {\n // TODO: types (#22198)\n const lockedVersion = semver.valid(\n lockFileCache[pnpmShrinkwrap].lockedVersionsWithPath?.[\n relativeDir\n ]?.[depType!]?.[depName!],\n );\n\n if (isString(lockedVersion)) {\n dep.lockedVersion = lockedVersion;\n }\n }\n }\n }\n if (lockFiles.length) {\n packageFile.lockFiles = lockFiles;\n }\n }\n}\n"]}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.detectMonorepos = detectMonorepos;
|
|
4
|
-
const
|
|
5
|
-
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
4
|
+
const is_1 = require("@sindresorhus/is");
|
|
6
5
|
const logger_1 = require("../../../../../logger");
|
|
7
6
|
const fs_1 = require("../../../../../util/fs");
|
|
8
7
|
const pnpm_1 = require("../pnpm");
|
|
@@ -15,13 +14,13 @@ async function detectMonorepos(packageFiles) {
|
|
|
15
14
|
const { npmLock, yarnZeroInstall, hasPackageManager, workspacesPackages, yarnLock, } = managerData;
|
|
16
15
|
const packages = workspacesPackages;
|
|
17
16
|
if (packages?.length) {
|
|
18
|
-
const internalPackagePatterns = (is_1.
|
|
17
|
+
const internalPackagePatterns = ((0, is_1.isArray)(packages) ? packages : [packages]).map((pattern) => (0, fs_1.getSiblingFileName)(packageFile, pattern));
|
|
19
18
|
const internalPackageFiles = packageFiles.filter((sp) => (0, utils_1.matchesAnyPattern)((0, fs_1.getParentDir)(sp.packageFile), internalPackagePatterns));
|
|
20
19
|
const internalPackageNames = internalPackageFiles
|
|
21
20
|
.map((sp) => sp.managerData?.packageJsonName)
|
|
22
21
|
.filter(Boolean);
|
|
23
22
|
p.deps?.forEach((dep) => {
|
|
24
|
-
if (is_1.
|
|
23
|
+
if ((0, is_1.isString)(dep.depName) &&
|
|
25
24
|
internalPackageNames.includes(dep.depName)) {
|
|
26
25
|
dep.isInternal = true;
|
|
27
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monorepo.js","sourceRoot":"","sources":["../../../../../../lib/modules/manager/npm/extract/post/monorepo.ts"],"names":[],"mappings":";;AAQA,0CAgEC
|
|
1
|
+
{"version":3,"file":"monorepo.js","sourceRoot":"","sources":["../../../../../../lib/modules/manager/npm/extract/post/monorepo.ts"],"names":[],"mappings":"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","sourcesContent":["import { isArray, isString } from '@sindresorhus/is';\nimport { logger } from '../../../../../logger';\nimport { getParentDir, getSiblingFileName } from '../../../../../util/fs';\nimport type { PackageFile } from '../../../types';\nimport type { NpmManagerData } from '../../types';\nimport { detectPnpmWorkspaces } from '../pnpm';\nimport { matchesAnyPattern } from '../utils';\n\nexport async function detectMonorepos(\n packageFiles: Partial<PackageFile<NpmManagerData>>[],\n): Promise<void> {\n await detectPnpmWorkspaces(packageFiles);\n logger.debug('Detecting workspaces');\n for (const p of packageFiles) {\n const { packageFile, npmrc, managerData = {}, skipInstalls } = p;\n const {\n npmLock,\n yarnZeroInstall,\n hasPackageManager,\n workspacesPackages,\n yarnLock,\n } = managerData;\n\n const packages = workspacesPackages as string[] | undefined;\n if (packages?.length) {\n const internalPackagePatterns = (\n isArray(packages) ? packages : [packages]\n ).map((pattern) => getSiblingFileName(packageFile!, pattern));\n const internalPackageFiles = packageFiles.filter((sp) =>\n matchesAnyPattern(\n getParentDir(sp.packageFile!),\n internalPackagePatterns,\n ),\n );\n const internalPackageNames = internalPackageFiles\n .map((sp) => sp.managerData?.packageJsonName)\n .filter(Boolean);\n\n p.deps?.forEach((dep) => {\n if (\n isString(dep.depName) &&\n internalPackageNames.includes(dep.depName)\n ) {\n dep.isInternal = true;\n }\n });\n\n for (const subPackage of internalPackageFiles) {\n subPackage.managerData = subPackage.managerData ?? {};\n subPackage.managerData.yarnZeroInstall = yarnZeroInstall;\n subPackage.managerData.hasPackageManager = hasPackageManager;\n subPackage.managerData.yarnLock ??= yarnLock;\n subPackage.managerData.npmLock ??= npmLock;\n subPackage.skipInstalls = skipInstalls && subPackage.skipInstalls; // skip if both are true\n subPackage.managerData.workspacesPackages = workspacesPackages;\n subPackage.npmrc ??= npmrc;\n\n if (p.extractedConstraints) {\n subPackage.extractedConstraints = {\n ...p.extractedConstraints,\n ...subPackage.extractedConstraints,\n };\n }\n\n subPackage.deps?.forEach((dep) => {\n if (internalPackageNames.includes(dep.depName)) {\n dep.isInternal = true;\n }\n });\n }\n }\n }\n}\n"]}
|
|
@@ -5,8 +5,7 @@ exports.getZeroInstallPaths = getZeroInstallPaths;
|
|
|
5
5
|
exports.isZeroInstall = isZeroInstall;
|
|
6
6
|
exports.getYarnVersionFromLock = getYarnVersionFromLock;
|
|
7
7
|
exports.extractYarnCatalogs = extractYarnCatalogs;
|
|
8
|
-
const
|
|
9
|
-
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
8
|
+
const is_1 = require("@sindresorhus/is");
|
|
10
9
|
const core_1 = require("@yarnpkg/core");
|
|
11
10
|
const parsers_1 = require("@yarnpkg/parsers");
|
|
12
11
|
const logger_1 = require("../../../../logger");
|
|
@@ -80,7 +79,7 @@ function getZeroInstallPaths(yarnrcYml) {
|
|
|
80
79
|
}
|
|
81
80
|
async function isZeroInstall(yarnrcYmlPath) {
|
|
82
81
|
const yarnrcYml = await (0, fs_1.readLocalFile)(yarnrcYmlPath, 'utf8');
|
|
83
|
-
if (is_1.
|
|
82
|
+
if ((0, is_1.isString)(yarnrcYml)) {
|
|
84
83
|
const paths = getZeroInstallPaths(yarnrcYml);
|
|
85
84
|
for (const p of paths) {
|
|
86
85
|
if (await (0, fs_1.localPathExists)((0, fs_1.getSiblingFileName)(yarnrcYmlPath, p))) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yarn.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/extract/yarn.ts"],"names":[],"mappings":";;AAeA,kCAoDC;AAED,kDAoBC;AAED,sCAYC;AAED,wDAqBC;AAED,kDAyBC
|
|
1
|
+
{"version":3,"file":"yarn.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/extract/yarn.ts"],"names":[],"mappings":"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","sourcesContent":["import { isString } from '@sindresorhus/is';\nimport { miscUtils, structUtils } from '@yarnpkg/core';\nimport { parseSyml } from '@yarnpkg/parsers';\nimport { logger } from '../../../../logger';\nimport {\n getSiblingFileName,\n localPathExists,\n readLocalFile,\n} from '../../../../util/fs';\nimport type { PackageFileContent } from '../../types';\nimport type { YarnCatalogs } from '../schema';\nimport type { NpmManagerData } from '../types';\nimport { extractCatalogDeps } from './common/catalogs';\nimport type { Catalog, LockFile } from './types';\n\nexport async function getYarnLock(filePath: string): Promise<LockFile> {\n // TODO #22198\n const yarnLockRaw = (await readLocalFile(filePath, 'utf8'))!;\n try {\n const parsed = parseSyml(yarnLockRaw);\n const lockedVersions: Record<string, string> = {};\n let lockfileVersion: number | undefined;\n\n for (const [key, val] of Object.entries(parsed)) {\n if (key === '__metadata') {\n // yarn 2\n lockfileVersion = parseInt(val.cacheKey);\n logger.once.debug(\n `yarn.lock ${filePath} has __metadata.cacheKey=${lockfileVersion}`,\n );\n } else {\n for (const entry of key.split(', ')) {\n try {\n const { scope, name, range } = structUtils.parseDescriptor(entry);\n const packageName = scope ? `@${scope}/${name}` : name;\n const { selector } = structUtils.parseRange(range);\n\n logger.trace({ entry, version: val.version });\n lockedVersions[packageName + '@' + selector] = parsed[key].version;\n } catch (err) {\n logger.debug(\n { entry, err },\n 'Invalid descriptor or range found in yarn.lock',\n );\n }\n }\n }\n }\n const isYarn1 = !('__metadata' in parsed);\n if (isYarn1) {\n logger.once.debug(\n `yarn.lock ${filePath} is has no __metadata so is yarn 1`,\n );\n } else {\n logger.once.debug(\n `yarn.lock ${filePath} is has __metadata so is yarn 2+`,\n );\n }\n return {\n isYarn1,\n lockfileVersion,\n lockedVersions,\n };\n } catch (err) {\n logger.debug({ filePath, err }, 'Warning: Exception parsing yarn.lock');\n return { isYarn1: true, lockedVersions: {} };\n }\n}\n\nexport function getZeroInstallPaths(yarnrcYml: string): string[] {\n let conf: any;\n try {\n conf = parseSyml(yarnrcYml); /* v8 ignore start -- needs test */\n } catch (err) {\n logger.warn({ err }, 'Error parsing .yarnrc.yml');\n } /* v8 ignore stop -- needs test */\n const paths = [\n conf?.cacheFolder ?? './.yarn/cache',\n '.pnp.cjs',\n '.pnp.js',\n '.pnp.loader.mjs',\n ];\n if (\n conf &&\n miscUtils.tryParseOptionalBoolean(conf.pnpEnableInlining) === false\n ) {\n paths.push(conf.pnpDataPath ?? './.pnp.data.json');\n }\n return paths;\n}\n\nexport async function isZeroInstall(yarnrcYmlPath: string): Promise<boolean> {\n const yarnrcYml = await readLocalFile(yarnrcYmlPath, 'utf8');\n if (isString(yarnrcYml)) {\n const paths = getZeroInstallPaths(yarnrcYml);\n for (const p of paths) {\n if (await localPathExists(getSiblingFileName(yarnrcYmlPath, p))) {\n logger.debug(`Detected Yarn zero-install in ${p}`);\n return true;\n }\n }\n }\n return false;\n}\n\nexport function getYarnVersionFromLock(lockfile: LockFile): string {\n const { lockfileVersion, isYarn1 } = lockfile;\n if (isYarn1) {\n return '^1.22.18';\n }\n if (lockfileVersion && lockfileVersion >= 12) {\n // This will probably be v5\n return '>=4.0.0';\n }\n if (lockfileVersion && lockfileVersion >= 10) {\n return '^4.0.0';\n }\n if (lockfileVersion && lockfileVersion >= 8) {\n // https://github.com/yarnpkg/berry/commit/9bcd27ae34aee77a567dd104947407532fa179b3\n return '^3.0.0';\n } else if (lockfileVersion && lockfileVersion >= 6) {\n // https://github.com/yarnpkg/berry/commit/f753790380cbda5b55d028ea84b199445129f9ba\n return '^2.2.0';\n }\n\n return '^2.0.0';\n}\n\nexport async function extractYarnCatalogs(\n catalogs: YarnCatalogs,\n packageFile: string,\n hasPackageManager: boolean,\n): Promise<PackageFileContent<NpmManagerData>> {\n logger.trace(`yarn.extractYarnCatalogs(${packageFile})`);\n\n const yarnCatalogs = yarnCatalogsToArray(catalogs);\n\n const deps = extractCatalogDeps(yarnCatalogs, 'yarn');\n\n let yarnLock: string | undefined;\n const filePath = getSiblingFileName(packageFile, 'yarn.lock');\n\n if (await localPathExists(filePath)) {\n yarnLock = filePath;\n }\n\n return {\n deps,\n managerData: {\n yarnLock,\n hasPackageManager,\n },\n };\n}\n\nfunction yarnCatalogsToArray({\n catalog: defaultCatalogDeps,\n catalogs: namedCatalogs,\n}: YarnCatalogs): Catalog[] {\n const result: Catalog[] = [];\n\n if (defaultCatalogDeps !== undefined) {\n result.push({ name: 'default', dependencies: defaultCatalogDeps });\n }\n\n if (!namedCatalogs) {\n return result;\n }\n\n for (const [name, dependencies] of Object.entries(namedCatalogs)) {\n result.push({\n name,\n dependencies,\n });\n }\n\n return result;\n}\n"]}
|
|
@@ -3,8 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.loadConfigFromLegacyYarnrc = loadConfigFromLegacyYarnrc;
|
|
4
4
|
exports.loadConfigFromYarnrcYml = loadConfigFromYarnrcYml;
|
|
5
5
|
exports.resolveRegistryUrl = resolveRegistryUrl;
|
|
6
|
-
const
|
|
7
|
-
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
6
|
+
const is_1 = require("@sindresorhus/is");
|
|
8
7
|
const logger_1 = require("../../../../logger");
|
|
9
8
|
const regex_1 = require("../../../../util/regex");
|
|
10
9
|
const result_1 = require("../../../../util/result");
|
|
@@ -13,7 +12,7 @@ const registryRegEx = (0, regex_1.regEx)(/^"?(@(?<scope>[^:]+):)?registry"? "?(?
|
|
|
13
12
|
function loadConfigFromLegacyYarnrc(legacyYarnrc) {
|
|
14
13
|
const registryMatches = [...legacyYarnrc.matchAll(registryRegEx)]
|
|
15
14
|
.map((m) => m.groups)
|
|
16
|
-
.filter(is_1.
|
|
15
|
+
.filter(is_1.isTruthy);
|
|
17
16
|
const yarnrcConfig = {};
|
|
18
17
|
for (const registryMatch of registryMatches) {
|
|
19
18
|
if (registryMatch.scope) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yarnrc.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/extract/yarnrc.ts"],"names":[],"mappings":";;AAUA,gEAmBC;AAED,0DAMC;AAED,gDAeC
|
|
1
|
+
{"version":3,"file":"yarnrc.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/extract/yarnrc.ts"],"names":[],"mappings":";;AAUA,gEAmBC;AAED,0DAMC;AAED,gDAeC;AAtDD,yCAA4C;AAC5C,+CAA4C;AAC5C,kDAA+C;AAC/C,oDAAiD;AACjD,sCAAuC;AAEvC,MAAM,aAAa,GAAG,IAAA,aAAK,EACzB,gEAAgE,CACjE,CAAC;AAEF,SAAgB,0BAA0B,CACxC,YAAoB;IAEpB,MAAM,eAAe,GAAG,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;SAC9D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;SACpB,MAAM,CAAC,aAAQ,CAAC,CAAC;IAEpB,MAAM,YAAY,GAAe,EAAE,CAAC;IACpC,KAAK,MAAM,aAAa,IAAI,eAAe,EAAE,CAAC;QAC5C,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;YACxB,YAAY,CAAC,SAAS,KAAK,EAAE,CAAC;YAC9B,YAAY,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACnD,YAAY,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,iBAAiB;gBAC3D,aAAa,CAAC,WAAW,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,iBAAiB,GAAG,aAAa,CAAC,WAAW,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAgB,uBAAuB,CAAC,SAAiB;IACvD,OAAO,eAAM,CAAC,KAAK,CAAC,SAAS,EAAE,mBAAU,CAAC;SACvC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACf,eAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,4BAA4B,CAAC,CAAC;IAChE,CAAC,CAAC;SACD,YAAY,EAAE,CAAC;AACpB,CAAC;AAED,SAAgB,kBAAkB,CAChC,WAAmB,EACnB,YAAwB;IAExB,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC;YAC3C,IAAI,WAAW,CAAC,UAAU,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACzC,OAAO,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,iBAAiB,IAAI,IAAI,CAAC;YACjE,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,YAAY,CAAC,iBAAiB,EAAE,CAAC;QACnC,OAAO,YAAY,CAAC,iBAAiB,CAAC;IACxC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import { isTruthy } from '@sindresorhus/is';\nimport { logger } from '../../../../logger';\nimport { regEx } from '../../../../util/regex';\nimport { Result } from '../../../../util/result';\nimport { YarnConfig } from '../schema';\n\nconst registryRegEx = regEx(\n /^\"?(@(?<scope>[^:]+):)?registry\"? \"?(?<registryUrl>[^\"]+)\"?$/gm,\n);\n\nexport function loadConfigFromLegacyYarnrc(\n legacyYarnrc: string,\n): YarnConfig | null {\n const registryMatches = [...legacyYarnrc.matchAll(registryRegEx)]\n .map((m) => m.groups)\n .filter(isTruthy);\n\n const yarnrcConfig: YarnConfig = {};\n for (const registryMatch of registryMatches) {\n if (registryMatch.scope) {\n yarnrcConfig.npmScopes ??= {};\n yarnrcConfig.npmScopes[registryMatch.scope] ??= {};\n yarnrcConfig.npmScopes[registryMatch.scope].npmRegistryServer =\n registryMatch.registryUrl;\n } else {\n yarnrcConfig.npmRegistryServer = registryMatch.registryUrl;\n }\n }\n return yarnrcConfig;\n}\n\nexport function loadConfigFromYarnrcYml(yarnrcYml: string): YarnConfig | null {\n return Result.parse(yarnrcYml, YarnConfig)\n .onError((err) => {\n logger.warn({ yarnrcYml, err }, `Failed to load yarnrc file`);\n })\n .unwrapOrNull();\n}\n\nexport function resolveRegistryUrl(\n packageName: string,\n yarnrcConfig: YarnConfig,\n): string | null {\n if (yarnrcConfig.npmScopes) {\n for (const scope in yarnrcConfig.npmScopes) {\n if (packageName.startsWith(`@${scope}/`)) {\n return yarnrcConfig.npmScopes[scope].npmRegistryServer ?? null;\n }\n }\n }\n if (yarnrcConfig.npmRegistryServer) {\n return yarnrcConfig.npmRegistryServer;\n }\n return null;\n}\n"]}
|
|
@@ -7,7 +7,7 @@ exports.updateYarnBinary = updateYarnBinary;
|
|
|
7
7
|
exports.getAdditionalFiles = getAdditionalFiles;
|
|
8
8
|
const tslib_1 = require("tslib");
|
|
9
9
|
// TODO: types (#22198)
|
|
10
|
-
const is_1 =
|
|
10
|
+
const is_1 = require("@sindresorhus/is");
|
|
11
11
|
const deepmerge_1 = tslib_1.__importDefault(require("deepmerge"));
|
|
12
12
|
const upath_1 = tslib_1.__importDefault(require("upath"));
|
|
13
13
|
const logger_1 = require("../../../../logger");
|
|
@@ -29,7 +29,7 @@ const pnpm = tslib_1.__importStar(require("./pnpm"));
|
|
|
29
29
|
const rules_1 = require("./rules");
|
|
30
30
|
const yarn = tslib_1.__importStar(require("./yarn"));
|
|
31
31
|
// Strips empty values, deduplicates, and returns the directories from filenames
|
|
32
|
-
const getDirs = (arr) => Array.from(new Set(arr.filter(is_1.
|
|
32
|
+
const getDirs = (arr) => Array.from(new Set(arr.filter(is_1.isString)));
|
|
33
33
|
function determineLockFileDirs(config, packageFiles) {
|
|
34
34
|
const npmLockDirs = [];
|
|
35
35
|
const yarnLockDirs = [];
|
|
@@ -98,7 +98,7 @@ async function writeExistingFiles(config, packageFiles) {
|
|
|
98
98
|
const npmrcFilename = upath_1.default.join(basedir, '.npmrc');
|
|
99
99
|
// Write out the file unless the npmrc came from the workspace
|
|
100
100
|
// npmrcFilename will be set whenever the file was read from disk during extract
|
|
101
|
-
if (is_1.
|
|
101
|
+
if ((0, is_1.isString)(npmrc) &&
|
|
102
102
|
(npmrcFilename === packageFile.managerData.npmrcFileName ||
|
|
103
103
|
!packageFile.managerData.npmrcFileName)) {
|
|
104
104
|
try {
|
|
@@ -259,14 +259,14 @@ async function updateYarnBinary(lockFileDir, updatedArtifacts, existingYarnrcYml
|
|
|
259
259
|
const yarnrcYmlFilename = upath_1.default.join(lockFileDir, '.yarnrc.yml');
|
|
260
260
|
yarnrcYml ??= (await (0, git_1.getFile)(yarnrcYmlFilename)) ?? undefined;
|
|
261
261
|
const newYarnrcYml = await (0, fs_1.readLocalFile)(yarnrcYmlFilename, 'utf8');
|
|
262
|
-
if (!is_1.
|
|
262
|
+
if (!(0, is_1.isString)(yarnrcYml) || !(0, is_1.isString)(newYarnrcYml)) {
|
|
263
263
|
return existingYarnrcYmlContent;
|
|
264
264
|
}
|
|
265
265
|
// TODO: use schema (#9610)
|
|
266
266
|
const oldYarnPath = (0, yaml_1.parseSingleYaml)(yarnrcYml)?.yarnPath;
|
|
267
267
|
const newYarnPath = (0, yaml_1.parseSingleYaml)(newYarnrcYml)?.yarnPath;
|
|
268
|
-
if (!is_1.
|
|
269
|
-
!is_1.
|
|
268
|
+
if (!(0, is_1.isNonEmptyStringAndNotWhitespace)(oldYarnPath) ||
|
|
269
|
+
!(0, is_1.isNonEmptyStringAndNotWhitespace)(newYarnPath)) {
|
|
270
270
|
return existingYarnrcYmlContent;
|
|
271
271
|
}
|
|
272
272
|
const oldYarnFullPath = upath_1.default.join(lockFileDir, oldYarnPath);
|