renovate 40.31.1 → 40.32.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/modules/manager/asdf/upgradeable-tooling.js +8 -0
- package/dist/modules/manager/asdf/upgradeable-tooling.js.map +1 -1
- package/dist/modules/manager/fingerprint.generated.js +1 -1
- package/dist/modules/manager/fingerprint.generated.js.map +1 -1
- package/dist/modules/platform/default-scm.js +1 -1
- package/dist/modules/platform/default-scm.js.map +1 -1
- package/dist/util/git/index.d.ts +1 -0
- package/dist/util/git/index.js +19 -13
- package/dist/util/git/index.js.map +1 -1
- package/dist/workers/repository/package-files.js +11 -1
- package/dist/workers/repository/package-files.js.map +1 -1
- package/package.json +2 -2
@@ -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"]}
|
@@ -5,7 +5,7 @@ exports.hashMap = new Map();
|
|
5
5
|
exports.hashMap.set('ansible', '4c234d79f768392545924fa9b139f8d177f15b6aa46776cf063860a1d36e48c7');
|
6
6
|
exports.hashMap.set('ansible-galaxy', 'a211e40f5c8613986ac16bc8d5389ea23d145cd643091d1b951a7f65926e99ff');
|
7
7
|
exports.hashMap.set('argocd', '37faccd3854254a2009d963f781e77cf6e5aca3719ffd7cae1fea3d02c153eed');
|
8
|
-
exports.hashMap.set('asdf', '
|
8
|
+
exports.hashMap.set('asdf', 'bc61cde93afa980f95afdba226b947a5a8784f8dc519c14119723d75956a2d96');
|
9
9
|
exports.hashMap.set('azure-pipelines', '0b741b2629f6d94589524ce9b3886765e5c5648c9b6d707bb0b5fede276f9c09');
|
10
10
|
exports.hashMap.set('batect', '523e8d7a309b4814a02819371313b2dac3764eab64cabfaf1d58b6e89de4ce43');
|
11
11
|
exports.hashMap.set('batect-wrapper', '90941650f810adb3d7abe476da7221ff3434aa9d09ffc3d310e35108f360f364');
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"fingerprint.generated.js","sourceRoot":"","sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"names":[],"mappings":"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","sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','4c234d79f768392545924fa9b139f8d177f15b6aa46776cf063860a1d36e48c7');\nhashMap.set('ansible-galaxy','a211e40f5c8613986ac16bc8d5389ea23d145cd643091d1b951a7f65926e99ff');\nhashMap.set('argocd','37faccd3854254a2009d963f781e77cf6e5aca3719ffd7cae1fea3d02c153eed');\nhashMap.set('asdf','d4b167265b656f5eb744084dd094c67e699940ddaacb53de30cd5c67e54b6b1d');\nhashMap.set('azure-pipelines','0b741b2629f6d94589524ce9b3886765e5c5648c9b6d707bb0b5fede276f9c09');\nhashMap.set('batect','523e8d7a309b4814a02819371313b2dac3764eab64cabfaf1d58b6e89de4ce43');\nhashMap.set('batect-wrapper','90941650f810adb3d7abe476da7221ff3434aa9d09ffc3d310e35108f360f364');\nhashMap.set('bazel','699577431cada5c8621a238b8f80f0983ee0ed7eac92f93467b5bf8f007e9cda');\nhashMap.set('bazel-module','5b1238473990e1ff5c100d610f871f43bd404a8141b51a9d486faf67a3814538');\nhashMap.set('bazelisk','6fbef61d534724ff259ea6e4fc1cd0a3d5a46d740c375128fa59b225daddd39f');\nhashMap.set('bicep','fbbd74998411012cfba829526701109d1fc184ade0cb11a28e4ca2956174b0f1');\nhashMap.set('bitbucket-pipelines','98c0d715a7eb4e41b8231091b83385f325966373f37dc7d6bc10b1febb6f605e');\nhashMap.set('bitrise','d18d2dcd356e19c4cd94912511a88636198c23b64e54f31da273be11044970cf');\nhashMap.set('buildkite','ac713ce38da057ff3ceb08d092291356dfc74f5b33b75f010bb9db1a211439c0');\nhashMap.set('buildpacks','cc8bbe937416a012df36a5c7ab01ae3cdedbed03615549bbe9f0f27fa40a150b');\nhashMap.set('bun','2b157003f37572d579d6ab95f1c45fad0afe58d2239dad2fbfdc5acf81131a4b');\nhashMap.set('bun-version','49194d7fcb6b7bdd7e7a1264f71532bb2be8142d48478bf74716f7a9d4b306b9');\nhashMap.set('bundler','4cd7892c5c7ab98d254f24a0e62c0f637c8958aebb451158a81656d6be8d6662');\nhashMap.set('cake','a04160b352550cb470acb62f9a532361842c12f2ffbcd473bffca3de024522d9');\nhashMap.set('cargo','62650a1dfa15569c1dbd798a81886e3e78165a4c22f333a70ea93e4a385c8837');\nhashMap.set('cdnurl','70281459e771df007787fc25dba16e4d5109865f97209dcf4f572ddd287d538a');\nhashMap.set('circleci','c7c7a1b71385f0ea7cf1e9fc24c37a1d5dabf13d6952e1e3b2179861b55f4e44');\nhashMap.set('cloudbuild','e4f926bfb907220e97dce98335837c52b4e0fe66d813593a7e572736acfc53f7');\nhashMap.set('cocoapods','c2695071e5aaec8178e29615b6dc1cdf9cc68c5d73d5d88b54fed41e6aaec832');\nhashMap.set('composer','738901dde9bbdafc2372f30c4daf61f37d5337eaa2501d85abd1ba19bc1d3fac');\nhashMap.set('conan','7a5d054f43548ce08a428637ad1fe62796f635cabbca5e8c9cecfd629514cfce');\nhashMap.set('copier','6fa1b4898a64ca780d933728ddc8876014c6f0dea7a2ab2f84b832e8bf4df408');\nhashMap.set('cpanfile','9b354db9666eee2485b27e44a6e61eaadc86ec2f2c6af9bb7bbc9fab54f31642');\nhashMap.set('crossplane','76261ff27b38f9850ee1a3a7e95168abefd96b4736f2cf04a7343e16827b42d8');\nhashMap.set('deps-edn','4e4b76596229f23524086c1dca79c52159ae3ec094e28d8a59bd8a1926458046');\nhashMap.set('devbox','7acedf4c5d3bef2f6c75c8b490c47f18fb03597680b46e4670ae5fe6f9873960');\nhashMap.set('devcontainer','e9982b5ff8aeac8fefb40dc363d3ab35f58af8c08b91eb45d22937a8c60447bb');\nhashMap.set('docker-compose','39189def818fcafbd25114ad4905e30695e3e9b6e280b7d24390385ac36b2512');\nhashMap.set('dockerfile','0bddc097addf84db6aa48d985567f247ca89affe1265ac09e6cd9635f61710f9');\nhashMap.set('droneci','f2a98fcece07b462baaceb28cd6904e080cb1ab0727fcd7403bea5ffd2e05239');\nhashMap.set('fleet','642e8e7ab739fba65bce7222b6f3e80fe44806c4190c8e93c5bcab23d44e9fd4');\nhashMap.set('flux','3b87b351f98c11ca0e6cb275deb708dc9bf601a7e578f7a3a7e83fe6e15eb540');\nhashMap.set('fvm','aa154dd5ffe3caced30713a9a55967360b7a0f35edd2fc06bd6f3e73c5c87570');\nhashMap.set('git-submodules','d49d744fffb965dea648af37ea16591b4a0ecf32c4f103b04f4555b58d0f3573');\nhashMap.set('github-actions','2398b1deb9e435b4f99ed353ebe6c4254f1976be23d7140d4bfd672c2cd34098');\nhashMap.set('gitlabci','1bad97e9892ea652b6522154d521aa91b299c52e5618943f04e65f78031a13a9');\nhashMap.set('gitlabci-include','5bc01de9b40ecc8888a37690152f4a2f9cacc509b9cb5902aac024ca7a7c8e65');\nhashMap.set('glasskube','fd415356a866ad174a5b70522d662e4289a2c5d5e34c55d57542b0d8968f1645');\nhashMap.set('gleam','a770dca6b63d34d1a5d7fc63130d5e030aac999d6a3398b8460bdf6f62e9a81e');\nhashMap.set('gomod','c3dafbc3c9c21af83d32309718c208289e021dd37b2c6e1db31238b756ab9958');\nhashMap.set('gradle','1333dfc2e7dbe276006716de76b757d99385748a36bd8d434d6d160f013c9715');\nhashMap.set('gradle-wrapper','f98404470f93f59794d0fc242779559d5a9d8751f5abc40cb61a49cd0652b1b4');\nhashMap.set('haskell-cabal','a2bf118238529952d0f2f352112dfbc86fb5533ef819625161a130f39c8ca713');\nhashMap.set('helm-requirements','8f643d415ab0cfbef05bce4dce9812eef47bddb7b8b67a191e6a4230489e652f');\nhashMap.set('helm-values','fbd4a0b4bdda8a71dc38ac8916287f73e2b7de5ef122096a5b5d525c1a3306cd');\nhashMap.set('helmfile','ee6a6cfb5680f8f896a2f7ac3d68770b300cfd0a4b75a7ca7edb4e1c1f51b7a2');\nhashMap.set('helmsman','734fa89740fd5140ca3e39204872aba3451c05cd17f0b5e2b635934ed7b1710b');\nhashMap.set('helmv3','d83cb78e03ba014f167aff522c2f70bc933bf046affa0196aaee0ed54383e019');\nhashMap.set('hermit','5d6fe831c5abf4e2439da1cf24648ccb5a099b66fc965af68134a67418202fa1');\nhashMap.set('homebrew','4b05428b846b8a7c260a41500cc14938cca8e7d5df0e2510050f95718f6f823f');\nhashMap.set('html','226a9084e10ebf754906386159db08667394f5432105249bdb30d9c60af9fb56');\nhashMap.set('jenkins','309db014e3590e1cd6d53ede2755395c82e5cd4b880425daf52a6ab60e0d6a42');\nhashMap.set('jsonnet-bundler','83c3b9f3c6903929f6842bafc8219437dc822005505b64ed2cb6e63babc28dcb');\nhashMap.set('kotlin-script','60f8f714bb3aef5d7e3e91c67f658847ad2b01bfc044a2f0dd0798fccb5c7c30');\nhashMap.set('kubernetes','62cfa6c77593b48290f3c26a2f390c4bdfe8ab3cfb79e358b10d8aece689a999');\nhashMap.set('kustomize','b0a7444bde37c7ea3ad47062fddaf03892c7da4912b8c042e8c07dde182da46c');\nhashMap.set('leiningen','0598d2f53cfc92076d47186245a7b591d2b0df157609a7f55a37b54ab2d32a77');\nhashMap.set('maven','6b9eea76855c2d67037872fbeb803af65ff026708061691f75ce0ab2239c1ff8');\nhashMap.set('maven-wrapper','56edbbfaf0844fc497de31159719ef5064389120a1a9ca85c0c67d5328c8ac81');\nhashMap.set('meteor','a9785d85b3520ed9e763c800730f36b95747795699758ecbe1395133c5b0040e');\nhashMap.set('mint','7072e37f18bb57500018406eb8711b2615b1916f073867f30653cdd4a99dab81');\nhashMap.set('mise','0521a383568cbe7a9e53cb95020d5f10cb289042c14383dcdea1f2c21d3c5d0e');\nhashMap.set('mix','9f506a6e42135fd299d240ac445996f414a502c01588107d7e65848b1368ee03');\nhashMap.set('nix','2630474b9fce0f0d3d8e27df4d86abd7564931e2eae3b4d54b3870bb712366f5');\nhashMap.set('nodenv','d159174d53e39af2013443cf86df88e14aac79a5a8d602180af229dcb2ddeda9');\nhashMap.set('npm','9286e0372838cadf7162c38c9a9ca113e2ffc8e03527fe83dd1466f0e35d3730');\nhashMap.set('nuget','e46f9986c7037ce0adf04bbee3e0cf7d844d82f52a3beda7205bc01246d155d3');\nhashMap.set('nvm','1928fd50bd6cc9f42d73262630056f2c0f8b0e061282bd02e58d116fc1788e2b');\nhashMap.set('ocb','55559051102728868b619820a6dc95753cdfbbb8aed46840e53db6733bc2ede4');\nhashMap.set('osgi','dae012cd486843eb53da4b032105e54d18f4e7537bd59c5321313950dd108a95');\nhashMap.set('pep621','88db31ca9bddf85c58e420e22bb831f4e750281b9d976271195c1e746ccb4fd5');\nhashMap.set('pep723','bf07d466ea1bc9513c8d2cb475fcca3bc9b61f2184bd9af0a7a28d45b6f57ecd');\nhashMap.set('pip-compile','ae04fc449e79eefe95aa15553b6a6bebd417f3ca3251b37121e17503c808a2ac');\nhashMap.set('pip_requirements','70bfe70544e29f3c7fdbc2261efcebcaf8836e92bd21da35c379c9f4573ff43b');\nhashMap.set('pip_setup','31b330d9666d61474326a761a3ce1479f9a189ef6838ecfee78843ff4c80af73');\nhashMap.set('pipenv','823f1652628a6ce17943fe24a187aa2faa77d21e0aa001d3f8b0f9cd93a74ba9');\nhashMap.set('pixi','e209242b0dc2e6d57bcdec8f6a6f577db249ecb5eba1afea429cb1ff023a90d8');\nhashMap.set('poetry','f520b329d6b408fa727b0fe82bf464caed8525c3a2b12a746e95ce00e32c2129');\nhashMap.set('pre-commit','a881d191bd52396ea815e60a49b047f0f073e5a567c863829efbab32610bfa40');\nhashMap.set('pub','8e80b151d76db21808ddc36532e46fc657d0f8b7925943f1d13ceb19b1e061a3');\nhashMap.set('puppet','34f7e3916780e8ed352b65864bad91bf66547e29f91ee8fca7fd6e8fcd2621fd');\nhashMap.set('pyenv','4e520570d9a1407864aa7c5461d4008372d889254067e405cee2212d0ef8990b');\nhashMap.set('renovate-config-presets','27f100d67e2a1ad20cfd4aa3f1db1f1c34f62910929695f381160b3835a7fa65');\nhashMap.set('ruby-version','4aac2178a20ccdf8136363030e5156017f3d44368b4192b3280997df596dcacc');\nhashMap.set('runtime-version','dbf80ce2a5f07dd34bc9a008159b4f08052cc6fd0d92cbd2aeb0026c8008fa72');\nhashMap.set('sbt','dc1ec4aeeb5e012c7a595478873ad67e2dee6e2af951b12b9e9057cb64f2258d');\nhashMap.set('scalafmt','8a54fef703269ed31ce28887e62b0b838a13359e86fa77c7f4dceb89fda0f352');\nhashMap.set('setup-cfg','9a778d8a58f643fff1d23d750dfebed21e45bce99bfdcdc3de39795a407d983f');\nhashMap.set('sveltos','a69f9e206526af08685e20a72344b22d856f2effd882e67333a153a989a0a047');\nhashMap.set('swift','4866ba3e6d6e9288ae9e3a11ef673b36d1d78360e21d8266ae3a945b8683d669');\nhashMap.set('tekton','eb8fb6a25ca7fd0d304f67d5ab2e93ddd8b34854553130003ce3340ca7b3bba1');\nhashMap.set('terraform','bb83f8ec4e9b153a7714b52c078f9cab39e92c19520aa08b842580419d510eec');\nhashMap.set('terraform-version','b08480f326c45daf3daeccc2d2f593a723c30a50437a66ac2290d671b427a355');\nhashMap.set('terragrunt','9988ff56620548133596437cd4d03a689ab195dd1addc00bc6074c26455a6486');\nhashMap.set('terragrunt-version','45f221b13a193a42687f318e10cf1558079e28c970e91ce25c370f35f88f2f58');\nhashMap.set('tflint-plugin','40ab6d0c975ff0b8e42651c088e159afe9f0d0c43a1dbf7c1295ec03c77bdc7c');\nhashMap.set('travis','30174e78a6297e44db1c030ea2e111084e14b1eac220f522522c77d684a76285');\nhashMap.set('velaci','9ad5d5d2584b9c189c4edcd25ad9103926bd4ba850a419a3b5e4aba9682817c3');\nhashMap.set('vendir','e2584cb214854405fed0b0e5dd608b709df1d8dadb7b761723125182e166fb02');\nhashMap.set('woodpecker','eaaa0a3bcfd0dc60c0990f2a1d7acf19c4f86ce4641ab3cf0a31f2bf46fc61b8');\nhashMap.set('jsonata','ca3fa7cd5d446eab618371ebf8d5aea3e47a494231c5f93b08496b859e67a020');\nhashMap.set('regex','f855dba6f55cf7e571241a0b273d2b12d8968ff76a0eeb773d006346949b6053');"]}
|
1
|
+
{"version":3,"file":"fingerprint.generated.js","sourceRoot":"","sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEjD,eAAO,CAAC,GAAG,CAAC,SAAS,EAAC,kEAAkE,CAAC,CAAC;AAC1F,eAAO,CAAC,GAAG,CAAC,gBAAgB,EAAC,kEAAkE,CAAC,CAAC;AACjG,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,MAAM,EAAC,kEAAkE,CAAC,CAAC;AACvF,eAAO,CAAC,GAAG,CAAC,iBAAiB,EAAC,kEAAkE,CAAC,CAAC;AAClG,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,gBAAgB,EAAC,kEAAkE,CAAC,CAAC;AACjG,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,cAAc,EAAC,kEAAkE,CAAC,CAAC;AAC/F,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,qBAAqB,EAAC,kEAAkE,CAAC,CAAC;AACtG,eAAO,CAAC,GAAG,CAAC,SAAS,EAAC,kEAAkE,CAAC,CAAC;AAC1F,eAAO,CAAC,GAAG,CAAC,WAAW,EAAC,kEAAkE,CAAC,CAAC;AAC5F,eAAO,CAAC,GAAG,CAAC,YAAY,EAAC,kEAAkE,CAAC,CAAC;AAC7F,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,aAAa,EAAC,kEAAkE,CAAC,CAAC;AAC9F,eAAO,CAAC,GAAG,CAAC,SAAS,EAAC,kEAAkE,CAAC,CAAC;AAC1F,eAAO,CAAC,GAAG,CAAC,MAAM,EAAC,kEAAkE,CAAC,CAAC;AACvF,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,YAAY,EAAC,kEAAkE,CAAC,CAAC;AAC7F,eAAO,CAAC,GAAG,CAAC,WAAW,EAAC,kEAAkE,CAAC,CAAC;AAC5F,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,YAAY,EAAC,kEAAkE,CAAC,CAAC;AAC7F,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,cAAc,EAAC,kEAAkE,CAAC,CAAC;AAC/F,eAAO,CAAC,GAAG,CAAC,gBAAgB,EAAC,kEAAkE,CAAC,CAAC;AACjG,eAAO,CAAC,GAAG,CAAC,YAAY,EAAC,kEAAkE,CAAC,CAAC;AAC7F,eAAO,CAAC,GAAG,CAAC,SAAS,EAAC,kEAAkE,CAAC,CAAC;AAC1F,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,MAAM,EAAC,kEAAkE,CAAC,CAAC;AACvF,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,gBAAgB,EAAC,kEAAkE,CAAC,CAAC;AACjG,eAAO,CAAC,GAAG,CAAC,gBAAgB,EAAC,kEAAkE,CAAC,CAAC;AACjG,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,kBAAkB,EAAC,kEAAkE,CAAC,CAAC;AACnG,eAAO,CAAC,GAAG,CAAC,WAAW,EAAC,kEAAkE,CAAC,CAAC;AAC5F,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,gBAAgB,EAAC,kEAAkE,CAAC,CAAC;AACjG,eAAO,CAAC,GAAG,CAAC,eAAe,EAAC,kEAAkE,CAAC,CAAC;AAChG,eAAO,CAAC,GAAG,CAAC,mBAAmB,EAAC,kEAAkE,CAAC,CAAC;AACpG,eAAO,CAAC,GAAG,CAAC,aAAa,EAAC,kEAAkE,CAAC,CAAC;AAC9F,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,MAAM,EAAC,kEAAkE,CAAC,CAAC;AACvF,eAAO,CAAC,GAAG,CAAC,SAAS,EAAC,kEAAkE,CAAC,CAAC;AAC1F,eAAO,CAAC,GAAG,CAAC,iBAAiB,EAAC,kEAAkE,CAAC,CAAC;AAClG,eAAO,CAAC,GAAG,CAAC,eAAe,EAAC,kEAAkE,CAAC,CAAC;AAChG,eAAO,CAAC,GAAG,CAAC,YAAY,EAAC,kEAAkE,CAAC,CAAC;AAC7F,eAAO,CAAC,GAAG,CAAC,WAAW,EAAC,kEAAkE,CAAC,CAAC;AAC5F,eAAO,CAAC,GAAG,CAAC,WAAW,EAAC,kEAAkE,CAAC,CAAC;AAC5F,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,eAAe,EAAC,kEAAkE,CAAC,CAAC;AAChG,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,MAAM,EAAC,kEAAkE,CAAC,CAAC;AACvF,eAAO,CAAC,GAAG,CAAC,MAAM,EAAC,kEAAkE,CAAC,CAAC;AACvF,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,MAAM,EAAC,kEAAkE,CAAC,CAAC;AACvF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,aAAa,EAAC,kEAAkE,CAAC,CAAC;AAC9F,eAAO,CAAC,GAAG,CAAC,kBAAkB,EAAC,kEAAkE,CAAC,CAAC;AACnG,eAAO,CAAC,GAAG,CAAC,WAAW,EAAC,kEAAkE,CAAC,CAAC;AAC5F,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,MAAM,EAAC,kEAAkE,CAAC,CAAC;AACvF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,YAAY,EAAC,kEAAkE,CAAC,CAAC;AAC7F,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,yBAAyB,EAAC,kEAAkE,CAAC,CAAC;AAC1G,eAAO,CAAC,GAAG,CAAC,cAAc,EAAC,kEAAkE,CAAC,CAAC;AAC/F,eAAO,CAAC,GAAG,CAAC,iBAAiB,EAAC,kEAAkE,CAAC,CAAC;AAClG,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,WAAW,EAAC,kEAAkE,CAAC,CAAC;AAC5F,eAAO,CAAC,GAAG,CAAC,SAAS,EAAC,kEAAkE,CAAC,CAAC;AAC1F,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,WAAW,EAAC,kEAAkE,CAAC,CAAC;AAC5F,eAAO,CAAC,GAAG,CAAC,mBAAmB,EAAC,kEAAkE,CAAC,CAAC;AACpG,eAAO,CAAC,GAAG,CAAC,YAAY,EAAC,kEAAkE,CAAC,CAAC;AAC7F,eAAO,CAAC,GAAG,CAAC,oBAAoB,EAAC,kEAAkE,CAAC,CAAC;AACrG,eAAO,CAAC,GAAG,CAAC,eAAe,EAAC,kEAAkE,CAAC,CAAC;AAChG,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,YAAY,EAAC,kEAAkE,CAAC,CAAC;AAC7F,eAAO,CAAC,GAAG,CAAC,SAAS,EAAC,kEAAkE,CAAC,CAAC;AAC1F,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC","sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','4c234d79f768392545924fa9b139f8d177f15b6aa46776cf063860a1d36e48c7');\nhashMap.set('ansible-galaxy','a211e40f5c8613986ac16bc8d5389ea23d145cd643091d1b951a7f65926e99ff');\nhashMap.set('argocd','37faccd3854254a2009d963f781e77cf6e5aca3719ffd7cae1fea3d02c153eed');\nhashMap.set('asdf','bc61cde93afa980f95afdba226b947a5a8784f8dc519c14119723d75956a2d96');\nhashMap.set('azure-pipelines','0b741b2629f6d94589524ce9b3886765e5c5648c9b6d707bb0b5fede276f9c09');\nhashMap.set('batect','523e8d7a309b4814a02819371313b2dac3764eab64cabfaf1d58b6e89de4ce43');\nhashMap.set('batect-wrapper','90941650f810adb3d7abe476da7221ff3434aa9d09ffc3d310e35108f360f364');\nhashMap.set('bazel','699577431cada5c8621a238b8f80f0983ee0ed7eac92f93467b5bf8f007e9cda');\nhashMap.set('bazel-module','5b1238473990e1ff5c100d610f871f43bd404a8141b51a9d486faf67a3814538');\nhashMap.set('bazelisk','6fbef61d534724ff259ea6e4fc1cd0a3d5a46d740c375128fa59b225daddd39f');\nhashMap.set('bicep','fbbd74998411012cfba829526701109d1fc184ade0cb11a28e4ca2956174b0f1');\nhashMap.set('bitbucket-pipelines','98c0d715a7eb4e41b8231091b83385f325966373f37dc7d6bc10b1febb6f605e');\nhashMap.set('bitrise','d18d2dcd356e19c4cd94912511a88636198c23b64e54f31da273be11044970cf');\nhashMap.set('buildkite','ac713ce38da057ff3ceb08d092291356dfc74f5b33b75f010bb9db1a211439c0');\nhashMap.set('buildpacks','cc8bbe937416a012df36a5c7ab01ae3cdedbed03615549bbe9f0f27fa40a150b');\nhashMap.set('bun','2b157003f37572d579d6ab95f1c45fad0afe58d2239dad2fbfdc5acf81131a4b');\nhashMap.set('bun-version','49194d7fcb6b7bdd7e7a1264f71532bb2be8142d48478bf74716f7a9d4b306b9');\nhashMap.set('bundler','4cd7892c5c7ab98d254f24a0e62c0f637c8958aebb451158a81656d6be8d6662');\nhashMap.set('cake','a04160b352550cb470acb62f9a532361842c12f2ffbcd473bffca3de024522d9');\nhashMap.set('cargo','62650a1dfa15569c1dbd798a81886e3e78165a4c22f333a70ea93e4a385c8837');\nhashMap.set('cdnurl','70281459e771df007787fc25dba16e4d5109865f97209dcf4f572ddd287d538a');\nhashMap.set('circleci','c7c7a1b71385f0ea7cf1e9fc24c37a1d5dabf13d6952e1e3b2179861b55f4e44');\nhashMap.set('cloudbuild','e4f926bfb907220e97dce98335837c52b4e0fe66d813593a7e572736acfc53f7');\nhashMap.set('cocoapods','c2695071e5aaec8178e29615b6dc1cdf9cc68c5d73d5d88b54fed41e6aaec832');\nhashMap.set('composer','738901dde9bbdafc2372f30c4daf61f37d5337eaa2501d85abd1ba19bc1d3fac');\nhashMap.set('conan','7a5d054f43548ce08a428637ad1fe62796f635cabbca5e8c9cecfd629514cfce');\nhashMap.set('copier','6fa1b4898a64ca780d933728ddc8876014c6f0dea7a2ab2f84b832e8bf4df408');\nhashMap.set('cpanfile','9b354db9666eee2485b27e44a6e61eaadc86ec2f2c6af9bb7bbc9fab54f31642');\nhashMap.set('crossplane','76261ff27b38f9850ee1a3a7e95168abefd96b4736f2cf04a7343e16827b42d8');\nhashMap.set('deps-edn','4e4b76596229f23524086c1dca79c52159ae3ec094e28d8a59bd8a1926458046');\nhashMap.set('devbox','7acedf4c5d3bef2f6c75c8b490c47f18fb03597680b46e4670ae5fe6f9873960');\nhashMap.set('devcontainer','e9982b5ff8aeac8fefb40dc363d3ab35f58af8c08b91eb45d22937a8c60447bb');\nhashMap.set('docker-compose','39189def818fcafbd25114ad4905e30695e3e9b6e280b7d24390385ac36b2512');\nhashMap.set('dockerfile','0bddc097addf84db6aa48d985567f247ca89affe1265ac09e6cd9635f61710f9');\nhashMap.set('droneci','f2a98fcece07b462baaceb28cd6904e080cb1ab0727fcd7403bea5ffd2e05239');\nhashMap.set('fleet','642e8e7ab739fba65bce7222b6f3e80fe44806c4190c8e93c5bcab23d44e9fd4');\nhashMap.set('flux','3b87b351f98c11ca0e6cb275deb708dc9bf601a7e578f7a3a7e83fe6e15eb540');\nhashMap.set('fvm','aa154dd5ffe3caced30713a9a55967360b7a0f35edd2fc06bd6f3e73c5c87570');\nhashMap.set('git-submodules','d49d744fffb965dea648af37ea16591b4a0ecf32c4f103b04f4555b58d0f3573');\nhashMap.set('github-actions','2398b1deb9e435b4f99ed353ebe6c4254f1976be23d7140d4bfd672c2cd34098');\nhashMap.set('gitlabci','1bad97e9892ea652b6522154d521aa91b299c52e5618943f04e65f78031a13a9');\nhashMap.set('gitlabci-include','5bc01de9b40ecc8888a37690152f4a2f9cacc509b9cb5902aac024ca7a7c8e65');\nhashMap.set('glasskube','fd415356a866ad174a5b70522d662e4289a2c5d5e34c55d57542b0d8968f1645');\nhashMap.set('gleam','a770dca6b63d34d1a5d7fc63130d5e030aac999d6a3398b8460bdf6f62e9a81e');\nhashMap.set('gomod','c3dafbc3c9c21af83d32309718c208289e021dd37b2c6e1db31238b756ab9958');\nhashMap.set('gradle','1333dfc2e7dbe276006716de76b757d99385748a36bd8d434d6d160f013c9715');\nhashMap.set('gradle-wrapper','f98404470f93f59794d0fc242779559d5a9d8751f5abc40cb61a49cd0652b1b4');\nhashMap.set('haskell-cabal','a2bf118238529952d0f2f352112dfbc86fb5533ef819625161a130f39c8ca713');\nhashMap.set('helm-requirements','8f643d415ab0cfbef05bce4dce9812eef47bddb7b8b67a191e6a4230489e652f');\nhashMap.set('helm-values','fbd4a0b4bdda8a71dc38ac8916287f73e2b7de5ef122096a5b5d525c1a3306cd');\nhashMap.set('helmfile','ee6a6cfb5680f8f896a2f7ac3d68770b300cfd0a4b75a7ca7edb4e1c1f51b7a2');\nhashMap.set('helmsman','734fa89740fd5140ca3e39204872aba3451c05cd17f0b5e2b635934ed7b1710b');\nhashMap.set('helmv3','d83cb78e03ba014f167aff522c2f70bc933bf046affa0196aaee0ed54383e019');\nhashMap.set('hermit','5d6fe831c5abf4e2439da1cf24648ccb5a099b66fc965af68134a67418202fa1');\nhashMap.set('homebrew','4b05428b846b8a7c260a41500cc14938cca8e7d5df0e2510050f95718f6f823f');\nhashMap.set('html','226a9084e10ebf754906386159db08667394f5432105249bdb30d9c60af9fb56');\nhashMap.set('jenkins','309db014e3590e1cd6d53ede2755395c82e5cd4b880425daf52a6ab60e0d6a42');\nhashMap.set('jsonnet-bundler','83c3b9f3c6903929f6842bafc8219437dc822005505b64ed2cb6e63babc28dcb');\nhashMap.set('kotlin-script','60f8f714bb3aef5d7e3e91c67f658847ad2b01bfc044a2f0dd0798fccb5c7c30');\nhashMap.set('kubernetes','62cfa6c77593b48290f3c26a2f390c4bdfe8ab3cfb79e358b10d8aece689a999');\nhashMap.set('kustomize','b0a7444bde37c7ea3ad47062fddaf03892c7da4912b8c042e8c07dde182da46c');\nhashMap.set('leiningen','0598d2f53cfc92076d47186245a7b591d2b0df157609a7f55a37b54ab2d32a77');\nhashMap.set('maven','6b9eea76855c2d67037872fbeb803af65ff026708061691f75ce0ab2239c1ff8');\nhashMap.set('maven-wrapper','56edbbfaf0844fc497de31159719ef5064389120a1a9ca85c0c67d5328c8ac81');\nhashMap.set('meteor','a9785d85b3520ed9e763c800730f36b95747795699758ecbe1395133c5b0040e');\nhashMap.set('mint','7072e37f18bb57500018406eb8711b2615b1916f073867f30653cdd4a99dab81');\nhashMap.set('mise','0521a383568cbe7a9e53cb95020d5f10cb289042c14383dcdea1f2c21d3c5d0e');\nhashMap.set('mix','9f506a6e42135fd299d240ac445996f414a502c01588107d7e65848b1368ee03');\nhashMap.set('nix','2630474b9fce0f0d3d8e27df4d86abd7564931e2eae3b4d54b3870bb712366f5');\nhashMap.set('nodenv','d159174d53e39af2013443cf86df88e14aac79a5a8d602180af229dcb2ddeda9');\nhashMap.set('npm','9286e0372838cadf7162c38c9a9ca113e2ffc8e03527fe83dd1466f0e35d3730');\nhashMap.set('nuget','e46f9986c7037ce0adf04bbee3e0cf7d844d82f52a3beda7205bc01246d155d3');\nhashMap.set('nvm','1928fd50bd6cc9f42d73262630056f2c0f8b0e061282bd02e58d116fc1788e2b');\nhashMap.set('ocb','55559051102728868b619820a6dc95753cdfbbb8aed46840e53db6733bc2ede4');\nhashMap.set('osgi','dae012cd486843eb53da4b032105e54d18f4e7537bd59c5321313950dd108a95');\nhashMap.set('pep621','88db31ca9bddf85c58e420e22bb831f4e750281b9d976271195c1e746ccb4fd5');\nhashMap.set('pep723','bf07d466ea1bc9513c8d2cb475fcca3bc9b61f2184bd9af0a7a28d45b6f57ecd');\nhashMap.set('pip-compile','ae04fc449e79eefe95aa15553b6a6bebd417f3ca3251b37121e17503c808a2ac');\nhashMap.set('pip_requirements','70bfe70544e29f3c7fdbc2261efcebcaf8836e92bd21da35c379c9f4573ff43b');\nhashMap.set('pip_setup','31b330d9666d61474326a761a3ce1479f9a189ef6838ecfee78843ff4c80af73');\nhashMap.set('pipenv','823f1652628a6ce17943fe24a187aa2faa77d21e0aa001d3f8b0f9cd93a74ba9');\nhashMap.set('pixi','e209242b0dc2e6d57bcdec8f6a6f577db249ecb5eba1afea429cb1ff023a90d8');\nhashMap.set('poetry','f520b329d6b408fa727b0fe82bf464caed8525c3a2b12a746e95ce00e32c2129');\nhashMap.set('pre-commit','a881d191bd52396ea815e60a49b047f0f073e5a567c863829efbab32610bfa40');\nhashMap.set('pub','8e80b151d76db21808ddc36532e46fc657d0f8b7925943f1d13ceb19b1e061a3');\nhashMap.set('puppet','34f7e3916780e8ed352b65864bad91bf66547e29f91ee8fca7fd6e8fcd2621fd');\nhashMap.set('pyenv','4e520570d9a1407864aa7c5461d4008372d889254067e405cee2212d0ef8990b');\nhashMap.set('renovate-config-presets','27f100d67e2a1ad20cfd4aa3f1db1f1c34f62910929695f381160b3835a7fa65');\nhashMap.set('ruby-version','4aac2178a20ccdf8136363030e5156017f3d44368b4192b3280997df596dcacc');\nhashMap.set('runtime-version','dbf80ce2a5f07dd34bc9a008159b4f08052cc6fd0d92cbd2aeb0026c8008fa72');\nhashMap.set('sbt','dc1ec4aeeb5e012c7a595478873ad67e2dee6e2af951b12b9e9057cb64f2258d');\nhashMap.set('scalafmt','8a54fef703269ed31ce28887e62b0b838a13359e86fa77c7f4dceb89fda0f352');\nhashMap.set('setup-cfg','9a778d8a58f643fff1d23d750dfebed21e45bce99bfdcdc3de39795a407d983f');\nhashMap.set('sveltos','a69f9e206526af08685e20a72344b22d856f2effd882e67333a153a989a0a047');\nhashMap.set('swift','4866ba3e6d6e9288ae9e3a11ef673b36d1d78360e21d8266ae3a945b8683d669');\nhashMap.set('tekton','eb8fb6a25ca7fd0d304f67d5ab2e93ddd8b34854553130003ce3340ca7b3bba1');\nhashMap.set('terraform','bb83f8ec4e9b153a7714b52c078f9cab39e92c19520aa08b842580419d510eec');\nhashMap.set('terraform-version','b08480f326c45daf3daeccc2d2f593a723c30a50437a66ac2290d671b427a355');\nhashMap.set('terragrunt','9988ff56620548133596437cd4d03a689ab195dd1addc00bc6074c26455a6486');\nhashMap.set('terragrunt-version','45f221b13a193a42687f318e10cf1558079e28c970e91ce25c370f35f88f2f58');\nhashMap.set('tflint-plugin','40ab6d0c975ff0b8e42651c088e159afe9f0d0c43a1dbf7c1295ec03c77bdc7c');\nhashMap.set('travis','30174e78a6297e44db1c030ea2e111084e14b1eac220f522522c77d684a76285');\nhashMap.set('velaci','9ad5d5d2584b9c189c4edcd25ad9103926bd4ba850a419a3b5e4aba9682817c3');\nhashMap.set('vendir','e2584cb214854405fed0b0e5dd608b709df1d8dadb7b761723125182e166fb02');\nhashMap.set('woodpecker','eaaa0a3bcfd0dc60c0990f2a1d7acf19c4f86ce4641ab3cf0a31f2bf46fc61b8');\nhashMap.set('jsonata','ca3fa7cd5d446eab618371ebf8d5aea3e47a494231c5f93b08496b859e67a020');\nhashMap.set('regex','f855dba6f55cf7e571241a0b273d2b12d8968ff76a0eeb773d006346949b6053');"]}
|
@@ -39,7 +39,7 @@ class DefaultGitScm {
|
|
39
39
|
}
|
40
40
|
async syncForkWithUpstream(branchName) {
|
41
41
|
const remotes = await git.getRemotes();
|
42
|
-
if (remotes?.includes(
|
42
|
+
if (remotes?.includes(git.RENOVATE_FORK_UPSTREAM)) {
|
43
43
|
await git.syncForkWithUpstream(branchName);
|
44
44
|
}
|
45
45
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"default-scm.js","sourceRoot":"","sources":["../../../lib/modules/platform/default-scm.ts"],"names":[],"mappings":";;;;AAAA,4DAAsC;AAItC,MAAa,aAAa;IACxB,YAAY,CAAC,UAAkB;QAC7B,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,aAAa,CACX,YAA+B;QAE/B,OAAO,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;IAED,YAAY,CAAC,UAAkB;QAC7B,OAAO,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED,eAAe,CAAC,UAAkB;QAChC,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,kBAAkB,CAAC,UAAkB,EAAE,UAAkB;QACvD,OAAO,GAAG,CAAC,kBAAkB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACxD,CAAC;IAED,kBAAkB,CAAC,UAAkB,EAAE,MAAc;QACnD,OAAO,GAAG,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,gBAAgB,CAAC,UAAkB,EAAE,UAAkB;QACrD,OAAO,GAAG,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACtD,CAAC;IAED,WAAW;QACT,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC;IAED,cAAc,CAAC,UAAkB;QAC/B,OAAO,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,YAAY,CAAC,UAAkB;QAC7B,OAAO,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;IAED,YAAY,CAAC,UAAkB;QAC7B,OAAO,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,UAAkB;QAC3C,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACvC,IAAI,OAAO,EAAE,QAAQ,CAAC,
|
1
|
+
{"version":3,"file":"default-scm.js","sourceRoot":"","sources":["../../../lib/modules/platform/default-scm.ts"],"names":[],"mappings":";;;;AAAA,4DAAsC;AAItC,MAAa,aAAa;IACxB,YAAY,CAAC,UAAkB;QAC7B,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,aAAa,CACX,YAA+B;QAE/B,OAAO,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;IAED,YAAY,CAAC,UAAkB;QAC7B,OAAO,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED,eAAe,CAAC,UAAkB;QAChC,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,kBAAkB,CAAC,UAAkB,EAAE,UAAkB;QACvD,OAAO,GAAG,CAAC,kBAAkB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACxD,CAAC;IAED,kBAAkB,CAAC,UAAkB,EAAE,MAAc;QACnD,OAAO,GAAG,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,gBAAgB,CAAC,UAAkB,EAAE,UAAkB;QACrD,OAAO,GAAG,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACtD,CAAC;IAED,WAAW;QACT,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC;IAED,cAAc,CAAC,UAAkB;QAC/B,OAAO,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,YAAY,CAAC,UAAkB;QAC7B,OAAO,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;IAED,YAAY,CAAC,UAAkB;QAC7B,OAAO,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,UAAkB;QAC3C,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACvC,IAAI,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAClD,MAAM,GAAG,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;CACF;AArDD,sCAqDC","sourcesContent":["import * as git from '../../util/git';\nimport type { CommitFilesConfig, LongCommitSha } from '../../util/git/types';\nimport type { PlatformScm } from './types';\n\nexport class DefaultGitScm implements PlatformScm {\n branchExists(branchName: string): Promise<boolean> {\n return Promise.resolve(git.branchExists(branchName));\n }\n\n commitAndPush(\n commitConfig: CommitFilesConfig,\n ): Promise<LongCommitSha | null> {\n return git.commitFiles(commitConfig);\n }\n\n deleteBranch(branchName: string): Promise<void> {\n return git.deleteBranch(branchName);\n }\n\n getBranchCommit(branchName: string): Promise<LongCommitSha | null> {\n return Promise.resolve(git.getBranchCommit(branchName));\n }\n\n isBranchBehindBase(branchName: string, baseBranch: string): Promise<boolean> {\n return git.isBranchBehindBase(branchName, baseBranch);\n }\n\n isBranchConflicted(baseBranch: string, branch: string): Promise<boolean> {\n return git.isBranchConflicted(baseBranch, branch);\n }\n\n isBranchModified(branchName: string, baseBranch: string): Promise<boolean> {\n return git.isBranchModified(branchName, baseBranch);\n }\n\n getFileList(): Promise<string[]> {\n return git.getFileList();\n }\n\n checkoutBranch(branchName: string): Promise<LongCommitSha> {\n return git.checkoutBranch(branchName);\n }\n\n mergeAndPush(branchName: string): Promise<void> {\n return git.mergeBranch(branchName);\n }\n\n mergeToLocal(branchName: string): Promise<void> {\n return git.mergeToLocal(branchName);\n }\n\n async syncForkWithUpstream(branchName: string): Promise<void> {\n const remotes = await git.getRemotes();\n if (remotes?.includes(git.RENOVATE_FORK_UPSTREAM)) {\n await git.syncForkWithUpstream(branchName);\n }\n }\n}\n"]}
|
package/dist/util/git/index.d.ts
CHANGED
@@ -3,6 +3,7 @@ import type { GitProtocol } from '../../types/git';
|
|
3
3
|
import type { CommitFilesConfig, CommitResult, LongCommitSha, PushFilesConfig, StatusResult, StorageConfig, TreeItem } from './types';
|
4
4
|
export { setNoVerify } from './config';
|
5
5
|
export { setPrivateKey } from './private-key';
|
6
|
+
export declare const RENOVATE_FORK_UPSTREAM = "renovate-fork-upstream";
|
6
7
|
export declare function gitRetry<T>(gitFunc: () => Promise<T>): Promise<T>;
|
7
8
|
export declare const GIT_MINIMUM_VERSION = "2.33.0";
|
8
9
|
export declare function validateGitVersion(): Promise<boolean>;
|
package/dist/util/git/index.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.GIT_MINIMUM_VERSION = exports.setPrivateKey = exports.setNoVerify = void 0;
|
3
|
+
exports.GIT_MINIMUM_VERSION = exports.RENOVATE_FORK_UPSTREAM = exports.setPrivateKey = exports.setNoVerify = void 0;
|
4
4
|
exports.gitRetry = gitRetry;
|
5
5
|
exports.validateGitVersion = validateGitVersion;
|
6
6
|
exports.fetchRevSpec = fetchRevSpec;
|
@@ -77,6 +77,7 @@ Object.defineProperty(exports, "setPrivateKey", { enumerable: true, get: functio
|
|
77
77
|
const retryCount = 5;
|
78
78
|
const delaySeconds = 3;
|
79
79
|
const delayFactor = 2;
|
80
|
+
exports.RENOVATE_FORK_UPSTREAM = 'renovate-fork-upstream';
|
80
81
|
// A generic wrapper for simpleGit.* calls to make them more fault-tolerant
|
81
82
|
async function gitRetry(gitFunc) {
|
82
83
|
let round = 0;
|
@@ -122,6 +123,7 @@ async function isDirectory(dir) {
|
|
122
123
|
}
|
123
124
|
}
|
124
125
|
async function getDefaultBranch(git) {
|
126
|
+
logger_1.logger.debug('getDefaultBranch()');
|
125
127
|
// see https://stackoverflow.com/a/62352647/3005034
|
126
128
|
try {
|
127
129
|
let res = await git.raw(['rev-parse', '--abbrev-ref', 'origin/HEAD']);
|
@@ -140,6 +142,7 @@ async function getDefaultBranch(git) {
|
|
140
142
|
/* v8 ignore start -- TODO: add test */
|
141
143
|
}
|
142
144
|
catch (err) {
|
145
|
+
logger_1.logger.debug({ err }, 'Error getting default branch');
|
143
146
|
const errChecked = (0, error_1.checkForPlatformFailure)(err);
|
144
147
|
if (errChecked) {
|
145
148
|
throw errChecked;
|
@@ -148,7 +151,7 @@ async function getDefaultBranch(git) {
|
|
148
151
|
throw new Error(error_messages_1.REPOSITORY_EMPTY);
|
149
152
|
}
|
150
153
|
if (err.message.includes("fatal: ambiguous argument 'origin/HEAD'")) {
|
151
|
-
logger_1.logger.warn(
|
154
|
+
logger_1.logger.warn('Error getting default branch');
|
152
155
|
throw new Error(error_messages_1.TEMPORARY_ERROR);
|
153
156
|
}
|
154
157
|
throw err;
|
@@ -190,6 +193,7 @@ async function validateGitVersion() {
|
|
190
193
|
async function fetchBranchCommits(preferUpstream = true) {
|
191
194
|
config.branchCommits = {};
|
192
195
|
const url = preferUpstream && config.upstreamUrl ? config.upstreamUrl : config.url;
|
196
|
+
logger_1.logger.debug(`fetchBranchCommits(): url=${url}`);
|
193
197
|
const opts = ['ls-remote', '--heads', url];
|
194
198
|
if (config.extraCloneOpts) {
|
195
199
|
Object.entries(config.extraCloneOpts).forEach((e) =>
|
@@ -365,10 +369,11 @@ async function syncGit() {
|
|
365
369
|
}
|
366
370
|
gitInitialized = true;
|
367
371
|
const localDir = global_1.GlobalConfig.get('localDir');
|
368
|
-
logger_1.logger.debug(`Initializing git repository into ${localDir}`);
|
372
|
+
logger_1.logger.debug(`syncGit(): Initializing git repository into ${localDir}`);
|
369
373
|
const gitHead = upath_1.default.join(localDir, '.git/HEAD');
|
370
374
|
let clone = true;
|
371
375
|
if (await fs_extra_1.default.pathExists(gitHead)) {
|
376
|
+
logger_1.logger.debug(`syncGit(): Found existing git repository, attempting git fetch`);
|
372
377
|
try {
|
373
378
|
await git.raw(['remote', 'set-url', 'origin', config.url]);
|
374
379
|
const fetchStart = Date.now();
|
@@ -386,7 +391,7 @@ async function syncGit() {
|
|
386
391
|
if (err.message === error_messages_1.REPOSITORY_EMPTY) {
|
387
392
|
throw err;
|
388
393
|
}
|
389
|
-
logger_1.logger.info({ err }, 'git fetch error');
|
394
|
+
logger_1.logger.info({ err }, 'git fetch error, falling back to git clone');
|
390
395
|
}
|
391
396
|
}
|
392
397
|
if (clone) {
|
@@ -464,12 +469,12 @@ async function syncGit() {
|
|
464
469
|
// If upstreamUrl is set then the bot is running in fork mode
|
465
470
|
// The "upstream" remote is the original repository which was forked from
|
466
471
|
if (config.upstreamUrl) {
|
467
|
-
logger_1.logger.debug(`Bringing default branch up-to-date with
|
472
|
+
logger_1.logger.debug(`Bringing default branch up-to-date with ${exports.RENOVATE_FORK_UPSTREAM}, to get latest config`);
|
468
473
|
// Add remote if it does not exist
|
469
474
|
const remotes = await git.getRemotes(true);
|
470
|
-
if (!remotes.some((remote) => remote.name ===
|
471
|
-
logger_1.logger.debug(
|
472
|
-
await git.addRemote(
|
475
|
+
if (!remotes.some((remote) => remote.name === exports.RENOVATE_FORK_UPSTREAM)) {
|
476
|
+
logger_1.logger.debug(`Adding remote ${exports.RENOVATE_FORK_UPSTREAM}`);
|
477
|
+
await git.addRemote(exports.RENOVATE_FORK_UPSTREAM, config.upstreamUrl);
|
473
478
|
}
|
474
479
|
await syncForkWithUpstream(config.currentBranch);
|
475
480
|
await fetchBranchCommits(false);
|
@@ -1271,19 +1276,20 @@ async function localBranchExists(branchName) {
|
|
1271
1276
|
* @returns {Promise<LongCommitSha>} - A promise that resolves to True if the synchronization is successful, or `false` if an error occurs.
|
1272
1277
|
*/
|
1273
1278
|
async function syncForkWithUpstream(branchName) {
|
1279
|
+
logger_1.logger.debug(`Synchronizing fork with "${exports.RENOVATE_FORK_UPSTREAM}" remote for branch ${branchName}`);
|
1274
1280
|
const remotes = await getRemotes();
|
1275
|
-
if (!remotes.some((r) => r ===
|
1276
|
-
throw new Error('No remote
|
1281
|
+
if (!remotes.some((r) => r === exports.RENOVATE_FORK_UPSTREAM)) {
|
1282
|
+
throw new Error('No upstream remote exists, cannot sync fork');
|
1277
1283
|
}
|
1278
1284
|
try {
|
1279
|
-
await git.fetch([
|
1285
|
+
await git.fetch([exports.RENOVATE_FORK_UPSTREAM]);
|
1280
1286
|
if (await localBranchExists(branchName)) {
|
1281
1287
|
await checkoutBranch(branchName);
|
1282
1288
|
}
|
1283
1289
|
else {
|
1284
|
-
await checkoutBranchFromRemote(branchName,
|
1290
|
+
await checkoutBranchFromRemote(branchName, exports.RENOVATE_FORK_UPSTREAM);
|
1285
1291
|
}
|
1286
|
-
await resetHardFromRemote(
|
1292
|
+
await resetHardFromRemote(`${exports.RENOVATE_FORK_UPSTREAM}/${branchName}`);
|
1287
1293
|
await forcePushToRemote(branchName, 'origin');
|
1288
1294
|
// Get long Git SHA
|
1289
1295
|
return (await git.revparse([branchName]));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/util/git/index.ts"],"names":[],"mappings":"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","sourcesContent":["import URL from 'node:url';\nimport { setTimeout } from 'timers/promises';\nimport is from '@sindresorhus/is';\nimport fs from 'fs-extra';\nimport semver from 'semver';\nimport type { Options, SimpleGit, TaskOptions } from 'simple-git';\nimport { ResetMode, simpleGit } from 'simple-git';\nimport upath from 'upath';\nimport { configFileNames } from '../../config/app-strings';\nimport { GlobalConfig } from '../../config/global';\nimport type { RenovateConfig } from '../../config/types';\nimport {\n CONFIG_VALIDATION,\n INVALID_PATH,\n REPOSITORY_CHANGED,\n REPOSITORY_DISABLED,\n REPOSITORY_EMPTY,\n SYSTEM_INSUFFICIENT_DISK_SPACE,\n TEMPORARY_ERROR,\n UNKNOWN_ERROR,\n} from '../../constants/error-messages';\nimport { logger } from '../../logger';\nimport { ExternalHostError } from '../../types/errors/external-host-error';\nimport type { GitProtocol } from '../../types/git';\nimport { incLimitedValue } from '../../workers/global/limits';\nimport { getCache } from '../cache/repository';\nimport { getEnv } from '../env';\nimport { newlineRegex, regEx } from '../regex';\nimport { matchRegexOrGlobList } from '../string-match';\nimport { parseGitAuthor } from './author';\nimport {\n getCachedBehindBaseResult,\n setCachedBehindBaseResult,\n} from './behind-base-branch-cache';\nimport { getNoVerify, simpleGitConfig } from './config';\nimport {\n getCachedConflictResult,\n setCachedConflictResult,\n} from './conflicts-cache';\nimport {\n bulkChangesDisallowed,\n checkForPlatformFailure,\n handleCommitError,\n} from './error';\nimport {\n getCachedModifiedResult,\n setCachedModifiedResult,\n} from './modified-cache';\nimport { configSigningKey, writePrivateKey } from './private-key';\nimport type {\n CommitFilesConfig,\n CommitResult,\n LocalConfig,\n LongCommitSha,\n PushFilesConfig,\n StatusResult,\n StorageConfig,\n TreeItem,\n} from './types';\n\nexport { setNoVerify } from './config';\nexport { setPrivateKey } from './private-key';\n\n// Retry parameters\nconst retryCount = 5;\nconst delaySeconds = 3;\nconst delayFactor = 2;\n\n// A generic wrapper for simpleGit.* calls to make them more fault-tolerant\nexport async function gitRetry<T>(gitFunc: () => Promise<T>): Promise<T> {\n let round = 0;\n let lastError: Error | undefined;\n\n while (round <= retryCount) {\n if (round > 0) {\n logger.debug(`gitRetry round ${round}`);\n }\n try {\n const res = await gitFunc();\n if (round > 1) {\n logger.debug('Successful retry of git function');\n }\n return res;\n } catch (err) {\n lastError = err;\n logger.debug({ err }, `Git function thrown`);\n // Try to transform the Error to ExternalHostError\n const errChecked = checkForPlatformFailure(err);\n if (errChecked instanceof ExternalHostError) {\n logger.debug(\n { err: errChecked },\n `ExternalHostError thrown in round ${\n round + 1\n } of ${retryCount} - retrying in the next round`,\n );\n } else {\n throw err;\n }\n }\n\n const nextDelay = delayFactor ^ ((round - 1) * delaySeconds);\n logger.trace({ nextDelay }, `Delay next round`);\n await setTimeout(1000 * nextDelay);\n\n round++;\n }\n\n // Can't be `undefined` here.\n // eslint-disable-next-line @typescript-eslint/only-throw-error\n throw lastError;\n}\n\nasync function isDirectory(dir: string): Promise<boolean> {\n try {\n return (await fs.stat(dir)).isDirectory();\n } catch {\n return false;\n }\n}\n\nasync function getDefaultBranch(git: SimpleGit): Promise<string> {\n // see https://stackoverflow.com/a/62352647/3005034\n try {\n let res = await git.raw(['rev-parse', '--abbrev-ref', 'origin/HEAD']);\n /* v8 ignore start -- TODO: add test */\n if (!res) {\n logger.debug('Could not determine default branch using git rev-parse');\n const headPrefix = 'HEAD branch: ';\n res = (await git.raw(['remote', 'show', 'origin']))\n .split('\\n')\n .map((line) => line.trim())\n .find((line) => line.startsWith(headPrefix))!\n .replace(headPrefix, '');\n }\n /* v8 ignore stop */\n return res.replace('origin/', '').trim();\n /* v8 ignore start -- TODO: add test */\n } catch (err) {\n const errChecked = checkForPlatformFailure(err);\n if (errChecked) {\n throw errChecked;\n }\n if (\n err.message.startsWith(\n 'fatal: ref refs/remotes/origin/HEAD is not a symbolic ref',\n )\n ) {\n throw new Error(REPOSITORY_EMPTY);\n }\n if (err.message.includes(\"fatal: ambiguous argument 'origin/HEAD'\")) {\n logger.warn({ err }, 'Error getting default branch');\n throw new Error(TEMPORARY_ERROR);\n }\n throw err;\n }\n /* v8 ignore stop */\n}\n\nlet config: LocalConfig = {} as any;\n\n// TODO: can be undefined\nlet git: SimpleGit;\nlet gitInitialized: boolean;\nlet submodulesInitizialized: boolean;\n\nlet privateKeySet = false;\n\nexport const GIT_MINIMUM_VERSION = '2.33.0'; // git show-current\n\nexport async function validateGitVersion(): Promise<boolean> {\n let version: string | undefined;\n const globalGit = simpleGit();\n try {\n const { major, minor, patch, installed } = await globalGit.version();\n /* v8 ignore next 4 -- TODO: add test */\n if (!installed) {\n logger.error('Git not installed');\n return false;\n }\n version = `${major}.${minor}.${patch}`;\n /* v8 ignore next 4 */\n } catch (err) {\n logger.error({ err }, 'Error fetching git version');\n return false;\n }\n /* v8 ignore next 7 -- TODO: add test */\n if (!(version && semver.gte(version, GIT_MINIMUM_VERSION))) {\n logger.error(\n { detectedVersion: version, minimumVersion: GIT_MINIMUM_VERSION },\n 'Git version needs upgrading',\n );\n return false;\n }\n logger.debug(`Found valid git version: ${version}`);\n return true;\n}\n\nasync function fetchBranchCommits(preferUpstream = true): Promise<void> {\n config.branchCommits = {};\n const url =\n preferUpstream && config.upstreamUrl ? config.upstreamUrl : config.url;\n const opts = ['ls-remote', '--heads', url];\n if (config.extraCloneOpts) {\n Object.entries(config.extraCloneOpts).forEach((e) =>\n // TODO: types (#22198)\n opts.unshift(e[0], `${e[1]!}`),\n );\n }\n try {\n const lsRemoteRes = await gitRetry(() => git.raw(opts));\n logger.trace({ lsRemoteRes }, 'git ls-remote result');\n lsRemoteRes\n .split(newlineRegex)\n .filter(Boolean)\n .map((line) => line.trim().split(regEx(/\\s+/)))\n .forEach(([sha, ref]) => {\n config.branchCommits[ref.replace('refs/heads/', '')] =\n sha as LongCommitSha;\n });\n logger.trace({ branchCommits: config.branchCommits }, 'branch commits');\n /* v8 ignore next 11 -- TODO: add test */\n } catch (err) {\n const errChecked = checkForPlatformFailure(err);\n if (errChecked) {\n throw errChecked;\n }\n logger.debug({ err }, 'git error');\n if (err.message?.includes('Please ask the owner to check their account')) {\n throw new Error(REPOSITORY_DISABLED);\n }\n throw err;\n }\n}\n\nexport async function fetchRevSpec(revSpec: string): Promise<void> {\n await gitRetry(() => git.fetch(['origin', revSpec]));\n}\n\nexport async function initRepo(args: StorageConfig): Promise<void> {\n config = { ...args } as any;\n config.ignoredAuthors = [];\n config.additionalBranches = [];\n config.branchIsModified = {};\n // TODO: safe to pass all env variables? use `getChildEnv` instead?\n git = simpleGit(GlobalConfig.get('localDir'), simpleGitConfig()).env({\n ...getEnv(),\n LANG: 'C.UTF-8',\n LC_ALL: 'C.UTF-8',\n });\n gitInitialized = false;\n submodulesInitizialized = false;\n await fetchBranchCommits();\n}\n\nasync function resetToBranch(branchName: string): Promise<void> {\n logger.debug(`resetToBranch(${branchName})`);\n await git.raw(['reset', '--hard']);\n await gitRetry(() => git.checkout(branchName));\n await git.raw(['reset', '--hard', 'origin/' + branchName]);\n await git.raw(['clean', '-fd']);\n}\n\n/* v8 ignore next 4 -- TODO: add test */\nexport async function resetToCommit(commit: LongCommitSha): Promise<void> {\n logger.debug(`resetToCommit(${commit})`);\n await git.raw(['reset', '--hard', commit]);\n}\n\nasync function deleteLocalBranch(branchName: string): Promise<void> {\n await git.branch(['-D', branchName]);\n}\n\nasync function cleanLocalBranches(): Promise<void> {\n const existingBranches = (await git.raw(['branch']))\n .split(newlineRegex)\n .map((branch) => branch.trim())\n .filter((branch) => branch.length > 0 && !branch.startsWith('* '));\n logger.debug({ existingBranches });\n for (const branchName of existingBranches) {\n await deleteLocalBranch(branchName);\n }\n}\n\nexport function setGitAuthor(gitAuthor: string | undefined): void {\n const gitAuthorParsed = parseGitAuthor(\n gitAuthor ?? 'Renovate Bot <renovate@whitesourcesoftware.com>',\n );\n if (!gitAuthorParsed) {\n const error = new Error(CONFIG_VALIDATION);\n error.validationSource = 'None';\n error.validationError = 'Invalid gitAuthor';\n error.validationMessage = `\\`gitAuthor\\` is not parsed as valid RFC5322 format: \\`${gitAuthor!}\\``;\n throw error;\n }\n config.gitAuthorName = gitAuthorParsed.name;\n config.gitAuthorEmail = gitAuthorParsed.address;\n}\n\nexport async function writeGitAuthor(): Promise<void> {\n const { gitAuthorName, gitAuthorEmail, writeGitDone } = config;\n /* v8 ignore next 3 -- TODO: add test */\n if (writeGitDone) {\n return;\n }\n config.writeGitDone = true;\n try {\n if (gitAuthorName) {\n logger.debug(`Setting git author name: ${gitAuthorName}`);\n await git.addConfig('user.name', gitAuthorName);\n }\n if (gitAuthorEmail) {\n logger.debug(`Setting git author email: ${gitAuthorEmail}`);\n await git.addConfig('user.email', gitAuthorEmail);\n }\n /* v8 ignore next 11 -- TODO: add test */\n } catch (err) {\n const errChecked = checkForPlatformFailure(err);\n if (errChecked) {\n throw errChecked;\n }\n logger.debug(\n { err, gitAuthorName, gitAuthorEmail },\n 'Error setting git author config',\n );\n throw new Error(TEMPORARY_ERROR);\n }\n}\n\nexport function setUserRepoConfig({\n gitIgnoredAuthors,\n gitAuthor,\n}: RenovateConfig): void {\n config.ignoredAuthors = gitIgnoredAuthors ?? [];\n setGitAuthor(gitAuthor);\n}\n\nexport async function getSubmodules(): Promise<string[]> {\n try {\n return (\n (await git.raw([\n 'config',\n '--file',\n '.gitmodules',\n '--get-regexp',\n '\\\\.path',\n ])) || ''\n )\n .trim()\n .split(regEx(/[\\n\\s]/))\n .filter((_e: string, i: number) => i % 2);\n /* v8 ignore next 4 -- TODO: add test */\n } catch (err) {\n logger.warn({ err }, 'Error getting submodules');\n return [];\n }\n}\n\nexport async function cloneSubmodules(\n shouldClone: boolean,\n cloneSubmodulesFilter: string[] | undefined,\n): Promise<void> {\n if (!shouldClone || submodulesInitizialized) {\n return;\n }\n submodulesInitizialized = true;\n await syncGit();\n const submodules = await getSubmodules();\n for (const submodule of submodules) {\n if (!matchRegexOrGlobList(submodule, cloneSubmodulesFilter ?? ['*'])) {\n logger.debug(\n { cloneSubmodulesFilter },\n `Skipping submodule ${submodule}`,\n );\n continue;\n }\n try {\n logger.debug(`Cloning git submodule at ${submodule}`);\n await gitRetry(() =>\n git.submoduleUpdate(['--init', '--recursive', submodule]),\n );\n } catch (err) {\n logger.warn({ err, submodule }, `Unable to initialise git submodule`);\n }\n }\n}\n\nexport function isCloned(): boolean {\n return gitInitialized;\n}\n\nexport async function syncGit(): Promise<void> {\n if (gitInitialized) {\n /* v8 ignore next 3 -- TODO: add test */\n if (getEnv().RENOVATE_X_CLEAR_HOOKS) {\n await git.raw(['config', 'core.hooksPath', '/dev/null']);\n }\n return;\n }\n /* v8 ignore next 3 -- failsafe TODO: add test */\n if (GlobalConfig.get('platform') === 'local') {\n throw new Error('Cannot sync git when platform=local');\n }\n gitInitialized = true;\n const localDir = GlobalConfig.get('localDir')!;\n logger.debug(`Initializing git repository into ${localDir}`);\n const gitHead = upath.join(localDir, '.git/HEAD');\n let clone = true;\n\n if (await fs.pathExists(gitHead)) {\n try {\n await git.raw(['remote', 'set-url', 'origin', config.url]);\n const fetchStart = Date.now();\n await gitRetry(() => git.fetch(['--prune', 'origin']));\n config.currentBranch =\n config.currentBranch || (await getDefaultBranch(git));\n await resetToBranch(config.currentBranch);\n await cleanLocalBranches();\n const durationMs = Math.round(Date.now() - fetchStart);\n logger.info({ durationMs }, 'git fetch completed');\n clone = false;\n /* v8 ignore next 6 -- TODO: add test */\n } catch (err) {\n if (err.message === REPOSITORY_EMPTY) {\n throw err;\n }\n logger.info({ err }, 'git fetch error');\n }\n }\n if (clone) {\n const cloneStart = Date.now();\n try {\n const opts: string[] = [];\n if (config.defaultBranch) {\n opts.push('-b', config.defaultBranch);\n }\n if (config.fullClone) {\n logger.debug('Performing full clone');\n } else {\n logger.debug('Performing blobless clone');\n opts.push('--filter=blob:none');\n }\n if (config.extraCloneOpts) {\n Object.entries(config.extraCloneOpts).forEach((e) =>\n // TODO: types (#22198)\n opts.push(e[0], `${e[1]!}`),\n );\n }\n const emptyDirAndClone = async (): Promise<void> => {\n await fs.emptyDir(localDir);\n await git.clone(config.url, '.', opts);\n };\n await gitRetry(() => emptyDirAndClone());\n /* v8 ignore next 10 -- TODO: add test */\n } catch (err) {\n logger.debug({ err }, 'git clone error');\n if (err.message?.includes('No space left on device')) {\n throw new Error(SYSTEM_INSUFFICIENT_DISK_SPACE);\n }\n if (err.message === REPOSITORY_EMPTY) {\n throw err;\n }\n throw new ExternalHostError(err, 'git');\n }\n const durationMs = Math.round(Date.now() - cloneStart);\n logger.debug({ durationMs }, 'git clone completed');\n }\n try {\n config.currentBranchSha = (\n await git.raw(['rev-parse', 'HEAD'])\n ).trim() as LongCommitSha;\n /* v8 ignore next 6 -- TODO: add test */\n } catch (err) {\n if (err.message?.includes('fatal: not a git repository')) {\n throw new Error(REPOSITORY_CHANGED);\n }\n throw err;\n }\n // This will only happen now if set in global config\n await cloneSubmodules(!!config.cloneSubmodules, config.cloneSubmodulesFilter);\n try {\n const latestCommit = (await git.log({ n: 1 })).latest;\n logger.debug({ latestCommit }, 'latest repository commit');\n /* v8 ignore next 10 -- TODO: add test */\n } catch (err) {\n const errChecked = checkForPlatformFailure(err);\n if (errChecked) {\n throw errChecked;\n }\n if (err.message.includes('does not have any commits yet')) {\n throw new Error(REPOSITORY_EMPTY);\n }\n logger.warn({ err }, 'Cannot retrieve latest commit');\n }\n config.currentBranch =\n config.currentBranch ??\n config.defaultBranch ??\n (await getDefaultBranch(git));\n /* v8 ignore next -- TODO: add test */\n delete getCache()?.semanticCommits;\n\n // If upstreamUrl is set then the bot is running in fork mode\n // The \"upstream\" remote is the original repository which was forked from\n if (config.upstreamUrl) {\n logger.debug(\n `Bringing default branch up-to-date with upstream, to get latest config`,\n );\n // Add remote if it does not exist\n const remotes = await git.getRemotes(true);\n if (!remotes.some((remote) => remote.name === 'upstream')) {\n logger.debug(\"Adding remote 'upstream'\");\n await git.addRemote('upstream', config.upstreamUrl);\n }\n await syncForkWithUpstream(config.currentBranch);\n await fetchBranchCommits(false);\n }\n\n config.currentBranchSha = (\n await git.revparse('HEAD')\n ).trim() as LongCommitSha;\n logger.debug(`Current branch SHA: ${config.currentBranchSha}`);\n}\n\nexport async function getRepoStatus(path?: string): Promise<StatusResult> {\n if (is.string(path)) {\n const localDir = GlobalConfig.get('localDir');\n const localPath = upath.resolve(localDir, path);\n if (!localPath.startsWith(upath.resolve(localDir))) {\n logger.warn(\n { localPath, localDir },\n 'Preventing access to file outside the local directory',\n );\n throw new Error(INVALID_PATH);\n }\n }\n\n await syncGit();\n return git.status(path ? [path] : []);\n}\n\nexport function branchExists(branchName: string): boolean {\n return !!config.branchCommits[branchName];\n}\n\n// Return the commit SHA for a branch\nexport function getBranchCommit(branchName: string): LongCommitSha | null {\n return config.branchCommits[branchName] || null;\n}\n\nexport async function getCommitMessages(): Promise<string[]> {\n logger.debug('getCommitMessages');\n if (GlobalConfig.get('platform') !== 'local') {\n await syncGit();\n }\n try {\n const res = await git.log({\n n: 20,\n format: { message: '%s' },\n });\n return res.all.map((commit) => commit.message);\n /* v8 ignore next 3 -- TODO: add test */\n } catch {\n return [];\n }\n}\n\nexport async function checkoutBranch(\n branchName: string,\n): Promise<LongCommitSha> {\n logger.debug(`Setting current branch to ${branchName}`);\n await syncGit();\n try {\n await gitRetry(() =>\n git.checkout(\n submodulesInitizialized\n ? ['-f', '--recurse-submodules', branchName, '--']\n : ['-f', branchName, '--'],\n ),\n );\n config.currentBranch = branchName;\n config.currentBranchSha = (\n await git.raw(['rev-parse', 'HEAD'])\n ).trim() as LongCommitSha;\n const latestCommitDate = (await git.log({ n: 1 }))?.latest?.date;\n if (latestCommitDate) {\n logger.debug(\n { branchName, latestCommitDate, sha: config.currentBranchSha },\n 'latest commit',\n );\n }\n await git.reset(ResetMode.HARD);\n return config.currentBranchSha;\n /* v8 ignore next 11 -- TODO: add test */\n } catch (err) {\n const errChecked = checkForPlatformFailure(err);\n if (errChecked) {\n throw errChecked;\n }\n if (err.message?.includes('fatal: ambiguous argument')) {\n logger.warn({ err }, 'Failed to checkout branch');\n throw new Error(TEMPORARY_ERROR);\n }\n throw err;\n }\n}\n\nexport async function checkoutBranchFromRemote(\n branchName: string,\n remoteName: string,\n): Promise<LongCommitSha> {\n logger.debug(`Checking out branch ${branchName} from remote ${remoteName}`);\n await syncGit();\n try {\n await gitRetry(() =>\n git.checkoutBranch(branchName, `${remoteName}/${branchName}`),\n );\n config.currentBranch = branchName;\n config.currentBranchSha = (\n await git.revparse('HEAD')\n ).trim() as LongCommitSha;\n logger.debug(`Checked out branch ${branchName} from remote ${remoteName}`);\n config.branchCommits[branchName] = config.currentBranchSha;\n return config.currentBranchSha;\n } catch (err) {\n const errChecked = checkForPlatformFailure(err);\n /* v8 ignore next 3 -- hard to test */\n if (errChecked) {\n throw errChecked;\n }\n if (err.message?.includes('fatal: ambiguous argument')) {\n logger.warn({ err }, 'Failed to checkout branch');\n throw new Error(TEMPORARY_ERROR);\n }\n throw err;\n }\n}\n\nexport async function resetHardFromRemote(\n remoteAndBranch: string,\n): Promise<void> {\n try {\n const resetLog = await git.reset(['--hard', remoteAndBranch]);\n logger.debug({ resetLog }, 'git reset log');\n } catch (err) {\n logger.error({ err }, 'Error during git reset --hard');\n throw err;\n }\n}\n\nexport async function forcePushToRemote(\n branchName: string,\n remote: string,\n): Promise<void> {\n try {\n const pushLog = await git.push([remote, branchName, '--force']);\n logger.debug({ pushLog }, 'git push log');\n } catch (err) {\n logger.error({ err }, 'Error during git push --force');\n throw err;\n }\n}\n\nexport async function getFileList(): Promise<string[]> {\n await syncGit();\n const branch = config.currentBranch;\n let files: string;\n try {\n files = await git.raw(['ls-tree', '-r', `refs/heads/${branch}`]);\n /* v8 ignore next 10 -- TODO: add test */\n } catch (err) {\n if (err.message?.includes('fatal: Not a valid object name')) {\n logger.debug(\n { err },\n 'Branch not found when checking branch list - aborting',\n );\n throw new Error(REPOSITORY_CHANGED);\n }\n throw err;\n }\n /* v8 ignore next 3 -- TODO: add test */\n if (!files) {\n return [];\n }\n // submodules are starting with `160000 commit`\n return files\n .split(newlineRegex)\n .filter(is.string)\n .filter((line) => line.startsWith('100'))\n .map((line) => line.split(regEx(/\\t/)).pop()!);\n}\n\nexport function getBranchList(): string[] {\n return Object.keys(config.branchCommits ?? {});\n}\n\nexport async function isBranchBehindBase(\n branchName: string,\n baseBranch: string,\n): Promise<boolean> {\n const baseBranchSha = getBranchCommit(baseBranch);\n const branchSha = getBranchCommit(branchName);\n let isBehind = getCachedBehindBaseResult(\n branchName,\n branchSha,\n baseBranch,\n baseBranchSha,\n );\n if (isBehind !== null) {\n logger.debug(`branch.isBehindBase(): using cached result \"${isBehind}\"`);\n return isBehind;\n }\n\n logger.debug('branch.isBehindBase(): using git to calculate');\n\n await syncGit();\n try {\n const behindCount = (\n await git.raw(['rev-list', '--count', `${branchSha!}..${baseBranchSha!}`])\n ).trim();\n isBehind = behindCount !== '0';\n logger.debug(\n { baseBranch, branchName },\n `branch.isBehindBase(): ${isBehind}`,\n );\n setCachedBehindBaseResult(branchName, isBehind);\n return isBehind;\n /* v8 ignore next 7 -- TODO: add test */\n } catch (err) {\n const errChecked = checkForPlatformFailure(err);\n if (errChecked) {\n throw errChecked;\n }\n throw err;\n }\n}\n\nexport async function isBranchModified(\n branchName: string,\n baseBranch: string,\n): Promise<boolean> {\n if (!branchExists(branchName)) {\n logger.debug('branch.isModified(): no cache');\n return false;\n }\n // First check local config\n if (config.branchIsModified[branchName] !== undefined) {\n return config.branchIsModified[branchName];\n }\n // Second check repository cache\n const isModified = getCachedModifiedResult(\n branchName,\n getBranchCommit(branchName), // branch sha\n );\n if (isModified !== null) {\n logger.debug(`branch.isModified(): using cached result \"${isModified}\"`);\n config.branchIsModified[branchName] = isModified;\n return isModified;\n }\n\n logger.debug('branch.isModified(): using git to calculate');\n\n await syncGit();\n const committedAuthors = new Set<string>();\n try {\n const commits = await git.log([\n `origin/${baseBranch}..origin/${branchName}`,\n ]);\n\n for (const commit of commits.all) {\n committedAuthors.add(commit.author_email);\n }\n /* v8 ignore next 10 -- TODO: add test */\n } catch (err) {\n if (err.message?.includes('fatal: bad revision')) {\n logger.debug(\n { err },\n 'Remote branch not found when checking last commit author - aborting run',\n );\n throw new Error(REPOSITORY_CHANGED);\n }\n logger.warn({ err }, 'Error checking last author for isBranchModified');\n }\n const { gitAuthorEmail, ignoredAuthors } = config;\n\n const includedAuthors = new Set(committedAuthors);\n\n if (gitAuthorEmail) {\n includedAuthors.delete(gitAuthorEmail);\n }\n\n for (const ignoredAuthor of ignoredAuthors) {\n includedAuthors.delete(ignoredAuthor);\n }\n\n if (includedAuthors.size === 0) {\n // authors all match - branch has not been modified\n logger.trace(\n {\n branchName,\n baseBranch,\n committedAuthors: [...committedAuthors],\n includedAuthors: [...includedAuthors],\n gitAuthorEmail,\n ignoredAuthors,\n },\n 'branch.isModified() = false',\n );\n logger.debug('branch.isModified() = false');\n config.branchIsModified[branchName] = false;\n setCachedModifiedResult(branchName, false);\n return false;\n }\n logger.trace(\n {\n branchName,\n baseBranch,\n committedAuthors: [...committedAuthors],\n includedAuthors: [...includedAuthors],\n gitAuthorEmail,\n ignoredAuthors,\n },\n 'branch.isModified() = true',\n );\n logger.debug(\n { branchName, unrecognizedAuthors: [...includedAuthors] },\n 'branch.isModified() = true',\n );\n config.branchIsModified[branchName] = true;\n setCachedModifiedResult(branchName, true);\n return true;\n}\n\nexport async function isBranchConflicted(\n baseBranch: string,\n branch: string,\n): Promise<boolean> {\n logger.debug(`isBranchConflicted(${baseBranch}, ${branch})`);\n\n const baseBranchSha = getBranchCommit(baseBranch);\n const branchSha = getBranchCommit(branch);\n if (!baseBranchSha || !branchSha) {\n logger.warn(\n { baseBranch, branch },\n 'isBranchConflicted: branch does not exist',\n );\n return true;\n }\n\n const isConflicted = getCachedConflictResult(\n branch,\n branchSha,\n baseBranch,\n baseBranchSha,\n );\n if (is.boolean(isConflicted)) {\n logger.debug(\n `branch.isConflicted(): using cached result \"${isConflicted}\"`,\n );\n return isConflicted;\n }\n\n logger.debug('branch.isConflicted(): using git to calculate');\n\n let result = false;\n await syncGit();\n await writeGitAuthor();\n\n const origBranch = config.currentBranch;\n try {\n await git.reset(ResetMode.HARD);\n //TODO: see #18600\n if (origBranch !== baseBranch) {\n await git.checkout(baseBranch);\n }\n await git.merge(['--no-commit', '--no-ff', `origin/${branch}`]);\n } catch (err) {\n result = true;\n /* v8 ignore next 6 -- TODO: add test */\n if (!err?.git?.conflicts?.length) {\n logger.debug(\n { baseBranch, branch, err },\n 'isBranchConflicted: unknown error',\n );\n }\n } finally {\n try {\n await git.merge(['--abort']);\n if (origBranch !== baseBranch) {\n await git.checkout(origBranch);\n }\n /* v8 ignore next 6 -- TODO: add test */\n } catch (err) {\n logger.debug(\n { baseBranch, branch, err },\n 'isBranchConflicted: cleanup error',\n );\n }\n }\n\n setCachedConflictResult(branch, result);\n logger.debug(`branch.isConflicted(): ${result}`);\n return result;\n}\n\nexport async function deleteBranch(branchName: string): Promise<void> {\n await syncGit();\n try {\n const deleteCommand = ['push', '--delete', 'origin', branchName];\n\n if (getNoVerify().includes('push')) {\n deleteCommand.push('--no-verify');\n }\n\n await gitRetry(() => git.raw(deleteCommand));\n logger.debug(`Deleted remote branch: ${branchName}`);\n } catch (err) {\n const errChecked = checkForPlatformFailure(err);\n /* v8 ignore next 3 -- TODO: add test */\n if (errChecked) {\n throw errChecked;\n }\n logger.debug(`No remote branch to delete with name: ${branchName}`);\n }\n try {\n /* v8 ignore next 2 -- TODO: add test (always throws) */\n await deleteLocalBranch(branchName);\n logger.debug(`Deleted local branch: ${branchName}`);\n } catch (err) {\n const errChecked = checkForPlatformFailure(err);\n /* v8 ignore next 3 -- TODO: add test */\n if (errChecked) {\n throw errChecked;\n }\n logger.debug(`No local branch to delete with name: ${branchName}`);\n }\n delete config.branchCommits[branchName];\n}\n\nexport async function mergeToLocal(refSpecToMerge: string): Promise<void> {\n let status: StatusResult | undefined;\n try {\n await syncGit();\n await writeGitAuthor();\n await git.reset(ResetMode.HARD);\n await gitRetry(() =>\n git.checkout([\n '-B',\n config.currentBranch,\n 'origin/' + config.currentBranch,\n ]),\n );\n status = await git.status();\n await fetchRevSpec(refSpecToMerge);\n await gitRetry(() => git.merge(['FETCH_HEAD']));\n } catch (err) {\n logger.debug(\n {\n baseBranch: config.currentBranch,\n baseSha: config.currentBranchSha,\n refSpecToMerge,\n status,\n err,\n },\n 'mergeLocally error',\n );\n throw err;\n }\n}\n\nexport async function mergeBranch(branchName: string): Promise<void> {\n let status: StatusResult | undefined;\n try {\n await syncGit();\n await writeGitAuthor();\n await git.reset(ResetMode.HARD);\n await gitRetry(() =>\n git.checkout(['-B', branchName, 'origin/' + branchName]),\n );\n await gitRetry(() =>\n git.checkout([\n '-B',\n config.currentBranch,\n 'origin/' + config.currentBranch,\n ]),\n );\n status = await git.status();\n await gitRetry(() => git.merge(['--ff-only', branchName]));\n await gitRetry(() => git.push('origin', config.currentBranch));\n incLimitedValue('Commits');\n } catch (err) {\n logger.debug(\n {\n baseBranch: config.currentBranch,\n baseSha: config.currentBranchSha,\n branchName,\n branchSha: getBranchCommit(branchName),\n status,\n err,\n },\n 'mergeBranch error',\n );\n throw err;\n }\n}\n\nexport async function getBranchLastCommitTime(\n branchName: string,\n): Promise<Date> {\n await syncGit();\n try {\n const time = await git.show(['-s', '--format=%ai', 'origin/' + branchName]);\n return new Date(Date.parse(time));\n } catch (err) {\n const errChecked = checkForPlatformFailure(err);\n /* v8 ignore next 3 -- TODO: add test */\n if (errChecked) {\n throw errChecked;\n }\n return new Date();\n }\n}\n\nexport async function getBranchFiles(\n branchName: string,\n): Promise<string[] | null> {\n await syncGit();\n try {\n const diff = await gitRetry(() =>\n git.diffSummary([`origin/${branchName}`, `origin/${branchName}^`]),\n );\n return diff.files.map((file) => file.file);\n /* v8 ignore next 8 -- TODO: add test */\n } catch (err) {\n logger.warn({ err }, 'getBranchFiles error');\n const errChecked = checkForPlatformFailure(err);\n if (errChecked) {\n throw errChecked;\n }\n return null;\n }\n}\n\nexport async function getFile(\n filePath: string,\n branchName?: string,\n): Promise<string | null> {\n await syncGit();\n try {\n const content = await git.show([\n 'origin/' + (branchName ?? config.currentBranch) + ':' + filePath,\n ]);\n return content;\n } catch (err) {\n const errChecked = checkForPlatformFailure(err);\n /* v8 ignore next 3 -- TODO: add test */\n if (errChecked) {\n throw errChecked;\n }\n return null;\n }\n}\n\nexport async function getFiles(\n fileNames: string[],\n): Promise<Record<string, string | null>> {\n const fileContentMap: Record<string, string | null> = {};\n\n for (const fileName of fileNames) {\n fileContentMap[fileName] = await getFile(fileName);\n }\n\n return fileContentMap;\n}\n\nexport async function hasDiff(\n sourceRef: string,\n targetRef: string,\n): Promise<boolean> {\n await syncGit();\n try {\n return (\n (await gitRetry(() => git.diff([sourceRef, targetRef, '--']))) !== ''\n );\n } catch {\n return true;\n }\n}\n\nasync function handleCommitAuth(localDir: string): Promise<void> {\n if (!privateKeySet) {\n await writePrivateKey();\n privateKeySet = true;\n }\n await configSigningKey(localDir);\n await writeGitAuthor();\n}\n\n/**\n *\n * Prepare local branch with commit\n *\n * 0. Hard reset\n * 1. Creates local branch with `origin/` prefix\n * 2. Perform `git add` (respecting mode) and `git remove` for each file\n * 3. Perform commit\n * 4. Check whether resulting commit is empty or not (due to .gitignore)\n * 5. If not empty, return commit info for further processing\n *\n */\nexport async function prepareCommit({\n branchName,\n files,\n message,\n force = false,\n}: CommitFilesConfig): Promise<CommitResult | null> {\n const localDir = GlobalConfig.get('localDir')!;\n await syncGit();\n logger.debug(`Preparing files for committing to branch ${branchName}`);\n await handleCommitAuth(localDir);\n try {\n await git.reset(ResetMode.HARD);\n await git.raw(['clean', '-fd']);\n const parentCommitSha = config.currentBranchSha;\n await gitRetry(() =>\n git.checkout(['-B', branchName, 'origin/' + config.currentBranch]),\n );\n const deletedFiles: string[] = [];\n const addedModifiedFiles: string[] = [];\n const ignoredFiles: string[] = [];\n for (const file of files) {\n const fileName = file.path;\n if (file.type === 'deletion') {\n try {\n await git.rm([fileName]);\n deletedFiles.push(fileName);\n /* v8 ignore next 8 -- TODO: add test */\n } catch (err) {\n const errChecked = checkForPlatformFailure(err);\n if (errChecked) {\n throw errChecked;\n }\n logger.trace({ err, fileName }, 'Cannot delete file');\n ignoredFiles.push(fileName);\n }\n } else {\n if (await isDirectory(upath.join(localDir, fileName))) {\n // This is usually a git submodule update\n logger.trace({ fileName }, 'Adding directory commit');\n } else if (file.contents === null) {\n continue;\n } else {\n let contents: Buffer;\n if (typeof file.contents === 'string') {\n contents = Buffer.from(file.contents);\n /* v8 ignore next 3 -- TODO: add test */\n } else {\n contents = file.contents;\n }\n // some file systems including Windows don't support the mode\n // so the index should be manually updated after adding the file\n if (file.isSymlink) {\n await fs.symlink(file.contents, upath.join(localDir, fileName));\n } else {\n await fs.outputFile(upath.join(localDir, fileName), contents, {\n mode: file.isExecutable ? 0o777 : 0o666,\n });\n }\n }\n try {\n /* v8 ignore next 2 -- TODO: add test */\n const addParams =\n fileName === configFileNames[0] ? ['-f', fileName] : fileName;\n await git.add(addParams);\n if (file.isExecutable) {\n await git.raw(['update-index', '--chmod=+x', fileName]);\n }\n addedModifiedFiles.push(fileName);\n /* v8 ignore next 11 -- TODO: add test */\n } catch (err) {\n if (\n !err.message.includes(\n 'The following paths are ignored by one of your .gitignore files',\n )\n ) {\n throw err;\n }\n logger.debug(`Cannot commit ignored file: ${fileName}`);\n ignoredFiles.push(file.path);\n }\n }\n }\n\n const commitOptions: Options = {};\n if (getNoVerify().includes('commit')) {\n commitOptions['--no-verify'] = null;\n }\n\n const commitRes = await git.commit(message, [], commitOptions);\n if (\n commitRes.summary &&\n commitRes.summary.changes === 0 &&\n commitRes.summary.insertions === 0 &&\n commitRes.summary.deletions === 0\n ) {\n logger.warn({ commitRes }, 'Detected empty commit - aborting git push');\n return null;\n }\n logger.debug(\n { deletedFiles, ignoredFiles, result: commitRes },\n `git commit`,\n );\n if (!force && !(await hasDiff('HEAD', `origin/${branchName}`))) {\n logger.debug(\n { branchName, deletedFiles, addedModifiedFiles, ignoredFiles },\n 'No file changes detected. Skipping commit',\n );\n return null;\n }\n\n const commitSha = (\n await git.revparse([branchName])\n ).trim() as LongCommitSha;\n const result: CommitResult = {\n parentCommitSha,\n commitSha,\n files: files.filter((fileChange) => {\n if (fileChange.type === 'deletion') {\n return deletedFiles.includes(fileChange.path);\n }\n return addedModifiedFiles.includes(fileChange.path);\n }),\n };\n\n return result;\n /* v8 ignore next 3 -- TODO: add test */\n } catch (err) {\n return handleCommitError(err, branchName, files);\n }\n}\n\nexport async function pushCommit({\n sourceRef,\n targetRef,\n files,\n}: PushFilesConfig): Promise<boolean> {\n await syncGit();\n logger.debug(`Pushing refSpec ${sourceRef}:${targetRef ?? sourceRef}`);\n let result = false;\n try {\n const pushOptions: TaskOptions = {\n '--force-with-lease': null,\n '-u': null,\n };\n if (getNoVerify().includes('push')) {\n pushOptions['--no-verify'] = null;\n }\n\n const pushRes = await gitRetry(() =>\n git.push('origin', `${sourceRef}:${targetRef ?? sourceRef}`, pushOptions),\n );\n delete pushRes.repo;\n logger.debug({ result: pushRes }, 'git push');\n incLimitedValue('Commits');\n result = true;\n /* v8 ignore next 3 -- TODO: add test */\n } catch (err) {\n handleCommitError(err, sourceRef, files);\n }\n return result;\n}\n\nexport async function fetchBranch(\n branchName: string,\n): Promise<LongCommitSha | null> {\n await syncGit();\n logger.debug(`Fetching branch ${branchName}`);\n try {\n const ref = `refs/heads/${branchName}:refs/remotes/origin/${branchName}`;\n await gitRetry(() => git.pull(['origin', ref, '--force']));\n const commit = (await git.revparse([branchName])).trim() as LongCommitSha;\n config.branchCommits[branchName] = commit;\n config.branchIsModified[branchName] = false;\n return commit;\n /* v8 ignore next 3 -- TODO: add test */\n } catch (err) {\n return handleCommitError(err, branchName);\n }\n}\n\nexport async function commitFiles(\n commitConfig: CommitFilesConfig,\n): Promise<LongCommitSha | null> {\n try {\n const commitResult = await prepareCommit(commitConfig);\n if (commitResult) {\n const pushResult = await pushCommit({\n sourceRef: commitConfig.branchName,\n files: commitConfig.files,\n });\n if (pushResult) {\n const { branchName } = commitConfig;\n const { commitSha } = commitResult;\n config.branchCommits[branchName] = commitSha;\n config.branchIsModified[branchName] = false;\n return commitSha;\n }\n }\n return null;\n /* v8 ignore next 6 -- TODO: add test */\n } catch (err) {\n if (err.message.includes('[rejected] (stale info)')) {\n throw new Error(REPOSITORY_CHANGED);\n }\n throw err;\n }\n}\n\nexport function getUrl({\n protocol,\n auth,\n hostname,\n host,\n repository,\n}: {\n protocol?: GitProtocol;\n auth?: string;\n hostname?: string;\n host?: string;\n repository: string;\n}): string {\n if (protocol === 'ssh') {\n // TODO: types (#22198)\n return `git@${hostname!}:${repository}.git`;\n }\n return URL.format({\n protocol: protocol ?? 'https',\n auth,\n hostname,\n host,\n pathname: repository + '.git',\n });\n}\n\nlet remoteRefsExist = false;\n\n/**\n *\n * Non-branch refs allow us to store git objects without triggering CI pipelines.\n * It's useful for API-based branch rebasing.\n *\n * @see https://stackoverflow.com/questions/63866947/pushing-git-non-branch-references-to-a-remote/63868286\n *\n */\nexport async function pushCommitToRenovateRef(\n commitSha: string,\n refName: string,\n): Promise<void> {\n const fullRefName = `refs/renovate/branches/${refName}`;\n await git.raw(['update-ref', fullRefName, commitSha]);\n await git.push(['--force', 'origin', fullRefName]);\n remoteRefsExist = true;\n}\n\n/**\n *\n * Removes all remote \"refs/renovate/branches/*\" refs in two steps:\n *\n * Step 1: list refs\n *\n * $ git ls-remote origin \"refs/renovate/branches/*\"\n *\n * > cca38e9ea6d10946bdb2d0ca5a52c205783897aa refs/renovate/branches/foo\n * > 29ac154936c880068994e17eb7f12da7fdca70e5 refs/renovate/branches/bar\n * > 3fafaddc339894b6d4f97595940fd91af71d0355 refs/renovate/branches/baz\n * > ...\n *\n * Step 2:\n *\n * $ git push --delete origin refs/renovate/branches/foo refs/renovate/branches/bar refs/renovate/branches/baz\n *\n * If Step 2 fails because the repo doesn't allow bulk changes, we'll remove them one by one instead:\n *\n * $ git push --delete origin refs/renovate/branches/foo\n * $ git push --delete origin refs/renovate/branches/bar\n * $ git push --delete origin refs/renovate/branches/baz\n */\nexport async function clearRenovateRefs(): Promise<void> {\n if (!gitInitialized || !remoteRefsExist) {\n return;\n }\n\n logger.debug(`Cleaning up Renovate refs: refs/renovate/branches/*`);\n const renovateRefs: string[] = [];\n\n try {\n const rawOutput = await git.listRemote([\n config.url,\n 'refs/renovate/branches/*',\n ]);\n const refs = rawOutput\n .split(newlineRegex)\n .map((line) => line.replace(regEx(/[0-9a-f]+\\s+/i), '').trim())\n .filter((line) => line.startsWith('refs/renovate/branches/'));\n renovateRefs.push(...refs);\n /* v8 ignore next 3 -- TODO: add test */\n } catch (err) {\n logger.warn({ err }, `Renovate refs cleanup error`);\n }\n\n if (renovateRefs.length) {\n try {\n const pushOpts = ['--delete', 'origin', ...renovateRefs];\n await git.push(pushOpts);\n } catch (err) {\n if (bulkChangesDisallowed(err)) {\n for (const ref of renovateRefs) {\n try {\n const pushOpts = ['--delete', 'origin', ref];\n await git.push(pushOpts);\n /* v8 ignore next 4 -- TODO: add test */\n } catch (err) {\n logger.debug({ err }, 'Error deleting \"refs/renovate/branches/*\"');\n break;\n }\n }\n /* v8 ignore next 3 -- TODO: add test */\n } else {\n logger.warn({ err }, 'Error deleting \"refs/renovate/branches/*\"');\n }\n }\n }\n\n remoteRefsExist = false;\n}\n\nconst treeItemRegex = regEx(\n /^(?<mode>\\d{6})\\s+(?<type>blob|tree|commit)\\s+(?<sha>[0-9a-f]{40})\\s+(?<path>.*)$/,\n);\n\nconst treeShaRegex = regEx(/tree\\s+(?<treeSha>[0-9a-f]{40})\\s*/);\n\n/**\n *\n * Obtain top-level items of commit tree.\n * We don't need subtree items, so here are 2 steps only.\n *\n * Step 1: commit SHA -> tree SHA\n *\n * $ git cat-file -p <commit-sha>\n *\n * > tree <tree-sha>\n * > parent 59b8b0e79319b7dc38f7a29d618628f3b44c2fd7\n * > ...\n *\n * Step 2: tree SHA -> tree items (top-level)\n *\n * $ git cat-file -p <tree-sha>\n *\n * > 040000 tree 389400684d1f004960addc752be13097fe85d776 src\n * > ...\n * > 100644 blob 7d2edde437ad4e7bceb70dbfe70e93350d99c98b package.json\n *\n */\nexport async function listCommitTree(\n commitSha: LongCommitSha,\n): Promise<TreeItem[]> {\n const commitOutput = await git.catFile(['-p', commitSha]);\n const { treeSha } =\n /* v8 ignore next -- will never happen ? */\n treeShaRegex.exec(commitOutput)?.groups ?? {};\n const contents = await git.catFile(['-p', treeSha]);\n const lines = contents.split(newlineRegex);\n const result: TreeItem[] = [];\n for (const line of lines) {\n const matchGroups = treeItemRegex.exec(line)?.groups;\n if (matchGroups) {\n const { path, mode, type, sha } = matchGroups;\n result.push({ path, mode, type, sha: sha as LongCommitSha });\n }\n }\n return result;\n}\n\nasync function localBranchExists(branchName: string): Promise<boolean> {\n await syncGit();\n const localBranches = await git.branchLocal();\n return localBranches.all.includes(branchName);\n}\n\n/**\n * Synchronize a forked branch with its upstream counterpart.\n *\n * syncForkWithUpstream updates the fork's branch, to match the corresponding branch in the upstream repository.\n * The steps are:\n * 1. Check if the branch exists locally.\n * 2. If the branch exists locally: checkout the local branch.\n * 3. If the branch does _not_ exist locally: checkout the upstream branch.\n * 4. Reset the local branch to match the upstream branch.\n * 5. Force push the (updated) local branch to the origin repository.\n *\n * @param {string} branchName - The name of the branch to synchronize.\n * @returns {Promise<LongCommitSha>} - A promise that resolves to True if the synchronization is successful, or `false` if an error occurs.\n */\nexport async function syncForkWithUpstream(\n branchName: string,\n): Promise<LongCommitSha> {\n const remotes = await getRemotes();\n if (!remotes.some((r) => r === 'upstream')) {\n throw new Error('No remote named \"upstream\" exists, cannot sync fork');\n }\n try {\n await git.fetch(['upstream']);\n if (await localBranchExists(branchName)) {\n await checkoutBranch(branchName);\n } else {\n await checkoutBranchFromRemote(branchName, `upstream`);\n }\n await resetHardFromRemote(`upstream/${branchName}`);\n await forcePushToRemote(branchName, 'origin');\n // Get long Git SHA\n return (await git.revparse([branchName])) as LongCommitSha;\n } catch (err) {\n logger.error({ err }, 'Error synchronizing fork');\n throw new Error(UNKNOWN_ERROR);\n }\n}\n\nexport async function getRemotes(): Promise<string[]> {\n const remotes = await git.getRemotes();\n return remotes.map((remote) => remote.name);\n}\n"]}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/util/git/index.ts"],"names":[],"mappings":"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","sourcesContent":["import URL from 'node:url';\nimport { setTimeout } from 'timers/promises';\nimport is from '@sindresorhus/is';\nimport fs from 'fs-extra';\nimport semver from 'semver';\nimport type { Options, SimpleGit, TaskOptions } from 'simple-git';\nimport { ResetMode, simpleGit } from 'simple-git';\nimport upath from 'upath';\nimport { configFileNames } from '../../config/app-strings';\nimport { GlobalConfig } from '../../config/global';\nimport type { RenovateConfig } from '../../config/types';\nimport {\n CONFIG_VALIDATION,\n INVALID_PATH,\n REPOSITORY_CHANGED,\n REPOSITORY_DISABLED,\n REPOSITORY_EMPTY,\n SYSTEM_INSUFFICIENT_DISK_SPACE,\n TEMPORARY_ERROR,\n UNKNOWN_ERROR,\n} from '../../constants/error-messages';\nimport { logger } from '../../logger';\nimport { ExternalHostError } from '../../types/errors/external-host-error';\nimport type { GitProtocol } from '../../types/git';\nimport { incLimitedValue } from '../../workers/global/limits';\nimport { getCache } from '../cache/repository';\nimport { getEnv } from '../env';\nimport { newlineRegex, regEx } from '../regex';\nimport { matchRegexOrGlobList } from '../string-match';\nimport { parseGitAuthor } from './author';\nimport {\n getCachedBehindBaseResult,\n setCachedBehindBaseResult,\n} from './behind-base-branch-cache';\nimport { getNoVerify, simpleGitConfig } from './config';\nimport {\n getCachedConflictResult,\n setCachedConflictResult,\n} from './conflicts-cache';\nimport {\n bulkChangesDisallowed,\n checkForPlatformFailure,\n handleCommitError,\n} from './error';\nimport {\n getCachedModifiedResult,\n setCachedModifiedResult,\n} from './modified-cache';\nimport { configSigningKey, writePrivateKey } from './private-key';\nimport type {\n CommitFilesConfig,\n CommitResult,\n LocalConfig,\n LongCommitSha,\n PushFilesConfig,\n StatusResult,\n StorageConfig,\n TreeItem,\n} from './types';\n\nexport { setNoVerify } from './config';\nexport { setPrivateKey } from './private-key';\n\n// Retry parameters\nconst retryCount = 5;\nconst delaySeconds = 3;\nconst delayFactor = 2;\n\nexport const RENOVATE_FORK_UPSTREAM = 'renovate-fork-upstream';\n\n// A generic wrapper for simpleGit.* calls to make them more fault-tolerant\nexport async function gitRetry<T>(gitFunc: () => Promise<T>): Promise<T> {\n let round = 0;\n let lastError: Error | undefined;\n\n while (round <= retryCount) {\n if (round > 0) {\n logger.debug(`gitRetry round ${round}`);\n }\n try {\n const res = await gitFunc();\n if (round > 1) {\n logger.debug('Successful retry of git function');\n }\n return res;\n } catch (err) {\n lastError = err;\n logger.debug({ err }, `Git function thrown`);\n // Try to transform the Error to ExternalHostError\n const errChecked = checkForPlatformFailure(err);\n if (errChecked instanceof ExternalHostError) {\n logger.debug(\n { err: errChecked },\n `ExternalHostError thrown in round ${\n round + 1\n } of ${retryCount} - retrying in the next round`,\n );\n } else {\n throw err;\n }\n }\n\n const nextDelay = delayFactor ^ ((round - 1) * delaySeconds);\n logger.trace({ nextDelay }, `Delay next round`);\n await setTimeout(1000 * nextDelay);\n\n round++;\n }\n\n // Can't be `undefined` here.\n // eslint-disable-next-line @typescript-eslint/only-throw-error\n throw lastError;\n}\n\nasync function isDirectory(dir: string): Promise<boolean> {\n try {\n return (await fs.stat(dir)).isDirectory();\n } catch {\n return false;\n }\n}\n\nasync function getDefaultBranch(git: SimpleGit): Promise<string> {\n logger.debug('getDefaultBranch()');\n // see https://stackoverflow.com/a/62352647/3005034\n try {\n let res = await git.raw(['rev-parse', '--abbrev-ref', 'origin/HEAD']);\n /* v8 ignore start -- TODO: add test */\n if (!res) {\n logger.debug('Could not determine default branch using git rev-parse');\n const headPrefix = 'HEAD branch: ';\n res = (await git.raw(['remote', 'show', 'origin']))\n .split('\\n')\n .map((line) => line.trim())\n .find((line) => line.startsWith(headPrefix))!\n .replace(headPrefix, '');\n }\n /* v8 ignore stop */\n return res.replace('origin/', '').trim();\n /* v8 ignore start -- TODO: add test */\n } catch (err) {\n logger.debug({ err }, 'Error getting default branch');\n const errChecked = checkForPlatformFailure(err);\n if (errChecked) {\n throw errChecked;\n }\n if (\n err.message.startsWith(\n 'fatal: ref refs/remotes/origin/HEAD is not a symbolic ref',\n )\n ) {\n throw new Error(REPOSITORY_EMPTY);\n }\n if (err.message.includes(\"fatal: ambiguous argument 'origin/HEAD'\")) {\n logger.warn('Error getting default branch');\n throw new Error(TEMPORARY_ERROR);\n }\n throw err;\n }\n /* v8 ignore stop */\n}\n\nlet config: LocalConfig = {} as any;\n\n// TODO: can be undefined\nlet git: SimpleGit;\nlet gitInitialized: boolean;\nlet submodulesInitizialized: boolean;\n\nlet privateKeySet = false;\n\nexport const GIT_MINIMUM_VERSION = '2.33.0'; // git show-current\n\nexport async function validateGitVersion(): Promise<boolean> {\n let version: string | undefined;\n const globalGit = simpleGit();\n try {\n const { major, minor, patch, installed } = await globalGit.version();\n /* v8 ignore next 4 -- TODO: add test */\n if (!installed) {\n logger.error('Git not installed');\n return false;\n }\n version = `${major}.${minor}.${patch}`;\n /* v8 ignore next 4 */\n } catch (err) {\n logger.error({ err }, 'Error fetching git version');\n return false;\n }\n /* v8 ignore next 7 -- TODO: add test */\n if (!(version && semver.gte(version, GIT_MINIMUM_VERSION))) {\n logger.error(\n { detectedVersion: version, minimumVersion: GIT_MINIMUM_VERSION },\n 'Git version needs upgrading',\n );\n return false;\n }\n logger.debug(`Found valid git version: ${version}`);\n return true;\n}\n\nasync function fetchBranchCommits(preferUpstream = true): Promise<void> {\n config.branchCommits = {};\n const url =\n preferUpstream && config.upstreamUrl ? config.upstreamUrl : config.url;\n logger.debug(`fetchBranchCommits(): url=${url}`);\n const opts = ['ls-remote', '--heads', url];\n if (config.extraCloneOpts) {\n Object.entries(config.extraCloneOpts).forEach((e) =>\n // TODO: types (#22198)\n opts.unshift(e[0], `${e[1]!}`),\n );\n }\n try {\n const lsRemoteRes = await gitRetry(() => git.raw(opts));\n logger.trace({ lsRemoteRes }, 'git ls-remote result');\n lsRemoteRes\n .split(newlineRegex)\n .filter(Boolean)\n .map((line) => line.trim().split(regEx(/\\s+/)))\n .forEach(([sha, ref]) => {\n config.branchCommits[ref.replace('refs/heads/', '')] =\n sha as LongCommitSha;\n });\n logger.trace({ branchCommits: config.branchCommits }, 'branch commits');\n /* v8 ignore next 11 -- TODO: add test */\n } catch (err) {\n const errChecked = checkForPlatformFailure(err);\n if (errChecked) {\n throw errChecked;\n }\n logger.debug({ err }, 'git error');\n if (err.message?.includes('Please ask the owner to check their account')) {\n throw new Error(REPOSITORY_DISABLED);\n }\n throw err;\n }\n}\n\nexport async function fetchRevSpec(revSpec: string): Promise<void> {\n await gitRetry(() => git.fetch(['origin', revSpec]));\n}\n\nexport async function initRepo(args: StorageConfig): Promise<void> {\n config = { ...args } as any;\n config.ignoredAuthors = [];\n config.additionalBranches = [];\n config.branchIsModified = {};\n // TODO: safe to pass all env variables? use `getChildEnv` instead?\n git = simpleGit(GlobalConfig.get('localDir'), simpleGitConfig()).env({\n ...getEnv(),\n LANG: 'C.UTF-8',\n LC_ALL: 'C.UTF-8',\n });\n gitInitialized = false;\n submodulesInitizialized = false;\n await fetchBranchCommits();\n}\n\nasync function resetToBranch(branchName: string): Promise<void> {\n logger.debug(`resetToBranch(${branchName})`);\n await git.raw(['reset', '--hard']);\n await gitRetry(() => git.checkout(branchName));\n await git.raw(['reset', '--hard', 'origin/' + branchName]);\n await git.raw(['clean', '-fd']);\n}\n\n/* v8 ignore next 4 -- TODO: add test */\nexport async function resetToCommit(commit: LongCommitSha): Promise<void> {\n logger.debug(`resetToCommit(${commit})`);\n await git.raw(['reset', '--hard', commit]);\n}\n\nasync function deleteLocalBranch(branchName: string): Promise<void> {\n await git.branch(['-D', branchName]);\n}\n\nasync function cleanLocalBranches(): Promise<void> {\n const existingBranches = (await git.raw(['branch']))\n .split(newlineRegex)\n .map((branch) => branch.trim())\n .filter((branch) => branch.length > 0 && !branch.startsWith('* '));\n logger.debug({ existingBranches });\n for (const branchName of existingBranches) {\n await deleteLocalBranch(branchName);\n }\n}\n\nexport function setGitAuthor(gitAuthor: string | undefined): void {\n const gitAuthorParsed = parseGitAuthor(\n gitAuthor ?? 'Renovate Bot <renovate@whitesourcesoftware.com>',\n );\n if (!gitAuthorParsed) {\n const error = new Error(CONFIG_VALIDATION);\n error.validationSource = 'None';\n error.validationError = 'Invalid gitAuthor';\n error.validationMessage = `\\`gitAuthor\\` is not parsed as valid RFC5322 format: \\`${gitAuthor!}\\``;\n throw error;\n }\n config.gitAuthorName = gitAuthorParsed.name;\n config.gitAuthorEmail = gitAuthorParsed.address;\n}\n\nexport async function writeGitAuthor(): Promise<void> {\n const { gitAuthorName, gitAuthorEmail, writeGitDone } = config;\n /* v8 ignore next 3 -- TODO: add test */\n if (writeGitDone) {\n return;\n }\n config.writeGitDone = true;\n try {\n if (gitAuthorName) {\n logger.debug(`Setting git author name: ${gitAuthorName}`);\n await git.addConfig('user.name', gitAuthorName);\n }\n if (gitAuthorEmail) {\n logger.debug(`Setting git author email: ${gitAuthorEmail}`);\n await git.addConfig('user.email', gitAuthorEmail);\n }\n /* v8 ignore next 11 -- TODO: add test */\n } catch (err) {\n const errChecked = checkForPlatformFailure(err);\n if (errChecked) {\n throw errChecked;\n }\n logger.debug(\n { err, gitAuthorName, gitAuthorEmail },\n 'Error setting git author config',\n );\n throw new Error(TEMPORARY_ERROR);\n }\n}\n\nexport function setUserRepoConfig({\n gitIgnoredAuthors,\n gitAuthor,\n}: RenovateConfig): void {\n config.ignoredAuthors = gitIgnoredAuthors ?? [];\n setGitAuthor(gitAuthor);\n}\n\nexport async function getSubmodules(): Promise<string[]> {\n try {\n return (\n (await git.raw([\n 'config',\n '--file',\n '.gitmodules',\n '--get-regexp',\n '\\\\.path',\n ])) || ''\n )\n .trim()\n .split(regEx(/[\\n\\s]/))\n .filter((_e: string, i: number) => i % 2);\n /* v8 ignore next 4 -- TODO: add test */\n } catch (err) {\n logger.warn({ err }, 'Error getting submodules');\n return [];\n }\n}\n\nexport async function cloneSubmodules(\n shouldClone: boolean,\n cloneSubmodulesFilter: string[] | undefined,\n): Promise<void> {\n if (!shouldClone || submodulesInitizialized) {\n return;\n }\n submodulesInitizialized = true;\n await syncGit();\n const submodules = await getSubmodules();\n for (const submodule of submodules) {\n if (!matchRegexOrGlobList(submodule, cloneSubmodulesFilter ?? ['*'])) {\n logger.debug(\n { cloneSubmodulesFilter },\n `Skipping submodule ${submodule}`,\n );\n continue;\n }\n try {\n logger.debug(`Cloning git submodule at ${submodule}`);\n await gitRetry(() =>\n git.submoduleUpdate(['--init', '--recursive', submodule]),\n );\n } catch (err) {\n logger.warn({ err, submodule }, `Unable to initialise git submodule`);\n }\n }\n}\n\nexport function isCloned(): boolean {\n return gitInitialized;\n}\n\nexport async function syncGit(): Promise<void> {\n if (gitInitialized) {\n /* v8 ignore next 3 -- TODO: add test */\n if (getEnv().RENOVATE_X_CLEAR_HOOKS) {\n await git.raw(['config', 'core.hooksPath', '/dev/null']);\n }\n return;\n }\n /* v8 ignore next 3 -- failsafe TODO: add test */\n if (GlobalConfig.get('platform') === 'local') {\n throw new Error('Cannot sync git when platform=local');\n }\n gitInitialized = true;\n const localDir = GlobalConfig.get('localDir')!;\n logger.debug(`syncGit(): Initializing git repository into ${localDir}`);\n const gitHead = upath.join(localDir, '.git/HEAD');\n let clone = true;\n\n if (await fs.pathExists(gitHead)) {\n logger.debug(\n `syncGit(): Found existing git repository, attempting git fetch`,\n );\n try {\n await git.raw(['remote', 'set-url', 'origin', config.url]);\n const fetchStart = Date.now();\n await gitRetry(() => git.fetch(['--prune', 'origin']));\n config.currentBranch =\n config.currentBranch || (await getDefaultBranch(git));\n await resetToBranch(config.currentBranch);\n await cleanLocalBranches();\n const durationMs = Math.round(Date.now() - fetchStart);\n logger.info({ durationMs }, 'git fetch completed');\n clone = false;\n /* v8 ignore next 6 -- TODO: add test */\n } catch (err) {\n if (err.message === REPOSITORY_EMPTY) {\n throw err;\n }\n logger.info({ err }, 'git fetch error, falling back to git clone');\n }\n }\n if (clone) {\n const cloneStart = Date.now();\n try {\n const opts: string[] = [];\n if (config.defaultBranch) {\n opts.push('-b', config.defaultBranch);\n }\n if (config.fullClone) {\n logger.debug('Performing full clone');\n } else {\n logger.debug('Performing blobless clone');\n opts.push('--filter=blob:none');\n }\n if (config.extraCloneOpts) {\n Object.entries(config.extraCloneOpts).forEach((e) =>\n // TODO: types (#22198)\n opts.push(e[0], `${e[1]!}`),\n );\n }\n const emptyDirAndClone = async (): Promise<void> => {\n await fs.emptyDir(localDir);\n await git.clone(config.url, '.', opts);\n };\n await gitRetry(() => emptyDirAndClone());\n /* v8 ignore next 10 -- TODO: add test */\n } catch (err) {\n logger.debug({ err }, 'git clone error');\n if (err.message?.includes('No space left on device')) {\n throw new Error(SYSTEM_INSUFFICIENT_DISK_SPACE);\n }\n if (err.message === REPOSITORY_EMPTY) {\n throw err;\n }\n throw new ExternalHostError(err, 'git');\n }\n const durationMs = Math.round(Date.now() - cloneStart);\n logger.debug({ durationMs }, 'git clone completed');\n }\n try {\n config.currentBranchSha = (\n await git.raw(['rev-parse', 'HEAD'])\n ).trim() as LongCommitSha;\n /* v8 ignore next 6 -- TODO: add test */\n } catch (err) {\n if (err.message?.includes('fatal: not a git repository')) {\n throw new Error(REPOSITORY_CHANGED);\n }\n throw err;\n }\n // This will only happen now if set in global config\n await cloneSubmodules(!!config.cloneSubmodules, config.cloneSubmodulesFilter);\n try {\n const latestCommit = (await git.log({ n: 1 })).latest;\n logger.debug({ latestCommit }, 'latest repository commit');\n /* v8 ignore next 10 -- TODO: add test */\n } catch (err) {\n const errChecked = checkForPlatformFailure(err);\n if (errChecked) {\n throw errChecked;\n }\n if (err.message.includes('does not have any commits yet')) {\n throw new Error(REPOSITORY_EMPTY);\n }\n logger.warn({ err }, 'Cannot retrieve latest commit');\n }\n config.currentBranch =\n config.currentBranch ??\n config.defaultBranch ??\n (await getDefaultBranch(git));\n /* v8 ignore next -- TODO: add test */\n delete getCache()?.semanticCommits;\n\n // If upstreamUrl is set then the bot is running in fork mode\n // The \"upstream\" remote is the original repository which was forked from\n if (config.upstreamUrl) {\n logger.debug(\n `Bringing default branch up-to-date with ${RENOVATE_FORK_UPSTREAM}, to get latest config`,\n );\n // Add remote if it does not exist\n const remotes = await git.getRemotes(true);\n if (!remotes.some((remote) => remote.name === RENOVATE_FORK_UPSTREAM)) {\n logger.debug(`Adding remote ${RENOVATE_FORK_UPSTREAM}`);\n await git.addRemote(RENOVATE_FORK_UPSTREAM, config.upstreamUrl);\n }\n await syncForkWithUpstream(config.currentBranch);\n await fetchBranchCommits(false);\n }\n\n config.currentBranchSha = (\n await git.revparse('HEAD')\n ).trim() as LongCommitSha;\n logger.debug(`Current branch SHA: ${config.currentBranchSha}`);\n}\n\nexport async function getRepoStatus(path?: string): Promise<StatusResult> {\n if (is.string(path)) {\n const localDir = GlobalConfig.get('localDir');\n const localPath = upath.resolve(localDir, path);\n if (!localPath.startsWith(upath.resolve(localDir))) {\n logger.warn(\n { localPath, localDir },\n 'Preventing access to file outside the local directory',\n );\n throw new Error(INVALID_PATH);\n }\n }\n\n await syncGit();\n return git.status(path ? [path] : []);\n}\n\nexport function branchExists(branchName: string): boolean {\n return !!config.branchCommits[branchName];\n}\n\n// Return the commit SHA for a branch\nexport function getBranchCommit(branchName: string): LongCommitSha | null {\n return config.branchCommits[branchName] || null;\n}\n\nexport async function getCommitMessages(): Promise<string[]> {\n logger.debug('getCommitMessages');\n if (GlobalConfig.get('platform') !== 'local') {\n await syncGit();\n }\n try {\n const res = await git.log({\n n: 20,\n format: { message: '%s' },\n });\n return res.all.map((commit) => commit.message);\n /* v8 ignore next 3 -- TODO: add test */\n } catch {\n return [];\n }\n}\n\nexport async function checkoutBranch(\n branchName: string,\n): Promise<LongCommitSha> {\n logger.debug(`Setting current branch to ${branchName}`);\n await syncGit();\n try {\n await gitRetry(() =>\n git.checkout(\n submodulesInitizialized\n ? ['-f', '--recurse-submodules', branchName, '--']\n : ['-f', branchName, '--'],\n ),\n );\n config.currentBranch = branchName;\n config.currentBranchSha = (\n await git.raw(['rev-parse', 'HEAD'])\n ).trim() as LongCommitSha;\n const latestCommitDate = (await git.log({ n: 1 }))?.latest?.date;\n if (latestCommitDate) {\n logger.debug(\n { branchName, latestCommitDate, sha: config.currentBranchSha },\n 'latest commit',\n );\n }\n await git.reset(ResetMode.HARD);\n return config.currentBranchSha;\n /* v8 ignore next 11 -- TODO: add test */\n } catch (err) {\n const errChecked = checkForPlatformFailure(err);\n if (errChecked) {\n throw errChecked;\n }\n if (err.message?.includes('fatal: ambiguous argument')) {\n logger.warn({ err }, 'Failed to checkout branch');\n throw new Error(TEMPORARY_ERROR);\n }\n throw err;\n }\n}\n\nexport async function checkoutBranchFromRemote(\n branchName: string,\n remoteName: string,\n): Promise<LongCommitSha> {\n logger.debug(`Checking out branch ${branchName} from remote ${remoteName}`);\n await syncGit();\n try {\n await gitRetry(() =>\n git.checkoutBranch(branchName, `${remoteName}/${branchName}`),\n );\n config.currentBranch = branchName;\n config.currentBranchSha = (\n await git.revparse('HEAD')\n ).trim() as LongCommitSha;\n logger.debug(`Checked out branch ${branchName} from remote ${remoteName}`);\n config.branchCommits[branchName] = config.currentBranchSha;\n return config.currentBranchSha;\n } catch (err) {\n const errChecked = checkForPlatformFailure(err);\n /* v8 ignore next 3 -- hard to test */\n if (errChecked) {\n throw errChecked;\n }\n if (err.message?.includes('fatal: ambiguous argument')) {\n logger.warn({ err }, 'Failed to checkout branch');\n throw new Error(TEMPORARY_ERROR);\n }\n throw err;\n }\n}\n\nexport async function resetHardFromRemote(\n remoteAndBranch: string,\n): Promise<void> {\n try {\n const resetLog = await git.reset(['--hard', remoteAndBranch]);\n logger.debug({ resetLog }, 'git reset log');\n } catch (err) {\n logger.error({ err }, 'Error during git reset --hard');\n throw err;\n }\n}\n\nexport async function forcePushToRemote(\n branchName: string,\n remote: string,\n): Promise<void> {\n try {\n const pushLog = await git.push([remote, branchName, '--force']);\n logger.debug({ pushLog }, 'git push log');\n } catch (err) {\n logger.error({ err }, 'Error during git push --force');\n throw err;\n }\n}\n\nexport async function getFileList(): Promise<string[]> {\n await syncGit();\n const branch = config.currentBranch;\n let files: string;\n try {\n files = await git.raw(['ls-tree', '-r', `refs/heads/${branch}`]);\n /* v8 ignore next 10 -- TODO: add test */\n } catch (err) {\n if (err.message?.includes('fatal: Not a valid object name')) {\n logger.debug(\n { err },\n 'Branch not found when checking branch list - aborting',\n );\n throw new Error(REPOSITORY_CHANGED);\n }\n throw err;\n }\n /* v8 ignore next 3 -- TODO: add test */\n if (!files) {\n return [];\n }\n // submodules are starting with `160000 commit`\n return files\n .split(newlineRegex)\n .filter(is.string)\n .filter((line) => line.startsWith('100'))\n .map((line) => line.split(regEx(/\\t/)).pop()!);\n}\n\nexport function getBranchList(): string[] {\n return Object.keys(config.branchCommits ?? {});\n}\n\nexport async function isBranchBehindBase(\n branchName: string,\n baseBranch: string,\n): Promise<boolean> {\n const baseBranchSha = getBranchCommit(baseBranch);\n const branchSha = getBranchCommit(branchName);\n let isBehind = getCachedBehindBaseResult(\n branchName,\n branchSha,\n baseBranch,\n baseBranchSha,\n );\n if (isBehind !== null) {\n logger.debug(`branch.isBehindBase(): using cached result \"${isBehind}\"`);\n return isBehind;\n }\n\n logger.debug('branch.isBehindBase(): using git to calculate');\n\n await syncGit();\n try {\n const behindCount = (\n await git.raw(['rev-list', '--count', `${branchSha!}..${baseBranchSha!}`])\n ).trim();\n isBehind = behindCount !== '0';\n logger.debug(\n { baseBranch, branchName },\n `branch.isBehindBase(): ${isBehind}`,\n );\n setCachedBehindBaseResult(branchName, isBehind);\n return isBehind;\n /* v8 ignore next 7 -- TODO: add test */\n } catch (err) {\n const errChecked = checkForPlatformFailure(err);\n if (errChecked) {\n throw errChecked;\n }\n throw err;\n }\n}\n\nexport async function isBranchModified(\n branchName: string,\n baseBranch: string,\n): Promise<boolean> {\n if (!branchExists(branchName)) {\n logger.debug('branch.isModified(): no cache');\n return false;\n }\n // First check local config\n if (config.branchIsModified[branchName] !== undefined) {\n return config.branchIsModified[branchName];\n }\n // Second check repository cache\n const isModified = getCachedModifiedResult(\n branchName,\n getBranchCommit(branchName), // branch sha\n );\n if (isModified !== null) {\n logger.debug(`branch.isModified(): using cached result \"${isModified}\"`);\n config.branchIsModified[branchName] = isModified;\n return isModified;\n }\n\n logger.debug('branch.isModified(): using git to calculate');\n\n await syncGit();\n const committedAuthors = new Set<string>();\n try {\n const commits = await git.log([\n `origin/${baseBranch}..origin/${branchName}`,\n ]);\n\n for (const commit of commits.all) {\n committedAuthors.add(commit.author_email);\n }\n /* v8 ignore next 10 -- TODO: add test */\n } catch (err) {\n if (err.message?.includes('fatal: bad revision')) {\n logger.debug(\n { err },\n 'Remote branch not found when checking last commit author - aborting run',\n );\n throw new Error(REPOSITORY_CHANGED);\n }\n logger.warn({ err }, 'Error checking last author for isBranchModified');\n }\n const { gitAuthorEmail, ignoredAuthors } = config;\n\n const includedAuthors = new Set(committedAuthors);\n\n if (gitAuthorEmail) {\n includedAuthors.delete(gitAuthorEmail);\n }\n\n for (const ignoredAuthor of ignoredAuthors) {\n includedAuthors.delete(ignoredAuthor);\n }\n\n if (includedAuthors.size === 0) {\n // authors all match - branch has not been modified\n logger.trace(\n {\n branchName,\n baseBranch,\n committedAuthors: [...committedAuthors],\n includedAuthors: [...includedAuthors],\n gitAuthorEmail,\n ignoredAuthors,\n },\n 'branch.isModified() = false',\n );\n logger.debug('branch.isModified() = false');\n config.branchIsModified[branchName] = false;\n setCachedModifiedResult(branchName, false);\n return false;\n }\n logger.trace(\n {\n branchName,\n baseBranch,\n committedAuthors: [...committedAuthors],\n includedAuthors: [...includedAuthors],\n gitAuthorEmail,\n ignoredAuthors,\n },\n 'branch.isModified() = true',\n );\n logger.debug(\n { branchName, unrecognizedAuthors: [...includedAuthors] },\n 'branch.isModified() = true',\n );\n config.branchIsModified[branchName] = true;\n setCachedModifiedResult(branchName, true);\n return true;\n}\n\nexport async function isBranchConflicted(\n baseBranch: string,\n branch: string,\n): Promise<boolean> {\n logger.debug(`isBranchConflicted(${baseBranch}, ${branch})`);\n\n const baseBranchSha = getBranchCommit(baseBranch);\n const branchSha = getBranchCommit(branch);\n if (!baseBranchSha || !branchSha) {\n logger.warn(\n { baseBranch, branch },\n 'isBranchConflicted: branch does not exist',\n );\n return true;\n }\n\n const isConflicted = getCachedConflictResult(\n branch,\n branchSha,\n baseBranch,\n baseBranchSha,\n );\n if (is.boolean(isConflicted)) {\n logger.debug(\n `branch.isConflicted(): using cached result \"${isConflicted}\"`,\n );\n return isConflicted;\n }\n\n logger.debug('branch.isConflicted(): using git to calculate');\n\n let result = false;\n await syncGit();\n await writeGitAuthor();\n\n const origBranch = config.currentBranch;\n try {\n await git.reset(ResetMode.HARD);\n //TODO: see #18600\n if (origBranch !== baseBranch) {\n await git.checkout(baseBranch);\n }\n await git.merge(['--no-commit', '--no-ff', `origin/${branch}`]);\n } catch (err) {\n result = true;\n /* v8 ignore next 6 -- TODO: add test */\n if (!err?.git?.conflicts?.length) {\n logger.debug(\n { baseBranch, branch, err },\n 'isBranchConflicted: unknown error',\n );\n }\n } finally {\n try {\n await git.merge(['--abort']);\n if (origBranch !== baseBranch) {\n await git.checkout(origBranch);\n }\n /* v8 ignore next 6 -- TODO: add test */\n } catch (err) {\n logger.debug(\n { baseBranch, branch, err },\n 'isBranchConflicted: cleanup error',\n );\n }\n }\n\n setCachedConflictResult(branch, result);\n logger.debug(`branch.isConflicted(): ${result}`);\n return result;\n}\n\nexport async function deleteBranch(branchName: string): Promise<void> {\n await syncGit();\n try {\n const deleteCommand = ['push', '--delete', 'origin', branchName];\n\n if (getNoVerify().includes('push')) {\n deleteCommand.push('--no-verify');\n }\n\n await gitRetry(() => git.raw(deleteCommand));\n logger.debug(`Deleted remote branch: ${branchName}`);\n } catch (err) {\n const errChecked = checkForPlatformFailure(err);\n /* v8 ignore next 3 -- TODO: add test */\n if (errChecked) {\n throw errChecked;\n }\n logger.debug(`No remote branch to delete with name: ${branchName}`);\n }\n try {\n /* v8 ignore next 2 -- TODO: add test (always throws) */\n await deleteLocalBranch(branchName);\n logger.debug(`Deleted local branch: ${branchName}`);\n } catch (err) {\n const errChecked = checkForPlatformFailure(err);\n /* v8 ignore next 3 -- TODO: add test */\n if (errChecked) {\n throw errChecked;\n }\n logger.debug(`No local branch to delete with name: ${branchName}`);\n }\n delete config.branchCommits[branchName];\n}\n\nexport async function mergeToLocal(refSpecToMerge: string): Promise<void> {\n let status: StatusResult | undefined;\n try {\n await syncGit();\n await writeGitAuthor();\n await git.reset(ResetMode.HARD);\n await gitRetry(() =>\n git.checkout([\n '-B',\n config.currentBranch,\n 'origin/' + config.currentBranch,\n ]),\n );\n status = await git.status();\n await fetchRevSpec(refSpecToMerge);\n await gitRetry(() => git.merge(['FETCH_HEAD']));\n } catch (err) {\n logger.debug(\n {\n baseBranch: config.currentBranch,\n baseSha: config.currentBranchSha,\n refSpecToMerge,\n status,\n err,\n },\n 'mergeLocally error',\n );\n throw err;\n }\n}\n\nexport async function mergeBranch(branchName: string): Promise<void> {\n let status: StatusResult | undefined;\n try {\n await syncGit();\n await writeGitAuthor();\n await git.reset(ResetMode.HARD);\n await gitRetry(() =>\n git.checkout(['-B', branchName, 'origin/' + branchName]),\n );\n await gitRetry(() =>\n git.checkout([\n '-B',\n config.currentBranch,\n 'origin/' + config.currentBranch,\n ]),\n );\n status = await git.status();\n await gitRetry(() => git.merge(['--ff-only', branchName]));\n await gitRetry(() => git.push('origin', config.currentBranch));\n incLimitedValue('Commits');\n } catch (err) {\n logger.debug(\n {\n baseBranch: config.currentBranch,\n baseSha: config.currentBranchSha,\n branchName,\n branchSha: getBranchCommit(branchName),\n status,\n err,\n },\n 'mergeBranch error',\n );\n throw err;\n }\n}\n\nexport async function getBranchLastCommitTime(\n branchName: string,\n): Promise<Date> {\n await syncGit();\n try {\n const time = await git.show(['-s', '--format=%ai', 'origin/' + branchName]);\n return new Date(Date.parse(time));\n } catch (err) {\n const errChecked = checkForPlatformFailure(err);\n /* v8 ignore next 3 -- TODO: add test */\n if (errChecked) {\n throw errChecked;\n }\n return new Date();\n }\n}\n\nexport async function getBranchFiles(\n branchName: string,\n): Promise<string[] | null> {\n await syncGit();\n try {\n const diff = await gitRetry(() =>\n git.diffSummary([`origin/${branchName}`, `origin/${branchName}^`]),\n );\n return diff.files.map((file) => file.file);\n /* v8 ignore next 8 -- TODO: add test */\n } catch (err) {\n logger.warn({ err }, 'getBranchFiles error');\n const errChecked = checkForPlatformFailure(err);\n if (errChecked) {\n throw errChecked;\n }\n return null;\n }\n}\n\nexport async function getFile(\n filePath: string,\n branchName?: string,\n): Promise<string | null> {\n await syncGit();\n try {\n const content = await git.show([\n 'origin/' + (branchName ?? config.currentBranch) + ':' + filePath,\n ]);\n return content;\n } catch (err) {\n const errChecked = checkForPlatformFailure(err);\n /* v8 ignore next 3 -- TODO: add test */\n if (errChecked) {\n throw errChecked;\n }\n return null;\n }\n}\n\nexport async function getFiles(\n fileNames: string[],\n): Promise<Record<string, string | null>> {\n const fileContentMap: Record<string, string | null> = {};\n\n for (const fileName of fileNames) {\n fileContentMap[fileName] = await getFile(fileName);\n }\n\n return fileContentMap;\n}\n\nexport async function hasDiff(\n sourceRef: string,\n targetRef: string,\n): Promise<boolean> {\n await syncGit();\n try {\n return (\n (await gitRetry(() => git.diff([sourceRef, targetRef, '--']))) !== ''\n );\n } catch {\n return true;\n }\n}\n\nasync function handleCommitAuth(localDir: string): Promise<void> {\n if (!privateKeySet) {\n await writePrivateKey();\n privateKeySet = true;\n }\n await configSigningKey(localDir);\n await writeGitAuthor();\n}\n\n/**\n *\n * Prepare local branch with commit\n *\n * 0. Hard reset\n * 1. Creates local branch with `origin/` prefix\n * 2. Perform `git add` (respecting mode) and `git remove` for each file\n * 3. Perform commit\n * 4. Check whether resulting commit is empty or not (due to .gitignore)\n * 5. If not empty, return commit info for further processing\n *\n */\nexport async function prepareCommit({\n branchName,\n files,\n message,\n force = false,\n}: CommitFilesConfig): Promise<CommitResult | null> {\n const localDir = GlobalConfig.get('localDir')!;\n await syncGit();\n logger.debug(`Preparing files for committing to branch ${branchName}`);\n await handleCommitAuth(localDir);\n try {\n await git.reset(ResetMode.HARD);\n await git.raw(['clean', '-fd']);\n const parentCommitSha = config.currentBranchSha;\n await gitRetry(() =>\n git.checkout(['-B', branchName, 'origin/' + config.currentBranch]),\n );\n const deletedFiles: string[] = [];\n const addedModifiedFiles: string[] = [];\n const ignoredFiles: string[] = [];\n for (const file of files) {\n const fileName = file.path;\n if (file.type === 'deletion') {\n try {\n await git.rm([fileName]);\n deletedFiles.push(fileName);\n /* v8 ignore next 8 -- TODO: add test */\n } catch (err) {\n const errChecked = checkForPlatformFailure(err);\n if (errChecked) {\n throw errChecked;\n }\n logger.trace({ err, fileName }, 'Cannot delete file');\n ignoredFiles.push(fileName);\n }\n } else {\n if (await isDirectory(upath.join(localDir, fileName))) {\n // This is usually a git submodule update\n logger.trace({ fileName }, 'Adding directory commit');\n } else if (file.contents === null) {\n continue;\n } else {\n let contents: Buffer;\n if (typeof file.contents === 'string') {\n contents = Buffer.from(file.contents);\n /* v8 ignore next 3 -- TODO: add test */\n } else {\n contents = file.contents;\n }\n // some file systems including Windows don't support the mode\n // so the index should be manually updated after adding the file\n if (file.isSymlink) {\n await fs.symlink(file.contents, upath.join(localDir, fileName));\n } else {\n await fs.outputFile(upath.join(localDir, fileName), contents, {\n mode: file.isExecutable ? 0o777 : 0o666,\n });\n }\n }\n try {\n /* v8 ignore next 2 -- TODO: add test */\n const addParams =\n fileName === configFileNames[0] ? ['-f', fileName] : fileName;\n await git.add(addParams);\n if (file.isExecutable) {\n await git.raw(['update-index', '--chmod=+x', fileName]);\n }\n addedModifiedFiles.push(fileName);\n /* v8 ignore next 11 -- TODO: add test */\n } catch (err) {\n if (\n !err.message.includes(\n 'The following paths are ignored by one of your .gitignore files',\n )\n ) {\n throw err;\n }\n logger.debug(`Cannot commit ignored file: ${fileName}`);\n ignoredFiles.push(file.path);\n }\n }\n }\n\n const commitOptions: Options = {};\n if (getNoVerify().includes('commit')) {\n commitOptions['--no-verify'] = null;\n }\n\n const commitRes = await git.commit(message, [], commitOptions);\n if (\n commitRes.summary &&\n commitRes.summary.changes === 0 &&\n commitRes.summary.insertions === 0 &&\n commitRes.summary.deletions === 0\n ) {\n logger.warn({ commitRes }, 'Detected empty commit - aborting git push');\n return null;\n }\n logger.debug(\n { deletedFiles, ignoredFiles, result: commitRes },\n `git commit`,\n );\n if (!force && !(await hasDiff('HEAD', `origin/${branchName}`))) {\n logger.debug(\n { branchName, deletedFiles, addedModifiedFiles, ignoredFiles },\n 'No file changes detected. Skipping commit',\n );\n return null;\n }\n\n const commitSha = (\n await git.revparse([branchName])\n ).trim() as LongCommitSha;\n const result: CommitResult = {\n parentCommitSha,\n commitSha,\n files: files.filter((fileChange) => {\n if (fileChange.type === 'deletion') {\n return deletedFiles.includes(fileChange.path);\n }\n return addedModifiedFiles.includes(fileChange.path);\n }),\n };\n\n return result;\n /* v8 ignore next 3 -- TODO: add test */\n } catch (err) {\n return handleCommitError(err, branchName, files);\n }\n}\n\nexport async function pushCommit({\n sourceRef,\n targetRef,\n files,\n}: PushFilesConfig): Promise<boolean> {\n await syncGit();\n logger.debug(`Pushing refSpec ${sourceRef}:${targetRef ?? sourceRef}`);\n let result = false;\n try {\n const pushOptions: TaskOptions = {\n '--force-with-lease': null,\n '-u': null,\n };\n if (getNoVerify().includes('push')) {\n pushOptions['--no-verify'] = null;\n }\n\n const pushRes = await gitRetry(() =>\n git.push('origin', `${sourceRef}:${targetRef ?? sourceRef}`, pushOptions),\n );\n delete pushRes.repo;\n logger.debug({ result: pushRes }, 'git push');\n incLimitedValue('Commits');\n result = true;\n /* v8 ignore next 3 -- TODO: add test */\n } catch (err) {\n handleCommitError(err, sourceRef, files);\n }\n return result;\n}\n\nexport async function fetchBranch(\n branchName: string,\n): Promise<LongCommitSha | null> {\n await syncGit();\n logger.debug(`Fetching branch ${branchName}`);\n try {\n const ref = `refs/heads/${branchName}:refs/remotes/origin/${branchName}`;\n await gitRetry(() => git.pull(['origin', ref, '--force']));\n const commit = (await git.revparse([branchName])).trim() as LongCommitSha;\n config.branchCommits[branchName] = commit;\n config.branchIsModified[branchName] = false;\n return commit;\n /* v8 ignore next 3 -- TODO: add test */\n } catch (err) {\n return handleCommitError(err, branchName);\n }\n}\n\nexport async function commitFiles(\n commitConfig: CommitFilesConfig,\n): Promise<LongCommitSha | null> {\n try {\n const commitResult = await prepareCommit(commitConfig);\n if (commitResult) {\n const pushResult = await pushCommit({\n sourceRef: commitConfig.branchName,\n files: commitConfig.files,\n });\n if (pushResult) {\n const { branchName } = commitConfig;\n const { commitSha } = commitResult;\n config.branchCommits[branchName] = commitSha;\n config.branchIsModified[branchName] = false;\n return commitSha;\n }\n }\n return null;\n /* v8 ignore next 6 -- TODO: add test */\n } catch (err) {\n if (err.message.includes('[rejected] (stale info)')) {\n throw new Error(REPOSITORY_CHANGED);\n }\n throw err;\n }\n}\n\nexport function getUrl({\n protocol,\n auth,\n hostname,\n host,\n repository,\n}: {\n protocol?: GitProtocol;\n auth?: string;\n hostname?: string;\n host?: string;\n repository: string;\n}): string {\n if (protocol === 'ssh') {\n // TODO: types (#22198)\n return `git@${hostname!}:${repository}.git`;\n }\n return URL.format({\n protocol: protocol ?? 'https',\n auth,\n hostname,\n host,\n pathname: repository + '.git',\n });\n}\n\nlet remoteRefsExist = false;\n\n/**\n *\n * Non-branch refs allow us to store git objects without triggering CI pipelines.\n * It's useful for API-based branch rebasing.\n *\n * @see https://stackoverflow.com/questions/63866947/pushing-git-non-branch-references-to-a-remote/63868286\n *\n */\nexport async function pushCommitToRenovateRef(\n commitSha: string,\n refName: string,\n): Promise<void> {\n const fullRefName = `refs/renovate/branches/${refName}`;\n await git.raw(['update-ref', fullRefName, commitSha]);\n await git.push(['--force', 'origin', fullRefName]);\n remoteRefsExist = true;\n}\n\n/**\n *\n * Removes all remote \"refs/renovate/branches/*\" refs in two steps:\n *\n * Step 1: list refs\n *\n * $ git ls-remote origin \"refs/renovate/branches/*\"\n *\n * > cca38e9ea6d10946bdb2d0ca5a52c205783897aa refs/renovate/branches/foo\n * > 29ac154936c880068994e17eb7f12da7fdca70e5 refs/renovate/branches/bar\n * > 3fafaddc339894b6d4f97595940fd91af71d0355 refs/renovate/branches/baz\n * > ...\n *\n * Step 2:\n *\n * $ git push --delete origin refs/renovate/branches/foo refs/renovate/branches/bar refs/renovate/branches/baz\n *\n * If Step 2 fails because the repo doesn't allow bulk changes, we'll remove them one by one instead:\n *\n * $ git push --delete origin refs/renovate/branches/foo\n * $ git push --delete origin refs/renovate/branches/bar\n * $ git push --delete origin refs/renovate/branches/baz\n */\nexport async function clearRenovateRefs(): Promise<void> {\n if (!gitInitialized || !remoteRefsExist) {\n return;\n }\n\n logger.debug(`Cleaning up Renovate refs: refs/renovate/branches/*`);\n const renovateRefs: string[] = [];\n\n try {\n const rawOutput = await git.listRemote([\n config.url,\n 'refs/renovate/branches/*',\n ]);\n const refs = rawOutput\n .split(newlineRegex)\n .map((line) => line.replace(regEx(/[0-9a-f]+\\s+/i), '').trim())\n .filter((line) => line.startsWith('refs/renovate/branches/'));\n renovateRefs.push(...refs);\n /* v8 ignore next 3 -- TODO: add test */\n } catch (err) {\n logger.warn({ err }, `Renovate refs cleanup error`);\n }\n\n if (renovateRefs.length) {\n try {\n const pushOpts = ['--delete', 'origin', ...renovateRefs];\n await git.push(pushOpts);\n } catch (err) {\n if (bulkChangesDisallowed(err)) {\n for (const ref of renovateRefs) {\n try {\n const pushOpts = ['--delete', 'origin', ref];\n await git.push(pushOpts);\n /* v8 ignore next 4 -- TODO: add test */\n } catch (err) {\n logger.debug({ err }, 'Error deleting \"refs/renovate/branches/*\"');\n break;\n }\n }\n /* v8 ignore next 3 -- TODO: add test */\n } else {\n logger.warn({ err }, 'Error deleting \"refs/renovate/branches/*\"');\n }\n }\n }\n\n remoteRefsExist = false;\n}\n\nconst treeItemRegex = regEx(\n /^(?<mode>\\d{6})\\s+(?<type>blob|tree|commit)\\s+(?<sha>[0-9a-f]{40})\\s+(?<path>.*)$/,\n);\n\nconst treeShaRegex = regEx(/tree\\s+(?<treeSha>[0-9a-f]{40})\\s*/);\n\n/**\n *\n * Obtain top-level items of commit tree.\n * We don't need subtree items, so here are 2 steps only.\n *\n * Step 1: commit SHA -> tree SHA\n *\n * $ git cat-file -p <commit-sha>\n *\n * > tree <tree-sha>\n * > parent 59b8b0e79319b7dc38f7a29d618628f3b44c2fd7\n * > ...\n *\n * Step 2: tree SHA -> tree items (top-level)\n *\n * $ git cat-file -p <tree-sha>\n *\n * > 040000 tree 389400684d1f004960addc752be13097fe85d776 src\n * > ...\n * > 100644 blob 7d2edde437ad4e7bceb70dbfe70e93350d99c98b package.json\n *\n */\nexport async function listCommitTree(\n commitSha: LongCommitSha,\n): Promise<TreeItem[]> {\n const commitOutput = await git.catFile(['-p', commitSha]);\n const { treeSha } =\n /* v8 ignore next -- will never happen ? */\n treeShaRegex.exec(commitOutput)?.groups ?? {};\n const contents = await git.catFile(['-p', treeSha]);\n const lines = contents.split(newlineRegex);\n const result: TreeItem[] = [];\n for (const line of lines) {\n const matchGroups = treeItemRegex.exec(line)?.groups;\n if (matchGroups) {\n const { path, mode, type, sha } = matchGroups;\n result.push({ path, mode, type, sha: sha as LongCommitSha });\n }\n }\n return result;\n}\n\nasync function localBranchExists(branchName: string): Promise<boolean> {\n await syncGit();\n const localBranches = await git.branchLocal();\n return localBranches.all.includes(branchName);\n}\n\n/**\n * Synchronize a forked branch with its upstream counterpart.\n *\n * syncForkWithUpstream updates the fork's branch, to match the corresponding branch in the upstream repository.\n * The steps are:\n * 1. Check if the branch exists locally.\n * 2. If the branch exists locally: checkout the local branch.\n * 3. If the branch does _not_ exist locally: checkout the upstream branch.\n * 4. Reset the local branch to match the upstream branch.\n * 5. Force push the (updated) local branch to the origin repository.\n *\n * @param {string} branchName - The name of the branch to synchronize.\n * @returns {Promise<LongCommitSha>} - A promise that resolves to True if the synchronization is successful, or `false` if an error occurs.\n */\nexport async function syncForkWithUpstream(\n branchName: string,\n): Promise<LongCommitSha> {\n logger.debug(\n `Synchronizing fork with \"${RENOVATE_FORK_UPSTREAM}\" remote for branch ${branchName}`,\n );\n const remotes = await getRemotes();\n if (!remotes.some((r) => r === RENOVATE_FORK_UPSTREAM)) {\n throw new Error('No upstream remote exists, cannot sync fork');\n }\n try {\n await git.fetch([RENOVATE_FORK_UPSTREAM]);\n if (await localBranchExists(branchName)) {\n await checkoutBranch(branchName);\n } else {\n await checkoutBranchFromRemote(branchName, RENOVATE_FORK_UPSTREAM);\n }\n await resetHardFromRemote(`${RENOVATE_FORK_UPSTREAM}/${branchName}`);\n await forcePushToRemote(branchName, 'origin');\n // Get long Git SHA\n return (await git.revparse([branchName])) as LongCommitSha;\n } catch (err) {\n logger.error({ err }, 'Error synchronizing fork');\n throw new Error(UNKNOWN_ERROR);\n }\n}\n\nexport async function getRemotes(): Promise<string[]> {\n const remotes = await git.getRemotes();\n return remotes.map((remote) => remote.name);\n}\n"]}
|
@@ -88,7 +88,17 @@ class PackageFiles {
|
|
88
88
|
for (const dep of packageFile.deps) {
|
89
89
|
const ver = dep.currentValue;
|
90
90
|
const digest = dep.currentDigest;
|
91
|
-
const
|
91
|
+
const lock = dep.lockedVersion;
|
92
|
+
let version;
|
93
|
+
if (ver || digest) {
|
94
|
+
version = ver && digest ? `${ver}@${digest}` : `${digest ?? ver}`;
|
95
|
+
}
|
96
|
+
else if (lock) {
|
97
|
+
version = `lock file @ ${lock}`;
|
98
|
+
}
|
99
|
+
else {
|
100
|
+
version = 'unknown version';
|
101
|
+
}
|
92
102
|
// TODO: types (#22198)
|
93
103
|
deps += ` - \`${dep.depName} ${version}\`\n`;
|
94
104
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"package-files.js","sourceRoot":"","sources":["../../../lib/workers/repository/package-files.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../logger';\nimport type { PackageFile } from '../../modules/manager/types';\nimport { clone } from '../../util/clone';\n\nexport class PackageFiles {\n private static data = new Map<string, Record<string, PackageFile[]> | null>();\n\n static add(\n baseBranch: string,\n packageFiles: Record<string, PackageFile[]> | null,\n ): void {\n logger.debug(\n { baseBranch },\n `PackageFiles.add() - Package file saved for base branch`,\n );\n this.data.set(baseBranch, packageFiles);\n }\n\n static clear(): void {\n logger.debug('PackageFiles.clear() - Package files deleted');\n this.data.clear();\n }\n\n /**\n * Truncates the detected dependencies' section until it fits the available space\n * i.e. It has length smaller than maxLength.\n * This does not mutate the original PackageFiles data\n * Note: setHeader=false is used for testing purposes only\n * Mainly for comparing truncated and non-truncated markdown\n * @param maxLength\n * @param setHeader\n */\n static getDashboardMarkdown(maxLength: number, setHeader = true): string {\n const note =\n '> ℹ **Note**\\n> \\n> Detected dependencies section has been truncated\\n\\n';\n const title = `## Detected dependencies\\n\\n`;\n\n // exclude header length from the available space\n const maxHeaderLen = setHeader ? (title + note).length : 0;\n const mdMaxLength = maxLength - maxHeaderLen;\n\n let md: string;\n let header = '';\n let removed = false;\n let truncated = false;\n\n const data = new Map(clone(Array.from(this.data)));\n\n // filter all deps with skip reason\n for (const managers of [...data.values()].filter(is.truthy)) {\n for (const files of Object.values(managers).filter(is.truthy)) {\n for (const file of files.filter((f) => is.truthy(f.deps))) {\n file.deps = file.deps.filter(is.truthy).filter((d) => !d.skipReason);\n }\n }\n }\n\n do {\n // shorten markdown until it fits\n md = PackageFiles.getDashboardMarkdownInternal(data);\n if (md.length > mdMaxLength) {\n // truncate data\n removed = PackageFiles.pop(data);\n }\n if (removed) {\n truncated = true; // used to set the truncation Note\n }\n } while (removed && md.length > mdMaxLength);\n\n header += title;\n header += truncated ? note : '';\n\n return (setHeader ? header : '') + md;\n }\n\n /**\n * Generates the \"detected dependencies\" markdown\n * @param data\n */\n private static getDashboardMarkdownInternal(\n data: Map<string, Record<string, PackageFile[]> | null>,\n ): string {\n const none = 'None detected\\n\\n';\n const pad = data.size > 1; // padding condition for a multi base branch repo\n let deps = '';\n\n for (const [branch, packageFiles] of data) {\n deps += pad\n ? `<details><summary>Branch ${branch}</summary>\\n<blockquote>\\n\\n`\n : '';\n if (packageFiles === null) {\n deps += none;\n deps += pad ? '</blockquote>\\n</details>\\n\\n' : '';\n continue;\n }\n\n const managers = Object.keys(packageFiles);\n if (managers.length === 0) {\n deps += none;\n deps += pad ? '</blockquote>\\n</details>\\n\\n' : '';\n continue;\n }\n\n for (const manager of managers) {\n deps += `<details><summary>${manager}</summary>\\n<blockquote>\\n\\n`;\n for (const packageFile of packageFiles[manager]) {\n deps += `<details><summary>${packageFile.packageFile}</summary>\\n\\n`;\n for (const dep of packageFile.deps) {\n const ver = dep.currentValue;\n const digest = dep.currentDigest;\n const version =\n ver && digest ? `${ver}@${digest}` : `${digest ?? ver!}`;\n // TODO: types (#22198)\n deps += ` - \\`${dep.depName!} ${version}\\`\\n`;\n }\n deps += '\\n</details>\\n\\n';\n }\n deps += `</blockquote>\\n</details>\\n\\n`;\n }\n deps += pad ? '</blockquote>\\n</details>\\n\\n' : '';\n }\n\n return deps;\n }\n\n /**\n * Removes the last dependency/entry in the PackageFiles data\n * i.e. the last line in the tobe generated detected dependency section\n * @param data\n * @Returns true if anything that translates to a markdown written line was deleted\n * otherwise false is returned\n */\n private static pop(\n data: Map<string, Record<string, PackageFile[]> | null>,\n ): boolean {\n // get detected managers list of the last listed base branch\n const [branch, managers] = Array.from(data).pop() ?? [];\n if (!branch) {\n return false;\n }\n\n // delete base branch listing if it has no managers left\n if (!managers || is.emptyObject(managers)) {\n return data.delete(branch);\n }\n\n // get all manifest files for the last listed manager\n const [manager, packageFiles] = Object.entries(managers).pop()!;\n\n // delete current manager if it has no manifest files left\n if (!packageFiles || is.emptyArray(packageFiles)) {\n return delete managers[manager];\n }\n\n // delete manifest file if it has no deps left\n const len = packageFiles.length - 1;\n if (is.emptyArray(packageFiles[len].deps)) {\n return !!packageFiles.pop();\n }\n\n // remove the last listed dependency\n return !!packageFiles[len].deps.pop();\n }\n}\n"]}
|
1
|
+
{"version":3,"file":"package-files.js","sourceRoot":"","sources":["../../../lib/workers/repository/package-files.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../logger';\nimport type { PackageFile } from '../../modules/manager/types';\nimport { clone } from '../../util/clone';\n\nexport class PackageFiles {\n private static data = new Map<string, Record<string, PackageFile[]> | null>();\n\n static add(\n baseBranch: string,\n packageFiles: Record<string, PackageFile[]> | null,\n ): void {\n logger.debug(\n { baseBranch },\n `PackageFiles.add() - Package file saved for base branch`,\n );\n this.data.set(baseBranch, packageFiles);\n }\n\n static clear(): void {\n logger.debug('PackageFiles.clear() - Package files deleted');\n this.data.clear();\n }\n\n /**\n * Truncates the detected dependencies' section until it fits the available space\n * i.e. It has length smaller than maxLength.\n * This does not mutate the original PackageFiles data\n * Note: setHeader=false is used for testing purposes only\n * Mainly for comparing truncated and non-truncated markdown\n * @param maxLength\n * @param setHeader\n */\n static getDashboardMarkdown(maxLength: number, setHeader = true): string {\n const note =\n '> ℹ **Note**\\n> \\n> Detected dependencies section has been truncated\\n\\n';\n const title = `## Detected dependencies\\n\\n`;\n\n // exclude header length from the available space\n const maxHeaderLen = setHeader ? (title + note).length : 0;\n const mdMaxLength = maxLength - maxHeaderLen;\n\n let md: string;\n let header = '';\n let removed = false;\n let truncated = false;\n\n const data = new Map(clone(Array.from(this.data)));\n\n // filter all deps with skip reason\n for (const managers of [...data.values()].filter(is.truthy)) {\n for (const files of Object.values(managers).filter(is.truthy)) {\n for (const file of files.filter((f) => is.truthy(f.deps))) {\n file.deps = file.deps.filter(is.truthy).filter((d) => !d.skipReason);\n }\n }\n }\n\n do {\n // shorten markdown until it fits\n md = PackageFiles.getDashboardMarkdownInternal(data);\n if (md.length > mdMaxLength) {\n // truncate data\n removed = PackageFiles.pop(data);\n }\n if (removed) {\n truncated = true; // used to set the truncation Note\n }\n } while (removed && md.length > mdMaxLength);\n\n header += title;\n header += truncated ? note : '';\n\n return (setHeader ? header : '') + md;\n }\n\n /**\n * Generates the \"detected dependencies\" markdown\n * @param data\n */\n private static getDashboardMarkdownInternal(\n data: Map<string, Record<string, PackageFile[]> | null>,\n ): string {\n const none = 'None detected\\n\\n';\n const pad = data.size > 1; // padding condition for a multi base branch repo\n let deps = '';\n\n for (const [branch, packageFiles] of data) {\n deps += pad\n ? `<details><summary>Branch ${branch}</summary>\\n<blockquote>\\n\\n`\n : '';\n if (packageFiles === null) {\n deps += none;\n deps += pad ? '</blockquote>\\n</details>\\n\\n' : '';\n continue;\n }\n\n const managers = Object.keys(packageFiles);\n if (managers.length === 0) {\n deps += none;\n deps += pad ? '</blockquote>\\n</details>\\n\\n' : '';\n continue;\n }\n\n for (const manager of managers) {\n deps += `<details><summary>${manager}</summary>\\n<blockquote>\\n\\n`;\n for (const packageFile of packageFiles[manager]) {\n deps += `<details><summary>${packageFile.packageFile}</summary>\\n\\n`;\n for (const dep of packageFile.deps) {\n const ver = dep.currentValue;\n const digest = dep.currentDigest;\n const lock = dep.lockedVersion;\n let version;\n if (ver || digest) {\n version = ver && digest ? `${ver}@${digest}` : `${digest ?? ver}`;\n } else if (lock) {\n version = `lock file @ ${lock}`;\n } else {\n version = 'unknown version';\n }\n // TODO: types (#22198)\n deps += ` - \\`${dep.depName!} ${version}\\`\\n`;\n }\n deps += '\\n</details>\\n\\n';\n }\n deps += `</blockquote>\\n</details>\\n\\n`;\n }\n deps += pad ? '</blockquote>\\n</details>\\n\\n' : '';\n }\n\n return deps;\n }\n\n /**\n * Removes the last dependency/entry in the PackageFiles data\n * i.e. the last line in the tobe generated detected dependency section\n * @param data\n * @Returns true if anything that translates to a markdown written line was deleted\n * otherwise false is returned\n */\n private static pop(\n data: Map<string, Record<string, PackageFile[]> | null>,\n ): boolean {\n // get detected managers list of the last listed base branch\n const [branch, managers] = Array.from(data).pop() ?? [];\n if (!branch) {\n return false;\n }\n\n // delete base branch listing if it has no managers left\n if (!managers || is.emptyObject(managers)) {\n return data.delete(branch);\n }\n\n // get all manifest files for the last listed manager\n const [manager, packageFiles] = Object.entries(managers).pop()!;\n\n // delete current manager if it has no manifest files left\n if (!packageFiles || is.emptyArray(packageFiles)) {\n return delete managers[manager];\n }\n\n // delete manifest file if it has no deps left\n const len = packageFiles.length - 1;\n if (is.emptyArray(packageFiles[len].deps)) {\n return !!packageFiles.pop();\n }\n\n // remove the last listed dependency\n return !!packageFiles[len].deps.pop();\n }\n}\n"]}
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "renovate",
|
3
3
|
"description": "Automated dependency updates. Flexible so you don't need to be.",
|
4
|
-
"version": "40.
|
4
|
+
"version": "40.32.1",
|
5
5
|
"type": "commonjs",
|
6
6
|
"bin": {
|
7
7
|
"renovate": "dist/renovate.js",
|
@@ -261,7 +261,7 @@
|
|
261
261
|
"vuln-vects": "1.1.0",
|
262
262
|
"xmldoc": "1.3.0",
|
263
263
|
"yaml": "2.8.0",
|
264
|
-
"zod": "3.
|
264
|
+
"zod": "3.25.1"
|
265
265
|
},
|
266
266
|
"optionalDependencies": {
|
267
267
|
"better-sqlite3": "11.10.0",
|