renovate 44.17.4 → 44.18.0

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.
Files changed (42) hide show
  1. package/dist/config/options/index.js +1 -1
  2. package/dist/config/options/index.js.map +1 -1
  3. package/dist/global-config-option-defaults.generated.js +1 -1
  4. package/dist/global-config-option-defaults.generated.js.map +1 -1
  5. package/dist/modules/datasource/git-refs/base.js +1 -3
  6. package/dist/modules/datasource/git-refs/base.js.map +1 -1
  7. package/dist/modules/manager/cargo/artifacts.js +6 -10
  8. package/dist/modules/manager/cargo/artifacts.js.map +1 -1
  9. package/dist/modules/manager/conan/artifacts.js +4 -6
  10. package/dist/modules/manager/conan/artifacts.js.map +1 -1
  11. package/dist/modules/manager/copier/artifacts.js +3 -4
  12. package/dist/modules/manager/copier/artifacts.js.map +1 -1
  13. package/dist/modules/manager/fingerprint.generated.js +3 -3
  14. package/dist/modules/manager/fingerprint.generated.js.map +1 -1
  15. package/dist/modules/manager/git-submodules/update.js +3 -4
  16. package/dist/modules/manager/git-submodules/update.js.map +1 -1
  17. package/dist/modules/manager/gomod/artifacts.js +4 -5
  18. package/dist/modules/manager/gomod/artifacts.js.map +1 -1
  19. package/dist/modules/manager/hermit/artifacts.js +8 -6
  20. package/dist/modules/manager/hermit/artifacts.js.map +1 -1
  21. package/dist/modules/manager/pep621/processors/pdm.js +10 -13
  22. package/dist/modules/manager/pep621/processors/pdm.js.map +1 -1
  23. package/dist/modules/manager/pep621/processors/uv.js +3 -4
  24. package/dist/modules/manager/pep621/processors/uv.js.map +1 -1
  25. package/dist/modules/manager/poetry/artifacts.js +3 -4
  26. package/dist/modules/manager/poetry/artifacts.js.map +1 -1
  27. package/dist/modules/manager/vendir/artifacts.js +3 -4
  28. package/dist/modules/manager/vendir/artifacts.js.map +1 -1
  29. package/dist/util/exec/index.js +10 -5
  30. package/dist/util/exec/index.js.map +1 -1
  31. package/dist/util/exec/utils.js.map +1 -1
  32. package/dist/util/git/auth.js +16 -18
  33. package/dist/util/git/auth.js.map +1 -1
  34. package/dist/util/git/exec.js +34 -0
  35. package/dist/util/git/exec.js.map +1 -0
  36. package/dist/util/git/index.d.ts +6 -2
  37. package/dist/util/git/index.js +9 -7
  38. package/dist/util/git/index.js.map +1 -1
  39. package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js +4 -5
  40. package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js.map +1 -1
  41. package/package.json +1 -1
  42. package/renovate-schema.json +2 -2
