renovate 39.176.4 → 40.0.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (244) hide show
  1. package/dist/config/migrations/custom/package-rules-migration.js.map +1 -1
  2. package/dist/config/migrations/migrations-service.d.ts +2 -2
  3. package/dist/config/migrations/migrations-service.js.map +1 -1
  4. package/dist/config/migrations/types.d.ts +1 -3
  5. package/dist/config/migrations/types.js.map +1 -1
  6. package/dist/config/options/index.js +1 -1
  7. package/dist/config/options/index.js.map +1 -1
  8. package/dist/config/presets/internal/group.js +0 -1
  9. package/dist/config/presets/internal/group.js.map +1 -1
  10. package/dist/config/presets/types.d.ts +4 -4
  11. package/dist/config/presets/types.js.map +1 -1
  12. package/dist/config-validator.js.map +1 -1
  13. package/dist/logger/utils.js +4 -2
  14. package/dist/logger/utils.js.map +1 -1
  15. package/dist/modules/datasource/artifactory/index.js +1 -1
  16. package/dist/modules/datasource/artifactory/index.js.map +1 -1
  17. package/dist/modules/datasource/conan/index.js +1 -1
  18. package/dist/modules/datasource/conan/index.js.map +1 -1
  19. package/dist/modules/datasource/crate/index.js.map +1 -1
  20. package/dist/modules/datasource/datasource.d.ts +1 -1
  21. package/dist/modules/datasource/datasource.js +3 -1
  22. package/dist/modules/datasource/datasource.js.map +1 -1
  23. package/dist/modules/datasource/deb/common.d.ts +3 -3
  24. package/dist/modules/datasource/deb/common.js.map +1 -1
  25. package/dist/modules/datasource/docker/ecr.js +1 -1
  26. package/dist/modules/datasource/docker/ecr.js.map +1 -1
  27. package/dist/modules/datasource/docker/index.js.map +1 -1
  28. package/dist/modules/datasource/hexpm-bob/index.js +1 -1
  29. package/dist/modules/datasource/hexpm-bob/index.js.map +1 -1
  30. package/dist/modules/datasource/nuget/v2.js +1 -1
  31. package/dist/modules/datasource/nuget/v2.js.map +1 -1
  32. package/dist/modules/datasource/pod/index.js +1 -2
  33. package/dist/modules/datasource/pod/index.js.map +1 -1
  34. package/dist/modules/datasource/rubygems/metadata-cache.js.map +1 -1
  35. package/dist/modules/datasource/sbt-plugin/index.js +1 -2
  36. package/dist/modules/datasource/sbt-plugin/index.js.map +1 -1
  37. package/dist/modules/manager/ansible-galaxy/collections-metadata.js +1 -2
  38. package/dist/modules/manager/ansible-galaxy/collections-metadata.js.map +1 -1
  39. package/dist/modules/manager/asdf/upgradeable-tooling.js +4 -4
  40. package/dist/modules/manager/asdf/upgradeable-tooling.js.map +1 -1
  41. package/dist/modules/manager/batect/extract.js.map +1 -1
  42. package/dist/modules/manager/bazel/artifacts.js +2 -2
  43. package/dist/modules/manager/bazel/artifacts.js.map +1 -1
  44. package/dist/modules/manager/bazel/common.js +1 -2
  45. package/dist/modules/manager/bazel/common.js.map +1 -1
  46. package/dist/modules/manager/bazel/parser.js +1 -1
  47. package/dist/modules/manager/bazel/parser.js.map +1 -1
  48. package/dist/modules/manager/bazel-module/parser/context.d.ts +4 -3
  49. package/dist/modules/manager/bazel-module/parser/context.js +9 -6
  50. package/dist/modules/manager/bazel-module/parser/context.js.map +1 -1
  51. package/dist/modules/manager/bazel-module/parser/extension-tags.js +10 -2
  52. package/dist/modules/manager/bazel-module/parser/extension-tags.js.map +1 -1
  53. package/dist/modules/manager/bazel-module/parser/fragments.d.ts +20 -2
  54. package/dist/modules/manager/bazel-module/parser/fragments.js +8 -2
  55. package/dist/modules/manager/bazel-module/parser/fragments.js.map +1 -1
  56. package/dist/modules/manager/bazel-module/parser/index.js +1 -1
  57. package/dist/modules/manager/bazel-module/parser/index.js.map +1 -1
  58. package/dist/modules/manager/bazel-module/parser/maven.d.ts +16 -0
  59. package/dist/modules/manager/bazel-module/parser/oci.d.ts +8 -0
  60. package/dist/modules/manager/bazel-module/parser/oci.js +4 -1
  61. package/dist/modules/manager/bazel-module/parser/oci.js.map +1 -1
  62. package/dist/modules/manager/bun/artifacts.js +1 -1
  63. package/dist/modules/manager/bun/artifacts.js.map +1 -1
  64. package/dist/modules/manager/bundler/extract.js.map +1 -1
  65. package/dist/modules/manager/cargo/artifacts.js +1 -1
  66. package/dist/modules/manager/cargo/artifacts.js.map +1 -1
  67. package/dist/modules/manager/cargo/extract.js.map +1 -1
  68. package/dist/modules/manager/cargo/types.d.ts +1 -3
  69. package/dist/modules/manager/cargo/types.js.map +1 -1
  70. package/dist/modules/manager/composer/utils.js +4 -4
  71. package/dist/modules/manager/composer/utils.js.map +1 -1
  72. package/dist/modules/manager/deps-edn/extract.js +3 -3
  73. package/dist/modules/manager/deps-edn/extract.js.map +1 -1
  74. package/dist/modules/manager/deps-edn/types.js.map +1 -1
  75. package/dist/modules/manager/dockerfile/extract.js +2 -3
  76. package/dist/modules/manager/dockerfile/extract.js.map +1 -1
  77. package/dist/modules/manager/fingerprint.generated.js +17 -17
  78. package/dist/modules/manager/fingerprint.generated.js.map +1 -1
  79. package/dist/modules/manager/flux/types.d.ts +3 -3
  80. package/dist/modules/manager/flux/types.js.map +1 -1
  81. package/dist/modules/manager/git-submodules/types.d.ts +2 -2
  82. package/dist/modules/manager/git-submodules/types.js.map +1 -1
  83. package/dist/modules/manager/github-actions/extract.js +2 -2
  84. package/dist/modules/manager/github-actions/extract.js.map +1 -1
  85. package/dist/modules/manager/glasskube/types.d.ts +2 -2
  86. package/dist/modules/manager/glasskube/types.js.map +1 -1
  87. package/dist/modules/manager/gleam/artifacts.js +1 -1
  88. package/dist/modules/manager/gleam/artifacts.js.map +1 -1
  89. package/dist/modules/manager/gradle/utils.js +6 -2
  90. package/dist/modules/manager/gradle/utils.js.map +1 -1
  91. package/dist/modules/manager/haskell-cabal/extract.js +1 -1
  92. package/dist/modules/manager/haskell-cabal/extract.js.map +1 -1
  93. package/dist/modules/manager/helmfile/artifacts.js +1 -1
  94. package/dist/modules/manager/helmfile/artifacts.js.map +1 -1
  95. package/dist/modules/manager/helmfile/extract.js +2 -2
  96. package/dist/modules/manager/helmfile/extract.js.map +1 -1
  97. package/dist/modules/manager/helmv3/artifacts.js +1 -1
  98. package/dist/modules/manager/helmv3/artifacts.js.map +1 -1
  99. package/dist/modules/manager/helmv3/extract.js.map +1 -1
  100. package/dist/modules/manager/helmv3/utils.js +1 -1
  101. package/dist/modules/manager/helmv3/utils.js.map +1 -1
  102. package/dist/modules/manager/homebrew/util.js +1 -2
  103. package/dist/modules/manager/homebrew/util.js.map +1 -1
  104. package/dist/modules/manager/jsonnet-bundler/extract.js +1 -1
  105. package/dist/modules/manager/jsonnet-bundler/extract.js.map +1 -1
  106. package/dist/modules/manager/leiningen/extract.js +1 -2
  107. package/dist/modules/manager/leiningen/extract.js.map +1 -1
  108. package/dist/modules/manager/maven/extract.js.map +1 -1
  109. package/dist/modules/manager/maven/update.js.map +1 -1
  110. package/dist/modules/manager/mise/upgradeable-tooling.js +7 -7
  111. package/dist/modules/manager/mise/upgradeable-tooling.js.map +1 -1
  112. package/dist/modules/manager/nix/extract.js +1 -1
  113. package/dist/modules/manager/nix/extract.js.map +1 -1
  114. package/dist/modules/manager/npm/extract/pnpm.js +1 -1
  115. package/dist/modules/manager/npm/extract/pnpm.js.map +1 -1
  116. package/dist/modules/manager/npm/post-update/index.js +1 -1
  117. package/dist/modules/manager/npm/post-update/index.js.map +1 -1
  118. package/dist/modules/manager/npm/post-update/pnpm.js.map +1 -1
  119. package/dist/modules/manager/npm/update/dependency/index.js +1 -1
  120. package/dist/modules/manager/npm/update/dependency/index.js.map +1 -1
  121. package/dist/modules/manager/nuget/config-formatter.js +1 -2
  122. package/dist/modules/manager/nuget/config-formatter.js.map +1 -1
  123. package/dist/modules/manager/nuget/package-tree.js +1 -1
  124. package/dist/modules/manager/nuget/package-tree.js.map +1 -1
  125. package/dist/modules/manager/nuget/util.js +2 -2
  126. package/dist/modules/manager/nuget/util.js.map +1 -1
  127. package/dist/modules/manager/osgi/extract.js +3 -3
  128. package/dist/modules/manager/osgi/extract.js.map +1 -1
  129. package/dist/modules/manager/pep621/processors/pdm.js +1 -1
  130. package/dist/modules/manager/pep621/processors/pdm.js.map +1 -1
  131. package/dist/modules/manager/pep621/processors/uv.js +3 -2
  132. package/dist/modules/manager/pep621/processors/uv.js.map +1 -1
  133. package/dist/modules/manager/pip-compile/artifacts.js +8 -2
  134. package/dist/modules/manager/pip-compile/artifacts.js.map +1 -1
  135. package/dist/modules/manager/pip-compile/common.d.ts +5 -3
  136. package/dist/modules/manager/pip-compile/common.js +34 -13
  137. package/dist/modules/manager/pip-compile/common.js.map +1 -1
  138. package/dist/modules/manager/pip-compile/extract.js.map +1 -1
  139. package/dist/modules/manager/pip-compile/types.d.ts +1 -0
  140. package/dist/modules/manager/pip-compile/types.js.map +1 -1
  141. package/dist/modules/manager/poetry/artifacts.js +2 -2
  142. package/dist/modules/manager/poetry/artifacts.js.map +1 -1
  143. package/dist/modules/manager/pre-commit/types.d.ts +2 -2
  144. package/dist/modules/manager/pre-commit/types.js.map +1 -1
  145. package/dist/modules/manager/pub/artifacts.js +1 -1
  146. package/dist/modules/manager/pub/artifacts.js.map +1 -1
  147. package/dist/modules/manager/swift/extract.js +1 -2
  148. package/dist/modules/manager/swift/extract.js.map +1 -1
  149. package/dist/modules/manager/terraform/extractors/terraform-block/required-provider.js +2 -2
  150. package/dist/modules/manager/terraform/extractors/terraform-block/required-provider.js.map +1 -1
  151. package/dist/modules/manager/terraform/hcl/types.d.ts +1 -3
  152. package/dist/modules/manager/terraform/hcl/types.js.map +1 -1
  153. package/dist/modules/manager/terraform/lockfile/index.js +1 -1
  154. package/dist/modules/manager/terraform/lockfile/index.js.map +1 -1
  155. package/dist/modules/manager/terragrunt/artifacts.js +1 -1
  156. package/dist/modules/manager/terragrunt/artifacts.js.map +1 -1
  157. package/dist/modules/manager/types.d.ts +1 -0
  158. package/dist/modules/manager/types.js.map +1 -1
  159. package/dist/modules/manager/woodpecker/types.d.ts +2 -2
  160. package/dist/modules/manager/woodpecker/types.js.map +1 -1
  161. package/dist/modules/platform/azure/azure-helper.js.map +1 -1
  162. package/dist/modules/platform/azure/index.js +1 -1
  163. package/dist/modules/platform/azure/index.js.map +1 -1
  164. package/dist/modules/platform/bitbucket/index.js.map +1 -1
  165. package/dist/modules/platform/bitbucket/utils.js.map +1 -1
  166. package/dist/modules/platform/bitbucket-server/index.js +2 -2
  167. package/dist/modules/platform/bitbucket-server/index.js.map +1 -1
  168. package/dist/modules/platform/gerrit/scm.js +1 -1
  169. package/dist/modules/platform/gerrit/scm.js.map +1 -1
  170. package/dist/modules/platform/gitea/index.js +6 -5
  171. package/dist/modules/platform/gitea/index.js.map +1 -1
  172. package/dist/modules/platform/gitea/pr-cache.d.ts +3 -2
  173. package/dist/modules/platform/gitea/pr-cache.js +21 -12
  174. package/dist/modules/platform/gitea/pr-cache.js.map +1 -1
  175. package/dist/modules/platform/github/index.js.map +1 -1
  176. package/dist/modules/platform/gitlab/index.js +20 -16
  177. package/dist/modules/platform/gitlab/index.js.map +1 -1
  178. package/dist/modules/platform/types.d.ts +2 -2
  179. package/dist/modules/platform/types.js.map +1 -1
  180. package/dist/modules/versioning/bazel-module/bzlmod-version.d.ts +1 -1
  181. package/dist/modules/versioning/bazel-module/bzlmod-version.js.map +1 -1
  182. package/dist/modules/versioning/generic.d.ts +2 -6
  183. package/dist/modules/versioning/generic.js.map +1 -1
  184. package/dist/modules/versioning/gradle/compare.d.ts +2 -2
  185. package/dist/modules/versioning/gradle/compare.js.map +1 -1
  186. package/dist/modules/versioning/gradle/index.js +1 -1
  187. package/dist/modules/versioning/gradle/index.js.map +1 -1
  188. package/dist/modules/versioning/pvp/range.js +2 -2
  189. package/dist/modules/versioning/pvp/range.js.map +1 -1
  190. package/dist/modules/versioning/rpm/index.js +5 -5
  191. package/dist/modules/versioning/rpm/index.js.map +1 -1
  192. package/dist/modules/versioning/semver-coerced/index.js +4 -4
  193. package/dist/modules/versioning/semver-coerced/index.js.map +1 -1
  194. package/dist/modules/versioning/types.d.ts +1 -3
  195. package/dist/modules/versioning/types.js.map +1 -1
  196. package/dist/types/git.d.ts +2 -2
  197. package/dist/types/git.js.map +1 -1
  198. package/dist/types/platform/github/index.d.ts +4 -4
  199. package/dist/types/platform/github/index.js.map +1 -1
  200. package/dist/types/platform/gitlab/index.d.ts +2 -2
  201. package/dist/types/platform/gitlab/index.js.map +1 -1
  202. package/dist/util/assign-keys.d.ts +1 -3
  203. package/dist/util/assign-keys.js.map +1 -1
  204. package/dist/util/cache/repository/http-cache.js +1 -1
  205. package/dist/util/cache/repository/http-cache.js.map +1 -1
  206. package/dist/util/exec/types.d.ts +2 -2
  207. package/dist/util/exec/types.js.map +1 -1
  208. package/dist/util/git/auth.js +1 -1
  209. package/dist/util/git/auth.js.map +1 -1
  210. package/dist/util/git/index.d.ts +10 -10
  211. package/dist/util/git/index.js +22 -26
  212. package/dist/util/git/index.js.map +1 -1
  213. package/dist/util/http/bitbucket.js.map +1 -1
  214. package/dist/util/http/cache/abstract-http-cache-provider.js +1 -1
  215. package/dist/util/http/cache/abstract-http-cache-provider.js.map +1 -1
  216. package/dist/util/http/index.js.map +1 -1
  217. package/dist/util/http/types.d.ts +3 -5
  218. package/dist/util/http/types.js.map +1 -1
  219. package/dist/util/pretty-time.js.map +1 -1
  220. package/dist/util/schema-utils.js.map +1 -1
  221. package/dist/util/stats.js +1 -0
  222. package/dist/util/stats.js.map +1 -1
  223. package/dist/workers/repository/dependency-dashboard.js +2 -2
  224. package/dist/workers/repository/dependency-dashboard.js.map +1 -1
  225. package/dist/workers/repository/init/config.d.ts +1 -2
  226. package/dist/workers/repository/init/config.js +0 -13
  227. package/dist/workers/repository/init/config.js.map +1 -1
  228. package/dist/workers/repository/init/merge.d.ts +2 -1
  229. package/dist/workers/repository/init/merge.js +13 -3
  230. package/dist/workers/repository/init/merge.js.map +1 -1
  231. package/dist/workers/repository/model/commit-message.js.map +1 -1
  232. package/dist/workers/repository/process/vulnerabilities.js +3 -1
  233. package/dist/workers/repository/process/vulnerabilities.js.map +1 -1
  234. package/dist/workers/repository/process/write.js +1 -1
  235. package/dist/workers/repository/process/write.js.map +1 -1
  236. package/dist/workers/repository/reconfigure/validate.js +3 -1
  237. package/dist/workers/repository/reconfigure/validate.js.map +1 -1
  238. package/dist/workers/repository/update/branch/schedule.js +1 -1
  239. package/dist/workers/repository/update/branch/schedule.js.map +1 -1
  240. package/dist/workers/repository/update/pr/body/updates-table.js.map +1 -1
  241. package/dist/workers/repository/updates/generate.js +9 -0
  242. package/dist/workers/repository/updates/generate.js.map +1 -1
  243. package/package.json +28 -24
  244. package/renovate-schema.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/dockerfile/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { newlineRegex, regEx } from '../../../util/regex';\nimport { DockerDatasource } from '../../datasource/docker';\nimport * as debianVersioning from '../../versioning/debian';\nimport * as ubuntuVersioning from '../../versioning/ubuntu';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFileContent,\n} from '../types';\n\nconst variableMarker = '$';\n\nexport function extractVariables(image: string): Record<string, string> {\n const variables: Record<string, string> = {};\n const variableRegex = regEx(\n /(?<fullvariable>\\\\?\\$(?<simplearg>\\w+)|\\\\?\\${(?<complexarg>\\w+)(?::.+?)?}+)/gi,\n );\n\n let match: RegExpExecArray | null;\n do {\n match = variableRegex.exec(image);\n if (match?.groups?.fullvariable) {\n variables[match.groups.fullvariable] =\n match.groups?.simplearg || match.groups?.complexarg;\n }\n } while (match);\n\n return variables;\n}\n\nfunction getAutoReplaceTemplate(dep: PackageDependency): string | undefined {\n let template = dep.replaceString;\n\n if (dep.currentValue) {\n let placeholder = '{{#if newValue}}{{newValue}}{{/if}}';\n if (!dep.currentDigest) {\n placeholder += '{{#if newDigest}}@{{newDigest}}{{/if}}';\n }\n template = template?.replace(dep.currentValue, placeholder);\n }\n\n if (dep.currentDigest) {\n template = template?.replace(\n dep.currentDigest,\n '{{#if newDigest}}{{newDigest}}{{/if}}',\n );\n }\n\n return template;\n}\n\nfunction processDepForAutoReplace(\n dep: PackageDependency,\n lineNumberRanges: number[][],\n lines: string[],\n linefeed: string,\n): void {\n const lineNumberRangesToReplace: number[][] = [];\n for (const lineNumberRange of lineNumberRanges) {\n for (const lineNumber of lineNumberRange) {\n if (\n (is.string(dep.currentValue) &&\n lines[lineNumber].includes(dep.currentValue)) ||\n (is.string(dep.currentDigest) &&\n lines[lineNumber].includes(dep.currentDigest))\n ) {\n lineNumberRangesToReplace.push(lineNumberRange);\n }\n }\n }\n\n lineNumberRangesToReplace.sort((a, b) => {\n return a[0] - b[0];\n });\n\n const minLine = lineNumberRangesToReplace[0]?.[0];\n const maxLine =\n lineNumberRangesToReplace[lineNumberRangesToReplace.length - 1]?.[1];\n if (\n lineNumberRanges.length === 1 ||\n minLine === undefined ||\n maxLine === undefined\n ) {\n return;\n }\n\n const unfoldedLineNumbers = Array.from(\n { length: maxLine - minLine + 1 },\n (_v, k) => k + minLine,\n );\n\n dep.replaceString = unfoldedLineNumbers\n .map((lineNumber) => lines[lineNumber])\n .join(linefeed);\n\n if (!dep.currentDigest) {\n dep.replaceString += linefeed;\n }\n\n dep.autoReplaceStringTemplate = getAutoReplaceTemplate(dep);\n}\n\nexport function splitImageParts(currentFrom: string): PackageDependency {\n let isVariable = false;\n let cleanedCurrentFrom = currentFrom;\n\n // Check if we have a variable in format of \"${VARIABLE:-<image>:<defaultVal>@<digest>}\"\n // If so, remove everything except the image, defaultVal and digest.\n if (cleanedCurrentFrom?.includes(variableMarker)) {\n const defaultValueRegex = regEx(/^\\${.+?:-\"?(?<value>.*?)\"?}$/);\n const defaultValueMatch =\n defaultValueRegex.exec(cleanedCurrentFrom)?.groups;\n if (defaultValueMatch?.value) {\n isVariable = true;\n cleanedCurrentFrom = defaultValueMatch.value;\n }\n\n if (cleanedCurrentFrom?.includes(variableMarker)) {\n // If cleanedCurrentFrom contains a variable, after cleaning, e.g. \"$REGISTRY/alpine\", we do not support this.\n return {\n skipReason: 'contains-variable',\n };\n }\n }\n\n const [currentDepTag, currentDigest] = cleanedCurrentFrom.split('@');\n const depTagSplit = currentDepTag.split(':');\n let depName: string;\n let currentValue: string | undefined;\n if (\n depTagSplit.length === 1 ||\n depTagSplit[depTagSplit.length - 1].includes('/')\n ) {\n depName = currentDepTag;\n } else {\n currentValue = depTagSplit.pop();\n depName = depTagSplit.join(':');\n }\n\n const dep: PackageDependency = {\n depName,\n packageName: depName,\n currentValue,\n currentDigest,\n };\n\n if (isVariable) {\n dep.replaceString = cleanedCurrentFrom;\n\n if (!dep.currentValue) {\n delete dep.currentValue;\n }\n\n if (!dep.currentDigest) {\n delete dep.currentDigest;\n }\n }\n\n return dep;\n}\n\nconst quayRegex = regEx(/^quay\\.io(?::[1-9][0-9]{0,4})?/i);\n\nexport function getDep(\n currentFrom: string | null | undefined,\n specifyReplaceString = true,\n registryAliases?: Record<string, string>,\n): PackageDependency {\n if (\n !is.string(currentFrom) ||\n !is.nonEmptyStringAndNotWhitespace(currentFrom)\n ) {\n return {\n skipReason: 'invalid-value',\n };\n }\n\n // Resolve registry aliases first so that we don't need special casing later on:\n for (const [name, value] of Object.entries(registryAliases ?? {})) {\n if (currentFrom.startsWith(`${name}/`)) {\n const depName = currentFrom.substring(name.length + 1);\n const dep = {\n ...getDep(`${value}/${depName}`, false),\n replaceString: currentFrom,\n };\n // retain depName, not sure if condition is necessary\n if (dep.depName?.startsWith(value)) {\n dep.packageName = dep.depName;\n dep.depName = `${name}/${dep.depName.substring(value.length + 1)}`;\n }\n if (specifyReplaceString) {\n dep.autoReplaceStringTemplate = getAutoReplaceTemplate(dep);\n }\n return dep;\n }\n }\n\n const dep = splitImageParts(currentFrom);\n if (specifyReplaceString) {\n if (!dep.replaceString) {\n dep.replaceString = currentFrom;\n }\n dep.autoReplaceStringTemplate =\n '{{depName}}{{#if newValue}}:{{newValue}}{{/if}}{{#if newDigest}}@{{newDigest}}{{/if}}';\n }\n dep.datasource = DockerDatasource.id;\n\n // Pretty up special prefixes\n if (dep.depName) {\n const specialPrefixes = ['amd64', 'arm64', 'library'];\n for (const prefix of specialPrefixes) {\n if (dep.depName.startsWith(`${prefix}/`)) {\n dep.depName = dep.depName.replace(`${prefix}/`, '');\n if (specifyReplaceString) {\n dep.autoReplaceStringTemplate =\n '{{packageName}}{{#if newValue}}:{{newValue}}{{/if}}{{#if newDigest}}@{{newDigest}}{{/if}}';\n }\n }\n }\n }\n\n if (dep.depName === 'ubuntu' || dep.depName?.endsWith('/ubuntu')) {\n dep.versioning = ubuntuVersioning.id;\n }\n\n if (\n (dep.depName === 'debian' || dep.depName?.endsWith('/debian')) &&\n debianVersioning.api.isVersion(dep.currentValue)\n ) {\n dep.versioning = debianVersioning.id;\n }\n\n // Don't display quay.io ports\n if (dep.depName && quayRegex.test(dep.depName)) {\n const depName = dep.depName.replace(quayRegex, 'quay.io');\n if (depName !== dep.depName) {\n dep.depName = depName;\n dep.autoReplaceStringTemplate =\n '{{packageName}}{{#if newValue}}:{{newValue}}{{/if}}{{#if newDigest}}@{{newDigest}}{{/if}}';\n }\n }\n\n return dep;\n}\n\nexport function extractPackageFile(\n content: string,\n _packageFile: string,\n config: ExtractConfig,\n): PackageFileContent | null {\n const sanitizedContent = content.replace(regEx(/^\\uFEFF/), ''); // remove bom marker\n const deps: PackageDependency[] = [];\n const stageNames: string[] = [];\n const args: Record<string, string> = {};\n const argsLines: Record<string, number[]> = {};\n\n let escapeChar = '\\\\\\\\';\n let lookForEscapeChar = true;\n let lookForSyntaxDirective = true;\n\n const lineFeed = sanitizedContent.indexOf('\\r\\n') >= 0 ? '\\r\\n' : '\\n';\n const lines = sanitizedContent.split(newlineRegex);\n for (let lineNumber = 0; lineNumber < lines.length; ) {\n const lineNumberInstrStart = lineNumber;\n let instruction = lines[lineNumber];\n\n if (lookForEscapeChar) {\n const directivesMatch = regEx(\n /^[ \\t]*#[ \\t]*(?<directive>syntax|escape)[ \\t]*=[ \\t]*(?<escapeChar>\\S)/i,\n ).exec(instruction);\n if (!directivesMatch) {\n lookForEscapeChar = false;\n } else if (directivesMatch.groups?.directive.toLowerCase() === 'escape') {\n if (directivesMatch.groups?.escapeChar === '`') {\n escapeChar = '`';\n }\n lookForEscapeChar = false;\n }\n }\n\n if (lookForSyntaxDirective) {\n const syntaxRegex = regEx(\n '^#[ \\\\t]*syntax[ \\\\t]*=[ \\\\t]*(?<image>\\\\S+)',\n 'im',\n );\n const syntaxMatch = instruction.match(syntaxRegex);\n if (syntaxMatch?.groups?.image) {\n const syntaxImage = syntaxMatch.groups.image;\n const lineNumberRanges: number[][] = [\n [lineNumberInstrStart, lineNumber],\n ];\n const dep = getDep(syntaxImage, true, config.registryAliases);\n dep.depType = 'syntax';\n processDepForAutoReplace(dep, lineNumberRanges, lines, lineFeed);\n logger.trace(\n {\n depName: dep.depName,\n currentValue: dep.currentValue,\n currentDigest: dep.currentDigest,\n },\n 'Dockerfile # syntax',\n );\n deps.push(dep);\n }\n lookForSyntaxDirective = false;\n }\n\n const lineContinuationRegex = regEx(escapeChar + '[ \\\\t]*$|^[ \\\\t]*#', 'm');\n let lineLookahead = instruction;\n while (\n !lookForEscapeChar &&\n !instruction.trimStart().startsWith('#') &&\n lineContinuationRegex.test(lineLookahead)\n ) {\n lineLookahead = lines[++lineNumber] || '';\n instruction += '\\n' + lineLookahead;\n }\n\n const argRegex = regEx(\n '^[ \\\\t]*ARG(?:' +\n escapeChar +\n '[ \\\\t]*\\\\r?\\\\n| |\\\\t|#.*?\\\\r?\\\\n)+(?<name>\\\\w+)[ =](?<value>\\\\S*)',\n 'im',\n );\n const argMatch = argRegex.exec(instruction);\n if (argMatch?.groups?.name) {\n argsLines[argMatch.groups.name] = [lineNumberInstrStart, lineNumber];\n let argMatchValue = argMatch.groups?.value;\n\n if (\n argMatchValue.charAt(0) === '\"' &&\n argMatchValue.charAt(argMatchValue.length - 1) === '\"'\n ) {\n argMatchValue = argMatchValue.slice(1, -1);\n }\n\n args[argMatch.groups.name] = argMatchValue || '';\n }\n\n const fromRegex = new RegExp(\n '^[ \\\\t]*FROM(?:' +\n escapeChar +\n '[ \\\\t]*\\\\r?\\\\n| |\\\\t|#.*?\\\\r?\\\\n|--platform=\\\\S+)+(?<image>\\\\S+)(?:(?:' +\n escapeChar +\n '[ \\\\t]*\\\\r?\\\\n| |\\\\t|#.*?\\\\r?\\\\n)+as[ \\\\t]+(?<name>\\\\S+))?',\n 'im',\n ); // TODO #12875 complex for re2 has too many not supported groups\n const fromMatch = instruction.match(fromRegex);\n if (fromMatch?.groups?.image) {\n let fromImage = fromMatch.groups.image;\n const lineNumberRanges: number[][] = [[lineNumberInstrStart, lineNumber]];\n\n if (fromImage.includes(variableMarker)) {\n const variables = extractVariables(fromImage);\n for (const [fullVariable, argName] of Object.entries(variables)) {\n const resolvedArgValue = args[argName];\n if (resolvedArgValue || resolvedArgValue === '') {\n fromImage = fromImage.replace(fullVariable, resolvedArgValue);\n lineNumberRanges.push(argsLines[argName]);\n }\n }\n }\n\n if (fromMatch.groups?.name) {\n logger.debug(\n `Found a multistage build stage name: ${fromMatch.groups.name}`,\n );\n stageNames.push(fromMatch.groups.name);\n }\n if (fromImage === 'scratch') {\n logger.debug('Skipping scratch');\n } else if (fromImage && stageNames.includes(fromImage)) {\n logger.debug(`Skipping alias FROM image:${fromImage}`);\n } else {\n const dep = getDep(fromImage, true, config.registryAliases);\n processDepForAutoReplace(dep, lineNumberRanges, lines, lineFeed);\n logger.trace(\n {\n depName: dep.depName,\n currentValue: dep.currentValue,\n currentDigest: dep.currentDigest,\n },\n 'Dockerfile FROM',\n );\n deps.push(dep);\n }\n }\n\n const copyFromRegex = new RegExp(\n '^[ \\\\t]*COPY(?:' +\n escapeChar +\n '[ \\\\t]*\\\\r?\\\\n| |\\\\t|#.*?\\\\r?\\\\n|--[a-z]+(?:=[a-zA-Z0-9_.:-]+?)?)+--from=(?<image>\\\\S+)',\n 'im',\n ); // TODO #12875 complex for re2 has too many not supported groups\n const copyFromMatch = instruction.match(copyFromRegex);\n if (copyFromMatch?.groups?.image) {\n if (stageNames.includes(copyFromMatch.groups.image)) {\n logger.debug(\n { image: copyFromMatch.groups.image },\n 'Skipping alias COPY --from',\n );\n } else if (Number.isNaN(Number(copyFromMatch.groups.image))) {\n const dep = getDep(\n copyFromMatch.groups.image,\n true,\n config.registryAliases,\n );\n const lineNumberRanges: number[][] = [\n [lineNumberInstrStart, lineNumber],\n ];\n processDepForAutoReplace(dep, lineNumberRanges, lines, lineFeed);\n logger.debug(\n {\n depName: dep.depName,\n currentValue: dep.currentValue,\n currentDigest: dep.currentDigest,\n },\n 'Dockerfile COPY --from',\n );\n deps.push(dep);\n } else {\n logger.debug(\n { image: copyFromMatch.groups.image },\n 'Skipping index reference COPY --from',\n );\n }\n }\n\n const runMountFromRegex = regEx(\n '^[ \\\\t]*RUN(?:' +\n escapeChar +\n '[ \\\\t]*\\\\r?\\\\n| |\\\\t|#.*?\\\\r?\\\\n|--[a-z]+(?:=[a-zA-Z0-9_.:-]+?)?)+--mount=(?:\\\\S*=\\\\S*,)*from=(?<image>[^, ]+)',\n 'im',\n );\n const runMountFromMatch = instruction.match(runMountFromRegex);\n if (runMountFromMatch?.groups?.image) {\n if (stageNames.includes(runMountFromMatch.groups.image)) {\n logger.debug(\n { image: runMountFromMatch.groups.image },\n 'Skipping alias RUN --mount=from',\n );\n } else {\n const dep = getDep(\n runMountFromMatch.groups.image,\n true,\n config.registryAliases,\n );\n const lineNumberRanges: number[][] = [\n [lineNumberInstrStart, lineNumber],\n ];\n processDepForAutoReplace(dep, lineNumberRanges, lines, lineFeed);\n logger.debug(\n {\n depName: dep.depName,\n currentValue: dep.currentValue,\n currentDigest: dep.currentDigest,\n },\n 'Dockerfile RUN --mount=from',\n );\n deps.push(dep);\n }\n }\n\n lineNumber += 1;\n }\n\n if (!deps.length) {\n return null;\n }\n for (const d of deps) {\n if (!d.depType) {\n d.depType = 'stage';\n }\n }\n deps[deps.length - 1].depType = 'final';\n return { deps };\n}\n"]}
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/dockerfile/extract.ts"],"names":[],"mappings":";;AAcA,4CAgBC;AA0ED,0CAyDC;AAID,wBAgFC;AAED,gDAoOC;;AA3dD,kEAAkC;AAClC,4CAAyC;AACzC,+CAA0D;AAC1D,oDAA2D;AAC3D,kFAA4D;AAC5D,kFAA4D;AAO5D,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B,SAAgB,gBAAgB,CAAC,KAAa;IAC5C,MAAM,SAAS,GAA2B,EAAE,CAAC;IAC7C,MAAM,aAAa,GAAG,IAAA,aAAK,EACzB,+EAA+E,CAChF,CAAC;IAEF,IAAI,KAA6B,CAAC;IAClC,GAAG,CAAC;QACF,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;YAChC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC;gBAClC,KAAK,CAAC,MAAM,EAAE,SAAS,IAAI,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC;QACxD,CAAC;IACH,CAAC,QAAQ,KAAK,EAAE;IAEhB,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAsB;IACpD,IAAI,QAAQ,GAAG,GAAG,CAAC,aAAa,CAAC;IAEjC,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;QACrB,IAAI,WAAW,GAAG,qCAAqC,CAAC;QACxD,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YACvB,WAAW,IAAI,wCAAwC,CAAC;QAC1D,CAAC;QACD,QAAQ,GAAG,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;QACtB,QAAQ,GAAG,QAAQ,EAAE,OAAO,CAC1B,GAAG,CAAC,aAAa,EACjB,uCAAuC,CACxC,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,wBAAwB,CAC/B,GAAsB,EACtB,gBAA4B,EAC5B,KAAe,EACf,QAAgB;IAEhB,MAAM,yBAAyB,GAAe,EAAE,CAAC;IACjD,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAAE,CAAC;QAC/C,KAAK,MAAM,UAAU,IAAI,eAAe,EAAE,CAAC;YACzC,IACE,CAAC,YAAE,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;gBAC1B,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAC/C,CAAC,YAAE,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;oBAC3B,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,EAChD,CAAC;gBACD,yBAAyB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;IACH,CAAC;IAED,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACtC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,yBAAyB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,OAAO,GACX,yBAAyB,CAAC,yBAAyB,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvE,IACE,gBAAgB,CAAC,MAAM,KAAK,CAAC;QAC7B,OAAO,KAAK,SAAS;QACrB,OAAO,KAAK,SAAS,EACrB,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,mBAAmB,GAAG,KAAK,CAAC,IAAI,CACpC,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,CAAC,EAAE,EACjC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,OAAO,CACvB,CAAC;IAEF,GAAG,CAAC,aAAa,GAAG,mBAAmB;SACpC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;SACtC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAElB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QACvB,GAAG,CAAC,aAAa,IAAI,QAAQ,CAAC;IAChC,CAAC;IAED,GAAG,CAAC,yBAAyB,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;AAC9D,CAAC;AAED,SAAgB,eAAe,CAAC,WAAmB;IACjD,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,kBAAkB,GAAG,WAAW,CAAC;IAErC,wFAAwF;IACxF,oEAAoE;IACpE,IAAI,kBAAkB,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACjD,MAAM,iBAAiB,GAAG,IAAA,aAAK,EAAC,8BAA8B,CAAC,CAAC;QAChE,MAAM,iBAAiB,GACrB,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;QACrD,IAAI,iBAAiB,EAAE,KAAK,EAAE,CAAC;YAC7B,UAAU,GAAG,IAAI,CAAC;YAClB,kBAAkB,GAAG,iBAAiB,CAAC,KAAK,CAAC;QAC/C,CAAC;QAED,IAAI,kBAAkB,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACjD,8GAA8G;YAC9G,OAAO;gBACL,UAAU,EAAE,mBAAmB;aAChC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrE,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,OAAe,CAAC;IACpB,IAAI,YAAgC,CAAC;IACrC,IACE,WAAW,CAAC,MAAM,KAAK,CAAC;QACxB,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EACjD,CAAC;QACD,OAAO,GAAG,aAAa,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QACjC,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,GAAG,GAAsB;QAC7B,OAAO;QACP,WAAW,EAAE,OAAO;QACpB,YAAY;QACZ,aAAa;KACd,CAAC;IAEF,IAAI,UAAU,EAAE,CAAC;QACf,GAAG,CAAC,aAAa,GAAG,kBAAkB,CAAC;QAEvC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,GAAG,CAAC,YAAY,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO,GAAG,CAAC,aAAa,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,SAAS,GAAG,IAAA,aAAK,EAAC,iCAAiC,CAAC,CAAC;AAE3D,SAAgB,MAAM,CACpB,WAAsC,EACtC,oBAAoB,GAAG,IAAI,EAC3B,eAAwC;IAExC,IACE,CAAC,YAAE,CAAC,MAAM,CAAC,WAAW,CAAC;QACvB,CAAC,YAAE,CAAC,8BAA8B,CAAC,WAAW,CAAC,EAC/C,CAAC;QACD,OAAO;YACL,UAAU,EAAE,eAAe;SAC5B,CAAC;IACJ,CAAC;IAED,gFAAgF;IAChF,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC;QAClE,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACvD,MAAM,GAAG,GAAG;gBACV,GAAG,MAAM,CAAC,GAAG,KAAK,IAAI,OAAO,EAAE,EAAE,KAAK,CAAC;gBACvC,aAAa,EAAE,WAAW;aAC3B,CAAC;YACF,qDAAqD;YACrD,IAAI,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnC,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC;gBAC9B,GAAG,CAAC,OAAO,GAAG,GAAG,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;YACrE,CAAC;YACD,IAAI,oBAAoB,EAAE,CAAC;gBACzB,GAAG,CAAC,yBAAyB,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IACzC,IAAI,oBAAoB,EAAE,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YACvB,GAAG,CAAC,aAAa,GAAG,WAAW,CAAC;QAClC,CAAC;QACD,GAAG,CAAC,yBAAyB;YAC3B,uFAAuF,CAAC;IAC5F,CAAC;IACD,GAAG,CAAC,UAAU,GAAG,yBAAgB,CAAC,EAAE,CAAC;IAErC,6BAA6B;IAC7B,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACtD,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;YACrC,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzC,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,MAAM,GAAG,EAAE,EAAE,CAAC,CAAC;gBACpD,IAAI,oBAAoB,EAAE,CAAC;oBACzB,GAAG,CAAC,yBAAyB;wBAC3B,2FAA2F,CAAC;gBAChG,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,UAAU,GAAG,gBAAgB,CAAC,EAAE,CAAC;IACvC,CAAC;IAED,IACE,CAAC,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC9D,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,EAChD,CAAC;QACD,GAAG,CAAC,UAAU,GAAG,gBAAgB,CAAC,EAAE,CAAC;IACvC,CAAC;IAED,8BAA8B;IAC9B,IAAI,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC1D,IAAI,OAAO,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;YAC5B,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;YACtB,GAAG,CAAC,yBAAyB;gBAC3B,2FAA2F,CAAC;QAChG,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,kBAAkB,CAChC,OAAe,EACf,YAAoB,EACpB,MAAqB;IAErB,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,IAAA,aAAK,EAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB;IACpF,MAAM,IAAI,GAAwB,EAAE,CAAC;IACrC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,MAAM,SAAS,GAA6B,EAAE,CAAC;IAE/C,IAAI,UAAU,GAAG,MAAM,CAAC;IACxB,IAAI,iBAAiB,GAAG,IAAI,CAAC;IAC7B,IAAI,sBAAsB,GAAG,IAAI,CAAC;IAElC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,oBAAY,CAAC,CAAC;IACnD,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC,MAAM,GAAI,CAAC;QACrD,MAAM,oBAAoB,GAAG,UAAU,CAAC;QACxC,IAAI,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QAEpC,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,eAAe,GAAG,IAAA,aAAK,EAC3B,0EAA0E,CAC3E,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACpB,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,iBAAiB,GAAG,KAAK,CAAC;YAC5B,CAAC;iBAAM,IAAI,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE,CAAC;gBACxE,IAAI,eAAe,CAAC,MAAM,EAAE,UAAU,KAAK,GAAG,EAAE,CAAC;oBAC/C,UAAU,GAAG,GAAG,CAAC;gBACnB,CAAC;gBACD,iBAAiB,GAAG,KAAK,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,IAAI,sBAAsB,EAAE,CAAC;YAC3B,MAAM,WAAW,GAAG,IAAA,aAAK,EACvB,8CAA8C,EAC9C,IAAI,CACL,CAAC;YACF,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACnD,IAAI,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;gBAC/B,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7C,MAAM,gBAAgB,GAAe;oBACnC,CAAC,oBAAoB,EAAE,UAAU,CAAC;iBACnC,CAAC;gBACF,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;gBAC9D,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC;gBACvB,wBAAwB,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;gBACjE,eAAM,CAAC,KAAK,CACV;oBACE,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,YAAY,EAAE,GAAG,CAAC,YAAY;oBAC9B,aAAa,EAAE,GAAG,CAAC,aAAa;iBACjC,EACD,qBAAqB,CACtB,CAAC;gBACF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;YACD,sBAAsB,GAAG,KAAK,CAAC;QACjC,CAAC;QAED,MAAM,qBAAqB,GAAG,IAAA,aAAK,EAAC,UAAU,GAAG,oBAAoB,EAAE,GAAG,CAAC,CAAC;QAC5E,IAAI,aAAa,GAAG,WAAW,CAAC;QAChC,OACE,CAAC,iBAAiB;YAClB,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;YACxC,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC,EACzC,CAAC;YACD,aAAa,GAAG,KAAK,CAAC,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;YAC1C,WAAW,IAAI,IAAI,GAAG,aAAa,CAAC;QACtC,CAAC;QAED,MAAM,QAAQ,GAAG,IAAA,aAAK,EACpB,gBAAgB;YACd,UAAU;YACV,mEAAmE,EACrE,IAAI,CACL,CAAC;QACF,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC3B,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;YACrE,IAAI,aAAa,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;YAE3C,IAAI,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjE,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,IAAI,EAAE,CAAC;QACnD,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,MAAM,CAC1B,iBAAiB;YACf,UAAU;YACV,wEAAwE;YACxE,UAAU;YACV,4DAA4D,EAC9D,IAAI,CACL,CAAC,CAAC,gEAAgE;QACnE,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YAC7B,IAAI,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;YACvC,MAAM,gBAAgB,GAAe,CAAC,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC,CAAC;YAE1E,IAAI,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBACvC,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;gBAC9C,KAAK,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;oBAChE,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;oBACvC,IAAI,gBAAgB,IAAI,gBAAgB,KAAK,EAAE,EAAE,CAAC;wBAChD,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;wBAC9D,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC5C,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;gBAC3B,eAAM,CAAC,KAAK,CACV,wCAAwC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAChE,CAAC;gBACF,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACzC,CAAC;YACD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,eAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACnC,CAAC;iBAAM,IAAI,SAAS,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACvD,eAAM,CAAC,KAAK,CAAC,6BAA6B,SAAS,EAAE,CAAC,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;gBAC5D,wBAAwB,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;gBACjE,eAAM,CAAC,KAAK,CACV;oBACE,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,YAAY,EAAE,GAAG,CAAC,YAAY;oBAC9B,aAAa,EAAE,GAAG,CAAC,aAAa;iBACjC,EACD,iBAAiB,CAClB,CAAC;gBACF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,MAAM,CAC9B,iBAAiB;YACf,UAAU;YACV,yFAAyF,EAC3F,IAAI,CACL,CAAC,CAAC,gEAAgE;QACnE,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACvD,IAAI,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YACjC,IAAI,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpD,eAAM,CAAC,KAAK,CACV,EAAE,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,EACrC,4BAA4B,CAC7B,CAAC;YACJ,CAAC;iBAAM,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC5D,MAAM,GAAG,GAAG,MAAM,CAChB,aAAa,CAAC,MAAM,CAAC,KAAK,EAC1B,IAAI,EACJ,MAAM,CAAC,eAAe,CACvB,CAAC;gBACF,MAAM,gBAAgB,GAAe;oBACnC,CAAC,oBAAoB,EAAE,UAAU,CAAC;iBACnC,CAAC;gBACF,wBAAwB,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;gBACjE,eAAM,CAAC,KAAK,CACV;oBACE,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,YAAY,EAAE,GAAG,CAAC,YAAY;oBAC9B,aAAa,EAAE,GAAG,CAAC,aAAa;iBACjC,EACD,wBAAwB,CACzB,CAAC;gBACF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,eAAM,CAAC,KAAK,CACV,EAAE,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,EACrC,sCAAsC,CACvC,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAA,aAAK,EAC7B,gBAAgB;YACd,UAAU;YACV,gHAAgH,EAClH,IAAI,CACL,CAAC;QACF,MAAM,iBAAiB,GAAG,WAAW,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC/D,IAAI,iBAAiB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YACrC,IAAI,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxD,eAAM,CAAC,KAAK,CACV,EAAE,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,EACzC,iCAAiC,CAClC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAG,MAAM,CAChB,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAC9B,IAAI,EACJ,MAAM,CAAC,eAAe,CACvB,CAAC;gBACF,MAAM,gBAAgB,GAAe;oBACnC,CAAC,oBAAoB,EAAE,UAAU,CAAC;iBACnC,CAAC;gBACF,wBAAwB,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;gBACjE,eAAM,CAAC,KAAK,CACV;oBACE,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,YAAY,EAAE,GAAG,CAAC,YAAY;oBAC9B,aAAa,EAAE,GAAG,CAAC,aAAa;iBACjC,EACD,6BAA6B,CAC9B,CAAC;gBACF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QAED,UAAU,IAAI,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YACf,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;QACtB,CAAC;IACH,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;IACxC,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { newlineRegex, regEx } from '../../../util/regex';\nimport { DockerDatasource } from '../../datasource/docker';\nimport * as debianVersioning from '../../versioning/debian';\nimport * as ubuntuVersioning from '../../versioning/ubuntu';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFileContent,\n} from '../types';\n\nconst variableMarker = '$';\n\nexport function extractVariables(image: string): Record<string, string> {\n const variables: Record<string, string> = {};\n const variableRegex = regEx(\n /(?<fullvariable>\\\\?\\$(?<simplearg>\\w+)|\\\\?\\${(?<complexarg>\\w+)(?::.+?)?}+)/gi,\n );\n\n let match: RegExpExecArray | null;\n do {\n match = variableRegex.exec(image);\n if (match?.groups?.fullvariable) {\n variables[match.groups.fullvariable] =\n match.groups?.simplearg || match.groups?.complexarg;\n }\n } while (match);\n\n return variables;\n}\n\nfunction getAutoReplaceTemplate(dep: PackageDependency): string | undefined {\n let template = dep.replaceString;\n\n if (dep.currentValue) {\n let placeholder = '{{#if newValue}}{{newValue}}{{/if}}';\n if (!dep.currentDigest) {\n placeholder += '{{#if newDigest}}@{{newDigest}}{{/if}}';\n }\n template = template?.replace(dep.currentValue, placeholder);\n }\n\n if (dep.currentDigest) {\n template = template?.replace(\n dep.currentDigest,\n '{{#if newDigest}}{{newDigest}}{{/if}}',\n );\n }\n\n return template;\n}\n\nfunction processDepForAutoReplace(\n dep: PackageDependency,\n lineNumberRanges: number[][],\n lines: string[],\n linefeed: string,\n): void {\n const lineNumberRangesToReplace: number[][] = [];\n for (const lineNumberRange of lineNumberRanges) {\n for (const lineNumber of lineNumberRange) {\n if (\n (is.string(dep.currentValue) &&\n lines[lineNumber].includes(dep.currentValue)) ||\n (is.string(dep.currentDigest) &&\n lines[lineNumber].includes(dep.currentDigest))\n ) {\n lineNumberRangesToReplace.push(lineNumberRange);\n }\n }\n }\n\n lineNumberRangesToReplace.sort((a, b) => {\n return a[0] - b[0];\n });\n\n const minLine = lineNumberRangesToReplace[0]?.[0];\n const maxLine =\n lineNumberRangesToReplace[lineNumberRangesToReplace.length - 1]?.[1];\n if (\n lineNumberRanges.length === 1 ||\n minLine === undefined ||\n maxLine === undefined\n ) {\n return;\n }\n\n const unfoldedLineNumbers = Array.from(\n { length: maxLine - minLine + 1 },\n (_v, k) => k + minLine,\n );\n\n dep.replaceString = unfoldedLineNumbers\n .map((lineNumber) => lines[lineNumber])\n .join(linefeed);\n\n if (!dep.currentDigest) {\n dep.replaceString += linefeed;\n }\n\n dep.autoReplaceStringTemplate = getAutoReplaceTemplate(dep);\n}\n\nexport function splitImageParts(currentFrom: string): PackageDependency {\n let isVariable = false;\n let cleanedCurrentFrom = currentFrom;\n\n // Check if we have a variable in format of \"${VARIABLE:-<image>:<defaultVal>@<digest>}\"\n // If so, remove everything except the image, defaultVal and digest.\n if (cleanedCurrentFrom?.includes(variableMarker)) {\n const defaultValueRegex = regEx(/^\\${.+?:-\"?(?<value>.*?)\"?}$/);\n const defaultValueMatch =\n defaultValueRegex.exec(cleanedCurrentFrom)?.groups;\n if (defaultValueMatch?.value) {\n isVariable = true;\n cleanedCurrentFrom = defaultValueMatch.value;\n }\n\n if (cleanedCurrentFrom?.includes(variableMarker)) {\n // If cleanedCurrentFrom contains a variable, after cleaning, e.g. \"$REGISTRY/alpine\", we do not support this.\n return {\n skipReason: 'contains-variable',\n };\n }\n }\n\n const [currentDepTag, currentDigest] = cleanedCurrentFrom.split('@');\n const depTagSplit = currentDepTag.split(':');\n let depName: string;\n let currentValue: string | undefined;\n if (\n depTagSplit.length === 1 ||\n depTagSplit[depTagSplit.length - 1].includes('/')\n ) {\n depName = currentDepTag;\n } else {\n currentValue = depTagSplit.pop();\n depName = depTagSplit.join(':');\n }\n\n const dep: PackageDependency = {\n depName,\n packageName: depName,\n currentValue,\n currentDigest,\n };\n\n if (isVariable) {\n dep.replaceString = cleanedCurrentFrom;\n\n if (!dep.currentValue) {\n delete dep.currentValue;\n }\n\n if (!dep.currentDigest) {\n delete dep.currentDigest;\n }\n }\n\n return dep;\n}\n\nconst quayRegex = regEx(/^quay\\.io(?::[1-9][0-9]{0,4})?/i);\n\nexport function getDep(\n currentFrom: string | null | undefined,\n specifyReplaceString = true,\n registryAliases?: Record<string, string>,\n): PackageDependency {\n if (\n !is.string(currentFrom) ||\n !is.nonEmptyStringAndNotWhitespace(currentFrom)\n ) {\n return {\n skipReason: 'invalid-value',\n };\n }\n\n // Resolve registry aliases first so that we don't need special casing later on:\n for (const [name, value] of Object.entries(registryAliases ?? {})) {\n if (currentFrom.startsWith(`${name}/`)) {\n const depName = currentFrom.substring(name.length + 1);\n const dep = {\n ...getDep(`${value}/${depName}`, false),\n replaceString: currentFrom,\n };\n // retain depName, not sure if condition is necessary\n if (dep.depName?.startsWith(value)) {\n dep.packageName = dep.depName;\n dep.depName = `${name}/${dep.depName.substring(value.length + 1)}`;\n }\n if (specifyReplaceString) {\n dep.autoReplaceStringTemplate = getAutoReplaceTemplate(dep);\n }\n return dep;\n }\n }\n\n const dep = splitImageParts(currentFrom);\n if (specifyReplaceString) {\n if (!dep.replaceString) {\n dep.replaceString = currentFrom;\n }\n dep.autoReplaceStringTemplate =\n '{{depName}}{{#if newValue}}:{{newValue}}{{/if}}{{#if newDigest}}@{{newDigest}}{{/if}}';\n }\n dep.datasource = DockerDatasource.id;\n\n // Pretty up special prefixes\n if (dep.depName) {\n const specialPrefixes = ['amd64', 'arm64', 'library'];\n for (const prefix of specialPrefixes) {\n if (dep.depName.startsWith(`${prefix}/`)) {\n dep.depName = dep.depName.replace(`${prefix}/`, '');\n if (specifyReplaceString) {\n dep.autoReplaceStringTemplate =\n '{{packageName}}{{#if newValue}}:{{newValue}}{{/if}}{{#if newDigest}}@{{newDigest}}{{/if}}';\n }\n }\n }\n }\n\n if (dep.depName === 'ubuntu' || dep.depName?.endsWith('/ubuntu')) {\n dep.versioning = ubuntuVersioning.id;\n }\n\n if (\n (dep.depName === 'debian' || dep.depName?.endsWith('/debian')) &&\n debianVersioning.api.isVersion(dep.currentValue)\n ) {\n dep.versioning = debianVersioning.id;\n }\n\n // Don't display quay.io ports\n if (dep.depName && quayRegex.test(dep.depName)) {\n const depName = dep.depName.replace(quayRegex, 'quay.io');\n if (depName !== dep.depName) {\n dep.depName = depName;\n dep.autoReplaceStringTemplate =\n '{{packageName}}{{#if newValue}}:{{newValue}}{{/if}}{{#if newDigest}}@{{newDigest}}{{/if}}';\n }\n }\n\n return dep;\n}\n\nexport function extractPackageFile(\n content: string,\n _packageFile: string,\n config: ExtractConfig,\n): PackageFileContent | null {\n const sanitizedContent = content.replace(regEx(/^\\uFEFF/), ''); // remove bom marker\n const deps: PackageDependency[] = [];\n const stageNames: string[] = [];\n const args: Record<string, string> = {};\n const argsLines: Record<string, number[]> = {};\n\n let escapeChar = '\\\\\\\\';\n let lookForEscapeChar = true;\n let lookForSyntaxDirective = true;\n\n const lineFeed = sanitizedContent.includes('\\r\\n') ? '\\r\\n' : '\\n';\n const lines = sanitizedContent.split(newlineRegex);\n for (let lineNumber = 0; lineNumber < lines.length; ) {\n const lineNumberInstrStart = lineNumber;\n let instruction = lines[lineNumber];\n\n if (lookForEscapeChar) {\n const directivesMatch = regEx(\n /^[ \\t]*#[ \\t]*(?<directive>syntax|escape)[ \\t]*=[ \\t]*(?<escapeChar>\\S)/i,\n ).exec(instruction);\n if (!directivesMatch) {\n lookForEscapeChar = false;\n } else if (directivesMatch.groups?.directive.toLowerCase() === 'escape') {\n if (directivesMatch.groups?.escapeChar === '`') {\n escapeChar = '`';\n }\n lookForEscapeChar = false;\n }\n }\n\n if (lookForSyntaxDirective) {\n const syntaxRegex = regEx(\n '^#[ \\\\t]*syntax[ \\\\t]*=[ \\\\t]*(?<image>\\\\S+)',\n 'im',\n );\n const syntaxMatch = instruction.match(syntaxRegex);\n if (syntaxMatch?.groups?.image) {\n const syntaxImage = syntaxMatch.groups.image;\n const lineNumberRanges: number[][] = [\n [lineNumberInstrStart, lineNumber],\n ];\n const dep = getDep(syntaxImage, true, config.registryAliases);\n dep.depType = 'syntax';\n processDepForAutoReplace(dep, lineNumberRanges, lines, lineFeed);\n logger.trace(\n {\n depName: dep.depName,\n currentValue: dep.currentValue,\n currentDigest: dep.currentDigest,\n },\n 'Dockerfile # syntax',\n );\n deps.push(dep);\n }\n lookForSyntaxDirective = false;\n }\n\n const lineContinuationRegex = regEx(escapeChar + '[ \\\\t]*$|^[ \\\\t]*#', 'm');\n let lineLookahead = instruction;\n while (\n !lookForEscapeChar &&\n !instruction.trimStart().startsWith('#') &&\n lineContinuationRegex.test(lineLookahead)\n ) {\n lineLookahead = lines[++lineNumber] || '';\n instruction += '\\n' + lineLookahead;\n }\n\n const argRegex = regEx(\n '^[ \\\\t]*ARG(?:' +\n escapeChar +\n '[ \\\\t]*\\\\r?\\\\n| |\\\\t|#.*?\\\\r?\\\\n)+(?<name>\\\\w+)[ =](?<value>\\\\S*)',\n 'im',\n );\n const argMatch = argRegex.exec(instruction);\n if (argMatch?.groups?.name) {\n argsLines[argMatch.groups.name] = [lineNumberInstrStart, lineNumber];\n let argMatchValue = argMatch.groups?.value;\n\n if (argMatchValue.startsWith('\"') && argMatchValue.endsWith('\"')) {\n argMatchValue = argMatchValue.slice(1, -1);\n }\n\n args[argMatch.groups.name] = argMatchValue || '';\n }\n\n const fromRegex = new RegExp(\n '^[ \\\\t]*FROM(?:' +\n escapeChar +\n '[ \\\\t]*\\\\r?\\\\n| |\\\\t|#.*?\\\\r?\\\\n|--platform=\\\\S+)+(?<image>\\\\S+)(?:(?:' +\n escapeChar +\n '[ \\\\t]*\\\\r?\\\\n| |\\\\t|#.*?\\\\r?\\\\n)+as[ \\\\t]+(?<name>\\\\S+))?',\n 'im',\n ); // TODO #12875 complex for re2 has too many not supported groups\n const fromMatch = instruction.match(fromRegex);\n if (fromMatch?.groups?.image) {\n let fromImage = fromMatch.groups.image;\n const lineNumberRanges: number[][] = [[lineNumberInstrStart, lineNumber]];\n\n if (fromImage.includes(variableMarker)) {\n const variables = extractVariables(fromImage);\n for (const [fullVariable, argName] of Object.entries(variables)) {\n const resolvedArgValue = args[argName];\n if (resolvedArgValue || resolvedArgValue === '') {\n fromImage = fromImage.replace(fullVariable, resolvedArgValue);\n lineNumberRanges.push(argsLines[argName]);\n }\n }\n }\n\n if (fromMatch.groups?.name) {\n logger.debug(\n `Found a multistage build stage name: ${fromMatch.groups.name}`,\n );\n stageNames.push(fromMatch.groups.name);\n }\n if (fromImage === 'scratch') {\n logger.debug('Skipping scratch');\n } else if (fromImage && stageNames.includes(fromImage)) {\n logger.debug(`Skipping alias FROM image:${fromImage}`);\n } else {\n const dep = getDep(fromImage, true, config.registryAliases);\n processDepForAutoReplace(dep, lineNumberRanges, lines, lineFeed);\n logger.trace(\n {\n depName: dep.depName,\n currentValue: dep.currentValue,\n currentDigest: dep.currentDigest,\n },\n 'Dockerfile FROM',\n );\n deps.push(dep);\n }\n }\n\n const copyFromRegex = new RegExp(\n '^[ \\\\t]*COPY(?:' +\n escapeChar +\n '[ \\\\t]*\\\\r?\\\\n| |\\\\t|#.*?\\\\r?\\\\n|--[a-z]+(?:=[a-zA-Z0-9_.:-]+?)?)+--from=(?<image>\\\\S+)',\n 'im',\n ); // TODO #12875 complex for re2 has too many not supported groups\n const copyFromMatch = instruction.match(copyFromRegex);\n if (copyFromMatch?.groups?.image) {\n if (stageNames.includes(copyFromMatch.groups.image)) {\n logger.debug(\n { image: copyFromMatch.groups.image },\n 'Skipping alias COPY --from',\n );\n } else if (Number.isNaN(Number(copyFromMatch.groups.image))) {\n const dep = getDep(\n copyFromMatch.groups.image,\n true,\n config.registryAliases,\n );\n const lineNumberRanges: number[][] = [\n [lineNumberInstrStart, lineNumber],\n ];\n processDepForAutoReplace(dep, lineNumberRanges, lines, lineFeed);\n logger.debug(\n {\n depName: dep.depName,\n currentValue: dep.currentValue,\n currentDigest: dep.currentDigest,\n },\n 'Dockerfile COPY --from',\n );\n deps.push(dep);\n } else {\n logger.debug(\n { image: copyFromMatch.groups.image },\n 'Skipping index reference COPY --from',\n );\n }\n }\n\n const runMountFromRegex = regEx(\n '^[ \\\\t]*RUN(?:' +\n escapeChar +\n '[ \\\\t]*\\\\r?\\\\n| |\\\\t|#.*?\\\\r?\\\\n|--[a-z]+(?:=[a-zA-Z0-9_.:-]+?)?)+--mount=(?:\\\\S*=\\\\S*,)*from=(?<image>[^, ]+)',\n 'im',\n );\n const runMountFromMatch = instruction.match(runMountFromRegex);\n if (runMountFromMatch?.groups?.image) {\n if (stageNames.includes(runMountFromMatch.groups.image)) {\n logger.debug(\n { image: runMountFromMatch.groups.image },\n 'Skipping alias RUN --mount=from',\n );\n } else {\n const dep = getDep(\n runMountFromMatch.groups.image,\n true,\n config.registryAliases,\n );\n const lineNumberRanges: number[][] = [\n [lineNumberInstrStart, lineNumber],\n ];\n processDepForAutoReplace(dep, lineNumberRanges, lines, lineFeed);\n logger.debug(\n {\n depName: dep.depName,\n currentValue: dep.currentValue,\n currentDigest: dep.currentDigest,\n },\n 'Dockerfile RUN --mount=from',\n );\n deps.push(dep);\n }\n }\n\n lineNumber += 1;\n }\n\n if (!deps.length) {\n return null;\n }\n for (const d of deps) {\n if (!d.depType) {\n d.depType = 'stage';\n }\n }\n deps[deps.length - 1].depType = 'final';\n return { deps };\n}\n"]}
@@ -10,18 +10,18 @@ exports.hashMap.set('azure-pipelines', '4a57ee599aa5432cfb3de657df1e9eafdd6d6dde
10
10
  exports.hashMap.set('batect', '523e8d7a309b4814a02819371313b2dac3764eab64cabfaf1d58b6e89de4ce43');
11
11
  exports.hashMap.set('batect-wrapper', '81efd8400e445894e64b9352cf175736085a15d21967455f046b4a60b56a9c92');
12
12
  exports.hashMap.set('bazel', 'a7c56050feed456e4a3a7d726ce8fad9b81d176dd58c4e96ebe98aabd561bd23');
13
- exports.hashMap.set('bazel-module', '5d55ca3657421e3a524a4a13f5afc80d3d19fdd2441126f5c844182f496f7e9a');
13
+ exports.hashMap.set('bazel-module', '1d2086b5c1f721b053117b4b92adb7b600be2aaf747a0c0282aead2e2080cec1');
14
14
  exports.hashMap.set('bazelisk', '6fbef61d534724ff259ea6e4fc1cd0a3d5a46d740c375128fa59b225daddd39f');
15
15
  exports.hashMap.set('bicep', 'fbbd74998411012cfba829526701109d1fc184ade0cb11a28e4ca2956174b0f1');
16
16
  exports.hashMap.set('bitbucket-pipelines', '1ffc62c9948db58cf9dd63f2f15382fc705859f76712483b0012ea6ebba5229a');
17
17
  exports.hashMap.set('bitrise', 'd18d2dcd356e19c4cd94912511a88636198c23b64e54f31da273be11044970cf');
18
18
  exports.hashMap.set('buildkite', '69715c0daa1023fd8696273033cd5d141688437e119b93730b8c49100545e4d0');
19
19
  exports.hashMap.set('buildpacks', 'cc8bbe937416a012df36a5c7ab01ae3cdedbed03615549bbe9f0f27fa40a150b');
20
- exports.hashMap.set('bun', '9ed47c95cecc6d68d42239b3d33ac0c4fc12c4c86de93d226ab421e02c89199b');
20
+ exports.hashMap.set('bun', '97028ce2e569ef049e719bb6a3773204cb4d71bb0e0024a1fbe75f0e8cc6b1db');
21
21
  exports.hashMap.set('bun-version', '49194d7fcb6b7bdd7e7a1264f71532bb2be8142d48478bf74716f7a9d4b306b9');
22
22
  exports.hashMap.set('bundler', '1f4ab54c3e7eb79766b2a612805b18dabf6706b61d5898863a437af8dae86f22');
23
23
  exports.hashMap.set('cake', '4f42bf5e1202986d0f0b0bf906122c1b7d7630e4167903abaab378af4c539bd0');
24
- exports.hashMap.set('cargo', 'c6b02e727e7be61b1153bc2467484617a028044d178536eb773506ea5f35c081');
24
+ exports.hashMap.set('cargo', 'ec0ad2c92866cd4bce6f7e683f95cbd8a41edf0e6c2434519d40c51c3c89a47b');
25
25
  exports.hashMap.set('cdnurl', 'e05110e40514c60ad71c13a9083a5dc4c674ebda64a26827cd996556be72e771');
26
26
  exports.hashMap.set('circleci', '484389d287082ed41f8d8b763197c78af8e3513fa64f98122d92b821775b6d20');
27
27
  exports.hashMap.set('cloudbuild', 'dd03a2f53b0ff589410486149f88a4614c268bbaf7fea6133854cab50ac14dbd');
@@ -31,7 +31,7 @@ exports.hashMap.set('conan', '9db48a893bdd3cd21d2dc080fef0c2eb61976df1f43466f484
31
31
  exports.hashMap.set('copier', 'ba16599b8e86dacb00947c0c25ff00b2cdfa1660b966f8a51fb3a38c45b758be');
32
32
  exports.hashMap.set('cpanfile', '7c1d6d66f0a6767fc1ccd656ac529eaa266b04643be06604acad4d03ffc8088a');
33
33
  exports.hashMap.set('crossplane', 'c0873b443836a9dd12a61cecef4da56dfc6c6af446af58d823747c1e72e4fd0b');
34
- exports.hashMap.set('deps-edn', '33a900c234b44695856d45637ab29d6854866fd91c82f19bbc3e31b9e34cf8c4');
34
+ exports.hashMap.set('deps-edn', '2f738eab03bce1b92cf7eb39b7368c7c1b29992d8404a973bfa316217fefcbda');
35
35
  exports.hashMap.set('devbox', '9228ef0b069ac5b41050fcd05ead109d69d091fe2ae5f6a1942392e94596d88d');
36
36
  exports.hashMap.set('devcontainer', '4fc86c93667d4215e645b2048f1e98c547a744e1b3a65bc14d8732d512404659');
37
37
  exports.hashMap.set('docker-compose', 'a326f4eea594f06677691cf9606e9d6eba801d75d8d844aba3119dbb830596ca');
@@ -45,16 +45,16 @@ exports.hashMap.set('github-actions', 'c69e11ddae378352fb87007d38e2fc992c7ebb051
45
45
  exports.hashMap.set('gitlabci', '914204f13bf41a6730802c58f1899278fbe4a59be36db62a64210099ebfa5f60');
46
46
  exports.hashMap.set('gitlabci-include', 'a5422c5013ca4b513a3a94016bcfefcb6160c27a45682da9cc81689f955158a2');
47
47
  exports.hashMap.set('glasskube', '473c199866da967c41eafc8b24f2b36804096efe576bdb02878238bc5c17ec07');
48
- exports.hashMap.set('gleam', 'e8697c325d866e5b3e3cff7d4cbe62839517e973f613d8b40e27b0ceaacc6d59');
48
+ exports.hashMap.set('gleam', 'eba7fab33761b105d47043005aa5a3493af9a72cbb416972150a02dca41906a5');
49
49
  exports.hashMap.set('gomod', 'f393373e4dabed83981b67cdfab4c74dc371c8794400065272228b8cbf4236cd');
50
- exports.hashMap.set('gradle', '4bc0a3b5157e84f065bd57d80d3fd7424cc01b1a5d227d21c8e09f0626ac321c');
50
+ exports.hashMap.set('gradle', 'cda427ec64980e28addd30f158e77b7939cb3209f5a9cbea131d21afe6c0d450');
51
51
  exports.hashMap.set('gradle-wrapper', 'b76ef4832bbb6bf4fd00f569ce58f9189d722a2bc948ad741fe2e877c2c5a4fc');
52
52
  exports.hashMap.set('haskell-cabal', 'a2bf118238529952d0f2f352112dfbc86fb5533ef819625161a130f39c8ca713');
53
53
  exports.hashMap.set('helm-requirements', 'e950fba20ab9b0a67b00a22381d6034ede4d4503b71ae410e841954c8721816a');
54
54
  exports.hashMap.set('helm-values', '453a2f5e23fa38ff87ac29d8fa15aa8ce195c7369ed324849ca8bb7f0c9d1c31');
55
55
  exports.hashMap.set('helmfile', 'c30de61b32a8d9a30c3e805616d69000617b6be6c4bb173d5c0b6944562a559a');
56
56
  exports.hashMap.set('helmsman', '6fcc66565b0d39c9cab31eab31398f6bbeaad8eec0786eed799b8f6c37c3d46c');
57
- exports.hashMap.set('helmv3', '57cda0f2a79d271843d43d8dbbfaab7461bfbb680c3a363d82299ae075abb889');
57
+ exports.hashMap.set('helmv3', 'a9ca53d2b5be05d85db0d0c06ac9b00baa06a5fedb59e218dd19cbfc7045ead2');
58
58
  exports.hashMap.set('hermit', 'b421941ec88b3f32528218c708e752954fd8731f81960e7fe26ec43fa7b9c9b0');
59
59
  exports.hashMap.set('homebrew', 'd0103b71531272ff9b5ea1214aded81caf0caaebf7ee7b7699eb51236c7dc9e0');
60
60
  exports.hashMap.set('html', 'e8eabb5cc72a6b2116d30546b59ad94495199816a28e3627868c6f38b176803c');
@@ -72,20 +72,20 @@ exports.hashMap.set('mise', 'b25a6ce79074b521df4b1a5718a23d44f955c22258259026a5e
72
72
  exports.hashMap.set('mix', '4428e48e5053fda6071847d05118966d1b76df2b2bcf4d5201526fd56854da1c');
73
73
  exports.hashMap.set('nix', 'fddd8c42fafe21d415869045c2e2eaf22db2ce81901f21841e2e8509920f1b3f');
74
74
  exports.hashMap.set('nodenv', 'd159174d53e39af2013443cf86df88e14aac79a5a8d602180af229dcb2ddeda9');
75
- exports.hashMap.set('npm', '400dbdacd3c48699da9d97f03c79866cec703c68c682fd4b778191675b50203d');
76
- exports.hashMap.set('nuget', 'e90064d2b20968ae76529b6550eb3110baeaffeda8ce085c094bff1edb797fd8');
75
+ exports.hashMap.set('npm', 'e8a7410ef64ce106929fd623da665a9b48136d6f6d407d3cad5f59e248a57af4');
76
+ exports.hashMap.set('nuget', 'aac18419dbe2206eb6e128018a8353903d6f3a3bfbff546e403f0c479e37b770');
77
77
  exports.hashMap.set('nvm', '1928fd50bd6cc9f42d73262630056f2c0f8b0e061282bd02e58d116fc1788e2b');
78
78
  exports.hashMap.set('ocb', '55559051102728868b619820a6dc95753cdfbbb8aed46840e53db6733bc2ede4');
79
79
  exports.hashMap.set('osgi', 'dae012cd486843eb53da4b032105e54d18f4e7537bd59c5321313950dd108a95');
80
- exports.hashMap.set('pep621', 'e031097c05a9ebdf1e40c33740550fab1b9b12ad4e5e9c0e8707bd99d689ef35');
80
+ exports.hashMap.set('pep621', '33706985b599ba43f1467acd3ec396aedfcbc46e0780d61064c67bc1a711c688');
81
81
  exports.hashMap.set('pep723', 'bf07d466ea1bc9513c8d2cb475fcca3bc9b61f2184bd9af0a7a28d45b6f57ecd');
82
- exports.hashMap.set('pip-compile', '9f088b33c03a2a98e4ddb571394d415b50bfb80e02356aa634ff6138e9302250');
82
+ exports.hashMap.set('pip-compile', '6b018a726e0e860a31ad4e606dbac81bd06489e81a6d78d72991c004b1ca8d55');
83
83
  exports.hashMap.set('pip_requirements', 'afbcb2e35b8ec3b6a17ae1c890e11c83cf693840d69ecbc738b2476132d9f481');
84
84
  exports.hashMap.set('pip_setup', 'c0c14413589ac143619b860cc8e25fc30140c75abe70e448500bb044c22fde48');
85
- exports.hashMap.set('pipenv', 'd8e3a3222d16d1aefe9251669617bb912cdfd75f28b1c75773a1435303861ab0');
86
- exports.hashMap.set('poetry', '84b5a1b5fe983a9564ac588002dc50308ee48bf3a457176c3f16cc805c1f9b06');
85
+ exports.hashMap.set('pipenv', '84a0dd98af1eb8059978c6fe8690b75ca3e7da6f7bba5f85173797b9ac0cc83b');
86
+ exports.hashMap.set('poetry', '14e3bb7fada8bd16217ffeaecd72ff2c20f7f9f8a465d2a0cf8f8f809ec248d5');
87
87
  exports.hashMap.set('pre-commit', '356d8a18cef8dd2f935a058575b71ecd7c68b34efcb96cb316bd4bf86f8cc443');
88
- exports.hashMap.set('pub', '0a0c030fabe3828e70df74f9b2b129df892d8a978152588ca8138ab0c5641d05');
88
+ exports.hashMap.set('pub', '0b20f49554aaa61b86e82751171c7fffcfa7d018e0b883bdbb2345d396ebb2cf');
89
89
  exports.hashMap.set('puppet', 'ada8a1260068ce08307fb3b6efabc2e6ecd7d396ed48db5174413d22a9d0151a');
90
90
  exports.hashMap.set('pyenv', '4e520570d9a1407864aa7c5461d4008372d889254067e405cee2212d0ef8990b');
91
91
  exports.hashMap.set('ruby-version', '4aac2178a20ccdf8136363030e5156017f3d44368b4192b3280997df596dcacc');
@@ -96,14 +96,14 @@ exports.hashMap.set('setup-cfg', '45f800c959f0de7a157a441ab0e3b0f411fd5a71cbbceb
96
96
  exports.hashMap.set('sveltos', 'a69f9e206526af08685e20a72344b22d856f2effd882e67333a153a989a0a047');
97
97
  exports.hashMap.set('swift', 'd5441be03d2c0f411ef644531d612bad90ae27713f6614b99318650841a93b06');
98
98
  exports.hashMap.set('tekton', 'fd8b0a460c87a874f956eb6adfee5f47f41316d3869fe27348e7a296d7165402');
99
- exports.hashMap.set('terraform', 'df05c80132c02d39e60a9a9445ad026840b05b4c8cb277ea7454cc55084a22be');
99
+ exports.hashMap.set('terraform', '93103fa260bcb190cecb56b8d2639dce79834c283c62fc2849a882d7b2c02739');
100
100
  exports.hashMap.set('terraform-version', 'b08480f326c45daf3daeccc2d2f593a723c30a50437a66ac2290d671b427a355');
101
- exports.hashMap.set('terragrunt', '6798d26f10365422ebf9b94b0104a3487d121f28a816e496a609e5dda7414af4');
101
+ exports.hashMap.set('terragrunt', 'd47d1ef185a73ee0db84f7edb2e3a37fd864ead8c6585ee1549cee55682d2290');
102
102
  exports.hashMap.set('terragrunt-version', '45f221b13a193a42687f318e10cf1558079e28c970e91ce25c370f35f88f2f58');
103
103
  exports.hashMap.set('tflint-plugin', 'a8824605492cb545b8026e00ec5bdc3ed3e58e26e4c1db7574963367d64dc980');
104
104
  exports.hashMap.set('travis', '9fe82aefc535e9cd87e22fea271dba4a1c67252cf1ad0805a3c0bad5b5940922');
105
105
  exports.hashMap.set('velaci', '19f265237b1bda5d28c54133e2cd3259181ffa6c5af544c1240f9a8635ec5718');
106
- exports.hashMap.set('vendir', 'f92feecb6e105f9b93a43be3f9ce9673e86d9186bc92bee671728d0450d26fd6');
106
+ exports.hashMap.set('vendir', '26e96eb75ddbdaa7a801d98fde4e9420c25621a70179713582708f4813f2bb2f');
107
107
  exports.hashMap.set('woodpecker', '9bcc581026e2797b2d6dd9060b4384f7352aa38bb12247445ff36ec271dfa6da');
108
108
  exports.hashMap.set('jsonata', 'e84ff3f384269e091ef0ee6bcfbddc483a7b35a47ba2b0bd4a7ca2d842c87788');
109
109
  exports.hashMap.set('regex', '07b23772ed639fc4ff4dc6e6a9afac613eebf3b02d973bf2aec9b5af85c0f427');
@@ -1 +1 @@
1
- {"version":3,"file":"fingerprint.generated.js","sourceRoot":"","sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"names":[],"mappings":"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","sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','8662d6e49986aa9fc549f9c2b072860890e93b8f6de7b6819893da07fc591ab7');\nhashMap.set('ansible-galaxy','e391b275e0847d6e35297fbe68583a7bcf2ad6e5057e95fcbdb0e7c724411a5e');\nhashMap.set('argocd','9faa5dc34541f099823785d2590b43a433350ac5abdd11b89be71e123c67d9e5');\nhashMap.set('asdf','be1913ee9260b861edb04ca359c45c5aa78fd0ded147150c5395b78a5e488775');\nhashMap.set('azure-pipelines','4a57ee599aa5432cfb3de657df1e9eafdd6d6ddebb8678613d56360b8a1de970');\nhashMap.set('batect','523e8d7a309b4814a02819371313b2dac3764eab64cabfaf1d58b6e89de4ce43');\nhashMap.set('batect-wrapper','81efd8400e445894e64b9352cf175736085a15d21967455f046b4a60b56a9c92');\nhashMap.set('bazel','a7c56050feed456e4a3a7d726ce8fad9b81d176dd58c4e96ebe98aabd561bd23');\nhashMap.set('bazel-module','5d55ca3657421e3a524a4a13f5afc80d3d19fdd2441126f5c844182f496f7e9a');\nhashMap.set('bazelisk','6fbef61d534724ff259ea6e4fc1cd0a3d5a46d740c375128fa59b225daddd39f');\nhashMap.set('bicep','fbbd74998411012cfba829526701109d1fc184ade0cb11a28e4ca2956174b0f1');\nhashMap.set('bitbucket-pipelines','1ffc62c9948db58cf9dd63f2f15382fc705859f76712483b0012ea6ebba5229a');\nhashMap.set('bitrise','d18d2dcd356e19c4cd94912511a88636198c23b64e54f31da273be11044970cf');\nhashMap.set('buildkite','69715c0daa1023fd8696273033cd5d141688437e119b93730b8c49100545e4d0');\nhashMap.set('buildpacks','cc8bbe937416a012df36a5c7ab01ae3cdedbed03615549bbe9f0f27fa40a150b');\nhashMap.set('bun','9ed47c95cecc6d68d42239b3d33ac0c4fc12c4c86de93d226ab421e02c89199b');\nhashMap.set('bun-version','49194d7fcb6b7bdd7e7a1264f71532bb2be8142d48478bf74716f7a9d4b306b9');\nhashMap.set('bundler','1f4ab54c3e7eb79766b2a612805b18dabf6706b61d5898863a437af8dae86f22');\nhashMap.set('cake','4f42bf5e1202986d0f0b0bf906122c1b7d7630e4167903abaab378af4c539bd0');\nhashMap.set('cargo','c6b02e727e7be61b1153bc2467484617a028044d178536eb773506ea5f35c081');\nhashMap.set('cdnurl','e05110e40514c60ad71c13a9083a5dc4c674ebda64a26827cd996556be72e771');\nhashMap.set('circleci','484389d287082ed41f8d8b763197c78af8e3513fa64f98122d92b821775b6d20');\nhashMap.set('cloudbuild','dd03a2f53b0ff589410486149f88a4614c268bbaf7fea6133854cab50ac14dbd');\nhashMap.set('cocoapods','d288e5f478c7614d6e764c884b0b7d9636ac00af963dde81132dc6612567ac76');\nhashMap.set('composer','8f4f3e96ca3f1955157ef52a1a32a13839962a37e6964f5bb25181bff105dee6');\nhashMap.set('conan','9db48a893bdd3cd21d2dc080fef0c2eb61976df1f43466f48435432253584daf');\nhashMap.set('copier','ba16599b8e86dacb00947c0c25ff00b2cdfa1660b966f8a51fb3a38c45b758be');\nhashMap.set('cpanfile','7c1d6d66f0a6767fc1ccd656ac529eaa266b04643be06604acad4d03ffc8088a');\nhashMap.set('crossplane','c0873b443836a9dd12a61cecef4da56dfc6c6af446af58d823747c1e72e4fd0b');\nhashMap.set('deps-edn','33a900c234b44695856d45637ab29d6854866fd91c82f19bbc3e31b9e34cf8c4');\nhashMap.set('devbox','9228ef0b069ac5b41050fcd05ead109d69d091fe2ae5f6a1942392e94596d88d');\nhashMap.set('devcontainer','4fc86c93667d4215e645b2048f1e98c547a744e1b3a65bc14d8732d512404659');\nhashMap.set('docker-compose','a326f4eea594f06677691cf9606e9d6eba801d75d8d844aba3119dbb830596ca');\nhashMap.set('dockerfile','91c229d3c9049411fb2ddc1469ed5625b11045483c740ab0265721bcc68f47de');\nhashMap.set('droneci','9e127ab972ce804a306c26161c7fe7b384527c478c7555966d578f0f8c21b89b');\nhashMap.set('fleet','a20a10fe38e9a7916890cae21f66d802742e1f85bcd672a8f9ff734817ff93a3');\nhashMap.set('flux','e0a3da234585bae3ce2ea271c3a177c66acd7200835125a10db39c2e791ef789');\nhashMap.set('fvm','aa154dd5ffe3caced30713a9a55967360b7a0f35edd2fc06bd6f3e73c5c87570');\nhashMap.set('git-submodules','7108368859821af467437a1a2cecc0de7d205673856a17cde485244d78e516e7');\nhashMap.set('github-actions','c69e11ddae378352fb87007d38e2fc992c7ebb0519c14ec168893a2f21ffc0be');\nhashMap.set('gitlabci','914204f13bf41a6730802c58f1899278fbe4a59be36db62a64210099ebfa5f60');\nhashMap.set('gitlabci-include','a5422c5013ca4b513a3a94016bcfefcb6160c27a45682da9cc81689f955158a2');\nhashMap.set('glasskube','473c199866da967c41eafc8b24f2b36804096efe576bdb02878238bc5c17ec07');\nhashMap.set('gleam','e8697c325d866e5b3e3cff7d4cbe62839517e973f613d8b40e27b0ceaacc6d59');\nhashMap.set('gomod','f393373e4dabed83981b67cdfab4c74dc371c8794400065272228b8cbf4236cd');\nhashMap.set('gradle','4bc0a3b5157e84f065bd57d80d3fd7424cc01b1a5d227d21c8e09f0626ac321c');\nhashMap.set('gradle-wrapper','b76ef4832bbb6bf4fd00f569ce58f9189d722a2bc948ad741fe2e877c2c5a4fc');\nhashMap.set('haskell-cabal','a2bf118238529952d0f2f352112dfbc86fb5533ef819625161a130f39c8ca713');\nhashMap.set('helm-requirements','e950fba20ab9b0a67b00a22381d6034ede4d4503b71ae410e841954c8721816a');\nhashMap.set('helm-values','453a2f5e23fa38ff87ac29d8fa15aa8ce195c7369ed324849ca8bb7f0c9d1c31');\nhashMap.set('helmfile','c30de61b32a8d9a30c3e805616d69000617b6be6c4bb173d5c0b6944562a559a');\nhashMap.set('helmsman','6fcc66565b0d39c9cab31eab31398f6bbeaad8eec0786eed799b8f6c37c3d46c');\nhashMap.set('helmv3','57cda0f2a79d271843d43d8dbbfaab7461bfbb680c3a363d82299ae075abb889');\nhashMap.set('hermit','b421941ec88b3f32528218c708e752954fd8731f81960e7fe26ec43fa7b9c9b0');\nhashMap.set('homebrew','d0103b71531272ff9b5ea1214aded81caf0caaebf7ee7b7699eb51236c7dc9e0');\nhashMap.set('html','e8eabb5cc72a6b2116d30546b59ad94495199816a28e3627868c6f38b176803c');\nhashMap.set('jenkins','8cbbb2be35b194312c553c33de217ff2f8c7f0f7dfe074cc8eb2df82850380ee');\nhashMap.set('jsonnet-bundler','ca8fbc6dd4858c1044afb66d5014ee3442281c79c4c4bff53209bbcc198daa07');\nhashMap.set('kotlin-script','b3ba662db27a003ac3d644d5aa98b36362d6e0f0832573a14971f1ba1a63f48a');\nhashMap.set('kubernetes','e7e844cd3c693e7ddb987c13dd113c843a42169511ffc3125179f1d115dab3bc');\nhashMap.set('kustomize','8eb225926f4a7f39b3f9bf51a6d6896f505f6ef0ff9b454769bb26450b40c2d1');\nhashMap.set('leiningen','4a4d8c0ee6c94a3e094ed21528fbe960277ab898f8051b4a5ffcfd095a0e3fd2');\nhashMap.set('maven','ed89641a966cfbb63a39f35817843c3cc7f6400fd5304482a8e3f5935e0f9be3');\nhashMap.set('maven-wrapper','7b9550ee6dbbfafbaed855fdc3cd46aaef9da56b49d8e152eb90135638523d17');\nhashMap.set('meteor','6da871e043f20e526d46ec815802286d621ab0b640520fe91ce030aad20b2a64');\nhashMap.set('mint','7072e37f18bb57500018406eb8711b2615b1916f073867f30653cdd4a99dab81');\nhashMap.set('mise','b25a6ce79074b521df4b1a5718a23d44f955c22258259026a5ee9f3100ab7f4d');\nhashMap.set('mix','4428e48e5053fda6071847d05118966d1b76df2b2bcf4d5201526fd56854da1c');\nhashMap.set('nix','fddd8c42fafe21d415869045c2e2eaf22db2ce81901f21841e2e8509920f1b3f');\nhashMap.set('nodenv','d159174d53e39af2013443cf86df88e14aac79a5a8d602180af229dcb2ddeda9');\nhashMap.set('npm','400dbdacd3c48699da9d97f03c79866cec703c68c682fd4b778191675b50203d');\nhashMap.set('nuget','e90064d2b20968ae76529b6550eb3110baeaffeda8ce085c094bff1edb797fd8');\nhashMap.set('nvm','1928fd50bd6cc9f42d73262630056f2c0f8b0e061282bd02e58d116fc1788e2b');\nhashMap.set('ocb','55559051102728868b619820a6dc95753cdfbbb8aed46840e53db6733bc2ede4');\nhashMap.set('osgi','dae012cd486843eb53da4b032105e54d18f4e7537bd59c5321313950dd108a95');\nhashMap.set('pep621','e031097c05a9ebdf1e40c33740550fab1b9b12ad4e5e9c0e8707bd99d689ef35');\nhashMap.set('pep723','bf07d466ea1bc9513c8d2cb475fcca3bc9b61f2184bd9af0a7a28d45b6f57ecd');\nhashMap.set('pip-compile','9f088b33c03a2a98e4ddb571394d415b50bfb80e02356aa634ff6138e9302250');\nhashMap.set('pip_requirements','afbcb2e35b8ec3b6a17ae1c890e11c83cf693840d69ecbc738b2476132d9f481');\nhashMap.set('pip_setup','c0c14413589ac143619b860cc8e25fc30140c75abe70e448500bb044c22fde48');\nhashMap.set('pipenv','d8e3a3222d16d1aefe9251669617bb912cdfd75f28b1c75773a1435303861ab0');\nhashMap.set('poetry','84b5a1b5fe983a9564ac588002dc50308ee48bf3a457176c3f16cc805c1f9b06');\nhashMap.set('pre-commit','356d8a18cef8dd2f935a058575b71ecd7c68b34efcb96cb316bd4bf86f8cc443');\nhashMap.set('pub','0a0c030fabe3828e70df74f9b2b129df892d8a978152588ca8138ab0c5641d05');\nhashMap.set('puppet','ada8a1260068ce08307fb3b6efabc2e6ecd7d396ed48db5174413d22a9d0151a');\nhashMap.set('pyenv','4e520570d9a1407864aa7c5461d4008372d889254067e405cee2212d0ef8990b');\nhashMap.set('ruby-version','4aac2178a20ccdf8136363030e5156017f3d44368b4192b3280997df596dcacc');\nhashMap.set('runtime-version','dbf80ce2a5f07dd34bc9a008159b4f08052cc6fd0d92cbd2aeb0026c8008fa72');\nhashMap.set('sbt','dcd60611842324b243e8e1bad6632fbb1ad15fd676aa30d6111ad5fe70ee91f7');\nhashMap.set('scalafmt','06ab7baa0f0dc355ca9bb583c4a584236ff69ebfd973b7f87a6bce78a27ee2ba');\nhashMap.set('setup-cfg','45f800c959f0de7a157a441ab0e3b0f411fd5a71cbbceb5e77376b5e942e9f66');\nhashMap.set('sveltos','a69f9e206526af08685e20a72344b22d856f2effd882e67333a153a989a0a047');\nhashMap.set('swift','d5441be03d2c0f411ef644531d612bad90ae27713f6614b99318650841a93b06');\nhashMap.set('tekton','fd8b0a460c87a874f956eb6adfee5f47f41316d3869fe27348e7a296d7165402');\nhashMap.set('terraform','df05c80132c02d39e60a9a9445ad026840b05b4c8cb277ea7454cc55084a22be');\nhashMap.set('terraform-version','b08480f326c45daf3daeccc2d2f593a723c30a50437a66ac2290d671b427a355');\nhashMap.set('terragrunt','6798d26f10365422ebf9b94b0104a3487d121f28a816e496a609e5dda7414af4');\nhashMap.set('terragrunt-version','45f221b13a193a42687f318e10cf1558079e28c970e91ce25c370f35f88f2f58');\nhashMap.set('tflint-plugin','a8824605492cb545b8026e00ec5bdc3ed3e58e26e4c1db7574963367d64dc980');\nhashMap.set('travis','9fe82aefc535e9cd87e22fea271dba4a1c67252cf1ad0805a3c0bad5b5940922');\nhashMap.set('velaci','19f265237b1bda5d28c54133e2cd3259181ffa6c5af544c1240f9a8635ec5718');\nhashMap.set('vendir','f92feecb6e105f9b93a43be3f9ce9673e86d9186bc92bee671728d0450d26fd6');\nhashMap.set('woodpecker','9bcc581026e2797b2d6dd9060b4384f7352aa38bb12247445ff36ec271dfa6da');\nhashMap.set('jsonata','e84ff3f384269e091ef0ee6bcfbddc483a7b35a47ba2b0bd4a7ca2d842c87788');\nhashMap.set('regex','07b23772ed639fc4ff4dc6e6a9afac613eebf3b02d973bf2aec9b5af85c0f427');"]}
1
+ {"version":3,"file":"fingerprint.generated.js","sourceRoot":"","sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEjD,eAAO,CAAC,GAAG,CAAC,SAAS,EAAC,kEAAkE,CAAC,CAAC;AAC1F,eAAO,CAAC,GAAG,CAAC,gBAAgB,EAAC,kEAAkE,CAAC,CAAC;AACjG,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,MAAM,EAAC,kEAAkE,CAAC,CAAC;AACvF,eAAO,CAAC,GAAG,CAAC,iBAAiB,EAAC,kEAAkE,CAAC,CAAC;AAClG,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,gBAAgB,EAAC,kEAAkE,CAAC,CAAC;AACjG,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,cAAc,EAAC,kEAAkE,CAAC,CAAC;AAC/F,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,qBAAqB,EAAC,kEAAkE,CAAC,CAAC;AACtG,eAAO,CAAC,GAAG,CAAC,SAAS,EAAC,kEAAkE,CAAC,CAAC;AAC1F,eAAO,CAAC,GAAG,CAAC,WAAW,EAAC,kEAAkE,CAAC,CAAC;AAC5F,eAAO,CAAC,GAAG,CAAC,YAAY,EAAC,kEAAkE,CAAC,CAAC;AAC7F,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,aAAa,EAAC,kEAAkE,CAAC,CAAC;AAC9F,eAAO,CAAC,GAAG,CAAC,SAAS,EAAC,kEAAkE,CAAC,CAAC;AAC1F,eAAO,CAAC,GAAG,CAAC,MAAM,EAAC,kEAAkE,CAAC,CAAC;AACvF,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,YAAY,EAAC,kEAAkE,CAAC,CAAC;AAC7F,eAAO,CAAC,GAAG,CAAC,WAAW,EAAC,kEAAkE,CAAC,CAAC;AAC5F,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,YAAY,EAAC,kEAAkE,CAAC,CAAC;AAC7F,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,cAAc,EAAC,kEAAkE,CAAC,CAAC;AAC/F,eAAO,CAAC,GAAG,CAAC,gBAAgB,EAAC,kEAAkE,CAAC,CAAC;AACjG,eAAO,CAAC,GAAG,CAAC,YAAY,EAAC,kEAAkE,CAAC,CAAC;AAC7F,eAAO,CAAC,GAAG,CAAC,SAAS,EAAC,kEAAkE,CAAC,CAAC;AAC1F,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,MAAM,EAAC,kEAAkE,CAAC,CAAC;AACvF,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,gBAAgB,EAAC,kEAAkE,CAAC,CAAC;AACjG,eAAO,CAAC,GAAG,CAAC,gBAAgB,EAAC,kEAAkE,CAAC,CAAC;AACjG,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,kBAAkB,EAAC,kEAAkE,CAAC,CAAC;AACnG,eAAO,CAAC,GAAG,CAAC,WAAW,EAAC,kEAAkE,CAAC,CAAC;AAC5F,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,gBAAgB,EAAC,kEAAkE,CAAC,CAAC;AACjG,eAAO,CAAC,GAAG,CAAC,eAAe,EAAC,kEAAkE,CAAC,CAAC;AAChG,eAAO,CAAC,GAAG,CAAC,mBAAmB,EAAC,kEAAkE,CAAC,CAAC;AACpG,eAAO,CAAC,GAAG,CAAC,aAAa,EAAC,kEAAkE,CAAC,CAAC;AAC9F,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,MAAM,EAAC,kEAAkE,CAAC,CAAC;AACvF,eAAO,CAAC,GAAG,CAAC,SAAS,EAAC,kEAAkE,CAAC,CAAC;AAC1F,eAAO,CAAC,GAAG,CAAC,iBAAiB,EAAC,kEAAkE,CAAC,CAAC;AAClG,eAAO,CAAC,GAAG,CAAC,eAAe,EAAC,kEAAkE,CAAC,CAAC;AAChG,eAAO,CAAC,GAAG,CAAC,YAAY,EAAC,kEAAkE,CAAC,CAAC;AAC7F,eAAO,CAAC,GAAG,CAAC,WAAW,EAAC,kEAAkE,CAAC,CAAC;AAC5F,eAAO,CAAC,GAAG,CAAC,WAAW,EAAC,kEAAkE,CAAC,CAAC;AAC5F,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,eAAe,EAAC,kEAAkE,CAAC,CAAC;AAChG,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,MAAM,EAAC,kEAAkE,CAAC,CAAC;AACvF,eAAO,CAAC,GAAG,CAAC,MAAM,EAAC,kEAAkE,CAAC,CAAC;AACvF,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,MAAM,EAAC,kEAAkE,CAAC,CAAC;AACvF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,aAAa,EAAC,kEAAkE,CAAC,CAAC;AAC9F,eAAO,CAAC,GAAG,CAAC,kBAAkB,EAAC,kEAAkE,CAAC,CAAC;AACnG,eAAO,CAAC,GAAG,CAAC,WAAW,EAAC,kEAAkE,CAAC,CAAC;AAC5F,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,YAAY,EAAC,kEAAkE,CAAC,CAAC;AAC7F,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,cAAc,EAAC,kEAAkE,CAAC,CAAC;AAC/F,eAAO,CAAC,GAAG,CAAC,iBAAiB,EAAC,kEAAkE,CAAC,CAAC;AAClG,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,WAAW,EAAC,kEAAkE,CAAC,CAAC;AAC5F,eAAO,CAAC,GAAG,CAAC,SAAS,EAAC,kEAAkE,CAAC,CAAC;AAC1F,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,WAAW,EAAC,kEAAkE,CAAC,CAAC;AAC5F,eAAO,CAAC,GAAG,CAAC,mBAAmB,EAAC,kEAAkE,CAAC,CAAC;AACpG,eAAO,CAAC,GAAG,CAAC,YAAY,EAAC,kEAAkE,CAAC,CAAC;AAC7F,eAAO,CAAC,GAAG,CAAC,oBAAoB,EAAC,kEAAkE,CAAC,CAAC;AACrG,eAAO,CAAC,GAAG,CAAC,eAAe,EAAC,kEAAkE,CAAC,CAAC;AAChG,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,YAAY,EAAC,kEAAkE,CAAC,CAAC;AAC7F,eAAO,CAAC,GAAG,CAAC,SAAS,EAAC,kEAAkE,CAAC,CAAC;AAC1F,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC","sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','8662d6e49986aa9fc549f9c2b072860890e93b8f6de7b6819893da07fc591ab7');\nhashMap.set('ansible-galaxy','e391b275e0847d6e35297fbe68583a7bcf2ad6e5057e95fcbdb0e7c724411a5e');\nhashMap.set('argocd','9faa5dc34541f099823785d2590b43a433350ac5abdd11b89be71e123c67d9e5');\nhashMap.set('asdf','be1913ee9260b861edb04ca359c45c5aa78fd0ded147150c5395b78a5e488775');\nhashMap.set('azure-pipelines','4a57ee599aa5432cfb3de657df1e9eafdd6d6ddebb8678613d56360b8a1de970');\nhashMap.set('batect','523e8d7a309b4814a02819371313b2dac3764eab64cabfaf1d58b6e89de4ce43');\nhashMap.set('batect-wrapper','81efd8400e445894e64b9352cf175736085a15d21967455f046b4a60b56a9c92');\nhashMap.set('bazel','a7c56050feed456e4a3a7d726ce8fad9b81d176dd58c4e96ebe98aabd561bd23');\nhashMap.set('bazel-module','1d2086b5c1f721b053117b4b92adb7b600be2aaf747a0c0282aead2e2080cec1');\nhashMap.set('bazelisk','6fbef61d534724ff259ea6e4fc1cd0a3d5a46d740c375128fa59b225daddd39f');\nhashMap.set('bicep','fbbd74998411012cfba829526701109d1fc184ade0cb11a28e4ca2956174b0f1');\nhashMap.set('bitbucket-pipelines','1ffc62c9948db58cf9dd63f2f15382fc705859f76712483b0012ea6ebba5229a');\nhashMap.set('bitrise','d18d2dcd356e19c4cd94912511a88636198c23b64e54f31da273be11044970cf');\nhashMap.set('buildkite','69715c0daa1023fd8696273033cd5d141688437e119b93730b8c49100545e4d0');\nhashMap.set('buildpacks','cc8bbe937416a012df36a5c7ab01ae3cdedbed03615549bbe9f0f27fa40a150b');\nhashMap.set('bun','97028ce2e569ef049e719bb6a3773204cb4d71bb0e0024a1fbe75f0e8cc6b1db');\nhashMap.set('bun-version','49194d7fcb6b7bdd7e7a1264f71532bb2be8142d48478bf74716f7a9d4b306b9');\nhashMap.set('bundler','1f4ab54c3e7eb79766b2a612805b18dabf6706b61d5898863a437af8dae86f22');\nhashMap.set('cake','4f42bf5e1202986d0f0b0bf906122c1b7d7630e4167903abaab378af4c539bd0');\nhashMap.set('cargo','ec0ad2c92866cd4bce6f7e683f95cbd8a41edf0e6c2434519d40c51c3c89a47b');\nhashMap.set('cdnurl','e05110e40514c60ad71c13a9083a5dc4c674ebda64a26827cd996556be72e771');\nhashMap.set('circleci','484389d287082ed41f8d8b763197c78af8e3513fa64f98122d92b821775b6d20');\nhashMap.set('cloudbuild','dd03a2f53b0ff589410486149f88a4614c268bbaf7fea6133854cab50ac14dbd');\nhashMap.set('cocoapods','d288e5f478c7614d6e764c884b0b7d9636ac00af963dde81132dc6612567ac76');\nhashMap.set('composer','8f4f3e96ca3f1955157ef52a1a32a13839962a37e6964f5bb25181bff105dee6');\nhashMap.set('conan','9db48a893bdd3cd21d2dc080fef0c2eb61976df1f43466f48435432253584daf');\nhashMap.set('copier','ba16599b8e86dacb00947c0c25ff00b2cdfa1660b966f8a51fb3a38c45b758be');\nhashMap.set('cpanfile','7c1d6d66f0a6767fc1ccd656ac529eaa266b04643be06604acad4d03ffc8088a');\nhashMap.set('crossplane','c0873b443836a9dd12a61cecef4da56dfc6c6af446af58d823747c1e72e4fd0b');\nhashMap.set('deps-edn','2f738eab03bce1b92cf7eb39b7368c7c1b29992d8404a973bfa316217fefcbda');\nhashMap.set('devbox','9228ef0b069ac5b41050fcd05ead109d69d091fe2ae5f6a1942392e94596d88d');\nhashMap.set('devcontainer','4fc86c93667d4215e645b2048f1e98c547a744e1b3a65bc14d8732d512404659');\nhashMap.set('docker-compose','a326f4eea594f06677691cf9606e9d6eba801d75d8d844aba3119dbb830596ca');\nhashMap.set('dockerfile','91c229d3c9049411fb2ddc1469ed5625b11045483c740ab0265721bcc68f47de');\nhashMap.set('droneci','9e127ab972ce804a306c26161c7fe7b384527c478c7555966d578f0f8c21b89b');\nhashMap.set('fleet','a20a10fe38e9a7916890cae21f66d802742e1f85bcd672a8f9ff734817ff93a3');\nhashMap.set('flux','e0a3da234585bae3ce2ea271c3a177c66acd7200835125a10db39c2e791ef789');\nhashMap.set('fvm','aa154dd5ffe3caced30713a9a55967360b7a0f35edd2fc06bd6f3e73c5c87570');\nhashMap.set('git-submodules','7108368859821af467437a1a2cecc0de7d205673856a17cde485244d78e516e7');\nhashMap.set('github-actions','c69e11ddae378352fb87007d38e2fc992c7ebb0519c14ec168893a2f21ffc0be');\nhashMap.set('gitlabci','914204f13bf41a6730802c58f1899278fbe4a59be36db62a64210099ebfa5f60');\nhashMap.set('gitlabci-include','a5422c5013ca4b513a3a94016bcfefcb6160c27a45682da9cc81689f955158a2');\nhashMap.set('glasskube','473c199866da967c41eafc8b24f2b36804096efe576bdb02878238bc5c17ec07');\nhashMap.set('gleam','eba7fab33761b105d47043005aa5a3493af9a72cbb416972150a02dca41906a5');\nhashMap.set('gomod','f393373e4dabed83981b67cdfab4c74dc371c8794400065272228b8cbf4236cd');\nhashMap.set('gradle','cda427ec64980e28addd30f158e77b7939cb3209f5a9cbea131d21afe6c0d450');\nhashMap.set('gradle-wrapper','b76ef4832bbb6bf4fd00f569ce58f9189d722a2bc948ad741fe2e877c2c5a4fc');\nhashMap.set('haskell-cabal','a2bf118238529952d0f2f352112dfbc86fb5533ef819625161a130f39c8ca713');\nhashMap.set('helm-requirements','e950fba20ab9b0a67b00a22381d6034ede4d4503b71ae410e841954c8721816a');\nhashMap.set('helm-values','453a2f5e23fa38ff87ac29d8fa15aa8ce195c7369ed324849ca8bb7f0c9d1c31');\nhashMap.set('helmfile','c30de61b32a8d9a30c3e805616d69000617b6be6c4bb173d5c0b6944562a559a');\nhashMap.set('helmsman','6fcc66565b0d39c9cab31eab31398f6bbeaad8eec0786eed799b8f6c37c3d46c');\nhashMap.set('helmv3','a9ca53d2b5be05d85db0d0c06ac9b00baa06a5fedb59e218dd19cbfc7045ead2');\nhashMap.set('hermit','b421941ec88b3f32528218c708e752954fd8731f81960e7fe26ec43fa7b9c9b0');\nhashMap.set('homebrew','d0103b71531272ff9b5ea1214aded81caf0caaebf7ee7b7699eb51236c7dc9e0');\nhashMap.set('html','e8eabb5cc72a6b2116d30546b59ad94495199816a28e3627868c6f38b176803c');\nhashMap.set('jenkins','8cbbb2be35b194312c553c33de217ff2f8c7f0f7dfe074cc8eb2df82850380ee');\nhashMap.set('jsonnet-bundler','ca8fbc6dd4858c1044afb66d5014ee3442281c79c4c4bff53209bbcc198daa07');\nhashMap.set('kotlin-script','b3ba662db27a003ac3d644d5aa98b36362d6e0f0832573a14971f1ba1a63f48a');\nhashMap.set('kubernetes','e7e844cd3c693e7ddb987c13dd113c843a42169511ffc3125179f1d115dab3bc');\nhashMap.set('kustomize','8eb225926f4a7f39b3f9bf51a6d6896f505f6ef0ff9b454769bb26450b40c2d1');\nhashMap.set('leiningen','4a4d8c0ee6c94a3e094ed21528fbe960277ab898f8051b4a5ffcfd095a0e3fd2');\nhashMap.set('maven','ed89641a966cfbb63a39f35817843c3cc7f6400fd5304482a8e3f5935e0f9be3');\nhashMap.set('maven-wrapper','7b9550ee6dbbfafbaed855fdc3cd46aaef9da56b49d8e152eb90135638523d17');\nhashMap.set('meteor','6da871e043f20e526d46ec815802286d621ab0b640520fe91ce030aad20b2a64');\nhashMap.set('mint','7072e37f18bb57500018406eb8711b2615b1916f073867f30653cdd4a99dab81');\nhashMap.set('mise','b25a6ce79074b521df4b1a5718a23d44f955c22258259026a5ee9f3100ab7f4d');\nhashMap.set('mix','4428e48e5053fda6071847d05118966d1b76df2b2bcf4d5201526fd56854da1c');\nhashMap.set('nix','fddd8c42fafe21d415869045c2e2eaf22db2ce81901f21841e2e8509920f1b3f');\nhashMap.set('nodenv','d159174d53e39af2013443cf86df88e14aac79a5a8d602180af229dcb2ddeda9');\nhashMap.set('npm','e8a7410ef64ce106929fd623da665a9b48136d6f6d407d3cad5f59e248a57af4');\nhashMap.set('nuget','aac18419dbe2206eb6e128018a8353903d6f3a3bfbff546e403f0c479e37b770');\nhashMap.set('nvm','1928fd50bd6cc9f42d73262630056f2c0f8b0e061282bd02e58d116fc1788e2b');\nhashMap.set('ocb','55559051102728868b619820a6dc95753cdfbbb8aed46840e53db6733bc2ede4');\nhashMap.set('osgi','dae012cd486843eb53da4b032105e54d18f4e7537bd59c5321313950dd108a95');\nhashMap.set('pep621','33706985b599ba43f1467acd3ec396aedfcbc46e0780d61064c67bc1a711c688');\nhashMap.set('pep723','bf07d466ea1bc9513c8d2cb475fcca3bc9b61f2184bd9af0a7a28d45b6f57ecd');\nhashMap.set('pip-compile','6b018a726e0e860a31ad4e606dbac81bd06489e81a6d78d72991c004b1ca8d55');\nhashMap.set('pip_requirements','afbcb2e35b8ec3b6a17ae1c890e11c83cf693840d69ecbc738b2476132d9f481');\nhashMap.set('pip_setup','c0c14413589ac143619b860cc8e25fc30140c75abe70e448500bb044c22fde48');\nhashMap.set('pipenv','84a0dd98af1eb8059978c6fe8690b75ca3e7da6f7bba5f85173797b9ac0cc83b');\nhashMap.set('poetry','14e3bb7fada8bd16217ffeaecd72ff2c20f7f9f8a465d2a0cf8f8f809ec248d5');\nhashMap.set('pre-commit','356d8a18cef8dd2f935a058575b71ecd7c68b34efcb96cb316bd4bf86f8cc443');\nhashMap.set('pub','0b20f49554aaa61b86e82751171c7fffcfa7d018e0b883bdbb2345d396ebb2cf');\nhashMap.set('puppet','ada8a1260068ce08307fb3b6efabc2e6ecd7d396ed48db5174413d22a9d0151a');\nhashMap.set('pyenv','4e520570d9a1407864aa7c5461d4008372d889254067e405cee2212d0ef8990b');\nhashMap.set('ruby-version','4aac2178a20ccdf8136363030e5156017f3d44368b4192b3280997df596dcacc');\nhashMap.set('runtime-version','dbf80ce2a5f07dd34bc9a008159b4f08052cc6fd0d92cbd2aeb0026c8008fa72');\nhashMap.set('sbt','dcd60611842324b243e8e1bad6632fbb1ad15fd676aa30d6111ad5fe70ee91f7');\nhashMap.set('scalafmt','06ab7baa0f0dc355ca9bb583c4a584236ff69ebfd973b7f87a6bce78a27ee2ba');\nhashMap.set('setup-cfg','45f800c959f0de7a157a441ab0e3b0f411fd5a71cbbceb5e77376b5e942e9f66');\nhashMap.set('sveltos','a69f9e206526af08685e20a72344b22d856f2effd882e67333a153a989a0a047');\nhashMap.set('swift','d5441be03d2c0f411ef644531d612bad90ae27713f6614b99318650841a93b06');\nhashMap.set('tekton','fd8b0a460c87a874f956eb6adfee5f47f41316d3869fe27348e7a296d7165402');\nhashMap.set('terraform','93103fa260bcb190cecb56b8d2639dce79834c283c62fc2849a882d7b2c02739');\nhashMap.set('terraform-version','b08480f326c45daf3daeccc2d2f593a723c30a50437a66ac2290d671b427a355');\nhashMap.set('terragrunt','d47d1ef185a73ee0db84f7edb2e3a37fd864ead8c6585ee1549cee55682d2290');\nhashMap.set('terragrunt-version','45f221b13a193a42687f318e10cf1558079e28c970e91ce25c370f35f88f2f58');\nhashMap.set('tflint-plugin','a8824605492cb545b8026e00ec5bdc3ed3e58e26e4c1db7574963367d64dc980');\nhashMap.set('travis','9fe82aefc535e9cd87e22fea271dba4a1c67252cf1ad0805a3c0bad5b5940922');\nhashMap.set('velaci','19f265237b1bda5d28c54133e2cd3259181ffa6c5af544c1240f9a8635ec5718');\nhashMap.set('vendir','26e96eb75ddbdaa7a801d98fde4e9420c25621a70179713582708f4813f2bb2f');\nhashMap.set('woodpecker','9bcc581026e2797b2d6dd9060b4384f7352aa38bb12247445ff36ec271dfa6da');\nhashMap.set('jsonata','e84ff3f384269e091ef0ee6bcfbddc483a7b35a47ba2b0bd4a7ca2d842c87788');\nhashMap.set('regex','07b23772ed639fc4ff4dc6e6a9afac613eebf3b02d973bf2aec9b5af85c0f427');"]}
@@ -1,7 +1,7 @@
1
1
  import type { FluxResource } from './schema';
2
- export type FluxManagerData = {
3
- components: string;
4
- };
2
+ export interface FluxManagerData {
3
+ components?: string;
4
+ }
5
5
  export interface FluxFile {
6
6
  file: string;
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../lib/modules/manager/flux/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { FluxResource } from './schema';\n\nexport type FluxManagerData = {\n components: string;\n};\n\nexport interface FluxFile {\n file: string;\n}\n\nexport interface ResourceFluxManifest extends FluxFile {\n kind: 'resource';\n resources: FluxResource[];\n}\n\nexport interface SystemFluxManifest extends FluxFile {\n kind: 'system';\n version: string;\n components: string;\n}\n\nexport type FluxManifest = ResourceFluxManifest | SystemFluxManifest;\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../lib/modules/manager/flux/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { FluxResource } from './schema';\n\nexport interface FluxManagerData {\n components?: string;\n}\n\nexport interface FluxFile {\n file: string;\n}\n\nexport interface ResourceFluxManifest extends FluxFile {\n kind: 'resource';\n resources: FluxResource[];\n}\n\nexport interface SystemFluxManifest extends FluxFile {\n kind: 'system';\n version: string;\n components: string;\n}\n\nexport type FluxManifest = ResourceFluxManifest | SystemFluxManifest;\n"]}
@@ -1,4 +1,4 @@
1
- export type GitModule = {
1
+ export interface GitModule {
2
2
  name: string;
3
3
  path: string;
4
- };
4
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../lib/modules/manager/git-submodules/types.ts"],"names":[],"mappings":"","sourcesContent":["export type GitModule = {\n name: string;\n path: string;\n};\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../lib/modules/manager/git-submodules/types.ts"],"names":[],"mappings":"","sourcesContent":["export interface GitModule {\n name: string;\n path: string;\n}\n"]}
@@ -55,10 +55,10 @@ function extractWithRegex(content, config) {
55
55
  if (tagMatch?.groups) {
56
56
  const { depName, packageName, currentValue, path = '', tag, replaceString, registryUrl = '', commentWhiteSpaces = ' ', } = tagMatch.groups;
57
57
  let quotes = '';
58
- if (replaceString.indexOf("'") >= 0) {
58
+ if (replaceString.includes("'")) {
59
59
  quotes = "'";
60
60
  }
61
- if (replaceString.indexOf('"') >= 0) {
61
+ if (replaceString.includes('"')) {
62
62
  quotes = '"';
63
63
  }
64
64
  const dep = {
@@ -1 +1 @@
1
- {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/github-actions/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { GlobalConfig } from '../../../config/global';\nimport { logger } from '../../../logger';\nimport { isNotNullOrUndefined } from '../../../util/array';\nimport { detectPlatform } from '../../../util/common';\nimport { newlineRegex, regEx } from '../../../util/regex';\nimport { parseSingleYaml } from '../../../util/yaml';\nimport { GiteaTagsDatasource } from '../../datasource/gitea-tags';\nimport { GithubRunnersDatasource } from '../../datasource/github-runners';\nimport { GithubTagsDatasource } from '../../datasource/github-tags';\nimport * as dockerVersioning from '../../versioning/docker';\nimport { getDep } from '../dockerfile/extract';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFileContent,\n} from '../types';\nimport type { Workflow } from './types';\n\nconst dockerActionRe = regEx(/^\\s+uses\\s*: ['\"]?docker:\\/\\/([^'\"]+)\\s*$/);\nconst actionRe = regEx(\n /^\\s+-?\\s+?uses\\s*: (?<replaceString>['\"]?(?<depName>(?<registryUrl>https:\\/\\/[.\\w-]+\\/)?(?<packageName>[\\w-]+\\/[.\\w-]+))(?<path>\\/.*)?@(?<currentValue>[^\\s'\"]+)['\"]?(?:(?<commentWhiteSpaces>\\s+)#\\s*(((?:renovate\\s*:\\s*)?(?:pin\\s+|tag\\s*=\\s*)?|(?:ratchet:[\\w-]+\\/[.\\w-]+)?)@?(?<tag>([\\w-]*-)?v?\\d+(?:\\.\\d+(?:\\.\\d+)?)?)|(?:ratchet:exclude)))?)/,\n);\n\n// SHA1 or SHA256, see https://github.blog/2020-10-19-git-2-29-released/\nconst shaRe = regEx(/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/);\nconst shaShortRe = regEx(/^[a-f0-9]{6,7}$/);\n\n// detects if we run against a Github Enterprise Server and adds the URL to the beginning of the registryURLs for looking up Actions\n// This reflects the behavior of how GitHub looks up Actions\n// First on the Enterprise Server, then on GitHub.com\nfunction detectCustomGitHubRegistryUrlsForActions(): PackageDependency {\n const endpoint = GlobalConfig.get('endpoint');\n const registryUrls = ['https://github.com'];\n if (endpoint && GlobalConfig.get('platform') === 'github') {\n const parsedEndpoint = new URL(endpoint);\n\n if (\n parsedEndpoint.host !== 'github.com' &&\n parsedEndpoint.host !== 'api.github.com'\n ) {\n registryUrls.unshift(\n `${parsedEndpoint.protocol}//${parsedEndpoint.host}`,\n );\n return { registryUrls };\n }\n }\n return {};\n}\n\nfunction extractWithRegex(\n content: string,\n config: ExtractConfig,\n): PackageDependency[] {\n const customRegistryUrlsPackageDependency =\n detectCustomGitHubRegistryUrlsForActions();\n logger.trace('github-actions.extractWithRegex()');\n const deps: PackageDependency[] = [];\n for (const line of content.split(newlineRegex)) {\n if (line.trim().startsWith('#')) {\n continue;\n }\n\n const dockerMatch = dockerActionRe.exec(line);\n if (dockerMatch) {\n const [, currentFrom] = dockerMatch;\n const dep = getDep(currentFrom, true, config.registryAliases);\n dep.depType = 'docker';\n deps.push(dep);\n continue;\n }\n\n const tagMatch = actionRe.exec(line);\n if (tagMatch?.groups) {\n const {\n depName,\n packageName,\n currentValue,\n path = '',\n tag,\n replaceString,\n registryUrl = '',\n commentWhiteSpaces = ' ',\n } = tagMatch.groups;\n let quotes = '';\n if (replaceString.indexOf(\"'\") >= 0) {\n quotes = \"'\";\n }\n if (replaceString.indexOf('\"') >= 0) {\n quotes = '\"';\n }\n const dep: PackageDependency = {\n depName,\n ...(packageName !== depName && { packageName }),\n commitMessageTopic: '{{{depName}}} action',\n datasource: GithubTagsDatasource.id,\n versioning: dockerVersioning.id,\n depType: 'action',\n replaceString,\n autoReplaceStringTemplate: `${quotes}{{depName}}${path}@{{#if newDigest}}{{newDigest}}${quotes}{{#if newValue}}${commentWhiteSpaces}# {{newValue}}{{/if}}{{/if}}{{#unless newDigest}}{{newValue}}${quotes}{{/unless}}`,\n ...(registryUrl\n ? detectDatasource(registryUrl)\n : customRegistryUrlsPackageDependency),\n };\n if (shaRe.test(currentValue)) {\n dep.currentValue = tag;\n dep.currentDigest = currentValue;\n } else if (shaShortRe.test(currentValue)) {\n dep.currentValue = tag;\n dep.currentDigestShort = currentValue;\n } else {\n dep.currentValue = currentValue;\n }\n deps.push(dep);\n }\n }\n return deps;\n}\n\nfunction detectDatasource(registryUrl: string): PackageDependency {\n const platform = detectPlatform(registryUrl);\n\n switch (platform) {\n case 'github':\n return { registryUrls: [registryUrl] };\n case 'gitea':\n return {\n registryUrls: [registryUrl],\n datasource: GiteaTagsDatasource.id,\n };\n }\n\n return {\n skipReason: 'unsupported-url',\n };\n}\n\nfunction extractContainer(\n container: unknown,\n registryAliases: Record<string, string> | undefined,\n): PackageDependency | undefined {\n if (is.string(container)) {\n return getDep(container, true, registryAliases);\n } else if (is.plainObject(container) && is.string(container.image)) {\n return getDep(container.image, true, registryAliases);\n }\n return undefined;\n}\n\nconst runnerVersionRegex = regEx(\n /^\\s*(?<depName>[a-zA-Z]+)-(?<currentValue>[^\\s]+)/,\n);\n\nfunction extractRunner(runner: string): PackageDependency | null {\n const runnerVersionGroups = runnerVersionRegex.exec(runner)?.groups;\n if (!runnerVersionGroups) {\n return null;\n }\n\n const { depName, currentValue } = runnerVersionGroups;\n\n if (!GithubRunnersDatasource.isValidRunner(depName, currentValue)) {\n return null;\n }\n\n const dependency: PackageDependency = {\n depName,\n currentValue,\n replaceString: `${depName}-${currentValue}`,\n depType: 'github-runner',\n datasource: GithubRunnersDatasource.id,\n autoReplaceStringTemplate: '{{depName}}-{{newValue}}',\n };\n\n if (!dockerVersioning.api.isValid(currentValue)) {\n dependency.skipReason = 'invalid-version';\n }\n\n return dependency;\n}\n\nfunction extractRunners(runner: unknown): PackageDependency[] {\n const runners: string[] = [];\n if (is.string(runner)) {\n runners.push(runner);\n } else if (is.array(runner, is.string)) {\n runners.push(...runner);\n }\n\n return runners.map(extractRunner).filter(isNotNullOrUndefined);\n}\n\nfunction extractWithYAMLParser(\n content: string,\n packageFile: string,\n config: ExtractConfig,\n): PackageDependency[] {\n logger.trace('github-actions.extractWithYAMLParser()');\n const deps: PackageDependency[] = [];\n\n let pkg: Workflow;\n try {\n // TODO: use schema (#9610)\n pkg = parseSingleYaml(content);\n } catch (err) {\n logger.debug(\n { packageFile, err },\n 'Failed to parse GitHub Actions Workflow YAML',\n );\n return [];\n }\n\n for (const job of Object.values(pkg?.jobs ?? {})) {\n const dep = extractContainer(job?.container, config.registryAliases);\n if (dep) {\n dep.depType = 'container';\n deps.push(dep);\n }\n\n for (const service of Object.values(job?.services ?? {})) {\n const dep = extractContainer(service, config.registryAliases);\n if (dep) {\n dep.depType = 'service';\n deps.push(dep);\n }\n }\n\n deps.push(...extractRunners(job?.['runs-on']));\n }\n\n return deps;\n}\n\nexport function extractPackageFile(\n content: string,\n packageFile: string,\n config: ExtractConfig = {}, // TODO: enforce ExtractConfig\n): PackageFileContent | null {\n logger.trace(`github-actions.extractPackageFile(${packageFile})`);\n const deps = [\n ...extractWithRegex(content, config),\n ...extractWithYAMLParser(content, packageFile, config),\n ];\n if (!deps.length) {\n return null;\n }\n return { deps };\n}\n"]}
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/github-actions/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { GlobalConfig } from '../../../config/global';\nimport { logger } from '../../../logger';\nimport { isNotNullOrUndefined } from '../../../util/array';\nimport { detectPlatform } from '../../../util/common';\nimport { newlineRegex, regEx } from '../../../util/regex';\nimport { parseSingleYaml } from '../../../util/yaml';\nimport { GiteaTagsDatasource } from '../../datasource/gitea-tags';\nimport { GithubRunnersDatasource } from '../../datasource/github-runners';\nimport { GithubTagsDatasource } from '../../datasource/github-tags';\nimport * as dockerVersioning from '../../versioning/docker';\nimport { getDep } from '../dockerfile/extract';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFileContent,\n} from '../types';\nimport type { Workflow } from './types';\n\nconst dockerActionRe = regEx(/^\\s+uses\\s*: ['\"]?docker:\\/\\/([^'\"]+)\\s*$/);\nconst actionRe = regEx(\n /^\\s+-?\\s+?uses\\s*: (?<replaceString>['\"]?(?<depName>(?<registryUrl>https:\\/\\/[.\\w-]+\\/)?(?<packageName>[\\w-]+\\/[.\\w-]+))(?<path>\\/.*)?@(?<currentValue>[^\\s'\"]+)['\"]?(?:(?<commentWhiteSpaces>\\s+)#\\s*(((?:renovate\\s*:\\s*)?(?:pin\\s+|tag\\s*=\\s*)?|(?:ratchet:[\\w-]+\\/[.\\w-]+)?)@?(?<tag>([\\w-]*-)?v?\\d+(?:\\.\\d+(?:\\.\\d+)?)?)|(?:ratchet:exclude)))?)/,\n);\n\n// SHA1 or SHA256, see https://github.blog/2020-10-19-git-2-29-released/\nconst shaRe = regEx(/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/);\nconst shaShortRe = regEx(/^[a-f0-9]{6,7}$/);\n\n// detects if we run against a Github Enterprise Server and adds the URL to the beginning of the registryURLs for looking up Actions\n// This reflects the behavior of how GitHub looks up Actions\n// First on the Enterprise Server, then on GitHub.com\nfunction detectCustomGitHubRegistryUrlsForActions(): PackageDependency {\n const endpoint = GlobalConfig.get('endpoint');\n const registryUrls = ['https://github.com'];\n if (endpoint && GlobalConfig.get('platform') === 'github') {\n const parsedEndpoint = new URL(endpoint);\n\n if (\n parsedEndpoint.host !== 'github.com' &&\n parsedEndpoint.host !== 'api.github.com'\n ) {\n registryUrls.unshift(\n `${parsedEndpoint.protocol}//${parsedEndpoint.host}`,\n );\n return { registryUrls };\n }\n }\n return {};\n}\n\nfunction extractWithRegex(\n content: string,\n config: ExtractConfig,\n): PackageDependency[] {\n const customRegistryUrlsPackageDependency =\n detectCustomGitHubRegistryUrlsForActions();\n logger.trace('github-actions.extractWithRegex()');\n const deps: PackageDependency[] = [];\n for (const line of content.split(newlineRegex)) {\n if (line.trim().startsWith('#')) {\n continue;\n }\n\n const dockerMatch = dockerActionRe.exec(line);\n if (dockerMatch) {\n const [, currentFrom] = dockerMatch;\n const dep = getDep(currentFrom, true, config.registryAliases);\n dep.depType = 'docker';\n deps.push(dep);\n continue;\n }\n\n const tagMatch = actionRe.exec(line);\n if (tagMatch?.groups) {\n const {\n depName,\n packageName,\n currentValue,\n path = '',\n tag,\n replaceString,\n registryUrl = '',\n commentWhiteSpaces = ' ',\n } = tagMatch.groups;\n let quotes = '';\n if (replaceString.includes(\"'\")) {\n quotes = \"'\";\n }\n if (replaceString.includes('\"')) {\n quotes = '\"';\n }\n const dep: PackageDependency = {\n depName,\n ...(packageName !== depName && { packageName }),\n commitMessageTopic: '{{{depName}}} action',\n datasource: GithubTagsDatasource.id,\n versioning: dockerVersioning.id,\n depType: 'action',\n replaceString,\n autoReplaceStringTemplate: `${quotes}{{depName}}${path}@{{#if newDigest}}{{newDigest}}${quotes}{{#if newValue}}${commentWhiteSpaces}# {{newValue}}{{/if}}{{/if}}{{#unless newDigest}}{{newValue}}${quotes}{{/unless}}`,\n ...(registryUrl\n ? detectDatasource(registryUrl)\n : customRegistryUrlsPackageDependency),\n };\n if (shaRe.test(currentValue)) {\n dep.currentValue = tag;\n dep.currentDigest = currentValue;\n } else if (shaShortRe.test(currentValue)) {\n dep.currentValue = tag;\n dep.currentDigestShort = currentValue;\n } else {\n dep.currentValue = currentValue;\n }\n deps.push(dep);\n }\n }\n return deps;\n}\n\nfunction detectDatasource(registryUrl: string): PackageDependency {\n const platform = detectPlatform(registryUrl);\n\n switch (platform) {\n case 'github':\n return { registryUrls: [registryUrl] };\n case 'gitea':\n return {\n registryUrls: [registryUrl],\n datasource: GiteaTagsDatasource.id,\n };\n }\n\n return {\n skipReason: 'unsupported-url',\n };\n}\n\nfunction extractContainer(\n container: unknown,\n registryAliases: Record<string, string> | undefined,\n): PackageDependency | undefined {\n if (is.string(container)) {\n return getDep(container, true, registryAliases);\n } else if (is.plainObject(container) && is.string(container.image)) {\n return getDep(container.image, true, registryAliases);\n }\n return undefined;\n}\n\nconst runnerVersionRegex = regEx(\n /^\\s*(?<depName>[a-zA-Z]+)-(?<currentValue>[^\\s]+)/,\n);\n\nfunction extractRunner(runner: string): PackageDependency | null {\n const runnerVersionGroups = runnerVersionRegex.exec(runner)?.groups;\n if (!runnerVersionGroups) {\n return null;\n }\n\n const { depName, currentValue } = runnerVersionGroups;\n\n if (!GithubRunnersDatasource.isValidRunner(depName, currentValue)) {\n return null;\n }\n\n const dependency: PackageDependency = {\n depName,\n currentValue,\n replaceString: `${depName}-${currentValue}`,\n depType: 'github-runner',\n datasource: GithubRunnersDatasource.id,\n autoReplaceStringTemplate: '{{depName}}-{{newValue}}',\n };\n\n if (!dockerVersioning.api.isValid(currentValue)) {\n dependency.skipReason = 'invalid-version';\n }\n\n return dependency;\n}\n\nfunction extractRunners(runner: unknown): PackageDependency[] {\n const runners: string[] = [];\n if (is.string(runner)) {\n runners.push(runner);\n } else if (is.array(runner, is.string)) {\n runners.push(...runner);\n }\n\n return runners.map(extractRunner).filter(isNotNullOrUndefined);\n}\n\nfunction extractWithYAMLParser(\n content: string,\n packageFile: string,\n config: ExtractConfig,\n): PackageDependency[] {\n logger.trace('github-actions.extractWithYAMLParser()');\n const deps: PackageDependency[] = [];\n\n let pkg: Workflow;\n try {\n // TODO: use schema (#9610)\n pkg = parseSingleYaml(content);\n } catch (err) {\n logger.debug(\n { packageFile, err },\n 'Failed to parse GitHub Actions Workflow YAML',\n );\n return [];\n }\n\n for (const job of Object.values(pkg?.jobs ?? {})) {\n const dep = extractContainer(job?.container, config.registryAliases);\n if (dep) {\n dep.depType = 'container';\n deps.push(dep);\n }\n\n for (const service of Object.values(job?.services ?? {})) {\n const dep = extractContainer(service, config.registryAliases);\n if (dep) {\n dep.depType = 'service';\n deps.push(dep);\n }\n }\n\n deps.push(...extractRunners(job?.['runs-on']));\n }\n\n return deps;\n}\n\nexport function extractPackageFile(\n content: string,\n packageFile: string,\n config: ExtractConfig = {}, // TODO: enforce ExtractConfig\n): PackageFileContent | null {\n logger.trace(`github-actions.extractPackageFile(${packageFile})`);\n const deps = [\n ...extractWithRegex(content, config),\n ...extractWithYAMLParser(content, packageFile, config),\n ];\n if (!deps.length) {\n return null;\n }\n return { deps };\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import type { Package, PackageRepository } from './schema';
2
- export type GlasskubeResources = {
2
+ export interface GlasskubeResources {
3
3
  packageFile: string;
4
4
  packages: Package[];
5
5
  repositories: PackageRepository[];
6
- };
6
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../lib/modules/manager/glasskube/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Package, PackageRepository } from './schema';\n\nexport type GlasskubeResources = {\n packageFile: string;\n packages: Package[];\n repositories: PackageRepository[];\n};\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../lib/modules/manager/glasskube/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Package, PackageRepository } from './schema';\n\nexport interface GlasskubeResources {\n packageFile: string;\n packages: Package[];\n repositories: PackageRepository[];\n}\n"]}
@@ -10,7 +10,7 @@ const fs_1 = require("../../../util/fs");
10
10
  async function updateArtifacts(updateArtifact) {
11
11
  const { packageFileName, updatedDeps, newPackageFileContent, config } = updateArtifact;
12
12
  logger_1.logger.debug(`gleam.updateArtifacts(${packageFileName})`);
13
- const isLockFileMaintenance = config.updateType === 'lockFileMaintenance';
13
+ const { isLockFileMaintenance } = config;
14
14
  if (is_1.default.emptyArray(updatedDeps) && !isLockFileMaintenance) {
15
15
  logger_1.logger.debug('No updated gleam deps - returning null');
16
16
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/gleam/artifacts.ts"],"names":[],"mappings":";;AAaA,0CA6EC;;AA1FD,kEAAkC;AAClC,sEAAoE;AACpE,4CAAyC;AACzC,6CAA0C;AAE1C,yCAK0B;AAGnB,KAAK,UAAU,eAAe,CACnC,cAA8B;IAE9B,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,EAAE,GACnE,cAAc,CAAC;IACjB,eAAM,CAAC,KAAK,CAAC,yBAAyB,eAAe,GAAG,CAAC,CAAC;IAC1D,MAAM,qBAAqB,GAAG,MAAM,CAAC,UAAU,KAAK,qBAAqB,CAAC;IAE1E,IAAI,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACzD,eAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAG,IAAA,uBAAkB,EAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAE1E,MAAM,kBAAkB,GAAG,MAAM,IAAA,kBAAa,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACrE,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,eAAM,CAAC,KAAK,CAAC,MAAM,YAAY,QAAQ,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAA,mBAAc,EAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC;QAC7D,IAAI,qBAAqB,EAAE,CAAC;YAC1B,MAAM,IAAA,oBAAe,EAAC,YAAY,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,WAAW,GAAgB;YAC/B,OAAO,EAAE,eAAe;YACxB,MAAM,EAAE,EAAE;YACV,eAAe,EAAE;gBACf;oBACE,QAAQ,EAAE,OAAO;oBACjB,UAAU,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK;iBACtC;aACF;SACF,CAAC;QAEF,8DAA8D;QAC9D,MAAM,gBAAgB,GAAG,qBAAqB;YAC5C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAE,CAAC,MAAM,CAAC,CAAC;QAE5D,MAAM,aAAa,GAAG,CAAC,mBAAmB,EAAE,GAAG,gBAAgB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3E,MAAM,IAAA,WAAI,EAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QACvC,MAAM,kBAAkB,GAAG,MAAM,IAAA,kBAAa,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACrE,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,eAAM,CAAC,KAAK,CAAC,MAAM,YAAY,QAAQ,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,kBAAkB,KAAK,kBAAkB,EAAE,CAAC;YAC9C,eAAM,CAAC,KAAK,CAAC,iBAAiB,YAAY,UAAU,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO;YACL;gBACE,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,YAAY;oBAClB,QAAQ,EAAE,kBAAkB;iBAC7B;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,CAAC,OAAO,KAAK,gCAAe,EAAE,CAAC;YACpC,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,eAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,4BAA4B,CAAC,CAAC;QAC3E,OAAO;YACL;gBACE,aAAa,EAAE;oBACb,QAAQ,EAAE,YAAY;oBACtB,MAAM,EAAE,GAAG,CAAC,OAAO;iBACpB;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions } from '../../../util/exec/types';\nimport {\n deleteLocalFile,\n getSiblingFileName,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\n\nexport async function updateArtifacts(\n updateArtifact: UpdateArtifact,\n): Promise<UpdateArtifactsResult[] | null> {\n const { packageFileName, updatedDeps, newPackageFileContent, config } =\n updateArtifact;\n logger.debug(`gleam.updateArtifacts(${packageFileName})`);\n const isLockFileMaintenance = config.updateType === 'lockFileMaintenance';\n\n if (is.emptyArray(updatedDeps) && !isLockFileMaintenance) {\n logger.debug('No updated gleam deps - returning null');\n return null;\n }\n\n const lockFileName = getSiblingFileName(packageFileName, 'manifest.toml');\n\n const oldLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!oldLockFileContent) {\n logger.debug(`No ${lockFileName} found`);\n return null;\n }\n\n try {\n await writeLocalFile(packageFileName, newPackageFileContent);\n if (isLockFileMaintenance) {\n await deleteLocalFile(lockFileName);\n }\n\n const execOptions: ExecOptions = {\n cwdFile: packageFileName,\n docker: {},\n toolConstraints: [\n {\n toolName: 'gleam',\n constraint: config.constraints?.gleam,\n },\n ],\n };\n\n // `gleam deps update` with no packages rebuilds the lock file\n const packagesToUpdate = isLockFileMaintenance\n ? []\n : updatedDeps.map((dep) => dep.depName).filter(is.string);\n\n const updateCommand = ['gleam deps update', ...packagesToUpdate].join(' ');\n await exec(updateCommand, execOptions);\n const newLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!newLockFileContent) {\n logger.debug(`No ${lockFileName} found`);\n return null;\n }\n if (oldLockFileContent === newLockFileContent) {\n logger.debug(`No changes in ${lockFileName} content`);\n return null;\n }\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 logger.warn({ lockfile: lockFileName, err }, `Failed to update lock file`);\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: err.message,\n },\n },\n ];\n }\n}\n"]}
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/gleam/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions } from '../../../util/exec/types';\nimport {\n deleteLocalFile,\n getSiblingFileName,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\n\nexport async function updateArtifacts(\n updateArtifact: UpdateArtifact,\n): Promise<UpdateArtifactsResult[] | null> {\n const { packageFileName, updatedDeps, newPackageFileContent, config } =\n updateArtifact;\n logger.debug(`gleam.updateArtifacts(${packageFileName})`);\n const { isLockFileMaintenance } = config;\n\n if (is.emptyArray(updatedDeps) && !isLockFileMaintenance) {\n logger.debug('No updated gleam deps - returning null');\n return null;\n }\n\n const lockFileName = getSiblingFileName(packageFileName, 'manifest.toml');\n\n const oldLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!oldLockFileContent) {\n logger.debug(`No ${lockFileName} found`);\n return null;\n }\n\n try {\n await writeLocalFile(packageFileName, newPackageFileContent);\n if (isLockFileMaintenance) {\n await deleteLocalFile(lockFileName);\n }\n\n const execOptions: ExecOptions = {\n cwdFile: packageFileName,\n docker: {},\n toolConstraints: [\n {\n toolName: 'gleam',\n constraint: config.constraints?.gleam,\n },\n ],\n };\n\n // `gleam deps update` with no packages rebuilds the lock file\n const packagesToUpdate = isLockFileMaintenance\n ? []\n : updatedDeps.map((dep) => dep.depName).filter(is.string);\n\n const updateCommand = ['gleam deps update', ...packagesToUpdate].join(' ');\n await exec(updateCommand, execOptions);\n const newLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!newLockFileContent) {\n logger.debug(`No ${lockFileName} found`);\n return null;\n }\n if (oldLockFileContent === newLockFileContent) {\n logger.debug(`No changes in ${lockFileName} content`);\n return null;\n }\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 logger.warn({ lockfile: lockFileName, err }, `Failed to update lock file`);\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: err.message,\n },\n },\n ];\n }\n}\n"]}
@@ -16,18 +16,22 @@ exports.updateVars = updateVars;
16
16
  const tslib_1 = require("tslib");
17
17
  const upath_1 = tslib_1.__importDefault(require("upath"));
18
18
  const regex_1 = require("../../../util/regex");
19
+ const gradle_1 = require("../../versioning/gradle");
19
20
  const artifactRegex = (0, regex_1.regEx)('^[a-zA-Z][-_a-zA-Z0-9]*(?:\\.[a-zA-Z0-9][-_a-zA-Z0-9]*?)*$');
20
- const versionLikeRegex = (0, regex_1.regEx)('^(?<version>[-_.\\[\\](),a-zA-Z0-9+]+)');
21
+ const versionLikeRegex = (0, regex_1.regEx)('^(?<version>[-_.\\[\\](),a-zA-Z0-9+ ]+)');
21
22
  // Extracts version-like and range-like strings from the beginning of input
22
23
  function versionLikeSubstring(input) {
23
24
  if (!input) {
24
25
  return null;
25
26
  }
26
27
  const match = versionLikeRegex.exec(input);
27
- const version = match?.groups?.version;
28
+ const version = match?.groups?.version?.trim();
28
29
  if (!version || !(0, regex_1.regEx)(/\d/).test(version)) {
29
30
  return null;
30
31
  }
32
+ if (!gradle_1.api.isValid(version)) {
33
+ return null;
34
+ }
31
35
  return version;
32
36
  }
33
37
  function isDependencyString(input) {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../lib/modules/manager/gradle/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import upath from 'upath';\nimport { regEx } from '../../../util/regex';\nimport type { PackageDependency } from '../types';\nimport type {\n GradleManagerData,\n PackageVariables,\n VariableRegistry,\n} from './types';\n\nconst artifactRegex = regEx(\n '^[a-zA-Z][-_a-zA-Z0-9]*(?:\\\\.[a-zA-Z0-9][-_a-zA-Z0-9]*?)*$',\n);\n\nconst versionLikeRegex = regEx('^(?<version>[-_.\\\\[\\\\](),a-zA-Z0-9+]+)');\n\n// Extracts version-like and range-like strings from the beginning of input\nexport function versionLikeSubstring(\n input: string | null | undefined,\n): string | null {\n if (!input) {\n return null;\n }\n\n const match = versionLikeRegex.exec(input);\n const version = match?.groups?.version;\n if (!version || !regEx(/\\d/).test(version)) {\n return null;\n }\n\n return version;\n}\n\nexport function isDependencyString(input: string): boolean {\n const parts = input.split(':');\n if (parts.length !== 3 && parts.length !== 4) {\n return false;\n }\n const [groupId, artifactId, versionPart, optionalClassifier] = parts;\n\n if (optionalClassifier && !artifactRegex.test(optionalClassifier)) {\n return false;\n }\n\n let version = versionPart;\n if (versionPart.includes('@')) {\n const [actualVersion, ...rest] = versionPart.split('@');\n if (rest.length !== 1) {\n return false;\n }\n version = actualVersion;\n }\n\n return !!(\n groupId &&\n artifactId &&\n version &&\n artifactRegex.test(groupId) &&\n artifactRegex.test(artifactId) &&\n version === versionLikeSubstring(version)\n );\n}\n\nexport function parseDependencyString(\n input: string,\n): PackageDependency<GradleManagerData> | null {\n if (!isDependencyString(input)) {\n return null;\n }\n\n const [groupId, artifactId, fullValue] = input.split(':');\n const [currentValue, dataType] = fullValue.split('@');\n\n return {\n depName: `${groupId}:${artifactId}`,\n currentValue,\n ...(dataType && { dataType }),\n };\n}\n\nconst gradleVersionsFileRegex = regEx('^versions\\\\.gradle(?:\\\\.kts)?$', 'i');\nconst gradleBuildFileRegex = regEx('^build\\\\.gradle(?:\\\\.kts)?$', 'i');\n\nexport function isGradleScriptFile(path: string): boolean {\n const filename = upath.basename(path).toLowerCase();\n return filename.endsWith('.gradle.kts') || filename.endsWith('.gradle');\n}\n\nexport function isGradleVersionsFile(path: string): boolean {\n const filename = upath.basename(path);\n return gradleVersionsFileRegex.test(filename);\n}\n\nexport function isGradleBuildFile(path: string): boolean {\n const filename = upath.basename(path);\n return gradleBuildFileRegex.test(filename);\n}\n\nexport function isPropsFile(path: string): boolean {\n const filename = upath.basename(path).toLowerCase();\n return filename === 'gradle.properties';\n}\n\nexport function isKotlinSourceFile(path: string): boolean {\n const filename = upath.basename(path).toLowerCase();\n return filename.endsWith('.kt');\n}\n\nexport function isTOMLFile(path: string): boolean {\n const filename = upath.basename(path).toLowerCase();\n return filename.endsWith('.toml');\n}\n\nexport function toAbsolutePath(packageFile: string): string {\n return upath.join(packageFile.replace(regEx(/^[/\\\\]*/), '/'));\n}\n\nfunction getFileRank(filename: string): number {\n if (isPropsFile(filename)) {\n return 0;\n }\n if (isGradleVersionsFile(filename)) {\n return 1;\n }\n if (isGradleBuildFile(filename)) {\n return 3;\n }\n return 2;\n}\n\nexport function reorderFiles(packageFiles: string[]): string[] {\n return packageFiles.sort((x, y) => {\n const xAbs = toAbsolutePath(x);\n const yAbs = toAbsolutePath(y);\n\n const xDir = upath.dirname(xAbs);\n const yDir = upath.dirname(yAbs);\n\n if (xDir === yDir) {\n const xRank = getFileRank(xAbs);\n const yRank = getFileRank(yAbs);\n if (xRank === yRank) {\n if (xAbs > yAbs) {\n return 1;\n }\n if (xAbs < yAbs) {\n return -1;\n }\n } else if (xRank > yRank) {\n return 1;\n } else if (yRank > xRank) {\n return -1;\n }\n } else if (xDir.startsWith(yDir)) {\n return 1;\n } else if (yDir.startsWith(xDir)) {\n return -1;\n }\n\n return 0;\n });\n}\n\nexport function getVars(\n registry: VariableRegistry,\n dir: string,\n vars: PackageVariables = registry[dir] || {},\n): PackageVariables {\n const dirAbs = toAbsolutePath(dir);\n const parentDir = upath.dirname(dirAbs);\n if (parentDir === dirAbs) {\n return vars;\n }\n const parentVars = registry[parentDir] || {};\n return getVars(registry, parentDir, { ...parentVars, ...vars });\n}\n\nexport function updateVars(\n registry: VariableRegistry,\n dir: string,\n newVars: PackageVariables,\n): void {\n const oldVars = registry[dir] ?? {};\n registry[dir] = { ...oldVars, ...newVars };\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../lib/modules/manager/gradle/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import upath from 'upath';\nimport { regEx } from '../../../util/regex';\nimport { api as gradleVersioning } from '../../versioning/gradle';\nimport type { PackageDependency } from '../types';\nimport type {\n GradleManagerData,\n PackageVariables,\n VariableRegistry,\n} from './types';\n\nconst artifactRegex = regEx(\n '^[a-zA-Z][-_a-zA-Z0-9]*(?:\\\\.[a-zA-Z0-9][-_a-zA-Z0-9]*?)*$',\n);\n\nconst versionLikeRegex = regEx('^(?<version>[-_.\\\\[\\\\](),a-zA-Z0-9+ ]+)');\n\n// Extracts version-like and range-like strings from the beginning of input\nexport function versionLikeSubstring(\n input: string | null | undefined,\n): string | null {\n if (!input) {\n return null;\n }\n\n const match = versionLikeRegex.exec(input);\n const version = match?.groups?.version?.trim();\n if (!version || !regEx(/\\d/).test(version)) {\n return null;\n }\n\n if (!gradleVersioning.isValid(version)) {\n return null;\n }\n\n return version;\n}\n\nexport function isDependencyString(input: string): boolean {\n const parts = input.split(':');\n if (parts.length !== 3 && parts.length !== 4) {\n return false;\n }\n const [groupId, artifactId, versionPart, optionalClassifier] = parts;\n\n if (optionalClassifier && !artifactRegex.test(optionalClassifier)) {\n return false;\n }\n\n let version = versionPart;\n if (versionPart.includes('@')) {\n const [actualVersion, ...rest] = versionPart.split('@');\n if (rest.length !== 1) {\n return false;\n }\n version = actualVersion;\n }\n\n return !!(\n groupId &&\n artifactId &&\n version &&\n artifactRegex.test(groupId) &&\n artifactRegex.test(artifactId) &&\n version === versionLikeSubstring(version)\n );\n}\n\nexport function parseDependencyString(\n input: string,\n): PackageDependency<GradleManagerData> | null {\n if (!isDependencyString(input)) {\n return null;\n }\n\n const [groupId, artifactId, fullValue] = input.split(':');\n const [currentValue, dataType] = fullValue.split('@');\n\n return {\n depName: `${groupId}:${artifactId}`,\n currentValue,\n ...(dataType && { dataType }),\n };\n}\n\nconst gradleVersionsFileRegex = regEx('^versions\\\\.gradle(?:\\\\.kts)?$', 'i');\nconst gradleBuildFileRegex = regEx('^build\\\\.gradle(?:\\\\.kts)?$', 'i');\n\nexport function isGradleScriptFile(path: string): boolean {\n const filename = upath.basename(path).toLowerCase();\n return filename.endsWith('.gradle.kts') || filename.endsWith('.gradle');\n}\n\nexport function isGradleVersionsFile(path: string): boolean {\n const filename = upath.basename(path);\n return gradleVersionsFileRegex.test(filename);\n}\n\nexport function isGradleBuildFile(path: string): boolean {\n const filename = upath.basename(path);\n return gradleBuildFileRegex.test(filename);\n}\n\nexport function isPropsFile(path: string): boolean {\n const filename = upath.basename(path).toLowerCase();\n return filename === 'gradle.properties';\n}\n\nexport function isKotlinSourceFile(path: string): boolean {\n const filename = upath.basename(path).toLowerCase();\n return filename.endsWith('.kt');\n}\n\nexport function isTOMLFile(path: string): boolean {\n const filename = upath.basename(path).toLowerCase();\n return filename.endsWith('.toml');\n}\n\nexport function toAbsolutePath(packageFile: string): string {\n return upath.join(packageFile.replace(regEx(/^[/\\\\]*/), '/'));\n}\n\nfunction getFileRank(filename: string): number {\n if (isPropsFile(filename)) {\n return 0;\n }\n if (isGradleVersionsFile(filename)) {\n return 1;\n }\n if (isGradleBuildFile(filename)) {\n return 3;\n }\n return 2;\n}\n\nexport function reorderFiles(packageFiles: string[]): string[] {\n return packageFiles.sort((x, y) => {\n const xAbs = toAbsolutePath(x);\n const yAbs = toAbsolutePath(y);\n\n const xDir = upath.dirname(xAbs);\n const yDir = upath.dirname(yAbs);\n\n if (xDir === yDir) {\n const xRank = getFileRank(xAbs);\n const yRank = getFileRank(yAbs);\n if (xRank === yRank) {\n if (xAbs > yAbs) {\n return 1;\n }\n if (xAbs < yAbs) {\n return -1;\n }\n } else if (xRank > yRank) {\n return 1;\n } else if (yRank > xRank) {\n return -1;\n }\n } else if (xDir.startsWith(yDir)) {\n return 1;\n } else if (yDir.startsWith(xDir)) {\n return -1;\n }\n\n return 0;\n });\n}\n\nexport function getVars(\n registry: VariableRegistry,\n dir: string,\n vars: PackageVariables = registry[dir] || {},\n): PackageVariables {\n const dirAbs = toAbsolutePath(dir);\n const parentDir = upath.dirname(dirAbs);\n if (parentDir === dirAbs) {\n return vars;\n }\n const parentVars = registry[parentDir] || {};\n return getVars(registry, parentDir, { ...parentVars, ...vars });\n}\n\nexport function updateVars(\n registry: VariableRegistry,\n dir: string,\n newVars: PackageVariables,\n): void {\n const oldVars = registry[dir] ?? {};\n registry[dir] = { ...oldVars, ...newVars };\n}\n"]}
@@ -140,7 +140,7 @@ function findDepends(content) {
140
140
  return null;
141
141
  }
142
142
  const indent = countPrecedingIndentation(content, matchObj.index);
143
- const ourIdx = matchObj.index + matchObj.groups['buildDependsFieldName'].length;
143
+ const ourIdx = matchObj.index + matchObj.groups.buildDependsFieldName.length;
144
144
  const extentLength = findExtents(indent + 1, content.slice(ourIdx));
145
145
  const extent = content.slice(ourIdx, ourIdx + extentLength);
146
146
  const lines = [];