renovate 41.0.0-next.21 → 41.0.0-next.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/decrypt.js +5 -3
- package/dist/config/decrypt.js.map +1 -1
- package/dist/config/options/index.js +45 -3
- package/dist/config/options/index.js.map +1 -1
- package/dist/config/presets/github/index.js +2 -2
- package/dist/config/presets/github/index.js.map +1 -1
- package/dist/config/presets/internal/group.js +21 -0
- package/dist/config/presets/internal/group.js.map +1 -1
- package/dist/config/presets/internal/workarounds.js +11 -0
- package/dist/config/presets/internal/workarounds.js.map +1 -1
- package/dist/config/secrets.d.ts +2 -0
- package/dist/config/secrets.js +10 -77
- package/dist/config/secrets.js.map +1 -1
- package/dist/config/types.d.ts +9 -1
- package/dist/config/types.js.map +1 -1
- package/dist/config-validator.js +4 -2
- package/dist/config-validator.js.map +1 -1
- package/dist/data/monorepo.json +10 -1
- package/dist/data-files.generated.d.ts +1 -1
- package/dist/data-files.generated.js +2 -1
- package/dist/data-files.generated.js.map +1 -1
- package/dist/instrumentation/index.js +5 -3
- package/dist/instrumentation/index.js.map +1 -1
- package/dist/instrumentation/reporting.d.ts +2 -2
- package/dist/instrumentation/reporting.js +3 -7
- package/dist/instrumentation/reporting.js.map +1 -1
- package/dist/instrumentation/types.d.ts +11 -5
- package/dist/instrumentation/types.js.map +1 -1
- package/dist/instrumentation/utils.js +3 -2
- package/dist/instrumentation/utils.js.map +1 -1
- package/dist/logger/once.js +2 -0
- package/dist/logger/once.js.map +1 -1
- package/dist/modules/datasource/aws-eks-addon/schema.d.ts +14 -38
- package/dist/modules/datasource/aws-eks-addon/schema.js +11 -22
- package/dist/modules/datasource/aws-eks-addon/schema.js.map +1 -1
- package/dist/modules/datasource/cdnjs/index.js +2 -1
- package/dist/modules/datasource/cdnjs/index.js.map +1 -1
- package/dist/modules/datasource/crate/index.js +7 -2
- package/dist/modules/datasource/crate/index.js.map +1 -1
- package/dist/modules/datasource/docker/ecr.js +2 -2
- package/dist/modules/datasource/docker/ecr.js.map +1 -1
- package/dist/modules/datasource/docker/index.js +26 -9
- package/dist/modules/datasource/docker/index.js.map +1 -1
- package/dist/modules/datasource/docker/schema.d.ts +9 -87
- package/dist/modules/datasource/docker/schema.js +1 -1
- package/dist/modules/datasource/docker/schema.js.map +1 -1
- package/dist/modules/datasource/git-refs/base.js +2 -6
- package/dist/modules/datasource/git-refs/base.js.map +1 -1
- package/dist/modules/datasource/go/goproxy-parser.js +6 -2
- package/dist/modules/datasource/go/goproxy-parser.js.map +1 -1
- package/dist/modules/datasource/go/index.js +4 -2
- package/dist/modules/datasource/go/index.js.map +1 -1
- package/dist/modules/datasource/go/releases-goproxy.js +3 -2
- package/dist/modules/datasource/go/releases-goproxy.js.map +1 -1
- package/dist/modules/datasource/index.js +1 -1
- package/dist/modules/datasource/index.js.map +1 -1
- package/dist/modules/datasource/maven/index.js +5 -19
- package/dist/modules/datasource/maven/index.js.map +1 -1
- package/dist/modules/datasource/maven/util.js +8 -1
- 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/npmrc.js +2 -1
- package/dist/modules/datasource/npm/npmrc.js.map +1 -1
- package/dist/modules/datasource/nuget/v3.js +3 -2
- package/dist/modules/datasource/nuget/v3.js.map +1 -1
- package/dist/modules/datasource/pod/index.js +3 -1
- package/dist/modules/datasource/pod/index.js.map +1 -1
- package/dist/modules/datasource/pypi/index.js +2 -1
- package/dist/modules/datasource/pypi/index.js.map +1 -1
- package/dist/modules/datasource/types.d.ts +2 -1
- package/dist/modules/datasource/types.js.map +1 -1
- package/dist/modules/manager/asdf/upgradeable-tooling.js +8 -0
- package/dist/modules/manager/asdf/upgradeable-tooling.js.map +1 -1
- package/dist/modules/manager/bazel/rules/git.d.ts +7 -7
- package/dist/modules/manager/bazel/rules/git.js +6 -1
- package/dist/modules/manager/bazel/rules/git.js.map +1 -1
- package/dist/modules/manager/bazel-module/bazelrc.d.ts +2 -0
- package/dist/modules/manager/bazel-module/bazelrc.js +30 -1
- package/dist/modules/manager/bazel-module/bazelrc.js.map +1 -1
- package/dist/modules/manager/bazel-module/parser/rules.js +1 -0
- package/dist/modules/manager/bazel-module/parser/rules.js.map +1 -1
- package/dist/modules/manager/bazel-module/rules.d.ts +62 -24
- package/dist/modules/manager/bazel-module/rules.js +10 -4
- package/dist/modules/manager/bazel-module/rules.js.map +1 -1
- package/dist/modules/manager/cargo/extract.js +2 -1
- package/dist/modules/manager/cargo/extract.js.map +1 -1
- package/dist/modules/manager/composer/schema.js +1 -1
- package/dist/modules/manager/composer/schema.js.map +1 -1
- package/dist/modules/manager/docker-compose/extract.js +2 -0
- package/dist/modules/manager/docker-compose/extract.js.map +1 -1
- package/dist/modules/manager/docker-compose/schema.d.ts +120 -9
- package/dist/modules/manager/docker-compose/schema.js +35 -4
- package/dist/modules/manager/docker-compose/schema.js.map +1 -1
- package/dist/modules/manager/fingerprint.generated.js +19 -19
- package/dist/modules/manager/fingerprint.generated.js.map +1 -1
- package/dist/modules/manager/fleet/extract.js +2 -2
- package/dist/modules/manager/fleet/extract.js.map +1 -1
- package/dist/modules/manager/fleet/schema.d.ts +5 -5
- package/dist/modules/manager/fleet/schema.js +1 -1
- package/dist/modules/manager/fleet/schema.js.map +1 -1
- package/dist/modules/manager/flux/extract.js +1 -1
- package/dist/modules/manager/flux/extract.js.map +1 -1
- package/dist/modules/manager/git-submodules/extract.js +2 -6
- package/dist/modules/manager/git-submodules/extract.js.map +1 -1
- package/dist/modules/manager/git-submodules/update.js +3 -7
- package/dist/modules/manager/git-submodules/update.js.map +1 -1
- package/dist/modules/manager/github-actions/extract.js +1 -1
- package/dist/modules/manager/github-actions/extract.js.map +1 -1
- package/dist/modules/manager/gleam/artifacts.js +5 -1
- package/dist/modules/manager/gleam/artifacts.js.map +1 -1
- package/dist/modules/manager/gomod/artifacts.js +8 -6
- package/dist/modules/manager/gomod/artifacts.js.map +1 -1
- package/dist/modules/manager/gradle/extract.js +4 -1
- package/dist/modules/manager/gradle/extract.js.map +1 -1
- package/dist/modules/manager/gradle/utils.js +8 -14
- package/dist/modules/manager/gradle/utils.js.map +1 -1
- package/dist/modules/manager/helmfile/utils.js +1 -1
- package/dist/modules/manager/helmfile/utils.js.map +1 -1
- package/dist/modules/manager/helmv3/artifacts.js +8 -2
- package/dist/modules/manager/helmv3/artifacts.js.map +1 -1
- package/dist/modules/manager/helmv3/common.d.ts +1 -1
- package/dist/modules/manager/helmv3/common.js +9 -3
- package/dist/modules/manager/helmv3/common.js.map +1 -1
- package/dist/modules/manager/hermit/artifacts.js +2 -2
- package/dist/modules/manager/hermit/artifacts.js.map +1 -1
- package/dist/modules/manager/kubernetes/extract.js +2 -2
- package/dist/modules/manager/kubernetes/extract.js.map +1 -1
- package/dist/modules/manager/kustomize/artifacts.js +1 -1
- package/dist/modules/manager/kustomize/artifacts.js.map +1 -1
- package/dist/modules/manager/maven/extract.d.ts +1 -1
- package/dist/modules/manager/maven/extract.js +82 -24
- package/dist/modules/manager/maven/extract.js.map +1 -1
- package/dist/modules/manager/maven/index.d.ts +0 -1
- package/dist/modules/manager/maven/index.js +2 -4
- package/dist/modules/manager/maven/index.js.map +1 -1
- package/dist/modules/manager/maven/update.js +15 -0
- package/dist/modules/manager/maven/update.js.map +1 -1
- package/dist/modules/manager/mise/backends.d.ts +48 -0
- package/dist/modules/manager/mise/backends.js +219 -0
- package/dist/modules/manager/mise/backends.js.map +1 -0
- package/dist/modules/manager/mise/extract.js +77 -10
- package/dist/modules/manager/mise/extract.js.map +1 -1
- package/dist/modules/manager/mise/index.js +37 -2
- package/dist/modules/manager/mise/index.js.map +1 -1
- package/dist/modules/manager/mise/schema.d.ts +24 -0
- package/dist/modules/manager/mise/schema.js +7 -1
- package/dist/modules/manager/mise/schema.js.map +1 -1
- package/dist/modules/manager/mise/upgradeable-tooling.js +210 -1
- package/dist/modules/manager/mise/upgradeable-tooling.js.map +1 -1
- package/dist/modules/manager/mix/artifacts.js +5 -0
- package/dist/modules/manager/mix/artifacts.js.map +1 -1
- package/dist/modules/manager/npm/extract/index.js +27 -24
- package/dist/modules/manager/npm/extract/index.js.map +1 -1
- package/dist/modules/manager/npm/post-update/index.js +9 -3
- package/dist/modules/manager/npm/post-update/index.js.map +1 -1
- package/dist/modules/manager/npm/post-update/npm.js +8 -5
- package/dist/modules/manager/npm/post-update/npm.js.map +1 -1
- package/dist/modules/manager/npm/post-update/pnpm.js +4 -0
- package/dist/modules/manager/npm/post-update/pnpm.js.map +1 -1
- package/dist/modules/manager/npm/post-update/utils.js +17 -0
- package/dist/modules/manager/npm/post-update/utils.js.map +1 -1
- package/dist/modules/manager/npm/post-update/yarn.js +7 -5
- package/dist/modules/manager/npm/post-update/yarn.js.map +1 -1
- package/dist/modules/manager/npm/schema.d.ts +116 -0
- package/dist/modules/manager/npm/schema.js +9 -0
- package/dist/modules/manager/npm/schema.js.map +1 -1
- package/dist/modules/manager/npm/utils.js +1 -1
- package/dist/modules/manager/npm/utils.js.map +1 -1
- package/dist/modules/manager/nuget/util.js +9 -0
- package/dist/modules/manager/nuget/util.js.map +1 -1
- package/dist/modules/manager/pep621/processors/uv.js +1 -1
- package/dist/modules/manager/pep621/processors/uv.js.map +1 -1
- package/dist/modules/manager/pip-compile/artifacts.js +6 -4
- package/dist/modules/manager/pip-compile/artifacts.js.map +1 -1
- package/dist/modules/manager/pip_requirements/common.js +2 -1
- package/dist/modules/manager/pip_requirements/common.js.map +1 -1
- package/dist/modules/manager/poetry/schema.js +2 -1
- package/dist/modules/manager/poetry/schema.js.map +1 -1
- package/dist/modules/manager/pre-commit/index.js +2 -1
- package/dist/modules/manager/pre-commit/index.js.map +1 -1
- package/dist/modules/manager/renovate-config-presets/index.d.ts +1 -1
- package/dist/modules/manager/renovate-config-presets/index.js +1 -3
- package/dist/modules/manager/renovate-config-presets/index.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/others/modules.js +4 -9
- package/dist/modules/manager/terraform/extractors/others/modules.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.d.ts +1 -0
- package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.js +9 -4
- package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/resources/utils.d.ts +1 -0
- package/dist/modules/manager/terraform/extractors/resources/utils.js +4 -1
- package/dist/modules/manager/terraform/extractors/resources/utils.js.map +1 -1
- package/dist/modules/manager/terraform/hcl/types.d.ts +1 -0
- package/dist/modules/manager/terraform/hcl/types.js.map +1 -1
- package/dist/modules/manager/types.d.ts +3 -0
- package/dist/modules/manager/types.js.map +1 -1
- package/dist/modules/platform/bitbucket-server/index.js +4 -2
- package/dist/modules/platform/bitbucket-server/index.js.map +1 -1
- package/dist/modules/platform/codecommit/codecommit-client.js +7 -5
- package/dist/modules/platform/codecommit/codecommit-client.js.map +1 -1
- package/dist/modules/platform/codecommit/index.js +7 -5
- package/dist/modules/platform/codecommit/index.js.map +1 -1
- package/dist/modules/platform/default-scm.d.ts +1 -0
- package/dist/modules/platform/default-scm.js +3 -0
- package/dist/modules/platform/default-scm.js.map +1 -1
- package/dist/modules/platform/gerrit/client.d.ts +6 -7
- package/dist/modules/platform/gerrit/client.js +58 -38
- package/dist/modules/platform/gerrit/client.js.map +1 -1
- package/dist/modules/platform/gerrit/index.d.ts +4 -3
- package/dist/modules/platform/gerrit/index.js +103 -42
- package/dist/modules/platform/gerrit/index.js.map +1 -1
- package/dist/modules/platform/gerrit/scm.d.ts +1 -1
- package/dist/modules/platform/gerrit/scm.js +56 -34
- package/dist/modules/platform/gerrit/scm.js.map +1 -1
- package/dist/modules/platform/gerrit/types.d.ts +23 -12
- package/dist/modules/platform/gerrit/types.js.map +1 -1
- package/dist/modules/platform/gerrit/utils.d.ts +8 -4
- package/dist/modules/platform/gerrit/utils.js +24 -12
- package/dist/modules/platform/gerrit/utils.js.map +1 -1
- package/dist/modules/platform/gitea/index.js +7 -2
- package/dist/modules/platform/gitea/index.js.map +1 -1
- package/dist/modules/platform/gitea/types.d.ts +2 -1
- package/dist/modules/platform/gitea/types.js.map +1 -1
- package/dist/modules/platform/github/index.js +12 -26
- package/dist/modules/platform/github/index.js.map +1 -1
- package/dist/modules/platform/gitlab/code-owners.d.ts +2 -0
- package/dist/modules/platform/gitlab/code-owners.js +38 -0
- package/dist/modules/platform/gitlab/code-owners.js.map +1 -0
- package/dist/modules/platform/gitlab/index.d.ts +2 -1
- package/dist/modules/platform/gitlab/index.js +29 -56
- package/dist/modules/platform/gitlab/index.js.map +1 -1
- package/dist/modules/platform/gitlab/pr-cache.d.ts +21 -0
- package/dist/modules/platform/gitlab/pr-cache.js +124 -0
- package/dist/modules/platform/gitlab/pr-cache.js.map +1 -0
- package/dist/modules/platform/gitlab/types.d.ts +7 -0
- package/dist/modules/platform/gitlab/types.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 +8 -0
- 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 +20 -0
- package/dist/modules/versioning/cargo/index.js.map +1 -1
- package/dist/modules/versioning/composer/index.js +4 -0
- package/dist/modules/versioning/composer/index.js.map +1 -1
- package/dist/modules/versioning/lambda-node/index.d.ts +8 -0
- package/dist/modules/versioning/lambda-node/index.js +27 -0
- package/dist/modules/versioning/lambda-node/index.js.map +1 -0
- package/dist/modules/versioning/lambda-node/schedule.d.ts +10 -0
- package/dist/modules/versioning/lambda-node/schedule.js +19 -0
- package/dist/modules/versioning/lambda-node/schedule.js.map +1 -0
- package/dist/modules/versioning/npm/index.js +2 -0
- package/dist/modules/versioning/npm/index.js.map +1 -1
- package/dist/modules/versioning/npm/range.js +4 -0
- package/dist/modules/versioning/npm/range.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/python/index.d.ts +1 -0
- package/dist/modules/versioning/python/index.js +9 -0
- package/dist/modules/versioning/python/index.js.map +1 -1
- package/dist/modules/versioning/semver/index.d.ts +1 -0
- package/dist/modules/versioning/semver/index.js +15 -0
- package/dist/modules/versioning/semver/index.js.map +1 -1
- package/dist/modules/versioning/semver-coerced/index.js +9 -0
- package/dist/modules/versioning/semver-coerced/index.js.map +1 -1
- package/dist/modules/versioning/types.d.ts +1 -0
- package/dist/modules/versioning/types.js.map +1 -1
- package/dist/util/cache/memory/index.d.ts +1 -0
- package/dist/util/cache/memory/index.js +17 -6
- package/dist/util/cache/memory/index.js.map +1 -1
- package/dist/util/cache/package/index.js +2 -1
- package/dist/util/cache/package/index.js.map +1 -1
- package/dist/util/cache/package/key.js +1 -1
- package/dist/util/cache/package/key.js.map +1 -1
- package/dist/util/cache/package/types.d.ts +2 -2
- package/dist/util/cache/package/types.js.map +1 -1
- package/dist/util/cache/repository/impl/s3.js +2 -1
- package/dist/util/cache/repository/impl/s3.js.map +1 -1
- package/dist/util/cache/repository/types.d.ts +3 -0
- package/dist/util/cache/repository/types.js.map +1 -1
- package/dist/util/env.d.ts +6 -0
- package/dist/util/env.js +13 -0
- package/dist/util/env.js.map +1 -1
- package/dist/util/exec/common.js +2 -1
- package/dist/util/exec/common.js.map +1 -1
- package/dist/util/exec/containerbase.js +2 -1
- package/dist/util/exec/containerbase.js.map +1 -1
- package/dist/util/exec/env.js +1 -0
- package/dist/util/exec/env.js.map +1 -1
- package/dist/util/exec/utils.d.ts +1 -1
- package/dist/util/exec/utils.js +1 -1
- package/dist/util/exec/utils.js.map +1 -1
- package/dist/util/fs/index.js +2 -2
- package/dist/util/fs/index.js.map +1 -1
- package/dist/util/git/auth.js +4 -2
- package/dist/util/git/auth.js.map +1 -1
- package/dist/util/git/error.js +2 -1
- package/dist/util/git/error.js.map +1 -1
- package/dist/util/git/index.d.ts +20 -0
- package/dist/util/git/index.js +140 -10
- package/dist/util/git/index.js.map +1 -1
- package/dist/util/git/types.d.ts +1 -0
- package/dist/util/git/types.js.map +1 -1
- package/dist/util/github/graphql/datasource-fetcher.js +2 -3
- package/dist/util/github/graphql/datasource-fetcher.js.map +1 -1
- package/dist/util/github/graphql/query-adapters/tags-query-adapter.d.ts +48 -2
- package/dist/util/github/graphql/query-adapters/tags-query-adapter.js +27 -7
- package/dist/util/github/graphql/query-adapters/tags-query-adapter.js.map +1 -1
- package/dist/util/host-rules.js +4 -3
- package/dist/util/host-rules.js.map +1 -1
- package/dist/util/http/cache/package-http-cache-provider.d.ts +4 -4
- package/dist/util/http/cache/package-http-cache-provider.js +4 -4
- package/dist/util/http/cache/package-http-cache-provider.js.map +1 -1
- package/dist/util/http/github.js +20 -12
- package/dist/util/http/github.js.map +1 -1
- package/dist/util/http/gitlab.js +2 -1
- package/dist/util/http/gitlab.js.map +1 -1
- package/dist/util/http/http.js +7 -3
- package/dist/util/http/http.js.map +1 -1
- package/dist/util/interpolator.d.ts +8 -0
- package/dist/util/interpolator.js +85 -0
- package/dist/util/interpolator.js.map +1 -0
- package/dist/util/merge-confidence/index.js +4 -1
- package/dist/util/merge-confidence/index.js.map +1 -1
- package/dist/util/promises.d.ts +4 -4
- package/dist/util/promises.js +3 -4
- package/dist/util/promises.js.map +1 -1
- package/dist/util/regex.js +3 -2
- package/dist/util/regex.js.map +1 -1
- package/dist/util/{schema-utils.d.ts → schema-utils/index.d.ts} +2 -2
- package/dist/util/{schema-utils.js → schema-utils/index.js} +5 -5
- package/dist/util/schema-utils/index.js.map +1 -0
- package/dist/util/schema-utils/v4.d.ts +7 -0
- package/dist/util/schema-utils/v4.js +64 -0
- package/dist/util/schema-utils/v4.js.map +1 -0
- package/dist/util/stats.d.ts +13 -2
- package/dist/util/stats.js +38 -27
- package/dist/util/stats.js.map +1 -1
- package/dist/workers/global/config/parse/codespaces.js +7 -4
- package/dist/workers/global/config/parse/codespaces.js.map +1 -1
- package/dist/workers/global/index.js +7 -5
- package/dist/workers/global/index.js.map +1 -1
- package/dist/workers/repository/config-migration/branch/migrated-data.js +1 -1
- package/dist/workers/repository/config-migration/branch/migrated-data.js.map +1 -1
- package/dist/workers/repository/dependency-dashboard.d.ts +1 -0
- package/dist/workers/repository/dependency-dashboard.js +47 -0
- package/dist/workers/repository/dependency-dashboard.js.map +1 -1
- package/dist/workers/repository/index.js +1 -0
- package/dist/workers/repository/index.js.map +1 -1
- package/dist/workers/repository/init/inherited.js +10 -6
- package/dist/workers/repository/init/inherited.js.map +1 -1
- package/dist/workers/repository/init/merge.d.ts +2 -2
- package/dist/workers/repository/init/merge.js +12 -5
- package/dist/workers/repository/init/merge.js.map +1 -1
- package/dist/workers/repository/package-files.js +11 -1
- package/dist/workers/repository/package-files.js.map +1 -1
- package/dist/workers/repository/process/extract-update.d.ts +1 -1
- package/dist/workers/repository/process/extract-update.js +15 -10
- package/dist/workers/repository/process/extract-update.js.map +1 -1
- package/dist/workers/repository/process/index.d.ts +1 -1
- package/dist/workers/repository/process/index.js +6 -3
- package/dist/workers/repository/process/index.js.map +1 -1
- package/dist/workers/repository/process/libyear.js +15 -7
- package/dist/workers/repository/process/libyear.js.map +1 -1
- package/dist/workers/repository/process/lookup/abandonment.d.ts +3 -0
- package/dist/workers/repository/process/lookup/abandonment.js +50 -0
- package/dist/workers/repository/process/lookup/abandonment.js.map +1 -0
- package/dist/workers/repository/process/lookup/current.js +0 -5
- package/dist/workers/repository/process/lookup/current.js.map +1 -1
- package/dist/workers/repository/process/lookup/generate.js +10 -0
- package/dist/workers/repository/process/lookup/generate.js.map +1 -1
- package/dist/workers/repository/process/lookup/index.js +7 -0
- package/dist/workers/repository/process/lookup/index.js.map +1 -1
- package/dist/workers/repository/process/lookup/timestamps.d.ts +4 -4
- package/dist/workers/repository/process/lookup/timestamps.js +10 -10
- package/dist/workers/repository/process/lookup/timestamps.js.map +1 -1
- package/dist/workers/repository/process/lookup/types.d.ts +4 -0
- package/dist/workers/repository/process/lookup/types.js.map +1 -1
- package/dist/workers/repository/update/branch/auto-replace.js +30 -7
- package/dist/workers/repository/update/branch/auto-replace.js.map +1 -1
- package/dist/workers/repository/update/branch/bump-versions.d.ts +2 -0
- package/dist/workers/repository/update/branch/bump-versions.js +192 -0
- package/dist/workers/repository/update/branch/bump-versions.js.map +1 -0
- package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js +14 -8
- package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js.map +1 -1
- package/dist/workers/repository/update/branch/get-updated.js +3 -4
- package/dist/workers/repository/update/branch/get-updated.js.map +1 -1
- package/dist/workers/repository/update/branch/index.js +3 -0
- package/dist/workers/repository/update/branch/index.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/release-notes.js +23 -19
- package/dist/workers/repository/update/pr/changelog/release-notes.js.map +1 -1
- package/dist/workers/repository/update/pr/code-owners.js +13 -9
- package/dist/workers/repository/update/pr/code-owners.js.map +1 -1
- package/dist/workers/repository/updates/generate.js +1 -0
- package/dist/workers/repository/updates/generate.js.map +1 -1
- package/package.json +75 -80
- package/renovate-schema.json +78 -14
- package/dist/util/schema-utils.js.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/pypi/index.ts"],"names":[],"mappings":"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","sourcesContent":["import url from 'node:url';\nimport is from '@sindresorhus/is';\nimport changelogFilenameRegex from 'changelog-filename-regex';\nimport { logger } from '../../../logger';\nimport { coerceArray } from '../../../util/array';\nimport { parse } from '../../../util/html';\nimport type { OutgoingHttpHeaders } from '../../../util/http/types';\nimport { regEx } from '../../../util/regex';\nimport { asTimestamp } from '../../../util/timestamp';\nimport { ensureTrailingSlash, parseUrl } from '../../../util/url';\nimport * as pep440 from '../../versioning/pep440';\nimport { Datasource } from '../datasource';\nimport type { GetReleasesConfig, Release, ReleaseResult } from '../types';\nimport { getGoogleAuthToken } from '../util';\nimport { isGitHubRepo, normalizePythonDepName } from './common';\nimport type { PypiJSON, PypiJSONRelease, Releases } from './types';\n\nexport class PypiDatasource extends Datasource {\n static readonly id = 'pypi';\n\n constructor() {\n super(PypiDatasource.id);\n }\n\n override readonly caching = true;\n\n override readonly customRegistrySupport = true;\n\n static readonly defaultURL =\n process.env.PIP_INDEX_URL ?? 'https://pypi.org/pypi/';\n override readonly defaultRegistryUrls = [PypiDatasource.defaultURL];\n\n override readonly defaultVersioning = pep440.id;\n\n override readonly registryStrategy = 'merge';\n\n override readonly releaseTimestampNote =\n 'The relase timestamp is determined from the `upload_time` field in the results.';\n override readonly sourceUrlSupport = 'release';\n override readonly sourceUrlNote =\n 'The source URL is determined from the `homepage` field if it is a github repository, else we use the `project_urls` field.';\n\n async getReleases({\n packageName,\n registryUrl,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n let dependency: ReleaseResult | null = null;\n // TODO: null check (#22198)\n const hostUrl = ensureTrailingSlash(\n registryUrl!.replace('https://pypi.org/simple', 'https://pypi.org/pypi'),\n );\n const normalizedLookupName = normalizePythonDepName(packageName);\n\n // not all simple indexes use this identifier, but most do\n if (hostUrl.endsWith('/simple/') || hostUrl.endsWith('/+simple/')) {\n logger.trace(\n { packageName, hostUrl },\n 'Looking up pypi simple dependency',\n );\n dependency = await this.getSimpleDependency(\n normalizedLookupName,\n hostUrl,\n );\n } else {\n logger.trace({ packageName, hostUrl }, 'Looking up pypi api dependency');\n try {\n // we need to resolve early here so we can catch any 404s and fallback to a simple lookup\n dependency = await this.getDependency(normalizedLookupName, hostUrl);\n } catch (err) {\n // error contacting json-style api -- attempt to fallback to a simple-style api\n logger.trace(\n { packageName, hostUrl, err },\n 'Looking up pypi simple dependency via fallback',\n );\n dependency = await this.getSimpleDependency(\n normalizedLookupName,\n hostUrl,\n );\n }\n }\n return dependency;\n }\n\n private async getAuthHeaders(\n lookupUrl: string,\n ): Promise<OutgoingHttpHeaders> {\n const parsedUrl = parseUrl(lookupUrl);\n if (!parsedUrl) {\n logger.once.debug({ lookupUrl }, 'Failed to parse URL');\n return {};\n }\n if (parsedUrl.hostname.endsWith('.pkg.dev')) {\n const auth = await getGoogleAuthToken();\n if (auth) {\n return { authorization: `Basic ${auth}` };\n }\n logger.once.debug({ lookupUrl }, 'Could not get Google access token');\n return {};\n }\n return {};\n }\n\n private async getDependency(\n packageName: string,\n hostUrl: string,\n ): Promise<ReleaseResult | null> {\n const lookupUrl = url.resolve(\n hostUrl,\n `${normalizePythonDepName(packageName)}/json`,\n );\n const dependency: ReleaseResult = { releases: [] };\n logger.trace({ lookupUrl }, 'Pypi api got lookup');\n const headers = await this.getAuthHeaders(lookupUrl);\n const rep = await this.http.getJsonUnchecked<PypiJSON>(lookupUrl, {\n headers,\n });\n const dep = rep?.body;\n if (!dep) {\n logger.trace({ dependency: packageName }, 'pip package not found');\n return null;\n }\n if (rep.authorization) {\n dependency.isPrivate = true;\n }\n logger.trace({ lookupUrl }, 'Got pypi api result');\n\n if (dep.info?.home_page) {\n dependency.homepage = dep.info.home_page;\n if (isGitHubRepo(dep.info.home_page)) {\n dependency.sourceUrl = dep.info.home_page.replace(\n 'http://',\n 'https://',\n );\n }\n }\n\n if (dep.info?.project_urls) {\n for (const [name, projectUrl] of Object.entries(dep.info.project_urls)) {\n const lower = name.toLowerCase();\n\n if (\n !dependency.sourceUrl &&\n (lower.startsWith('repo') ||\n lower === 'code' ||\n lower === 'source' ||\n isGitHubRepo(projectUrl))\n ) {\n dependency.sourceUrl = projectUrl;\n }\n\n if (\n !dependency.changelogUrl &&\n ([\n 'changelog',\n 'change log',\n 'changes',\n 'release notes',\n 'news',\n \"what's new\",\n ].includes(lower) ||\n changelogFilenameRegex.exec(lower))\n ) {\n // from https://github.com/pypa/warehouse/blob/418c7511dc367fb410c71be139545d0134ccb0df/warehouse/templates/packaging/detail.html#L24\n dependency.changelogUrl = projectUrl;\n }\n }\n }\n\n if (dep.releases) {\n const versions = Object.keys(dep.releases);\n dependency.releases = versions.map((version) => {\n const releases = coerceArray(dep.releases?.[version]);\n const { upload_time: releaseTimestamp } = releases[0] || {};\n const isDeprecated = releases.some(({ yanked }) => yanked);\n const result: Release = {\n version,\n releaseTimestamp: asTimestamp(releaseTimestamp),\n };\n if (isDeprecated) {\n result.isDeprecated = isDeprecated;\n }\n // There may be multiple releases with different requires_python, so we return all in an array\n const pythonConstraints = releases\n .map(({ requires_python }) => requires_python)\n .filter(is.string);\n result.constraints = {\n python: Array.from(new Set(pythonConstraints)),\n };\n return result;\n });\n }\n return dependency;\n }\n\n private static extractVersionFromLinkText(\n text: string,\n packageName: string,\n ): string | null {\n // source packages\n const lcText = text.toLowerCase();\n const normalizedSrcText = normalizePythonDepName(text);\n const srcPrefix = `${packageName}-`;\n\n // source distribution format: `{name}-{version}.tar.gz` (https://packaging.python.org/en/latest/specifications/source-distribution-format/#source-distribution-file-name)\n // binary distribution: `{distribution}-{version}(-{build tag})?-{python tag}-{abi tag}-{platform tag}.whl` (https://packaging.python.org/en/latest/specifications/binary-distribution-format/#file-name-convention)\n // officially both `name` and `distribution` should be normalized and then the - replaced with _, but in reality this is not the case\n // We therefore normalize the name we have (replacing `_-.` with -) and then check if the text starts with the normalized name\n\n if (!normalizedSrcText.startsWith(srcPrefix)) {\n return null;\n }\n\n // strip off the prefix using the prefix length as we may have normalized the srcPrefix/packageName\n // We assume that neither the version nor the suffix contains multiple `-` like `0.1.2---rc1.tar.gz`\n // and use the difference in length to strip off the prefix in case the name contains double `--` characters\n const normalizedLengthDiff = lcText.length - normalizedSrcText.length;\n const res = lcText.slice(srcPrefix.length + normalizedLengthDiff);\n\n // source distribution\n const srcSuffixes = ['.tar.gz', '.tar.bz2', '.tar.xz', '.zip', '.tgz'];\n const srcSuffix = srcSuffixes.find((suffix) => lcText.endsWith(suffix));\n if (srcSuffix) {\n // strip off the suffix using character length\n return res.slice(0, -srcSuffix.length);\n }\n\n // binary distribution\n // for binary distributions the version is the first part after the removed distribution name\n const wheelSuffix = '.whl';\n if (lcText.endsWith(wheelSuffix) && lcText.split('-').length > 2) {\n return res.split('-')[0];\n }\n return null;\n }\n\n private static cleanSimpleHtml(html: string): string {\n return (\n html\n .replace(regEx(/<\\/?pre>/), '')\n // Certain simple repositories like artifactory don't escape > and <\n .replace(\n regEx(/data-requires-python=\"([^\"]*?)>([^\"]*?)\"/g),\n 'data-requires-python=\"$1>$2\"',\n )\n .replace(\n regEx(/data-requires-python=\"([^\"]*?)<([^\"]*?)\"/g),\n 'data-requires-python=\"$1<$2\"',\n )\n );\n }\n\n private async getSimpleDependency(\n packageName: string,\n hostUrl: string,\n ): Promise<ReleaseResult | null> {\n const lookupUrl = url.resolve(\n hostUrl,\n ensureTrailingSlash(normalizePythonDepName(packageName)),\n );\n const dependency: ReleaseResult = { releases: [] };\n const headers = await this.getAuthHeaders(lookupUrl);\n const response = await this.http.getText(lookupUrl, { headers });\n const dep = response?.body;\n if (!dep) {\n logger.trace({ dependency: packageName }, 'pip package not found');\n return null;\n }\n if (response.authorization) {\n dependency.isPrivate = true;\n }\n const root = parse(PypiDatasource.cleanSimpleHtml(dep));\n const links = root.querySelectorAll('a');\n const releases: Releases = {};\n for (const link of Array.from(links)) {\n const version = PypiDatasource.extractVersionFromLinkText(\n link.text?.trim(),\n packageName,\n );\n if (version) {\n const release: PypiJSONRelease = {\n yanked: link.hasAttribute('data-yanked'),\n };\n const requiresPython = link.getAttribute('data-requires-python');\n if (requiresPython) {\n release.requires_python = requiresPython;\n }\n if (!releases[version]) {\n releases[version] = [];\n }\n releases[version].push(release);\n }\n }\n const versions = Object.keys(releases);\n dependency.releases = versions.map((version) => {\n const versionReleases = coerceArray(releases[version]);\n const isDeprecated = versionReleases.some(({ yanked }) => yanked);\n const result: Release = { version };\n if (isDeprecated) {\n result.isDeprecated = isDeprecated;\n }\n // There may be multiple releases with different requires_python, so we return all in an array\n result.constraints = {\n // TODO: string[] isn't allowed here\n python: versionReleases.map(\n ({ requires_python }) => requires_python,\n ) as any,\n };\n return result;\n });\n return dependency;\n }\n}\n"]}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/pypi/index.ts"],"names":[],"mappings":"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","sourcesContent":["import url from 'node:url';\nimport is from '@sindresorhus/is';\nimport changelogFilenameRegex from 'changelog-filename-regex';\nimport { logger } from '../../../logger';\nimport { coerceArray } from '../../../util/array';\nimport { getEnv } from '../../../util/env';\nimport { parse } from '../../../util/html';\nimport type { OutgoingHttpHeaders } from '../../../util/http/types';\nimport { regEx } from '../../../util/regex';\nimport { asTimestamp } from '../../../util/timestamp';\nimport { ensureTrailingSlash, parseUrl } from '../../../util/url';\nimport * as pep440 from '../../versioning/pep440';\nimport { Datasource } from '../datasource';\nimport type { GetReleasesConfig, Release, ReleaseResult } from '../types';\nimport { getGoogleAuthToken } from '../util';\nimport { isGitHubRepo, normalizePythonDepName } from './common';\nimport type { PypiJSON, PypiJSONRelease, Releases } from './types';\n\nexport class PypiDatasource extends Datasource {\n static readonly id = 'pypi';\n\n constructor() {\n super(PypiDatasource.id);\n }\n\n override readonly caching = true;\n\n override readonly customRegistrySupport = true;\n\n static readonly defaultURL =\n getEnv().PIP_INDEX_URL ?? 'https://pypi.org/pypi/';\n override readonly defaultRegistryUrls = [PypiDatasource.defaultURL];\n\n override readonly defaultVersioning = pep440.id;\n\n override readonly registryStrategy = 'merge';\n\n override readonly releaseTimestampNote =\n 'The relase timestamp is determined from the `upload_time` field in the results.';\n override readonly sourceUrlSupport = 'release';\n override readonly sourceUrlNote =\n 'The source URL is determined from the `homepage` field if it is a github repository, else we use the `project_urls` field.';\n\n async getReleases({\n packageName,\n registryUrl,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n let dependency: ReleaseResult | null = null;\n // TODO: null check (#22198)\n const hostUrl = ensureTrailingSlash(\n registryUrl!.replace('https://pypi.org/simple', 'https://pypi.org/pypi'),\n );\n const normalizedLookupName = normalizePythonDepName(packageName);\n\n // not all simple indexes use this identifier, but most do\n if (hostUrl.endsWith('/simple/') || hostUrl.endsWith('/+simple/')) {\n logger.trace(\n { packageName, hostUrl },\n 'Looking up pypi simple dependency',\n );\n dependency = await this.getSimpleDependency(\n normalizedLookupName,\n hostUrl,\n );\n } else {\n logger.trace({ packageName, hostUrl }, 'Looking up pypi api dependency');\n try {\n // we need to resolve early here so we can catch any 404s and fallback to a simple lookup\n dependency = await this.getDependency(normalizedLookupName, hostUrl);\n } catch (err) {\n // error contacting json-style api -- attempt to fallback to a simple-style api\n logger.trace(\n { packageName, hostUrl, err },\n 'Looking up pypi simple dependency via fallback',\n );\n dependency = await this.getSimpleDependency(\n normalizedLookupName,\n hostUrl,\n );\n }\n }\n return dependency;\n }\n\n private async getAuthHeaders(\n lookupUrl: string,\n ): Promise<OutgoingHttpHeaders> {\n const parsedUrl = parseUrl(lookupUrl);\n if (!parsedUrl) {\n logger.once.debug({ lookupUrl }, 'Failed to parse URL');\n return {};\n }\n if (parsedUrl.hostname.endsWith('.pkg.dev')) {\n const auth = await getGoogleAuthToken();\n if (auth) {\n return { authorization: `Basic ${auth}` };\n }\n logger.once.debug({ lookupUrl }, 'Could not get Google access token');\n return {};\n }\n return {};\n }\n\n private async getDependency(\n packageName: string,\n hostUrl: string,\n ): Promise<ReleaseResult | null> {\n const lookupUrl = url.resolve(\n hostUrl,\n `${normalizePythonDepName(packageName)}/json`,\n );\n const dependency: ReleaseResult = { releases: [] };\n logger.trace({ lookupUrl }, 'Pypi api got lookup');\n const headers = await this.getAuthHeaders(lookupUrl);\n const rep = await this.http.getJsonUnchecked<PypiJSON>(lookupUrl, {\n headers,\n });\n const dep = rep?.body;\n if (!dep) {\n logger.trace({ dependency: packageName }, 'pip package not found');\n return null;\n }\n if (rep.authorization) {\n dependency.isPrivate = true;\n }\n logger.trace({ lookupUrl }, 'Got pypi api result');\n\n if (dep.info?.home_page) {\n dependency.homepage = dep.info.home_page;\n if (isGitHubRepo(dep.info.home_page)) {\n dependency.sourceUrl = dep.info.home_page.replace(\n 'http://',\n 'https://',\n );\n }\n }\n\n if (dep.info?.project_urls) {\n for (const [name, projectUrl] of Object.entries(dep.info.project_urls)) {\n const lower = name.toLowerCase();\n\n if (\n !dependency.sourceUrl &&\n (lower.startsWith('repo') ||\n lower === 'code' ||\n lower === 'source' ||\n isGitHubRepo(projectUrl))\n ) {\n dependency.sourceUrl = projectUrl;\n }\n\n if (\n !dependency.changelogUrl &&\n ([\n 'changelog',\n 'change log',\n 'changes',\n 'release notes',\n 'news',\n \"what's new\",\n ].includes(lower) ||\n changelogFilenameRegex.exec(lower))\n ) {\n // from https://github.com/pypa/warehouse/blob/418c7511dc367fb410c71be139545d0134ccb0df/warehouse/templates/packaging/detail.html#L24\n dependency.changelogUrl = projectUrl;\n }\n }\n }\n\n if (dep.releases) {\n const versions = Object.keys(dep.releases);\n dependency.releases = versions.map((version) => {\n const releases = coerceArray(dep.releases?.[version]);\n const { upload_time: releaseTimestamp } = releases[0] || {};\n const isDeprecated = releases.some(({ yanked }) => yanked);\n const result: Release = {\n version,\n releaseTimestamp: asTimestamp(releaseTimestamp),\n };\n if (isDeprecated) {\n result.isDeprecated = isDeprecated;\n }\n // There may be multiple releases with different requires_python, so we return all in an array\n const pythonConstraints = releases\n .map(({ requires_python }) => requires_python)\n .filter(is.string);\n result.constraints = {\n python: Array.from(new Set(pythonConstraints)),\n };\n return result;\n });\n }\n return dependency;\n }\n\n private static extractVersionFromLinkText(\n text: string,\n packageName: string,\n ): string | null {\n // source packages\n const lcText = text.toLowerCase();\n const normalizedSrcText = normalizePythonDepName(text);\n const srcPrefix = `${packageName}-`;\n\n // source distribution format: `{name}-{version}.tar.gz` (https://packaging.python.org/en/latest/specifications/source-distribution-format/#source-distribution-file-name)\n // binary distribution: `{distribution}-{version}(-{build tag})?-{python tag}-{abi tag}-{platform tag}.whl` (https://packaging.python.org/en/latest/specifications/binary-distribution-format/#file-name-convention)\n // officially both `name` and `distribution` should be normalized and then the - replaced with _, but in reality this is not the case\n // We therefore normalize the name we have (replacing `_-.` with -) and then check if the text starts with the normalized name\n\n if (!normalizedSrcText.startsWith(srcPrefix)) {\n return null;\n }\n\n // strip off the prefix using the prefix length as we may have normalized the srcPrefix/packageName\n // We assume that neither the version nor the suffix contains multiple `-` like `0.1.2---rc1.tar.gz`\n // and use the difference in length to strip off the prefix in case the name contains double `--` characters\n const normalizedLengthDiff = lcText.length - normalizedSrcText.length;\n const res = lcText.slice(srcPrefix.length + normalizedLengthDiff);\n\n // source distribution\n const srcSuffixes = ['.tar.gz', '.tar.bz2', '.tar.xz', '.zip', '.tgz'];\n const srcSuffix = srcSuffixes.find((suffix) => lcText.endsWith(suffix));\n if (srcSuffix) {\n // strip off the suffix using character length\n return res.slice(0, -srcSuffix.length);\n }\n\n // binary distribution\n // for binary distributions the version is the first part after the removed distribution name\n const wheelSuffix = '.whl';\n if (lcText.endsWith(wheelSuffix) && lcText.split('-').length > 2) {\n return res.split('-')[0];\n }\n return null;\n }\n\n private static cleanSimpleHtml(html: string): string {\n return (\n html\n .replace(regEx(/<\\/?pre>/), '')\n // Certain simple repositories like artifactory don't escape > and <\n .replace(\n regEx(/data-requires-python=\"([^\"]*?)>([^\"]*?)\"/g),\n 'data-requires-python=\"$1>$2\"',\n )\n .replace(\n regEx(/data-requires-python=\"([^\"]*?)<([^\"]*?)\"/g),\n 'data-requires-python=\"$1<$2\"',\n )\n );\n }\n\n private async getSimpleDependency(\n packageName: string,\n hostUrl: string,\n ): Promise<ReleaseResult | null> {\n const lookupUrl = url.resolve(\n hostUrl,\n ensureTrailingSlash(normalizePythonDepName(packageName)),\n );\n const dependency: ReleaseResult = { releases: [] };\n const headers = await this.getAuthHeaders(lookupUrl);\n const response = await this.http.getText(lookupUrl, { headers });\n const dep = response?.body;\n if (!dep) {\n logger.trace({ dependency: packageName }, 'pip package not found');\n return null;\n }\n if (response.authorization) {\n dependency.isPrivate = true;\n }\n const root = parse(PypiDatasource.cleanSimpleHtml(dep));\n const links = root.querySelectorAll('a');\n const releases: Releases = {};\n for (const link of Array.from(links)) {\n const version = PypiDatasource.extractVersionFromLinkText(\n link.text?.trim(),\n packageName,\n );\n if (version) {\n const release: PypiJSONRelease = {\n yanked: link.hasAttribute('data-yanked'),\n };\n const requiresPython = link.getAttribute('data-requires-python');\n if (requiresPython) {\n release.requires_python = requiresPython;\n }\n if (!releases[version]) {\n releases[version] = [];\n }\n releases[version].push(release);\n }\n }\n const versions = Object.keys(releases);\n dependency.releases = versions.map((version) => {\n const versionReleases = coerceArray(releases[version]);\n const isDeprecated = versionReleases.some(({ yanked }) => yanked);\n const result: Release = { version };\n if (isDeprecated) {\n result.isDeprecated = isDeprecated;\n }\n // There may be multiple releases with different requires_python, so we return all in an array\n result.constraints = {\n // TODO: string[] isn't allowed here\n python: versionReleases.map(\n ({ requires_python }) => requires_python,\n ) as any,\n };\n return result;\n });\n return dependency;\n }\n}\n"]}
|
@@ -83,7 +83,8 @@ export interface ReleaseResult {
|
|
83
83
|
replacementVersion?: string;
|
84
84
|
lookupName?: string;
|
85
85
|
packageScope?: string;
|
86
|
-
|
86
|
+
mostRecentTimestamp?: Timestamp;
|
87
|
+
isAbandoned?: boolean;
|
87
88
|
}
|
88
89
|
export interface PostprocessReleaseConfig {
|
89
90
|
packageName: string;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../lib/modules/datasource/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n ConstraintsFilter,\n CustomDatasourceConfig,\n} from '../../config/types';\nimport type { ModuleApi } from '../../types';\nimport type { Timestamp } from '../../util/timestamp';\n\nexport interface GetDigestInputConfig {\n datasource: string;\n packageName: string;\n defaultRegistryUrls?: string[];\n registryUrls?: string[] | null;\n registryUrl?: string;\n lookupName?: string;\n additionalRegistryUrls?: string[];\n currentValue?: string;\n currentDigest?: string;\n replacementName?: string;\n}\n\nexport interface DigestConfig {\n packageName: string;\n lookupName?: string;\n registryUrl?: string;\n currentValue?: string;\n currentDigest?: string;\n}\n\nexport interface GetReleasesConfig {\n customDatasources?: Record<string, CustomDatasourceConfig>;\n datasource?: string;\n packageName: string;\n registryUrl?: string;\n currentValue?: string;\n}\n\nexport interface GetPkgReleasesConfig {\n customDatasources?: Record<string, CustomDatasourceConfig>;\n npmrc?: string;\n defaultRegistryUrls?: string[];\n registryUrls?: string[] | null;\n additionalRegistryUrls?: string[];\n datasource: string;\n packageName: string;\n currentValue?: string;\n versioning?: string;\n extractVersion?: string;\n versionCompatibility?: string;\n currentCompatibility?: string;\n constraints?: Record<string, string>;\n replacementName?: string;\n replacementVersion?: string;\n constraintsFiltering?: ConstraintsFilter;\n registryStrategy?: RegistryStrategy;\n}\n\nexport interface Release {\n changelogUrl?: string;\n checksumUrl?: string;\n downloadUrl?: string;\n gitRef?: string;\n isDeprecated?: boolean;\n isStable?: boolean;\n releaseTimestamp?: Timestamp | null;\n version: string;\n /** The original value to which `extractVersion` was applied */\n versionOrig?: string;\n newDigest?: string | undefined;\n constraints?: Record<string, string[]>;\n dependencies?: Record<string, string>;\n devDependencies?: Record<string, string>;\n registryUrl?: string;\n sourceUrl?: string | undefined;\n sourceDirectory?: string;\n currentAge?: string;\n isLatest?: boolean;\n}\n\nexport interface ReleaseResult {\n deprecationMessage?: string;\n isPrivate?: boolean;\n releases: Release[];\n tags?: Record<string, string> | undefined;\n // URL metadata\n changelogUrl?: string;\n dependencyUrl?: string;\n homepage?: string | undefined;\n gitRef?: string;\n sourceUrl?: string | null;\n sourceDirectory?: string;\n registryUrl?: string;\n replacementName?: string;\n replacementVersion?: string;\n lookupName?: string;\n packageScope?: string;\n
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../lib/modules/datasource/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n ConstraintsFilter,\n CustomDatasourceConfig,\n} from '../../config/types';\nimport type { ModuleApi } from '../../types';\nimport type { Timestamp } from '../../util/timestamp';\n\nexport interface GetDigestInputConfig {\n datasource: string;\n packageName: string;\n defaultRegistryUrls?: string[];\n registryUrls?: string[] | null;\n registryUrl?: string;\n lookupName?: string;\n additionalRegistryUrls?: string[];\n currentValue?: string;\n currentDigest?: string;\n replacementName?: string;\n}\n\nexport interface DigestConfig {\n packageName: string;\n lookupName?: string;\n registryUrl?: string;\n currentValue?: string;\n currentDigest?: string;\n}\n\nexport interface GetReleasesConfig {\n customDatasources?: Record<string, CustomDatasourceConfig>;\n datasource?: string;\n packageName: string;\n registryUrl?: string;\n currentValue?: string;\n}\n\nexport interface GetPkgReleasesConfig {\n customDatasources?: Record<string, CustomDatasourceConfig>;\n npmrc?: string;\n defaultRegistryUrls?: string[];\n registryUrls?: string[] | null;\n additionalRegistryUrls?: string[];\n datasource: string;\n packageName: string;\n currentValue?: string;\n versioning?: string;\n extractVersion?: string;\n versionCompatibility?: string;\n currentCompatibility?: string;\n constraints?: Record<string, string>;\n replacementName?: string;\n replacementVersion?: string;\n constraintsFiltering?: ConstraintsFilter;\n registryStrategy?: RegistryStrategy;\n}\n\nexport interface Release {\n changelogUrl?: string;\n checksumUrl?: string;\n downloadUrl?: string;\n gitRef?: string;\n isDeprecated?: boolean;\n isStable?: boolean;\n releaseTimestamp?: Timestamp | null;\n version: string;\n /** The original value to which `extractVersion` was applied */\n versionOrig?: string;\n newDigest?: string | undefined;\n constraints?: Record<string, string[]>;\n dependencies?: Record<string, string>;\n devDependencies?: Record<string, string>;\n registryUrl?: string;\n sourceUrl?: string | undefined;\n sourceDirectory?: string;\n currentAge?: string;\n isLatest?: boolean;\n}\n\nexport interface ReleaseResult {\n deprecationMessage?: string;\n isPrivate?: boolean;\n releases: Release[];\n tags?: Record<string, string> | undefined;\n // URL metadata\n changelogUrl?: string;\n dependencyUrl?: string;\n homepage?: string | undefined;\n gitRef?: string;\n sourceUrl?: string | null;\n sourceDirectory?: string;\n registryUrl?: string;\n replacementName?: string;\n replacementVersion?: string;\n lookupName?: string;\n packageScope?: string;\n mostRecentTimestamp?: Timestamp;\n isAbandoned?: boolean;\n}\n\nexport interface PostprocessReleaseConfig {\n packageName: string;\n registryUrl: string | null;\n}\n\nexport type PostprocessReleaseResult = Release | 'reject';\n\nexport type RegistryStrategy = 'first' | 'hunt' | 'merge';\nexport type SourceUrlSupport = 'package' | 'release' | 'none';\nexport interface DatasourceApi extends ModuleApi {\n id: string;\n getDigest?(config: DigestConfig, newValue?: string): Promise<string | null>;\n getReleases(config: GetReleasesConfig): Promise<ReleaseResult | null>;\n defaultRegistryUrls?: string[] | (() => string[]);\n defaultVersioning?: string | undefined;\n defaultConfig?: Record<string, unknown> | undefined;\n\n /**\n * Strategy to use when multiple registryUrls are available to the datasource.\n * - `first`: only the first registryUrl will be tried and others ignored\n * - `hunt`: registryUrls will be tried in order until one returns a result\n * - `merge`: all registryUrls will be tried and the results merged if more than one returns a result\n */\n registryStrategy?: RegistryStrategy | undefined;\n\n /**\n * Whether custom registryUrls are allowed.\n */\n customRegistrySupport: boolean;\n\n /**\n * Whether release timestamp can be returned.\n */\n releaseTimestampSupport: boolean;\n /**\n * Notes on how release timestamp is determined.\n */\n releaseTimestampNote?: string;\n\n /**\n * Whether sourceURL can be returned.\n */\n sourceUrlSupport: SourceUrlSupport;\n /**\n * Notes on how sourceURL is determined.\n */\n sourceUrlNote?: string;\n\n /**\n * Whether to perform caching in the datasource index/wrapper or not.\n * true: datasoure index wrapper should cache all results (based on registryUrl/packageName)\n * false: caching is not performed, or performed within the datasource implementation\n */\n caching?: boolean | undefined;\n\n /**\n * When the candidate for update is formed, this method could be called\n * to fetch additional information such as `releaseTimestamp`.\n *\n * Also, the release could be checked (and potentially rejected)\n * via some datasource-specific external call.\n *\n * In case of reject, the next candidate release is selected,\n * and `postprocessRelease` is called again.\n *\n * Rejection must happen only when the release will lead to downstream error,\n * e.g. the release turned out to be yanked or doesn't exist for some reason.\n *\n * In other cases, the original `Release` parameter should be returned.\n */\n postprocessRelease(\n config: PostprocessReleaseConfig,\n release: Release,\n ): Promise<PostprocessReleaseResult>;\n}\n"]}
|
@@ -122,6 +122,14 @@ exports.upgradeableTooling = {
|
|
122
122
|
versioning: `${regexVersioning.id}:^(?<major>\\d+?)\\.(?<minor>\\d+?)\\.(?<patch>\\d+)\\.(?<build>\\d+)$`,
|
123
123
|
},
|
124
124
|
},
|
125
|
+
clusterctl: {
|
126
|
+
asdfPluginUrl: 'https://github.com/pfnet-research/asdf-clusterctl',
|
127
|
+
config: {
|
128
|
+
datasource: github_releases_1.GithubReleasesDatasource.id,
|
129
|
+
packageName: 'kubernetes-sigs/cluster-api',
|
130
|
+
extractVersion: '^v(?<version>\\S+)',
|
131
|
+
},
|
132
|
+
},
|
125
133
|
conftest: {
|
126
134
|
asdfPluginUrl: 'https://github.com/looztra/asdf-conftest',
|
127
135
|
config: {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"upgradeable-tooling.js","sourceRoot":"","sources":["../../../../lib/modules/manager/asdf/upgradeable-tooling.ts"],"names":[],"mappings":"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","sourcesContent":["import { regEx } from '../../../util/regex';\nimport { DartVersionDatasource } from '../../datasource/dart-version';\nimport { DockerDatasource } from '../../datasource/docker';\nimport { DotnetVersionDatasource } from '../../datasource/dotnet-version';\nimport { FlutterVersionDatasource } from '../../datasource/flutter-version';\nimport { GithubReleasesDatasource } from '../../datasource/github-releases';\nimport { GithubTagsDatasource } from '../../datasource/github-tags';\nimport { HexpmBobDatasource } from '../../datasource/hexpm-bob';\nimport { JavaVersionDatasource } from '../../datasource/java-version';\nimport { NodeVersionDatasource } from '../../datasource/node-version';\nimport { NpmDatasource } from '../../datasource/npm';\nimport { PypiDatasource } from '../../datasource/pypi';\nimport { RubyVersionDatasource } from '../../datasource/ruby-version';\nimport * as regexVersioning from '../../versioning/regex';\nimport * as semverVersioning from '../../versioning/semver';\nimport type { PackageDependency } from '../types';\n\nexport type StaticTooling = Partial<PackageDependency> &\n Required<Pick<PackageDependency, 'datasource'>>;\n\nexport type DynamicTooling = (version: string) => StaticTooling | undefined;\n\nexport type ToolingConfig = StaticTooling | DynamicTooling;\nexport interface ToolingDefinition {\n config: ToolingConfig;\n asdfPluginUrl: string;\n}\n\nconst hugoDefinition: ToolingDefinition = {\n // This plugin supports the names `hugo` & `gohugo`\n asdfPluginUrl: 'https://github.com/NeoHsu/asdf-hugo',\n config: (version) => ({\n datasource: GithubReleasesDatasource.id,\n packageName: 'gohugoio/hugo',\n extractVersion: '^v(?<version>\\\\S+)',\n // The asdf hugo plugin supports prefixing the version with\n // `extended_`. Extended versions feature Sass support.\n currentValue: version.replace(/^extended_/, ''),\n }),\n};\n\nexport const upgradeableTooling: Record<string, ToolingDefinition> = {\n act: {\n asdfPluginUrl: 'https://github.com/grimoh/asdf-act.git',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'nektos/act',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n actionlint: {\n asdfPluginUrl: 'https://github.com/crazy-matt/asdf-actionlint',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'rhysd/actionlint',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n 'adr-tools': {\n asdfPluginUrl: 'https://gitlab.com/td7x/asdf/adr-tools.git',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'npryce/adr-tools',\n },\n },\n argocd: {\n asdfPluginUrl: 'https://github.com/beardix/asdf-argocd',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'argoproj/argo-cd',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n 'asdf-plugin-manager': {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-plugin-manager',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'asdf-community/asdf-plugin-manager',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n atmos: {\n asdfPluginUrl: 'https://github.com/cloudposse/asdf-atmos',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'cloudposse/atmos',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n awscli: {\n asdfPluginUrl: 'https://github.com/MetricMike/asdf-awscli',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'aws/aws-cli',\n },\n },\n 'azure-cli': {\n asdfPluginUrl: 'https://github.com/sourcesense/asdf-azure-cli',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'Azure/azure-cli',\n extractVersion: '^azure-cli-(?<version>\\\\S+)',\n },\n },\n bun: {\n asdfPluginUrl: 'https://github.com/cometkim/asdf-bun',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'oven-sh/bun',\n extractVersion: '^bun-v(?<version>\\\\S+)',\n },\n },\n 'cargo-make': {\n asdfPluginUrl: 'https://github.com/mise-plugins/asdf-cargo-make',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'sagiegurari/cargo-make',\n },\n },\n checkov: {\n asdfPluginUrl: 'https://github.com/bosmak/asdf-checkov.git',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'bridgecrewio/checkov',\n },\n },\n clojure: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-clojure',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'clojure/brew-install',\n versioning: `${regexVersioning.id}:^(?<major>\\\\d+?)\\\\.(?<minor>\\\\d+?)\\\\.(?<patch>\\\\d+)\\\\.(?<build>\\\\d+)$`,\n },\n },\n conftest: {\n asdfPluginUrl: 'https://github.com/looztra/asdf-conftest',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'open-policy-agent/conftest',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n 'container-structure-test': {\n asdfPluginUrl:\n 'https://github.com/FeryET/asdf-container-structure-test.git',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'GoogleContainerTools/container-structure-test',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n cookiecutter: {\n asdfPluginUrl: 'https://github.com/shawon-crosen/asdf-cookiecutter',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'cookiecutter/cookiecutter',\n versioning: semverVersioning.id,\n },\n },\n cosign: {\n asdfPluginUrl: 'https://gitlab.com/wt0f/asdf-cosign',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'sigstore/cosign',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n crystal: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-crystal',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'crystal-lang/crystal',\n },\n },\n dart: {\n asdfPluginUrl: 'https://github.com/PatOConnor43/asdf-dart',\n config: {\n datasource: DartVersionDatasource.id,\n },\n },\n deno: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-deno',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'denoland/deno',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n direnv: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-direnv',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'direnv/direnv',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n 'dotnet-core': {\n asdfPluginUrl: 'https://github.com/emersonsoares/asdf-dotnet-core',\n config: {\n datasource: DotnetVersionDatasource.id,\n packageName: 'dotnet-sdk',\n },\n },\n dprint: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-dprint',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'dprint/dprint',\n },\n },\n ecspresso: {\n asdfPluginUrl: 'https://github.com/kayac/asdf-ecspresso',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'kayac/ecspresso',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n 'editorconfig-checker': {\n asdfPluginUrl: 'https://github.com/gabitchov/asdf-editorconfig-checker',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'editorconfig-checker/editorconfig-checker',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n elixir: {\n asdfPluginUrl: 'https://github.com/asdf-vm/asdf-elixir',\n config: {\n datasource: HexpmBobDatasource.id,\n },\n },\n elm: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-elm',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'elm/compiler',\n },\n },\n erlang: {\n asdfPluginUrl: 'https://github.com/asdf-vm/asdf-erlang',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'erlang/otp',\n extractVersion: '^OTP-(?<version>\\\\S+)',\n versioning: `${regexVersioning.id}:^(?<major>\\\\d+?)\\\\.(?<minor>\\\\d+?)(\\\\.(?<patch>\\\\d+))?$`,\n },\n },\n flutter: {\n asdfPluginUrl: 'https://github.com/oae/asdf-flutter',\n config: (version) => ({\n datasource: FlutterVersionDatasource.id,\n // asdf-flutter plugin supports channel on version suffix.\n currentValue: version.replace(regEx(/-(stable|beta|dev)$/), ''),\n }),\n },\n flux2: {\n asdfPluginUrl: 'https://github.com/tablexi/asdf-flux2.git',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'fluxcd/flux2',\n extractVersion: '^v(?<version>.+)',\n },\n },\n gauche: {\n asdfPluginUrl: 'https://github.com/sakuro/asdf-gauche',\n config: {\n datasource: DockerDatasource.id,\n packageName: 'practicalscheme/gauche',\n },\n },\n 'github-cli': {\n asdfPluginUrl: 'https://github.com/bartlomiejdanek/asdf-github-cli.git',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'cli/cli',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n gitleaks: {\n asdfPluginUrl: 'https://github.com/jmcvetta/asdf-gitleaks',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'gitleaks/gitleaks',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n ginkgo: {\n asdfPluginUrl: 'https://github.com/jimmidyson/asdf-ginkgo',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'onsi/ginkgo',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n gleam: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-gleam.git',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'gleam-lang/gleam',\n extractVersion: '^v(?<version>.+)',\n },\n },\n gohugo: hugoDefinition,\n golang: {\n asdfPluginUrl: 'https://github.com/kennyp/asdf-golang',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'golang/go',\n extractVersion: '^go(?<version>\\\\S+)',\n },\n },\n 'golangci-lint': {\n asdfPluginUrl: 'https://github.com/hypnoglow/asdf-golangci-lint.git',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'golangci/golangci-lint',\n extractVersion: '^v(?<version>.+)',\n },\n },\n gomplate: {\n asdfPluginUrl: 'https://github.com/sneakybeaky/asdf-gomplate',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'hairyhenderson/gomplate',\n extractVersion: '^v(?<version>.+)',\n },\n },\n hadolint: {\n asdfPluginUrl: 'https://github.com/looztra/asdf-hadolint.git',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'hadolint/hadolint',\n extractVersion: '^v(?<version>.+)',\n },\n },\n haskell: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-haskell',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'ghc/ghc',\n extractVersion: '^ghc-(?<version>\\\\S+?)-release',\n },\n },\n helm: {\n asdfPluginUrl: 'https://github.com/Antiarchitect/asdf-helm',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'helm/helm',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n 'helm-docs': {\n asdfPluginUrl: 'https://github.com/sudermanjr/asdf-helm-docs.git',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'norwoodj/helm-docs',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n helmfile: {\n asdfPluginUrl: 'https://github.com/feniix/asdf-helmfile',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'helmfile/helmfile',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n hugo: hugoDefinition,\n idris: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-idris',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'idris-lang/Idris-dev',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n istioctl: {\n asdfPluginUrl: 'https://github.com/virtualstaticvoid/asdf-istioctl',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'istio/istio',\n versioning: semverVersioning.id,\n },\n },\n java: {\n asdfPluginUrl: 'https://github.com/halcyon/asdf-java',\n config: (version) => {\n const adoptOpenJdkMatches = /^adoptopenjdk-(?<version>\\d\\S+)/.exec(\n version,\n )?.groups;\n if (adoptOpenJdkMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: adoptOpenJdkMatches.version,\n };\n }\n const adoptOpenJreMatches = /^adoptopenjdk-jre-(?<version>\\d\\S+)/.exec(\n version,\n )?.groups;\n if (adoptOpenJreMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jre',\n currentValue: adoptOpenJreMatches.version,\n };\n }\n const temurinJdkMatches = /^temurin-(?<version>\\d\\S+)/.exec(\n version,\n )?.groups;\n if (temurinJdkMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: temurinJdkMatches.version,\n };\n }\n const temurinJreMatches = /^temurin-jre-(?<version>\\d\\S+)/.exec(\n version,\n )?.groups;\n if (temurinJreMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jre',\n currentValue: temurinJreMatches.version,\n };\n }\n\n return undefined;\n },\n },\n julia: {\n asdfPluginUrl: 'https://github.com/rkyleg/asdf-julia',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'JuliaLang/julia',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n just: {\n asdfPluginUrl: 'https://github.com/olofvndrhr/asdf-just',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'casey/just',\n },\n },\n k3s: {\n asdfPluginUrl: 'https://github.com/dmpe/asdf-k3s',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'k3s-io/k3s',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n kind: {\n asdfPluginUrl: 'https://github.com/johnlayton/asdf-kind',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'kubernetes-sigs/kind',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n kotlin: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-kotlin',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'JetBrains/kotlin',\n extractVersion: '^(Kotlin |v)(?<version>\\\\S+)',\n },\n },\n kubebuilder: {\n asdfPluginUrl: 'https://github.com/virtualstaticvoid/asdf-kubebuilder.git',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'kubernetes-sigs/kubebuilder',\n extractVersion: '^v(?<version>.+)',\n },\n },\n kubectl: {\n asdfPluginUrl: 'https://github.com/Banno/asdf-kubectl.git',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'kubernetes/kubernetes',\n extractVersion: '^v(?<version>.+)',\n },\n },\n kubetail: {\n asdfPluginUrl: 'https://github.com/janpieper/asdf-kubetail.git',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'johanhaleby/kubetail',\n },\n },\n kustomize: {\n asdfPluginUrl: 'https://github.com/Banno/asdf-kustomize',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'kubernetes-sigs/kustomize',\n extractVersion: '^kustomize/v(?<version>\\\\S+)',\n },\n },\n lua: {\n asdfPluginUrl: 'https://github.com/Stratus3D/asdf-lua',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'lua/lua',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n 'markdownlint-cli2': {\n asdfPluginUrl:\n 'https://github.com/paulo-ferraz-oliveira/asdf-markdownlint-cli2',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'DavidAnson/markdownlint-cli2',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n maven: {\n asdfPluginUrl: 'https://github.com/halcyon/asdf-maven',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'apache/maven',\n },\n },\n mimirtool: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-mimirtool',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'grafana/mimir',\n extractVersion: '^mimir-(?<version>\\\\S+)',\n },\n },\n minikube: {\n asdfPluginUrl: 'https://github.com/alvarobp/asdf-minikube.git',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'kubernetes/minikube',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n nim: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-nim',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'nim-lang/Nim',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n nodejs: {\n asdfPluginUrl: 'https://github.com/asdf-vm/asdf-nodejs',\n config: {\n depName: 'node',\n datasource: NodeVersionDatasource.id,\n },\n },\n ocaml: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-ocaml',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'ocaml/ocaml',\n },\n },\n oci: {\n asdfPluginUrl: 'https://github.com/yasn77/asdf-oci',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'oracle/oci-cli',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n opa: {\n asdfPluginUrl: 'https://github.com/tochukwuvictor/asdf-opa',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'open-policy-agent/opa',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n opentofu: {\n asdfPluginUrl: 'https://github.com/virtualroot/asdf-opentofu',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'opentofu/opentofu',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n packer: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-hashicorp',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'hashicorp/packer',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n perl: {\n asdfPluginUrl: 'https://github.com/ouest/asdf-perl',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'Perl/perl5',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n php: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-php',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'php/php-src',\n extractVersion: '^php-(?<version>\\\\S+)',\n },\n },\n pnpm: {\n asdfPluginUrl: 'https://github.com/jonathanmorley/asdf-pnpm',\n config: {\n datasource: NpmDatasource.id,\n packageName: 'pnpm',\n versioning: semverVersioning.id,\n },\n },\n poetry: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-poetry',\n config: {\n datasource: PypiDatasource.id,\n packageName: 'poetry',\n },\n },\n 'pre-commit': {\n asdfPluginUrl: 'https://github.com/jonathanmorley/asdf-pre-commit.git',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'pre-commit/pre-commit',\n extractVersion: '^v(?<version>.+)',\n },\n },\n protoc: {\n asdfPluginUrl: 'https://github.com/paxosglobal/asdf-protoc.git',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'protocolbuffers/protobuf',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n pulumi: {\n asdfPluginUrl: 'https://github.com/canha/asdf-pulumi.git',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'pulumi/pulumi',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n python: {\n asdfPluginUrl: 'https://github.com/danhper/asdf-python',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'python/cpython',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n rebar: {\n asdfPluginUrl: 'https://github.com/Stratus3D/asdf-rebar.git',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'erlang/rebar3',\n },\n },\n ruby: {\n asdfPluginUrl: 'https://github.com/asdf-vm/asdf-ruby',\n config: {\n datasource: RubyVersionDatasource.id,\n packageName: 'ruby-version',\n versioning: semverVersioning.id,\n },\n },\n rust: {\n asdfPluginUrl: 'https://github.com/code-lever/asdf-rust',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'rust-lang/rust',\n },\n },\n sbt: {\n asdfPluginUrl: 'https://github.com/bram2000/asdf-sbt.git',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'sbt/sbt',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n scala: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-scala',\n config: (version) => {\n if (version.startsWith('2')) {\n return {\n datasource: GithubTagsDatasource.id,\n packageName: 'scala/scala',\n extractVersion: '^v(?<version>\\\\S+)',\n };\n }\n if (version.startsWith('3')) {\n return {\n datasource: GithubTagsDatasource.id,\n packageName: 'lampepfl/dotty',\n };\n }\n\n return undefined;\n },\n },\n shellcheck: {\n asdfPluginUrl: 'https://github.com/luizm/asdf-shellcheck',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'koalaman/shellcheck',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n shfmt: {\n asdfPluginUrl: 'https://github.com/luizm/asdf-shfmt',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'mvdan/sh',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n skaffold: {\n asdfPluginUrl: 'https://github.com/nklmilojevic/asdf-skaffold',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'GoogleContainerTools/skaffold',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n sops: {\n asdfPluginUrl: 'https://github.com/feniix/asdf-sops',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'mozilla/sops',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n steampipe: {\n asdfPluginUrl: 'https://github.com/carnei-ro/asdf-steampipe',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'turbot/steampipe',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n talhelper: {\n asdfPluginUrl: 'https://github.com/bjw-s/asdf-talhelper',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'budimanjojo/talhelper',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n talosctl: {\n asdfPluginUrl: 'https://github.com/bjw-s/asdf-talosctl',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'siderolabs/talos',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n terraform: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-hashicorp',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'hashicorp/terraform',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n 'terraform-docs': {\n asdfPluginUrl: 'https://github.com/looztra/asdf-terraform-docs.git',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'terraform-docs/terraform-docs',\n extractVersion: '^v(?<version>.+)',\n },\n },\n terraformer: {\n asdfPluginUrl: 'https://github.com/grimoh/asdf-terraformer',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'GoogleCloudPlatform/terraformer',\n },\n },\n terragrunt: {\n asdfPluginUrl: 'https://github.com/ohmer/asdf-terragrunt',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'gruntwork-io/terragrunt',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n terramate: {\n asdfPluginUrl: 'https://github.com/martinlindner/asdf-terramate',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'terramate-io/terramate',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n tflint: {\n asdfPluginUrl: 'https://github.com/skyzyx/asdf-tflint.git',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'terraform-linters/tflint',\n extractVersion: '^v(?<version>.+)',\n },\n },\n tfsec: {\n asdfPluginUrl: 'https://github.com/woneill/asdf-tfsec.git',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'aquasecurity/tfsec',\n extractVersion: '^v(?<version>.+)',\n },\n },\n trivy: {\n asdfPluginUrl: 'https://github.com/zufardhiyaulhaq/asdf-trivy',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'aquasecurity/trivy',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n vault: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-hashicorp',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'hashicorp/vault',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n yamllint: {\n asdfPluginUrl: 'https://github.com/ericcornelissen/asdf-yamllint',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'adrienverge/yamllint',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n yq: {\n asdfPluginUrl: 'https://github.com/sudermanjr/asdf-yq',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'mikefarah/yq',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n zig: {\n asdfPluginUrl: 'https://github.com/cheetah/asdf-zig',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'ziglang/zig',\n },\n },\n maestro: {\n asdfPluginUrl: 'https://github.com/dotanuki-labs/asdf-maestro',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'mobile-dev-inc/maestro',\n extractVersion: '^cli-(?<version>\\\\S+)',\n },\n },\n detekt: {\n asdfPluginUrl: 'https://github.com/dotanuki-labs/asdf-detekt',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'detekt/detekt',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n ktlint: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-ktlint',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'pinterest/ktlint',\n },\n },\n yamlfmt: {\n asdfPluginUrl: 'https://github.com/mise-plugins/asdf-yamlfmt',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'google/yamlfmt',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n tuist: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-tuist',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'tuist/tuist',\n },\n },\n typos: {\n asdfPluginUrl: 'https://github.com/aschiavon91/asdf-typos',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'crate-ci/typos',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n uv: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-uv',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'astral-sh/uv',\n },\n },\n};\n"]}
|
1
|
+
{"version":3,"file":"upgradeable-tooling.js","sourceRoot":"","sources":["../../../../lib/modules/manager/asdf/upgradeable-tooling.ts"],"names":[],"mappings":"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","sourcesContent":["import { regEx } from '../../../util/regex';\nimport { DartVersionDatasource } from '../../datasource/dart-version';\nimport { DockerDatasource } from '../../datasource/docker';\nimport { DotnetVersionDatasource } from '../../datasource/dotnet-version';\nimport { FlutterVersionDatasource } from '../../datasource/flutter-version';\nimport { GithubReleasesDatasource } from '../../datasource/github-releases';\nimport { GithubTagsDatasource } from '../../datasource/github-tags';\nimport { HexpmBobDatasource } from '../../datasource/hexpm-bob';\nimport { JavaVersionDatasource } from '../../datasource/java-version';\nimport { NodeVersionDatasource } from '../../datasource/node-version';\nimport { NpmDatasource } from '../../datasource/npm';\nimport { PypiDatasource } from '../../datasource/pypi';\nimport { RubyVersionDatasource } from '../../datasource/ruby-version';\nimport * as regexVersioning from '../../versioning/regex';\nimport * as semverVersioning from '../../versioning/semver';\nimport type { PackageDependency } from '../types';\n\nexport type StaticTooling = Partial<PackageDependency> &\n Required<Pick<PackageDependency, 'datasource'>>;\n\nexport type DynamicTooling = (version: string) => StaticTooling | undefined;\n\nexport type ToolingConfig = StaticTooling | DynamicTooling;\nexport interface ToolingDefinition {\n config: ToolingConfig;\n asdfPluginUrl: string;\n}\n\nconst hugoDefinition: ToolingDefinition = {\n // This plugin supports the names `hugo` & `gohugo`\n asdfPluginUrl: 'https://github.com/NeoHsu/asdf-hugo',\n config: (version) => ({\n datasource: GithubReleasesDatasource.id,\n packageName: 'gohugoio/hugo',\n extractVersion: '^v(?<version>\\\\S+)',\n // The asdf hugo plugin supports prefixing the version with\n // `extended_`. Extended versions feature Sass support.\n currentValue: version.replace(/^extended_/, ''),\n }),\n};\n\nexport const upgradeableTooling: Record<string, ToolingDefinition> = {\n act: {\n asdfPluginUrl: 'https://github.com/grimoh/asdf-act.git',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'nektos/act',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n actionlint: {\n asdfPluginUrl: 'https://github.com/crazy-matt/asdf-actionlint',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'rhysd/actionlint',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n 'adr-tools': {\n asdfPluginUrl: 'https://gitlab.com/td7x/asdf/adr-tools.git',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'npryce/adr-tools',\n },\n },\n argocd: {\n asdfPluginUrl: 'https://github.com/beardix/asdf-argocd',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'argoproj/argo-cd',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n 'asdf-plugin-manager': {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-plugin-manager',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'asdf-community/asdf-plugin-manager',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n atmos: {\n asdfPluginUrl: 'https://github.com/cloudposse/asdf-atmos',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'cloudposse/atmos',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n awscli: {\n asdfPluginUrl: 'https://github.com/MetricMike/asdf-awscli',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'aws/aws-cli',\n },\n },\n 'azure-cli': {\n asdfPluginUrl: 'https://github.com/sourcesense/asdf-azure-cli',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'Azure/azure-cli',\n extractVersion: '^azure-cli-(?<version>\\\\S+)',\n },\n },\n bun: {\n asdfPluginUrl: 'https://github.com/cometkim/asdf-bun',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'oven-sh/bun',\n extractVersion: '^bun-v(?<version>\\\\S+)',\n },\n },\n 'cargo-make': {\n asdfPluginUrl: 'https://github.com/mise-plugins/asdf-cargo-make',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'sagiegurari/cargo-make',\n },\n },\n checkov: {\n asdfPluginUrl: 'https://github.com/bosmak/asdf-checkov.git',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'bridgecrewio/checkov',\n },\n },\n clojure: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-clojure',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'clojure/brew-install',\n versioning: `${regexVersioning.id}:^(?<major>\\\\d+?)\\\\.(?<minor>\\\\d+?)\\\\.(?<patch>\\\\d+)\\\\.(?<build>\\\\d+)$`,\n },\n },\n clusterctl: {\n asdfPluginUrl: 'https://github.com/pfnet-research/asdf-clusterctl',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'kubernetes-sigs/cluster-api',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n conftest: {\n asdfPluginUrl: 'https://github.com/looztra/asdf-conftest',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'open-policy-agent/conftest',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n 'container-structure-test': {\n asdfPluginUrl:\n 'https://github.com/FeryET/asdf-container-structure-test.git',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'GoogleContainerTools/container-structure-test',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n cookiecutter: {\n asdfPluginUrl: 'https://github.com/shawon-crosen/asdf-cookiecutter',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'cookiecutter/cookiecutter',\n versioning: semverVersioning.id,\n },\n },\n cosign: {\n asdfPluginUrl: 'https://gitlab.com/wt0f/asdf-cosign',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'sigstore/cosign',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n crystal: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-crystal',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'crystal-lang/crystal',\n },\n },\n dart: {\n asdfPluginUrl: 'https://github.com/PatOConnor43/asdf-dart',\n config: {\n datasource: DartVersionDatasource.id,\n },\n },\n deno: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-deno',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'denoland/deno',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n direnv: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-direnv',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'direnv/direnv',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n 'dotnet-core': {\n asdfPluginUrl: 'https://github.com/emersonsoares/asdf-dotnet-core',\n config: {\n datasource: DotnetVersionDatasource.id,\n packageName: 'dotnet-sdk',\n },\n },\n dprint: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-dprint',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'dprint/dprint',\n },\n },\n ecspresso: {\n asdfPluginUrl: 'https://github.com/kayac/asdf-ecspresso',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'kayac/ecspresso',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n 'editorconfig-checker': {\n asdfPluginUrl: 'https://github.com/gabitchov/asdf-editorconfig-checker',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'editorconfig-checker/editorconfig-checker',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n elixir: {\n asdfPluginUrl: 'https://github.com/asdf-vm/asdf-elixir',\n config: {\n datasource: HexpmBobDatasource.id,\n },\n },\n elm: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-elm',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'elm/compiler',\n },\n },\n erlang: {\n asdfPluginUrl: 'https://github.com/asdf-vm/asdf-erlang',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'erlang/otp',\n extractVersion: '^OTP-(?<version>\\\\S+)',\n versioning: `${regexVersioning.id}:^(?<major>\\\\d+?)\\\\.(?<minor>\\\\d+?)(\\\\.(?<patch>\\\\d+))?$`,\n },\n },\n flutter: {\n asdfPluginUrl: 'https://github.com/oae/asdf-flutter',\n config: (version) => ({\n datasource: FlutterVersionDatasource.id,\n // asdf-flutter plugin supports channel on version suffix.\n currentValue: version.replace(regEx(/-(stable|beta|dev)$/), ''),\n }),\n },\n flux2: {\n asdfPluginUrl: 'https://github.com/tablexi/asdf-flux2.git',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'fluxcd/flux2',\n extractVersion: '^v(?<version>.+)',\n },\n },\n gauche: {\n asdfPluginUrl: 'https://github.com/sakuro/asdf-gauche',\n config: {\n datasource: DockerDatasource.id,\n packageName: 'practicalscheme/gauche',\n },\n },\n 'github-cli': {\n asdfPluginUrl: 'https://github.com/bartlomiejdanek/asdf-github-cli.git',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'cli/cli',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n gitleaks: {\n asdfPluginUrl: 'https://github.com/jmcvetta/asdf-gitleaks',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'gitleaks/gitleaks',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n ginkgo: {\n asdfPluginUrl: 'https://github.com/jimmidyson/asdf-ginkgo',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'onsi/ginkgo',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n gleam: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-gleam.git',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'gleam-lang/gleam',\n extractVersion: '^v(?<version>.+)',\n },\n },\n gohugo: hugoDefinition,\n golang: {\n asdfPluginUrl: 'https://github.com/kennyp/asdf-golang',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'golang/go',\n extractVersion: '^go(?<version>\\\\S+)',\n },\n },\n 'golangci-lint': {\n asdfPluginUrl: 'https://github.com/hypnoglow/asdf-golangci-lint.git',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'golangci/golangci-lint',\n extractVersion: '^v(?<version>.+)',\n },\n },\n gomplate: {\n asdfPluginUrl: 'https://github.com/sneakybeaky/asdf-gomplate',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'hairyhenderson/gomplate',\n extractVersion: '^v(?<version>.+)',\n },\n },\n hadolint: {\n asdfPluginUrl: 'https://github.com/looztra/asdf-hadolint.git',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'hadolint/hadolint',\n extractVersion: '^v(?<version>.+)',\n },\n },\n haskell: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-haskell',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'ghc/ghc',\n extractVersion: '^ghc-(?<version>\\\\S+?)-release',\n },\n },\n helm: {\n asdfPluginUrl: 'https://github.com/Antiarchitect/asdf-helm',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'helm/helm',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n 'helm-docs': {\n asdfPluginUrl: 'https://github.com/sudermanjr/asdf-helm-docs.git',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'norwoodj/helm-docs',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n helmfile: {\n asdfPluginUrl: 'https://github.com/feniix/asdf-helmfile',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'helmfile/helmfile',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n hugo: hugoDefinition,\n idris: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-idris',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'idris-lang/Idris-dev',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n istioctl: {\n asdfPluginUrl: 'https://github.com/virtualstaticvoid/asdf-istioctl',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'istio/istio',\n versioning: semverVersioning.id,\n },\n },\n java: {\n asdfPluginUrl: 'https://github.com/halcyon/asdf-java',\n config: (version) => {\n const adoptOpenJdkMatches = /^adoptopenjdk-(?<version>\\d\\S+)/.exec(\n version,\n )?.groups;\n if (adoptOpenJdkMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: adoptOpenJdkMatches.version,\n };\n }\n const adoptOpenJreMatches = /^adoptopenjdk-jre-(?<version>\\d\\S+)/.exec(\n version,\n )?.groups;\n if (adoptOpenJreMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jre',\n currentValue: adoptOpenJreMatches.version,\n };\n }\n const temurinJdkMatches = /^temurin-(?<version>\\d\\S+)/.exec(\n version,\n )?.groups;\n if (temurinJdkMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: temurinJdkMatches.version,\n };\n }\n const temurinJreMatches = /^temurin-jre-(?<version>\\d\\S+)/.exec(\n version,\n )?.groups;\n if (temurinJreMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jre',\n currentValue: temurinJreMatches.version,\n };\n }\n\n return undefined;\n },\n },\n julia: {\n asdfPluginUrl: 'https://github.com/rkyleg/asdf-julia',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'JuliaLang/julia',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n just: {\n asdfPluginUrl: 'https://github.com/olofvndrhr/asdf-just',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'casey/just',\n },\n },\n k3s: {\n asdfPluginUrl: 'https://github.com/dmpe/asdf-k3s',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'k3s-io/k3s',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n kind: {\n asdfPluginUrl: 'https://github.com/johnlayton/asdf-kind',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'kubernetes-sigs/kind',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n kotlin: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-kotlin',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'JetBrains/kotlin',\n extractVersion: '^(Kotlin |v)(?<version>\\\\S+)',\n },\n },\n kubebuilder: {\n asdfPluginUrl: 'https://github.com/virtualstaticvoid/asdf-kubebuilder.git',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'kubernetes-sigs/kubebuilder',\n extractVersion: '^v(?<version>.+)',\n },\n },\n kubectl: {\n asdfPluginUrl: 'https://github.com/Banno/asdf-kubectl.git',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'kubernetes/kubernetes',\n extractVersion: '^v(?<version>.+)',\n },\n },\n kubetail: {\n asdfPluginUrl: 'https://github.com/janpieper/asdf-kubetail.git',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'johanhaleby/kubetail',\n },\n },\n kustomize: {\n asdfPluginUrl: 'https://github.com/Banno/asdf-kustomize',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'kubernetes-sigs/kustomize',\n extractVersion: '^kustomize/v(?<version>\\\\S+)',\n },\n },\n lua: {\n asdfPluginUrl: 'https://github.com/Stratus3D/asdf-lua',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'lua/lua',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n 'markdownlint-cli2': {\n asdfPluginUrl:\n 'https://github.com/paulo-ferraz-oliveira/asdf-markdownlint-cli2',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'DavidAnson/markdownlint-cli2',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n maven: {\n asdfPluginUrl: 'https://github.com/halcyon/asdf-maven',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'apache/maven',\n },\n },\n mimirtool: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-mimirtool',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'grafana/mimir',\n extractVersion: '^mimir-(?<version>\\\\S+)',\n },\n },\n minikube: {\n asdfPluginUrl: 'https://github.com/alvarobp/asdf-minikube.git',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'kubernetes/minikube',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n nim: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-nim',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'nim-lang/Nim',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n nodejs: {\n asdfPluginUrl: 'https://github.com/asdf-vm/asdf-nodejs',\n config: {\n depName: 'node',\n datasource: NodeVersionDatasource.id,\n },\n },\n ocaml: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-ocaml',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'ocaml/ocaml',\n },\n },\n oci: {\n asdfPluginUrl: 'https://github.com/yasn77/asdf-oci',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'oracle/oci-cli',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n opa: {\n asdfPluginUrl: 'https://github.com/tochukwuvictor/asdf-opa',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'open-policy-agent/opa',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n opentofu: {\n asdfPluginUrl: 'https://github.com/virtualroot/asdf-opentofu',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'opentofu/opentofu',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n packer: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-hashicorp',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'hashicorp/packer',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n perl: {\n asdfPluginUrl: 'https://github.com/ouest/asdf-perl',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'Perl/perl5',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n php: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-php',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'php/php-src',\n extractVersion: '^php-(?<version>\\\\S+)',\n },\n },\n pnpm: {\n asdfPluginUrl: 'https://github.com/jonathanmorley/asdf-pnpm',\n config: {\n datasource: NpmDatasource.id,\n packageName: 'pnpm',\n versioning: semverVersioning.id,\n },\n },\n poetry: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-poetry',\n config: {\n datasource: PypiDatasource.id,\n packageName: 'poetry',\n },\n },\n 'pre-commit': {\n asdfPluginUrl: 'https://github.com/jonathanmorley/asdf-pre-commit.git',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'pre-commit/pre-commit',\n extractVersion: '^v(?<version>.+)',\n },\n },\n protoc: {\n asdfPluginUrl: 'https://github.com/paxosglobal/asdf-protoc.git',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'protocolbuffers/protobuf',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n pulumi: {\n asdfPluginUrl: 'https://github.com/canha/asdf-pulumi.git',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'pulumi/pulumi',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n python: {\n asdfPluginUrl: 'https://github.com/danhper/asdf-python',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'python/cpython',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n rebar: {\n asdfPluginUrl: 'https://github.com/Stratus3D/asdf-rebar.git',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'erlang/rebar3',\n },\n },\n ruby: {\n asdfPluginUrl: 'https://github.com/asdf-vm/asdf-ruby',\n config: {\n datasource: RubyVersionDatasource.id,\n packageName: 'ruby-version',\n versioning: semverVersioning.id,\n },\n },\n rust: {\n asdfPluginUrl: 'https://github.com/code-lever/asdf-rust',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'rust-lang/rust',\n },\n },\n sbt: {\n asdfPluginUrl: 'https://github.com/bram2000/asdf-sbt.git',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'sbt/sbt',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n scala: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-scala',\n config: (version) => {\n if (version.startsWith('2')) {\n return {\n datasource: GithubTagsDatasource.id,\n packageName: 'scala/scala',\n extractVersion: '^v(?<version>\\\\S+)',\n };\n }\n if (version.startsWith('3')) {\n return {\n datasource: GithubTagsDatasource.id,\n packageName: 'lampepfl/dotty',\n };\n }\n\n return undefined;\n },\n },\n shellcheck: {\n asdfPluginUrl: 'https://github.com/luizm/asdf-shellcheck',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'koalaman/shellcheck',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n shfmt: {\n asdfPluginUrl: 'https://github.com/luizm/asdf-shfmt',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'mvdan/sh',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n skaffold: {\n asdfPluginUrl: 'https://github.com/nklmilojevic/asdf-skaffold',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'GoogleContainerTools/skaffold',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n sops: {\n asdfPluginUrl: 'https://github.com/feniix/asdf-sops',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'mozilla/sops',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n steampipe: {\n asdfPluginUrl: 'https://github.com/carnei-ro/asdf-steampipe',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'turbot/steampipe',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n talhelper: {\n asdfPluginUrl: 'https://github.com/bjw-s/asdf-talhelper',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'budimanjojo/talhelper',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n talosctl: {\n asdfPluginUrl: 'https://github.com/bjw-s/asdf-talosctl',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'siderolabs/talos',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n terraform: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-hashicorp',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'hashicorp/terraform',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n 'terraform-docs': {\n asdfPluginUrl: 'https://github.com/looztra/asdf-terraform-docs.git',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'terraform-docs/terraform-docs',\n extractVersion: '^v(?<version>.+)',\n },\n },\n terraformer: {\n asdfPluginUrl: 'https://github.com/grimoh/asdf-terraformer',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'GoogleCloudPlatform/terraformer',\n },\n },\n terragrunt: {\n asdfPluginUrl: 'https://github.com/ohmer/asdf-terragrunt',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'gruntwork-io/terragrunt',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n terramate: {\n asdfPluginUrl: 'https://github.com/martinlindner/asdf-terramate',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'terramate-io/terramate',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n tflint: {\n asdfPluginUrl: 'https://github.com/skyzyx/asdf-tflint.git',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'terraform-linters/tflint',\n extractVersion: '^v(?<version>.+)',\n },\n },\n tfsec: {\n asdfPluginUrl: 'https://github.com/woneill/asdf-tfsec.git',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'aquasecurity/tfsec',\n extractVersion: '^v(?<version>.+)',\n },\n },\n trivy: {\n asdfPluginUrl: 'https://github.com/zufardhiyaulhaq/asdf-trivy',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'aquasecurity/trivy',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n vault: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-hashicorp',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'hashicorp/vault',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n yamllint: {\n asdfPluginUrl: 'https://github.com/ericcornelissen/asdf-yamllint',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'adrienverge/yamllint',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n yq: {\n asdfPluginUrl: 'https://github.com/sudermanjr/asdf-yq',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'mikefarah/yq',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n zig: {\n asdfPluginUrl: 'https://github.com/cheetah/asdf-zig',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'ziglang/zig',\n },\n },\n maestro: {\n asdfPluginUrl: 'https://github.com/dotanuki-labs/asdf-maestro',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'mobile-dev-inc/maestro',\n extractVersion: '^cli-(?<version>\\\\S+)',\n },\n },\n detekt: {\n asdfPluginUrl: 'https://github.com/dotanuki-labs/asdf-detekt',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'detekt/detekt',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n ktlint: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-ktlint',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'pinterest/ktlint',\n },\n },\n yamlfmt: {\n asdfPluginUrl: 'https://github.com/mise-plugins/asdf-yamlfmt',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'google/yamlfmt',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n tuist: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-tuist',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'tuist/tuist',\n },\n },\n typos: {\n asdfPluginUrl: 'https://github.com/aschiavon91/asdf-typos',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'crate-ci/typos',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n uv: {\n asdfPluginUrl: 'https://github.com/asdf-community/asdf-uv',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: 'astral-sh/uv',\n },\n },\n};\n"]}
|
@@ -1,39 +1,39 @@
|
|
1
1
|
import { z } from 'zod';
|
2
2
|
import type { PackageDependency } from '../../types';
|
3
|
-
export declare const gitRules: readonly ["git_repository", "_git_repository"];
|
3
|
+
export declare const gitRules: readonly ["git_repository", "_git_repository", "new_git_repository", "_new_git_repository"];
|
4
4
|
export declare const GitTarget: z.ZodEffects<z.ZodEffects<z.ZodObject<{
|
5
|
-
rule: z.ZodEnum<["git_repository", "_git_repository"]>;
|
5
|
+
rule: z.ZodEnum<["git_repository", "_git_repository", "new_git_repository", "_new_git_repository"]>;
|
6
6
|
name: z.ZodString;
|
7
7
|
tag: z.ZodOptional<z.ZodString>;
|
8
8
|
commit: z.ZodOptional<z.ZodString>;
|
9
9
|
remote: z.ZodString;
|
10
10
|
}, "strip", z.ZodTypeAny, {
|
11
11
|
name: string;
|
12
|
-
rule: "git_repository" | "_git_repository";
|
12
|
+
rule: "git_repository" | "_git_repository" | "new_git_repository" | "_new_git_repository";
|
13
13
|
remote: string;
|
14
14
|
commit?: string | undefined;
|
15
15
|
tag?: string | undefined;
|
16
16
|
}, {
|
17
17
|
name: string;
|
18
|
-
rule: "git_repository" | "_git_repository";
|
18
|
+
rule: "git_repository" | "_git_repository" | "new_git_repository" | "_new_git_repository";
|
19
19
|
remote: string;
|
20
20
|
commit?: string | undefined;
|
21
21
|
tag?: string | undefined;
|
22
22
|
}>, {
|
23
23
|
name: string;
|
24
|
-
rule: "git_repository" | "_git_repository";
|
24
|
+
rule: "git_repository" | "_git_repository" | "new_git_repository" | "_new_git_repository";
|
25
25
|
remote: string;
|
26
26
|
commit?: string | undefined;
|
27
27
|
tag?: string | undefined;
|
28
28
|
}, {
|
29
29
|
name: string;
|
30
|
-
rule: "git_repository" | "_git_repository";
|
30
|
+
rule: "git_repository" | "_git_repository" | "new_git_repository" | "_new_git_repository";
|
31
31
|
remote: string;
|
32
32
|
commit?: string | undefined;
|
33
33
|
tag?: string | undefined;
|
34
34
|
}>, PackageDependency<Record<string, any>>[], {
|
35
35
|
name: string;
|
36
|
-
rule: "git_repository" | "_git_repository";
|
36
|
+
rule: "git_repository" | "_git_repository" | "new_git_repository" | "_new_git_repository";
|
37
37
|
remote: string;
|
38
38
|
commit?: string | undefined;
|
39
39
|
tag?: string | undefined;
|
@@ -17,7 +17,12 @@ function githubPackageName(input) {
|
|
17
17
|
}
|
18
18
|
return (0, github_url_from_git_1.default)(input)?.match(githubUrlRegex)?.groups?.packageName;
|
19
19
|
}
|
20
|
-
exports.gitRules = [
|
20
|
+
exports.gitRules = [
|
21
|
+
'git_repository',
|
22
|
+
'_git_repository',
|
23
|
+
'new_git_repository',
|
24
|
+
'_new_git_repository',
|
25
|
+
];
|
21
26
|
exports.GitTarget = zod_1.z
|
22
27
|
.object({
|
23
28
|
rule: zod_1.z.enum(exports.gitRules),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/bazel/rules/git.ts"],"names":[],"mappings":";;;;AAAA,sFAAiD;AACjD,6BAAwB;AACxB,+CAA4C;AAC5C,kDAA+C;AAC/C,8CAAiD;AACjD,yEAA+E;AAC/E,iEAAuE;AAGvE,MAAM,cAAc,GAAG,IAAA,aAAK,EAC1B,sDAAsD,CACvD,CAAC;AAEF,SAAS,iBAAiB,CAAC,KAAa;IACtC,qBAAqB;IACrB,IAAI,CAAC,IAAA,eAAS,EAAC,KAAK,CAAC,EAAE,CAAC;QACtB,eAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,qCAAqC,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,IAAA,6BAAc,EAAC,KAAK,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC;AAC3E,CAAC;AAEY,QAAA,QAAQ,GAAG,
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/bazel/rules/git.ts"],"names":[],"mappings":";;;;AAAA,sFAAiD;AACjD,6BAAwB;AACxB,+CAA4C;AAC5C,kDAA+C;AAC/C,8CAAiD;AACjD,yEAA+E;AAC/E,iEAAuE;AAGvE,MAAM,cAAc,GAAG,IAAA,aAAK,EAC1B,sDAAsD,CACvD,CAAC;AAEF,SAAS,iBAAiB,CAAC,KAAa;IACtC,qBAAqB;IACrB,IAAI,CAAC,IAAA,eAAS,EAAC,KAAK,CAAC,EAAE,CAAC;QACtB,eAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,qCAAqC,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,IAAA,6BAAc,EAAC,KAAK,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC;AAC3E,CAAC;AAEY,QAAA,QAAQ,GAAG;IACtB,gBAAgB;IAChB,iBAAiB;IACjB,oBAAoB;IACpB,qBAAqB;CACb,CAAC;AAEE,QAAA,SAAS,GAAG,OAAC;KACvB,MAAM,CAAC;IACN,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,gBAAQ,CAAC;IACtB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;CACnB,CAAC;KACD,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC;KAC9C,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,EAAuB,EAAE;IACtE,MAAM,GAAG,GAAsB;QAC7B,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;KACd,CAAC;IAEF,IAAI,GAAG,EAAE,CAAC;QACR,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC;IACzB,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,GAAG,CAAC,aAAa,GAAG,MAAM,CAAC;IAC7B,CAAC;IAED,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,aAAa,EAAE,CAAC;QAClB,GAAG,CAAC,WAAW,GAAG,aAAa,CAAC;QAChC,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;YACrB,GAAG,CAAC,UAAU,GAAG,0CAAwB,CAAC,EAAE,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,UAAU,GAAG,kCAAoB,CAAC,EAAE,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QACpB,GAAG,CAAC,UAAU,GAAG,wBAAwB,CAAC;IAC5C,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,CAAC;AACf,CAAC,CAAC,CAAC","sourcesContent":["import parseGithubUrl from 'github-url-from-git';\nimport { z } from 'zod';\nimport { logger } from '../../../../logger';\nimport { regEx } from '../../../../util/regex';\nimport { isHttpUrl } from '../../../../util/url';\nimport { GithubReleasesDatasource } from '../../../datasource/github-releases';\nimport { GithubTagsDatasource } from '../../../datasource/github-tags';\nimport type { PackageDependency } from '../../types';\n\nconst githubUrlRegex = regEx(\n /^https:\\/\\/github\\.com\\/(?<packageName>[^/]+\\/[^/]+)/,\n);\n\nfunction githubPackageName(input: string): string | undefined {\n // istanbul ignore if\n if (!isHttpUrl(input)) {\n logger.once.info({ url: input }, `Bazel: non-https git_repository URL`);\n }\n return parseGithubUrl(input)?.match(githubUrlRegex)?.groups?.packageName;\n}\n\nexport const gitRules = [\n 'git_repository',\n '_git_repository',\n 'new_git_repository',\n '_new_git_repository',\n] as const;\n\nexport const GitTarget = z\n .object({\n rule: z.enum(gitRules),\n name: z.string(),\n tag: z.string().optional(),\n commit: z.string().optional(),\n remote: z.string(),\n })\n .refine(({ tag, commit }) => !!tag || !!commit)\n .transform(({ rule, name, tag, commit, remote }): PackageDependency[] => {\n const dep: PackageDependency = {\n depType: rule,\n depName: name,\n };\n\n if (tag) {\n dep.currentValue = tag;\n }\n\n if (commit) {\n dep.currentDigest = commit;\n }\n\n const githubPackage = githubPackageName(remote);\n if (githubPackage) {\n dep.packageName = githubPackage;\n if (dep.currentValue) {\n dep.datasource = GithubReleasesDatasource.id;\n } else {\n dep.datasource = GithubTagsDatasource.id;\n }\n }\n\n if (!dep.datasource) {\n dep.skipReason = 'unsupported-datasource';\n }\n\n return [dep];\n });\n"]}
|
@@ -19,6 +19,8 @@ export declare class CommandEntry {
|
|
19
19
|
getOption(name: string): BazelOption | undefined;
|
20
20
|
}
|
21
21
|
type BazelrcEntries = ImportEntry | CommandEntry;
|
22
|
+
export declare function expandWorkspacePath(value: string, workspaceDir: string): string | null;
|
23
|
+
export declare function sanitizeOptions(options: BazelOption[], workspaceDir: string): BazelOption[];
|
22
24
|
export declare function parse(contents: string): BazelrcEntries[];
|
23
25
|
export declare function read(workspaceDir: string): Promise<CommandEntry[]>;
|
24
26
|
export {};
|
@@ -1,6 +1,8 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.CommandEntry = exports.BazelOption = exports.ImportEntry = void 0;
|
4
|
+
exports.expandWorkspacePath = expandWorkspacePath;
|
5
|
+
exports.sanitizeOptions = sanitizeOptions;
|
4
6
|
exports.parse = parse;
|
5
7
|
exports.read = read;
|
6
8
|
const tslib_1 = require("tslib");
|
@@ -92,6 +94,32 @@ function createEntry(line) {
|
|
92
94
|
}
|
93
95
|
return undefined;
|
94
96
|
}
|
97
|
+
function expandWorkspacePath(value, workspaceDir) {
|
98
|
+
if (!value.includes('%workspace%')) {
|
99
|
+
return value;
|
100
|
+
}
|
101
|
+
const absolutePath = upath_1.default.resolve(workspaceDir);
|
102
|
+
const expandedPath = value.replace('%workspace%', absolutePath);
|
103
|
+
if (!fs.isValidLocalPath(expandedPath)) {
|
104
|
+
return null;
|
105
|
+
}
|
106
|
+
return expandedPath;
|
107
|
+
}
|
108
|
+
function sanitizeOptions(options, workspaceDir) {
|
109
|
+
return options
|
110
|
+
.map((option) => {
|
111
|
+
if (!option.value) {
|
112
|
+
return option;
|
113
|
+
}
|
114
|
+
const expandedPath = expandWorkspacePath(option.value, workspaceDir);
|
115
|
+
if (!expandedPath) {
|
116
|
+
logger_1.logger.debug(`Skipping invalid workspace path: ${option.value} in ${workspaceDir}`);
|
117
|
+
return null;
|
118
|
+
}
|
119
|
+
return new BazelOption(option.name, expandedPath);
|
120
|
+
})
|
121
|
+
.filter(array_1.isNotNullOrUndefined);
|
122
|
+
}
|
95
123
|
function parse(contents) {
|
96
124
|
return contents
|
97
125
|
.split('\n')
|
@@ -113,7 +141,8 @@ async function readFile(file, workspaceDir, readFiles) {
|
|
113
141
|
const results = [];
|
114
142
|
for (const entry of entries) {
|
115
143
|
if (entry.entryType === 'command') {
|
116
|
-
|
144
|
+
const sanitizedOptions = sanitizeOptions(entry.options, workspaceDir);
|
145
|
+
results.push(new CommandEntry(entry.command, sanitizedOptions, entry.config));
|
117
146
|
continue;
|
118
147
|
}
|
119
148
|
const importFile = upath_1.default.normalize(entry.path.replace('%workspace%', workspaceDir));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"bazelrc.js","sourceRoot":"","sources":["../../../../lib/modules/manager/bazel-module/bazelrc.ts"],"names":[],"mappings":"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","sourcesContent":["import upath from 'upath';\nimport { logger } from '../../../logger';\nimport { isNotNullOrUndefined } from '../../../util/array';\nimport * as fs from '../../../util/fs';\nimport { regEx } from '../../../util/regex';\n\nconst importRegex = regEx(`^(?<type>(?:try-)?import)\\\\s+(?<path>\\\\S+)$`);\nconst optionRegex = regEx(\n `^(?<command>\\\\w+)(:(?<config>\\\\S+))?\\\\s+(?<options>.*)$`,\n);\nconst spaceRegex = regEx(`\\\\s+`);\n\nexport class ImportEntry {\n readonly entryType = 'import';\n constructor(\n readonly path: string,\n readonly isTry: boolean,\n ) {}\n}\n\nexport class BazelOption {\n constructor(\n readonly name: string,\n readonly value?: string,\n ) {}\n\n static parse(input: string): BazelOption[] {\n const options: BazelOption[] = [];\n const parts = input.split(spaceRegex);\n for (let i = 0; i < parts.length; i++) {\n const part = parts[i];\n if (!part.startsWith('--')) {\n continue;\n }\n\n const nameStartIdx = 2;\n // Check for --option_name=option_value\n const equalSignIdx = part.indexOf('=');\n if (equalSignIdx >= 0) {\n const name = part.substring(nameStartIdx, equalSignIdx);\n const value = part.substring(equalSignIdx + 1);\n options.push(new BazelOption(name, value));\n continue;\n }\n\n const name = part.substring(nameStartIdx);\n const nextIdx = i + 1;\n // Check for --option_name OR --option_name option_value\n const value =\n nextIdx < parts.length && !parts[nextIdx].startsWith('--')\n ? parts[nextIdx]\n : undefined;\n options.push(new BazelOption(name, value));\n }\n return options;\n }\n}\n\nexport class CommandEntry {\n readonly entryType = 'command';\n constructor(\n readonly command: string,\n readonly options: BazelOption[],\n readonly config?: string,\n ) {}\n\n getOption(name: string): BazelOption | undefined {\n return this.options.find((bo) => bo.name === name);\n }\n}\n\ntype BazelrcEntries = ImportEntry | CommandEntry;\n\nfunction shouldProcessLine(line: string): boolean {\n if (line.length === 0) {\n return false;\n }\n return !line.startsWith('#');\n}\n\nfunction createEntry(line: string): BazelrcEntries | undefined {\n const importResult = importRegex.exec(line);\n if (importResult?.groups) {\n const irGroups = importResult.groups;\n return new ImportEntry(irGroups.path, irGroups.type === 'try-import');\n }\n const optionResult = optionRegex.exec(line);\n if (optionResult?.groups) {\n const orGroups = optionResult.groups;\n return new CommandEntry(\n orGroups.command,\n BazelOption.parse(orGroups.options),\n orGroups.config,\n );\n }\n return undefined;\n}\n\nexport function parse(contents: string): BazelrcEntries[] {\n return contents\n .split('\\n')\n .map((l) => l.trim())\n .filter(shouldProcessLine)\n .map(createEntry)\n .filter(isNotNullOrUndefined);\n}\n\nasync function readFile(\n file: string,\n workspaceDir: string,\n readFiles: Set<string>,\n): Promise<CommandEntry[]> {\n if (readFiles.has(file)) {\n throw new Error(\n `Attempted to read a bazelrc multiple times. file: ${file}`,\n );\n }\n readFiles.add(file);\n const contents = await fs.readLocalFile(file, 'utf8');\n if (!contents) {\n return [];\n }\n const entries = parse(contents);\n const results: CommandEntry[] = [];\n for (const entry of entries) {\n if (entry.entryType === 'command') {\n results.push(entry);\n continue;\n }\n\n const importFile = upath.normalize(\n entry.path.replace('%workspace%', workspaceDir),\n );\n if (fs.isValidLocalPath(importFile)) {\n const importEntries = await readFile(importFile, workspaceDir, readFiles);\n results.push(...importEntries);\n } else {\n logger.debug(`Skipping non-local .bazelrc import ${importFile}`);\n }\n }\n return results;\n}\n\nexport async function read(workspaceDir: string): Promise<CommandEntry[]> {\n const bazelrcPath = upath.join(workspaceDir, '.bazelrc');\n const readFiles = new Set<string>();\n return await readFile(bazelrcPath, workspaceDir, readFiles);\n}\n"]}
|
1
|
+
{"version":3,"file":"bazelrc.js","sourceRoot":"","sources":["../../../../lib/modules/manager/bazel-module/bazelrc.ts"],"names":[],"mappings":"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","sourcesContent":["import upath from 'upath';\nimport { logger } from '../../../logger';\nimport { isNotNullOrUndefined } from '../../../util/array';\nimport * as fs from '../../../util/fs';\nimport { regEx } from '../../../util/regex';\n\nconst importRegex = regEx(`^(?<type>(?:try-)?import)\\\\s+(?<path>\\\\S+)$`);\nconst optionRegex = regEx(\n `^(?<command>\\\\w+)(:(?<config>\\\\S+))?\\\\s+(?<options>.*)$`,\n);\nconst spaceRegex = regEx(`\\\\s+`);\n\nexport class ImportEntry {\n readonly entryType = 'import';\n constructor(\n readonly path: string,\n readonly isTry: boolean,\n ) {}\n}\n\nexport class BazelOption {\n constructor(\n readonly name: string,\n readonly value?: string,\n ) {}\n\n static parse(input: string): BazelOption[] {\n const options: BazelOption[] = [];\n const parts = input.split(spaceRegex);\n for (let i = 0; i < parts.length; i++) {\n const part = parts[i];\n if (!part.startsWith('--')) {\n continue;\n }\n\n const nameStartIdx = 2;\n // Check for --option_name=option_value\n const equalSignIdx = part.indexOf('=');\n if (equalSignIdx >= 0) {\n const name = part.substring(nameStartIdx, equalSignIdx);\n const value = part.substring(equalSignIdx + 1);\n options.push(new BazelOption(name, value));\n continue;\n }\n\n const name = part.substring(nameStartIdx);\n const nextIdx = i + 1;\n // Check for --option_name OR --option_name option_value\n const value =\n nextIdx < parts.length && !parts[nextIdx].startsWith('--')\n ? parts[nextIdx]\n : undefined;\n options.push(new BazelOption(name, value));\n }\n return options;\n }\n}\n\nexport class CommandEntry {\n readonly entryType = 'command';\n constructor(\n readonly command: string,\n readonly options: BazelOption[],\n readonly config?: string,\n ) {}\n\n getOption(name: string): BazelOption | undefined {\n return this.options.find((bo) => bo.name === name);\n }\n}\n\ntype BazelrcEntries = ImportEntry | CommandEntry;\n\nfunction shouldProcessLine(line: string): boolean {\n if (line.length === 0) {\n return false;\n }\n return !line.startsWith('#');\n}\n\nfunction createEntry(line: string): BazelrcEntries | undefined {\n const importResult = importRegex.exec(line);\n if (importResult?.groups) {\n const irGroups = importResult.groups;\n return new ImportEntry(irGroups.path, irGroups.type === 'try-import');\n }\n const optionResult = optionRegex.exec(line);\n if (optionResult?.groups) {\n const orGroups = optionResult.groups;\n return new CommandEntry(\n orGroups.command,\n BazelOption.parse(orGroups.options),\n orGroups.config,\n );\n }\n return undefined;\n}\n\nexport function expandWorkspacePath(\n value: string,\n workspaceDir: string,\n): string | null {\n if (!value.includes('%workspace%')) {\n return value;\n }\n const absolutePath = upath.resolve(workspaceDir);\n const expandedPath = value.replace('%workspace%', absolutePath);\n if (!fs.isValidLocalPath(expandedPath)) {\n return null;\n }\n return expandedPath;\n}\n\nexport function sanitizeOptions(\n options: BazelOption[],\n workspaceDir: string,\n): BazelOption[] {\n return options\n .map((option) => {\n if (!option.value) {\n return option;\n }\n const expandedPath = expandWorkspacePath(option.value, workspaceDir);\n if (!expandedPath) {\n logger.debug(\n `Skipping invalid workspace path: ${option.value} in ${workspaceDir}`,\n );\n return null;\n }\n return new BazelOption(option.name, expandedPath);\n })\n .filter(isNotNullOrUndefined);\n}\n\nexport function parse(contents: string): BazelrcEntries[] {\n return contents\n .split('\\n')\n .map((l) => l.trim())\n .filter(shouldProcessLine)\n .map(createEntry)\n .filter(isNotNullOrUndefined);\n}\n\nasync function readFile(\n file: string,\n workspaceDir: string,\n readFiles: Set<string>,\n): Promise<CommandEntry[]> {\n if (readFiles.has(file)) {\n throw new Error(\n `Attempted to read a bazelrc multiple times. file: ${file}`,\n );\n }\n readFiles.add(file);\n const contents = await fs.readLocalFile(file, 'utf8');\n if (!contents) {\n return [];\n }\n const entries = parse(contents);\n const results: CommandEntry[] = [];\n for (const entry of entries) {\n if (entry.entryType === 'command') {\n const sanitizedOptions = sanitizeOptions(entry.options, workspaceDir);\n results.push(\n new CommandEntry(entry.command, sanitizedOptions, entry.config),\n );\n continue;\n }\n\n const importFile = upath.normalize(\n entry.path.replace('%workspace%', workspaceDir),\n );\n if (fs.isValidLocalPath(importFile)) {\n const importEntries = await readFile(importFile, workspaceDir, readFiles);\n results.push(...importEntries);\n } else {\n logger.debug(`Skipping non-local .bazelrc import ${importFile}`);\n }\n }\n return results;\n}\n\nexport async function read(workspaceDir: string): Promise<CommandEntry[]> {\n const bazelrcPath = upath.join(workspaceDir, '.bazelrc');\n const readFiles = new Set<string>();\n return await readFile(bazelrcPath, workspaceDir, readFiles);\n}\n"]}
|
@@ -20,6 +20,7 @@ const supportedRules = [
|
|
20
20
|
'local_path_override',
|
21
21
|
'single_version_override',
|
22
22
|
'git_repository',
|
23
|
+
'new_git_repository',
|
23
24
|
];
|
24
25
|
const supportedRulesRegex = (0, regex_1.regEx)(`^${supportedRules.join('|')}$`);
|
25
26
|
exports.rules = good_enough_parser_1.query
|