@@ -23,7 +23,7 @@ const globalConfigOptionDefaults = {
23
23
  "detectHostRulesFromEnv": false,
24
24
  "dockerChildPrefix": "renovate_",
25
25
  "dockerMaxPages": 20,
26
- "dockerSidecarImage": "ghcr.io/renovatebot/base-image:13.82.11",
26
+ "dockerSidecarImage": "ghcr.io/renovatebot/base-image:13.83.0",
27
27
  "dockerUser": "12021",
28
28
  "executionTimeout": 15,
29
29
  "exposeAllEnv": false,
@@ -1 +1 @@
1
- {"version":3,"file":"global-config-option-defaults.generated.js","names":[],"sources":["../lib/global-config-option-defaults.generated.ts"],"sourcesContent":["\nexport const globalConfigOptionDefaults: Record<string, unknown> = {\n \"allowCustomCrateRegistries\": false,\n \"allowedCommands\": [],\n \"allowedEnv\": [],\n \"allowedHeaders\": [\n \"X-*\"\n ],\n \"allowedUnsafeExecutions\": [],\n \"allowPlugins\": false,\n \"allowScripts\": false,\n \"allowShellExecutorForPostUpgradeCommands\": false,\n \"autodiscover\": false,\n \"bbUseDevelopmentBranch\": false,\n \"binarySource\": \"install\",\n \"cacheHardTtlMinutes\": 10080,\n \"cachePrivatePackages\": false,\n \"cacheTtlOverride\": {},\n \"checkedBranches\": [],\n \"configValidationError\": false,\n \"customEnvVariables\": {},\n \"deleteAdditionalConfigFile\": false,\n \"deleteConfigFile\": false,\n \"detectGlobalManagerConfig\": false,\n \"detectHostRulesFromEnv\": false,\n \"dockerChildPrefix\": \"renovate_\",\n \"dockerMaxPages\": 20,\n \"dockerSidecarImage\": \"ghcr.io/renovatebot/base-image:13.82.11\",\n \"dockerUser\": \"12021\",\n \"executionTimeout\": 15,\n \"exposeAllEnv\": false,\n \"forceCli\": true,\n \"forkCreation\": true,\n \"githubTokenWarn\": true,\n \"gitNoVerify\": [\n \"commit\",\n \"push\"\n ],\n \"gitTimeout\": 0,\n \"gitUrl\": \"default\",\n \"httpCacheTtlDays\": 90,\n \"ignorePrAuthor\": false,\n \"includeMirrors\": false,\n \"inheritConfig\": false,\n \"inheritConfigFileName\": \"org-inherited-config.json\",\n \"inheritConfigRepoName\": \"{{parentOrg}}/renovate-config\",\n \"inheritConfigStrict\": false,\n \"mergeConfidenceDatasources\": [\n \"go\",\n \"maven\",\n \"npm\",\n \"nuget\",\n \"packagist\",\n \"pypi\",\n \"rubygems\"\n ],\n \"mergeConfidenceEndpoint\": \"https://developer.mend.io/\",\n \"migratePresets\": {},\n \"onboardingBranch\": \"renovate/configure\",\n \"onboardingConfig\": {\n \"$schema\": \"https://docs.renovatebot.com/renovate-schema.json\"\n },\n \"onboardingConfigFileName\": \"renovate.json\",\n \"onboardingNoDeps\": \"auto\",\n \"onboardingPrTitle\": \"Configure Renovate\",\n \"onboardingRebaseCheckbox\": false,\n \"optimizeForDisabled\": false,\n \"persistRepoData\": false,\n \"platform\": \"github\",\n \"prCacheSyncMaxPages\": 100,\n \"prCommitsPerRunLimit\": 0,\n \"presetCachePersistence\": false,\n \"processEnv\": {},\n \"productLinks\": {\n \"documentation\": \"https://docs.renovatebot.com/\",\n \"help\": \"https://github.com/renovatebot/renovate/discussions\",\n \"homepage\": \"https://github.com/renovatebot/renovate\"\n },\n \"rebaseAllOpenBranches\": false,\n \"reportFormatting\": false,\n \"repositoryCache\": \"disabled\",\n \"repositoryCacheForceLocal\": false,\n \"repositoryCacheType\": \"local\",\n \"requireConfig\": \"required\",\n \"s3PathStyle\": false,\n \"secrets\": {},\n \"unicodeEmoji\": true,\n \"useCloudMetadataServices\": true,\n \"userAgent\": \"Renovate/{{renovateVersion}} (https://github.com/renovatebot/renovate)\",\n \"variables\": {}\n};\n"],"mappings":";AACA,MAAa,6BAAsD;CACjE,8BAA8B;CAC9B,mBAAmB,CAAC;CACpB,cAAc,CAAC;CACf,kBAAkB,CAChB,KACF;CACA,2BAA2B,CAAC;CAC5B,gBAAgB;CAChB,gBAAgB;CAChB,4CAA4C;CAC5C,gBAAgB;CAChB,0BAA0B;CAC1B,gBAAgB;CAChB,uBAAuB;CACvB,wBAAwB;CACxB,oBAAoB,CAAC;CACrB,mBAAmB,CAAC;CACpB,yBAAyB;CACzB,sBAAsB,CAAC;CACvB,8BAA8B;CAC9B,oBAAoB;CACpB,6BAA6B;CAC7B,0BAA0B;CAC1B,qBAAqB;CACrB,kBAAkB;CAClB,sBAAsB;CACtB,cAAc;CACd,oBAAoB;CACpB,gBAAgB;CAChB,YAAY;CACZ,gBAAgB;CAChB,mBAAmB;CACnB,eAAe,CACb,UACA,MACF;CACA,cAAc;CACd,UAAU;CACV,oBAAoB;CACpB,kBAAkB;CAClB,kBAAkB;CAClB,iBAAiB;CACjB,yBAAyB;CACzB,yBAAyB;CACzB,uBAAuB;CACvB,8BAA8B;EAC5B;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,2BAA2B;CAC3B,kBAAkB,CAAC;CACnB,oBAAoB;CACpB,oBAAoB,EAClB,WAAW,oDACb;CACA,4BAA4B;CAC5B,oBAAoB;CACpB,qBAAqB;CACrB,4BAA4B;CAC5B,uBAAuB;CACvB,mBAAmB;CACnB,YAAY;CACZ,uBAAuB;CACvB,wBAAwB;CACxB,0BAA0B;CAC1B,cAAc,CAAC;CACf,gBAAgB;EACd,iBAAiB;EACjB,QAAQ;EACR,YAAY;CACd;CACA,yBAAyB;CACzB,oBAAoB;CACpB,mBAAmB;CACnB,6BAA6B;CAC7B,uBAAuB;CACvB,iBAAiB;CACjB,eAAe;CACf,WAAW,CAAC;CACZ,gBAAgB;CAChB,4BAA4B;CAC5B,aAAa;CACb,aAAa,CAAC;AAChB"}
1
+ {"version":3,"file":"global-config-option-defaults.generated.js","names":[],"sources":["../lib/global-config-option-defaults.generated.ts"],"sourcesContent":["\nexport const globalConfigOptionDefaults: Record<string, unknown> = {\n \"allowCustomCrateRegistries\": false,\n \"allowedCommands\": [],\n \"allowedEnv\": [],\n \"allowedHeaders\": [\n \"X-*\"\n ],\n \"allowedUnsafeExecutions\": [],\n \"allowPlugins\": false,\n \"allowScripts\": false,\n \"allowShellExecutorForPostUpgradeCommands\": false,\n \"autodiscover\": false,\n \"bbUseDevelopmentBranch\": false,\n \"binarySource\": \"install\",\n \"cacheHardTtlMinutes\": 10080,\n \"cachePrivatePackages\": false,\n \"cacheTtlOverride\": {},\n \"checkedBranches\": [],\n \"configValidationError\": false,\n \"customEnvVariables\": {},\n \"deleteAdditionalConfigFile\": false,\n \"deleteConfigFile\": false,\n \"detectGlobalManagerConfig\": false,\n \"detectHostRulesFromEnv\": false,\n \"dockerChildPrefix\": \"renovate_\",\n \"dockerMaxPages\": 20,\n \"dockerSidecarImage\": \"ghcr.io/renovatebot/base-image:13.83.0\",\n \"dockerUser\": \"12021\",\n \"executionTimeout\": 15,\n \"exposeAllEnv\": false,\n \"forceCli\": true,\n \"forkCreation\": true,\n \"githubTokenWarn\": true,\n \"gitNoVerify\": [\n \"commit\",\n \"push\"\n ],\n \"gitTimeout\": 0,\n \"gitUrl\": \"default\",\n \"httpCacheTtlDays\": 90,\n \"ignorePrAuthor\": false,\n \"includeMirrors\": false,\n \"inheritConfig\": false,\n \"inheritConfigFileName\": \"org-inherited-config.json\",\n \"inheritConfigRepoName\": \"{{parentOrg}}/renovate-config\",\n \"inheritConfigStrict\": false,\n \"mergeConfidenceDatasources\": [\n \"go\",\n \"maven\",\n \"npm\",\n \"nuget\",\n \"packagist\",\n \"pypi\",\n \"rubygems\"\n ],\n \"mergeConfidenceEndpoint\": \"https://developer.mend.io/\",\n \"migratePresets\": {},\n \"onboardingBranch\": \"renovate/configure\",\n \"onboardingConfig\": {\n \"$schema\": \"https://docs.renovatebot.com/renovate-schema.json\"\n },\n \"onboardingConfigFileName\": \"renovate.json\",\n \"onboardingNoDeps\": \"auto\",\n \"onboardingPrTitle\": \"Configure Renovate\",\n \"onboardingRebaseCheckbox\": false,\n \"optimizeForDisabled\": false,\n \"persistRepoData\": false,\n \"platform\": \"github\",\n \"prCacheSyncMaxPages\": 100,\n \"prCommitsPerRunLimit\": 0,\n \"presetCachePersistence\": false,\n \"processEnv\": {},\n \"productLinks\": {\n \"documentation\": \"https://docs.renovatebot.com/\",\n \"help\": \"https://github.com/renovatebot/renovate/discussions\",\n \"homepage\": \"https://github.com/renovatebot/renovate\"\n },\n \"rebaseAllOpenBranches\": false,\n \"reportFormatting\": false,\n \"repositoryCache\": \"disabled\",\n \"repositoryCacheForceLocal\": false,\n \"repositoryCacheType\": \"local\",\n \"requireConfig\": \"required\",\n \"s3PathStyle\": false,\n \"secrets\": {},\n \"unicodeEmoji\": true,\n \"useCloudMetadataServices\": true,\n \"userAgent\": \"Renovate/{{renovateVersion}} (https://github.com/renovatebot/renovate)\",\n \"variables\": {}\n};\n"],"mappings":";AACA,MAAa,6BAAsD;CACjE,8BAA8B;CAC9B,mBAAmB,CAAC;CACpB,cAAc,CAAC;CACf,kBAAkB,CAChB,KACF;CACA,2BAA2B,CAAC;CAC5B,gBAAgB;CAChB,gBAAgB;CAChB,4CAA4C;CAC5C,gBAAgB;CAChB,0BAA0B;CAC1B,gBAAgB;CAChB,uBAAuB;CACvB,wBAAwB;CACxB,oBAAoB,CAAC;CACrB,mBAAmB,CAAC;CACpB,yBAAyB;CACzB,sBAAsB,CAAC;CACvB,8BAA8B;CAC9B,oBAAoB;CACpB,6BAA6B;CAC7B,0BAA0B;CAC1B,qBAAqB;CACrB,kBAAkB;CAClB,sBAAsB;CACtB,cAAc;CACd,oBAAoB;CACpB,gBAAgB;CAChB,YAAY;CACZ,gBAAgB;CAChB,mBAAmB;CACnB,eAAe,CACb,UACA,MACF;CACA,cAAc;CACd,UAAU;CACV,oBAAoB;CACpB,kBAAkB;CAClB,kBAAkB;CAClB,iBAAiB;CACjB,yBAAyB;CACzB,yBAAyB;CACzB,uBAAuB;CACvB,8BAA8B;EAC5B;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,2BAA2B;CAC3B,kBAAkB,CAAC;CACnB,oBAAoB;CACpB,oBAAoB,EAClB,WAAW,oDACb;CACA,4BAA4B;CAC5B,oBAAoB;CACpB,qBAAqB;CACrB,4BAA4B;CAC5B,uBAAuB;CACvB,mBAAmB;CACnB,YAAY;CACZ,uBAAuB;CACvB,wBAAwB;CACxB,0BAA0B;CAC1B,cAAc,CAAC;CACf,gBAAgB;EACd,iBAAiB;EACjB,QAAQ;EACR,YAAY;CACd;CACA,yBAAyB;CACzB,oBAAoB;CACpB,mBAAmB;CACnB,6BAA6B;CAC7B,uBAAuB;CACvB,iBAAiB;CACjB,eAAe;CACf,WAAW,CAAC;CACZ,gBAAgB;CAChB,4BAA4B;CAC5B,aAAa;CACb,aAAa,CAAC;AAChB"}
@@ -3,7 +3,6 @@ import { logger } from "../../../logger/index.js";
3
3
  import { withCache } from "../../../util/cache/package/with-cache.js";
4
4
  import { Datasource } from "../datasource.js";
5
5
  import { getRemoteUrlWithToken } from "../../../util/git/url.js";
6
- import { getGitEnvironmentVariables } from "../../../util/git/auth.js";
7
6
  import { createSimpleGit } from "../../../util/git/index.js";
8
7
  import { isTruthy } from "@sindresorhus/is";
9
8
  //#region lib/modules/datasource/git-refs/base.ts
@@ -16,8 +15,7 @@ var GitDatasource = class extends Datasource {
16
15
  super(id);
17
16
  }
18
17
  async _getRawRefs({ packageName }) {
19
- const gitSubmoduleAuthEnvironmentVariables = getGitEnvironmentVariables([this.id]);
20
- const lsRemote = await createSimpleGit({ env: gitSubmoduleAuthEnvironmentVariables }).listRemote([getRemoteUrlWithToken(packageName, this.id)]);
18
+ const lsRemote = await createSimpleGit({ authentication: { hostTypes: [this.id] } }).listRemote([getRemoteUrlWithToken(packageName, this.id)]);
21
19
  if (!lsRemote) return null;
22
20
  const allRefs = lsRemote.trim().split(newlineRegex).map((line) => line.trim()).map((line) => {
23
21
  let match = refMatch.exec(line);
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","names":[],"sources":["../../../../lib/modules/datasource/git-refs/base.ts"],"sourcesContent":["import { isTruthy } from '@sindresorhus/is';\nimport { logger } from '../../../logger/index.ts';\nimport { withCache } from '../../../util/cache/package/with-cache.ts';\nimport { getGitEnvironmentVariables } from '../../../util/git/auth.ts';\nimport { createSimpleGit } from '../../../util/git/index.ts';\nimport { getRemoteUrlWithToken } from '../../../util/git/url.ts';\nimport { newlineRegex, regEx } from '../../../util/regex.ts';\nimport { Datasource } from '../datasource.ts';\nimport type { GetReleasesConfig } from '../types.ts';\nimport type { RawRefs } from './types.ts';\n\nconst refMatch = regEx(/(?<hash>.*?)\\s+refs\\/(?<type>.*?)\\/(?<value>.*)/);\nconst headMatch = regEx(/(?<hash>.*?)\\s+HEAD/);\n\nconst gitId = 'git';\n\n// TODO: extract to a separate directory structure (#10532)\nexport abstract class GitDatasource extends Datasource {\n static id = gitId;\n\n constructor(id: string) {\n super(id);\n }\n\n private async _getRawRefs({\n packageName,\n }: GetReleasesConfig): Promise<RawRefs[] | null> {\n const gitSubmoduleAuthEnvironmentVariables = getGitEnvironmentVariables([\n this.id,\n ]);\n const git = createSimpleGit({ env: gitSubmoduleAuthEnvironmentVariables });\n\n // fetch remote tags\n const lsRemote = await git.listRemote([\n getRemoteUrlWithToken(packageName, this.id),\n ]);\n if (!lsRemote) {\n return null;\n }\n\n const allRefs = lsRemote\n .trim()\n .split(newlineRegex)\n .map((line) => line.trim())\n .map((line) => {\n let match = refMatch.exec(line);\n if (match?.groups) {\n return {\n type: match.groups.type,\n value: match.groups.value,\n hash: match.groups.hash,\n };\n }\n match = headMatch.exec(line);\n if (match?.groups) {\n return {\n type: '',\n value: 'HEAD',\n hash: match.groups.hash,\n };\n }\n logger.trace(`malformed ref: ${line}`);\n return null;\n })\n .filter(isTruthy)\n .filter((ref) => ref.type !== 'pull');\n\n // For annotated tags, git ls-remote returns two entries:\n // 1. The tag object hash: refs/tags/v1.0.0\n // 2. The dereferenced commit hash: refs/tags/v1.0.0^{}\n // We need to use the dereferenced commit hash (^{}) for annotated tags\n // to match what `git submodule status` returns (the actual commit hash).\n // This prevents false-positive updates that result in empty commits.\n const dereferencedTags: Record<string, string> = {};\n for (const ref of allRefs) {\n if (ref.value.endsWith('^{}')) {\n // Store the commit hash for the base tag name (without ^{})\n dereferencedTags[ref.value.slice(0, -3)] = ref.hash;\n }\n }\n\n const refs = allRefs\n .filter((ref) => !ref.value.endsWith('^{}'))\n .map((ref) => {\n // For annotated tags, use the dereferenced commit hash\n const dereferencedHash = dereferencedTags[ref.value];\n if (dereferencedHash) {\n return { ...ref, hash: dereferencedHash };\n }\n return ref;\n });\n\n return refs;\n }\n\n getRawRefs(config: GetReleasesConfig): Promise<RawRefs[] | null> {\n return withCache(\n {\n namespace: `datasource-${gitId}`,\n key: config.packageName,\n },\n () => this._getRawRefs(config),\n );\n }\n}\n"],"mappings":";;;;;;;;;AAWA,MAAM,WAAW,MAAM,iDAAiD;AACxE,MAAM,YAAY,MAAM,qBAAqB;AAE7C,MAAM,QAAQ;AAGd,IAAsB,gBAAtB,cAA4C,WAAW;CACrD,OAAO,KAAK;CAEZ,YAAY,IAAY;EACtB,MAAM,EAAE;CACV;CAEA,MAAc,YAAY,EACxB,eAC+C;EAC/C,MAAM,uCAAuC,2BAA2B,CACtE,KAAK,EACP,CAAC;EAID,MAAM,WAAW,MAHL,gBAAgB,EAAE,KAAK,qCAAqC,CAG/C,CAAC,CAAC,WAAW,CACpC,sBAAsB,aAAa,KAAK,EAAE,CAC5C,CAAC;EACD,IAAI,CAAC,UACH,OAAO;EAGT,MAAM,UAAU,SACb,KAAK,CAAC,CACN,MAAM,YAAY,CAAC,CACnB,KAAK,SAAS,KAAK,KAAK,CAAC,CAAC,CAC1B,KAAK,SAAS;GACb,IAAI,QAAQ,SAAS,KAAK,IAAI;GAC9B,IAAI,OAAO,QACT,OAAO;IACL,MAAM,MAAM,OAAO;IACnB,OAAO,MAAM,OAAO;IACpB,MAAM,MAAM,OAAO;GACrB;GAEF,QAAQ,UAAU,KAAK,IAAI;GAC3B,IAAI,OAAO,QACT,OAAO;IACL,MAAM;IACN,OAAO;IACP,MAAM,MAAM,OAAO;GACrB;GAEF,OAAO,MAAM,kBAAkB,MAAM;GACrC,OAAO;EACT,CAAC,CAAC,CACD,OAAO,QAAQ,CAAC,CAChB,QAAQ,QAAQ,IAAI,SAAS,MAAM;EAQtC,MAAM,mBAA2C,CAAC;EAClD,KAAK,MAAM,OAAO,SAChB,IAAI,IAAI,MAAM,SAAS,KAAK,GAE1B,iBAAiB,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI;EAenD,OAXa,QACV,QAAQ,QAAQ,CAAC,IAAI,MAAM,SAAS,KAAK,CAAC,CAAC,CAC3C,KAAK,QAAQ;GAEZ,MAAM,mBAAmB,iBAAiB,IAAI;GAC9C,IAAI,kBACF,OAAO;IAAE,GAAG;IAAK,MAAM;GAAiB;GAE1C,OAAO;EACT,CAEQ;CACZ;CAEA,WAAW,QAAsD;EAC/D,OAAO,UACL;GACE,WAAW,cAAc;GACzB,KAAK,OAAO;EACd,SACM,KAAK,YAAY,MAAM,CAC/B;CACF;AACF"}
1
+ {"version":3,"file":"base.js","names":[],"sources":["../../../../lib/modules/datasource/git-refs/base.ts"],"sourcesContent":["import { isTruthy } from '@sindresorhus/is';\nimport { logger } from '../../../logger/index.ts';\nimport { withCache } from '../../../util/cache/package/with-cache.ts';\nimport { createSimpleGit } from '../../../util/git/index.ts';\nimport { getRemoteUrlWithToken } from '../../../util/git/url.ts';\nimport { newlineRegex, regEx } from '../../../util/regex.ts';\nimport { Datasource } from '../datasource.ts';\nimport type { GetReleasesConfig } from '../types.ts';\nimport type { RawRefs } from './types.ts';\n\nconst refMatch = regEx(/(?<hash>.*?)\\s+refs\\/(?<type>.*?)\\/(?<value>.*)/);\nconst headMatch = regEx(/(?<hash>.*?)\\s+HEAD/);\n\nconst gitId = 'git';\n\n// TODO: extract to a separate directory structure (#10532)\nexport abstract class GitDatasource extends Datasource {\n static id = gitId;\n\n constructor(id: string) {\n super(id);\n }\n\n private async _getRawRefs({\n packageName,\n }: GetReleasesConfig): Promise<RawRefs[] | null> {\n const git = createSimpleGit({\n authentication: { hostTypes: [this.id] },\n });\n\n // fetch remote tags\n const lsRemote = await git.listRemote([\n getRemoteUrlWithToken(packageName, this.id),\n ]);\n if (!lsRemote) {\n return null;\n }\n\n const allRefs = lsRemote\n .trim()\n .split(newlineRegex)\n .map((line) => line.trim())\n .map((line) => {\n let match = refMatch.exec(line);\n if (match?.groups) {\n return {\n type: match.groups.type,\n value: match.groups.value,\n hash: match.groups.hash,\n };\n }\n match = headMatch.exec(line);\n if (match?.groups) {\n return {\n type: '',\n value: 'HEAD',\n hash: match.groups.hash,\n };\n }\n logger.trace(`malformed ref: ${line}`);\n return null;\n })\n .filter(isTruthy)\n .filter((ref) => ref.type !== 'pull');\n\n // For annotated tags, git ls-remote returns two entries:\n // 1. The tag object hash: refs/tags/v1.0.0\n // 2. The dereferenced commit hash: refs/tags/v1.0.0^{}\n // We need to use the dereferenced commit hash (^{}) for annotated tags\n // to match what `git submodule status` returns (the actual commit hash).\n // This prevents false-positive updates that result in empty commits.\n const dereferencedTags: Record<string, string> = {};\n for (const ref of allRefs) {\n if (ref.value.endsWith('^{}')) {\n // Store the commit hash for the base tag name (without ^{})\n dereferencedTags[ref.value.slice(0, -3)] = ref.hash;\n }\n }\n\n const refs = allRefs\n .filter((ref) => !ref.value.endsWith('^{}'))\n .map((ref) => {\n // For annotated tags, use the dereferenced commit hash\n const dereferencedHash = dereferencedTags[ref.value];\n if (dereferencedHash) {\n return { ...ref, hash: dereferencedHash };\n }\n return ref;\n });\n\n return refs;\n }\n\n getRawRefs(config: GetReleasesConfig): Promise<RawRefs[] | null> {\n return withCache(\n {\n namespace: `datasource-${gitId}`,\n key: config.packageName,\n },\n () => this._getRawRefs(config),\n );\n }\n}\n"],"mappings":";;;;;;;;AAUA,MAAM,WAAW,MAAM,iDAAiD;AACxE,MAAM,YAAY,MAAM,qBAAqB;AAE7C,MAAM,QAAQ;AAGd,IAAsB,gBAAtB,cAA4C,WAAW;CACrD,OAAO,KAAK;CAEZ,YAAY,IAAY;EACtB,MAAM,EAAE;CACV;CAEA,MAAc,YAAY,EACxB,eAC+C;EAM/C,MAAM,WAAW,MALL,gBAAgB,EAC1B,gBAAgB,EAAE,WAAW,CAAC,KAAK,EAAE,EAAE,EACzC,CAGyB,CAAC,CAAC,WAAW,CACpC,sBAAsB,aAAa,KAAK,EAAE,CAC5C,CAAC;EACD,IAAI,CAAC,UACH,OAAO;EAGT,MAAM,UAAU,SACb,KAAK,CAAC,CACN,MAAM,YAAY,CAAC,CACnB,KAAK,SAAS,KAAK,KAAK,CAAC,CAAC,CAC1B,KAAK,SAAS;GACb,IAAI,QAAQ,SAAS,KAAK,IAAI;GAC9B,IAAI,OAAO,QACT,OAAO;IACL,MAAM,MAAM,OAAO;IACnB,OAAO,MAAM,OAAO;IACpB,MAAM,MAAM,OAAO;GACrB;GAEF,QAAQ,UAAU,KAAK,IAAI;GAC3B,IAAI,OAAO,QACT,OAAO;IACL,MAAM;IACN,OAAO;IACP,MAAM,MAAM,OAAO;GACrB;GAEF,OAAO,MAAM,kBAAkB,MAAM;GACrC,OAAO;EACT,CAAC,CAAC,CACD,OAAO,QAAQ,CAAC,CAChB,QAAQ,QAAQ,IAAI,SAAS,MAAM;EAQtC,MAAM,mBAA2C,CAAC;EAClD,KAAK,MAAM,OAAO,SAChB,IAAI,IAAI,MAAM,SAAS,KAAK,GAE1B,iBAAiB,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI;EAenD,OAXa,QACV,QAAQ,QAAQ,CAAC,IAAI,MAAM,SAAS,KAAK,CAAC,CAAC,CAC3C,KAAK,QAAQ;GAEZ,MAAM,mBAAmB,iBAAiB,IAAI;GAC9C,IAAI,kBACF,OAAO;IAAE,GAAG;IAAK,MAAM;GAAiB;GAE1C,OAAO;EACT,CAEQ;CACZ;CAEA,WAAW,QAAsD;EAC/D,OAAO,UACL;GACE,WAAW,cAAc;GACzB,KAAK,OAAO;EACd,SACM,KAAK,YAAY,MAAM,CAC/B;CACF;AACF"}
@@ -3,24 +3,22 @@ import { regEx } from "../../../util/regex.js";
3
3
  import { logger } from "../../../logger/index.js";
4
4
  import { coerceArray } from "../../../util/array.js";
5
5
  import { findLocalSiblingOrParent, readLocalFile, writeLocalFile } from "../../../util/fs/index.js";
6
- import { getGitEnvironmentVariables } from "../../../util/git/auth.js";
7
- import { exec } from "../../../util/exec/index.js";
8
6
  import { CrateDatasource } from "../../datasource/crate/index.js";
7
+ import { withGitEnvironment } from "../../../util/git/exec.js";
9
8
  import { extractLockFileContentVersions } from "./locked-version.js";
10
9
  import { quote } from "shlex";
11
10
  //#region lib/modules/manager/cargo/artifacts.ts
11
+ const gitExec = withGitEnvironment(["cargo"]);
12
12
  async function cargoUpdate(manifestPath, isLockFileMaintenance, constraint) {
13
13
  let cmd = `cargo update --config net.git-fetch-with-cli=true --manifest-path ${quote(manifestPath)}`;
14
14
  if (!isLockFileMaintenance) cmd += ` --workspace`;
15
- const execOptions = {
16
- extraEnv: { ...getGitEnvironmentVariables(["cargo"]) },
15
+ await gitExec(cmd, {
17
16
  docker: {},
18
17
  toolConstraints: [{
19
18
  toolName: "rust",
20
19
  constraint
21
20
  }]
22
- };
23
- await exec(cmd, execOptions);
21
+ });
24
22
  }
25
23
  async function cargoUpdatePrecise(manifestPath, updatedDeps, constraint) {
26
24
  const cmds = [];
@@ -29,15 +27,13 @@ async function cargoUpdatePrecise(manifestPath, updatedDeps, constraint) {
29
27
  cmds.push(`cargo update --config net.git-fetch-with-cli=true --manifest-path ${quote(manifestPath)} --package ${quote(`${dep.packageName}@${dep.lockedVersion}`)} --precise ${quote(dep.newVersion)}`);
30
28
  }
31
29
  cmds.push(`cargo update --config net.git-fetch-with-cli=true --manifest-path ${quote(manifestPath)} --workspace`);
32
- const execOptions = {
33
- extraEnv: { ...getGitEnvironmentVariables(["cargo"]) },
30
+ await gitExec(cmds, {
34
31
  docker: {},
35
32
  toolConstraints: [{
36
33
  toolName: "rust",
37
34
  constraint
38
35
  }]
39
- };
40
- await exec(cmds, execOptions);
36
+ });
41
37
  }
42
38
  async function updateArtifacts(updateArtifact) {
43
39
  return await updateArtifactsImpl(updateArtifact);
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.js","names":[],"sources":["../../../../lib/modules/manager/cargo/artifacts.ts"],"sourcesContent":["import { quote } from 'shlex';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages.ts';\nimport { logger } from '../../../logger/index.ts';\nimport { coerceArray } from '../../../util/array.ts';\nimport { exec } from '../../../util/exec/index.ts';\nimport type { ExecOptions } from '../../../util/exec/types.ts';\nimport {\n findLocalSiblingOrParent,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs/index.ts';\nimport { getGitEnvironmentVariables } from '../../../util/git/auth.ts';\nimport { regEx } from '../../../util/regex.ts';\nimport { CrateDatasource } from '../../datasource/crate/index.ts';\nimport type {\n UpdateArtifact,\n UpdateArtifactsResult,\n Upgrade,\n} from '../types.ts';\nimport { extractLockFileContentVersions } from './locked-version.ts';\n\nasync function cargoUpdate(\n manifestPath: string,\n isLockFileMaintenance: boolean,\n constraint: string | undefined,\n): Promise<void> {\n let cmd = `cargo update --config net.git-fetch-with-cli=true --manifest-path ${quote(\n manifestPath,\n )}`;\n // If we're updating a specific crate, `cargo-update` requires `--workspace`\n // for more information, see: https://github.com/renovatebot/renovate/issues/12332\n if (!isLockFileMaintenance) {\n cmd += ` --workspace`;\n }\n\n const execOptions: ExecOptions = {\n extraEnv: { ...getGitEnvironmentVariables(['cargo']) },\n docker: {},\n toolConstraints: [{ toolName: 'rust', constraint }],\n };\n await exec(cmd, execOptions);\n}\n\nasync function cargoUpdatePrecise(\n manifestPath: string,\n updatedDeps: Upgrade[],\n constraint: string | undefined,\n): Promise<void> {\n const cmds = [];\n\n // First update individual dependencies to their `newVersion`. Necessary when\n // using the `update-lockfile` rangeStrategy which doesn't touch Cargo.toml.\n for (const dep of updatedDeps) {\n // If the range is bumped in Cargo.toml, the old lockedVersion may no longer\n // exist in Cargo's dependency graph, so let the --workspace update at the\n // end re-resolve it instead.\n if (dep.currentValue && dep.newValue && dep.currentValue !== dep.newValue) {\n continue;\n }\n\n cmds.push(\n `cargo update --config net.git-fetch-with-cli=true` +\n ` --manifest-path ${quote(manifestPath)}` +\n ` --package ${quote(`${dep.packageName}@${dep.lockedVersion}`)}` +\n ` --precise ${quote(dep.newVersion!)}`,\n );\n }\n\n // Then update all dependencies that have been bumped in `Cargo.toml`.\n cmds.push(\n `cargo update --config net.git-fetch-with-cli=true --manifest-path ${quote(manifestPath)} --workspace`,\n );\n\n const execOptions: ExecOptions = {\n extraEnv: { ...getGitEnvironmentVariables(['cargo']) },\n docker: {},\n toolConstraints: [{ toolName: 'rust', constraint }],\n };\n\n await exec(cmds, execOptions);\n}\n\nexport async function updateArtifacts(\n updateArtifact: UpdateArtifact,\n): Promise<UpdateArtifactsResult[] | null> {\n return await updateArtifactsImpl(updateArtifact);\n}\n\nasync function updateArtifactsImpl(\n {\n packageFileName,\n updatedDeps,\n newPackageFileContent,\n config,\n }: UpdateArtifact,\n recursionLimit = 10,\n): Promise<UpdateArtifactsResult[] | null> {\n logger.debug(`cargo.updateArtifacts(${packageFileName})`);\n\n // For standalone package crates, the `Cargo.lock` will be in the same\n // directory as `Cargo.toml` (ie. a sibling). For cargo workspaces, it\n // will be further up.\n const lockFileName = await findLocalSiblingOrParent(\n packageFileName,\n 'Cargo.lock',\n );\n const existingLockFileContent = lockFileName\n ? await readLocalFile(lockFileName)\n : null;\n if (!existingLockFileContent || !lockFileName) {\n logger.debug('No Cargo.lock found');\n return null;\n }\n\n const { isLockFileMaintenance } = config;\n if (!isLockFileMaintenance && !updatedDeps?.length) {\n logger.debug('No more dependencies to update');\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: existingLockFileContent,\n },\n },\n ];\n }\n\n try {\n await writeLocalFile(packageFileName, newPackageFileContent);\n logger.debug(`Updating ${lockFileName}`);\n\n if (isLockFileMaintenance) {\n await cargoUpdate(packageFileName, true, config.constraints?.rust);\n } else {\n const hasNonCrateDep = updatedDeps.some(\n (dep) => dep.datasource !== CrateDatasource.id,\n );\n const crateDepWithoutLockedVersion = updatedDeps.find(\n (dep) => !dep.lockedVersion && dep.datasource === CrateDatasource.id,\n );\n // Non-crate dependencies (like git ones) do not have locked versions.\n // For crate dependencies, a locked version is expected.\n // In both situations, perform a regular workspace lockfile update.\n if (hasNonCrateDep || crateDepWithoutLockedVersion) {\n if (crateDepWithoutLockedVersion) {\n // Only warn when a crate dependency has no locked version\n logger.warn(\n { dependency: crateDepWithoutLockedVersion.depName },\n 'Missing locked version for dependency',\n );\n }\n await cargoUpdate(packageFileName, false, config.constraints?.rust);\n } else {\n // If all dependencies have locked versions then update them precisely.\n await cargoUpdatePrecise(\n packageFileName,\n updatedDeps,\n config.constraints?.rust,\n );\n }\n }\n\n logger.debug('Returning updated Cargo.lock');\n const newCargoLockContent = await readLocalFile(lockFileName);\n if (existingLockFileContent === newCargoLockContent) {\n logger.debug('Cargo.lock is unchanged');\n return null;\n }\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newCargoLockContent,\n },\n },\n ];\n } catch (err) {\n // istanbul ignore if\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n\n // Sometimes `cargo update` will fail when a preceding dependency update\n // causes another dependency to update. In this case we can no longer\n // reference the dependency by its old version, so we filter it out\n // and retry recursively.\n const newCargoLockContent = await readLocalFile(lockFileName, 'utf8');\n if (\n recursionLimit > 0 &&\n newCargoLockContent &&\n regEx(/error: package ID specification/).test(err.stderr)\n ) {\n const versions = extractLockFileContentVersions(newCargoLockContent);\n const newUpdatedDeps = updatedDeps.filter(\n (dep) =>\n !coerceArray(versions?.get(dep.packageName!)).includes(\n dep.newVersion!,\n ),\n );\n\n if (newUpdatedDeps.length < updatedDeps.length) {\n logger.debug(\n 'Dependency already up to date - reattempting recursively',\n );\n return updateArtifactsImpl(\n {\n packageFileName,\n updatedDeps: newUpdatedDeps,\n newPackageFileContent,\n config,\n },\n recursionLimit - 1,\n );\n }\n }\n\n logger.debug({ err }, 'Failed to update Cargo lock file');\n\n return [\n {\n artifactError: {\n fileName: lockFileName,\n stderr: err.message,\n },\n },\n ];\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"artifacts.js","names":[],"sources":["../../../../lib/modules/manager/cargo/artifacts.ts"],"sourcesContent":["import { quote } from 'shlex';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages.ts';\nimport { logger } from '../../../logger/index.ts';\nimport { coerceArray } from '../../../util/array.ts';\nimport type { ExecOptions } from '../../../util/exec/types.ts';\nimport {\n findLocalSiblingOrParent,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs/index.ts';\nimport { withGitEnvironment } from '../../../util/git/exec.ts';\nimport { regEx } from '../../../util/regex.ts';\nimport { CrateDatasource } from '../../datasource/crate/index.ts';\nimport type {\n UpdateArtifact,\n UpdateArtifactsResult,\n Upgrade,\n} from '../types.ts';\nimport { extractLockFileContentVersions } from './locked-version.ts';\n\nconst gitExec = withGitEnvironment(['cargo']);\n\nasync function cargoUpdate(\n manifestPath: string,\n isLockFileMaintenance: boolean,\n constraint: string | undefined,\n): Promise<void> {\n let cmd = `cargo update --config net.git-fetch-with-cli=true --manifest-path ${quote(\n manifestPath,\n )}`;\n // If we're updating a specific crate, `cargo-update` requires `--workspace`\n // for more information, see: https://github.com/renovatebot/renovate/issues/12332\n if (!isLockFileMaintenance) {\n cmd += ` --workspace`;\n }\n\n const execOptions: ExecOptions = {\n docker: {},\n toolConstraints: [{ toolName: 'rust', constraint }],\n };\n await gitExec(cmd, execOptions);\n}\n\nasync function cargoUpdatePrecise(\n manifestPath: string,\n updatedDeps: Upgrade[],\n constraint: string | undefined,\n): Promise<void> {\n const cmds = [];\n\n // First update individual dependencies to their `newVersion`. Necessary when\n // using the `update-lockfile` rangeStrategy which doesn't touch Cargo.toml.\n for (const dep of updatedDeps) {\n // If the range is bumped in Cargo.toml, the old lockedVersion may no longer\n // exist in Cargo's dependency graph, so let the --workspace update at the\n // end re-resolve it instead.\n if (dep.currentValue && dep.newValue && dep.currentValue !== dep.newValue) {\n continue;\n }\n\n cmds.push(\n `cargo update --config net.git-fetch-with-cli=true` +\n ` --manifest-path ${quote(manifestPath)}` +\n ` --package ${quote(`${dep.packageName}@${dep.lockedVersion}`)}` +\n ` --precise ${quote(dep.newVersion!)}`,\n );\n }\n\n // Then update all dependencies that have been bumped in `Cargo.toml`.\n cmds.push(\n `cargo update --config net.git-fetch-with-cli=true --manifest-path ${quote(manifestPath)} --workspace`,\n );\n\n const execOptions: ExecOptions = {\n docker: {},\n toolConstraints: [{ toolName: 'rust', constraint }],\n };\n\n await gitExec(cmds, execOptions);\n}\n\nexport async function updateArtifacts(\n updateArtifact: UpdateArtifact,\n): Promise<UpdateArtifactsResult[] | null> {\n return await updateArtifactsImpl(updateArtifact);\n}\n\nasync function updateArtifactsImpl(\n {\n packageFileName,\n updatedDeps,\n newPackageFileContent,\n config,\n }: UpdateArtifact,\n recursionLimit = 10,\n): Promise<UpdateArtifactsResult[] | null> {\n logger.debug(`cargo.updateArtifacts(${packageFileName})`);\n\n // For standalone package crates, the `Cargo.lock` will be in the same\n // directory as `Cargo.toml` (ie. a sibling). For cargo workspaces, it\n // will be further up.\n const lockFileName = await findLocalSiblingOrParent(\n packageFileName,\n 'Cargo.lock',\n );\n const existingLockFileContent = lockFileName\n ? await readLocalFile(lockFileName)\n : null;\n if (!existingLockFileContent || !lockFileName) {\n logger.debug('No Cargo.lock found');\n return null;\n }\n\n const { isLockFileMaintenance } = config;\n if (!isLockFileMaintenance && !updatedDeps?.length) {\n logger.debug('No more dependencies to update');\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: existingLockFileContent,\n },\n },\n ];\n }\n\n try {\n await writeLocalFile(packageFileName, newPackageFileContent);\n logger.debug(`Updating ${lockFileName}`);\n\n if (isLockFileMaintenance) {\n await cargoUpdate(packageFileName, true, config.constraints?.rust);\n } else {\n const hasNonCrateDep = updatedDeps.some(\n (dep) => dep.datasource !== CrateDatasource.id,\n );\n const crateDepWithoutLockedVersion = updatedDeps.find(\n (dep) => !dep.lockedVersion && dep.datasource === CrateDatasource.id,\n );\n // Non-crate dependencies (like git ones) do not have locked versions.\n // For crate dependencies, a locked version is expected.\n // In both situations, perform a regular workspace lockfile update.\n if (hasNonCrateDep || crateDepWithoutLockedVersion) {\n if (crateDepWithoutLockedVersion) {\n // Only warn when a crate dependency has no locked version\n logger.warn(\n { dependency: crateDepWithoutLockedVersion.depName },\n 'Missing locked version for dependency',\n );\n }\n await cargoUpdate(packageFileName, false, config.constraints?.rust);\n } else {\n // If all dependencies have locked versions then update them precisely.\n await cargoUpdatePrecise(\n packageFileName,\n updatedDeps,\n config.constraints?.rust,\n );\n }\n }\n\n logger.debug('Returning updated Cargo.lock');\n const newCargoLockContent = await readLocalFile(lockFileName);\n if (existingLockFileContent === newCargoLockContent) {\n logger.debug('Cargo.lock is unchanged');\n return null;\n }\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newCargoLockContent,\n },\n },\n ];\n } catch (err) {\n // istanbul ignore if\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n\n // Sometimes `cargo update` will fail when a preceding dependency update\n // causes another dependency to update. In this case we can no longer\n // reference the dependency by its old version, so we filter it out\n // and retry recursively.\n const newCargoLockContent = await readLocalFile(lockFileName, 'utf8');\n if (\n recursionLimit > 0 &&\n newCargoLockContent &&\n regEx(/error: package ID specification/).test(err.stderr)\n ) {\n const versions = extractLockFileContentVersions(newCargoLockContent);\n const newUpdatedDeps = updatedDeps.filter(\n (dep) =>\n !coerceArray(versions?.get(dep.packageName!)).includes(\n dep.newVersion!,\n ),\n );\n\n if (newUpdatedDeps.length < updatedDeps.length) {\n logger.debug(\n 'Dependency already up to date - reattempting recursively',\n );\n return updateArtifactsImpl(\n {\n packageFileName,\n updatedDeps: newUpdatedDeps,\n newPackageFileContent,\n config,\n },\n recursionLimit - 1,\n );\n }\n }\n\n logger.debug({ err }, 'Failed to update Cargo lock file');\n\n return [\n {\n artifactError: {\n fileName: lockFileName,\n stderr: err.message,\n },\n },\n ];\n }\n}\n"],"mappings":";;;;;;;;;;AAoBA,MAAM,UAAU,mBAAmB,CAAC,OAAO,CAAC;AAE5C,eAAe,YACb,cACA,uBACA,YACe;CACf,IAAI,MAAM,qEAAqE,MAC7E,YACF;CAGA,IAAI,CAAC,uBACH,OAAO;CAOT,MAAM,QAAQ,KAAK;EAHjB,QAAQ,CAAC;EACT,iBAAiB,CAAC;GAAE,UAAU;GAAQ;EAAW,CAAC;CAEvB,CAAC;AAChC;AAEA,eAAe,mBACb,cACA,aACA,YACe;CACf,MAAM,OAAO,CAAC;CAId,KAAK,MAAM,OAAO,aAAa;EAI7B,IAAI,IAAI,gBAAgB,IAAI,YAAY,IAAI,iBAAiB,IAAI,UAC/D;EAGF,KAAK,KACH,qEACsB,MAAM,YAAY,EAAA,aACxB,MAAM,GAAG,IAAI,YAAY,GAAG,IAAI,eAAe,EAAA,aAC/C,MAAM,IAAI,UAAW,GACvC;CACF;CAGA,KAAK,KACH,qEAAqE,MAAM,YAAY,EAAE,aAC3F;CAOA,MAAM,QAAQ,MAAM;EAJlB,QAAQ,CAAC;EACT,iBAAiB,CAAC;GAAE,UAAU;GAAQ;EAAW,CAAC;CAGtB,CAAC;AACjC;AAEA,eAAsB,gBACpB,gBACyC;CACzC,OAAO,MAAM,oBAAoB,cAAc;AACjD;AAEA,eAAe,oBACb,EACE,iBACA,aACA,uBACA,UAEF,iBAAiB,IACwB;CACzC,OAAO,MAAM,yBAAyB,gBAAgB,EAAE;CAKxD,MAAM,eAAe,MAAM,yBACzB,iBACA,YACF;CACA,MAAM,0BAA0B,eAC5B,MAAM,cAAc,YAAY,IAChC;CACJ,IAAI,CAAC,2BAA2B,CAAC,cAAc;EAC7C,OAAO,MAAM,qBAAqB;EAClC,OAAO;CACT;CAEA,MAAM,EAAE,0BAA0B;CAClC,IAAI,CAAC,yBAAyB,CAAC,aAAa,QAAQ;EAClD,OAAO,MAAM,gCAAgC;EAC7C,OAAO,CACL,EACE,MAAM;GACJ,MAAM;GACN,MAAM;GACN,UAAU;EACZ,EACF,CACF;CACF;CAEA,IAAI;EACF,MAAM,eAAe,iBAAiB,qBAAqB;EAC3D,OAAO,MAAM,YAAY,cAAc;EAEvC,IAAI,uBACF,MAAM,YAAY,iBAAiB,MAAM,OAAO,aAAa,IAAI;OAC5D;GACL,MAAM,iBAAiB,YAAY,MAChC,QAAQ,IAAI,eAAe,gBAAgB,EAC9C;GACA,MAAM,+BAA+B,YAAY,MAC9C,QAAQ,CAAC,IAAI,iBAAiB,IAAI,eAAe,gBAAgB,EACpE;GAIA,IAAI,kBAAkB,8BAA8B;IAClD,IAAI,8BAEF,OAAO,KACL,EAAE,YAAY,6BAA6B,QAAQ,GACnD,uCACF;IAEF,MAAM,YAAY,iBAAiB,OAAO,OAAO,aAAa,IAAI;GACpE,OAEE,MAAM,mBACJ,iBACA,aACA,OAAO,aAAa,IACtB;EAEJ;EAEA,OAAO,MAAM,8BAA8B;EAC3C,MAAM,sBAAsB,MAAM,cAAc,YAAY;EAC5D,IAAI,4BAA4B,qBAAqB;GACnD,OAAO,MAAM,yBAAyB;GACtC,OAAO;EACT;EACA,OAAO,CACL,EACE,MAAM;GACJ,MAAM;GACN,MAAM;GACN,UAAU;EACZ,EACF,CACF;CACF,SAAS,KAAK;;EAEZ,IAAI,IAAI,YAAA,mBACN,MAAM;EAOR,MAAM,sBAAsB,MAAM,cAAc,cAAc,MAAM;EACpE,IACE,iBAAiB,KACjB,uBACA,MAAM,iCAAiC,CAAC,CAAC,KAAK,IAAI,MAAM,GACxD;GACA,MAAM,WAAW,+BAA+B,mBAAmB;GACnE,MAAM,iBAAiB,YAAY,QAChC,QACC,CAAC,YAAY,UAAU,IAAI,IAAI,WAAY,CAAC,CAAC,CAAC,SAC5C,IAAI,UACN,CACJ;GAEA,IAAI,eAAe,SAAS,YAAY,QAAQ;IAC9C,OAAO,MACL,0DACF;IACA,OAAO,oBACL;KACE;KACA,aAAa;KACb;KACA;IACF,GACA,iBAAiB,CACnB;GACF;EACF;EAEA,OAAO,MAAM,EAAE,IAAI,GAAG,kCAAkC;EAExD,OAAO,CACL,EACE,eAAe;GACb,UAAU;GACV,QAAQ,IAAI;EACd,EACF,CACF;CACF;AACF"}
@@ -1,14 +1,13 @@
1
1
  import "../../../constants/error-messages.js";
2
2
  import { logger } from "../../../logger/index.js";
3
3
  import { findLocalSiblingOrParent, readLocalFile, writeLocalFile } from "../../../util/fs/index.js";
4
- import { getGitEnvironmentVariables } from "../../../util/git/auth.js";
5
- import { exec } from "../../../util/exec/index.js";
4
+ import { withGitEnvironment } from "../../../util/git/exec.js";
6
5
  import { quote } from "shlex";
7
6
  //#region lib/modules/manager/conan/artifacts.ts
7
+ const gitExec = withGitEnvironment(["conan"]);
8
8
  async function conanLockUpdate(conanFilePath, isLockFileMaintenance, conanConstraint, pythonConstraint) {
9
9
  const command = `conan lock create ${quote(conanFilePath)}${isLockFileMaintenance ? " --lockfile=\"\"" : ""}`;
10
- const execOptions = {
11
- extraEnv: { ...getGitEnvironmentVariables(["conan"]) },
10
+ await gitExec(command, {
12
11
  toolConstraints: [{
13
12
  toolName: "python",
14
13
  constraint: pythonConstraint
@@ -17,8 +16,7 @@ async function conanLockUpdate(conanFilePath, isLockFileMaintenance, conanConstr
17
16
  constraint: conanConstraint
18
17
  }],
19
18
  docker: {}
20
- };
21
- await exec(command, execOptions);
19
+ });
22
20
  }
23
21
  async function updateArtifacts(updateArtifact) {
24
22
  const { packageFileName, updatedDeps, newPackageFileContent, config } = updateArtifact;
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.js","names":[],"sources":["../../../../lib/modules/manager/conan/artifacts.ts"],"sourcesContent":["import { quote } from 'shlex';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages.ts';\nimport { logger } from '../../../logger/index.ts';\nimport { exec } from '../../../util/exec/index.ts';\nimport type { ExecOptions } from '../../../util/exec/types.ts';\nimport {\n findLocalSiblingOrParent,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs/index.ts';\nimport { getGitEnvironmentVariables } from '../../../util/git/auth.ts';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types.ts';\n\nasync function conanLockUpdate(\n conanFilePath: string,\n isLockFileMaintenance: boolean | undefined,\n conanConstraint?: string,\n pythonConstraint?: string,\n): Promise<void> {\n const command = `conan lock create ${quote(conanFilePath)}${isLockFileMaintenance ? ' --lockfile=\"\"' : ''}`;\n\n const execOptions: ExecOptions = {\n extraEnv: { ...getGitEnvironmentVariables(['conan']) },\n toolConstraints: [\n {\n toolName: 'python',\n constraint: pythonConstraint,\n },\n {\n toolName: 'conan',\n constraint: conanConstraint,\n },\n ],\n docker: {},\n };\n\n await exec(command, execOptions);\n}\n\nexport async function updateArtifacts(\n updateArtifact: UpdateArtifact,\n): Promise<UpdateArtifactsResult[] | null> {\n const { packageFileName, updatedDeps, newPackageFileContent, config } =\n updateArtifact;\n\n logger.trace(`conan.updateArtifacts(${packageFileName})`);\n\n const { isLockFileMaintenance } = config;\n\n if (updatedDeps.length === 0 && !isLockFileMaintenance) {\n logger.trace('No conan.lock dependencies to update');\n return null;\n }\n\n const lockFileName = await findLocalSiblingOrParent(\n packageFileName,\n 'conan.lock',\n );\n if (!lockFileName) {\n logger.trace('No conan.lock found');\n return null;\n }\n\n const existingLockFileContent = await readLocalFile(lockFileName);\n if (!existingLockFileContent) {\n logger.debug(`${lockFileName} read operation failed`);\n return null;\n }\n\n try {\n await writeLocalFile(packageFileName, newPackageFileContent);\n\n logger.trace(`Updating ${lockFileName}`);\n await conanLockUpdate(\n packageFileName,\n isLockFileMaintenance,\n config.constraints?.conan,\n config.constraints?.python,\n );\n\n const newLockFileContent = await readLocalFile(lockFileName);\n if (!newLockFileContent) {\n logger.debug(`New ${lockFileName} read operation failed`);\n return null;\n }\n\n if (existingLockFileContent === newLockFileContent) {\n logger.trace(`${lockFileName} is unchanged`);\n return null;\n }\n\n logger.trace(`Returning updated ${lockFileName}`);\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newLockFileContent,\n },\n },\n ];\n } catch (err) {\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n\n logger.debug(\n { err, packageFileName, lockFileName },\n 'Lockfile update failed',\n );\n\n return [\n {\n artifactError: {\n fileName: lockFileName,\n stderr: err.message,\n },\n },\n ];\n }\n}\n"],"mappings":";;;;;;;AAaA,eAAe,gBACb,eACA,uBACA,iBACA,kBACe;CACf,MAAM,UAAU,qBAAqB,MAAM,aAAa,IAAI,wBAAwB,qBAAmB;CAEvG,MAAM,cAA2B;EAC/B,UAAU,EAAE,GAAG,2BAA2B,CAAC,OAAO,CAAC,EAAE;EACrD,iBAAiB,CACf;GACE,UAAU;GACV,YAAY;EACd,GACA;GACE,UAAU;GACV,YAAY;EACd,CACF;EACA,QAAQ,CAAC;CACX;CAEA,MAAM,KAAK,SAAS,WAAW;AACjC;AAEA,eAAsB,gBACpB,gBACyC;CACzC,MAAM,EAAE,iBAAiB,aAAa,uBAAuB,WAC3D;CAEF,OAAO,MAAM,yBAAyB,gBAAgB,EAAE;CAExD,MAAM,EAAE,0BAA0B;CAElC,IAAI,YAAY,WAAW,KAAK,CAAC,uBAAuB;EACtD,OAAO,MAAM,sCAAsC;EACnD,OAAO;CACT;CAEA,MAAM,eAAe,MAAM,yBACzB,iBACA,YACF;CACA,IAAI,CAAC,cAAc;EACjB,OAAO,MAAM,qBAAqB;EAClC,OAAO;CACT;CAEA,MAAM,0BAA0B,MAAM,cAAc,YAAY;CAChE,IAAI,CAAC,yBAAyB;EAC5B,OAAO,MAAM,GAAG,aAAa,uBAAuB;EACpD,OAAO;CACT;CAEA,IAAI;EACF,MAAM,eAAe,iBAAiB,qBAAqB;EAE3D,OAAO,MAAM,YAAY,cAAc;EACvC,MAAM,gBACJ,iBACA,uBACA,OAAO,aAAa,OACpB,OAAO,aAAa,MACtB;EAEA,MAAM,qBAAqB,MAAM,cAAc,YAAY;EAC3D,IAAI,CAAC,oBAAoB;GACvB,OAAO,MAAM,OAAO,aAAa,uBAAuB;GACxD,OAAO;EACT;EAEA,IAAI,4BAA4B,oBAAoB;GAClD,OAAO,MAAM,GAAG,aAAa,cAAc;GAC3C,OAAO;EACT;EAEA,OAAO,MAAM,qBAAqB,cAAc;EAChD,OAAO,CACL,EACE,MAAM;GACJ,MAAM;GACN,MAAM;GACN,UAAU;EACZ,EACF,CACF;CACF,SAAS,KAAK;EACZ,IAAI,IAAI,YAAA,mBACN,MAAM;EAGR,OAAO,MACL;GAAE;GAAK;GAAiB;EAAa,GACrC,wBACF;EAEA,OAAO,CACL,EACE,eAAe;GACb,UAAU;GACV,QAAQ,IAAI;EACd,EACF,CACF;CACF;AACF"}
1
+ {"version":3,"file":"artifacts.js","names":[],"sources":["../../../../lib/modules/manager/conan/artifacts.ts"],"sourcesContent":["import { quote } from 'shlex';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages.ts';\nimport { logger } from '../../../logger/index.ts';\nimport type { ExecOptions } from '../../../util/exec/types.ts';\nimport {\n findLocalSiblingOrParent,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs/index.ts';\nimport { withGitEnvironment } from '../../../util/git/exec.ts';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types.ts';\n\nconst gitExec = withGitEnvironment(['conan']);\n\nasync function conanLockUpdate(\n conanFilePath: string,\n isLockFileMaintenance: boolean | undefined,\n conanConstraint?: string,\n pythonConstraint?: string,\n): Promise<void> {\n const command = `conan lock create ${quote(conanFilePath)}${isLockFileMaintenance ? ' --lockfile=\"\"' : ''}`;\n\n const execOptions: ExecOptions = {\n toolConstraints: [\n {\n toolName: 'python',\n constraint: pythonConstraint,\n },\n {\n toolName: 'conan',\n constraint: conanConstraint,\n },\n ],\n docker: {},\n };\n\n await gitExec(command, execOptions);\n}\n\nexport async function updateArtifacts(\n updateArtifact: UpdateArtifact,\n): Promise<UpdateArtifactsResult[] | null> {\n const { packageFileName, updatedDeps, newPackageFileContent, config } =\n updateArtifact;\n\n logger.trace(`conan.updateArtifacts(${packageFileName})`);\n\n const { isLockFileMaintenance } = config;\n\n if (updatedDeps.length === 0 && !isLockFileMaintenance) {\n logger.trace('No conan.lock dependencies to update');\n return null;\n }\n\n const lockFileName = await findLocalSiblingOrParent(\n packageFileName,\n 'conan.lock',\n );\n if (!lockFileName) {\n logger.trace('No conan.lock found');\n return null;\n }\n\n const existingLockFileContent = await readLocalFile(lockFileName);\n if (!existingLockFileContent) {\n logger.debug(`${lockFileName} read operation failed`);\n return null;\n }\n\n try {\n await writeLocalFile(packageFileName, newPackageFileContent);\n\n logger.trace(`Updating ${lockFileName}`);\n await conanLockUpdate(\n packageFileName,\n isLockFileMaintenance,\n config.constraints?.conan,\n config.constraints?.python,\n );\n\n const newLockFileContent = await readLocalFile(lockFileName);\n if (!newLockFileContent) {\n logger.debug(`New ${lockFileName} read operation failed`);\n return null;\n }\n\n if (existingLockFileContent === newLockFileContent) {\n logger.trace(`${lockFileName} is unchanged`);\n return null;\n }\n\n logger.trace(`Returning updated ${lockFileName}`);\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newLockFileContent,\n },\n },\n ];\n } catch (err) {\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n\n logger.debug(\n { err, packageFileName, lockFileName },\n 'Lockfile update failed',\n );\n\n return [\n {\n artifactError: {\n fileName: lockFileName,\n stderr: err.message,\n },\n },\n ];\n }\n}\n"],"mappings":";;;;;;AAYA,MAAM,UAAU,mBAAmB,CAAC,OAAO,CAAC;AAE5C,eAAe,gBACb,eACA,uBACA,iBACA,kBACe;CACf,MAAM,UAAU,qBAAqB,MAAM,aAAa,IAAI,wBAAwB,qBAAmB;CAgBvG,MAAM,QAAQ,SAAS;EAbrB,iBAAiB,CACf;GACE,UAAU;GACV,YAAY;EACd,GACA;GACE,UAAU;GACV,YAAY;EACd,CACF;EACA,QAAQ,CAAC;CAGsB,CAAC;AACpC;AAEA,eAAsB,gBACpB,gBACyC;CACzC,MAAM,EAAE,iBAAiB,aAAa,uBAAuB,WAC3D;CAEF,OAAO,MAAM,yBAAyB,gBAAgB,EAAE;CAExD,MAAM,EAAE,0BAA0B;CAElC,IAAI,YAAY,WAAW,KAAK,CAAC,uBAAuB;EACtD,OAAO,MAAM,sCAAsC;EACnD,OAAO;CACT;CAEA,MAAM,eAAe,MAAM,yBACzB,iBACA,YACF;CACA,IAAI,CAAC,cAAc;EACjB,OAAO,MAAM,qBAAqB;EAClC,OAAO;CACT;CAEA,MAAM,0BAA0B,MAAM,cAAc,YAAY;CAChE,IAAI,CAAC,yBAAyB;EAC5B,OAAO,MAAM,GAAG,aAAa,uBAAuB;EACpD,OAAO;CACT;CAEA,IAAI;EACF,MAAM,eAAe,iBAAiB,qBAAqB;EAE3D,OAAO,MAAM,YAAY,cAAc;EACvC,MAAM,gBACJ,iBACA,uBACA,OAAO,aAAa,OACpB,OAAO,aAAa,MACtB;EAEA,MAAM,qBAAqB,MAAM,cAAc,YAAY;EAC3D,IAAI,CAAC,oBAAoB;GACvB,OAAO,MAAM,OAAO,aAAa,uBAAuB;GACxD,OAAO;EACT;EAEA,IAAI,4BAA4B,oBAAoB;GAClD,OAAO,MAAM,GAAG,aAAa,cAAc;GAC3C,OAAO;EACT;EAEA,OAAO,MAAM,qBAAqB,cAAc;EAChD,OAAO,CACL,EACE,MAAM;GACJ,MAAM;GACN,MAAM;GACN,UAAU;EACZ,EACF,CACF;CACF,SAAS,KAAK;EACZ,IAAI,IAAI,YAAA,mBACN,MAAM;EAGR,OAAO,MACL;GAAE;GAAK;GAAiB;EAAa,GACrC,wBACF;EAEA,OAAO,CACL,EACE,eAAe;GACb,UAAU;GACV,QAAQ,IAAI;EACd,EACF,CACF;CACF;AACF"}
@@ -1,14 +1,14 @@
1
1
  import { GlobalConfig } from "../../../config/global.js";
2
2
  import { logger } from "../../../logger/index.js";
3
3
  import { readLocalFile } from "../../../util/fs/index.js";
4
- import { getGitEnvironmentVariables } from "../../../util/git/auth.js";
5
- import { exec } from "../../../util/exec/index.js";
6
4
  import { getRepoStatus } from "../../../util/git/index.js";
5
+ import { withGitEnvironment } from "../../../util/git/exec.js";
7
6
  import { getCopierVersionConstraint, getPythonVersionConstraint } from "./utils.js";
8
7
  import { quote } from "shlex";
9
8
  import upath from "upath";
10
9
  //#region lib/modules/manager/copier/artifacts.ts
11
10
  const DEFAULT_COMMAND_OPTIONS = ["--skip-answered", "--defaults"];
11
+ const gitExec = withGitEnvironment(["git-tags"]);
12
12
  function buildCommand(config, packageFileName, newValue) {
13
13
  const command = [
14
14
  "copier",
@@ -33,7 +33,6 @@ async function updateArtifacts({ packageFileName, updatedDeps, config }) {
33
33
  const execOptions = {
34
34
  cwdFile: packageFileName,
35
35
  docker: {},
36
- extraEnv: getGitEnvironmentVariables(["git-tags"]),
37
36
  toolConstraints: [{
38
37
  toolName: "python",
39
38
  constraint: getPythonVersionConstraint(config)
@@ -43,7 +42,7 @@ async function updateArtifacts({ packageFileName, updatedDeps, config }) {
43
42
  }]
44
43
  };
45
44
  try {
46
- await exec(command, execOptions);
45
+ await gitExec(command, execOptions);
47
46
  } catch (err) {
48
47
  logger.debug({ err }, `Failed to update copier template: ${err.message}`);
49
48
  return artifactError(packageFileName, err.message);
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.js","names":[],"sources":["../../../../lib/modules/manager/copier/artifacts.ts"],"sourcesContent":["import { quote } from 'shlex';\nimport upath from 'upath';\nimport { GlobalConfig } from '../../../config/global.ts';\nimport { logger } from '../../../logger/index.ts';\nimport { exec } from '../../../util/exec/index.ts';\nimport type { ExecOptions } from '../../../util/exec/types.ts';\nimport { readLocalFile } from '../../../util/fs/index.ts';\nimport { getGitEnvironmentVariables } from '../../../util/git/auth.ts';\nimport { getRepoStatus } from '../../../util/git/index.ts';\nimport type {\n UpdateArtifact,\n UpdateArtifactsConfig,\n UpdateArtifactsResult,\n} from '../types.ts';\nimport {\n getCopierVersionConstraint,\n getPythonVersionConstraint,\n} from './utils.ts';\n\nconst DEFAULT_COMMAND_OPTIONS = ['--skip-answered', '--defaults'];\n\nfunction buildCommand(\n config: UpdateArtifactsConfig,\n packageFileName: string,\n newValue: string,\n): string {\n const command = ['copier', 'update', ...DEFAULT_COMMAND_OPTIONS];\n if (GlobalConfig.get('allowScripts') && !config.ignoreScripts) {\n command.push('--trust');\n }\n command.push(\n '--answers-file',\n quote(upath.basename(packageFileName)),\n '--vcs-ref',\n quote(newValue),\n );\n return command.join(' ');\n}\n\nfunction artifactError(\n packageFileName: string,\n message: string,\n): UpdateArtifactsResult[] {\n return [\n {\n artifactError: {\n fileName: packageFileName,\n stderr: message,\n },\n },\n ];\n}\n\nexport async function updateArtifacts({\n packageFileName,\n updatedDeps,\n config,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n if (updatedDeps?.length !== 1) {\n // Each answers file (~ packageFileName) has exactly one dependency to update.\n return artifactError(\n packageFileName,\n `Unexpected number of dependencies: ${updatedDeps?.length} (should be 1)`,\n );\n }\n\n const newValue = updatedDeps[0]?.newValue;\n if (!newValue) {\n return artifactError(\n packageFileName,\n 'Missing copier template version to update to',\n );\n }\n\n const command = buildCommand(config, packageFileName, newValue);\n const gitEnv = getGitEnvironmentVariables(['git-tags']);\n const execOptions: ExecOptions = {\n cwdFile: packageFileName,\n docker: {},\n extraEnv: gitEnv,\n toolConstraints: [\n {\n toolName: 'python',\n constraint: getPythonVersionConstraint(config),\n },\n {\n toolName: 'copier',\n constraint: getCopierVersionConstraint(config),\n },\n ],\n };\n try {\n await exec(command, execOptions);\n } catch (err) {\n logger.debug({ err }, `Failed to update copier template: ${err.message}`);\n return artifactError(packageFileName, err.message);\n }\n\n const status = await getRepoStatus();\n // If the answers file didn't change, Copier did not update anything.\n if (!status.modified.includes(packageFileName)) {\n return null;\n }\n\n if (status.conflicted.length > 0) {\n // Sometimes, Copier erroneously reports conflicts.\n const msg = `Updating the Copier template yielded ${status.conflicted.length} merge conflicts. Please check the proposed changes carefully! Conflicting files:\\n * ${status.conflicted.join('\\n * ')}`;\n logger.debug({ packageFileName, depName: updatedDeps[0]?.depName }, msg);\n }\n\n const res: UpdateArtifactsResult[] = [];\n\n for (const f of [\n ...status.modified,\n ...status.not_added,\n ...status.conflicted,\n ]) {\n const fileRes: UpdateArtifactsResult = {\n file: {\n type: 'addition',\n path: f,\n contents: await readLocalFile(f),\n },\n };\n if (status.conflicted.includes(f)) {\n // Make the reviewer aware of the conflicts.\n // This will be posted in a comment.\n fileRes.notice = {\n file: f,\n message:\n 'This file had merge conflicts. Please check the proposed changes carefully!',\n };\n }\n res.push(fileRes);\n }\n for (const f of status.deleted) {\n res.push({\n file: {\n type: 'deletion',\n path: f,\n },\n });\n }\n // `git status` might detect a rename, which is then not contained\n // in not_added/deleted. Ensure we respect renames as well if they happen.\n for (const f of status.renamed) {\n res.push({\n file: {\n type: 'deletion',\n path: f.from,\n },\n });\n res.push({\n file: {\n type: 'addition',\n path: f.to,\n contents: await readLocalFile(f.to),\n },\n });\n }\n return res;\n}\n"],"mappings":";;;;;;;;;;AAmBA,MAAM,0BAA0B,CAAC,mBAAmB,YAAY;AAEhE,SAAS,aACP,QACA,iBACA,UACQ;CACR,MAAM,UAAU;EAAC;EAAU;EAAU,GAAG;CAAuB;CAC/D,IAAI,aAAa,IAAI,cAAc,KAAK,CAAC,OAAO,eAC9C,QAAQ,KAAK,SAAS;CAExB,QAAQ,KACN,kBACA,MAAM,MAAM,SAAS,eAAe,CAAC,GACrC,aACA,MAAM,QAAQ,CAChB;CACA,OAAO,QAAQ,KAAK,GAAG;AACzB;AAEA,SAAS,cACP,iBACA,SACyB;CACzB,OAAO,CACL,EACE,eAAe;EACb,UAAU;EACV,QAAQ;CACV,EACF,CACF;AACF;AAEA,eAAsB,gBAAgB,EACpC,iBACA,aACA,UAC0D;CAC1D,IAAI,aAAa,WAAW,GAE1B,OAAO,cACL,iBACA,sCAAsC,aAAa,OAAO,eAC5D;CAGF,MAAM,WAAW,YAAY,EAAE,EAAE;CACjC,IAAI,CAAC,UACH,OAAO,cACL,iBACA,8CACF;CAGF,MAAM,UAAU,aAAa,QAAQ,iBAAiB,QAAQ;CAE9D,MAAM,cAA2B;EAC/B,SAAS;EACT,QAAQ,CAAC;EACT,UAJa,2BAA2B,CAAC,UAAU,CAIpC;EACf,iBAAiB,CACf;GACE,UAAU;GACV,YAAY,2BAA2B,MAAM;EAC/C,GACA;GACE,UAAU;GACV,YAAY,2BAA2B,MAAM;EAC/C,CACF;CACF;CACA,IAAI;EACF,MAAM,KAAK,SAAS,WAAW;CACjC,SAAS,KAAK;EACZ,OAAO,MAAM,EAAE,IAAI,GAAG,qCAAqC,IAAI,SAAS;EACxE,OAAO,cAAc,iBAAiB,IAAI,OAAO;CACnD;CAEA,MAAM,SAAS,MAAM,cAAc;CAEnC,IAAI,CAAC,OAAO,SAAS,SAAS,eAAe,GAC3C,OAAO;CAGT,IAAI,OAAO,WAAW,SAAS,GAAG;EAEhC,MAAM,MAAM,wCAAwC,OAAO,WAAW,OAAO,yFAAyF,OAAO,WAAW,KAAK,QAAQ;EACrM,OAAO,MAAM;GAAE;GAAiB,SAAS,YAAY,EAAE,EAAE;EAAQ,GAAG,GAAG;CACzE;CAEA,MAAM,MAA+B,CAAC;CAEtC,KAAK,MAAM,KAAK;EACd,GAAG,OAAO;EACV,GAAG,OAAO;EACV,GAAG,OAAO;CACZ,GAAG;EACD,MAAM,UAAiC,EACrC,MAAM;GACJ,MAAM;GACN,MAAM;GACN,UAAU,MAAM,cAAc,CAAC;EACjC,EACF;EACA,IAAI,OAAO,WAAW,SAAS,CAAC,GAG9B,QAAQ,SAAS;GACf,MAAM;GACN,SACE;EACJ;EAEF,IAAI,KAAK,OAAO;CAClB;CACA,KAAK,MAAM,KAAK,OAAO,SACrB,IAAI,KAAK,EACP,MAAM;EACJ,MAAM;EACN,MAAM;CACR,EACF,CAAC;CAIH,KAAK,MAAM,KAAK,OAAO,SAAS;EAC9B,IAAI,KAAK,EACP,MAAM;GACJ,MAAM;GACN,MAAM,EAAE;EACV,EACF,CAAC;EACD,IAAI,KAAK,EACP,MAAM;GACJ,MAAM;GACN,MAAM,EAAE;GACR,UAAU,MAAM,cAAc,EAAE,EAAE;EACpC,EACF,CAAC;CACH;CACA,OAAO;AACT"}
1
+ {"version":3,"file":"artifacts.js","names":[],"sources":["../../../../lib/modules/manager/copier/artifacts.ts"],"sourcesContent":["import { quote } from 'shlex';\nimport upath from 'upath';\nimport { GlobalConfig } from '../../../config/global.ts';\nimport { logger } from '../../../logger/index.ts';\nimport type { ExecOptions } from '../../../util/exec/types.ts';\nimport { readLocalFile } from '../../../util/fs/index.ts';\nimport { withGitEnvironment } from '../../../util/git/exec.ts';\nimport { getRepoStatus } from '../../../util/git/index.ts';\nimport type {\n UpdateArtifact,\n UpdateArtifactsConfig,\n UpdateArtifactsResult,\n} from '../types.ts';\nimport {\n getCopierVersionConstraint,\n getPythonVersionConstraint,\n} from './utils.ts';\n\nconst DEFAULT_COMMAND_OPTIONS = ['--skip-answered', '--defaults'];\nconst gitExec = withGitEnvironment(['git-tags']);\n\nfunction buildCommand(\n config: UpdateArtifactsConfig,\n packageFileName: string,\n newValue: string,\n): string {\n const command = ['copier', 'update', ...DEFAULT_COMMAND_OPTIONS];\n if (GlobalConfig.get('allowScripts') && !config.ignoreScripts) {\n command.push('--trust');\n }\n command.push(\n '--answers-file',\n quote(upath.basename(packageFileName)),\n '--vcs-ref',\n quote(newValue),\n );\n return command.join(' ');\n}\n\nfunction artifactError(\n packageFileName: string,\n message: string,\n): UpdateArtifactsResult[] {\n return [\n {\n artifactError: {\n fileName: packageFileName,\n stderr: message,\n },\n },\n ];\n}\n\nexport async function updateArtifacts({\n packageFileName,\n updatedDeps,\n config,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n if (updatedDeps?.length !== 1) {\n // Each answers file (~ packageFileName) has exactly one dependency to update.\n return artifactError(\n packageFileName,\n `Unexpected number of dependencies: ${updatedDeps?.length} (should be 1)`,\n );\n }\n\n const newValue = updatedDeps[0]?.newValue;\n if (!newValue) {\n return artifactError(\n packageFileName,\n 'Missing copier template version to update to',\n );\n }\n\n const command = buildCommand(config, packageFileName, newValue);\n const execOptions: ExecOptions = {\n cwdFile: packageFileName,\n docker: {},\n toolConstraints: [\n {\n toolName: 'python',\n constraint: getPythonVersionConstraint(config),\n },\n {\n toolName: 'copier',\n constraint: getCopierVersionConstraint(config),\n },\n ],\n };\n try {\n await gitExec(command, execOptions);\n } catch (err) {\n logger.debug({ err }, `Failed to update copier template: ${err.message}`);\n return artifactError(packageFileName, err.message);\n }\n\n const status = await getRepoStatus();\n // If the answers file didn't change, Copier did not update anything.\n if (!status.modified.includes(packageFileName)) {\n return null;\n }\n\n if (status.conflicted.length > 0) {\n // Sometimes, Copier erroneously reports conflicts.\n const msg = `Updating the Copier template yielded ${status.conflicted.length} merge conflicts. Please check the proposed changes carefully! Conflicting files:\\n * ${status.conflicted.join('\\n * ')}`;\n logger.debug({ packageFileName, depName: updatedDeps[0]?.depName }, msg);\n }\n\n const res: UpdateArtifactsResult[] = [];\n\n for (const f of [\n ...status.modified,\n ...status.not_added,\n ...status.conflicted,\n ]) {\n const fileRes: UpdateArtifactsResult = {\n file: {\n type: 'addition',\n path: f,\n contents: await readLocalFile(f),\n },\n };\n if (status.conflicted.includes(f)) {\n // Make the reviewer aware of the conflicts.\n // This will be posted in a comment.\n fileRes.notice = {\n file: f,\n message:\n 'This file had merge conflicts. Please check the proposed changes carefully!',\n };\n }\n res.push(fileRes);\n }\n for (const f of status.deleted) {\n res.push({\n file: {\n type: 'deletion',\n path: f,\n },\n });\n }\n // `git status` might detect a rename, which is then not contained\n // in not_added/deleted. Ensure we respect renames as well if they happen.\n for (const f of status.renamed) {\n res.push({\n file: {\n type: 'deletion',\n path: f.from,\n },\n });\n res.push({\n file: {\n type: 'addition',\n path: f.to,\n contents: await readLocalFile(f.to),\n },\n });\n }\n return res;\n}\n"],"mappings":";;;;;;;;;AAkBA,MAAM,0BAA0B,CAAC,mBAAmB,YAAY;AAChE,MAAM,UAAU,mBAAmB,CAAC,UAAU,CAAC;AAE/C,SAAS,aACP,QACA,iBACA,UACQ;CACR,MAAM,UAAU;EAAC;EAAU;EAAU,GAAG;CAAuB;CAC/D,IAAI,aAAa,IAAI,cAAc,KAAK,CAAC,OAAO,eAC9C,QAAQ,KAAK,SAAS;CAExB,QAAQ,KACN,kBACA,MAAM,MAAM,SAAS,eAAe,CAAC,GACrC,aACA,MAAM,QAAQ,CAChB;CACA,OAAO,QAAQ,KAAK,GAAG;AACzB;AAEA,SAAS,cACP,iBACA,SACyB;CACzB,OAAO,CACL,EACE,eAAe;EACb,UAAU;EACV,QAAQ;CACV,EACF,CACF;AACF;AAEA,eAAsB,gBAAgB,EACpC,iBACA,aACA,UAC0D;CAC1D,IAAI,aAAa,WAAW,GAE1B,OAAO,cACL,iBACA,sCAAsC,aAAa,OAAO,eAC5D;CAGF,MAAM,WAAW,YAAY,EAAE,EAAE;CACjC,IAAI,CAAC,UACH,OAAO,cACL,iBACA,8CACF;CAGF,MAAM,UAAU,aAAa,QAAQ,iBAAiB,QAAQ;CAC9D,MAAM,cAA2B;EAC/B,SAAS;EACT,QAAQ,CAAC;EACT,iBAAiB,CACf;GACE,UAAU;GACV,YAAY,2BAA2B,MAAM;EAC/C,GACA;GACE,UAAU;GACV,YAAY,2BAA2B,MAAM;EAC/C,CACF;CACF;CACA,IAAI;EACF,MAAM,QAAQ,SAAS,WAAW;CACpC,SAAS,KAAK;EACZ,OAAO,MAAM,EAAE,IAAI,GAAG,qCAAqC,IAAI,SAAS;EACxE,OAAO,cAAc,iBAAiB,IAAI,OAAO;CACnD;CAEA,MAAM,SAAS,MAAM,cAAc;CAEnC,IAAI,CAAC,OAAO,SAAS,SAAS,eAAe,GAC3C,OAAO;CAGT,IAAI,OAAO,WAAW,SAAS,GAAG;EAEhC,MAAM,MAAM,wCAAwC,OAAO,WAAW,OAAO,yFAAyF,OAAO,WAAW,KAAK,QAAQ;EACrM,OAAO,MAAM;GAAE;GAAiB,SAAS,YAAY,EAAE,EAAE;EAAQ,GAAG,GAAG;CACzE;CAEA,MAAM,MAA+B,CAAC;CAEtC,KAAK,MAAM,KAAK;EACd,GAAG,OAAO;EACV,GAAG,OAAO;EACV,GAAG,OAAO;CACZ,GAAG;EACD,MAAM,UAAiC,EACrC,MAAM;GACJ,MAAM;GACN,MAAM;GACN,UAAU,MAAM,cAAc,CAAC;EACjC,EACF;EACA,IAAI,OAAO,WAAW,SAAS,CAAC,GAG9B,QAAQ,SAAS;GACf,MAAM;GACN,SACE;EACJ;EAEF,IAAI,KAAK,OAAO;CAClB;CACA,KAAK,MAAM,KAAK,OAAO,SACrB,IAAI,KAAK,EACP,MAAM;EACJ,MAAM;EACN,MAAM;CACR,EACF,CAAC;CAIH,KAAK,MAAM,KAAK,OAAO,SAAS;EAC9B,IAAI,KAAK,EACP,MAAM;GACJ,MAAM;GACN,MAAM,EAAE;EACV,EACF,CAAC;EACD,IAAI,KAAK,EACP,MAAM;GACJ,MAAM;GACN,MAAM,EAAE;GACR,UAAU,MAAM,cAAc,EAAE,EAAE;EACpC,EACF,CAAC;CACH;CACA,OAAO;AACT"}
@@ -41,7 +41,7 @@ hashMap.set("droneci", "237c8de87b9bf653fb943b56e84e99c45f6d86ae27d86e599b3f3f99
41
41
  hashMap.set("fleet", "d73d5d35f10df0599a561d9c8d25f3935350407d0e3bd3a1d1545295f278912e");
42
42
  hashMap.set("flux", "70833dd068ea0a746a9392469e7904021562c7629428d0cd554603bad4eb6ce5");
43
43
  hashMap.set("fvm", "9b161df0f14bc6e536368952adf373e343630097121a913cea60ee284027fb90");
44
- hashMap.set("git-submodules", "2d12dc3bd8bb6d866843b48af2fd6594a99f4b2d6bc52613ff2b14642b78b466");
44
+ hashMap.set("git-submodules", "e95bbc9b69a36dee82e255e8983640b7179cb5f17d24b035c6cf01d9635b35bd");
45
45
  hashMap.set("github-actions", "c809c380baf2c73839b016b9ac2cb6b4c8f48494ade5b0a3382343db8e48e563");
46
46
  hashMap.set("gitlabci", "33c264edf7837fb8fbc4cf0078c8bd2d5a75431039b1db65bf47356df7753125");
47
47
  hashMap.set("gitlabci-include", "ef696c478c2ac1723b3aca070ba9779be0e702fff0844054251ba0029523d0eb");
@@ -56,7 +56,7 @@ hashMap.set("helm-values", "b5c52c6a27d805557418c585c5d3030c95ee641d53057021f3fe
56
56
  hashMap.set("helmfile", "ab828a1877cfe029ed5f8dd2a026409cd5e6431705af3aac3f56a3bc4f827508");
57
57
  hashMap.set("helmsman", "ef9680c612f702c7f07aea9b6e5d811e91214dcfa5755c9f3803e9528090935e");
58
58
  hashMap.set("helmv3", "4088a90bd8be4ae1bcb85dc4d34d3fbbb75e72bd33d144284e7e1f0e726c8d3b");
59
- hashMap.set("hermit", "cdc0007b3612f91a1fa61a9fa137096555014638c75ea8d5465bf71fd6ff6125");
59
+ hashMap.set("hermit", "61e132cfccbe4e3884801a3728f3391455c214811a33c1f733b0dea7122bbbb6");
60
60
  hashMap.set("homeassistant-manifest", "05043c6db870cffbb6f8f3e351c025e3de227eaae0b24134b796aec46f84b65f");
61
61
  hashMap.set("homebrew", "9c64a4f1475b1c2052372e566c9190f32ae8acd1c54313031d55ae8772388367");
62
62
  hashMap.set("html", "67c5f3c5c58e96f5dd257ba5987d900cf7fef81d667c3640e96c847b37de35a8");
@@ -86,7 +86,7 @@ hashMap.set("pip_requirements", "537ef9d7b43b5adcfbfbb86392e0c7a8a0ee91c804118af
86
86
  hashMap.set("pip_setup", "0175fe550c19d9bd31c978bd83fdc088cb40fcacd5d6751f640164274ae64e61");
87
87
  hashMap.set("pipenv", "3b8a32a7879ac9798bd119315113e151bd843cae8f25bd1fbd376d574c9a726b");
88
88
  hashMap.set("pixi", "3732f052617efd5007ddbe31091a2ba026909288bac4cbbe6d2bd6ac64d85393");
89
- hashMap.set("poetry", "b3b68106c5f9f2c1a1a17664ff7f3d2347cc4b60814ef1bf83e5baa9810d0c69");
89
+ hashMap.set("poetry", "6cf6bc5116458761b2d6779caf465d6e26768fbe6e2ffba54b5da981aa8c385f");
90
90
  hashMap.set("pre-commit", "17a5f183985ebffe98785a541d3609bf25efedc387deb3d50e9f00f02b25f615");
91
91
  hashMap.set("proto", "412053d4550026b4ace490b46e970915b87ec1abf0b0a0c6c8c58ccf1fc16843");
92
92
  hashMap.set("pub", "a2ded51959d48e053b811b3b9330b2460fc61d0fc2e74a400a546e4f82d25767");
@@ -1 +1 @@
1
- {"version":3,"file":"fingerprint.generated.js","names":[],"sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','1d3568f42393d697f8f96d461b72077ee7a1044b654e87667a12f861b3083111');\nhashMap.set('ansible-galaxy','8226d47128f2018825d4d6f84794e3183eb79c706045fa7e88491edd5e64106f');\nhashMap.set('ant','2df5943cf0ed19a21b94df13729dbb925655548130caf37e3e22bebaed518e17');\nhashMap.set('argocd','5d35b1992e53130bf83b0e59a0f90ccd3a78919974c69044f306dc5d162f48ce');\nhashMap.set('asdf','b2acfc0a6164e9a279daa724777c423f84572dafb0df09b1b0cf6f205f9eb6d0');\nhashMap.set('azure-pipelines','4f635b0ecd388ee266d992e8281fd40e3db2f5867d86fc1cbce72dc33a66e796');\nhashMap.set('batect','bd9208444eff1a4958061484db66a47b616c31f15a8d49d23b75c4560fcee83e');\nhashMap.set('batect-wrapper','d999355511ea7f4053325a18b8cfc8d2b586c61e6760c35e557d383a673e3939');\nhashMap.set('bazel','4994a8bd86d5bfb169d67c08efd8509b58c368c2bf3dd9bbe42553c0fabc3f1a');\nhashMap.set('bazel-module','40f6a862b4e72fcc7262ee41f8b570ea3fd5600d6d552b94ed3301bb201f5db5');\nhashMap.set('bazelisk','d71489650feefb0dbbe7461f924cb50e41c8eef8fe2e11acdec2d42d0212c8ef');\nhashMap.set('bicep','7246e0bfc06e0e28cbb03ac088c5591f648956b086e106aeb251fe5d628329db');\nhashMap.set('bitbucket-pipelines','59c0503494ab1442b127914503c01b97ac17b6742b19c632292d5aa24de115cd');\nhashMap.set('bitrise','478dfd316221fad7c29e177c70d1018d832fb2626b53308a5d0f1f0380e69f42');\nhashMap.set('buildkite','a93effb1f1c5d65b3277c3b4709924eacde282e8efd028a8e3d8c1ce3ef69407');\nhashMap.set('buildpacks','6bef3cb04d66b5cfbb195adb4829bcbccae6408518706744d291bacf0610421f');\nhashMap.set('bun','f2d5b0a7c0c724d30e79e12688b1fc8ff8e344db0cc6389553e2f6001ddf8345');\nhashMap.set('bun-version','df3ae8e4a5de1fa1b4544f3d7fc8117e80adb1e151c46d1ede54a4dbea6521e4');\nhashMap.set('bundler','4f70ac0377893683eb30013bf4d23a8bd7213a883847c9eaadf1217f5f190ee1');\nhashMap.set('cake','ed6d14c96161f1d3d927adc7e333b96585164e1f25151a87990914d57ae17fe1');\nhashMap.set('cargo','02ad3e8ea4cf698d40c0c3bcb1ffce0dd2f5a2b83747414dafcd8679cded9bf4');\nhashMap.set('cdnurl','d3edf6cdc38e92eb43ff5a2b4e8df6a6a13154cf83244725c39e28d7e6ea9177');\nhashMap.set('circleci','91cbeb33ea20f9838e2c81a1195eb806f0b38fa282bc3679f62552f20575ca85');\nhashMap.set('cloudbuild','8c0c739f7e4082bbfe8e3fdffebaf43e26f70a1314d95b306e9b93e4f4297886');\nhashMap.set('cocoapods','cf48ab5a573a28bf14d5e6c84eed9ca08b7f0cb5b7fc51d795c21c7254bb9dd1');\nhashMap.set('composer','869aab556d9b2ca2b743a790a7c0d7d104d62bbcbcc2185c44c64543d70413ba');\nhashMap.set('conan','74ca922a0ffdf1a9dd44b83eb2b3a36c56c7d792031e3a4a484f293046be3ecd');\nhashMap.set('copier','06a52206ba5542f99f056c832245196afd4b78bffeca088f710a5df958a9693d');\nhashMap.set('cpanfile','07813fec3f3c2197056500e9266a0553b9774c02f2c74d5ca2e213188c7c12d3');\nhashMap.set('crossplane','5c26b1201a1a51454ffb94d829e223a76a781569bf79cdb1e47087c30233ec40');\nhashMap.set('crow','eb9a5f9f95041855dded67bcce3dd54724f690995ed6268d272e8a666ff28fd0');\nhashMap.set('deno','8a161cacb3563a8249c6bf5956a2c1015d4c525946ae61d4fdcec7311f90b2ea');\nhashMap.set('deps-edn','c87dd5e88587147ad1a78f047b814f3c4aa60d6de30d0c49d849391eeaf1b64c');\nhashMap.set('devbox','a608d1e6db93a8f997d41f8dee7b67533452a956057865978342e2819272e0a9');\nhashMap.set('devcontainer','24320ed1cb6191d04cb8b2707214d82c08c682597aed1d84f250aa00ad1632ec');\nhashMap.set('docker-compose','5441af5b5abf8d347e46002d47f02f85743401bda28232f49fb7b3bbb772a4fb');\nhashMap.set('dockerfile','54122792bf8ea0be98e0a0716e627e3115b40a5f0155ccd7ae0cfc52424a3478');\nhashMap.set('droneci','237c8de87b9bf653fb943b56e84e99c45f6d86ae27d86e599b3f3f99c35ba8ee');\nhashMap.set('fleet','d73d5d35f10df0599a561d9c8d25f3935350407d0e3bd3a1d1545295f278912e');\nhashMap.set('flux','70833dd068ea0a746a9392469e7904021562c7629428d0cd554603bad4eb6ce5');\nhashMap.set('fvm','9b161df0f14bc6e536368952adf373e343630097121a913cea60ee284027fb90');\nhashMap.set('git-submodules','2d12dc3bd8bb6d866843b48af2fd6594a99f4b2d6bc52613ff2b14642b78b466');\nhashMap.set('github-actions','c809c380baf2c73839b016b9ac2cb6b4c8f48494ade5b0a3382343db8e48e563');\nhashMap.set('gitlabci','33c264edf7837fb8fbc4cf0078c8bd2d5a75431039b1db65bf47356df7753125');\nhashMap.set('gitlabci-include','ef696c478c2ac1723b3aca070ba9779be0e702fff0844054251ba0029523d0eb');\nhashMap.set('glasskube','93e7b9000a17efa15a1abaaf320b5af9169b1ecd828fc0c881d98570ef9d9e30');\nhashMap.set('gleam','02389785183c39d2896d7893414c5e1060023f95c1fe7b595bd06cc5c1186d39');\nhashMap.set('gomod','073cf874c14d8f323aa7dc467e757b39e249e4617be1ce10926ee68763f89381');\nhashMap.set('gradle','550f1107f0ac27d18fa76a7d5c0c0b317b5df4156fc12cfd378573ccfe26fca0');\nhashMap.set('gradle-wrapper','799d9bb8d9dead673fb513ba4936395f14da30897d33a9df46b3266e1b835d5d');\nhashMap.set('haskell-cabal','f232d0e883235f74ed71fd9de4a7468e5fcbda9a1af5beb56c24657f7bf2e891');\nhashMap.set('helm-requirements','4d90e5e18a380876ad48e21e1ad88ea62e25d973a1ddaa3763447fc0a9f9915b');\nhashMap.set('helm-values','b5c52c6a27d805557418c585c5d3030c95ee641d53057021f3fe060f81b6e1af');\nhashMap.set('helmfile','ab828a1877cfe029ed5f8dd2a026409cd5e6431705af3aac3f56a3bc4f827508');\nhashMap.set('helmsman','ef9680c612f702c7f07aea9b6e5d811e91214dcfa5755c9f3803e9528090935e');\nhashMap.set('helmv3','4088a90bd8be4ae1bcb85dc4d34d3fbbb75e72bd33d144284e7e1f0e726c8d3b');\nhashMap.set('hermit','cdc0007b3612f91a1fa61a9fa137096555014638c75ea8d5465bf71fd6ff6125');\nhashMap.set('homeassistant-manifest','05043c6db870cffbb6f8f3e351c025e3de227eaae0b24134b796aec46f84b65f');\nhashMap.set('homebrew','9c64a4f1475b1c2052372e566c9190f32ae8acd1c54313031d55ae8772388367');\nhashMap.set('html','67c5f3c5c58e96f5dd257ba5987d900cf7fef81d667c3640e96c847b37de35a8');\nhashMap.set('jenkins','268ebfc8a1caf3edeb2192c2b1b2fa4bf18a78a3e731ba20a6c104940a5539f3');\nhashMap.set('jsonnet-bundler','4023ef4cac55fe58f8d9744ae86b13532298926e35e22d250334cde55c3386ff');\nhashMap.set('kotlin-script','99ef296792a0ca575ed31d3defb514b05a58083dc01c52ea0890c69d867ba1dd');\nhashMap.set('kubernetes','321e7d77fb3600dd4c00a86eaa1294927e7f92300b74fa2977d813dcaa3bb4de');\nhashMap.set('kustomize','fb5f6fbf45b318ca277d6d9f7fee22680f4b99c7ff9170a50315122918d2e007');\nhashMap.set('leiningen','133fca2c3423f53f2ccc22518153ddbcafbf0f4812376c77e952eb3d24d81f85');\nhashMap.set('maven','f084cdc88320ca1e82af957d0008e7c9ce991d3282cb428f3108a5722239cead');\nhashMap.set('maven-wrapper','779344a4e259e0c28bfadfeb435dd72feb7224d7346d038a1c35f02deb1357bc');\nhashMap.set('meteor','4a93a326b27bedfe52118e27e06f39fecd7c55bd4cd7fccec4cb120cac14cec4');\nhashMap.set('mint','248fe4f1ea5c985921c286785792c97e06fc41f402b2d45df82f6aecd17f710e');\nhashMap.set('mise','8463d355091f5f167e3f4a8adbebfe49310ad9ac45c89d60455ef8e110df4a49');\nhashMap.set('mix','5eb001e2af7cd664d811ad2d9928bf785527ed292de1e567de57f7e2cecc1ecc');\nhashMap.set('nix','d3283c2b948695a16c1089da4e2689faacd50eaa7d734d6fa5d6661aef6db7e7');\nhashMap.set('nodenv','ac652c28481b001f7471f4183eac07b45d98ecbe83efc275830b0a1b2e0459b8');\nhashMap.set('npm','0adc3d37562671986c36891105e71cdf973573815050ee2d6e0df404046cfe39');\nhashMap.set('nuget','0cce80e43ab9b21a98a8ecff8a835adf0ccc1c003cf71e7cf9c1e64293884464');\nhashMap.set('nvm','3eb77c7b0acf6d64753de78fad2499b352719853aa6872878c40675d14152322');\nhashMap.set('ocb','032b216684c14b0954e0bb019513a2aca3faaee5748587acb668d377d7c891ca');\nhashMap.set('osgi','32233a1a8a2725699d7448ba438e3d0b78141f7799cd2b588de278d41e26ed10');\nhashMap.set('pep621','f5dc3c8434845dd814bc649c619323dcb69e3ec5da2d361d353bdf6ae3cc5d88');\nhashMap.set('pep723','b96683163de63ed93207ec0538066705b1e58a1cd5b8bd11c63fc28b26bddba1');\nhashMap.set('pip-compile','9711b1c00da18ff785e624c50e4b042519e7ad615c5f018f08459fac8394fec5');\nhashMap.set('pip_requirements','537ef9d7b43b5adcfbfbb86392e0c7a8a0ee91c804118af83cf92e1868949e1a');\nhashMap.set('pip_setup','0175fe550c19d9bd31c978bd83fdc088cb40fcacd5d6751f640164274ae64e61');\nhashMap.set('pipenv','3b8a32a7879ac9798bd119315113e151bd843cae8f25bd1fbd376d574c9a726b');\nhashMap.set('pixi','3732f052617efd5007ddbe31091a2ba026909288bac4cbbe6d2bd6ac64d85393');\nhashMap.set('poetry','b3b68106c5f9f2c1a1a17664ff7f3d2347cc4b60814ef1bf83e5baa9810d0c69');\nhashMap.set('pre-commit','17a5f183985ebffe98785a541d3609bf25efedc387deb3d50e9f00f02b25f615');\nhashMap.set('proto','412053d4550026b4ace490b46e970915b87ec1abf0b0a0c6c8c58ccf1fc16843');\nhashMap.set('pub','a2ded51959d48e053b811b3b9330b2460fc61d0fc2e74a400a546e4f82d25767');\nhashMap.set('puppet','ba58ab689e44acc8f61c3569ab8b40fde01b8a9d3aad712708e2a419e57d8b45');\nhashMap.set('pyenv','9ede8becc97774f9040b40f4472d3e933534b596e04c360bfe0f3c6f95f25182');\nhashMap.set('quadlet','e1fc88a4e14cd595e89bb3d79b4adf2add3ce5eb80f75276e712c32598cca53d');\nhashMap.set('renovate-config','2a4e4fb671aed5d0c900b8d54c31bfef46ca36d0f4e16b00ff73377b9c09fb69');\nhashMap.set('ruby-version','2db2140d9eee8c555e729a4de0396fa2d78846d3149890ee12fa515bd654be97');\nhashMap.set('runtime-version','b582b168c0cc595e39010feb10f4b97a82683eb269e9598216fbb11cc186e160');\nhashMap.set('rust-toolchain','6ace53db02874d73620d2d872291839820a512a9529c42d174358c692e5db720');\nhashMap.set('sbt','e508c2e2fb8d44e6cbec20f449c8eed096728566e6058187269c637930d388fb');\nhashMap.set('scalafmt','9d36159b56835e96498af026a1fb0543200db0581681ef95ec54988f411e180f');\nhashMap.set('setup-cfg','7dea08c5708625e753bd56918bc214df7fb4d8543a26e936926a21ab43b5f785');\nhashMap.set('smithy','9641b91d065ffb63be0dd888139a0402dba41e550f8b44c592db9daf52109100');\nhashMap.set('sveltos','05b3158e88771ed4629e171592cf4f1bf0ff342f8aeae89be0b340c630cc6d8e');\nhashMap.set('swift','56cdc6fe4cd00519f953459f94323c71677f6bde007537eef891154fb8696db1');\nhashMap.set('tekton','fdc5b9b5edec2a90cda2f858f3ebc532aa8efb1187d1e0b7c89b07796e9cb6cd');\nhashMap.set('terraform','3dc2e8342e5e4ddf0f1cf1910567f13c4cfb20b9eaf375ee522f67946fe3e368');\nhashMap.set('terraform-version','ec8f786b9731d47f2c2fe0307caf64d7ddd83046fe7ff1f7d8423239f8b0f2aa');\nhashMap.set('terragrunt','ffcbaa67dd65f064d43f8c121c1006115eab1879c4bd38de263b9b90a009c118');\nhashMap.set('terragrunt-version','eea6087b33717d22ede2fc68c2f64df8390b75abe82110ed831a180648feb51d');\nhashMap.set('tflint-plugin','31247d37bc80aae17039bfa21bd989c5717730c5ef10cf2a6f09841576d012ec');\nhashMap.set('travis','bb482a0195cd009ec3896a6227bb95617f5c84bedb518c7d971e50c62235d9ca');\nhashMap.set('typst','d080a79fbd961c6e21fcc505d544b7e0ff2126142acb1dcabdf6abbcd9339248');\nhashMap.set('unity3d','f13e25e115e3443f4e16cf31578acffa78fb1a5e23339680a92d8d6de6052920');\nhashMap.set('velaci','fda00ddb7cc23e9a37e0a8a253151df0a6930b4276d3e4f78cc54b9ac09af7de');\nhashMap.set('vendir','ee9cc316c73ab0944da494bf36cfeafba8e79a36ec77753b9f341c8e80f1d602');\nhashMap.set('woodpecker','6110d3bec33aaeb3511d4bbfa896cec3c8e02fb04a6cff50c9ba81061c851045');\nhashMap.set('xcodegen','dad511d88a9ce1dbdde8b9731f3da7f2bdaa4ca8a083294ee58d56da62ab1683');\nhashMap.set('jsonata','efd520a9f674c6dcd4edde61e8d14ddbb29a60bcfd6a92e6179197faebf63e84');\nhashMap.set('regex','dbe6889ea021a05127fed06226d73366fdada2ae577147a5c027996fd325416e');"],"mappings":"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"}
1
+ {"version":3,"file":"fingerprint.generated.js","names":[],"sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','1d3568f42393d697f8f96d461b72077ee7a1044b654e87667a12f861b3083111');\nhashMap.set('ansible-galaxy','8226d47128f2018825d4d6f84794e3183eb79c706045fa7e88491edd5e64106f');\nhashMap.set('ant','2df5943cf0ed19a21b94df13729dbb925655548130caf37e3e22bebaed518e17');\nhashMap.set('argocd','5d35b1992e53130bf83b0e59a0f90ccd3a78919974c69044f306dc5d162f48ce');\nhashMap.set('asdf','b2acfc0a6164e9a279daa724777c423f84572dafb0df09b1b0cf6f205f9eb6d0');\nhashMap.set('azure-pipelines','4f635b0ecd388ee266d992e8281fd40e3db2f5867d86fc1cbce72dc33a66e796');\nhashMap.set('batect','bd9208444eff1a4958061484db66a47b616c31f15a8d49d23b75c4560fcee83e');\nhashMap.set('batect-wrapper','d999355511ea7f4053325a18b8cfc8d2b586c61e6760c35e557d383a673e3939');\nhashMap.set('bazel','4994a8bd86d5bfb169d67c08efd8509b58c368c2bf3dd9bbe42553c0fabc3f1a');\nhashMap.set('bazel-module','40f6a862b4e72fcc7262ee41f8b570ea3fd5600d6d552b94ed3301bb201f5db5');\nhashMap.set('bazelisk','d71489650feefb0dbbe7461f924cb50e41c8eef8fe2e11acdec2d42d0212c8ef');\nhashMap.set('bicep','7246e0bfc06e0e28cbb03ac088c5591f648956b086e106aeb251fe5d628329db');\nhashMap.set('bitbucket-pipelines','59c0503494ab1442b127914503c01b97ac17b6742b19c632292d5aa24de115cd');\nhashMap.set('bitrise','478dfd316221fad7c29e177c70d1018d832fb2626b53308a5d0f1f0380e69f42');\nhashMap.set('buildkite','a93effb1f1c5d65b3277c3b4709924eacde282e8efd028a8e3d8c1ce3ef69407');\nhashMap.set('buildpacks','6bef3cb04d66b5cfbb195adb4829bcbccae6408518706744d291bacf0610421f');\nhashMap.set('bun','f2d5b0a7c0c724d30e79e12688b1fc8ff8e344db0cc6389553e2f6001ddf8345');\nhashMap.set('bun-version','df3ae8e4a5de1fa1b4544f3d7fc8117e80adb1e151c46d1ede54a4dbea6521e4');\nhashMap.set('bundler','4f70ac0377893683eb30013bf4d23a8bd7213a883847c9eaadf1217f5f190ee1');\nhashMap.set('cake','ed6d14c96161f1d3d927adc7e333b96585164e1f25151a87990914d57ae17fe1');\nhashMap.set('cargo','02ad3e8ea4cf698d40c0c3bcb1ffce0dd2f5a2b83747414dafcd8679cded9bf4');\nhashMap.set('cdnurl','d3edf6cdc38e92eb43ff5a2b4e8df6a6a13154cf83244725c39e28d7e6ea9177');\nhashMap.set('circleci','91cbeb33ea20f9838e2c81a1195eb806f0b38fa282bc3679f62552f20575ca85');\nhashMap.set('cloudbuild','8c0c739f7e4082bbfe8e3fdffebaf43e26f70a1314d95b306e9b93e4f4297886');\nhashMap.set('cocoapods','cf48ab5a573a28bf14d5e6c84eed9ca08b7f0cb5b7fc51d795c21c7254bb9dd1');\nhashMap.set('composer','869aab556d9b2ca2b743a790a7c0d7d104d62bbcbcc2185c44c64543d70413ba');\nhashMap.set('conan','74ca922a0ffdf1a9dd44b83eb2b3a36c56c7d792031e3a4a484f293046be3ecd');\nhashMap.set('copier','06a52206ba5542f99f056c832245196afd4b78bffeca088f710a5df958a9693d');\nhashMap.set('cpanfile','07813fec3f3c2197056500e9266a0553b9774c02f2c74d5ca2e213188c7c12d3');\nhashMap.set('crossplane','5c26b1201a1a51454ffb94d829e223a76a781569bf79cdb1e47087c30233ec40');\nhashMap.set('crow','eb9a5f9f95041855dded67bcce3dd54724f690995ed6268d272e8a666ff28fd0');\nhashMap.set('deno','8a161cacb3563a8249c6bf5956a2c1015d4c525946ae61d4fdcec7311f90b2ea');\nhashMap.set('deps-edn','c87dd5e88587147ad1a78f047b814f3c4aa60d6de30d0c49d849391eeaf1b64c');\nhashMap.set('devbox','a608d1e6db93a8f997d41f8dee7b67533452a956057865978342e2819272e0a9');\nhashMap.set('devcontainer','24320ed1cb6191d04cb8b2707214d82c08c682597aed1d84f250aa00ad1632ec');\nhashMap.set('docker-compose','5441af5b5abf8d347e46002d47f02f85743401bda28232f49fb7b3bbb772a4fb');\nhashMap.set('dockerfile','54122792bf8ea0be98e0a0716e627e3115b40a5f0155ccd7ae0cfc52424a3478');\nhashMap.set('droneci','237c8de87b9bf653fb943b56e84e99c45f6d86ae27d86e599b3f3f99c35ba8ee');\nhashMap.set('fleet','d73d5d35f10df0599a561d9c8d25f3935350407d0e3bd3a1d1545295f278912e');\nhashMap.set('flux','70833dd068ea0a746a9392469e7904021562c7629428d0cd554603bad4eb6ce5');\nhashMap.set('fvm','9b161df0f14bc6e536368952adf373e343630097121a913cea60ee284027fb90');\nhashMap.set('git-submodules','e95bbc9b69a36dee82e255e8983640b7179cb5f17d24b035c6cf01d9635b35bd');\nhashMap.set('github-actions','c809c380baf2c73839b016b9ac2cb6b4c8f48494ade5b0a3382343db8e48e563');\nhashMap.set('gitlabci','33c264edf7837fb8fbc4cf0078c8bd2d5a75431039b1db65bf47356df7753125');\nhashMap.set('gitlabci-include','ef696c478c2ac1723b3aca070ba9779be0e702fff0844054251ba0029523d0eb');\nhashMap.set('glasskube','93e7b9000a17efa15a1abaaf320b5af9169b1ecd828fc0c881d98570ef9d9e30');\nhashMap.set('gleam','02389785183c39d2896d7893414c5e1060023f95c1fe7b595bd06cc5c1186d39');\nhashMap.set('gomod','073cf874c14d8f323aa7dc467e757b39e249e4617be1ce10926ee68763f89381');\nhashMap.set('gradle','550f1107f0ac27d18fa76a7d5c0c0b317b5df4156fc12cfd378573ccfe26fca0');\nhashMap.set('gradle-wrapper','799d9bb8d9dead673fb513ba4936395f14da30897d33a9df46b3266e1b835d5d');\nhashMap.set('haskell-cabal','f232d0e883235f74ed71fd9de4a7468e5fcbda9a1af5beb56c24657f7bf2e891');\nhashMap.set('helm-requirements','4d90e5e18a380876ad48e21e1ad88ea62e25d973a1ddaa3763447fc0a9f9915b');\nhashMap.set('helm-values','b5c52c6a27d805557418c585c5d3030c95ee641d53057021f3fe060f81b6e1af');\nhashMap.set('helmfile','ab828a1877cfe029ed5f8dd2a026409cd5e6431705af3aac3f56a3bc4f827508');\nhashMap.set('helmsman','ef9680c612f702c7f07aea9b6e5d811e91214dcfa5755c9f3803e9528090935e');\nhashMap.set('helmv3','4088a90bd8be4ae1bcb85dc4d34d3fbbb75e72bd33d144284e7e1f0e726c8d3b');\nhashMap.set('hermit','61e132cfccbe4e3884801a3728f3391455c214811a33c1f733b0dea7122bbbb6');\nhashMap.set('homeassistant-manifest','05043c6db870cffbb6f8f3e351c025e3de227eaae0b24134b796aec46f84b65f');\nhashMap.set('homebrew','9c64a4f1475b1c2052372e566c9190f32ae8acd1c54313031d55ae8772388367');\nhashMap.set('html','67c5f3c5c58e96f5dd257ba5987d900cf7fef81d667c3640e96c847b37de35a8');\nhashMap.set('jenkins','268ebfc8a1caf3edeb2192c2b1b2fa4bf18a78a3e731ba20a6c104940a5539f3');\nhashMap.set('jsonnet-bundler','4023ef4cac55fe58f8d9744ae86b13532298926e35e22d250334cde55c3386ff');\nhashMap.set('kotlin-script','99ef296792a0ca575ed31d3defb514b05a58083dc01c52ea0890c69d867ba1dd');\nhashMap.set('kubernetes','321e7d77fb3600dd4c00a86eaa1294927e7f92300b74fa2977d813dcaa3bb4de');\nhashMap.set('kustomize','fb5f6fbf45b318ca277d6d9f7fee22680f4b99c7ff9170a50315122918d2e007');\nhashMap.set('leiningen','133fca2c3423f53f2ccc22518153ddbcafbf0f4812376c77e952eb3d24d81f85');\nhashMap.set('maven','f084cdc88320ca1e82af957d0008e7c9ce991d3282cb428f3108a5722239cead');\nhashMap.set('maven-wrapper','779344a4e259e0c28bfadfeb435dd72feb7224d7346d038a1c35f02deb1357bc');\nhashMap.set('meteor','4a93a326b27bedfe52118e27e06f39fecd7c55bd4cd7fccec4cb120cac14cec4');\nhashMap.set('mint','248fe4f1ea5c985921c286785792c97e06fc41f402b2d45df82f6aecd17f710e');\nhashMap.set('mise','8463d355091f5f167e3f4a8adbebfe49310ad9ac45c89d60455ef8e110df4a49');\nhashMap.set('mix','5eb001e2af7cd664d811ad2d9928bf785527ed292de1e567de57f7e2cecc1ecc');\nhashMap.set('nix','d3283c2b948695a16c1089da4e2689faacd50eaa7d734d6fa5d6661aef6db7e7');\nhashMap.set('nodenv','ac652c28481b001f7471f4183eac07b45d98ecbe83efc275830b0a1b2e0459b8');\nhashMap.set('npm','0adc3d37562671986c36891105e71cdf973573815050ee2d6e0df404046cfe39');\nhashMap.set('nuget','0cce80e43ab9b21a98a8ecff8a835adf0ccc1c003cf71e7cf9c1e64293884464');\nhashMap.set('nvm','3eb77c7b0acf6d64753de78fad2499b352719853aa6872878c40675d14152322');\nhashMap.set('ocb','032b216684c14b0954e0bb019513a2aca3faaee5748587acb668d377d7c891ca');\nhashMap.set('osgi','32233a1a8a2725699d7448ba438e3d0b78141f7799cd2b588de278d41e26ed10');\nhashMap.set('pep621','f5dc3c8434845dd814bc649c619323dcb69e3ec5da2d361d353bdf6ae3cc5d88');\nhashMap.set('pep723','b96683163de63ed93207ec0538066705b1e58a1cd5b8bd11c63fc28b26bddba1');\nhashMap.set('pip-compile','9711b1c00da18ff785e624c50e4b042519e7ad615c5f018f08459fac8394fec5');\nhashMap.set('pip_requirements','537ef9d7b43b5adcfbfbb86392e0c7a8a0ee91c804118af83cf92e1868949e1a');\nhashMap.set('pip_setup','0175fe550c19d9bd31c978bd83fdc088cb40fcacd5d6751f640164274ae64e61');\nhashMap.set('pipenv','3b8a32a7879ac9798bd119315113e151bd843cae8f25bd1fbd376d574c9a726b');\nhashMap.set('pixi','3732f052617efd5007ddbe31091a2ba026909288bac4cbbe6d2bd6ac64d85393');\nhashMap.set('poetry','6cf6bc5116458761b2d6779caf465d6e26768fbe6e2ffba54b5da981aa8c385f');\nhashMap.set('pre-commit','17a5f183985ebffe98785a541d3609bf25efedc387deb3d50e9f00f02b25f615');\nhashMap.set('proto','412053d4550026b4ace490b46e970915b87ec1abf0b0a0c6c8c58ccf1fc16843');\nhashMap.set('pub','a2ded51959d48e053b811b3b9330b2460fc61d0fc2e74a400a546e4f82d25767');\nhashMap.set('puppet','ba58ab689e44acc8f61c3569ab8b40fde01b8a9d3aad712708e2a419e57d8b45');\nhashMap.set('pyenv','9ede8becc97774f9040b40f4472d3e933534b596e04c360bfe0f3c6f95f25182');\nhashMap.set('quadlet','e1fc88a4e14cd595e89bb3d79b4adf2add3ce5eb80f75276e712c32598cca53d');\nhashMap.set('renovate-config','2a4e4fb671aed5d0c900b8d54c31bfef46ca36d0f4e16b00ff73377b9c09fb69');\nhashMap.set('ruby-version','2db2140d9eee8c555e729a4de0396fa2d78846d3149890ee12fa515bd654be97');\nhashMap.set('runtime-version','b582b168c0cc595e39010feb10f4b97a82683eb269e9598216fbb11cc186e160');\nhashMap.set('rust-toolchain','6ace53db02874d73620d2d872291839820a512a9529c42d174358c692e5db720');\nhashMap.set('sbt','e508c2e2fb8d44e6cbec20f449c8eed096728566e6058187269c637930d388fb');\nhashMap.set('scalafmt','9d36159b56835e96498af026a1fb0543200db0581681ef95ec54988f411e180f');\nhashMap.set('setup-cfg','7dea08c5708625e753bd56918bc214df7fb4d8543a26e936926a21ab43b5f785');\nhashMap.set('smithy','9641b91d065ffb63be0dd888139a0402dba41e550f8b44c592db9daf52109100');\nhashMap.set('sveltos','05b3158e88771ed4629e171592cf4f1bf0ff342f8aeae89be0b340c630cc6d8e');\nhashMap.set('swift','56cdc6fe4cd00519f953459f94323c71677f6bde007537eef891154fb8696db1');\nhashMap.set('tekton','fdc5b9b5edec2a90cda2f858f3ebc532aa8efb1187d1e0b7c89b07796e9cb6cd');\nhashMap.set('terraform','3dc2e8342e5e4ddf0f1cf1910567f13c4cfb20b9eaf375ee522f67946fe3e368');\nhashMap.set('terraform-version','ec8f786b9731d47f2c2fe0307caf64d7ddd83046fe7ff1f7d8423239f8b0f2aa');\nhashMap.set('terragrunt','ffcbaa67dd65f064d43f8c121c1006115eab1879c4bd38de263b9b90a009c118');\nhashMap.set('terragrunt-version','eea6087b33717d22ede2fc68c2f64df8390b75abe82110ed831a180648feb51d');\nhashMap.set('tflint-plugin','31247d37bc80aae17039bfa21bd989c5717730c5ef10cf2a6f09841576d012ec');\nhashMap.set('travis','bb482a0195cd009ec3896a6227bb95617f5c84bedb518c7d971e50c62235d9ca');\nhashMap.set('typst','d080a79fbd961c6e21fcc505d544b7e0ff2126142acb1dcabdf6abbcd9339248');\nhashMap.set('unity3d','f13e25e115e3443f4e16cf31578acffa78fb1a5e23339680a92d8d6de6052920');\nhashMap.set('velaci','fda00ddb7cc23e9a37e0a8a253151df0a6930b4276d3e4f78cc54b9ac09af7de');\nhashMap.set('vendir','ee9cc316c73ab0944da494bf36cfeafba8e79a36ec77753b9f341c8e80f1d602');\nhashMap.set('woodpecker','6110d3bec33aaeb3511d4bbfa896cec3c8e02fb04a6cff50c9ba81061c851045');\nhashMap.set('xcodegen','dad511d88a9ce1dbdde8b9731f3da7f2bdaa4ca8a083294ee58d56da62ab1683');\nhashMap.set('jsonata','efd520a9f674c6dcd4edde61e8d14ddbb29a60bcfd6a92e6179197faebf63e84');\nhashMap.set('regex','dbe6889ea021a05127fed06226d73366fdada2ae577147a5c027996fd325416e');"],"mappings":"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"}
@@ -1,20 +1,19 @@
1
1
  import { GlobalConfig } from "../../../config/global.js";
2
2
  import { logger } from "../../../logger/index.js";
3
3
  import { readLocalFile } from "../../../util/fs/index.js";
4
- import { getGitEnvironmentVariables } from "../../../util/git/auth.js";
5
4
  import { createSimpleGit } from "../../../util/git/index.js";
6
5
  import upath from "upath";
7
6
  //#region lib/modules/manager/git-submodules/update.ts
8
7
  async function updateDependency({ fileContent, upgrade }) {
9
8
  const localDir = GlobalConfig.get("localDir");
10
- const gitSubmoduleAuthEnvironmentVariables = getGitEnvironmentVariables(["git-tags", "git-refs"]);
9
+ const authentication = { hostTypes: ["git-tags", "git-refs"] };
11
10
  const git = createSimpleGit({
12
11
  config: { baseDir: localDir },
13
- env: gitSubmoduleAuthEnvironmentVariables
12
+ authentication
14
13
  });
15
14
  const submoduleGit = createSimpleGit({
16
15
  config: { baseDir: upath.join(localDir, upgrade.depName) },
17
- env: gitSubmoduleAuthEnvironmentVariables
16
+ authentication
18
17
  });
19
18
  try {
20
19
  await git.submoduleUpdate([
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","names":[],"sources":["../../../../lib/modules/manager/git-submodules/update.ts"],"sourcesContent":["import upath from 'upath';\nimport { GlobalConfig } from '../../../config/global.ts';\nimport { logger } from '../../../logger/index.ts';\nimport { readLocalFile } from '../../../util/fs/index.ts';\nimport { getGitEnvironmentVariables } from '../../../util/git/auth.ts';\nimport { createSimpleGit } from '../../../util/git/index.ts';\nimport type { UpdateDependencyConfig } from '../types.ts';\n\nexport default async function updateDependency({\n fileContent,\n upgrade,\n}: UpdateDependencyConfig): Promise<string | null> {\n // TODO: types (#22198)\n const localDir = GlobalConfig.get('localDir');\n const gitSubmoduleAuthEnvironmentVariables = getGitEnvironmentVariables([\n 'git-tags',\n 'git-refs',\n ]);\n\n const git = createSimpleGit({\n config: { baseDir: localDir },\n env: gitSubmoduleAuthEnvironmentVariables,\n });\n const submoduleGit = createSimpleGit({\n // TODO: types (#22198)\n config: { baseDir: upath.join(localDir, upgrade.depName!) },\n env: gitSubmoduleAuthEnvironmentVariables,\n });\n\n try {\n await git.submoduleUpdate(['--checkout', '--init', upgrade.depName!]);\n await submoduleGit.checkout([upgrade.newDigest!]);\n if (upgrade.newValue && upgrade.currentValue !== upgrade.newValue) {\n await git.subModule([\n 'set-branch',\n '--branch',\n upgrade.newValue,\n upgrade.depName!,\n ]);\n const updatedPackageContent = await readLocalFile(\n upgrade.packageFile!,\n 'utf8',\n );\n return updatedPackageContent!;\n }\n return fileContent;\n } catch (err) {\n logger.debug({ err }, 'submodule checkout error');\n return null;\n }\n}\n"],"mappings":";;;;;;;AAQA,eAA8B,iBAAiB,EAC7C,aACA,WACiD;CAEjD,MAAM,WAAW,aAAa,IAAI,UAAU;CAC5C,MAAM,uCAAuC,2BAA2B,CACtE,YACA,UACF,CAAC;CAED,MAAM,MAAM,gBAAgB;EAC1B,QAAQ,EAAE,SAAS,SAAS;EAC5B,KAAK;CACP,CAAC;CACD,MAAM,eAAe,gBAAgB;EAEnC,QAAQ,EAAE,SAAS,MAAM,KAAK,UAAU,QAAQ,OAAQ,EAAE;EAC1D,KAAK;CACP,CAAC;CAED,IAAI;EACF,MAAM,IAAI,gBAAgB;GAAC;GAAc;GAAU,QAAQ;EAAQ,CAAC;EACpE,MAAM,aAAa,SAAS,CAAC,QAAQ,SAAU,CAAC;EAChD,IAAI,QAAQ,YAAY,QAAQ,iBAAiB,QAAQ,UAAU;GACjE,MAAM,IAAI,UAAU;IAClB;IACA;IACA,QAAQ;IACR,QAAQ;GACV,CAAC;GAKD,OAAO,MAJ6B,cAClC,QAAQ,aACR,MACF;EAEF;EACA,OAAO;CACT,SAAS,KAAK;EACZ,OAAO,MAAM,EAAE,IAAI,GAAG,0BAA0B;EAChD,OAAO;CACT;AACF"}
1
+ {"version":3,"file":"update.js","names":[],"sources":["../../../../lib/modules/manager/git-submodules/update.ts"],"sourcesContent":["import upath from 'upath';\nimport { GlobalConfig } from '../../../config/global.ts';\nimport { logger } from '../../../logger/index.ts';\nimport { readLocalFile } from '../../../util/fs/index.ts';\nimport { createSimpleGit } from '../../../util/git/index.ts';\nimport type { UpdateDependencyConfig } from '../types.ts';\n\nexport default async function updateDependency({\n fileContent,\n upgrade,\n}: UpdateDependencyConfig): Promise<string | null> {\n // TODO: types (#22198)\n const localDir = GlobalConfig.get('localDir');\n const authentication = {\n hostTypes: ['git-tags', 'git-refs'],\n };\n\n const git = createSimpleGit({\n config: { baseDir: localDir },\n authentication,\n });\n const submoduleGit = createSimpleGit({\n // TODO: types (#22198)\n config: { baseDir: upath.join(localDir, upgrade.depName!) },\n authentication,\n });\n\n try {\n await git.submoduleUpdate(['--checkout', '--init', upgrade.depName!]);\n await submoduleGit.checkout([upgrade.newDigest!]);\n if (upgrade.newValue && upgrade.currentValue !== upgrade.newValue) {\n await git.subModule([\n 'set-branch',\n '--branch',\n upgrade.newValue,\n upgrade.depName!,\n ]);\n const updatedPackageContent = await readLocalFile(\n upgrade.packageFile!,\n 'utf8',\n );\n return updatedPackageContent!;\n }\n return fileContent;\n } catch (err) {\n logger.debug({ err }, 'submodule checkout error');\n return null;\n }\n}\n"],"mappings":";;;;;;AAOA,eAA8B,iBAAiB,EAC7C,aACA,WACiD;CAEjD,MAAM,WAAW,aAAa,IAAI,UAAU;CAC5C,MAAM,iBAAiB,EACrB,WAAW,CAAC,YAAY,UAAU,EACpC;CAEA,MAAM,MAAM,gBAAgB;EAC1B,QAAQ,EAAE,SAAS,SAAS;EAC5B;CACF,CAAC;CACD,MAAM,eAAe,gBAAgB;EAEnC,QAAQ,EAAE,SAAS,MAAM,KAAK,UAAU,QAAQ,OAAQ,EAAE;EAC1D;CACF,CAAC;CAED,IAAI;EACF,MAAM,IAAI,gBAAgB;GAAC;GAAc;GAAU,QAAQ;EAAQ,CAAC;EACpE,MAAM,aAAa,SAAS,CAAC,QAAQ,SAAU,CAAC;EAChD,IAAI,QAAQ,YAAY,QAAQ,iBAAiB,QAAQ,UAAU;GACjE,MAAM,IAAI,UAAU;IAClB;IACA;IACA,QAAQ;IACR,QAAQ;GACV,CAAC;GAKD,OAAO,MAJ6B,cAClC,QAAQ,aACR,MACF;EAEF;EACA,OAAO;CACT,SAAS,KAAK;EACZ,OAAO,MAAM,EAAE,IAAI,GAAG,0BAA0B;EAChD,OAAO;CACT;AACF"}
@@ -7,9 +7,8 @@ import { coerceArray } from "../../../util/array.js";
7
7
  import { ensureCacheDir, findLocalSiblingOrParent, isValidLocalPath, readLocalFile, writeLocalFile } from "../../../util/fs/index.js";
8
8
  import { filterMap } from "../../../util/filter-map.js";
9
9
  import { isValid as isVersion } from "../../versioning/semver/index.js";
10
- import { getGitEnvironmentVariables } from "../../../util/git/auth.js";
11
- import { exec } from "../../../util/exec/index.js";
12
10
  import { getRepoStatus } from "../../../util/git/index.js";
11
+ import { withGitEnvironment } from "../../../util/git/exec.js";
13
12
  import { getExtraDepsNotice } from "./artifacts-extra.js";
14
13
  import { isString } from "@sindresorhus/is";
15
14
  import { quote } from "shlex";
@@ -17,6 +16,7 @@ import upath from "upath";
17
16
  import semver from "semver";
18
17
  //#region lib/modules/manager/gomod/artifacts.ts
19
18
  const { major: major$1, valid: valid$1 } = semver;
19
+ const gitExec = withGitEnvironment(["go"]);
20
20
  function getUpdateImportPathCmds(updatedDeps, { constraints }) {
21
21
  const invalidMajorDeps = updatedDeps.filter(({ newVersion }) => !valid$1(newVersion));
22
22
  if (invalidMajorDeps.length > 0) invalidMajorDeps.forEach(({ depName }) => logger.warn({ depName }, "Ignoring dependency: Could not get major version"));
@@ -90,8 +90,7 @@ async function updateArtifacts({ packageFileName: goModFileName, updatedDeps, ne
90
90
  GOINSECURE: env.GOINSECURE,
91
91
  /* v8 ignore next -- TODO: add test */
92
92
  GOFLAGS: useModcacherw(goConstraints) ? "-modcacherw" : null,
93
- CGO_ENABLED: GlobalConfig.get("binarySource") === "docker" ? "0" : null,
94
- ...getGitEnvironmentVariables(["go"])
93
+ CGO_ENABLED: GlobalConfig.get("binarySource") === "docker" ? "0" : null
95
94
  },
96
95
  docker: {},
97
96
  toolConstraints: [{
@@ -167,7 +166,7 @@ async function updateArtifacts({ packageFileName: goModFileName, updatedDeps, ne
167
166
  logger.debug("go generate command included");
168
167
  execCommands.push(`${cmd} generate ./...`);
169
168
  } else logger.once.warn(`go generate command requested as a post update action, but goGenerate is not permitted in the allowedUnsafeExecutions`);
170
- await exec(execCommands, execOptions);
169
+ await gitExec(execCommands, execOptions);
171
170
  const status = await getRepoStatus();
172
171
  if (!status.modified.includes(sumFileName) && !status.modified.includes(goModFileName) && !status.modified.includes(goWorkSumFileName)) return null;
173
172
  const res = [];