renovate 42.0.0-next.2 → 42.0.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/app-strings.d.ts +2 -1
- package/dist/config/app-strings.js +10 -2
- package/dist/config/app-strings.js.map +1 -1
- package/dist/config/decrypt/bcpgp.d.ts +1 -0
- package/dist/config/decrypt/bcpgp.js +57 -0
- package/dist/config/decrypt/bcpgp.js.map +1 -0
- package/dist/config/decrypt/openpgp.js +0 -4
- package/dist/config/decrypt/openpgp.js.map +1 -1
- package/dist/config/decrypt.d.ts +1 -1
- package/dist/config/decrypt.js +9 -26
- package/dist/config/decrypt.js.map +1 -1
- package/dist/config/global.js +1 -0
- package/dist/config/global.js.map +1 -1
- package/dist/config/migrations/custom/schedule-migration.js +9 -11
- package/dist/config/migrations/custom/schedule-migration.js.map +1 -1
- package/dist/config/migrations/custom/unpublish-safe-migration.js +3 -2
- package/dist/config/migrations/custom/unpublish-safe-migration.js.map +1 -1
- package/dist/config/options/index.js +49 -2
- package/dist/config/options/index.js.map +1 -1
- package/dist/config/presets/common.js +1 -0
- package/dist/config/presets/common.js.map +1 -1
- package/dist/config/presets/internal/abandonments.js +4 -1
- package/dist/config/presets/internal/abandonments.js.map +1 -1
- package/dist/config/presets/internal/config.js +15 -0
- package/dist/config/presets/internal/config.js.map +1 -1
- package/dist/config/presets/internal/custom-managers.js +2 -2
- package/dist/config/presets/internal/custom-managers.js.map +1 -1
- package/dist/config/presets/internal/default.js +12 -1
- package/dist/config/presets/internal/default.js.map +1 -1
- package/dist/config/presets/internal/group.js +13 -0
- package/dist/config/presets/internal/group.js.map +1 -1
- package/dist/config/presets/internal/npm.js +1 -8
- package/dist/config/presets/internal/npm.js.map +1 -1
- package/dist/config/presets/internal/packages.js +5 -1
- package/dist/config/presets/internal/packages.js.map +1 -1
- package/dist/config/presets/internal/security.js +8 -0
- package/dist/config/presets/internal/security.js.map +1 -1
- package/dist/config/presets/internal/workarounds.js +2 -2
- package/dist/config/presets/internal/workarounds.js.map +1 -1
- package/dist/config/schema.d.ts +1 -1
- package/dist/config/secrets.js +2 -2
- package/dist/config/secrets.js.map +1 -1
- package/dist/config/types.d.ts +26 -1
- package/dist/config/types.js.map +1 -1
- package/dist/config/validation.js +4 -3
- package/dist/config/validation.js.map +1 -1
- package/dist/config-validator.js +1 -1
- package/dist/config-validator.js.map +1 -1
- package/dist/constants/platforms.js +1 -0
- package/dist/constants/platforms.js.map +1 -1
- package/dist/data/monorepo.json +13 -2
- package/dist/data/node-js-schedule.json +1 -1
- package/dist/data/replacements.json +34 -0
- package/dist/data-files.generated.js +3 -3
- package/dist/data-files.generated.js.map +1 -1
- package/dist/logger/renovate-logger.d.ts +1 -0
- package/dist/logger/renovate-logger.js +3 -0
- package/dist/logger/renovate-logger.js.map +1 -1
- package/dist/logger/utils.js +2 -1
- package/dist/logger/utils.js.map +1 -1
- package/dist/manager-list.generated.d.ts +1 -1
- package/dist/manager-list.generated.js +1 -1
- package/dist/manager-list.generated.js.map +1 -1
- package/dist/modules/datasource/api.js +4 -0
- package/dist/modules/datasource/api.js.map +1 -1
- package/dist/modules/datasource/aws-eks-addon/schema.d.ts +1 -8
- package/dist/modules/datasource/aws-eks-addon/schema.js +7 -5
- package/dist/modules/datasource/aws-eks-addon/schema.js.map +1 -1
- package/dist/modules/datasource/azure-pipelines-tasks/schema.d.ts +12 -12
- package/dist/modules/datasource/bitrise/schema.d.ts +1 -1
- package/dist/modules/datasource/buildpacks-registry/index.js +1 -1
- package/dist/modules/datasource/buildpacks-registry/index.js.map +1 -1
- package/dist/modules/datasource/buildpacks-registry/schema.d.ts +1 -1
- package/dist/modules/datasource/buildpacks-registry/schema.js +2 -2
- package/dist/modules/datasource/buildpacks-registry/schema.js.map +1 -1
- package/dist/modules/datasource/cdnjs/index.js +2 -2
- package/dist/modules/datasource/cdnjs/index.js.map +1 -1
- package/dist/modules/datasource/cdnjs/schema.d.ts +8 -8
- package/dist/modules/datasource/cdnjs/schema.js +3 -3
- package/dist/modules/datasource/cdnjs/schema.js.map +1 -1
- package/dist/modules/datasource/conan/schema.d.ts +3 -3
- package/dist/modules/datasource/conda/prefix-dev.js +1 -1
- package/dist/modules/datasource/conda/prefix-dev.js.map +1 -1
- package/dist/modules/datasource/conda/schema/prefix-dev.d.ts +7 -7
- package/dist/modules/datasource/conda/schema/prefix-dev.js +2 -2
- package/dist/modules/datasource/conda/schema/prefix-dev.js.map +1 -1
- package/dist/modules/datasource/cpan/schema.js +2 -2
- package/dist/modules/datasource/cpan/schema.js.map +1 -1
- package/dist/modules/datasource/crate/index.js +12 -11
- package/dist/modules/datasource/crate/index.js.map +1 -1
- package/dist/modules/datasource/crate/schema.d.ts +1 -1
- package/dist/modules/datasource/crate/schema.js +2 -2
- package/dist/modules/datasource/crate/schema.js.map +1 -1
- package/dist/modules/datasource/custom/index.d.ts +1 -1
- package/dist/modules/datasource/custom/index.js +2 -2
- package/dist/modules/datasource/custom/index.js.map +1 -1
- package/dist/modules/datasource/custom/schema.d.ts +1 -1
- package/dist/modules/datasource/custom/schema.js +2 -2
- package/dist/modules/datasource/custom/schema.js.map +1 -1
- package/dist/modules/datasource/docker/index.d.ts +1 -1
- package/dist/modules/datasource/docker/index.js +4 -1
- package/dist/modules/datasource/docker/index.js.map +1 -1
- package/dist/modules/datasource/docker/schema.d.ts +4 -4
- package/dist/modules/datasource/forgejo-releases/index.js +3 -3
- package/dist/modules/datasource/forgejo-releases/index.js.map +1 -1
- package/dist/modules/datasource/forgejo-releases/schema.d.ts +6 -6
- package/dist/modules/datasource/forgejo-releases/schema.js +3 -3
- package/dist/modules/datasource/forgejo-releases/schema.js.map +1 -1
- package/dist/modules/datasource/forgejo-tags/index.js +3 -3
- package/dist/modules/datasource/forgejo-tags/index.js.map +1 -1
- package/dist/modules/datasource/forgejo-tags/schema.d.ts +4 -4
- package/dist/modules/datasource/forgejo-tags/schema.js +7 -7
- package/dist/modules/datasource/forgejo-tags/schema.js.map +1 -1
- package/dist/modules/datasource/gitea-releases/index.js +3 -3
- package/dist/modules/datasource/gitea-releases/index.js.map +1 -1
- package/dist/modules/datasource/gitea-releases/schema.d.ts +6 -6
- package/dist/modules/datasource/gitea-releases/schema.js +3 -3
- package/dist/modules/datasource/gitea-releases/schema.js.map +1 -1
- package/dist/modules/datasource/gitea-tags/index.js +3 -3
- package/dist/modules/datasource/gitea-tags/index.js.map +1 -1
- package/dist/modules/datasource/gitea-tags/schema.d.ts +4 -4
- package/dist/modules/datasource/gitea-tags/schema.js +7 -7
- package/dist/modules/datasource/gitea-tags/schema.js.map +1 -1
- package/dist/modules/datasource/github-runners/index.js +5 -3
- package/dist/modules/datasource/github-runners/index.js.map +1 -1
- package/dist/modules/datasource/go/base.js +3 -2
- package/dist/modules/datasource/go/base.js.map +1 -1
- package/dist/modules/datasource/go/common.js +13 -9
- package/dist/modules/datasource/go/common.js.map +1 -1
- package/dist/modules/datasource/go/index.js +7 -2
- package/dist/modules/datasource/go/index.js.map +1 -1
- package/dist/modules/datasource/go/releases-direct.d.ts +2 -0
- package/dist/modules/datasource/go/releases-direct.js +7 -1
- package/dist/modules/datasource/go/releases-direct.js.map +1 -1
- package/dist/modules/datasource/go/releases-goproxy.js +1 -1
- package/dist/modules/datasource/go/releases-goproxy.js.map +1 -1
- package/dist/modules/datasource/helm/index.js +1 -1
- package/dist/modules/datasource/helm/index.js.map +1 -1
- package/dist/modules/datasource/helm/schema.d.ts +2 -2
- package/dist/modules/datasource/helm/schema.js +4 -4
- package/dist/modules/datasource/helm/schema.js.map +1 -1
- package/dist/modules/datasource/jsr/common.d.ts +1 -0
- package/dist/modules/datasource/jsr/common.js +12 -0
- package/dist/modules/datasource/jsr/common.js.map +1 -0
- package/dist/modules/datasource/jsr/index.d.ts +12 -0
- package/dist/modules/datasource/jsr/index.js +66 -0
- package/dist/modules/datasource/jsr/index.js.map +1 -0
- package/dist/modules/datasource/jsr/schema.d.ts +27 -0
- package/dist/modules/datasource/jsr/schema.js +20 -0
- package/dist/modules/datasource/jsr/schema.js.map +1 -0
- package/dist/modules/datasource/jsr/util.d.ts +4 -0
- package/dist/modules/datasource/jsr/util.js +53 -0
- package/dist/modules/datasource/jsr/util.js.map +1 -0
- package/dist/modules/datasource/maven/index.js +14 -0
- package/dist/modules/datasource/maven/index.js.map +1 -1
- package/dist/modules/datasource/maven/util.js +10 -0
- package/dist/modules/datasource/maven/util.js.map +1 -1
- package/dist/modules/datasource/npm/get.js +2 -1
- package/dist/modules/datasource/npm/get.js.map +1 -1
- package/dist/modules/datasource/npm/types.d.ts +7 -0
- package/dist/modules/datasource/npm/types.js.map +1 -1
- package/dist/modules/datasource/nuget/v3.js +3 -1
- package/dist/modules/datasource/nuget/v3.js.map +1 -1
- package/dist/modules/datasource/packagist/schema.d.ts +12 -12
- package/dist/modules/datasource/pypi/index.d.ts +1 -0
- package/dist/modules/datasource/pypi/index.js +1 -0
- package/dist/modules/datasource/pypi/index.js.map +1 -1
- package/dist/modules/datasource/python-version/schema.d.ts +3 -3
- package/dist/modules/datasource/rpm/index.d.ts +7 -0
- package/dist/modules/datasource/rpm/index.js +7 -0
- package/dist/modules/datasource/rpm/index.js.map +1 -1
- package/dist/modules/datasource/types.d.ts +2 -0
- package/dist/modules/datasource/types.js.map +1 -1
- package/dist/modules/datasource/typst/index.d.ts +11 -0
- package/dist/modules/datasource/typst/index.js +65 -0
- package/dist/modules/datasource/typst/index.js.map +1 -0
- package/dist/modules/datasource/typst/schema.d.ts +31 -0
- package/dist/modules/datasource/typst/schema.js +28 -0
- package/dist/modules/datasource/typst/schema.js.map +1 -0
- package/dist/modules/datasource/unity3d-packages/schema.d.ts +4 -4
- package/dist/modules/manager/api.js +6 -0
- package/dist/modules/manager/api.js.map +1 -1
- package/dist/modules/manager/argocd/extract.js +1 -1
- package/dist/modules/manager/argocd/extract.js.map +1 -1
- package/dist/modules/manager/argocd/schema.d.ts +1 -1
- package/dist/modules/manager/argocd/schema.js +2 -2
- package/dist/modules/manager/argocd/schema.js.map +1 -1
- package/dist/modules/manager/azure-pipelines/schema.d.ts +1 -1
- package/dist/modules/manager/batect/extract.js +1 -1
- package/dist/modules/manager/batect/extract.js.map +1 -1
- package/dist/modules/manager/batect/schema.d.ts +4 -4
- package/dist/modules/manager/batect/schema.js +2 -2
- package/dist/modules/manager/batect/schema.js.map +1 -1
- package/dist/modules/manager/bazel/rules/docker.d.ts +3 -3
- package/dist/modules/manager/bazel/rules/git.d.ts +5 -5
- package/dist/modules/manager/bazel/rules/go.d.ts +5 -5
- package/dist/modules/manager/bazel/rules/oci.d.ts +3 -3
- package/dist/modules/manager/bazel-module/extract.js +5 -0
- package/dist/modules/manager/bazel-module/extract.js.map +1 -1
- package/dist/modules/manager/bazel-module/parser/context.d.ts +6 -0
- package/dist/modules/manager/bazel-module/parser/context.js +42 -2
- package/dist/modules/manager/bazel-module/parser/context.js.map +1 -1
- package/dist/modules/manager/bazel-module/parser/fragments.d.ts +276 -112
- package/dist/modules/manager/bazel-module/parser/fragments.js +70 -32
- package/dist/modules/manager/bazel-module/parser/fragments.js.map +1 -1
- package/dist/modules/manager/bazel-module/parser/index.js +3 -1
- package/dist/modules/manager/bazel-module/parser/index.js.map +1 -1
- package/dist/modules/manager/bazel-module/parser/maven.d.ts +27 -27
- package/dist/modules/manager/bazel-module/parser/maven.js +7 -7
- package/dist/modules/manager/bazel-module/parser/maven.js.map +1 -1
- package/dist/modules/manager/bazel-module/parser/oci.d.ts +38 -38
- package/dist/modules/manager/bazel-module/parser/oci.js +5 -5
- package/dist/modules/manager/bazel-module/parser/oci.js.map +1 -1
- package/dist/modules/manager/bazel-module/parser/repo-rules.d.ts +5 -0
- package/dist/modules/manager/bazel-module/parser/repo-rules.js +71 -0
- package/dist/modules/manager/bazel-module/parser/repo-rules.js.map +1 -0
- package/dist/modules/manager/bazel-module/rules-img.d.ts +229 -0
- package/dist/modules/manager/bazel-module/rules-img.js +74 -0
- package/dist/modules/manager/bazel-module/rules-img.js.map +1 -0
- package/dist/modules/manager/bazel-module/rules.d.ts +101 -101
- package/dist/modules/manager/bazel-module/rules.js +18 -18
- package/dist/modules/manager/bazel-module/rules.js.map +1 -1
- package/dist/modules/manager/bitrise/schema.d.ts +1 -1
- package/dist/modules/manager/bun/artifacts.js +5 -4
- package/dist/modules/manager/bun/artifacts.js.map +1 -1
- package/dist/modules/manager/bundler/locked-version.js +44 -23
- package/dist/modules/manager/bundler/locked-version.js.map +1 -1
- package/dist/modules/manager/cargo/artifacts.js +15 -11
- package/dist/modules/manager/cargo/artifacts.js.map +1 -1
- package/dist/modules/manager/cargo/extract.js +6 -3
- package/dist/modules/manager/cargo/extract.js.map +1 -1
- package/dist/modules/manager/cargo/index.d.ts +0 -1
- package/dist/modules/manager/cargo/index.js +11 -4
- package/dist/modules/manager/cargo/index.js.map +1 -1
- package/dist/modules/manager/cargo/locked-version.d.ts +2 -2
- package/dist/modules/manager/cargo/locked-version.js +1 -1
- package/dist/modules/manager/cargo/locked-version.js.map +1 -1
- package/dist/modules/manager/cargo/schema.d.ts +206 -35
- package/dist/modules/manager/cargo/schema.js +26 -18
- package/dist/modules/manager/cargo/schema.js.map +1 -1
- package/dist/modules/manager/cloudbuild/schema.d.ts +1 -1
- package/dist/modules/manager/composer/schema.d.ts +98 -98
- package/dist/modules/manager/conan/artifacts.js +12 -2
- package/dist/modules/manager/conan/artifacts.js.map +1 -1
- package/dist/modules/manager/conan/extract.js +1 -1
- package/dist/modules/manager/conan/extract.js.map +1 -1
- package/dist/modules/manager/conan/index.d.ts +0 -1
- package/dist/modules/manager/conan/index.js +0 -1
- package/dist/modules/manager/conan/index.js.map +1 -1
- package/dist/modules/manager/copier/artifacts.js +5 -5
- package/dist/modules/manager/copier/artifacts.js.map +1 -1
- package/dist/modules/manager/copier/schema.d.ts +2 -2
- package/dist/modules/manager/copier/schema.js +5 -1
- package/dist/modules/manager/copier/schema.js.map +1 -1
- package/dist/modules/manager/crossplane/extract.js +1 -1
- package/dist/modules/manager/crossplane/extract.js.map +1 -1
- package/dist/modules/manager/crossplane/schema.d.ts +2 -2
- package/dist/modules/manager/crossplane/schema.js +2 -2
- package/dist/modules/manager/crossplane/schema.js.map +1 -1
- package/dist/modules/manager/crow/extract.d.ts +2 -0
- package/dist/modules/manager/crow/extract.js +35 -0
- package/dist/modules/manager/crow/extract.js.map +1 -0
- package/dist/modules/manager/crow/index.d.ts +8 -0
- package/dist/modules/manager/crow/index.js +13 -0
- package/dist/modules/manager/crow/index.js.map +1 -0
- package/dist/modules/manager/crow/schema.d.ts +66 -0
- package/dist/modules/manager/crow/schema.js +15 -0
- package/dist/modules/manager/crow/schema.js.map +1 -0
- package/dist/modules/manager/custom/jsonata/schema.d.ts +1 -1
- package/dist/modules/manager/custom/jsonata/schema.js +4 -4
- package/dist/modules/manager/custom/jsonata/schema.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/devbox/extract.js +1 -1
- package/dist/modules/manager/devbox/extract.js.map +1 -1
- package/dist/modules/manager/devbox/schema.d.ts +1 -1
- package/dist/modules/manager/devbox/schema.js +2 -2
- package/dist/modules/manager/devbox/schema.js.map +1 -1
- package/dist/modules/manager/devcontainer/schema.d.ts +1 -1
- package/dist/modules/manager/fingerprint.generated.js +35 -32
- package/dist/modules/manager/fingerprint.generated.js.map +1 -1
- package/dist/modules/manager/fleet/schema.d.ts +16 -16
- package/dist/modules/manager/flux/schema.d.ts +24 -24
- package/dist/modules/manager/github-actions/community.d.ts +96 -0
- package/dist/modules/manager/github-actions/community.js +116 -10
- package/dist/modules/manager/github-actions/community.js.map +1 -1
- package/dist/modules/manager/github-actions/extract.js +2 -1
- package/dist/modules/manager/github-actions/extract.js.map +1 -1
- package/dist/modules/manager/github-actions/schema.d.ts +3 -3
- package/dist/modules/manager/github-actions/schema.js +7 -7
- package/dist/modules/manager/github-actions/schema.js.map +1 -1
- package/dist/modules/manager/gitlabci/extract.js +2 -0
- package/dist/modules/manager/gitlabci/extract.js.map +1 -1
- package/dist/modules/manager/glasskube/schema.d.ts +12 -12
- package/dist/modules/manager/gleam/schema.d.ts +4 -4
- package/dist/modules/manager/gomod/artifacts.js +8 -4
- package/dist/modules/manager/gomod/artifacts.js.map +1 -1
- package/dist/modules/manager/gradle/parser/dependencies.js +23 -2
- package/dist/modules/manager/gradle/parser/dependencies.js.map +1 -1
- package/dist/modules/manager/gradle/parser/objects.js +15 -0
- package/dist/modules/manager/gradle/parser/objects.js.map +1 -1
- package/dist/modules/manager/gradle/parser.js +1 -1
- package/dist/modules/manager/gradle/parser.js.map +1 -1
- package/dist/modules/manager/helmfile/extract.js +26 -21
- package/dist/modules/manager/helmfile/extract.js.map +1 -1
- package/dist/modules/manager/helmfile/index.js +4 -1
- package/dist/modules/manager/helmfile/index.js.map +1 -1
- package/dist/modules/manager/helmfile/schema.d.ts +4 -4
- package/dist/modules/manager/maven-wrapper/artifacts.js +1 -1
- package/dist/modules/manager/maven-wrapper/artifacts.js.map +1 -1
- package/dist/modules/manager/maven-wrapper/extract.js +4 -4
- package/dist/modules/manager/maven-wrapper/extract.js.map +1 -1
- package/dist/modules/manager/maven-wrapper/index.d.ts +1 -1
- package/dist/modules/manager/maven-wrapper/index.js +5 -2
- package/dist/modules/manager/maven-wrapper/index.js.map +1 -1
- package/dist/modules/manager/mise/backends.d.ts +2 -2
- package/dist/modules/manager/mise/backends.js +1 -1
- package/dist/modules/manager/mise/backends.js.map +1 -1
- package/dist/modules/manager/mise/extract.js.map +1 -1
- package/dist/modules/manager/mise/schema.d.ts +6 -29
- package/dist/modules/manager/mise/schema.js +7 -8
- package/dist/modules/manager/mise/schema.js.map +1 -1
- package/dist/modules/manager/mise/upgradeable-tooling.js +1 -1
- package/dist/modules/manager/mise/upgradeable-tooling.js.map +1 -1
- package/dist/modules/manager/mise/utils.d.ts +2 -2
- package/dist/modules/manager/mise/utils.js +1 -1
- package/dist/modules/manager/mise/utils.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/nix/extract.d.ts +2 -2
- package/dist/modules/manager/nix/extract.js +79 -67
- package/dist/modules/manager/nix/extract.js.map +1 -1
- package/dist/modules/manager/nix/index.d.ts +1 -0
- package/dist/modules/manager/nix/index.js +3 -1
- package/dist/modules/manager/nix/index.js.map +1 -1
- package/dist/modules/manager/nix/range.d.ts +3 -0
- package/dist/modules/manager/nix/range.js +10 -0
- package/dist/modules/manager/nix/range.js.map +1 -0
- package/dist/modules/manager/nix/schema.d.ts +42 -28
- package/dist/modules/manager/nix/schema.js +4 -1
- package/dist/modules/manager/nix/schema.js.map +1 -1
- package/dist/modules/manager/npm/extract/common/package-file.d.ts +1 -0
- package/dist/modules/manager/npm/extract/common/package-file.js +8 -0
- package/dist/modules/manager/npm/extract/common/package-file.js.map +1 -1
- package/dist/modules/manager/npm/extract/index.js +24 -7
- package/dist/modules/manager/npm/extract/index.js.map +1 -1
- package/dist/modules/manager/npm/extract/pnpm.d.ts +4 -3
- package/dist/modules/manager/npm/extract/pnpm.js +1 -1
- package/dist/modules/manager/npm/extract/pnpm.js.map +1 -1
- package/dist/modules/manager/npm/extract/post/locked-versions.js +6 -0
- package/dist/modules/manager/npm/extract/post/locked-versions.js.map +1 -1
- package/dist/modules/manager/npm/extract/yarn.d.ts +4 -0
- package/dist/modules/manager/npm/extract/yarn.js +35 -0
- package/dist/modules/manager/npm/extract/yarn.js.map +1 -1
- package/dist/modules/manager/npm/extract/yarnrc.d.ts +4 -4
- package/dist/modules/manager/npm/extract/yarnrc.js +1 -2
- package/dist/modules/manager/npm/extract/yarnrc.js.map +1 -1
- package/dist/modules/manager/npm/index.js +1 -0
- package/dist/modules/manager/npm/index.js.map +1 -1
- package/dist/modules/manager/npm/post-update/index.js +2 -1
- package/dist/modules/manager/npm/post-update/index.js.map +1 -1
- package/dist/modules/manager/npm/post-update/npm.js +14 -1
- package/dist/modules/manager/npm/post-update/npm.js.map +1 -1
- package/dist/modules/manager/npm/post-update/pnpm.js +6 -1
- package/dist/modules/manager/npm/post-update/pnpm.js.map +1 -1
- package/dist/modules/manager/npm/post-update/types.d.ts +5 -5
- package/dist/modules/manager/npm/post-update/types.js.map +1 -1
- package/dist/modules/manager/npm/post-update/utils.d.ts +3 -4
- package/dist/modules/manager/npm/post-update/utils.js +2 -13
- package/dist/modules/manager/npm/post-update/utils.js.map +1 -1
- package/dist/modules/manager/npm/schema.d.ts +35 -97
- package/dist/modules/manager/npm/schema.js +21 -16
- package/dist/modules/manager/npm/schema.js.map +1 -1
- package/dist/modules/manager/npm/update/dependency/index.js +4 -0
- package/dist/modules/manager/npm/update/dependency/index.js.map +1 -1
- package/dist/modules/manager/npm/update/dependency/pnpm.js +1 -1
- package/dist/modules/manager/npm/update/dependency/pnpm.js.map +1 -1
- package/dist/modules/manager/npm/update/dependency/yarn.d.ts +2 -0
- package/dist/modules/manager/npm/update/dependency/yarn.js +102 -0
- package/dist/modules/manager/npm/update/dependency/yarn.js.map +1 -0
- package/dist/modules/manager/npm/utils.d.ts +2 -0
- package/dist/modules/manager/npm/utils.js +10 -0
- package/dist/modules/manager/npm/utils.js.map +1 -1
- package/dist/modules/manager/nuget/extract.js +5 -0
- package/dist/modules/manager/nuget/extract.js.map +1 -1
- package/dist/modules/manager/nuget/schema.d.ts +3 -56
- package/dist/modules/manager/nuget/schema.js +5 -6
- package/dist/modules/manager/nuget/schema.js.map +1 -1
- package/dist/modules/manager/nvm/extract.js +8 -1
- package/dist/modules/manager/nvm/extract.js.map +1 -1
- package/dist/modules/manager/ocb/extract.js +1 -1
- package/dist/modules/manager/ocb/extract.js.map +1 -1
- package/dist/modules/manager/ocb/schema.d.ts +4 -4
- package/dist/modules/manager/ocb/schema.js +9 -9
- package/dist/modules/manager/ocb/schema.js.map +1 -1
- package/dist/modules/manager/pep621/extract.d.ts +1 -1
- package/dist/modules/manager/pep621/extract.js +11 -3
- package/dist/modules/manager/pep621/extract.js.map +1 -1
- package/dist/modules/manager/pep621/processors/abstract.d.ts +10 -0
- package/dist/modules/manager/pep621/processors/abstract.js +25 -0
- package/dist/modules/manager/pep621/processors/abstract.js.map +1 -0
- package/dist/modules/manager/pep621/processors/hatch.d.ts +2 -2
- package/dist/modules/manager/pep621/processors/hatch.js +2 -1
- package/dist/modules/manager/pep621/processors/hatch.js.map +1 -1
- package/dist/modules/manager/pep621/processors/index.d.ts +2 -4
- package/dist/modules/manager/pep621/processors/index.js.map +1 -1
- package/dist/modules/manager/pep621/processors/pdm.d.ts +3 -2
- package/dist/modules/manager/pep621/processors/pdm.js +5 -4
- package/dist/modules/manager/pep621/processors/pdm.js.map +1 -1
- package/dist/modules/manager/pep621/processors/types.d.ts +1 -0
- package/dist/modules/manager/pep621/processors/types.js.map +1 -1
- package/dist/modules/manager/pep621/processors/uv.d.ts +3 -2
- package/dist/modules/manager/pep621/processors/uv.js +8 -6
- package/dist/modules/manager/pep621/processors/uv.js.map +1 -1
- package/dist/modules/manager/pep621/schema.d.ts +35 -257
- package/dist/modules/manager/pep621/schema.js +17 -21
- package/dist/modules/manager/pep621/schema.js.map +1 -1
- package/dist/modules/manager/pep723/extract.js +1 -1
- package/dist/modules/manager/pep723/extract.js.map +1 -1
- package/dist/modules/manager/pep723/schema.d.ts +1 -1
- package/dist/modules/manager/pep723/schema.js +2 -2
- package/dist/modules/manager/pep723/schema.js.map +1 -1
- package/dist/modules/manager/pip-compile/extract.d.ts +1 -1
- package/dist/modules/manager/pip-compile/extract.js +9 -6
- package/dist/modules/manager/pip-compile/extract.js.map +1 -1
- package/dist/modules/manager/pixi/extract.js +4 -7
- package/dist/modules/manager/pixi/extract.js.map +1 -1
- package/dist/modules/manager/pixi/schema.d.ts +296 -4
- package/dist/modules/manager/pixi/schema.js +11 -4
- package/dist/modules/manager/pixi/schema.js.map +1 -1
- package/dist/modules/manager/poetry/artifacts.js +2 -2
- package/dist/modules/manager/poetry/artifacts.js.map +1 -1
- package/dist/modules/manager/poetry/extract.js +1 -1
- package/dist/modules/manager/poetry/extract.js.map +1 -1
- package/dist/modules/manager/poetry/index.d.ts +1 -0
- package/dist/modules/manager/poetry/index.js +2 -1
- package/dist/modules/manager/poetry/index.js.map +1 -1
- package/dist/modules/manager/poetry/schema.d.ts +45 -138
- package/dist/modules/manager/poetry/schema.js +49 -32
- package/dist/modules/manager/poetry/schema.js.map +1 -1
- package/dist/modules/manager/poetry/update-locked.js +2 -2
- package/dist/modules/manager/poetry/update-locked.js.map +1 -1
- package/dist/modules/manager/pre-commit/extract.js +2 -1
- package/dist/modules/manager/pre-commit/extract.js.map +1 -1
- package/dist/modules/manager/pub/extract.js +38 -8
- package/dist/modules/manager/pub/extract.js.map +1 -1
- package/dist/modules/manager/pub/index.d.ts +0 -1
- package/dist/modules/manager/pub/index.js +0 -3
- package/dist/modules/manager/pub/index.js.map +1 -1
- package/dist/modules/manager/pub/schema.d.ts +25 -79
- package/dist/modules/manager/pub/schema.js +17 -10
- package/dist/modules/manager/pub/schema.js.map +1 -1
- package/dist/modules/manager/pub/utils.d.ts +3 -3
- package/dist/modules/manager/pub/utils.js +2 -2
- package/dist/modules/manager/pub/utils.js.map +1 -1
- package/dist/modules/manager/quadlet/extract.d.ts +2 -0
- package/dist/modules/manager/quadlet/extract.js +54 -0
- package/dist/modules/manager/quadlet/extract.js.map +1 -0
- package/dist/modules/manager/quadlet/index.d.ts +8 -0
- package/dist/modules/manager/quadlet/index.js +13 -0
- package/dist/modules/manager/quadlet/index.js.map +1 -0
- package/dist/modules/manager/quadlet/schema.d.ts +45 -0
- package/dist/modules/manager/quadlet/schema.js +23 -0
- package/dist/modules/manager/quadlet/schema.js.map +1 -0
- package/dist/modules/manager/renovate-config-presets/extract.js +1 -1
- package/dist/modules/manager/renovate-config-presets/extract.js.map +1 -1
- package/dist/modules/manager/renovate-config-presets/index.js +1 -1
- package/dist/modules/manager/renovate-config-presets/index.js.map +1 -1
- package/dist/modules/manager/renovate-config-presets/schema.d.ts +1 -1
- package/dist/modules/manager/renovate-config-presets/schema.js +2 -2
- package/dist/modules/manager/renovate-config-presets/schema.js.map +1 -1
- package/dist/modules/manager/swift/extract.js +25 -9
- package/dist/modules/manager/swift/extract.js.map +1 -1
- package/dist/modules/manager/swift/index.js +7 -1
- package/dist/modules/manager/swift/index.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.js +1 -1
- package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.js.map +1 -1
- package/dist/modules/manager/terraform/lockfile/hash.js +1 -1
- package/dist/modules/manager/terraform/lockfile/hash.js.map +1 -1
- package/dist/modules/manager/terragrunt/util.js +1 -1
- package/dist/modules/manager/terragrunt/util.js.map +1 -1
- package/dist/modules/manager/types.d.ts +2 -0
- package/dist/modules/manager/types.js.map +1 -1
- package/dist/modules/manager/typst/extract.d.ts +2 -0
- package/dist/modules/manager/typst/extract.js +31 -0
- package/dist/modules/manager/typst/extract.js.map +1 -0
- package/dist/modules/manager/typst/index.d.ts +7 -0
- package/dist/modules/manager/typst/index.js +12 -0
- package/dist/modules/manager/typst/index.js.map +1 -0
- package/dist/modules/manager/util.js +3 -2
- package/dist/modules/manager/util.js.map +1 -1
- package/dist/modules/manager/vendir/schema.d.ts +13 -13
- package/dist/modules/platform/azure/azure-helper.js +1 -1
- package/dist/modules/platform/azure/azure-helper.js.map +1 -1
- package/dist/modules/platform/azure/schema.d.ts +3 -3
- package/dist/modules/platform/azure/schema.js +4 -4
- package/dist/modules/platform/azure/schema.js.map +1 -1
- package/dist/modules/platform/bitbucket/index.js +12 -9
- package/dist/modules/platform/bitbucket/index.js.map +1 -1
- package/dist/modules/platform/bitbucket/schema.d.ts +7 -7
- package/dist/modules/platform/bitbucket/schema.js +7 -7
- package/dist/modules/platform/bitbucket/schema.js.map +1 -1
- package/dist/modules/platform/bitbucket-server/index.js +7 -6
- package/dist/modules/platform/bitbucket-server/index.js.map +1 -1
- package/dist/modules/platform/bitbucket-server/schema.d.ts +16 -17
- package/dist/modules/platform/bitbucket-server/schema.js +6 -8
- package/dist/modules/platform/bitbucket-server/schema.js.map +1 -1
- package/dist/modules/platform/codecommit/index.d.ts +0 -8
- package/dist/modules/platform/codecommit/index.js +16 -16
- package/dist/modules/platform/codecommit/index.js.map +1 -1
- package/dist/modules/platform/forgejo/index.js +39 -38
- package/dist/modules/platform/forgejo/index.js.map +1 -1
- package/dist/modules/platform/forgejo/types.d.ts +3 -2
- package/dist/modules/platform/forgejo/types.js.map +1 -1
- package/dist/modules/platform/forgejo/utils.d.ts +1 -0
- package/dist/modules/platform/forgejo/utils.js +17 -0
- package/dist/modules/platform/forgejo/utils.js.map +1 -1
- package/dist/modules/platform/gerrit/client.d.ts +1 -1
- package/dist/modules/platform/gerrit/client.js +32 -33
- package/dist/modules/platform/gerrit/client.js.map +1 -1
- package/dist/modules/platform/gerrit/index.d.ts +1 -2
- package/dist/modules/platform/gerrit/index.js +8 -16
- package/dist/modules/platform/gerrit/index.js.map +1 -1
- package/dist/modules/platform/gerrit/scm.js +7 -13
- package/dist/modules/platform/gerrit/scm.js.map +1 -1
- package/dist/modules/platform/gerrit/types.d.ts +27 -1
- package/dist/modules/platform/gerrit/types.js.map +1 -1
- package/dist/modules/platform/gitea/index.js +34 -37
- package/dist/modules/platform/gitea/index.js.map +1 -1
- package/dist/modules/platform/gitea/schema.d.ts +3 -3
- package/dist/modules/platform/gitea/schema.js +3 -3
- package/dist/modules/platform/gitea/schema.js.map +1 -1
- package/dist/modules/platform/gitea/types.d.ts +3 -2
- package/dist/modules/platform/gitea/types.js.map +1 -1
- package/dist/modules/platform/gitea/utils.d.ts +1 -0
- package/dist/modules/platform/gitea/utils.js +17 -0
- package/dist/modules/platform/gitea/utils.js.map +1 -1
- package/dist/modules/platform/github/index.d.ts +1 -1
- package/dist/modules/platform/github/index.js +92 -33
- package/dist/modules/platform/github/index.js.map +1 -1
- package/dist/modules/platform/github/schema.d.ts +32 -2
- package/dist/modules/platform/github/schema.js +32 -8
- package/dist/modules/platform/github/schema.js.map +1 -1
- package/dist/modules/platform/github/types.d.ts +2 -2
- package/dist/modules/platform/github/types.js.map +1 -1
- package/dist/modules/platform/github/user.d.ts +2 -1
- package/dist/modules/platform/github/user.js.map +1 -1
- package/dist/modules/platform/gitlab/index.js.map +1 -1
- package/dist/modules/platform/gitlab/pr-cache.d.ts +0 -2
- package/dist/modules/platform/gitlab/pr-cache.js +28 -37
- package/dist/modules/platform/gitlab/pr-cache.js.map +1 -1
- package/dist/modules/platform/gitlab/utils.js +1 -0
- package/dist/modules/platform/gitlab/utils.js.map +1 -1
- package/dist/modules/platform/types.d.ts +1 -1
- package/dist/modules/platform/types.js.map +1 -1
- package/dist/modules/versioning/api.js +2 -0
- package/dist/modules/versioning/api.js.map +1 -1
- package/dist/modules/versioning/cargo/index.js +7 -7
- package/dist/modules/versioning/cargo/index.js.map +1 -1
- package/dist/modules/versioning/composer/index.js +0 -4
- package/dist/modules/versioning/composer/index.js.map +1 -1
- package/dist/modules/versioning/conan/index.js +1 -1
- package/dist/modules/versioning/conan/index.js.map +1 -1
- package/dist/modules/versioning/conda/index.d.ts +2 -0
- package/dist/modules/versioning/conda/index.js +4 -4
- package/dist/modules/versioning/conda/index.js.map +1 -1
- package/dist/modules/versioning/debian/index.d.ts +1 -1
- package/dist/modules/versioning/debian/index.js +2 -17
- package/dist/modules/versioning/debian/index.js.map +1 -1
- package/dist/modules/versioning/gradle/index.js +2 -2
- package/dist/modules/versioning/gradle/index.js.map +1 -1
- package/dist/modules/versioning/hashicorp/index.js +0 -1
- package/dist/modules/versioning/hashicorp/index.js.map +1 -1
- package/dist/modules/versioning/helm/index.js +0 -1
- package/dist/modules/versioning/helm/index.js.map +1 -1
- package/dist/modules/versioning/hex/index.js +0 -1
- package/dist/modules/versioning/hex/index.js.map +1 -1
- package/dist/modules/versioning/ivy/index.js +1 -2
- package/dist/modules/versioning/ivy/index.js.map +1 -1
- package/dist/modules/versioning/npm/index.js +0 -1
- package/dist/modules/versioning/npm/index.js.map +1 -1
- package/dist/modules/versioning/npm/range.js +2 -3
- package/dist/modules/versioning/npm/range.js.map +1 -1
- package/dist/modules/versioning/nuget/index.js +8 -4
- package/dist/modules/versioning/nuget/index.js.map +1 -1
- package/dist/modules/versioning/pep440/index.js +1 -1
- package/dist/modules/versioning/pep440/index.js.map +1 -1
- package/dist/modules/versioning/pep440/range.d.ts +1 -0
- package/dist/modules/versioning/pep440/range.js +4 -3
- package/dist/modules/versioning/pep440/range.js.map +1 -1
- package/dist/modules/versioning/poetry/index.js +0 -4
- package/dist/modules/versioning/poetry/index.js.map +1 -1
- package/dist/modules/versioning/rez/index.js +0 -1
- package/dist/modules/versioning/rez/index.js.map +1 -1
- package/dist/modules/versioning/ruby/index.js +5 -5
- package/dist/modules/versioning/ruby/index.js.map +1 -1
- package/dist/modules/versioning/ruby/strategies/index.d.ts +1 -2
- package/dist/modules/versioning/ruby/strategies/index.js +1 -3
- package/dist/modules/versioning/ruby/strategies/index.js.map +1 -1
- package/dist/modules/versioning/semver-partial/index.d.ts +8 -0
- package/dist/modules/versioning/semver-partial/index.js +211 -0
- package/dist/modules/versioning/semver-partial/index.js.map +1 -0
- package/dist/modules/versioning/swift/index.js +0 -1
- package/dist/modules/versioning/swift/index.js.map +1 -1
- package/dist/modules/versioning/types.d.ts +5 -0
- package/dist/modules/versioning/types.js.map +1 -1
- package/dist/renovate.js +0 -0
- package/dist/util/cache/package/decorator.js +20 -9
- package/dist/util/cache/package/decorator.js.map +1 -1
- package/dist/util/cache/package/file.d.ts +1 -1
- package/dist/util/cache/package/file.js +3 -3
- package/dist/util/cache/package/file.js.map +1 -1
- package/dist/util/cache/package/index.d.ts +9 -2
- package/dist/util/cache/package/index.js +19 -4
- package/dist/util/cache/package/index.js.map +1 -1
- package/dist/util/cache/package/namespaces.d.ts +1 -1
- package/dist/util/cache/package/namespaces.js +3 -0
- package/dist/util/cache/package/namespaces.js.map +1 -1
- package/dist/util/cache/package/redis.d.ts +1 -1
- package/dist/util/cache/package/redis.js +17 -7
- package/dist/util/cache/package/redis.js.map +1 -1
- package/dist/util/cache/package/sqlite.d.ts +1 -1
- package/dist/util/cache/package/sqlite.js +2 -2
- package/dist/util/cache/package/sqlite.js.map +1 -1
- package/dist/util/cache/package/types.d.ts +1 -1
- package/dist/util/cache/package/types.js.map +1 -1
- package/dist/util/cache/repository/http-cache.js +1 -1
- package/dist/util/cache/repository/http-cache.js.map +1 -1
- package/dist/util/cache/repository/schema.d.ts +1 -1
- package/dist/util/cache/repository/types.d.ts +1 -0
- package/dist/util/cache/repository/types.js.map +1 -1
- package/dist/util/emoji.js +2 -2
- package/dist/util/emoji.js.map +1 -1
- package/dist/util/exec/containerbase.js +5 -0
- package/dist/util/exec/containerbase.js.map +1 -1
- package/dist/util/git/index.js +6 -3
- package/dist/util/git/index.js.map +1 -1
- package/dist/util/git/private-key.js +23 -3
- package/dist/util/git/private-key.js.map +1 -1
- package/dist/util/git/types.d.ts +2 -1
- package/dist/util/git/types.js.map +1 -1
- package/dist/util/github/graphql/query-adapters/releases-query-adapter.d.ts +6 -6
- package/dist/util/http/bitbucket.js +0 -1
- package/dist/util/http/bitbucket.js.map +1 -1
- package/dist/util/http/cache/abstract-http-cache-provider.d.ts +7 -7
- package/dist/util/http/cache/abstract-http-cache-provider.js +11 -11
- package/dist/util/http/cache/abstract-http-cache-provider.js.map +1 -1
- package/dist/util/http/cache/memory-http-cache-provider.d.ts +3 -3
- package/dist/util/http/cache/memory-http-cache-provider.js +8 -8
- package/dist/util/http/cache/memory-http-cache-provider.js.map +1 -1
- package/dist/util/http/cache/package-http-cache-provider.d.ts +5 -4
- package/dist/util/http/cache/package-http-cache-provider.js +17 -11
- package/dist/util/http/cache/package-http-cache-provider.js.map +1 -1
- package/dist/util/http/cache/repository-http-cache-provider.d.ts +16 -3
- package/dist/util/http/cache/repository-http-cache-provider.js +60 -3
- package/dist/util/http/cache/repository-http-cache-provider.js.map +1 -1
- package/dist/util/http/cache/schema.d.ts +2 -2
- package/dist/util/http/cache/schema.js +2 -2
- package/dist/util/http/cache/schema.js.map +1 -1
- package/dist/util/http/cache/types.d.ts +3 -3
- package/dist/util/http/cache/types.js.map +1 -1
- package/dist/util/http/gerrit.d.ts +1 -1
- package/dist/util/http/gerrit.js +1 -1
- package/dist/util/http/gerrit.js.map +1 -1
- package/dist/util/http/gitlab.js +0 -1
- package/dist/util/http/gitlab.js.map +1 -1
- package/dist/util/http/host-rules.js +10 -0
- package/dist/util/http/host-rules.js.map +1 -1
- package/dist/util/http/http.d.ts +1 -1
- package/dist/util/http/http.js +17 -15
- package/dist/util/http/http.js.map +1 -1
- package/dist/util/http/retry-after.js +1 -1
- package/dist/util/http/retry-after.js.map +1 -1
- package/dist/util/interpolator.js +2 -0
- package/dist/util/interpolator.js.map +1 -1
- package/dist/util/markdown.js +3 -3
- package/dist/util/markdown.js.map +1 -1
- package/dist/util/merge-confidence/index.js +3 -1
- package/dist/util/merge-confidence/index.js.map +1 -1
- package/dist/util/schema-utils/index.d.ts +8 -4
- package/dist/util/schema-utils/index.js +16 -1
- package/dist/util/schema-utils/index.js.map +1 -1
- package/dist/util/template/index.d.ts +1 -0
- package/dist/util/template/index.js +70 -64
- package/dist/util/template/index.js.map +1 -1
- package/dist/workers/global/config/parse/file.js +6 -0
- package/dist/workers/global/config/parse/file.js.map +1 -1
- package/dist/workers/global/config/parse/index.js +2 -1
- package/dist/workers/global/config/parse/index.js.map +1 -1
- package/dist/workers/repository/config-migration/branch/commit-message.js +2 -1
- package/dist/workers/repository/config-migration/branch/commit-message.js.map +1 -1
- package/dist/workers/repository/config-migration/branch/create.js +1 -0
- package/dist/workers/repository/config-migration/branch/create.js.map +1 -1
- package/dist/workers/repository/config-migration/branch/rebase.js +1 -0
- package/dist/workers/repository/config-migration/branch/rebase.js.map +1 -1
- package/dist/workers/repository/dependency-dashboard.js +42 -5
- package/dist/workers/repository/dependency-dashboard.js.map +1 -1
- package/dist/workers/repository/error-config.js +1 -1
- package/dist/workers/repository/error-config.js.map +1 -1
- package/dist/workers/repository/error.js +1 -1
- package/dist/workers/repository/error.js.map +1 -1
- package/dist/workers/repository/extract/supersedes.d.ts +1 -1
- package/dist/workers/repository/extract/supersedes.js +31 -17
- package/dist/workers/repository/extract/supersedes.js.map +1 -1
- package/dist/workers/repository/finalize/index.js +1 -1
- package/dist/workers/repository/finalize/index.js.map +1 -1
- package/dist/workers/repository/finalize/prune.js +4 -3
- package/dist/workers/repository/finalize/prune.js.map +1 -1
- package/dist/workers/repository/index.js +49 -20
- package/dist/workers/repository/index.js.map +1 -1
- package/dist/workers/repository/init/inherited.js +7 -0
- package/dist/workers/repository/init/inherited.js.map +1 -1
- package/dist/workers/repository/init/merge.js +1 -1
- package/dist/workers/repository/init/merge.js.map +1 -1
- package/dist/workers/repository/onboarding/branch/check.js +5 -3
- package/dist/workers/repository/onboarding/branch/check.js.map +1 -1
- package/dist/workers/repository/onboarding/branch/create.js +1 -0
- package/dist/workers/repository/onboarding/branch/create.js.map +1 -1
- package/dist/workers/repository/onboarding/branch/rebase.js +1 -0
- package/dist/workers/repository/onboarding/branch/rebase.js.map +1 -1
- package/dist/workers/repository/onboarding/common.js +3 -2
- package/dist/workers/repository/onboarding/common.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 +4 -3
- package/dist/workers/repository/process/fetch.js.map +1 -1
- package/dist/workers/repository/process/index.d.ts +1 -0
- package/dist/workers/repository/process/index.js +25 -5
- package/dist/workers/repository/process/index.js.map +1 -1
- package/dist/workers/repository/process/lookup/filter-checks.js +42 -8
- package/dist/workers/repository/process/lookup/filter-checks.js.map +1 -1
- package/dist/workers/repository/process/lookup/filter.js +5 -7
- package/dist/workers/repository/process/lookup/filter.js.map +1 -1
- package/dist/workers/repository/process/lookup/index.js +10 -13
- package/dist/workers/repository/process/lookup/index.js.map +1 -1
- package/dist/workers/repository/process/vulnerabilities.d.ts +1 -1
- package/dist/workers/repository/process/vulnerabilities.js +13 -8
- package/dist/workers/repository/process/vulnerabilities.js.map +1 -1
- package/dist/workers/repository/reconfigure/comment.js +1 -1
- package/dist/workers/repository/reconfigure/comment.js.map +1 -1
- package/dist/workers/repository/reconfigure/index.js +1 -1
- package/dist/workers/repository/reconfigure/index.js.map +1 -1
- package/dist/workers/repository/update/branch/commit.js +2 -0
- package/dist/workers/repository/update/branch/commit.js.map +1 -1
- package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js +12 -1
- package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js.map +1 -1
- package/dist/workers/repository/update/branch/index.js +65 -20
- package/dist/workers/repository/update/branch/index.js.map +1 -1
- package/dist/workers/repository/update/branch/status-checks.js +5 -0
- package/dist/workers/repository/update/branch/status-checks.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/bitbucket/index.js +1 -1
- package/dist/workers/repository/update/pr/changelog/bitbucket/index.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/forgejo/index.js +3 -3
- package/dist/workers/repository/update/pr/changelog/forgejo/index.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/gitea/index.js +3 -3
- package/dist/workers/repository/update/pr/changelog/gitea/index.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/release-notes.js +9 -4
- package/dist/workers/repository/update/pr/changelog/release-notes.js.map +1 -1
- package/dist/workers/repository/update/pr/index.js +28 -11
- package/dist/workers/repository/update/pr/index.js.map +1 -1
- package/dist/workers/repository/update/pr/pr-reuse.d.ts +1 -1
- package/dist/workers/repository/update/pr/pr-reuse.js +2 -2
- package/dist/workers/repository/update/pr/pr-reuse.js.map +1 -1
- package/dist/workers/repository/updates/generate.js +1 -0
- package/dist/workers/repository/updates/generate.js.map +1 -1
- package/dist/workers/types.d.ts +1 -0
- package/dist/workers/types.js.map +1 -1
- package/package.json +136 -153
- package/renovate-schema.json +325 -111
- package/dist/config/decrypt/kbpgp.d.ts +0 -1
- package/dist/config/decrypt/kbpgp.js +0 -58
- package/dist/config/decrypt/kbpgp.js.map +0 -1
- package/dist/config/decrypt/legacy.d.ts +0 -2
- package/dist/config/decrypt/legacy.js +0 -36
- package/dist/config/decrypt/legacy.js.map +0 -1
- package/dist/modules/versioning/ruby/strategies/pin.d.ts +0 -4
- package/dist/modules/versioning/ruby/strategies/pin.js +0 -4
- package/dist/modules/versioning/ruby/strategies/pin.js.map +0 -1
|
@@ -1,70 +1,80 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
export declare const NixFlakeLock: z.ZodPipeline<z.ZodEffects<z.ZodString, string | number | boolean | import("type-fest").JsonObject | import("type-fest").JsonValue[] | readonly import("type-fest").JsonValue[] | null, string>, z.ZodObject<{
|
|
2
|
+
export declare const NixFlakeLock: z.ZodPipeline<z.ZodEffects<z.ZodString, string | number | boolean | import("type-fest", { with: { "resolution-mode": "import" } }).JsonObject | import("type-fest", { with: { "resolution-mode": "import" } }).JsonValue[] | readonly import("type-fest", { with: { "resolution-mode": "import" } }).JsonValue[] | null, string>, z.ZodObject<{
|
|
3
3
|
nodes: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
4
4
|
inputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>>;
|
|
5
5
|
locked: z.ZodOptional<z.ZodObject<{
|
|
6
6
|
ref: z.ZodOptional<z.ZodString>;
|
|
7
|
-
rev: z.ZodString
|
|
8
|
-
type: z.ZodEnum<["git", "github", "gitlab", "indirect", "path", "sourcehut", "tarball"]>;
|
|
7
|
+
rev: z.ZodOptional<z.ZodString>;
|
|
8
|
+
type: z.ZodEnum<["file", "git", "github", "gitlab", "indirect", "path", "sourcehut", "tarball"]>;
|
|
9
|
+
url: z.ZodOptional<z.ZodString>;
|
|
9
10
|
}, "strip", z.ZodTypeAny, {
|
|
10
|
-
type: "path" | "github" | "gitlab" | "git" | "indirect" | "sourcehut" | "tarball";
|
|
11
|
-
|
|
11
|
+
type: "path" | "github" | "gitlab" | "file" | "git" | "indirect" | "sourcehut" | "tarball";
|
|
12
|
+
url?: string | undefined;
|
|
12
13
|
ref?: string | undefined;
|
|
14
|
+
rev?: string | undefined;
|
|
13
15
|
}, {
|
|
14
|
-
type: "path" | "github" | "gitlab" | "git" | "indirect" | "sourcehut" | "tarball";
|
|
15
|
-
|
|
16
|
+
type: "path" | "github" | "gitlab" | "file" | "git" | "indirect" | "sourcehut" | "tarball";
|
|
17
|
+
url?: string | undefined;
|
|
16
18
|
ref?: string | undefined;
|
|
19
|
+
rev?: string | undefined;
|
|
17
20
|
}>>;
|
|
18
21
|
original: z.ZodOptional<z.ZodObject<{
|
|
19
22
|
host: z.ZodOptional<z.ZodString>;
|
|
20
23
|
owner: z.ZodOptional<z.ZodString>;
|
|
21
24
|
repo: z.ZodOptional<z.ZodString>;
|
|
22
25
|
ref: z.ZodOptional<z.ZodString>;
|
|
23
|
-
|
|
26
|
+
rev: z.ZodOptional<z.ZodString>;
|
|
27
|
+
type: z.ZodEnum<["file", "git", "github", "gitlab", "indirect", "path", "sourcehut", "tarball"]>;
|
|
24
28
|
url: z.ZodOptional<z.ZodString>;
|
|
25
29
|
}, "strip", z.ZodTypeAny, {
|
|
26
|
-
type: "path" | "github" | "gitlab" | "git" | "indirect" | "sourcehut" | "tarball";
|
|
30
|
+
type: "path" | "github" | "gitlab" | "file" | "git" | "indirect" | "sourcehut" | "tarball";
|
|
27
31
|
host?: string | undefined;
|
|
32
|
+
repo?: string | undefined;
|
|
28
33
|
url?: string | undefined;
|
|
29
34
|
ref?: string | undefined;
|
|
30
|
-
|
|
35
|
+
rev?: string | undefined;
|
|
31
36
|
owner?: string | undefined;
|
|
32
37
|
}, {
|
|
33
|
-
type: "path" | "github" | "gitlab" | "git" | "indirect" | "sourcehut" | "tarball";
|
|
38
|
+
type: "path" | "github" | "gitlab" | "file" | "git" | "indirect" | "sourcehut" | "tarball";
|
|
34
39
|
host?: string | undefined;
|
|
40
|
+
repo?: string | undefined;
|
|
35
41
|
url?: string | undefined;
|
|
36
42
|
ref?: string | undefined;
|
|
37
|
-
|
|
43
|
+
rev?: string | undefined;
|
|
38
44
|
owner?: string | undefined;
|
|
39
45
|
}>>;
|
|
40
46
|
}, "strip", z.ZodTypeAny, {
|
|
41
47
|
locked?: {
|
|
42
|
-
type: "path" | "github" | "gitlab" | "git" | "indirect" | "sourcehut" | "tarball";
|
|
43
|
-
|
|
48
|
+
type: "path" | "github" | "gitlab" | "file" | "git" | "indirect" | "sourcehut" | "tarball";
|
|
49
|
+
url?: string | undefined;
|
|
44
50
|
ref?: string | undefined;
|
|
51
|
+
rev?: string | undefined;
|
|
45
52
|
} | undefined;
|
|
46
53
|
inputs?: Record<string, string | string[]> | undefined;
|
|
47
54
|
original?: {
|
|
48
|
-
type: "path" | "github" | "gitlab" | "git" | "indirect" | "sourcehut" | "tarball";
|
|
55
|
+
type: "path" | "github" | "gitlab" | "file" | "git" | "indirect" | "sourcehut" | "tarball";
|
|
49
56
|
host?: string | undefined;
|
|
57
|
+
repo?: string | undefined;
|
|
50
58
|
url?: string | undefined;
|
|
51
59
|
ref?: string | undefined;
|
|
52
|
-
|
|
60
|
+
rev?: string | undefined;
|
|
53
61
|
owner?: string | undefined;
|
|
54
62
|
} | undefined;
|
|
55
63
|
}, {
|
|
56
64
|
locked?: {
|
|
57
|
-
type: "path" | "github" | "gitlab" | "git" | "indirect" | "sourcehut" | "tarball";
|
|
58
|
-
|
|
65
|
+
type: "path" | "github" | "gitlab" | "file" | "git" | "indirect" | "sourcehut" | "tarball";
|
|
66
|
+
url?: string | undefined;
|
|
59
67
|
ref?: string | undefined;
|
|
68
|
+
rev?: string | undefined;
|
|
60
69
|
} | undefined;
|
|
61
70
|
inputs?: Record<string, string | string[]> | undefined;
|
|
62
71
|
original?: {
|
|
63
|
-
type: "path" | "github" | "gitlab" | "git" | "indirect" | "sourcehut" | "tarball";
|
|
72
|
+
type: "path" | "github" | "gitlab" | "file" | "git" | "indirect" | "sourcehut" | "tarball";
|
|
64
73
|
host?: string | undefined;
|
|
74
|
+
repo?: string | undefined;
|
|
65
75
|
url?: string | undefined;
|
|
66
76
|
ref?: string | undefined;
|
|
67
|
-
|
|
77
|
+
rev?: string | undefined;
|
|
68
78
|
owner?: string | undefined;
|
|
69
79
|
} | undefined;
|
|
70
80
|
}>>;
|
|
@@ -73,17 +83,19 @@ export declare const NixFlakeLock: z.ZodPipeline<z.ZodEffects<z.ZodString, strin
|
|
|
73
83
|
version: 7;
|
|
74
84
|
nodes: Record<string, {
|
|
75
85
|
locked?: {
|
|
76
|
-
type: "path" | "github" | "gitlab" | "git" | "indirect" | "sourcehut" | "tarball";
|
|
77
|
-
|
|
86
|
+
type: "path" | "github" | "gitlab" | "file" | "git" | "indirect" | "sourcehut" | "tarball";
|
|
87
|
+
url?: string | undefined;
|
|
78
88
|
ref?: string | undefined;
|
|
89
|
+
rev?: string | undefined;
|
|
79
90
|
} | undefined;
|
|
80
91
|
inputs?: Record<string, string | string[]> | undefined;
|
|
81
92
|
original?: {
|
|
82
|
-
type: "path" | "github" | "gitlab" | "git" | "indirect" | "sourcehut" | "tarball";
|
|
93
|
+
type: "path" | "github" | "gitlab" | "file" | "git" | "indirect" | "sourcehut" | "tarball";
|
|
83
94
|
host?: string | undefined;
|
|
95
|
+
repo?: string | undefined;
|
|
84
96
|
url?: string | undefined;
|
|
85
97
|
ref?: string | undefined;
|
|
86
|
-
|
|
98
|
+
rev?: string | undefined;
|
|
87
99
|
owner?: string | undefined;
|
|
88
100
|
} | undefined;
|
|
89
101
|
}>;
|
|
@@ -91,17 +103,19 @@ export declare const NixFlakeLock: z.ZodPipeline<z.ZodEffects<z.ZodString, strin
|
|
|
91
103
|
version: 7;
|
|
92
104
|
nodes: Record<string, {
|
|
93
105
|
locked?: {
|
|
94
|
-
type: "path" | "github" | "gitlab" | "git" | "indirect" | "sourcehut" | "tarball";
|
|
95
|
-
|
|
106
|
+
type: "path" | "github" | "gitlab" | "file" | "git" | "indirect" | "sourcehut" | "tarball";
|
|
107
|
+
url?: string | undefined;
|
|
96
108
|
ref?: string | undefined;
|
|
109
|
+
rev?: string | undefined;
|
|
97
110
|
} | undefined;
|
|
98
111
|
inputs?: Record<string, string | string[]> | undefined;
|
|
99
112
|
original?: {
|
|
100
|
-
type: "path" | "github" | "gitlab" | "git" | "indirect" | "sourcehut" | "tarball";
|
|
113
|
+
type: "path" | "github" | "gitlab" | "file" | "git" | "indirect" | "sourcehut" | "tarball";
|
|
101
114
|
host?: string | undefined;
|
|
115
|
+
repo?: string | undefined;
|
|
102
116
|
url?: string | undefined;
|
|
103
117
|
ref?: string | undefined;
|
|
104
|
-
|
|
118
|
+
rev?: string | undefined;
|
|
105
119
|
owner?: string | undefined;
|
|
106
120
|
} | undefined;
|
|
107
121
|
}>;
|
|
@@ -4,6 +4,7 @@ exports.NixFlakeLock = void 0;
|
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const schema_utils_1 = require("../../../util/schema-utils");
|
|
6
6
|
const InputType = zod_1.z.enum([
|
|
7
|
+
'file',
|
|
7
8
|
'git',
|
|
8
9
|
'github',
|
|
9
10
|
'gitlab',
|
|
@@ -14,14 +15,16 @@ const InputType = zod_1.z.enum([
|
|
|
14
15
|
]);
|
|
15
16
|
const LockedInput = zod_1.z.object({
|
|
16
17
|
ref: zod_1.z.string().optional(),
|
|
17
|
-
rev: zod_1.z.string(),
|
|
18
|
+
rev: zod_1.z.string().optional(),
|
|
18
19
|
type: InputType,
|
|
20
|
+
url: zod_1.z.string().optional(),
|
|
19
21
|
});
|
|
20
22
|
const OriginalInput = zod_1.z.object({
|
|
21
23
|
host: zod_1.z.string().optional(),
|
|
22
24
|
owner: zod_1.z.string().optional(),
|
|
23
25
|
repo: zod_1.z.string().optional(),
|
|
24
26
|
ref: zod_1.z.string().optional(),
|
|
27
|
+
rev: zod_1.z.string().optional(),
|
|
25
28
|
type: InputType,
|
|
26
29
|
url: zod_1.z.string().optional(),
|
|
27
30
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/manager/nix/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,6DAAkD;AAElD,MAAM,SAAS,GAAG,OAAC,CAAC,IAAI,CAAC;IACvB,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,MAAM;IACN,WAAW;IACX,SAAS;CACV,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3B,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/manager/nix/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,6DAAkD;AAElD,MAAM,SAAS,GAAG,OAAC,CAAC,IAAI,CAAC;IACvB,MAAM;IACN,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,MAAM;IACN,WAAW;IACX,SAAS;CACV,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3B,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,IAAI,EAAE,SAAS;IACf,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC3B,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,IAAI,EAAE,SAAS;IACf,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC3B,CAAC,CAAC;AAEH,MAAM,QAAQ,GAAG,OAAC,CAAC,MAAM,CAAC;IACxB,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC3E,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE;IAC9B,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAEU,QAAA,YAAY,GAAG,mBAAI,CAAC,IAAI,CACnC,OAAC,CAAC,MAAM,CAAC;IACP,KAAK,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC;IACrC,OAAO,EAAE,OAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CACtB,CAAC,CACH,CAAC","sourcesContent":["import { z } from 'zod';\nimport { Json } from '../../../util/schema-utils';\n\nconst InputType = z.enum([\n 'file',\n 'git',\n 'github',\n 'gitlab',\n 'indirect',\n 'path',\n 'sourcehut',\n 'tarball',\n]);\n\nconst LockedInput = z.object({\n ref: z.string().optional(),\n rev: z.string().optional(),\n type: InputType,\n url: z.string().optional(),\n});\n\nconst OriginalInput = z.object({\n host: z.string().optional(),\n owner: z.string().optional(),\n repo: z.string().optional(),\n ref: z.string().optional(),\n rev: z.string().optional(),\n type: InputType,\n url: z.string().optional(),\n});\n\nconst NixInput = z.object({\n inputs: z.record(z.string(), z.string().or(z.array(z.string()))).optional(),\n locked: LockedInput.optional(),\n original: OriginalInput.optional(),\n});\n\nexport const NixFlakeLock = Json.pipe(\n z.object({\n nodes: z.record(z.string(), NixInput),\n version: z.literal(7),\n }),\n);\n\nexport type NixFlakeLock = z.infer<typeof NixFlakeLock>;\n"]}
|
|
@@ -2,3 +2,4 @@ import type { PackageFileContent } from '../../../types';
|
|
|
2
2
|
import type { NpmManagerData } from '../../types';
|
|
3
3
|
import type { NpmPackage } from '../types';
|
|
4
4
|
export declare function extractPackageJson(packageJson: NpmPackage, packageFile: string): PackageFileContent<NpmManagerData> | null;
|
|
5
|
+
export declare function hasPackageManager(packageJsonDir: string): Promise<boolean>;
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.extractPackageJson = extractPackageJson;
|
|
4
|
+
exports.hasPackageManager = hasPackageManager;
|
|
4
5
|
const tslib_1 = require("tslib");
|
|
5
6
|
const parse_overrides_1 = require("@pnpm/parse-overrides");
|
|
6
7
|
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
7
8
|
const error_messages_1 = require("../../../../../constants/error-messages");
|
|
8
9
|
const logger_1 = require("../../../../../logger");
|
|
9
10
|
const regex_1 = require("../../../../../util/regex");
|
|
11
|
+
const utils_1 = require("../../utils");
|
|
10
12
|
const dependency_1 = require("./dependency");
|
|
11
13
|
const node_1 = require("./node");
|
|
12
14
|
const overrides_1 = require("./overrides");
|
|
@@ -116,4 +118,10 @@ function extractPackageJson(packageJson, packageFile) {
|
|
|
116
118
|
},
|
|
117
119
|
};
|
|
118
120
|
}
|
|
121
|
+
async function hasPackageManager(packageJsonDir) {
|
|
122
|
+
logger_1.logger.trace(`npm.hasPackageManager from package.json`);
|
|
123
|
+
const packageJsonResult = await (0, utils_1.loadPackageJson)(packageJsonDir);
|
|
124
|
+
return (is_1.default.nonEmptyString(packageJsonResult?.packageManager?.name) &&
|
|
125
|
+
is_1.default.nonEmptyString(packageJsonResult?.packageManager?.version));
|
|
126
|
+
}
|
|
119
127
|
//# sourceMappingURL=package-file.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-file.js","sourceRoot":"","sources":["../../../../../../lib/modules/manager/npm/extract/common/package-file.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"package-file.js","sourceRoot":"","sources":["../../../../../../lib/modules/manager/npm/extract/common/package-file.ts"],"names":[],"mappings":"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","sourcesContent":["import { parsePkgAndParentSelector } from '@pnpm/parse-overrides';\nimport is from '@sindresorhus/is';\nimport { CONFIG_VALIDATION } from '../../../../../constants/error-messages';\nimport { logger } from '../../../../../logger';\nimport { regEx } from '../../../../../util/regex';\nimport type { PackageDependency, PackageFileContent } from '../../../types';\nimport type { NpmManagerData } from '../../types';\nimport { loadPackageJson } from '../../utils';\nimport type { NpmPackage, NpmPackageDependency } from '../types';\nimport {\n extractDependency,\n getExtractedConstraints,\n parseDepName,\n} from './dependency';\nimport { setNodeCommitTopic } from './node';\nimport { extractOverrideDepsRec } from './overrides';\n\nexport function extractPackageJson(\n packageJson: NpmPackage,\n packageFile: string,\n): PackageFileContent<NpmManagerData> | null {\n logger.trace(`npm.extractPackageJson(${packageFile})`);\n const deps: PackageDependency[] = [];\n\n if (packageJson._id && packageJson._args && packageJson._from) {\n logger.debug({ packageFile }, 'Ignoring vendorised package.json');\n return null;\n }\n if (packageFile !== 'package.json' && packageJson.renovate) {\n const error = new Error(CONFIG_VALIDATION);\n error.validationSource = packageFile;\n error.validationError =\n 'Nested package.json must not contain Renovate configuration. Please use `packageRules` with `matchFileNames` in your main config instead.';\n throw error;\n }\n const packageJsonName = packageJson.name;\n logger.debug(\n `npm file ${packageFile} has name ${JSON.stringify(packageJsonName)}`,\n );\n const packageFileVersion = packageJson.version;\n\n const depTypes = {\n dependencies: 'dependency',\n devDependencies: 'devDependency',\n optionalDependencies: 'optionalDependency',\n peerDependencies: 'peerDependency',\n engines: 'engine',\n volta: 'volta',\n resolutions: 'resolutions',\n packageManager: 'packageManager',\n overrides: 'overrides',\n pnpm: 'pnpm',\n };\n\n for (const depType of Object.keys(depTypes) as (keyof typeof depTypes)[]) {\n let dependencies = packageJson[depType];\n if (dependencies) {\n try {\n if (depType === 'packageManager') {\n const match = regEx('^(?<name>.+)@(?<range>.+)$').exec(\n dependencies as string,\n );\n /* v8 ignore next 3 -- needs test */\n if (!match?.groups) {\n break;\n }\n dependencies = { [match.groups.name]: match.groups.range };\n }\n for (const [key, val] of Object.entries(\n dependencies as NpmPackageDependency,\n )) {\n const depName = parseDepName(depType, key);\n let dep: PackageDependency = {\n depType,\n depName,\n };\n if (depName !== key) {\n dep.managerData = { key };\n }\n if (depType === 'overrides' && !is.string(val)) {\n // TODO: fix type #22198\n deps.push(\n ...extractOverrideDepsRec(\n [depName],\n val as unknown as NpmManagerData,\n ),\n );\n } else if (depType === 'pnpm' && depName === 'overrides') {\n // pnpm overrides\n // https://pnpm.io/package_json#pnpmoverrides\n for (const [overridesKey, overridesVal] of Object.entries(\n val as unknown as NpmPackageDependency,\n )) {\n if (is.string(overridesVal)) {\n // Newer flat syntax: `parent>parent>child`\n const packageName =\n parsePkgAndParentSelector(overridesKey).targetPkg.name;\n dep = {\n depName: overridesKey,\n packageName,\n depType: 'pnpm.overrides',\n ...extractDependency(depName, packageName, overridesVal),\n };\n setNodeCommitTopic(dep);\n // TODO: Is this expected? It's always 'overrides'.\n dep.prettyDepType = depTypes[depName];\n deps.push(dep);\n } else if (is.object(overridesVal)) {\n // Older nested object syntax: `parent: { parent: { child: version } }`\n deps.push(\n ...extractOverrideDepsRec(\n [overridesKey],\n overridesVal as unknown as NpmManagerData,\n ),\n );\n }\n }\n } else {\n // TODO: fix type #22198\n dep = { ...dep, ...extractDependency(depType, depName, val!) };\n setNodeCommitTopic(dep);\n dep.prettyDepType = depTypes[depType];\n deps.push(dep);\n }\n } /* v8 ignore start -- needs test */\n } catch (err) {\n logger.debug(\n { fileName: packageFile, depType, err },\n 'Error parsing package.json',\n );\n return null;\n } /* v8 ignore stop -- needs test */\n }\n }\n\n const extractedConstraints = getExtractedConstraints(deps);\n\n return {\n deps,\n extractedConstraints,\n packageFileVersion,\n managerData: {\n packageJsonName,\n hasPackageManager:\n is.nonEmptyStringAndNotWhitespace(packageJson.packageManager) ||\n is.nonEmptyObject(packageJson.devEngines?.packageManager),\n workspaces: packageJson.workspaces,\n },\n };\n}\n\nexport async function hasPackageManager(\n packageJsonDir: string,\n): Promise<boolean> {\n logger.trace(`npm.hasPackageManager from package.json`);\n\n const packageJsonResult = await loadPackageJson(packageJsonDir);\n\n return (\n is.nonEmptyString(packageJsonResult?.packageManager?.name) &&\n is.nonEmptyString(packageJsonResult?.packageManager?.version)\n );\n}\n"]}
|
|
@@ -4,6 +4,7 @@ exports.extractPackageFile = extractPackageFile;
|
|
|
4
4
|
exports.extractAllPackageFiles = extractAllPackageFiles;
|
|
5
5
|
const tslib_1 = require("tslib");
|
|
6
6
|
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
7
|
+
const upath_1 = tslib_1.__importDefault(require("upath"));
|
|
7
8
|
const global_1 = require("../../../../config/global");
|
|
8
9
|
const logger_1 = require("../../../../logger");
|
|
9
10
|
const fs_1 = require("../../../../util/fs");
|
|
@@ -187,13 +188,29 @@ async function extractAllPackageFiles(config, packageFiles) {
|
|
|
187
188
|
}
|
|
188
189
|
}
|
|
189
190
|
else {
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
191
|
+
if (packageFile.endsWith('json')) {
|
|
192
|
+
logger_1.logger.trace({ packageFile }, `Extracting as a package.json file`);
|
|
193
|
+
const deps = await extractPackageFile(content, packageFile, config);
|
|
194
|
+
if (deps) {
|
|
195
|
+
npmFiles.push({
|
|
196
|
+
...deps,
|
|
197
|
+
packageFile,
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
logger_1.logger.trace({ packageFile }, `Extracting as a .yarnrc.yml file`);
|
|
203
|
+
const yarnConfig = (0, yarnrc_1.loadConfigFromYarnrcYml)(content);
|
|
204
|
+
if (yarnConfig?.catalogs || yarnConfig?.catalog) {
|
|
205
|
+
const hasPackageManagerResult = await (0, package_file_1.hasPackageManager)(upath_1.default.dirname(packageFile));
|
|
206
|
+
const catalogsDeps = await (0, yarn_1.extractYarnCatalogs)({ catalog: yarnConfig.catalog, catalogs: yarnConfig.catalogs }, packageFile, hasPackageManagerResult);
|
|
207
|
+
if (catalogsDeps) {
|
|
208
|
+
npmFiles.push({
|
|
209
|
+
...catalogsDeps,
|
|
210
|
+
packageFile,
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
}
|
|
197
214
|
}
|
|
198
215
|
}
|
|
199
216
|
}
|
|
@@ -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 { 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 { YarnrcConfig } from '../schema';\nimport type { NpmLockFiles, NpmManagerData } from '../types';\nimport { getExtractedConstraints } from './common/dependency';\nimport { extractPackageJson } from './common/package-file';\nimport { extractPnpmWorkspaceFile, tryParsePnpmWorkspaceYaml } from './pnpm';\nimport { postExtract } from './post';\nimport type { NpmPackage } from './types';\nimport { 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: YarnrcConfig | 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 logger.trace({ packageFile }, `Extracting as a package.json file`);\n const deps = await extractPackageFile(content, packageFile, config);\n if (deps) {\n npmFiles.push({\n ...deps,\n packageFile,\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 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,8 +1,9 @@
|
|
|
1
1
|
import type { z } from 'zod';
|
|
2
2
|
import type { PackageFile, PackageFileContent } from '../../types';
|
|
3
|
-
import type {
|
|
3
|
+
import type { PnpmCatalogs } from '../schema';
|
|
4
|
+
import { PnpmWorkspaceFile } from '../schema';
|
|
4
5
|
import type { NpmManagerData } from '../types';
|
|
5
|
-
import type { LockFile
|
|
6
|
+
import type { LockFile } from './types';
|
|
6
7
|
export declare function extractPnpmFilters(fileName: string): Promise<string[] | undefined>;
|
|
7
8
|
export declare function findPnpmWorkspace(packageFile: string): Promise<{
|
|
8
9
|
lockFilePath: string;
|
|
@@ -17,6 +18,6 @@ export declare function tryParsePnpmWorkspaceYaml(content: string): {
|
|
|
17
18
|
success: false;
|
|
18
19
|
data?: never;
|
|
19
20
|
};
|
|
20
|
-
type PnpmCatalogs = z.TypeOf<typeof
|
|
21
|
+
type PnpmCatalogs = z.TypeOf<typeof PnpmCatalogs>;
|
|
21
22
|
export declare function extractPnpmWorkspaceFile(catalogs: PnpmCatalogs, packageFile: string): Promise<PackageFileContent<NpmManagerData> | null>;
|
|
22
23
|
export {};
|
|
@@ -175,7 +175,7 @@ function getLockedDependencyVersions(obj) {
|
|
|
175
175
|
function tryParsePnpmWorkspaceYaml(content) {
|
|
176
176
|
try {
|
|
177
177
|
const data = (0, yaml_1.parseSingleYaml)(content, {
|
|
178
|
-
customSchema: schema_1.
|
|
178
|
+
customSchema: schema_1.PnpmWorkspaceFile,
|
|
179
179
|
});
|
|
180
180
|
return { success: true, data };
|
|
181
181
|
}
|
|
@@ -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 { PnpmDependencySchema, PnpmLockFile } from '../post-update/types';\nimport type { PnpmCatalogsSchema } from '../schema';\nimport { PnpmWorkspaceFileSchema } from '../schema';\nimport type { NpmManagerData } from '../types';\nimport { extractCatalogDeps } from './common/catalogs';\nimport type { Catalog, LockFile, PnpmWorkspaceFile } 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, PnpmDependencySchema>,\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: PnpmWorkspaceFileSchema,\n });\n return { success: true, data };\n } catch {\n return { success: false };\n }\n}\n\ntype PnpmCatalogs = z.TypeOf<typeof PnpmCatalogsSchema>;\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":"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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"]}
|
|
@@ -99,6 +99,12 @@ async function getLockedVersions(packageFiles) {
|
|
|
99
99
|
const npmRootDir = upath_1.default.dirname(npmLock);
|
|
100
100
|
const relativeDir = upath_1.default.relative(npmRootDir, packageDir);
|
|
101
101
|
for (const dep of packageFile.deps) {
|
|
102
|
+
// Skip dependency types which are not locked in the lock file
|
|
103
|
+
if (dep.depType === 'engines' ||
|
|
104
|
+
dep.depType === 'packageManager' ||
|
|
105
|
+
dep.depType === 'volta') {
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
102
108
|
// TODO: types (#22198)
|
|
103
109
|
let lockedDepName = dep.depName;
|
|
104
110
|
if (relativeDir && relativeDir !== '.') {
|
|
@@ -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 // 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 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,5 +1,9 @@
|
|
|
1
|
+
import type { PackageFileContent } from '../../types';
|
|
2
|
+
import type { YarnCatalogs } from '../schema';
|
|
3
|
+
import type { NpmManagerData } from '../types';
|
|
1
4
|
import type { LockFile } from './types';
|
|
2
5
|
export declare function getYarnLock(filePath: string): Promise<LockFile>;
|
|
3
6
|
export declare function getZeroInstallPaths(yarnrcYml: string): string[];
|
|
4
7
|
export declare function isZeroInstall(yarnrcYmlPath: string): Promise<boolean>;
|
|
5
8
|
export declare function getYarnVersionFromLock(lockfile: LockFile): string;
|
|
9
|
+
export declare function extractYarnCatalogs(catalogs: YarnCatalogs, packageFile: string, hasPackageManager: boolean): Promise<PackageFileContent<NpmManagerData>>;
|