renovate 40.0.0-next.1 → 40.0.0-next.11

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 (138) hide show
  1. package/dist/config/decrypt/legacy.js +0 -1
  2. package/dist/config/decrypt/legacy.js.map +1 -1
  3. package/dist/config/decrypt.js +2 -2
  4. package/dist/config/decrypt.js.map +1 -1
  5. package/dist/config/migrate-validate.js +3 -2
  6. package/dist/config/migrate-validate.js.map +1 -1
  7. package/dist/config/migration.js +2 -1
  8. package/dist/config/migration.js.map +1 -1
  9. package/dist/config/options/index.js +2 -2
  10. package/dist/config/options/index.js.map +1 -1
  11. package/dist/config/parse.js +2 -2
  12. package/dist/config/parse.js.map +1 -1
  13. package/dist/config/presets/gitea/index.js +0 -1
  14. package/dist/config/presets/gitea/index.js.map +1 -1
  15. package/dist/config/presets/github/index.js +0 -1
  16. package/dist/config/presets/github/index.js.map +1 -1
  17. package/dist/config/presets/http/index.js +0 -1
  18. package/dist/config/presets/http/index.js.map +1 -1
  19. package/dist/config/presets/index.js +0 -7
  20. package/dist/config/presets/index.js.map +1 -1
  21. package/dist/config/presets/internal/index.js +1 -3
  22. package/dist/config/presets/internal/index.js.map +1 -1
  23. package/dist/config/schema.d.ts +2 -2
  24. package/dist/config/validation.js +2 -4
  25. package/dist/config/validation.js.map +1 -1
  26. package/dist/config-validator.js +0 -1
  27. package/dist/config-validator.js.map +1 -1
  28. package/dist/constants/category.js +0 -1
  29. package/dist/constants/category.js.map +1 -1
  30. package/dist/instrumentation/index.js +5 -3
  31. package/dist/instrumentation/index.js.map +1 -1
  32. package/dist/logger/cmd-serializer.js +0 -1
  33. package/dist/logger/cmd-serializer.js.map +1 -1
  34. package/dist/logger/config-serializer.js +0 -1
  35. package/dist/logger/config-serializer.js.map +1 -1
  36. package/dist/logger/index.js +0 -3
  37. package/dist/logger/index.js.map +1 -1
  38. package/dist/logger/once.js +4 -2
  39. package/dist/logger/once.js.map +1 -1
  40. package/dist/logger/pretty-stdout.js +0 -1
  41. package/dist/logger/pretty-stdout.js.map +1 -1
  42. package/dist/logger/renovate-logger.js +1 -1
  43. package/dist/logger/renovate-logger.js.map +1 -1
  44. package/dist/logger/utils.js +5 -10
  45. package/dist/logger/utils.js.map +1 -1
  46. package/dist/modules/datasource/custom/schema.d.ts +5 -5
  47. package/dist/modules/datasource/deno/schema.d.ts +8 -8
  48. package/dist/modules/datasource/docker/index.js +4 -2
  49. package/dist/modules/datasource/docker/index.js.map +1 -1
  50. package/dist/modules/datasource/docker/schema.d.ts +32 -32
  51. package/dist/modules/datasource/galaxy/schema.d.ts +1 -1
  52. package/dist/modules/datasource/galaxy-collection/schema.d.ts +3 -3
  53. package/dist/modules/datasource/gitea-releases/schema.d.ts +4 -4
  54. package/dist/modules/datasource/gitea-tags/schema.d.ts +4 -4
  55. package/dist/modules/datasource/hex/schema.d.ts +11 -11
  56. package/dist/modules/datasource/packagist/schema.d.ts +30 -30
  57. package/dist/modules/datasource/unity3d/index.d.ts +4 -1
  58. package/dist/modules/datasource/unity3d/index.js +36 -42
  59. package/dist/modules/datasource/unity3d/index.js.map +1 -1
  60. package/dist/modules/datasource/unity3d/schema.d.ts +47 -0
  61. package/dist/modules/datasource/unity3d/schema.js +17 -0
  62. package/dist/modules/datasource/unity3d/schema.js.map +1 -0
  63. package/dist/modules/manager/argocd/schema.d.ts +10 -10
  64. package/dist/modules/manager/azure-pipelines/schema.d.ts +10 -10
  65. package/dist/modules/manager/batect/schema.d.ts +6 -6
  66. package/dist/modules/manager/bazel/rules/docker.d.ts +9 -9
  67. package/dist/modules/manager/bazel/rules/git.d.ts +10 -10
  68. package/dist/modules/manager/bazel/rules/go.d.ts +5 -5
  69. package/dist/modules/manager/bazel/rules/oci.d.ts +3 -3
  70. package/dist/modules/manager/bazel-module/parser/fragments.d.ts +40 -40
  71. package/dist/modules/manager/bazel-module/parser/maven.d.ts +27 -27
  72. package/dist/modules/manager/bazel-module/parser/oci.d.ts +17 -17
  73. package/dist/modules/manager/bazel-module/rules.d.ts +40 -40
  74. package/dist/modules/manager/cargo/schema.d.ts +100 -100
  75. package/dist/modules/manager/circleci/schema.d.ts +6 -6
  76. package/dist/modules/manager/composer/schema.d.ts +40 -40
  77. package/dist/modules/manager/crossplane/schema.d.ts +2 -2
  78. package/dist/modules/manager/custom/jsonata/index.js +4 -0
  79. package/dist/modules/manager/custom/jsonata/index.js.map +1 -1
  80. package/dist/modules/manager/custom/jsonata/schema.d.ts +7 -7
  81. package/dist/modules/manager/fingerprint.generated.js +67 -67
  82. package/dist/modules/manager/fingerprint.generated.js.map +1 -1
  83. package/dist/modules/manager/fleet/schema.d.ts +12 -12
  84. package/dist/modules/manager/flux/schema.d.ts +50 -50
  85. package/dist/modules/manager/glasskube/schema.d.ts +8 -8
  86. package/dist/modules/manager/nix/schema.d.ts +24 -24
  87. package/dist/modules/manager/npm/schema.d.ts +13 -13
  88. package/dist/modules/manager/nuget/schema.d.ts +8 -8
  89. package/dist/modules/manager/ocb/schema.d.ts +6 -6
  90. package/dist/modules/manager/pep621/schema.d.ts +55 -55
  91. package/dist/modules/manager/pep621/utils.js +2 -1
  92. package/dist/modules/manager/pep621/utils.js.map +1 -1
  93. package/dist/modules/manager/poetry/artifacts.js +2 -1
  94. package/dist/modules/manager/poetry/artifacts.js.map +1 -1
  95. package/dist/modules/manager/poetry/extract.js +2 -1
  96. package/dist/modules/manager/poetry/extract.js.map +1 -1
  97. package/dist/modules/manager/poetry/schema.d.ts +48 -48
  98. package/dist/modules/manager/sveltos/schema.d.ts +12 -12
  99. package/dist/modules/manager/vendir/schema.d.ts +27 -27
  100. package/dist/modules/platform/api.d.ts +1 -1
  101. package/dist/modules/platform/bitbucket/index.d.ts +1 -0
  102. package/dist/modules/platform/bitbucket/index.js +5 -0
  103. package/dist/modules/platform/bitbucket/index.js.map +1 -1
  104. package/dist/modules/platform/bitbucket/schema.d.ts +17 -17
  105. package/dist/modules/platform/bitbucket-server/index.d.ts +1 -1
  106. package/dist/modules/platform/bitbucket-server/index.js.map +1 -1
  107. package/dist/modules/platform/gitea/index.d.ts +1 -0
  108. package/dist/modules/platform/gitea/index.js +11 -0
  109. package/dist/modules/platform/gitea/index.js.map +1 -1
  110. package/dist/modules/platform/gitea/schema.d.ts +8 -8
  111. package/dist/modules/platform/github/issue.d.ts +12 -12
  112. package/dist/modules/platform/github/schema.d.ts +65 -65
  113. package/dist/modules/platform/gitlab/index.d.ts +1 -0
  114. package/dist/modules/platform/gitlab/index.js +9 -0
  115. package/dist/modules/platform/gitlab/index.js.map +1 -1
  116. package/dist/modules/platform/scm.d.ts +1 -1
  117. package/dist/proxy.js +2 -1
  118. package/dist/proxy.js.map +1 -1
  119. package/dist/renovate.js +2 -2
  120. package/dist/renovate.js.map +1 -1
  121. package/dist/util/cache/package/redis.js +0 -1
  122. package/dist/util/cache/package/redis.js.map +1 -1
  123. package/dist/util/cache/repository/impl/base.d.ts +1 -1
  124. package/dist/util/exec/containerbase.js +11 -11
  125. package/dist/util/exec/containerbase.js.map +1 -1
  126. package/dist/util/github/graphql/query-adapters/releases-query-adapter.d.ts +5 -5
  127. package/dist/util/http/cache/schema.d.ts +2 -2
  128. package/dist/util/http/legacy.js +4 -1
  129. package/dist/util/http/legacy.js.map +1 -1
  130. package/dist/util/string.d.ts +15 -0
  131. package/dist/util/string.js +75 -0
  132. package/dist/util/string.js.map +1 -1
  133. package/dist/util/yaml.js +2 -6
  134. package/dist/util/yaml.js.map +1 -1
  135. package/dist/workers/repository/cache.js +0 -1
  136. package/dist/workers/repository/cache.js.map +1 -1
  137. package/package.json +19 -24
  138. package/renovate-schema.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"containerbase.js","sourceRoot":"","sources":["../../../lib/util/exec/containerbase.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport { GlobalConfig } from '../../config/global';\nimport { logger } from '../../logger';\nimport type { ReleaseResult } from '../../modules/datasource';\nimport * as allVersioning from '../../modules/versioning';\nimport { id as composerVersioningId } from '../../modules/versioning/composer';\nimport { id as gradleVersioningId } from '../../modules/versioning/gradle';\nimport { id as mavenVersioningId } from '../../modules/versioning/maven';\nimport { id as nodeVersioningId } from '../../modules/versioning/node';\nimport { id as npmVersioningId } from '../../modules/versioning/npm';\nimport { id as pep440VersioningId } from '../../modules/versioning/pep440';\nimport { id as pythonVersioningId } from '../../modules/versioning/python';\nimport { id as rubyVersioningId } from '../../modules/versioning/ruby';\nimport { id as semverVersioningId } from '../../modules/versioning/semver';\nimport { id as semverCoercedVersioningId } from '../../modules/versioning/semver-coerced';\nimport type { Opt, ToolConfig, ToolConstraint } from './types';\n\nconst allToolConfig: Record<string, ToolConfig> = {\n bun: {\n datasource: 'github-releases',\n packageName: 'oven-sh/bun',\n extractVersion: '^bun-v(?<version>.*)$',\n versioning: npmVersioningId,\n },\n bundler: {\n datasource: 'rubygems',\n packageName: 'bundler',\n versioning: rubyVersioningId,\n },\n cocoapods: {\n datasource: 'rubygems',\n packageName: 'cocoapods',\n versioning: rubyVersioningId,\n },\n composer: {\n datasource: 'github-releases',\n packageName: 'composer/composer',\n versioning: composerVersioningId,\n },\n copier: {\n datasource: 'pypi',\n packageName: 'copier',\n versioning: pep440VersioningId,\n },\n corepack: {\n datasource: 'npm',\n packageName: 'corepack',\n versioning: npmVersioningId,\n },\n devbox: {\n datasource: 'github-releases',\n packageName: 'jetify-com/devbox',\n versioning: semverVersioningId,\n },\n dotnet: {\n datasource: 'dotnet-version',\n packageName: 'dotnet-sdk',\n versioning: semverVersioningId,\n },\n erlang: {\n datasource: 'github-releases',\n packageName: 'containerbase/erlang-prebuild',\n versioning: semverCoercedVersioningId,\n },\n elixir: {\n datasource: 'github-releases',\n packageName: 'elixir-lang/elixir',\n versioning: semverVersioningId,\n },\n flux: {\n datasource: 'github-releases',\n packageName: 'fluxcd/flux2',\n versioning: semverVersioningId,\n },\n gleam: {\n datasource: 'github-releases',\n packageName: 'gleam-lang/gleam',\n versioning: semverVersioningId,\n },\n golang: {\n datasource: 'golang-version',\n packageName: 'golang',\n versioning: npmVersioningId,\n },\n gradle: {\n datasource: 'gradle-version',\n packageName: 'gradle',\n versioning: gradleVersioningId,\n },\n hashin: {\n datasource: 'pypi',\n packageName: 'hashin',\n versioning: pep440VersioningId,\n },\n helm: {\n datasource: 'github-releases',\n packageName: 'helm/helm',\n versioning: semverVersioningId,\n },\n helmfile: {\n datasource: 'github-releases',\n packageName: 'helmfile/helmfile',\n versioning: semverVersioningId,\n },\n java: {\n datasource: 'java-version',\n packageName: 'java',\n versioning: npmVersioningId,\n },\n /* not used in Renovate */\n 'java-maven': {\n datasource: 'java-version',\n packageName: 'java',\n versioning: mavenVersioningId,\n },\n jb: {\n datasource: 'github-releases',\n packageName: 'jsonnet-bundler/jsonnet-bundler',\n versioning: semverVersioningId,\n },\n kustomize: {\n datasource: 'github-releases',\n packageName: 'kubernetes-sigs/kustomize',\n extractVersion: '^kustomize/v(?<version>.*)$',\n versioning: semverVersioningId,\n },\n maven: {\n datasource: 'maven',\n packageName: 'org.apache.maven:maven',\n versioning: mavenVersioningId,\n },\n nix: {\n datasource: 'github-tags',\n packageName: 'NixOS/nix',\n versioning: semverVersioningId,\n },\n node: {\n datasource: 'node-version',\n packageName: 'node',\n versioning: nodeVersioningId,\n },\n npm: {\n datasource: 'npm',\n packageName: 'npm',\n hash: true,\n versioning: npmVersioningId,\n },\n pdm: {\n datasource: 'github-releases',\n packageName: 'pdm-project/pdm',\n versioning: semverVersioningId,\n },\n php: {\n datasource: 'github-releases',\n packageName: 'containerbase/php-prebuild',\n versioning: composerVersioningId,\n },\n 'pip-tools': {\n datasource: 'pypi',\n packageName: 'pip-tools',\n versioning: pep440VersioningId,\n },\n pipenv: {\n datasource: 'pypi',\n packageName: 'pipenv',\n versioning: pep440VersioningId,\n },\n pnpm: {\n datasource: 'npm',\n packageName: 'pnpm',\n versioning: npmVersioningId,\n },\n poetry: {\n datasource: 'pypi',\n packageName: 'poetry',\n versioning: pep440VersioningId,\n },\n python: {\n datasource: 'github-releases',\n packageName: 'containerbase/python-prebuild',\n versioning: pythonVersioningId,\n },\n ruby: {\n datasource: 'github-releases',\n packageName: 'containerbase/ruby-prebuild',\n versioning: rubyVersioningId,\n },\n rust: {\n datasource: 'docker',\n packageName: 'rust',\n versioning: semverVersioningId,\n },\n uv: {\n datasource: 'pypi',\n packageName: 'uv',\n versioning: pep440VersioningId,\n },\n yarn: {\n datasource: 'npm',\n packageName: 'yarn',\n versioning: npmVersioningId,\n },\n 'yarn-slim': {\n datasource: 'npm',\n packageName: 'yarn',\n versioning: npmVersioningId,\n },\n dart: {\n datasource: 'dart-version',\n packageName: 'dart',\n versioning: npmVersioningId,\n },\n flutter: {\n datasource: 'flutter-version',\n packageName: 'flutter',\n versioning: npmVersioningId,\n },\n vendir: {\n datasource: 'github-releases',\n packageName: 'carvel-dev/vendir',\n versioning: semverVersioningId,\n },\n};\n\nlet _getPkgReleases: Promise<typeof import('../../modules/datasource')> | null =\n null;\n\nasync function getPkgReleases(\n toolConfig: ToolConfig,\n): Promise<ReleaseResult | null> {\n if (_getPkgReleases === null) {\n _getPkgReleases = import('../../modules/datasource');\n }\n const { getPkgReleases } = await _getPkgReleases;\n return getPkgReleases(toolConfig);\n}\n\nexport function supportsDynamicInstall(toolName: string): boolean {\n return !!allToolConfig[toolName];\n}\n\nexport function isContainerbase(): boolean {\n return !!process.env.CONTAINERBASE;\n}\n\nexport function isDynamicInstall(\n toolConstraints?: Opt<ToolConstraint[]>,\n): boolean {\n if (GlobalConfig.get('binarySource') !== 'install') {\n return false;\n }\n if (!isContainerbase()) {\n logger.debug('Falling back to binarySource=global');\n return false;\n }\n return (\n !toolConstraints ||\n toolConstraints.every((toolConstraint) =>\n supportsDynamicInstall(toolConstraint.toolName),\n )\n );\n}\n\nfunction isStable(\n version: string,\n versioningApi: allVersioning.VersioningApi,\n latest?: string,\n): boolean {\n if (!versioningApi.isStable(version)) {\n return false;\n }\n if (is.string(latest)) {\n if (versioningApi.isGreaterThan(version, latest)) {\n return false;\n }\n }\n return true;\n}\n\nexport async function resolveConstraint(\n toolConstraint: ToolConstraint,\n): Promise<string> {\n const { toolName } = toolConstraint;\n const toolConfig = allToolConfig[toolName];\n if (!toolConfig) {\n throw new Error(`Invalid tool to install: ${toolName}`);\n }\n\n const versioning = allVersioning.get(toolConfig.versioning);\n let constraint = toolConstraint.constraint;\n if (constraint) {\n if (versioning.isValid(constraint)) {\n if (versioning.isSingleVersion(constraint)) {\n return constraint.replace(/^=+/, '').trim();\n }\n } else {\n logger.warn(\n { toolName, constraint, versioning: toolConfig.versioning },\n 'Invalid tool constraint',\n );\n constraint = undefined;\n }\n }\n\n const pkgReleases = await getPkgReleases(toolConfig);\n const releases = pkgReleases?.releases ?? [];\n\n if (!releases?.length) {\n logger.warn({ toolConfig }, 'No tool releases found.');\n throw new Error('No tool releases found.');\n }\n\n const matchingReleases = releases.filter(\n (r) => !constraint || versioning.matches(r.version, constraint),\n );\n\n const stableMatchingVersion = matchingReleases\n .filter((r) => isStable(r.version, versioning, pkgReleases?.tags?.latest))\n .pop()?.version;\n if (stableMatchingVersion) {\n logger.debug(\n { toolName, constraint, resolvedVersion: stableMatchingVersion },\n 'Resolved stable matching version',\n );\n return stableMatchingVersion;\n }\n\n const unstableMatchingVersion = matchingReleases.pop()?.version;\n if (unstableMatchingVersion) {\n logger.debug(\n { toolName, constraint, resolvedVersion: unstableMatchingVersion },\n 'Resolved unstable matching version',\n );\n return unstableMatchingVersion;\n }\n\n const stableVersion = releases\n .filter((r) => isStable(r.version, versioning, pkgReleases?.tags?.latest))\n .pop()?.version;\n if (stableVersion) {\n logger.warn(\n { toolName, constraint, stableVersion },\n 'No matching tool versions found for constraint - using latest stable version',\n );\n }\n\n const highestVersion = releases.pop()!.version;\n logger.warn(\n { toolName, constraint, highestVersion },\n 'No matching or stable tool versions found - using an unstable version',\n );\n return highestVersion;\n}\n\nexport async function generateInstallCommands(\n toolConstraints: Opt<ToolConstraint[]>,\n): Promise<string[]> {\n const installCommands: string[] = [];\n if (toolConstraints?.length) {\n for (const toolConstraint of toolConstraints) {\n const toolVersion = await resolveConstraint(toolConstraint);\n const { toolName } = toolConstraint;\n const installCommand = `install-tool ${toolName} ${quote(toolVersion)}`;\n installCommands.push(installCommand);\n if (allToolConfig[toolName].hash) {\n installCommands.push(`hash -d ${toolName} 2>/dev/null || true`);\n }\n }\n }\n return installCommands;\n}\n"]}
