renovate 40.0.0-next.2 → 40.0.0-next.20
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/legacy.js +0 -1
- package/dist/config/decrypt/legacy.js.map +1 -1
- package/dist/config/decrypt.d.ts +3 -1
- package/dist/config/decrypt.js +56 -13
- package/dist/config/decrypt.js.map +1 -1
- package/dist/config/migrate-validate.js +3 -2
- package/dist/config/migrate-validate.js.map +1 -1
- package/dist/config/migration.js +2 -1
- package/dist/config/migration.js.map +1 -1
- package/dist/config/migrations/custom/rebase-stale-prs-migration.js +1 -1
- package/dist/config/migrations/custom/rebase-stale-prs-migration.js.map +1 -1
- package/dist/config/options/index.js +3 -3
- package/dist/config/options/index.js.map +1 -1
- package/dist/config/parse.js +2 -2
- package/dist/config/parse.js.map +1 -1
- package/dist/config/presets/gitea/index.js +0 -1
- package/dist/config/presets/gitea/index.js.map +1 -1
- package/dist/config/presets/github/index.js +0 -1
- package/dist/config/presets/github/index.js.map +1 -1
- package/dist/config/presets/gitlab/index.js +1 -1
- package/dist/config/presets/gitlab/index.js.map +1 -1
- package/dist/config/presets/http/index.js +1 -2
- package/dist/config/presets/http/index.js.map +1 -1
- package/dist/config/presets/index.js +0 -7
- package/dist/config/presets/index.js.map +1 -1
- package/dist/config/presets/internal/custom-managers.js +3 -4
- package/dist/config/presets/internal/custom-managers.js.map +1 -1
- package/dist/config/presets/internal/index.js +1 -3
- package/dist/config/presets/internal/index.js.map +1 -1
- package/dist/config/schema.d.ts +2 -2
- package/dist/config/validation.js +3 -5
- package/dist/config/validation.js.map +1 -1
- package/dist/config-validator.js +0 -1
- package/dist/config-validator.js.map +1 -1
- package/dist/constants/category.js +0 -1
- package/dist/constants/category.js.map +1 -1
- package/dist/data/monorepo.json +2 -1
- package/dist/instrumentation/index.js +5 -3
- package/dist/instrumentation/index.js.map +1 -1
- package/dist/instrumentation/utils.js +1 -1
- package/dist/instrumentation/utils.js.map +1 -1
- package/dist/logger/cmd-serializer.js +0 -1
- package/dist/logger/cmd-serializer.js.map +1 -1
- package/dist/logger/config-serializer.js +0 -1
- package/dist/logger/config-serializer.js.map +1 -1
- package/dist/logger/index.js +0 -3
- package/dist/logger/index.js.map +1 -1
- package/dist/logger/once.js +4 -2
- package/dist/logger/once.js.map +1 -1
- package/dist/logger/pretty-stdout.js +0 -1
- package/dist/logger/pretty-stdout.js.map +1 -1
- package/dist/logger/renovate-logger.js +1 -1
- package/dist/logger/renovate-logger.js.map +1 -1
- package/dist/logger/utils.js +6 -11
- package/dist/logger/utils.js.map +1 -1
- package/dist/modules/datasource/artifactory/index.js +1 -1
- package/dist/modules/datasource/artifactory/index.js.map +1 -1
- package/dist/modules/datasource/azure-pipelines-tasks/index.js +11 -1
- package/dist/modules/datasource/azure-pipelines-tasks/index.js.map +1 -1
- package/dist/modules/datasource/azure-pipelines-tasks/schema.d.ts +16 -0
- package/dist/modules/datasource/azure-pipelines-tasks/schema.js +2 -0
- package/dist/modules/datasource/azure-pipelines-tasks/schema.js.map +1 -1
- package/dist/modules/datasource/crate/index.js +1 -1
- package/dist/modules/datasource/crate/index.js.map +1 -1
- package/dist/modules/datasource/custom/formats/html.js +1 -1
- package/dist/modules/datasource/custom/formats/html.js.map +1 -1
- package/dist/modules/datasource/custom/formats/yaml.js +1 -1
- package/dist/modules/datasource/custom/formats/yaml.js.map +1 -1
- package/dist/modules/datasource/custom/schema.d.ts +5 -5
- package/dist/modules/datasource/deb/index.js +1 -1
- package/dist/modules/datasource/deb/index.js.map +1 -1
- package/dist/modules/datasource/deno/schema.d.ts +8 -8
- package/dist/modules/datasource/docker/common.js +1 -1
- package/dist/modules/datasource/docker/common.js.map +1 -1
- package/dist/modules/datasource/docker/index.js +5 -3
- package/dist/modules/datasource/docker/index.js.map +1 -1
- package/dist/modules/datasource/docker/schema.d.ts +32 -32
- package/dist/modules/datasource/galaxy/schema.d.ts +1 -1
- package/dist/modules/datasource/galaxy-collection/schema.d.ts +3 -3
- package/dist/modules/datasource/gitea-releases/schema.d.ts +4 -4
- package/dist/modules/datasource/gitea-tags/schema.d.ts +4 -4
- package/dist/modules/datasource/github-release-attachments/index.js +2 -2
- package/dist/modules/datasource/github-release-attachments/index.js.map +1 -1
- package/dist/modules/datasource/go/base.js +1 -1
- package/dist/modules/datasource/go/base.js.map +1 -1
- package/dist/modules/datasource/go/releases-goproxy.js +1 -1
- package/dist/modules/datasource/go/releases-goproxy.js.map +1 -1
- package/dist/modules/datasource/golang-version/index.js +1 -1
- package/dist/modules/datasource/golang-version/index.js.map +1 -1
- package/dist/modules/datasource/hex/schema.d.ts +11 -11
- package/dist/modules/datasource/hexpm-bob/index.js +1 -1
- package/dist/modules/datasource/hexpm-bob/index.js.map +1 -1
- package/dist/modules/datasource/index.js +2 -2
- package/dist/modules/datasource/index.js.map +1 -1
- package/dist/modules/datasource/maven/util.js +1 -1
- package/dist/modules/datasource/maven/util.js.map +1 -1
- package/dist/modules/datasource/nuget/v2.js +1 -1
- package/dist/modules/datasource/nuget/v2.js.map +1 -1
- package/dist/modules/datasource/nuget/v3.js +1 -1
- package/dist/modules/datasource/nuget/v3.js.map +1 -1
- package/dist/modules/datasource/packagist/schema.d.ts +30 -30
- package/dist/modules/datasource/pod/index.js +1 -1
- package/dist/modules/datasource/pod/index.js.map +1 -1
- package/dist/modules/datasource/pypi/index.js +1 -1
- package/dist/modules/datasource/pypi/index.js.map +1 -1
- package/dist/modules/datasource/ruby-version/index.js +1 -1
- package/dist/modules/datasource/ruby-version/index.js.map +1 -1
- package/dist/modules/datasource/rubygems/index.js +1 -1
- package/dist/modules/datasource/rubygems/index.js.map +1 -1
- package/dist/modules/datasource/rubygems/versions-endpoint-cache.js +2 -2
- package/dist/modules/datasource/rubygems/versions-endpoint-cache.js.map +1 -1
- package/dist/modules/datasource/terraform-provider/index.js +1 -1
- package/dist/modules/datasource/terraform-provider/index.js.map +1 -1
- package/dist/modules/datasource/unity3d/index.d.ts +4 -1
- package/dist/modules/datasource/unity3d/index.js +36 -42
- package/dist/modules/datasource/unity3d/index.js.map +1 -1
- package/dist/modules/datasource/unity3d/schema.d.ts +47 -0
- package/dist/modules/datasource/unity3d/schema.js +17 -0
- package/dist/modules/datasource/unity3d/schema.js.map +1 -0
- package/dist/modules/manager/argocd/schema.d.ts +10 -10
- package/dist/modules/manager/azure-pipelines/schema.d.ts +10 -10
- package/dist/modules/manager/batect/schema.d.ts +6 -6
- package/dist/modules/manager/batect-wrapper/artifacts.js +1 -1
- package/dist/modules/manager/batect-wrapper/artifacts.js.map +1 -1
- package/dist/modules/manager/bazel/rules/docker.d.ts +9 -9
- package/dist/modules/manager/bazel/rules/git.d.ts +10 -10
- package/dist/modules/manager/bazel/rules/git.js +7 -1
- package/dist/modules/manager/bazel/rules/git.js.map +1 -1
- package/dist/modules/manager/bazel/rules/go.d.ts +5 -5
- package/dist/modules/manager/bazel/rules/oci.d.ts +3 -3
- package/dist/modules/manager/bazel-module/parser/fragments.d.ts +40 -40
- package/dist/modules/manager/bazel-module/parser/maven.d.ts +27 -27
- package/dist/modules/manager/bazel-module/parser/oci.d.ts +17 -17
- package/dist/modules/manager/bazel-module/rules.d.ts +40 -40
- package/dist/modules/manager/bundler/artifacts.js.map +1 -1
- package/dist/modules/manager/cargo/schema.d.ts +100 -100
- package/dist/modules/manager/circleci/schema.d.ts +6 -6
- package/dist/modules/manager/composer/schema.d.ts +40 -40
- package/dist/modules/manager/composer/utils.js +9 -6
- package/dist/modules/manager/composer/utils.js.map +1 -1
- package/dist/modules/manager/crossplane/schema.d.ts +2 -2
- package/dist/modules/manager/custom/jsonata/index.js +4 -0
- package/dist/modules/manager/custom/jsonata/index.js.map +1 -1
- package/dist/modules/manager/custom/jsonata/schema.d.ts +7 -7
- package/dist/modules/manager/devbox/artifacts.d.ts +1 -1
- package/dist/modules/manager/devbox/artifacts.js +29 -11
- package/dist/modules/manager/devbox/artifacts.js.map +1 -1
- package/dist/modules/manager/fingerprint.generated.js +68 -68
- package/dist/modules/manager/fingerprint.generated.js.map +1 -1
- package/dist/modules/manager/fleet/schema.d.ts +12 -12
- package/dist/modules/manager/flux/schema.d.ts +50 -50
- package/dist/modules/manager/glasskube/schema.d.ts +8 -8
- package/dist/modules/manager/gradle-wrapper/artifacts.js +1 -1
- package/dist/modules/manager/gradle-wrapper/artifacts.js.map +1 -1
- package/dist/modules/manager/maven/extract.js +3 -1
- package/dist/modules/manager/maven/extract.js.map +1 -1
- package/dist/modules/manager/mise/extract.js +1 -1
- package/dist/modules/manager/mise/extract.js.map +1 -1
- package/dist/modules/manager/nix/schema.d.ts +24 -24
- package/dist/modules/manager/npm/schema.d.ts +13 -13
- package/dist/modules/manager/nuget/schema.d.ts +8 -8
- package/dist/modules/manager/ocb/schema.d.ts +6 -6
- package/dist/modules/manager/pep621/schema.d.ts +55 -55
- package/dist/modules/manager/pep621/utils.js +1 -1
- package/dist/modules/manager/pep621/utils.js.map +1 -1
- package/dist/modules/manager/poetry/artifacts.js +3 -3
- package/dist/modules/manager/poetry/artifacts.js.map +1 -1
- package/dist/modules/manager/poetry/extract.js +2 -1
- package/dist/modules/manager/poetry/extract.js.map +1 -1
- package/dist/modules/manager/poetry/schema.d.ts +48 -48
- package/dist/modules/manager/sveltos/schema.d.ts +12 -12
- package/dist/modules/manager/terraform/lockfile/hash.d.ts +1 -1
- package/dist/modules/manager/vendir/schema.d.ts +27 -27
- package/dist/modules/platform/api.d.ts +1 -1
- package/dist/modules/platform/bitbucket/index.d.ts +1 -0
- package/dist/modules/platform/bitbucket/index.js +6 -1
- package/dist/modules/platform/bitbucket/index.js.map +1 -1
- package/dist/modules/platform/bitbucket/schema.d.ts +17 -17
- package/dist/modules/platform/bitbucket-server/index.d.ts +1 -1
- package/dist/modules/platform/bitbucket-server/index.js +13 -11
- package/dist/modules/platform/bitbucket-server/index.js.map +1 -1
- package/dist/modules/platform/bitbucket-server/schema.d.ts +75 -0
- package/dist/modules/platform/bitbucket-server/schema.js +14 -1
- package/dist/modules/platform/bitbucket-server/schema.js.map +1 -1
- package/dist/modules/platform/bitbucket-server/types.d.ts +2 -1
- package/dist/modules/platform/bitbucket-server/types.js.map +1 -1
- package/dist/modules/platform/bitbucket-server/utils.d.ts +0 -2
- package/dist/modules/platform/bitbucket-server/utils.js +1 -51
- package/dist/modules/platform/bitbucket-server/utils.js.map +1 -1
- package/dist/modules/platform/gerrit/client.js +1 -1
- package/dist/modules/platform/gerrit/client.js.map +1 -1
- package/dist/modules/platform/gitea/index.d.ts +1 -0
- package/dist/modules/platform/gitea/index.js +11 -0
- package/dist/modules/platform/gitea/index.js.map +1 -1
- package/dist/modules/platform/gitea/schema.d.ts +8 -8
- package/dist/modules/platform/github/common.d.ts +2 -0
- package/dist/modules/platform/github/common.js +16 -0
- package/dist/modules/platform/github/common.js.map +1 -1
- package/dist/modules/platform/github/index.d.ts +1 -1
- package/dist/modules/platform/github/index.js +6 -4
- package/dist/modules/platform/github/index.js.map +1 -1
- package/dist/modules/platform/github/issue.d.ts +12 -12
- package/dist/modules/platform/github/schema.d.ts +65 -65
- package/dist/modules/platform/gitlab/index.d.ts +1 -0
- package/dist/modules/platform/gitlab/index.js +9 -0
- package/dist/modules/platform/gitlab/index.js.map +1 -1
- package/dist/modules/platform/scm.d.ts +1 -1
- package/dist/modules/versioning/composer/index.js +10 -0
- package/dist/modules/versioning/composer/index.js.map +1 -1
- package/dist/modules/versioning/npm/index.js +2 -1
- package/dist/modules/versioning/npm/index.js.map +1 -1
- package/dist/modules/versioning/schema.js +1 -1
- package/dist/modules/versioning/schema.js.map +1 -1
- package/dist/modules/versioning/types.d.ts +4 -0
- package/dist/modules/versioning/types.js.map +1 -1
- package/dist/proxy.js +2 -1
- package/dist/proxy.js.map +1 -1
- package/dist/renovate.js +2 -2
- package/dist/renovate.js.map +1 -1
- package/dist/util/cache/package/decorator.js +2 -2
- package/dist/util/cache/package/decorator.js.map +1 -1
- package/dist/util/cache/package/redis.js +0 -1
- package/dist/util/cache/package/redis.js.map +1 -1
- package/dist/util/cache/repository/impl/base.d.ts +1 -1
- package/dist/util/exec/containerbase.js +12 -12
- package/dist/util/exec/containerbase.js.map +1 -1
- package/dist/util/github/graphql/query-adapters/releases-query-adapter.d.ts +5 -5
- package/dist/util/http/auth.js +0 -1
- package/dist/util/http/auth.js.map +1 -1
- package/dist/util/http/bitbucket-server.d.ts +5 -4
- package/dist/util/http/bitbucket-server.js +17 -20
- package/dist/util/http/bitbucket-server.js.map +1 -1
- package/dist/util/http/bitbucket.d.ts +6 -5
- package/dist/util/http/bitbucket.js +30 -31
- package/dist/util/http/bitbucket.js.map +1 -1
- package/dist/util/http/cache/abstract-http-cache-provider.js +1 -1
- package/dist/util/http/cache/abstract-http-cache-provider.js.map +1 -1
- package/dist/util/http/cache/schema.d.ts +2 -2
- package/dist/util/http/errors.d.ts +2 -0
- package/dist/util/http/errors.js +8 -0
- package/dist/util/http/errors.js.map +1 -0
- package/dist/util/http/gerrit.d.ts +6 -4
- package/dist/util/http/gerrit.js +11 -12
- package/dist/util/http/gerrit.js.map +1 -1
- package/dist/util/http/gitea.d.ts +5 -4
- package/dist/util/http/gitea.js +12 -13
- package/dist/util/http/gitea.js.map +1 -1
- package/dist/util/http/github.d.ts +14 -8
- package/dist/util/http/github.js +64 -60
- package/dist/util/http/github.js.map +1 -1
- package/dist/util/http/gitlab.d.ts +7 -5
- package/dist/util/http/gitlab.js +56 -46
- package/dist/util/http/gitlab.js.map +1 -1
- package/dist/util/http/got.d.ts +9 -0
- package/dist/util/http/got.js +54 -0
- package/dist/util/http/got.js.map +1 -0
- package/dist/util/http/host-rules.d.ts +2 -1
- package/dist/util/http/host-rules.js.map +1 -1
- package/dist/util/http/http.d.ts +93 -0
- package/dist/util/http/http.js +339 -0
- package/dist/util/http/http.js.map +1 -0
- package/dist/util/http/index.d.ts +6 -74
- package/dist/util/http/index.js +5 -359
- package/dist/util/http/index.js.map +1 -1
- package/dist/util/http/legacy.js +4 -1
- package/dist/util/http/legacy.js.map +1 -1
- package/dist/util/http/types.d.ts +9 -16
- package/dist/util/http/types.js.map +1 -1
- package/dist/util/string.d.ts +15 -0
- package/dist/util/string.js +75 -0
- package/dist/util/string.js.map +1 -1
- package/dist/util/toml.d.ts +1 -0
- package/dist/util/toml.js +6 -0
- package/dist/util/toml.js.map +1 -1
- package/dist/util/url.js +3 -8
- package/dist/util/url.js.map +1 -1
- package/dist/util/yaml.js +2 -6
- package/dist/util/yaml.js.map +1 -1
- package/dist/workers/global/config/parse/env.js +3 -2
- package/dist/workers/global/config/parse/env.js.map +1 -1
- package/dist/workers/global/config/parse/file.js +19 -9
- package/dist/workers/global/config/parse/file.js.map +1 -1
- package/dist/workers/global/config/parse/host-rules-from-env.js +6 -2
- package/dist/workers/global/config/parse/host-rules-from-env.js.map +1 -1
- package/dist/workers/repository/cache.js +0 -1
- package/dist/workers/repository/cache.js.map +1 -1
- package/dist/workers/repository/onboarding/pr/config-description.js +3 -1
- package/dist/workers/repository/onboarding/pr/config-description.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/bitbucket/index.js +1 -1
- package/dist/workers/repository/update/pr/changelog/bitbucket/index.js.map +1 -1
- package/dist/workers/repository/update/pr/changelog/gitlab/index.js +1 -1
- package/dist/workers/repository/update/pr/changelog/gitlab/index.js.map +1 -1
- package/package.json +44 -49
- package/renovate-schema.json +2 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/terraform-provider/index.ts"],"names":[],"mappings":"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","sourcesContent":["// TODO: types (#22198)\nimport is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { ExternalHostError } from '../../../types/errors/external-host-error';\nimport { cache } from '../../../util/cache/package/decorator';\nimport * as p from '../../../util/promises';\nimport { regEx } from '../../../util/regex';\nimport { asTimestamp } from '../../../util/timestamp';\nimport { joinUrlParts } from '../../../util/url';\nimport * as hashicorpVersioning from '../../versioning/hashicorp';\nimport { TerraformDatasource } from '../terraform-module/base';\nimport type { ServiceDiscoveryResult } from '../terraform-module/types';\nimport { createSDBackendURL } from '../terraform-module/utils';\nimport type { GetReleasesConfig, ReleaseResult } from '../types';\nimport type {\n TerraformBuild,\n TerraformProvider,\n TerraformProviderReleaseBackend,\n TerraformProviderVersions,\n TerraformRegistryBuildResponse,\n TerraformRegistryVersions,\n VersionDetailResponse,\n} from './types';\n\nexport class TerraformProviderDatasource extends TerraformDatasource {\n static override readonly id = 'terraform-provider';\n\n static readonly defaultRegistryUrls = [\n 'https://registry.terraform.io',\n 'https://releases.hashicorp.com',\n ];\n\n static repositoryRegex = regEx(/^hashicorp\\/(?<packageName>\\S+)$/);\n\n constructor() {\n super(TerraformProviderDatasource.id);\n }\n\n override readonly defaultRegistryUrls =\n TerraformProviderDatasource.defaultRegistryUrls;\n\n override readonly defaultVersioning = hashicorpVersioning.id;\n\n override readonly registryStrategy = 'hunt';\n\n override readonly releaseTimestampSupport = true;\n override readonly releaseTimestampNote =\n 'The release timestamp is only supported for the latest version, and is determined from the `published_at` field in the results.';\n override readonly sourceUrlSupport = 'package';\n override readonly sourceUrlNote =\n 'The source URL is determined from the the `source` field in the results.';\n\n @cache({\n namespace: `datasource-${TerraformProviderDatasource.id}`,\n key: (getReleasesConfig: GetReleasesConfig) => {\n const url = getReleasesConfig.registryUrl;\n const repo = TerraformProviderDatasource.getRepository(getReleasesConfig);\n return `getReleases:${url}/${repo}`;\n },\n })\n async getReleases({\n packageName,\n registryUrl,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n // istanbul ignore if\n if (!registryUrl) {\n return null;\n }\n logger.trace(\n `terraform-provider.getDependencies() packageName: ${packageName}`,\n );\n\n if (registryUrl === this.defaultRegistryUrls[1]) {\n return await this.queryReleaseBackend(packageName, registryUrl);\n }\n const repository = TerraformProviderDatasource.getRepository({\n packageName,\n });\n const serviceDiscovery =\n await this.getTerraformServiceDiscoveryResult(registryUrl);\n\n if (registryUrl === this.defaultRegistryUrls[0]) {\n return await this.queryRegistryExtendedApi(\n serviceDiscovery,\n registryUrl,\n repository,\n );\n }\n\n return await this.queryRegistryVersions(\n serviceDiscovery,\n registryUrl,\n repository,\n );\n }\n\n private static getRepository({ packageName }: GetReleasesConfig): string {\n return packageName.includes('/') ? packageName : `hashicorp/${packageName}`;\n }\n\n /**\n * this uses the api that terraform registry has in addition to the base api\n * this endpoint provides more information, such as release date\n * this api is undocumented.\n */\n private async queryRegistryExtendedApi(\n serviceDiscovery: ServiceDiscoveryResult,\n registryUrl: string,\n repository: string,\n ): Promise<ReleaseResult> {\n const backendURL = createSDBackendURL(\n registryUrl,\n 'providers.v1',\n serviceDiscovery,\n repository,\n );\n const res = (\n await this.http.getJsonUnchecked<TerraformProvider>(backendURL)\n ).body;\n const dep: ReleaseResult = {\n releases: res.versions.map((version) => ({\n version,\n })),\n };\n if (res.source) {\n dep.sourceUrl = res.source;\n }\n // set published date for latest release\n const latestVersion = dep.releases.find(\n (release) => res.version === release.version,\n );\n // istanbul ignore else\n if (latestVersion) {\n latestVersion.releaseTimestamp = asTimestamp(res.published_at);\n }\n dep.homepage = `${registryUrl}/providers/${repository}`;\n return dep;\n }\n\n /**\n * this version uses the Provider Registry Protocol that all registries are required to implement\n * https://www.terraform.io/internals/provider-registry-protocol\n */\n private async queryRegistryVersions(\n serviceDiscovery: ServiceDiscoveryResult,\n registryUrl: string,\n repository: string,\n ): Promise<ReleaseResult> {\n const backendURL = createSDBackendURL(\n registryUrl,\n 'providers.v1',\n serviceDiscovery,\n `${repository}/versions`,\n );\n const res = (\n await this.http.getJsonUnchecked<TerraformProviderVersions>(backendURL)\n ).body;\n const dep: ReleaseResult = {\n releases: res.versions.map(({ version }) => ({\n version,\n })),\n };\n return dep;\n }\n\n private async queryReleaseBackend(\n packageName: string,\n registryURL: string,\n ): Promise<ReleaseResult | null> {\n const hashicorpPackage = packageName.replace('hashicorp/', '');\n const backendLookUpName = `terraform-provider-${hashicorpPackage}`;\n const backendURL = joinUrlParts(\n registryURL,\n backendLookUpName,\n `index.json`,\n );\n const res = (\n await this.http.getJsonUnchecked<TerraformProviderReleaseBackend>(\n backendURL,\n )\n ).body;\n\n const dep: ReleaseResult = {\n releases: Object.keys(res.versions).map((version) => ({\n version,\n })),\n sourceUrl: joinUrlParts(\n 'https://github.com/terraform-providers',\n backendLookUpName,\n ),\n };\n return dep;\n }\n\n @cache({\n namespace: `datasource-${TerraformProviderDatasource.id}`,\n key: (registryURL: string, repository: string, version: string) =>\n `getBuilds:${registryURL}/${repository}/${version}`,\n })\n async getBuilds(\n registryURL: string,\n repository: string,\n version: string,\n ): Promise<TerraformBuild[] | null> {\n if (registryURL === TerraformProviderDatasource.defaultRegistryUrls[1]) {\n // check if registryURL === secondary backend\n const repositoryRegexResult =\n TerraformProviderDatasource.repositoryRegex.exec(repository)?.groups;\n if (!repositoryRegexResult) {\n // non hashicorp builds are not supported with releases.hashicorp.com\n return null;\n }\n const packageName = repositoryRegexResult.packageName;\n const backendLookUpName = `terraform-provider-${packageName}`;\n let versionReleaseBackend: VersionDetailResponse;\n try {\n versionReleaseBackend = await this.getReleaseBackendIndex(\n backendLookUpName,\n version,\n );\n } catch (err) {\n /* istanbul ignore next */\n if (err instanceof ExternalHostError) {\n throw err;\n }\n logger.debug(\n { err, backendLookUpName, version },\n `Failed to retrieve builds for ${backendLookUpName} ${version}`,\n );\n return null;\n }\n return versionReleaseBackend.builds;\n }\n\n // check public or private Terraform registry\n const serviceDiscovery =\n await this.getTerraformServiceDiscoveryResult(registryURL);\n if (!serviceDiscovery) {\n logger.trace(`Failed to retrieve service discovery from ${registryURL}`);\n return null;\n }\n const backendURL = createSDBackendURL(\n registryURL,\n 'providers.v1',\n serviceDiscovery,\n repository,\n );\n const versionsResponse = (\n await this.http.getJsonUnchecked<TerraformRegistryVersions>(\n `${backendURL}/versions`,\n )\n ).body;\n if (!versionsResponse.versions) {\n logger.trace(`Failed to retrieve version list for ${backendURL}`);\n return null;\n }\n const builds = versionsResponse.versions.find(\n (value) => value.version === version,\n );\n if (!builds) {\n logger.trace(\n `No builds found for ${repository}:${version} on ${registryURL}`,\n );\n return null;\n }\n const result = await p.map(\n builds.platforms,\n async (platform) => {\n const buildURL = `${backendURL}/${version}/download/${platform.os}/${platform.arch}`;\n try {\n const res = (\n await this.http.getJsonUnchecked<TerraformRegistryBuildResponse>(\n buildURL,\n )\n ).body;\n const newBuild: TerraformBuild = {\n name: repository,\n url: res.download_url,\n version,\n ...res,\n };\n return newBuild;\n } catch (err) {\n /* istanbul ignore next */\n if (err instanceof ExternalHostError) {\n throw err;\n }\n logger.debug({ err, url: buildURL }, 'Failed to retrieve build');\n return null;\n }\n },\n { concurrency: 4 },\n );\n\n const filteredResult = result.filter(is.truthy);\n return filteredResult.length === result.length ? filteredResult : null;\n }\n\n @cache({\n namespace: `datasource-${TerraformProviderDatasource.id}`,\n key: (zipHashUrl: string) => `getZipHashes:${zipHashUrl}`,\n })\n async getZipHashes(zipHashUrl: string): Promise<string[] | undefined> {\n // The hashes are formatted as the result of sha256sum in plain text, each line: <hash>\\t<filename>\n let rawHashData: string;\n try {\n rawHashData = (await this.http.get(zipHashUrl)).body;\n } catch (err) {\n /* istanbul ignore next */\n if (err instanceof ExternalHostError) {\n throw err;\n }\n logger.debug(\n { err, zipHashUrl },\n `Failed to retrieve zip hashes from ${zipHashUrl}`,\n );\n return undefined;\n }\n\n return rawHashData\n .trimEnd()\n .split('\\n')\n .map((line) => line.split(/\\s/)[0]);\n }\n\n @cache({\n namespace: `datasource-${TerraformProviderDatasource.id}`,\n key: (backendLookUpName: string, version: string) =>\n `getReleaseBackendIndex:${backendLookUpName}/${version}`,\n })\n async getReleaseBackendIndex(\n backendLookUpName: string,\n version: string,\n ): Promise<VersionDetailResponse> {\n return (\n await this.http.getJsonUnchecked<VersionDetailResponse>(\n `${TerraformProviderDatasource.defaultRegistryUrls[1]}/${backendLookUpName}/${version}/index.json`,\n )\n ).body;\n }\n}\n"]}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/terraform-provider/index.ts"],"names":[],"mappings":"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","sourcesContent":["// TODO: types (#22198)\nimport is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { ExternalHostError } from '../../../types/errors/external-host-error';\nimport { cache } from '../../../util/cache/package/decorator';\nimport * as p from '../../../util/promises';\nimport { regEx } from '../../../util/regex';\nimport { asTimestamp } from '../../../util/timestamp';\nimport { joinUrlParts } from '../../../util/url';\nimport * as hashicorpVersioning from '../../versioning/hashicorp';\nimport { TerraformDatasource } from '../terraform-module/base';\nimport type { ServiceDiscoveryResult } from '../terraform-module/types';\nimport { createSDBackendURL } from '../terraform-module/utils';\nimport type { GetReleasesConfig, ReleaseResult } from '../types';\nimport type {\n TerraformBuild,\n TerraformProvider,\n TerraformProviderReleaseBackend,\n TerraformProviderVersions,\n TerraformRegistryBuildResponse,\n TerraformRegistryVersions,\n VersionDetailResponse,\n} from './types';\n\nexport class TerraformProviderDatasource extends TerraformDatasource {\n static override readonly id = 'terraform-provider';\n\n static readonly defaultRegistryUrls = [\n 'https://registry.terraform.io',\n 'https://releases.hashicorp.com',\n ];\n\n static repositoryRegex = regEx(/^hashicorp\\/(?<packageName>\\S+)$/);\n\n constructor() {\n super(TerraformProviderDatasource.id);\n }\n\n override readonly defaultRegistryUrls =\n TerraformProviderDatasource.defaultRegistryUrls;\n\n override readonly defaultVersioning = hashicorpVersioning.id;\n\n override readonly registryStrategy = 'hunt';\n\n override readonly releaseTimestampSupport = true;\n override readonly releaseTimestampNote =\n 'The release timestamp is only supported for the latest version, and is determined from the `published_at` field in the results.';\n override readonly sourceUrlSupport = 'package';\n override readonly sourceUrlNote =\n 'The source URL is determined from the the `source` field in the results.';\n\n @cache({\n namespace: `datasource-${TerraformProviderDatasource.id}`,\n key: (getReleasesConfig: GetReleasesConfig) => {\n const url = getReleasesConfig.registryUrl;\n const repo = TerraformProviderDatasource.getRepository(getReleasesConfig);\n return `getReleases:${url}/${repo}`;\n },\n })\n async getReleases({\n packageName,\n registryUrl,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n // istanbul ignore if\n if (!registryUrl) {\n return null;\n }\n logger.trace(\n `terraform-provider.getDependencies() packageName: ${packageName}`,\n );\n\n if (registryUrl === this.defaultRegistryUrls[1]) {\n return await this.queryReleaseBackend(packageName, registryUrl);\n }\n const repository = TerraformProviderDatasource.getRepository({\n packageName,\n });\n const serviceDiscovery =\n await this.getTerraformServiceDiscoveryResult(registryUrl);\n\n if (registryUrl === this.defaultRegistryUrls[0]) {\n return await this.queryRegistryExtendedApi(\n serviceDiscovery,\n registryUrl,\n repository,\n );\n }\n\n return await this.queryRegistryVersions(\n serviceDiscovery,\n registryUrl,\n repository,\n );\n }\n\n private static getRepository({ packageName }: GetReleasesConfig): string {\n return packageName.includes('/') ? packageName : `hashicorp/${packageName}`;\n }\n\n /**\n * this uses the api that terraform registry has in addition to the base api\n * this endpoint provides more information, such as release date\n * this api is undocumented.\n */\n private async queryRegistryExtendedApi(\n serviceDiscovery: ServiceDiscoveryResult,\n registryUrl: string,\n repository: string,\n ): Promise<ReleaseResult> {\n const backendURL = createSDBackendURL(\n registryUrl,\n 'providers.v1',\n serviceDiscovery,\n repository,\n );\n const res = (\n await this.http.getJsonUnchecked<TerraformProvider>(backendURL)\n ).body;\n const dep: ReleaseResult = {\n releases: res.versions.map((version) => ({\n version,\n })),\n };\n if (res.source) {\n dep.sourceUrl = res.source;\n }\n // set published date for latest release\n const latestVersion = dep.releases.find(\n (release) => res.version === release.version,\n );\n // istanbul ignore else\n if (latestVersion) {\n latestVersion.releaseTimestamp = asTimestamp(res.published_at);\n }\n dep.homepage = `${registryUrl}/providers/${repository}`;\n return dep;\n }\n\n /**\n * this version uses the Provider Registry Protocol that all registries are required to implement\n * https://www.terraform.io/internals/provider-registry-protocol\n */\n private async queryRegistryVersions(\n serviceDiscovery: ServiceDiscoveryResult,\n registryUrl: string,\n repository: string,\n ): Promise<ReleaseResult> {\n const backendURL = createSDBackendURL(\n registryUrl,\n 'providers.v1',\n serviceDiscovery,\n `${repository}/versions`,\n );\n const res = (\n await this.http.getJsonUnchecked<TerraformProviderVersions>(backendURL)\n ).body;\n const dep: ReleaseResult = {\n releases: res.versions.map(({ version }) => ({\n version,\n })),\n };\n return dep;\n }\n\n private async queryReleaseBackend(\n packageName: string,\n registryURL: string,\n ): Promise<ReleaseResult | null> {\n const hashicorpPackage = packageName.replace('hashicorp/', '');\n const backendLookUpName = `terraform-provider-${hashicorpPackage}`;\n const backendURL = joinUrlParts(\n registryURL,\n backendLookUpName,\n `index.json`,\n );\n const res = (\n await this.http.getJsonUnchecked<TerraformProviderReleaseBackend>(\n backendURL,\n )\n ).body;\n\n const dep: ReleaseResult = {\n releases: Object.keys(res.versions).map((version) => ({\n version,\n })),\n sourceUrl: joinUrlParts(\n 'https://github.com/terraform-providers',\n backendLookUpName,\n ),\n };\n return dep;\n }\n\n @cache({\n namespace: `datasource-${TerraformProviderDatasource.id}`,\n key: (registryURL: string, repository: string, version: string) =>\n `getBuilds:${registryURL}/${repository}/${version}`,\n })\n async getBuilds(\n registryURL: string,\n repository: string,\n version: string,\n ): Promise<TerraformBuild[] | null> {\n if (registryURL === TerraformProviderDatasource.defaultRegistryUrls[1]) {\n // check if registryURL === secondary backend\n const repositoryRegexResult =\n TerraformProviderDatasource.repositoryRegex.exec(repository)?.groups;\n if (!repositoryRegexResult) {\n // non hashicorp builds are not supported with releases.hashicorp.com\n return null;\n }\n const packageName = repositoryRegexResult.packageName;\n const backendLookUpName = `terraform-provider-${packageName}`;\n let versionReleaseBackend: VersionDetailResponse;\n try {\n versionReleaseBackend = await this.getReleaseBackendIndex(\n backendLookUpName,\n version,\n );\n } catch (err) {\n /* istanbul ignore next */\n if (err instanceof ExternalHostError) {\n throw err;\n }\n logger.debug(\n { err, backendLookUpName, version },\n `Failed to retrieve builds for ${backendLookUpName} ${version}`,\n );\n return null;\n }\n return versionReleaseBackend.builds;\n }\n\n // check public or private Terraform registry\n const serviceDiscovery =\n await this.getTerraformServiceDiscoveryResult(registryURL);\n if (!serviceDiscovery) {\n logger.trace(`Failed to retrieve service discovery from ${registryURL}`);\n return null;\n }\n const backendURL = createSDBackendURL(\n registryURL,\n 'providers.v1',\n serviceDiscovery,\n repository,\n );\n const versionsResponse = (\n await this.http.getJsonUnchecked<TerraformRegistryVersions>(\n `${backendURL}/versions`,\n )\n ).body;\n if (!versionsResponse.versions) {\n logger.trace(`Failed to retrieve version list for ${backendURL}`);\n return null;\n }\n const builds = versionsResponse.versions.find(\n (value) => value.version === version,\n );\n if (!builds) {\n logger.trace(\n `No builds found for ${repository}:${version} on ${registryURL}`,\n );\n return null;\n }\n const result = await p.map(\n builds.platforms,\n async (platform) => {\n const buildURL = `${backendURL}/${version}/download/${platform.os}/${platform.arch}`;\n try {\n const res = (\n await this.http.getJsonUnchecked<TerraformRegistryBuildResponse>(\n buildURL,\n )\n ).body;\n const newBuild: TerraformBuild = {\n name: repository,\n url: res.download_url,\n version,\n ...res,\n };\n return newBuild;\n } catch (err) {\n /* istanbul ignore next */\n if (err instanceof ExternalHostError) {\n throw err;\n }\n logger.debug({ err, url: buildURL }, 'Failed to retrieve build');\n return null;\n }\n },\n { concurrency: 4 },\n );\n\n const filteredResult = result.filter(is.truthy);\n return filteredResult.length === result.length ? filteredResult : null;\n }\n\n @cache({\n namespace: `datasource-${TerraformProviderDatasource.id}`,\n key: (zipHashUrl: string) => `getZipHashes:${zipHashUrl}`,\n })\n async getZipHashes(zipHashUrl: string): Promise<string[] | undefined> {\n // The hashes are formatted as the result of sha256sum in plain text, each line: <hash>\\t<filename>\n let rawHashData: string;\n try {\n rawHashData = (await this.http.getText(zipHashUrl)).body;\n } catch (err) {\n /* istanbul ignore next */\n if (err instanceof ExternalHostError) {\n throw err;\n }\n logger.debug(\n { err, zipHashUrl },\n `Failed to retrieve zip hashes from ${zipHashUrl}`,\n );\n return undefined;\n }\n\n return rawHashData\n .trimEnd()\n .split('\\n')\n .map((line) => line.split(/\\s/)[0]);\n }\n\n @cache({\n namespace: `datasource-${TerraformProviderDatasource.id}`,\n key: (backendLookUpName: string, version: string) =>\n `getReleaseBackendIndex:${backendLookUpName}/${version}`,\n })\n async getReleaseBackendIndex(\n backendLookUpName: string,\n version: string,\n ): Promise<VersionDetailResponse> {\n return (\n await this.http.getJsonUnchecked<VersionDetailResponse>(\n `${TerraformProviderDatasource.defaultRegistryUrls[1]}/${backendLookUpName}/${version}/index.json`,\n )\n ).body;\n }\n}\n"]}
|
@@ -1,15 +1,18 @@
|
|
1
1
|
import { Datasource } from '../datasource';
|
2
2
|
import type { GetReleasesConfig, ReleaseResult } from '../types';
|
3
3
|
export declare class Unity3dDatasource extends Datasource {
|
4
|
+
static readonly baseUrl = "https://services.api.unity.com/unity/editor/release/v1/releases";
|
4
5
|
static readonly homepage = "https://unity.com/";
|
5
6
|
static readonly streams: Record<string, string>;
|
7
|
+
static readonly legacyStreams: Record<string, string>;
|
6
8
|
static readonly id = "unity3d";
|
7
9
|
readonly defaultRegistryUrls: string[];
|
8
10
|
readonly defaultVersioning = "unity3d";
|
9
11
|
readonly registryStrategy = "merge";
|
10
12
|
readonly releaseTimestampSupport = true;
|
11
|
-
readonly releaseTimestampNote = "The release timestamp is determined from the `
|
13
|
+
readonly releaseTimestampNote = "The release timestamp is determined from the `releaseDate` field in the results.";
|
12
14
|
constructor();
|
15
|
+
translateStream(registryUrl: string): string;
|
13
16
|
getByStream(registryUrl: string | undefined, withHash: boolean): Promise<ReleaseResult | null>;
|
14
17
|
getReleases({ packageName, registryUrl, }: GetReleasesConfig): Promise<ReleaseResult | null>;
|
15
18
|
}
|
@@ -2,69 +2,63 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.Unity3dDatasource = void 0;
|
4
4
|
const tslib_1 = require("tslib");
|
5
|
-
const xmldoc_1 = require("xmldoc");
|
6
|
-
const logger_1 = require("../../../logger");
|
7
5
|
const decorator_1 = require("../../../util/cache/package/decorator");
|
8
6
|
const timestamp_1 = require("../../../util/timestamp");
|
9
7
|
const Unity3dVersioning = tslib_1.__importStar(require("../../versioning/unity3d"));
|
10
8
|
const datasource_1 = require("../datasource");
|
9
|
+
const schema_1 = require("./schema");
|
11
10
|
class Unity3dDatasource extends datasource_1.Datasource {
|
11
|
+
static baseUrl = 'https://services.api.unity.com/unity/editor/release/v1/releases';
|
12
12
|
static homepage = 'https://unity.com/';
|
13
13
|
static streams = {
|
14
|
+
lts: `${Unity3dDatasource.baseUrl}?stream=LTS`,
|
15
|
+
tech: `${Unity3dDatasource.baseUrl}?stream=TECH`,
|
16
|
+
alpha: `${Unity3dDatasource.baseUrl}?stream=ALPHA`,
|
17
|
+
beta: `${Unity3dDatasource.baseUrl}?stream=BETA`,
|
18
|
+
};
|
19
|
+
static legacyStreams = {
|
14
20
|
lts: `${Unity3dDatasource.homepage}releases/editor/lts-releases.xml`,
|
15
21
|
stable: `${Unity3dDatasource.homepage}releases/editor/releases.xml`,
|
16
22
|
beta: `${Unity3dDatasource.homepage}releases/editor/beta/latest.xml`,
|
17
23
|
};
|
18
24
|
static id = 'unity3d';
|
19
|
-
defaultRegistryUrls = [
|
20
|
-
Unity3dDatasource.streams.stable,
|
21
|
-
Unity3dDatasource.streams.lts,
|
22
|
-
];
|
25
|
+
defaultRegistryUrls = [Unity3dDatasource.streams.lts];
|
23
26
|
defaultVersioning = Unity3dVersioning.id;
|
24
27
|
registryStrategy = 'merge';
|
25
28
|
releaseTimestampSupport = true;
|
26
|
-
releaseTimestampNote = 'The release timestamp is determined from the `
|
29
|
+
releaseTimestampNote = 'The release timestamp is determined from the `releaseDate` field in the results.';
|
27
30
|
constructor() {
|
28
31
|
super(Unity3dDatasource.id);
|
29
32
|
}
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
catch (err) {
|
38
|
-
logger_1.logger.error({ err, registryUrl }, 'Failed to request releases from Unity3d datasource');
|
39
|
-
return null;
|
40
|
-
}
|
41
|
-
if (!channel) {
|
42
|
-
return {
|
43
|
-
releases: [],
|
44
|
-
homepage: Unity3dDatasource.homepage,
|
45
|
-
registryUrl,
|
46
|
-
};
|
33
|
+
translateStream(registryUrl) {
|
34
|
+
const legacyKey = Object.keys(Unity3dDatasource.legacyStreams).find((key) => Unity3dDatasource.legacyStreams[key] === registryUrl);
|
35
|
+
if (legacyKey) {
|
36
|
+
if (legacyKey === 'stable') {
|
37
|
+
return Unity3dDatasource.streams.lts;
|
38
|
+
}
|
39
|
+
return Unity3dDatasource.streams[legacyKey];
|
47
40
|
}
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
releaseTimestamp: (0, timestamp_1.asTimestamp)(itemNode.childNamed('pubDate')?.val),
|
56
|
-
changelogUrl: itemNode.childNamed('link')?.val,
|
57
|
-
isStable: registryUrl !== Unity3dDatasource.streams.beta,
|
58
|
-
registryUrl,
|
59
|
-
};
|
60
|
-
return release;
|
61
|
-
})
|
62
|
-
.filter((release) => !!release);
|
63
|
-
return {
|
64
|
-
releases,
|
41
|
+
return registryUrl;
|
42
|
+
}
|
43
|
+
async getByStream(registryUrl, withHash) {
|
44
|
+
const translatedRegistryUrl = this.translateStream(registryUrl);
|
45
|
+
const response = await this.http.getJson(translatedRegistryUrl, schema_1.UnityReleasesJSON);
|
46
|
+
const result = {
|
47
|
+
releases: [],
|
65
48
|
homepage: Unity3dDatasource.homepage,
|
66
|
-
registryUrl,
|
49
|
+
registryUrl: translatedRegistryUrl,
|
67
50
|
};
|
51
|
+
for (const release of response.body.results) {
|
52
|
+
result.releases.push({
|
53
|
+
version: withHash
|
54
|
+
? `${release.version} (${release.shortRevision})`
|
55
|
+
: release.version,
|
56
|
+
releaseTimestamp: (0, timestamp_1.asTimestamp)(release.releaseDate),
|
57
|
+
changelogUrl: release.releaseNotes.url,
|
58
|
+
isStable: translatedRegistryUrl === Unity3dDatasource.streams.lts,
|
59
|
+
});
|
60
|
+
}
|
61
|
+
return result;
|
68
62
|
}
|
69
63
|
async getReleases({ packageName, registryUrl, }) {
|
70
64
|
return await this.getByStream(registryUrl, packageName === 'm_EditorVersionWithRevision');
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/unity3d/index.ts"],"names":[],"mappings":";;;;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/unity3d/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { cache } from '../../../util/cache/package/decorator';\nimport { asTimestamp } from '../../../util/timestamp';\nimport * as Unity3dVersioning from '../../versioning/unity3d';\nimport { Datasource } from '../datasource';\nimport type { GetReleasesConfig, ReleaseResult } from '../types';\nimport { UnityReleasesJSON } from './schema';\n\nexport class Unity3dDatasource extends Datasource {\n static readonly baseUrl =\n 'https://services.api.unity.com/unity/editor/release/v1/releases';\n static readonly homepage = 'https://unity.com/';\n static readonly streams: Record<string, string> = {\n lts: `${Unity3dDatasource.baseUrl}?stream=LTS`,\n tech: `${Unity3dDatasource.baseUrl}?stream=TECH`,\n alpha: `${Unity3dDatasource.baseUrl}?stream=ALPHA`,\n beta: `${Unity3dDatasource.baseUrl}?stream=BETA`,\n };\n static readonly legacyStreams: Record<string, string> = {\n lts: `${Unity3dDatasource.homepage}releases/editor/lts-releases.xml`,\n stable: `${Unity3dDatasource.homepage}releases/editor/releases.xml`,\n beta: `${Unity3dDatasource.homepage}releases/editor/beta/latest.xml`,\n };\n\n static readonly id = 'unity3d';\n\n override readonly defaultRegistryUrls = [Unity3dDatasource.streams.lts];\n\n override readonly defaultVersioning = Unity3dVersioning.id;\n\n override readonly registryStrategy = 'merge';\n\n override readonly releaseTimestampSupport = true;\n override readonly releaseTimestampNote =\n 'The release timestamp is determined from the `releaseDate` field in the results.';\n\n constructor() {\n super(Unity3dDatasource.id);\n }\n\n translateStream(registryUrl: string): string {\n const legacyKey = Object.keys(Unity3dDatasource.legacyStreams).find(\n (key) => Unity3dDatasource.legacyStreams[key] === registryUrl,\n );\n\n if (legacyKey) {\n if (legacyKey === 'stable') {\n return Unity3dDatasource.streams.lts;\n }\n\n return Unity3dDatasource.streams[legacyKey];\n }\n\n return registryUrl;\n }\n\n async getByStream(\n registryUrl: string | undefined,\n withHash: boolean,\n ): Promise<ReleaseResult | null> {\n const translatedRegistryUrl = this.translateStream(registryUrl!);\n\n const response = await this.http.getJson(\n translatedRegistryUrl,\n UnityReleasesJSON,\n );\n\n const result: ReleaseResult = {\n releases: [],\n homepage: Unity3dDatasource.homepage,\n registryUrl: translatedRegistryUrl,\n };\n\n for (const release of response.body.results) {\n result.releases.push({\n version: withHash\n ? `${release.version} (${release.shortRevision})`\n : release.version,\n releaseTimestamp: asTimestamp(release.releaseDate),\n changelogUrl: release.releaseNotes.url,\n isStable: translatedRegistryUrl === Unity3dDatasource.streams.lts,\n });\n }\n\n return result;\n }\n\n @cache({\n namespace: `datasource-${Unity3dDatasource.id}`,\n key: ({ registryUrl, packageName }: GetReleasesConfig) =>\n `${registryUrl}:${packageName}`,\n })\n async getReleases({\n packageName,\n registryUrl,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n return await this.getByStream(\n registryUrl,\n packageName === 'm_EditorVersionWithRevision',\n );\n }\n}\n"]}
|
@@ -0,0 +1,47 @@
|
|
1
|
+
import { z } from 'zod';
|
2
|
+
export declare const UnityReleasesJSON: z.ZodObject<{
|
3
|
+
results: z.ZodArray<z.ZodObject<{
|
4
|
+
version: z.ZodString;
|
5
|
+
releaseDate: z.ZodString;
|
6
|
+
releaseNotes: z.ZodObject<{
|
7
|
+
url: z.ZodString;
|
8
|
+
}, "strip", z.ZodTypeAny, {
|
9
|
+
url: string;
|
10
|
+
}, {
|
11
|
+
url: string;
|
12
|
+
}>;
|
13
|
+
shortRevision: z.ZodString;
|
14
|
+
}, "strip", z.ZodTypeAny, {
|
15
|
+
version: string;
|
16
|
+
releaseDate: string;
|
17
|
+
releaseNotes: {
|
18
|
+
url: string;
|
19
|
+
};
|
20
|
+
shortRevision: string;
|
21
|
+
}, {
|
22
|
+
version: string;
|
23
|
+
releaseDate: string;
|
24
|
+
releaseNotes: {
|
25
|
+
url: string;
|
26
|
+
};
|
27
|
+
shortRevision: string;
|
28
|
+
}>, "many">;
|
29
|
+
}, "strip", z.ZodTypeAny, {
|
30
|
+
results: {
|
31
|
+
version: string;
|
32
|
+
releaseDate: string;
|
33
|
+
releaseNotes: {
|
34
|
+
url: string;
|
35
|
+
};
|
36
|
+
shortRevision: string;
|
37
|
+
}[];
|
38
|
+
}, {
|
39
|
+
results: {
|
40
|
+
version: string;
|
41
|
+
releaseDate: string;
|
42
|
+
releaseNotes: {
|
43
|
+
url: string;
|
44
|
+
};
|
45
|
+
shortRevision: string;
|
46
|
+
}[];
|
47
|
+
}>;
|
@@ -0,0 +1,17 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.UnityReleasesJSON = void 0;
|
4
|
+
const zod_1 = require("zod");
|
5
|
+
const UnityReleaseNote = zod_1.z.object({
|
6
|
+
url: zod_1.z.string(),
|
7
|
+
});
|
8
|
+
const UnityRelease = zod_1.z.object({
|
9
|
+
version: zod_1.z.string(),
|
10
|
+
releaseDate: zod_1.z.string(),
|
11
|
+
releaseNotes: UnityReleaseNote,
|
12
|
+
shortRevision: zod_1.z.string(),
|
13
|
+
});
|
14
|
+
exports.UnityReleasesJSON = zod_1.z.object({
|
15
|
+
results: UnityRelease.array(),
|
16
|
+
});
|
17
|
+
//# sourceMappingURL=schema.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/unity3d/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,MAAM,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IAChC,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;CAChB,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5B,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;IACvB,YAAY,EAAE,gBAAgB;IAC9B,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE;CAC1B,CAAC,CAAC;AAEU,QAAA,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IACxC,OAAO,EAAE,YAAY,CAAC,KAAK,EAAE;CAC9B,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\n\nconst UnityReleaseNote = z.object({\n url: z.string(),\n});\n\nconst UnityRelease = z.object({\n version: z.string(),\n releaseDate: z.string(),\n releaseNotes: UnityReleaseNote,\n shortRevision: z.string(),\n});\n\nexport const UnityReleasesJSON = z.object({\n results: UnityRelease.array(),\n});\n"]}
|
@@ -172,8 +172,8 @@ export declare const Application: z.ZodObject<z.objectUtil.extendShape<{
|
|
172
172
|
sources?: any[] | undefined;
|
173
173
|
}>;
|
174
174
|
}>, "strip", z.ZodTypeAny, {
|
175
|
-
kind: "Application";
|
176
175
|
apiVersion: string;
|
176
|
+
kind: "Application";
|
177
177
|
spec: {
|
178
178
|
source?: {
|
179
179
|
repoURL: string;
|
@@ -193,8 +193,8 @@ export declare const Application: z.ZodObject<z.objectUtil.extendShape<{
|
|
193
193
|
}[] | undefined;
|
194
194
|
};
|
195
195
|
}, {
|
196
|
-
kind: "Application";
|
197
196
|
apiVersion: string;
|
197
|
+
kind: "Application";
|
198
198
|
spec: {
|
199
199
|
source?: {
|
200
200
|
repoURL: string;
|
@@ -345,8 +345,8 @@ export declare const ApplicationSet: z.ZodObject<z.objectUtil.extendShape<{
|
|
345
345
|
};
|
346
346
|
}>;
|
347
347
|
}>, "strip", z.ZodTypeAny, {
|
348
|
-
kind: "ApplicationSet";
|
349
348
|
apiVersion: string;
|
349
|
+
kind: "ApplicationSet";
|
350
350
|
spec: {
|
351
351
|
template: {
|
352
352
|
spec: {
|
@@ -370,8 +370,8 @@ export declare const ApplicationSet: z.ZodObject<z.objectUtil.extendShape<{
|
|
370
370
|
};
|
371
371
|
};
|
372
372
|
}, {
|
373
|
-
kind: "ApplicationSet";
|
374
373
|
apiVersion: string;
|
374
|
+
kind: "ApplicationSet";
|
375
375
|
spec: {
|
376
376
|
template: {
|
377
377
|
spec: {
|
@@ -456,8 +456,8 @@ export declare const ApplicationDefinition: z.ZodUnion<[z.ZodObject<z.objectUtil
|
|
456
456
|
sources?: any[] | undefined;
|
457
457
|
}>;
|
458
458
|
}>, "strip", z.ZodTypeAny, {
|
459
|
-
kind: "Application";
|
460
459
|
apiVersion: string;
|
460
|
+
kind: "Application";
|
461
461
|
spec: {
|
462
462
|
source?: {
|
463
463
|
repoURL: string;
|
@@ -477,8 +477,8 @@ export declare const ApplicationDefinition: z.ZodUnion<[z.ZodObject<z.objectUtil
|
|
477
477
|
}[] | undefined;
|
478
478
|
};
|
479
479
|
}, {
|
480
|
-
kind: "Application";
|
481
480
|
apiVersion: string;
|
481
|
+
kind: "Application";
|
482
482
|
spec: {
|
483
483
|
source?: {
|
484
484
|
repoURL: string;
|
@@ -628,8 +628,8 @@ export declare const ApplicationDefinition: z.ZodUnion<[z.ZodObject<z.objectUtil
|
|
628
628
|
};
|
629
629
|
}>;
|
630
630
|
}>, "strip", z.ZodTypeAny, {
|
631
|
-
kind: "ApplicationSet";
|
632
631
|
apiVersion: string;
|
632
|
+
kind: "ApplicationSet";
|
633
633
|
spec: {
|
634
634
|
template: {
|
635
635
|
spec: {
|
@@ -653,8 +653,8 @@ export declare const ApplicationDefinition: z.ZodUnion<[z.ZodObject<z.objectUtil
|
|
653
653
|
};
|
654
654
|
};
|
655
655
|
}, {
|
656
|
-
kind: "ApplicationSet";
|
657
656
|
apiVersion: string;
|
657
|
+
kind: "ApplicationSet";
|
658
658
|
spec: {
|
659
659
|
template: {
|
660
660
|
spec: {
|
@@ -673,8 +673,8 @@ export declare const ApplicationDefinition: z.ZodUnion<[z.ZodObject<z.objectUtil
|
|
673
673
|
}>]>;
|
674
674
|
export type ApplicationDefinition = z.infer<typeof ApplicationDefinition>;
|
675
675
|
export declare const ApplicationDefinitionSchema: z.ZodPipeline<z.ZodEffects<z.ZodString, import("type-fest").JsonArray, string>, z.ZodEffects<z.ZodArray<z.ZodAny, "many">, ({
|
676
|
-
kind: "Application";
|
677
676
|
apiVersion: string;
|
677
|
+
kind: "Application";
|
678
678
|
spec: {
|
679
679
|
source?: {
|
680
680
|
repoURL: string;
|
@@ -694,8 +694,8 @@ export declare const ApplicationDefinitionSchema: z.ZodPipeline<z.ZodEffects<z.Z
|
|
694
694
|
}[] | undefined;
|
695
695
|
};
|
696
696
|
} | {
|
697
|
-
kind: "ApplicationSet";
|
698
697
|
apiVersion: string;
|
698
|
+
kind: "ApplicationSet";
|
699
699
|
spec: {
|
700
700
|
template: {
|
701
701
|
spec: {
|
@@ -1287,19 +1287,19 @@ export declare const Repository: z.ZodObject<{
|
|
1287
1287
|
name: z.ZodString;
|
1288
1288
|
ref: z.ZodOptional<z.ZodString>;
|
1289
1289
|
}, "strip", z.ZodTypeAny, {
|
1290
|
-
name: string;
|
1291
1290
|
type: "bitbucket" | "github" | "git";
|
1291
|
+
name: string;
|
1292
1292
|
ref?: string | undefined;
|
1293
1293
|
}, {
|
1294
|
-
name: string;
|
1295
1294
|
type: "bitbucket" | "github" | "git";
|
1295
|
+
name: string;
|
1296
1296
|
ref?: string | undefined;
|
1297
1297
|
}>;
|
1298
1298
|
export type Repository = z.infer<typeof Repository>;
|
1299
1299
|
export declare const Resources: z.ZodObject<{
|
1300
1300
|
repositories: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodAny, "many">, {
|
1301
|
-
name: string;
|
1302
1301
|
type: "bitbucket" | "github" | "git";
|
1302
|
+
name: string;
|
1303
1303
|
ref?: string | undefined;
|
1304
1304
|
}[], any[]>>;
|
1305
1305
|
containers: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodAny, "many">, {
|
@@ -1307,8 +1307,8 @@ export declare const Resources: z.ZodObject<{
|
|
1307
1307
|
}[], any[]>>;
|
1308
1308
|
}, "strip", z.ZodTypeAny, {
|
1309
1309
|
repositories?: {
|
1310
|
-
name: string;
|
1311
1310
|
type: "bitbucket" | "github" | "git";
|
1311
|
+
name: string;
|
1312
1312
|
ref?: string | undefined;
|
1313
1313
|
}[] | undefined;
|
1314
1314
|
containers?: {
|
@@ -1322,8 +1322,8 @@ export type Resources = z.infer<typeof Resources>;
|
|
1322
1322
|
export declare const AzurePipelines: z.ZodObject<{
|
1323
1323
|
resources: z.ZodOptional<z.ZodObject<{
|
1324
1324
|
repositories: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodAny, "many">, {
|
1325
|
-
name: string;
|
1326
1325
|
type: "bitbucket" | "github" | "git";
|
1326
|
+
name: string;
|
1327
1327
|
ref?: string | undefined;
|
1328
1328
|
}[], any[]>>;
|
1329
1329
|
containers: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodAny, "many">, {
|
@@ -1331,8 +1331,8 @@ export declare const AzurePipelines: z.ZodObject<{
|
|
1331
1331
|
}[], any[]>>;
|
1332
1332
|
}, "strip", z.ZodTypeAny, {
|
1333
1333
|
repositories?: {
|
1334
|
-
name: string;
|
1335
1334
|
type: "bitbucket" | "github" | "git";
|
1335
|
+
name: string;
|
1336
1336
|
ref?: string | undefined;
|
1337
1337
|
}[] | undefined;
|
1338
1338
|
containers?: {
|
@@ -1683,8 +1683,8 @@ export declare const AzurePipelines: z.ZodObject<{
|
|
1683
1683
|
})[] | undefined;
|
1684
1684
|
resources?: {
|
1685
1685
|
repositories?: {
|
1686
|
-
name: string;
|
1687
1686
|
type: "bitbucket" | "github" | "git";
|
1687
|
+
name: string;
|
1688
1688
|
ref?: string | undefined;
|
1689
1689
|
}[] | undefined;
|
1690
1690
|
containers?: {
|
@@ -1816,8 +1816,8 @@ export type AzurePipelines = z.infer<typeof AzurePipelines>;
|
|
1816
1816
|
export declare const AzurePipelinesYaml: z.ZodPipeline<z.ZodEffects<z.ZodString, string | number | boolean | import("type-fest").JsonObject | import("type-fest").JsonValue[] | readonly import("type-fest").JsonValue[] | null, string>, z.ZodObject<{
|
1817
1817
|
resources: z.ZodOptional<z.ZodObject<{
|
1818
1818
|
repositories: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodAny, "many">, {
|
1819
|
-
name: string;
|
1820
1819
|
type: "bitbucket" | "github" | "git";
|
1820
|
+
name: string;
|
1821
1821
|
ref?: string | undefined;
|
1822
1822
|
}[], any[]>>;
|
1823
1823
|
containers: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodAny, "many">, {
|
@@ -1825,8 +1825,8 @@ export declare const AzurePipelinesYaml: z.ZodPipeline<z.ZodEffects<z.ZodString,
|
|
1825
1825
|
}[], any[]>>;
|
1826
1826
|
}, "strip", z.ZodTypeAny, {
|
1827
1827
|
repositories?: {
|
1828
|
-
name: string;
|
1829
1828
|
type: "bitbucket" | "github" | "git";
|
1829
|
+
name: string;
|
1830
1830
|
ref?: string | undefined;
|
1831
1831
|
}[] | undefined;
|
1832
1832
|
containers?: {
|
@@ -2177,8 +2177,8 @@ export declare const AzurePipelinesYaml: z.ZodPipeline<z.ZodEffects<z.ZodString,
|
|
2177
2177
|
})[] | undefined;
|
2178
2178
|
resources?: {
|
2179
2179
|
repositories?: {
|
2180
|
-
name: string;
|
2181
2180
|
type: "bitbucket" | "github" | "git";
|
2181
|
+
name: string;
|
2182
2182
|
ref?: string | undefined;
|
2183
2183
|
}[] | undefined;
|
2184
2184
|
containers?: {
|
@@ -4,31 +4,31 @@ export declare const BatectConfigSchema: z.ZodEffects<z.ZodPipeline<z.ZodEffects
|
|
4
4
|
containers: z.ZodCatch<z.ZodEffects<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, string>, Record<string, any>>, string[], Record<string, any>>>;
|
5
5
|
include: z.ZodCatch<z.ZodEffects<z.ZodArray<z.ZodAny, "many">, ({
|
6
6
|
type: "git";
|
7
|
-
ref: string;
|
8
7
|
repo: string;
|
8
|
+
ref: string;
|
9
9
|
} | {
|
10
|
-
type: "file";
|
11
10
|
path: string;
|
11
|
+
type: "file";
|
12
12
|
} | {
|
13
13
|
type: "file";
|
14
14
|
path: string;
|
15
15
|
})[], any[]>>;
|
16
16
|
}, "strip", z.ZodTypeAny, {
|
17
|
+
containers: string[];
|
17
18
|
include: ({
|
18
19
|
type: "git";
|
19
|
-
ref: string;
|
20
20
|
repo: string;
|
21
|
+
ref: string;
|
21
22
|
} | {
|
22
|
-
type: "file";
|
23
23
|
path: string;
|
24
|
+
type: "file";
|
24
25
|
} | {
|
25
26
|
type: "file";
|
26
27
|
path: string;
|
27
28
|
})[];
|
28
|
-
containers: string[];
|
29
29
|
}, {
|
30
|
-
include?: unknown;
|
31
30
|
containers?: unknown;
|
31
|
+
include?: unknown;
|
32
32
|
}>>, {
|
33
33
|
imageDependencies: PackageDependency<Record<string, any>>[];
|
34
34
|
bundleDependencies: PackageDependency<Record<string, any>>[];
|
@@ -7,7 +7,7 @@ const http = new http_1.Http('batect-wrapper');
|
|
7
7
|
async function updateArtifact(path, fileName, version) {
|
8
8
|
const url = `https://github.com/batect/batect/releases/download/${version}/${fileName}`;
|
9
9
|
try {
|
10
|
-
const response = await http.
|
10
|
+
const response = await http.getText(url);
|
11
11
|
const contents = response.body;
|
12
12
|
return {
|
13
13
|
file: { type: 'addition', path, contents },
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/batect-wrapper/artifacts.ts"],"names":[],"mappings":";;AAgCA,0CAcC;AA9CD,4CAAyC;AACzC,6CAA0C;AAG1C,MAAM,IAAI,GAAG,IAAI,WAAI,CAAC,gBAAgB,CAAC,CAAC;AAExC,KAAK,UAAU,cAAc,CAC3B,IAAY,EACZ,QAAgB,EAChB,OAAe;IAEf,MAAM,GAAG,GAAG,sDAAsD,OAAO,IAAI,QAAQ,EAAE,CAAC;IAExF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,
|
1
|
+
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/batect-wrapper/artifacts.ts"],"names":[],"mappings":";;AAgCA,0CAcC;AA9CD,4CAAyC;AACzC,6CAA0C;AAG1C,MAAM,IAAI,GAAG,IAAI,WAAI,CAAC,gBAAgB,CAAC,CAAC;AAExC,KAAK,UAAU,cAAc,CAC3B,IAAY,EACZ,QAAgB,EAChB,OAAe;IAEf,MAAM,GAAG,GAAG,sDAAsD,OAAO,IAAI,QAAQ,EAAE,CAAC;IAExF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;QAE/B,OAAO;YACL,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC3C,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,gBAAgB,GAAW,GAAG,CAAC,QAAQ,EAAE,CAAC;QAEhD,OAAO;YACL,aAAa,EAAE;gBACb,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,YAAY,GAAG,YAAY,gBAAgB,EAAE;aACtD;SACF,CAAC;IACJ,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,eAAe,CAAC,EACpC,eAAe,EACf,MAAM,GACS;IACf,MAAM,OAAO,GAAG,MAAM,CAAC,UAAW,CAAC;IAEnC,eAAM,CAAC,KAAK,CACV,uCAAuC,eAAe,OAAO,OAAO,EAAE,CACvE,CAAC;IAEF,OAAO;QACL,MAAM,cAAc,CAAC,eAAe,EAAE,QAAQ,EAAE,OAAO,CAAC;QACxD,MAAM,cAAc,CAAC,GAAG,eAAe,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC;KACtE,CAAC;AACJ,CAAC","sourcesContent":["import { logger } from '../../../logger';\nimport { Http } from '../../../util/http';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\n\nconst http = new Http('batect-wrapper');\n\nasync function updateArtifact(\n path: string,\n fileName: string,\n version: string,\n): Promise<UpdateArtifactsResult> {\n const url = `https://github.com/batect/batect/releases/download/${version}/${fileName}`;\n\n try {\n const response = await http.getText(url);\n const contents = response.body;\n\n return {\n file: { type: 'addition', path, contents },\n };\n } catch (err) {\n const errorDescription: string = err.toString();\n\n return {\n artifactError: {\n lockFile: path,\n stderr: `HTTP GET ${url} failed: ${errorDescription}`,\n },\n };\n }\n}\n\nexport async function updateArtifacts({\n packageFileName,\n config,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n const version = config.newVersion!;\n\n logger.debug(\n `Updating Batect wrapper scripts for ${packageFileName} to ${version}`,\n );\n\n return [\n await updateArtifact(packageFileName, 'batect', version),\n await updateArtifact(`${packageFileName}.cmd`, 'batect.cmd', version),\n ];\n}\n"]}
|
@@ -9,24 +9,24 @@ export declare const DockerTarget: z.ZodEffects<z.ZodObject<{
|
|
9
9
|
repository: z.ZodString;
|
10
10
|
registry: z.ZodString;
|
11
11
|
}, "strip", z.ZodTypeAny, {
|
12
|
-
name: string;
|
13
|
-
registry: string;
|
14
|
-
tag: string;
|
15
12
|
repository: string;
|
16
13
|
digest: string;
|
17
|
-
rule: "container_pull" | "_container_pull";
|
18
|
-
}, {
|
19
14
|
name: string;
|
20
|
-
registry: string;
|
21
15
|
tag: string;
|
16
|
+
registry: string;
|
17
|
+
rule: "container_pull" | "_container_pull";
|
18
|
+
}, {
|
22
19
|
repository: string;
|
23
20
|
digest: string;
|
24
|
-
rule: "container_pull" | "_container_pull";
|
25
|
-
}>, PackageDependency<Record<string, any>>[], {
|
26
21
|
name: string;
|
27
|
-
registry: string;
|
28
22
|
tag: string;
|
23
|
+
registry: string;
|
24
|
+
rule: "container_pull" | "_container_pull";
|
25
|
+
}>, PackageDependency<Record<string, any>>[], {
|
29
26
|
repository: string;
|
30
27
|
digest: string;
|
28
|
+
name: string;
|
29
|
+
tag: string;
|
30
|
+
registry: string;
|
31
31
|
rule: "container_pull" | "_container_pull";
|
32
32
|
}>;
|