1
+ {"version":3,"file":"containerbase.js","sourceRoot":"","sources":["../../../lib/util/exec/containerbase.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport { GlobalConfig } from '../../config/global';\nimport { logger } from '../../logger';\nimport type { ReleaseResult } from '../../modules/datasource';\nimport * as allVersioning from '../../modules/versioning';\nimport { id as composerVersioningId } from '../../modules/versioning/composer';\nimport { id as gradleVersioningId } from '../../modules/versioning/gradle';\nimport { id as mavenVersioningId } from '../../modules/versioning/maven';\nimport { id as nodeVersioningId } from '../../modules/versioning/node';\nimport { id as npmVersioningId } from '../../modules/versioning/npm';\nimport { id as pep440VersioningId } from '../../modules/versioning/pep440';\nimport { id as pythonVersioningId } from '../../modules/versioning/python';\nimport { id as rubyVersioningId } from '../../modules/versioning/ruby';\nimport { id as semverVersioningId } from '../../modules/versioning/semver';\nimport { id as semverCoercedVersioningId } from '../../modules/versioning/semver-coerced';\nimport type { Opt, ToolConfig, ToolConstraint } from './types';\n\nconst allToolConfig: Record<string, ToolConfig> = {\n bun: {\n datasource: 'github-releases',\n packageName: 'oven-sh/bun',\n extractVersion: '^bun-v(?<version>.*)$',\n versioning: npmVersioningId,\n },\n bundler: {\n datasource: 'rubygems',\n packageName: 'bundler',\n versioning: rubyVersioningId,\n },\n cocoapods: {\n datasource: 'rubygems',\n packageName: 'cocoapods',\n versioning: rubyVersioningId,\n },\n composer: {\n datasource: 'github-releases',\n packageName: 'containerbase/composer-prebuild',\n versioning: composerVersioningId,\n },\n copier: {\n datasource: 'pypi',\n packageName: 'copier',\n versioning: pep440VersioningId,\n },\n corepack: {\n datasource: 'npm',\n packageName: 'corepack',\n versioning: npmVersioningId,\n },\n devbox: {\n datasource: 'github-releases',\n packageName: 'jetify-com/devbox',\n versioning: semverVersioningId,\n },\n dotnet: {\n datasource: 'dotnet-version',\n packageName: 'dotnet-sdk',\n versioning: semverVersioningId,\n },\n erlang: {\n datasource: 'github-releases',\n packageName: 'containerbase/erlang-prebuild',\n versioning: semverCoercedVersioningId,\n },\n elixir: {\n datasource: 'github-releases',\n packageName: 'elixir-lang/elixir',\n versioning: semverVersioningId,\n },\n flux: {\n datasource: 'github-releases',\n packageName: 'fluxcd/flux2',\n versioning: semverVersioningId,\n },\n gleam: {\n datasource: 'github-releases',\n packageName: 'gleam-lang/gleam',\n versioning: semverVersioningId,\n },\n golang: {\n datasource: 'github-releases',\n packageName: 'containerbase/golang-prebuild',\n versioning: npmVersioningId,\n },\n gradle: {\n datasource: 'gradle-version',\n packageName: 'gradle',\n versioning: gradleVersioningId,\n },\n hashin: {\n datasource: 'pypi',\n packageName: 'hashin',\n versioning: pep440VersioningId,\n },\n helm: {\n datasource: 'github-releases',\n packageName: 'helm/helm',\n versioning: semverVersioningId,\n },\n helmfile: {\n datasource: 'github-releases',\n packageName: 'helmfile/helmfile',\n versioning: semverVersioningId,\n },\n java: {\n datasource: 'java-version',\n packageName: 'java',\n versioning: npmVersioningId,\n },\n /* not used in Renovate */\n 'java-maven': {\n datasource: 'java-version',\n packageName: 'java',\n versioning: mavenVersioningId,\n },\n jb: {\n datasource: 'github-releases',\n packageName: 'jsonnet-bundler/jsonnet-bundler',\n versioning: semverVersioningId,\n },\n kustomize: {\n datasource: 'github-releases',\n packageName: 'kubernetes-sigs/kustomize',\n extractVersion: '^kustomize/v(?<version>.*)$',\n versioning: semverVersioningId,\n },\n maven: {\n datasource: 'github-releases',\n packageName: 'containerbase/maven-prebuild',\n versioning: mavenVersioningId,\n },\n nix: {\n datasource: 'github-releases',\n packageName: 'containerbase/nix-prebuild',\n versioning: semverVersioningId,\n },\n node: {\n datasource: 'github-releases',\n packageName: 'containerbase/node-prebuild',\n versioning: nodeVersioningId,\n },\n npm: {\n datasource: 'npm',\n packageName: 'npm',\n hash: true,\n versioning: npmVersioningId,\n },\n pdm: {\n datasource: 'github-releases',\n packageName: 'pdm-project/pdm',\n versioning: semverVersioningId,\n },\n php: {\n datasource: 'github-releases',\n packageName: 'containerbase/php-prebuild',\n versioning: composerVersioningId,\n },\n 'pip-tools': {\n datasource: 'pypi',\n packageName: 'pip-tools',\n versioning: pep440VersioningId,\n },\n pipenv: {\n datasource: 'pypi',\n packageName: 'pipenv',\n versioning: pep440VersioningId,\n },\n pnpm: {\n datasource: 'npm',\n packageName: 'pnpm',\n versioning: npmVersioningId,\n },\n poetry: {\n datasource: 'pypi',\n packageName: 'poetry',\n versioning: pep440VersioningId,\n },\n python: {\n datasource: 'github-releases',\n packageName: 'containerbase/python-prebuild',\n versioning: pythonVersioningId,\n },\n ruby: {\n datasource: 'github-releases',\n packageName: 'containerbase/ruby-prebuild',\n versioning: rubyVersioningId,\n },\n rust: {\n datasource: 'docker',\n packageName: 'rust',\n versioning: semverVersioningId,\n },\n uv: {\n datasource: 'pypi',\n packageName: 'uv',\n versioning: pep440VersioningId,\n },\n yarn: {\n datasource: 'npm',\n packageName: 'yarn',\n versioning: npmVersioningId,\n },\n 'yarn-slim': {\n datasource: 'npm',\n packageName: 'yarn',\n versioning: npmVersioningId,\n },\n dart: {\n datasource: 'dart-version',\n packageName: 'dart',\n versioning: npmVersioningId,\n },\n flutter: {\n datasource: 'github-releases',\n packageName: 'containerbase/flutter-prebuild',\n versioning: npmVersioningId,\n },\n vendir: {\n datasource: 'github-releases',\n packageName: 'carvel-dev/vendir',\n versioning: semverVersioningId,\n },\n};\n\nlet _getPkgReleases: Promise<typeof import('../../modules/datasource')> | null =\n null;\n\nasync function getPkgReleases(\n toolConfig: ToolConfig,\n): Promise<ReleaseResult | null> {\n if (_getPkgReleases === null) {\n _getPkgReleases = import('../../modules/datasource');\n }\n const { getPkgReleases } = await _getPkgReleases;\n return getPkgReleases(toolConfig);\n}\n\nexport function supportsDynamicInstall(toolName: string): boolean {\n return !!allToolConfig[toolName];\n}\n\nexport function isContainerbase(): boolean {\n return !!process.env.CONTAINERBASE;\n}\n\nexport function isDynamicInstall(\n toolConstraints?: Opt<ToolConstraint[]>,\n): boolean {\n if (GlobalConfig.get('binarySource') !== 'install') {\n return false;\n }\n if (!isContainerbase()) {\n logger.debug('Falling back to binarySource=global');\n return false;\n }\n return (\n !toolConstraints ||\n toolConstraints.every((toolConstraint) =>\n supportsDynamicInstall(toolConstraint.toolName),\n )\n );\n}\n\nfunction isStable(\n version: string,\n versioningApi: allVersioning.VersioningApi,\n latest?: string,\n): boolean {\n if (!versioningApi.isStable(version)) {\n return false;\n }\n if (is.string(latest)) {\n if (versioningApi.isGreaterThan(version, latest)) {\n return false;\n }\n }\n return true;\n}\n\nexport async function resolveConstraint(\n toolConstraint: ToolConstraint,\n): Promise<string> {\n const { toolName } = toolConstraint;\n const toolConfig = allToolConfig[toolName];\n if (!toolConfig) {\n throw new Error(`Invalid tool to install: ${toolName}`);\n }\n\n const versioning = allVersioning.get(toolConfig.versioning);\n let constraint = toolConstraint.constraint;\n if (constraint) {\n if (versioning.isValid(constraint)) {\n if (versioning.isSingleVersion(constraint)) {\n return constraint.replace(/^=+/, '').trim();\n }\n } else {\n logger.warn(\n { toolName, constraint, versioning: toolConfig.versioning },\n 'Invalid tool constraint',\n );\n constraint = undefined;\n }\n }\n\n const pkgReleases = await getPkgReleases(toolConfig);\n const releases = pkgReleases?.releases ?? [];\n\n if (!releases?.length) {\n logger.warn({ toolConfig }, 'No tool releases found.');\n throw new Error('No tool releases found.');\n }\n\n const matchingReleases = releases.filter(\n (r) => !constraint || versioning.matches(r.version, constraint),\n );\n\n const stableMatchingVersion = matchingReleases\n .filter((r) => isStable(r.version, versioning, pkgReleases?.tags?.latest))\n .pop()?.version;\n if (stableMatchingVersion) {\n logger.debug(\n { toolName, constraint, resolvedVersion: stableMatchingVersion },\n 'Resolved stable matching version',\n );\n return stableMatchingVersion;\n }\n\n const unstableMatchingVersion = matchingReleases.pop()?.version;\n if (unstableMatchingVersion) {\n logger.debug(\n { toolName, constraint, resolvedVersion: unstableMatchingVersion },\n 'Resolved unstable matching version',\n );\n return unstableMatchingVersion;\n }\n\n const stableVersion = releases\n .filter((r) => isStable(r.version, versioning, pkgReleases?.tags?.latest))\n .pop()?.version;\n if (stableVersion) {\n logger.warn(\n { toolName, constraint, stableVersion },\n 'No matching tool versions found for constraint - using latest stable version',\n );\n }\n\n const highestVersion = releases.pop()!.version;\n logger.warn(\n { toolName, constraint, highestVersion },\n 'No matching or stable tool versions found - using an unstable version',\n );\n return highestVersion;\n}\n\nexport async function generateInstallCommands(\n toolConstraints: Opt<ToolConstraint[]>,\n): Promise<string[]> {\n const installCommands: string[] = [];\n if (toolConstraints?.length) {\n for (const toolConstraint of toolConstraints) {\n const toolVersion = await resolveConstraint(toolConstraint);\n const { toolName } = toolConstraint;\n const installCommand = `install-tool ${toolName} ${quote(toolVersion)}`;\n installCommands.push(installCommand);\n if (allToolConfig[toolName].hash) {\n installCommands.push(`hash -d ${toolName} 2>/dev/null || true`);\n }\n }\n }\n return installCommands;\n}\n"]}
@@ -11,21 +11,21 @@ declare const GithubGraphqlRelease: z.ZodObject<{
11
11
  name: z.ZodNullable<z.ZodString>;
12
12
  description: z.ZodNullable<z.ZodString>;
13
13
  }, "strip", z.ZodTypeAny, {
14
- name: string | null;
15
14
  id: number | null;
16
- url: string;
17
15
  description: string | null;
18
- version: string;
19
16
  releaseTimestamp: string & {
20
17
  __timestamp: never;
21
18
  };
19
+ name: string | null;
20
+ url: string;
21
+ version: string;
22
22
  isDraft: boolean;
23
23
  isPrerelease: boolean;
24
24
  }, {
25
- name: string | null;
26
25
  id: number | null;
27
- url: string;
28
26
  description: string | null;
27
+ name: string | null;
28
+ url: string;
29
29
  version: string;
30
30
  isDraft: boolean;
31
31
  isPrerelease: boolean;
@@ -6,13 +6,13 @@ export declare const HttpCacheSchema: z.ZodCatch<z.ZodNullable<z.ZodObject<{
6
6
  timestamp: z.ZodString;
7
7
  }, "strip", z.ZodTypeAny, {
8
8
  timestamp: string;
9
- lastModified?: string | undefined;
10
9
  etag?: string | undefined;
10
+ lastModified?: string | undefined;
11
11
  httpResponse?: unknown;
12
12
  }, {
13
13
  timestamp: string;
14
- lastModified?: string | undefined;
15
14
  etag?: string | undefined;
15
+ lastModified?: string | undefined;
16
16
  httpResponse?: unknown;
17
17
  }>>>;
18
18
  export type HttpCache = z.infer<typeof HttpCacheSchema>;
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- // istanbul ignore file
4
3
  const got_1 = require("got");
5
4
  const url_1 = require("../url");
6
5
  // TODO: remove when code is refactored (#9651)
@@ -8,6 +7,7 @@ Object.defineProperty(got_1.RequestError.prototype, 'statusCode', {
8
7
  get: function statusCode() {
9
8
  return this.response?.statusCode;
10
9
  },
10
+ configurable: true, // required by azure tests
11
11
  });
12
12
  Object.defineProperty(got_1.RequestError.prototype, 'body', {
13
13
  get: function body() {
@@ -18,6 +18,7 @@ Object.defineProperty(got_1.RequestError.prototype, 'body', {
18
18
  this.response.body = value;
19
19
  }
20
20
  },
21
+ configurable: true,
21
22
  });
22
23
  Object.defineProperty(got_1.RequestError.prototype, 'headers', {
23
24
  get: function headers() {
@@ -28,6 +29,7 @@ Object.defineProperty(got_1.RequestError.prototype, 'url', {
28
29
  get: function url() {
29
30
  return this.response?.url;
30
31
  },
32
+ configurable: true,
31
33
  });
32
34
  Object.defineProperty(got_1.RequestError.prototype, 'host', {
33
35
  get: function url() {
@@ -35,5 +37,6 @@ Object.defineProperty(got_1.RequestError.prototype, 'host', {
35
37
  const url = urlStr ? (0, url_1.parseUrl)(urlStr) : null;
36
38
  return url?.host;
37
39
  },
40
+ configurable: true,
38
41
  });
39
42
  //# sourceMappingURL=legacy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"legacy.js","sourceRoot":"","sources":["../../../lib/util/http/legacy.ts"],"names":[],"mappings":";;AAAA,uBAAuB;AACvB,6BAAgD;AAChD,gCAAkC;AAElC,+CAA+C;AAE/C,MAAM,CAAC,cAAc,CAAC,kBAAS,CAAC,SAAS,EAAE,YAAY,EAAE;IACvD,GAAG,EAAE,SAAS,UAAU;QACtB,OAAO,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC;IACnC,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,cAAc,CAAC,kBAAS,CAAC,SAAS,EAAE,MAAM,EAAE;IACjD,GAAG,EAAE,SAAS,IAAI;QAChB,OAAO,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;IAC7B,CAAC;IACD,GAAG,EAAE,SAAS,IAAI,CAAkB,KAAc;QAChD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC;QAC7B,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,cAAc,CAAC,kBAAS,CAAC,SAAS,EAAE,SAAS,EAAE;IACpD,GAAG,EAAE,SAAS,OAAO;QACnB,OAAO,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC;IAChC,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,cAAc,CAAC,kBAAS,CAAC,SAAS,EAAE,KAAK,EAAE;IAChD,GAAG,EAAE,SAAS,GAAG;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC;IAC5B,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,cAAc,CAAC,kBAAS,CAAC,SAAS,EAAE,MAAM,EAAE;IACjD,GAAG,EAAE,SAAS,GAAG;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC;QAClC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAA,cAAQ,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7C,OAAO,GAAG,EAAE,IAAI,CAAC;IACnB,CAAC;CACF,CAAC,CAAC","sourcesContent":["// istanbul ignore file\nimport { RequestError as HttpError } from 'got';\nimport { parseUrl } from '../url';\n\n// TODO: remove when code is refactored (#9651)\n\nObject.defineProperty(HttpError.prototype, 'statusCode', {\n get: function statusCode(this: HttpError) {\n return this.response?.statusCode;\n },\n});\n\nObject.defineProperty(HttpError.prototype, 'body', {\n get: function body(this: HttpError): unknown {\n return this.response?.body;\n },\n set: function body(this: HttpError, value: unknown): void {\n if (this.response) {\n this.response.body = value;\n }\n },\n});\n\nObject.defineProperty(HttpError.prototype, 'headers', {\n get: function headers(this: HttpError) {\n return this.response?.headers;\n },\n});\n\nObject.defineProperty(HttpError.prototype, 'url', {\n get: function url(this: HttpError) {\n return this.response?.url;\n },\n});\n\nObject.defineProperty(HttpError.prototype, 'host', {\n get: function url(this: HttpError) {\n const urlStr = this.response?.url;\n const url = urlStr ? parseUrl(urlStr) : null;\n return url?.host;\n },\n});\n\nexport type GotLegacyError<E = unknown, T = unknown> = HttpError & {\n statusCode?: number;\n body: {\n message?: string;\n errors?: E[];\n };\n headers?: Record<string, T>;\n};\n"]}
1
+ {"version":3,"file":"legacy.js","sourceRoot":"","sources":["../../../lib/util/http/legacy.ts"],"names":[],"mappings":";;AAAA,6BAAgD;AAChD,gCAAkC;AAElC,+CAA+C;AAE/C,MAAM,CAAC,cAAc,CAAC,kBAAS,CAAC,SAAS,EAAE,YAAY,EAAE;IACvD,GAAG,EAAE,SAAS,UAAU;QACtB,OAAO,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC;IACnC,CAAC;IACD,YAAY,EAAE,IAAI,EAAE,0BAA0B;CAC/C,CAAC,CAAC;AAEH,MAAM,CAAC,cAAc,CAAC,kBAAS,CAAC,SAAS,EAAE,MAAM,EAAE;IACjD,GAAG,EAAE,SAAS,IAAI;QAChB,OAAO,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;IAC7B,CAAC;IACD,GAAG,EAAE,SAAS,IAAI,CAAkB,KAAc;QAChD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,YAAY,EAAE,IAAI;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,cAAc,CAAC,kBAAS,CAAC,SAAS,EAAE,SAAS,EAAE;IACpD,GAAG,EAAE,SAAS,OAAO;QACnB,OAAO,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC;IAChC,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,cAAc,CAAC,kBAAS,CAAC,SAAS,EAAE,KAAK,EAAE;IAChD,GAAG,EAAE,SAAS,GAAG;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC;IAC5B,CAAC;IACD,YAAY,EAAE,IAAI;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,cAAc,CAAC,kBAAS,CAAC,SAAS,EAAE,MAAM,EAAE;IACjD,GAAG,EAAE,SAAS,GAAG;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC;QAClC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAA,cAAQ,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7C,OAAO,GAAG,EAAE,IAAI,CAAC;IACnB,CAAC;IACD,YAAY,EAAE,IAAI;CACnB,CAAC,CAAC","sourcesContent":["import { RequestError as HttpError } from 'got';\nimport { parseUrl } from '../url';\n\n// TODO: remove when code is refactored (#9651)\n\nObject.defineProperty(HttpError.prototype, 'statusCode', {\n get: function statusCode(this: HttpError) {\n return this.response?.statusCode;\n },\n configurable: true, // required by azure tests\n});\n\nObject.defineProperty(HttpError.prototype, 'body', {\n get: function body(this: HttpError): unknown {\n return this.response?.body;\n },\n set: function body(this: HttpError, value: unknown): void {\n if (this.response) {\n this.response.body = value;\n }\n },\n configurable: true,\n});\n\nObject.defineProperty(HttpError.prototype, 'headers', {\n get: function headers(this: HttpError) {\n return this.response?.headers;\n },\n});\n\nObject.defineProperty(HttpError.prototype, 'url', {\n get: function url(this: HttpError) {\n return this.response?.url;\n },\n configurable: true,\n});\n\nObject.defineProperty(HttpError.prototype, 'host', {\n get: function url(this: HttpError) {\n const urlStr = this.response?.url;\n const url = urlStr ? parseUrl(urlStr) : null;\n return url?.host;\n },\n configurable: true,\n});\n\nexport type GotLegacyError<E = unknown, T = unknown> = HttpError & {\n statusCode?: number;\n body: {\n message?: string;\n errors?: E[];\n };\n headers?: Record<string, T>;\n};\n"]}
@@ -26,3 +26,18 @@ export declare function copystr(x: string): string;
26
26
  * @returns the coerced value.
27
27
  */
28
28
  export declare function coerceString(val: string | null | undefined, def?: string): string;
29
+ /**
30
+ * Remove templates from string.
31
+ *
32
+ * This is more performant version of this code:
33
+ *
34
+ * ```
35
+ * content
36
+ * .replaceAll(regEx(/{{`.+?`}}/gs), '')
37
+ * .replaceAll(regEx(/{{.+?}}/gs), '')
38
+ * .replaceAll(regEx(/{%`.+?`%}/gs), '')
39
+ * .replaceAll(regEx(/{%.+?%}/gs), '')
40
+ * .replaceAll(regEx(/{#.+?#}/gs), '')
41
+ * ```
42
+ */
43
+ export declare function stripTemplates(content: string): string;
@@ -9,6 +9,7 @@ exports.looseEquals = looseEquals;
9
9
  exports.titleCase = titleCase;
10
10
  exports.copystr = copystr;
11
11
  exports.coerceString = coerceString;
12
+ exports.stripTemplates = stripTemplates;
12
13
  // Return true if the match string is found at index in content
13
14
  function matchAt(content, index, match) {
14
15
  return content.substring(index, index + match.length) === match;
@@ -70,4 +71,78 @@ function copystr(x) {
70
71
  function coerceString(val, def) {
71
72
  return val ?? def ?? '';
72
73
  }
74
+ /**
75
+ * Remove templates from string.
76
+ *
77
+ * This is more performant version of this code:
78
+ *
79
+ * ```
80
+ * content
81
+ * .replaceAll(regEx(/{{`.+?`}}/gs), '')
82
+ * .replaceAll(regEx(/{{.+?}}/gs), '')
83
+ * .replaceAll(regEx(/{%`.+?`%}/gs), '')
84
+ * .replaceAll(regEx(/{%.+?%}/gs), '')
85
+ * .replaceAll(regEx(/{#.+?#}/gs), '')
86
+ * ```
87
+ */
88
+ function stripTemplates(content) {
89
+ const result = [];
90
+ const len = content.length;
91
+ let idx = 0;
92
+ let lastPos = 0; // Tracks the start index of the next chunk to push
93
+ while (idx < len) {
94
+ if (content[idx] === '{' && idx + 1 < len) {
95
+ let closing;
96
+ let skipLength = 0;
97
+ if (content[idx + 1] === '%') {
98
+ if (idx + 2 < len && content[idx + 2] === '`') {
99
+ // Handle `{%` ... `%}`
100
+ closing = '`%}';
101
+ skipLength = 3;
102
+ }
103
+ else {
104
+ // Handle `{% ... %}`
105
+ closing = '%}';
106
+ skipLength = 2;
107
+ }
108
+ }
109
+ else if (content[idx + 1] === '{') {
110
+ if (idx + 2 < len && content[idx + 2] === '`') {
111
+ // Handle `{{` ... `}}`
112
+ closing = '`}}';
113
+ skipLength = 3;
114
+ }
115
+ else {
116
+ // Handle `{{ ... }}`
117
+ closing = '}}';
118
+ skipLength = 2;
119
+ }
120
+ }
121
+ else if (content[idx + 1] === '#') {
122
+ // Handle `{# ... #}`
123
+ closing = '#}';
124
+ skipLength = 2;
125
+ }
126
+ if (closing) {
127
+ const end = content.indexOf(closing, idx + skipLength);
128
+ if (end !== -1) {
129
+ // Append the content before the pattern
130
+ if (idx > lastPos) {
131
+ result.push(content.slice(lastPos, idx));
132
+ }
133
+ // Move `idx` past the closing tag
134
+ idx = end + closing.length;
135
+ lastPos = idx; // Update the last position
136
+ continue;
137
+ }
138
+ }
139
+ }
140
+ idx++;
141
+ }
142
+ // Append any remaining content after the last pattern
143
+ if (lastPos < len) {
144
+ result.push(content.slice(lastPos));
145
+ }
146
+ return result.join('');
147
+ }
73
148
  //# sourceMappingURL=string.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"string.js","sourceRoot":"","sources":["../../lib/util/string.ts"],"names":[],"mappings":";;AACA,0BAMC;AAGD,8BAWC;AAKD,4BAEC;AAKD,gCAEC;AAED,sCAMC;AAED,kCAQC;AAED,8BASC;AAUD,0BAKC;AAOD,oCAKC;AA3FD,+DAA+D;AAC/D,SAAgB,OAAO,CACrB,OAAe,EACf,KAAa,EACb,KAAa;IAEb,OAAO,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC;AAClE,CAAC;AAED,gEAAgE;AAChE,SAAgB,SAAS,CACvB,OAAe,EACf,KAAa,EACb,SAAiB,EACjB,SAAiB;IAEjB,OAAO,CACL,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC;QAC3B,SAAS;QACT,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAC5C,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,QAAQ,CAAC,KAAa;IACpC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,KAAa;IACtC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;AACjD,CAAC;AAED,SAAgB,aAAa,CAC3B,OAAe,EACf,KAAa,EACb,QAAkB;IAElB,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC;AAC7C,CAAC;AAED,SAAgB,WAAW,CACzB,CAA4B,EAC5B,CAA4B;IAE5B,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;AACtE,CAAC;AAED,SAAgB,SAAS,CAAC,KAAa;IACrC,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACxE,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,OAAO,CAAC,CAAS;IAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IACxC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACrB,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAED;;;;GAIG;AACH,SAAgB,YAAY,CAC1B,GAA8B,EAC9B,GAAY;IAEZ,OAAO,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;AAC1B,CAAC","sourcesContent":["// Return true if the match string is found at index in content\nexport function matchAt(\n content: string,\n index: number,\n match: string,\n): boolean {\n return content.substring(index, index + match.length) === match;\n}\n\n// Replace oldString with newString at location index of content\nexport function replaceAt(\n content: string,\n index: number,\n oldString: string,\n newString: string,\n): string {\n return (\n content.substring(0, index) +\n newString +\n content.substring(index + oldString.length)\n );\n}\n\n/**\n * Converts from utf-8 string to base64-encoded string\n */\nexport function toBase64(input: string): string {\n return Buffer.from(input).toString('base64');\n}\n\n/**\n * Converts from base64-encoded string to utf-8 string\n */\nexport function fromBase64(input: string): string {\n return Buffer.from(input, 'base64').toString();\n}\n\nexport function uniqueStrings(\n element: string,\n index: number,\n elements: string[],\n): boolean {\n return elements.indexOf(element) === index;\n}\n\nexport function looseEquals(\n a: string | null | undefined,\n b: string | null | undefined,\n): boolean {\n if (!(a && b)) {\n return a === b;\n }\n return a.localeCompare(b, undefined, { sensitivity: 'base' }) === 0;\n}\n\nexport function titleCase(input: string): string {\n const words = input.toLowerCase().split(' ');\n\n for (let i = 0; i < words.length; i++) {\n const word = words[i];\n words[i] = word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();\n }\n\n return words.join(' ');\n}\n\n/**\n * Sometimes we extract small strings from a multi-megabyte files.\n * If we then save them in the in-memory cache, V8 may not free\n * the initial buffer, which can lead to memory leaks:\n *\n * https://bugs.chromium.org/p/v8/issues/detail?id=2869\n *\n */\nexport function copystr(x: string): string {\n const len = Buffer.byteLength(x, 'utf8');\n const buf = Buffer.allocUnsafeSlow(len);\n buf.write(x, 'utf8');\n return buf.toString('utf8');\n}\n\n/**\n * Coerce a value to a string with optional default value.\n * @param val value to coerce\n * @returns the coerced value.\n */\nexport function coerceString(\n val: string | null | undefined,\n def?: string,\n): string {\n return val ?? def ?? '';\n}\n"]}
1
+ {"version":3,"file":"string.js","sourceRoot":"","sources":["../../lib/util/string.ts"],"names":[],"mappings":"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","sourcesContent":["// Return true if the match string is found at index in content\nexport function matchAt(\n content: string,\n index: number,\n match: string,\n): boolean {\n return content.substring(index, index + match.length) === match;\n}\n\n// Replace oldString with newString at location index of content\nexport function replaceAt(\n content: string,\n index: number,\n oldString: string,\n newString: string,\n): string {\n return (\n content.substring(0, index) +\n newString +\n content.substring(index + oldString.length)\n );\n}\n\n/**\n * Converts from utf-8 string to base64-encoded string\n */\nexport function toBase64(input: string): string {\n return Buffer.from(input).toString('base64');\n}\n\n/**\n * Converts from base64-encoded string to utf-8 string\n */\nexport function fromBase64(input: string): string {\n return Buffer.from(input, 'base64').toString();\n}\n\nexport function uniqueStrings(\n element: string,\n index: number,\n elements: string[],\n): boolean {\n return elements.indexOf(element) === index;\n}\n\nexport function looseEquals(\n a: string | null | undefined,\n b: string | null | undefined,\n): boolean {\n if (!(a && b)) {\n return a === b;\n }\n return a.localeCompare(b, undefined, { sensitivity: 'base' }) === 0;\n}\n\nexport function titleCase(input: string): string {\n const words = input.toLowerCase().split(' ');\n\n for (let i = 0; i < words.length; i++) {\n const word = words[i];\n words[i] = word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();\n }\n\n return words.join(' ');\n}\n\n/**\n * Sometimes we extract small strings from a multi-megabyte files.\n * If we then save them in the in-memory cache, V8 may not free\n * the initial buffer, which can lead to memory leaks:\n *\n * https://bugs.chromium.org/p/v8/issues/detail?id=2869\n *\n */\nexport function copystr(x: string): string {\n const len = Buffer.byteLength(x, 'utf8');\n const buf = Buffer.allocUnsafeSlow(len);\n buf.write(x, 'utf8');\n return buf.toString('utf8');\n}\n\n/**\n * Coerce a value to a string with optional default value.\n * @param val value to coerce\n * @returns the coerced value.\n */\nexport function coerceString(\n val: string | null | undefined,\n def?: string,\n): string {\n return val ?? def ?? '';\n}\n\n/**\n * Remove templates from string.\n *\n * This is more performant version of this code:\n *\n * ```\n * content\n * .replaceAll(regEx(/{{`.+?`}}/gs), '')\n * .replaceAll(regEx(/{{.+?}}/gs), '')\n * .replaceAll(regEx(/{%`.+?`%}/gs), '')\n * .replaceAll(regEx(/{%.+?%}/gs), '')\n * .replaceAll(regEx(/{#.+?#}/gs), '')\n * ```\n */\nexport function stripTemplates(content: string): string {\n const result: string[] = [];\n\n const len = content.length;\n let idx = 0;\n let lastPos = 0; // Tracks the start index of the next chunk to push\n while (idx < len) {\n if (content[idx] === '{' && idx + 1 < len) {\n let closing: string | undefined;\n let skipLength = 0;\n\n if (content[idx + 1] === '%') {\n if (idx + 2 < len && content[idx + 2] === '`') {\n // Handle `{%` ... `%}`\n closing = '`%}';\n skipLength = 3;\n } else {\n // Handle `{% ... %}`\n closing = '%}';\n skipLength = 2;\n }\n } else if (content[idx + 1] === '{') {\n if (idx + 2 < len && content[idx + 2] === '`') {\n // Handle `{{` ... `}}`\n closing = '`}}';\n skipLength = 3;\n } else {\n // Handle `{{ ... }}`\n closing = '}}';\n skipLength = 2;\n }\n } else if (content[idx + 1] === '#') {\n // Handle `{# ... #}`\n closing = '#}';\n skipLength = 2;\n }\n\n if (closing) {\n const end = content.indexOf(closing, idx + skipLength);\n if (end !== -1) {\n // Append the content before the pattern\n if (idx > lastPos) {\n result.push(content.slice(lastPos, idx));\n }\n\n // Move `idx` past the closing tag\n idx = end + closing.length;\n lastPos = idx; // Update the last position\n continue;\n }\n }\n }\n\n idx++;\n }\n\n // Append any remaining content after the last pattern\n if (lastPos < len) {\n result.push(content.slice(lastPos));\n }\n\n return result.join('');\n}\n"]}
package/dist/util/yaml.js CHANGED
@@ -7,6 +7,7 @@ exports.dump = dump;
7
7
  const yaml_1 = require("yaml");
8
8
  const logger_1 = require("../logger");
9
9
  const regex_1 = require("./regex");
10
+ const string_1 = require("./string");
10
11
  /**
11
12
  * Parse a YAML string into a JavaScript object.
12
13
  *
@@ -99,12 +100,7 @@ function dump(obj, opts) {
99
100
  }
100
101
  function massageContent(content, options) {
101
102
  if (options?.removeTemplates) {
102
- return content
103
- .replace((0, regex_1.regEx)(/\s+{{.+?}}:.+/gs), '')
104
- .replace((0, regex_1.regEx)(/{{`.+?`}}/gs), '')
105
- .replace((0, regex_1.regEx)(/{{.+?}}/gs), '')
106
- .replace((0, regex_1.regEx)(/{%`.+?`%}/gs), '')
107
- .replace((0, regex_1.regEx)(/{%.+?%}/g), '');
103
+ return (0, string_1.stripTemplates)(content.replace((0, regex_1.regEx)(/\s+{{.+?}}:.+/gs), ''));
108
104
  }
109
105
  return content;
110
106
  }
@@ -1 +1 @@
1
- {"version":3,"file":"yaml.js","sourceRoot":"","sources":["../../lib/util/yaml.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n CreateNodeOptions,\n Document,\n DocumentOptions,\n ParseOptions,\n SchemaOptions,\n ToStringOptions,\n} from 'yaml';\nimport { parseAllDocuments, parseDocument, stringify } from 'yaml';\nimport type { ZodType } from 'zod';\nimport { logger } from '../logger';\nimport { regEx } from './regex';\n\nexport interface YamlOptions<\n ResT = unknown,\n Schema extends ZodType<ResT> = ZodType<ResT>,\n> extends ParseOptions,\n DocumentOptions,\n SchemaOptions {\n customSchema?: Schema;\n removeTemplates?: boolean;\n}\n\ninterface YamlParseDocumentOptions\n extends ParseOptions,\n DocumentOptions,\n SchemaOptions {\n removeTemplates?: boolean;\n}\n\nexport interface YamlOptionsMultiple<\n ResT = unknown,\n Schema extends ZodType<ResT> = ZodType<ResT>,\n> extends YamlOptions<ResT, Schema> {\n failureBehaviour?: 'throw' | 'filter';\n}\n\nexport type DumpOptions = DocumentOptions &\n SchemaOptions &\n ParseOptions &\n CreateNodeOptions &\n ToStringOptions;\n\n/**\n * Parse a YAML string into a JavaScript object.\n *\n * Multiple documents are supported.\n *\n * If a schema is provided, the parsed object will be validated against it.\n *\n * If failureBehaviour is set to 'filter',\n * the function will return an empty array if the YAML parsing or schema validation fails and therefore will not throw an error.\n *\n * If failureBehaviour is set to 'throw',\n * the function will throw an error if the YAML parsing or schema validation fails for ANY document.\n * @param content\n * @param options\n */\nexport function parseYaml<ResT = unknown>(\n content: string,\n options?: YamlOptionsMultiple<ResT>,\n): ResT[] {\n const massagedContent = massageContent(content, options);\n\n const rawDocuments = parseAllDocuments(\n massagedContent,\n prepareParseOption(options),\n );\n\n const schema = options?.customSchema;\n\n const results: ResT[] = [];\n for (const rawDocument of rawDocuments) {\n const errors = rawDocument.errors;\n // handle YAML parse errors\n if (errors?.length) {\n const error = new AggregateError(errors, 'Failed to parse YAML file');\n if (options?.failureBehaviour === 'filter') {\n logger.debug(`Failed to parse YAML file: ${error.message}`);\n continue;\n }\n throw error;\n }\n\n const document = rawDocument.toJS({ maxAliasCount: 10000 });\n\n // skip schema validation if no schema is provided\n if (!schema) {\n results.push(document as ResT);\n continue;\n }\n\n const result = schema.safeParse(document);\n if (result.success) {\n results.push(result.data);\n continue;\n }\n\n // handle schema validation errors\n if (options?.failureBehaviour === 'filter') {\n logger.trace(\n { error: result.error, document },\n 'Failed to parse schema for YAML',\n );\n continue;\n }\n throw new Error('Failed to parse YAML file', { cause: result.error });\n }\n\n return results;\n}\n\n/**\n * Parse a YAML string into a JavaScript object.\n *\n * Only a single document is supported.\n *\n * If a schema is provided, the parsed object will be validated against it.\n * Should the YAML parsing or schemata validation fail, an error will be thrown.\n *\n * @param content\n * @param options\n */\nexport function parseSingleYaml<ResT = unknown>(\n content: string,\n options?: YamlOptions<ResT>,\n): ResT {\n const rawDocument = parseSingleYamlDocument(content, options);\n\n const document = rawDocument.toJS({ maxAliasCount: 10000 });\n const schema = options?.customSchema;\n if (!schema) {\n return document as ResT;\n }\n\n return schema.parse(document);\n}\n\n/**\n * Parse a YAML string into a Document representation.\n *\n * Only a single document is supported.\n *\n * @param content\n * @param options\n */\nexport function parseSingleYamlDocument(\n content: string,\n options?: YamlParseDocumentOptions,\n): Document {\n const massagedContent = massageContent(content, options);\n const rawDocument = parseDocument(\n massagedContent,\n prepareParseOption(options),\n );\n\n if (rawDocument?.errors?.length) {\n throw new AggregateError(rawDocument.errors, 'Failed to parse YAML file');\n }\n\n return rawDocument;\n}\n\nexport function dump(obj: any, opts?: DumpOptions): string {\n return stringify(obj, opts);\n}\n\nfunction massageContent(content: string, options?: YamlOptions): string {\n if (options?.removeTemplates) {\n return content\n .replace(regEx(/\\s+{{.+?}}:.+/gs), '')\n .replace(regEx(/{{`.+?`}}/gs), '')\n .replace(regEx(/{{.+?}}/gs), '')\n .replace(regEx(/{%`.+?`%}/gs), '')\n .replace(regEx(/{%.+?%}/g), '');\n }\n\n return content;\n}\n\nfunction prepareParseOption(options: YamlOptions | undefined): YamlOptions {\n return {\n prettyErrors: true,\n // if we're removing templates, we can run into the situation where we have duplicate keys\n uniqueKeys: !options?.removeTemplates,\n strict: false,\n ...options,\n };\n}\n"]}
1
+ {"version":3,"file":"yaml.js","sourceRoot":"","sources":["../../lib/util/yaml.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n CreateNodeOptions,\n Document,\n DocumentOptions,\n ParseOptions,\n SchemaOptions,\n ToStringOptions,\n} from 'yaml';\nimport { parseAllDocuments, parseDocument, stringify } from 'yaml';\nimport type { ZodType } from 'zod';\nimport { logger } from '../logger';\nimport { regEx } from './regex';\nimport { stripTemplates } from './string';\n\nexport interface YamlOptions<\n ResT = unknown,\n Schema extends ZodType<ResT> = ZodType<ResT>,\n> extends ParseOptions,\n DocumentOptions,\n SchemaOptions {\n customSchema?: Schema;\n removeTemplates?: boolean;\n}\n\ninterface YamlParseDocumentOptions\n extends ParseOptions,\n DocumentOptions,\n SchemaOptions {\n removeTemplates?: boolean;\n}\n\nexport interface YamlOptionsMultiple<\n ResT = unknown,\n Schema extends ZodType<ResT> = ZodType<ResT>,\n> extends YamlOptions<ResT, Schema> {\n failureBehaviour?: 'throw' | 'filter';\n}\n\nexport type DumpOptions = DocumentOptions &\n SchemaOptions &\n ParseOptions &\n CreateNodeOptions &\n ToStringOptions;\n\n/**\n * Parse a YAML string into a JavaScript object.\n *\n * Multiple documents are supported.\n *\n * If a schema is provided, the parsed object will be validated against it.\n *\n * If failureBehaviour is set to 'filter',\n * the function will return an empty array if the YAML parsing or schema validation fails and therefore will not throw an error.\n *\n * If failureBehaviour is set to 'throw',\n * the function will throw an error if the YAML parsing or schema validation fails for ANY document.\n * @param content\n * @param options\n */\nexport function parseYaml<ResT = unknown>(\n content: string,\n options?: YamlOptionsMultiple<ResT>,\n): ResT[] {\n const massagedContent = massageContent(content, options);\n\n const rawDocuments = parseAllDocuments(\n massagedContent,\n prepareParseOption(options),\n );\n\n const schema = options?.customSchema;\n\n const results: ResT[] = [];\n for (const rawDocument of rawDocuments) {\n const errors = rawDocument.errors;\n // handle YAML parse errors\n if (errors?.length) {\n const error = new AggregateError(errors, 'Failed to parse YAML file');\n if (options?.failureBehaviour === 'filter') {\n logger.debug(`Failed to parse YAML file: ${error.message}`);\n continue;\n }\n throw error;\n }\n\n const document = rawDocument.toJS({ maxAliasCount: 10000 });\n\n // skip schema validation if no schema is provided\n if (!schema) {\n results.push(document as ResT);\n continue;\n }\n\n const result = schema.safeParse(document);\n if (result.success) {\n results.push(result.data);\n continue;\n }\n\n // handle schema validation errors\n if (options?.failureBehaviour === 'filter') {\n logger.trace(\n { error: result.error, document },\n 'Failed to parse schema for YAML',\n );\n continue;\n }\n throw new Error('Failed to parse YAML file', { cause: result.error });\n }\n\n return results;\n}\n\n/**\n * Parse a YAML string into a JavaScript object.\n *\n * Only a single document is supported.\n *\n * If a schema is provided, the parsed object will be validated against it.\n * Should the YAML parsing or schemata validation fail, an error will be thrown.\n *\n * @param content\n * @param options\n */\nexport function parseSingleYaml<ResT = unknown>(\n content: string,\n options?: YamlOptions<ResT>,\n): ResT {\n const rawDocument = parseSingleYamlDocument(content, options);\n\n const document = rawDocument.toJS({ maxAliasCount: 10000 });\n const schema = options?.customSchema;\n if (!schema) {\n return document as ResT;\n }\n\n return schema.parse(document);\n}\n\n/**\n * Parse a YAML string into a Document representation.\n *\n * Only a single document is supported.\n *\n * @param content\n * @param options\n */\nexport function parseSingleYamlDocument(\n content: string,\n options?: YamlParseDocumentOptions,\n): Document {\n const massagedContent = massageContent(content, options);\n const rawDocument = parseDocument(\n massagedContent,\n prepareParseOption(options),\n );\n\n if (rawDocument?.errors?.length) {\n throw new AggregateError(rawDocument.errors, 'Failed to parse YAML file');\n }\n\n return rawDocument;\n}\n\nexport function dump(obj: any, opts?: DumpOptions): string {\n return stringify(obj, opts);\n}\n\nfunction massageContent(content: string, options?: YamlOptions): string {\n if (options?.removeTemplates) {\n return stripTemplates(content.replace(regEx(/\\s+{{.+?}}:.+/gs), ''));\n }\n\n return content;\n}\n\nfunction prepareParseOption(options: YamlOptions | undefined): YamlOptions {\n return {\n prettyErrors: true,\n // if we're removing templates, we can run into the situation where we have duplicate keys\n uniqueKeys: !options?.removeTemplates,\n strict: false,\n ...options,\n };\n}\n"]}
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- /* istanbul ignore file */
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.setBranchCache = setBranchCache;
5
4
  const error_messages_1 = require("../../constants/error-messages");
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../lib/workers/repository/cache.ts"],"names":[],"mappings":"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","sourcesContent":["/* istanbul ignore file */\n\nimport { REPOSITORY_CHANGED } from '../../constants/error-messages';\nimport { logger } from '../../logger';\nimport { platform } from '../../modules/platform';\nimport { scm } from '../../modules/platform/scm';\nimport { getCache } from '../../util/cache/repository';\nimport type {\n BranchCache,\n BranchUpgradeCache,\n} from '../../util/cache/repository/types';\nimport { getCachedBehindBaseResult } from '../../util/git/behind-base-branch-cache';\nimport { getCachedConflictResult } from '../../util/git/conflicts-cache';\nimport { getCachedModifiedResult } from '../../util/git/modified-cache';\nimport { getCachedPristineResult } from '../../util/git/pristine';\nimport type { BranchConfig, BranchUpgradeConfig } from '../types';\nimport { getPrCache } from './update/pr/pr-cache';\n\nfunction generateBranchUpgradeCache(\n upgrade: BranchUpgradeConfig,\n): BranchUpgradeCache {\n const {\n datasource,\n depName,\n depType,\n displayPending,\n packageName,\n fixedVersion,\n currentVersion,\n newVersion,\n currentValue,\n newValue,\n currentDigest,\n newDigest,\n packageFile,\n sourceUrl,\n remediationNotPossible,\n updateType,\n } = upgrade;\n const result: BranchUpgradeCache = {\n datasource,\n depName,\n depType,\n displayPending,\n fixedVersion,\n currentVersion,\n currentValue,\n newValue,\n newVersion,\n currentDigest,\n newDigest,\n packageFile,\n sourceUrl,\n remediationNotPossible,\n updateType,\n };\n if (packageName) {\n result.packageName = packageName;\n }\n return result;\n}\n\nasync function generateBranchCache(\n branch: BranchConfig,\n): Promise<BranchCache | null> {\n const { baseBranch, branchName, prBlockedBy, prTitle, result } = branch;\n try {\n const branchSha = await scm.getBranchCommit(branchName);\n const baseBranchSha = await scm.getBranchCommit(baseBranch);\n const pristine = getCachedPristineResult(branchName);\n let prNo = null;\n let isModified: boolean | undefined;\n let isBehindBase: boolean | undefined;\n let isConflicted: boolean | undefined;\n if (baseBranchSha && branchSha) {\n const branchPr = await platform.getBranchPr(branchName, baseBranch);\n if (branchPr) {\n prNo = branchPr.number;\n }\n isModified = getCachedModifiedResult(branchName, branchSha) ?? undefined;\n isBehindBase =\n getCachedBehindBaseResult(\n branchName,\n branchSha,\n baseBranch,\n baseBranchSha,\n ) ?? undefined;\n isConflicted =\n getCachedConflictResult(\n branchName,\n branchSha,\n baseBranch,\n baseBranchSha,\n ) ?? undefined;\n } else if (baseBranchSha && !branchSha && branch.prNo) {\n // if branch was deleted/ PR exists and ignored\n prNo = branch.prNo;\n }\n\n const automerge = !!branch.automerge;\n const upgrades: BranchUpgradeCache[] = branch.upgrades\n ? branch.upgrades.map(generateBranchUpgradeCache)\n : [];\n const commitFingerprint = branch.commitFingerprint;\n const prCache = getPrCache(branchName);\n\n return {\n automerge,\n baseBranchSha,\n baseBranch,\n commitFingerprint,\n branchName,\n isBehindBase,\n isConflicted,\n isModified,\n prBlockedBy,\n pristine,\n prCache,\n prNo,\n prTitle,\n result,\n sha: branchSha,\n upgrades,\n };\n } catch (error) {\n const err = error.err || error; // external host error nests err\n const errCodes = [401, 404];\n // istanbul ignore if\n if (errCodes.includes(err.response?.statusCode)) {\n logger.warn({ err, branchName }, 'HTTP error generating branch cache');\n return null;\n }\n if (err.message === REPOSITORY_CHANGED) {\n throw err;\n }\n logger.error({ err, branchName }, 'Error generating branch cache');\n return null;\n }\n}\n\nexport async function setBranchCache(branches: BranchConfig[]): Promise<void> {\n const branchCaches: BranchCache[] = [];\n for (const branch of branches) {\n const branchCache = await generateBranchCache(branch);\n if (branchCache) {\n branchCaches.push(branchCache);\n }\n }\n getCache().branches = branchCaches;\n}\n"]}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../lib/workers/repository/cache.ts"],"names":[],"mappings":"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","sourcesContent":["import { REPOSITORY_CHANGED } from '../../constants/error-messages';\nimport { logger } from '../../logger';\nimport { platform } from '../../modules/platform';\nimport { scm } from '../../modules/platform/scm';\nimport { getCache } from '../../util/cache/repository';\nimport type {\n BranchCache,\n BranchUpgradeCache,\n} from '../../util/cache/repository/types';\nimport { getCachedBehindBaseResult } from '../../util/git/behind-base-branch-cache';\nimport { getCachedConflictResult } from '../../util/git/conflicts-cache';\nimport { getCachedModifiedResult } from '../../util/git/modified-cache';\nimport { getCachedPristineResult } from '../../util/git/pristine';\nimport type { BranchConfig, BranchUpgradeConfig } from '../types';\nimport { getPrCache } from './update/pr/pr-cache';\n\nfunction generateBranchUpgradeCache(\n upgrade: BranchUpgradeConfig,\n): BranchUpgradeCache {\n const {\n datasource,\n depName,\n depType,\n displayPending,\n packageName,\n fixedVersion,\n currentVersion,\n newVersion,\n currentValue,\n newValue,\n currentDigest,\n newDigest,\n packageFile,\n sourceUrl,\n remediationNotPossible,\n updateType,\n } = upgrade;\n const result: BranchUpgradeCache = {\n datasource,\n depName,\n depType,\n displayPending,\n fixedVersion,\n currentVersion,\n currentValue,\n newValue,\n newVersion,\n currentDigest,\n newDigest,\n packageFile,\n sourceUrl,\n remediationNotPossible,\n updateType,\n };\n if (packageName) {\n result.packageName = packageName;\n }\n return result;\n}\n\nasync function generateBranchCache(\n branch: BranchConfig,\n): Promise<BranchCache | null> {\n const { baseBranch, branchName, prBlockedBy, prTitle, result } = branch;\n try {\n const branchSha = await scm.getBranchCommit(branchName);\n const baseBranchSha = await scm.getBranchCommit(baseBranch);\n const pristine = getCachedPristineResult(branchName);\n let prNo = null;\n let isModified: boolean | undefined;\n let isBehindBase: boolean | undefined;\n let isConflicted: boolean | undefined;\n if (baseBranchSha && branchSha) {\n const branchPr = await platform.getBranchPr(branchName, baseBranch);\n if (branchPr) {\n prNo = branchPr.number;\n }\n isModified = getCachedModifiedResult(branchName, branchSha) ?? undefined;\n isBehindBase =\n getCachedBehindBaseResult(\n branchName,\n branchSha,\n baseBranch,\n baseBranchSha,\n ) ?? undefined;\n isConflicted =\n getCachedConflictResult(\n branchName,\n branchSha,\n baseBranch,\n baseBranchSha,\n ) ?? undefined;\n } else if (baseBranchSha && !branchSha && branch.prNo) {\n // if branch was deleted/ PR exists and ignored\n prNo = branch.prNo;\n }\n\n const automerge = !!branch.automerge;\n const upgrades: BranchUpgradeCache[] = branch.upgrades\n ? branch.upgrades.map(generateBranchUpgradeCache)\n : [];\n const commitFingerprint = branch.commitFingerprint;\n const prCache = getPrCache(branchName);\n\n return {\n automerge,\n baseBranchSha,\n baseBranch,\n commitFingerprint,\n branchName,\n isBehindBase,\n isConflicted,\n isModified,\n prBlockedBy,\n pristine,\n prCache,\n prNo,\n prTitle,\n result,\n sha: branchSha,\n upgrades,\n };\n } catch (error) {\n const err = error.err || error; // external host error nests err\n const errCodes = [401, 404];\n // istanbul ignore if\n if (errCodes.includes(err.response?.statusCode)) {\n logger.warn({ err, branchName }, 'HTTP error generating branch cache');\n return null;\n }\n if (err.message === REPOSITORY_CHANGED) {\n throw err;\n }\n logger.error({ err, branchName }, 'Error generating branch cache');\n return null;\n }\n}\n\nexport async function setBranchCache(branches: BranchConfig[]): Promise<void> {\n const branchCaches: BranchCache[] = [];\n for (const branch of branches) {\n const branchCache = await generateBranchCache(branch);\n if (branchCache) {\n branchCaches.push(branchCache);\n }\n }\n getCache().branches = branchCaches;\n}\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "renovate",
3
3
  "description": "Automated dependency updates. Flexible so you don't need to be.",
4
- "version": "40.0.0-next.1",
4
+ "version": "40.0.0-next.11",
5
5
  "type": "commonjs",
6
6
  "bin": {
7
7
  "renovate": "dist/renovate.js",
@@ -20,15 +20,16 @@
20
20
  "doc-fix": "run-s markdown-lint-fix prettier-fix",
21
21
  "doc-fix-everything": "run-s doc-fix doc-fence-check lint-documentation",
22
22
  "doc-fence-check": "node tools/check-fenced-code.mjs",
23
- "lint-documentation": "jest --coverage false test/docs/**.spec.ts",
24
- "lint-other": "jest --coverage false test/other/**.spec.ts",
23
+ "lint-documentation": "vitest run --coverage false test/docs/**.spec.ts",
24
+ "lint-other": "vitest run --coverage false test/other/**.spec.ts",
25
25
  "eslint": "eslint . --cache --cache-location .cache/eslint",
26
26
  "eslint-fix": "eslint --cache --cache-location .cache/eslint --fix .",
27
27
  "eslint-ci": "eslint . --cache --cache-strategy content --cache-location .cache/eslint --format gha",
28
28
  "generate": "run-s 'generate:*'",
29
29
  "generate:imports": "node tools/generate-imports.mjs",
30
30
  "git-check": "node tools/check-git-version.mjs",
31
- "jest": "GIT_ALLOW_PROTOCOL=file LOG_LEVEL=fatal node --experimental-vm-modules node_modules/jest/bin/jest.js --logHeapUsage",
31
+ "jest": "GIT_ALLOW_PROTOCOL=file LOG_LEVEL=fatal vitest run --logHeapUsage",
32
+ "vitest": "GIT_ALLOW_PROTOCOL=file LOG_LEVEL=fatal vitest run --logHeapUsage",
32
33
  "lint": "run-s ls-lint type-check eslint prettier markdown-lint git-check doc-fence-check",
33
34
  "lint-fix": "run-s eslint-fix prettier-fix markdown-lint-fix",
34
35
  "ls-lint": "ls-lint",
@@ -141,7 +142,7 @@
141
142
  },
142
143
  "volta": {
143
144
  "node": "22.14.0",
144
- "pnpm": "10.4.0"
145
+ "pnpm": "10.4.1"
145
146
  },
146
147
  "dependencies": {
147
148
  "@aws-sdk/client-codecommit": "3.738.0",
@@ -223,7 +224,7 @@
223
224
  "minimatch": "10.0.1",
224
225
  "moo": "0.5.2",
225
226
  "ms": "2.1.3",
226
- "nanoid": "3.3.8",
227
+ "nanoid": "5.1.0",
227
228
  "neotraverse": "0.6.18",
228
229
  "node-html-parser": "7.0.1",
229
230
  "p-all": "3.0.0",
@@ -264,11 +265,6 @@
264
265
  "@containerbase/eslint-plugin": "1.1.4",
265
266
  "@eslint/js": "9.20.0",
266
267
  "@hyrious/marshal": "0.3.3",
267
- "@jest/environment": "29.7.0",
268
- "@jest/globals": "29.7.0",
269
- "@jest/reporters": "29.7.0",
270
- "@jest/test-result": "29.7.0",
271
- "@jest/types": "29.6.3",
272
268
  "@ls-lint/ls-lint": "2.2.3",
273
269
  "@openpgp/web-stream-tools": "0.1.3",
274
270
  "@semantic-release/exec": "7.0.3",
@@ -313,47 +309,46 @@
313
309
  "@types/url-join": "4.0.3",
314
310
  "@types/validate-npm-package-name": "4.0.2",
315
311
  "@types/xmldoc": "1.1.9",
312
+ "@vitest/coverage-v8": "3.0.6",
313
+ "@vitest/eslint-plugin": "1.1.31",
316
314
  "aws-sdk-client-mock": "4.1.0",
317
315
  "callsite": "1.0.0",
318
316
  "common-tags": "1.8.2",
319
317
  "conventional-changelog-conventionalcommits": "8.0.0",
320
318
  "emojibase-data": "16.0.2",
319
+ "esbuild": "0.25.0",
321
320
  "eslint": "9.20.1",
322
321
  "eslint-config-prettier": "10.0.1",
323
322
  "eslint-formatter-gha": "1.5.2",
324
- "eslint-import-resolver-typescript": "3.8.0",
323
+ "eslint-import-resolver-typescript": "3.8.2",
325
324
  "eslint-plugin-import": "2.31.0",
326
- "eslint-plugin-jest": "28.11.0",
327
325
  "eslint-plugin-promise": "7.2.1",
328
- "expect": "29.7.0",
329
326
  "expect-more-jest": "5.5.0",
330
327
  "globals": "15.15.0",
331
328
  "graphql": "16.10.0",
332
329
  "husky": "9.1.7",
333
- "jest": "29.7.0",
334
330
  "jest-extended": "4.0.2",
335
- "jest-mock": "29.7.0",
336
- "jest-mock-extended": "3.0.7",
337
- "jest-snapshot": "29.7.0",
338
331
  "lint-staged": "15.4.3",
339
332
  "markdownlint-cli2": "0.17.2",
340
333
  "memfs": "4.17.0",
341
334
  "nock": "13.5.6",
342
335
  "npm-run-all2": "7.0.2",
343
336
  "nyc": "17.1.0",
344
- "pretty-format": "29.7.0",
345
337
  "rimraf": "6.0.1",
346
338
  "semantic-release": "24.2.3",
347
339
  "tar": "7.4.3",
348
340
  "tmp-promise": "3.0.3",
349
- "ts-jest": "29.2.5",
350
341
  "ts-node": "10.9.2",
351
- "type-fest": "4.34.1",
342
+ "type-fest": "4.35.0",
352
343
  "typescript": "5.7.3",
353
344
  "typescript-eslint": "8.24.1",
354
- "unified": "9.2.2"
345
+ "unified": "9.2.2",
346
+ "vite": "6.1.1",
347
+ "vite-tsconfig-paths": "5.1.4",
348
+ "vitest": "3.0.6",
349
+ "vitest-mock-extended": "3.0.1"
355
350
  },
356
- "packageManager": "pnpm@10.4.0",
351
+ "packageManager": "pnpm@10.4.1",
357
352
  "files": [
358
353
  "dist",
359
354
  "renovate-schema.json"
@@ -370,7 +365,7 @@
370
365
  "re2"
371
366
  ],
372
367
  "overrides": {
373
- "@semantic-release/github>@octokit/plugin-paginate-rest": "11.4.2"
368
+ "esbuild": "0.25.0"
374
369
  },
375
370
  "patchedDependencies": {
376
371
  "re2": "patches/re2.patch"
@@ -885,6 +885,7 @@
885
885
  "type": "string",
886
886
  "enum": [
887
887
  "json",
888
+ "toml",
888
889
  "yaml"
889
890
  ]
890
891
  },
@@ -1090,7 +1091,7 @@
1090
1091
  "dockerSidecarImage": {
1091
1092
  "description": "Change this value to override the default Renovate sidecar image.",
1092
1093
  "type": "string",
1093
- "default": "ghcr.io/containerbase/sidecar:13.7.17"
1094
+ "default": "ghcr.io/containerbase/sidecar:13.8.0"
1094
1095
  },
1095
1096
  "dockerUser": {
1096
1097
  "description": "Set the `UID` and `GID` for Docker-based binaries if you use `binarySource=docker`.",