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
@@ -358,7 +358,6 @@ const staticGroups = {
358
358
  packageRules: [
359
359
  {
360
360
  commitMessageTopic: 'Node.js',
361
- groupName: 'Node.js',
362
361
  matchDatasources: ['docker', 'node-version'],
363
362
  matchPackageNames: [
364
363
  '/(?:^|/)node$/', // node or ends with "/node, except those below"
@@ -1 +1 @@
1
- {"version":3,"file":"group.js","sourceRoot":"","sources":["../../../../lib/config/presets/internal/group.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Preset } from '../types';\nimport * as monorepos from './monorepos';\n\nconst nonPinUpdateTypes = ['digest', 'patch', 'minor', 'major'];\n\n/* eslint sort-keys: [\"error\", \"asc\", {caseSensitive: false, natural: true}] */\n\nconst staticGroups = {\n all: {\n description: 'Group all updates together.',\n groupName: 'all dependencies',\n groupSlug: 'all',\n lockFileMaintenance: {\n enabled: false,\n },\n packageRules: [\n {\n groupName: 'all dependencies',\n groupSlug: 'all',\n matchPackageNames: ['*'],\n },\n ],\n\n separateMajorMinor: false,\n },\n allApollographql: {\n description: 'Group all packages published by Apollo GraphQL together.',\n packageRules: [\n {\n extends: ['packages:apollographql'],\n groupName: 'Apollo GraphQL packages',\n },\n ],\n },\n allDigest: {\n description: 'Group all `digest` updates together.',\n packageRules: [\n {\n groupName: 'all digest updates',\n groupSlug: 'all-digest',\n matchPackageNames: ['*'],\n matchUpdateTypes: ['digest'],\n },\n ],\n },\n allNonMajor: {\n description: 'Group all `minor` and `patch` updates together.',\n packageRules: [\n {\n groupName: 'all non-major dependencies',\n groupSlug: 'all-minor-patch',\n matchPackageNames: ['*'],\n matchUpdateTypes: ['minor', 'patch'],\n },\n ],\n },\n atlaskit: {\n description: 'Group all Atlassian `@atlaskit` packages together.',\n packageRules: [\n {\n extends: ['packages:atlaskit'],\n groupName: 'Atlassian Atlaskit packages',\n },\n ],\n },\n codemirror: {\n description: 'Group CodeMirror packages together.',\n packageRules: [\n {\n groupName: 'CodeMirror',\n matchPackageNames: ['@codemirror/**'],\n },\n ],\n },\n definitelyTyped: {\n description: 'Group all `@types` packages together.',\n packageRules: [\n {\n groupName: 'definitelyTyped',\n matchPackageNames: ['@types/**'],\n },\n ],\n },\n dotNetCore: {\n description: '.NET Core Docker containers.',\n packageRules: [\n {\n groupName: '.NET Core Docker containers',\n matchDatasources: ['docker'],\n matchPackageNames: ['mcr.microsoft.com/dotnet/**'],\n },\n ],\n },\n flyway: {\n description: 'Group Java Flyway packages.',\n packageRules: [\n {\n groupName: 'flyway',\n matchPackageNames: ['org.flywaydb:*', 'org.flywaydb.flyway:*'],\n },\n ],\n },\n fortawesome: {\n description: 'Group all packages by Font Awesome together.',\n packageRules: [\n {\n groupName: 'Font Awesome',\n matchPackageNames: ['@fortawesome/**'],\n },\n ],\n },\n fusionjs: {\n description: 'Group Fusion.js packages together.',\n packageRules: [\n {\n groupName: 'Fusion.js packages',\n matchPackageNames: [\n 'fusion-cli',\n 'fusion-core',\n 'fusion-test-utils',\n 'fusion-tokens',\n 'fusion-plugin-**',\n 'fusion-react**',\n 'fusion-apollo**',\n ],\n },\n ],\n },\n githubArtifactActions: {\n description:\n 'Group `download-artifact` and `upload-artifact` major updates together.',\n packageRules: [\n {\n groupName: 'GitHub Artifact Actions',\n matchManagers: ['github-actions'],\n matchPackageNames: [\n 'actions/download-artifact',\n 'actions/upload-artifact',\n ],\n matchUpdateTypes: ['major'],\n },\n ],\n },\n glimmer: {\n description: 'Group Glimmer.js packages together.',\n packageRules: [\n {\n groupName: 'Glimmer.js packages',\n groupSlug: 'glimmer',\n matchPackageNames: ['@glimmer/component', '@glimmer/tracking'],\n },\n ],\n },\n googleapis: {\n description: 'Group `googleapis` packages together.',\n packageRules: [\n {\n extends: ['packages:googleapis'],\n groupName: 'googleapis packages',\n },\n ],\n },\n goOpenapi: {\n description: 'Group `go-openapi` packages together.',\n packageRules: [\n {\n groupName: 'go-openapi packages',\n groupSlug: 'go-openapi',\n matchDatasources: ['go'],\n matchPackageNames: ['github.com/go-openapi/**'],\n },\n ],\n },\n hibernateCommons: {\n description: 'Group Java Hibernate Commons packages.',\n packageRules: [\n {\n groupName: 'hibernate commons',\n matchPackageNames: ['org.hibernate.common:**'],\n },\n ],\n },\n hibernateCore: {\n description: 'Group Java Hibernate Core packages.',\n packageRules: [\n {\n groupName: 'hibernate core',\n matchPackageNames: ['org.hibernate:**'],\n },\n ],\n },\n hibernateOgm: {\n description: 'Group Java Hibernate OGM packages.',\n packageRules: [\n {\n groupName: 'hibernate ogm',\n matchPackageNames: ['org.hibernate.ogm:**'],\n },\n ],\n },\n hibernateValidator: {\n description: 'Group Java Hibernate Validator packages.',\n packageRules: [\n {\n groupName: 'hibernate validator',\n matchPackageNames: ['org.hibernate.validator:**'],\n },\n ],\n },\n illuminate: {\n description: 'Group PHP Illuminate packages together.',\n packageRules: [\n {\n groupName: 'illuminate packages',\n groupSlug: 'illuminate',\n matchPackageNames: ['illuminate/**'],\n },\n ],\n },\n jekyllEcosystem: {\n description: 'Group Jekyll and related Ruby packages together.',\n packageRules: [\n {\n groupName: 'jekyll ecosystem packages',\n matchSourceUrls: [\n 'https://github.com/jekyll/**',\n 'https://github.com/github/pages-gem**',\n ],\n },\n ],\n },\n jestPlusTSJest: {\n description: 'Add `ts-jest` `major` update to Jest monorepo.',\n packageRules: [\n {\n groupName: 'jest monorepo',\n matchSourceUrls: ['https://github.com/kulshekhar/ts-jest'],\n matchUpdateTypes: ['major'],\n },\n ],\n },\n jestPlusTypes: {\n description: 'Add `@types/jest` update to Jest monorepo.',\n packageRules: [\n {\n groupName: 'jest monorepo',\n matchPackageNames: ['@types/jest'],\n matchUpdateTypes: nonPinUpdateTypes,\n },\n ],\n },\n jsTest: {\n description: 'Group JS test packages together.',\n packageRules: [\n {\n extends: ['packages:jsTest'],\n groupName: 'JS test packages',\n },\n ],\n },\n jsTestNonMajor: {\n description: 'Group non-major JS test package updates together.',\n packageRules: [\n {\n extends: ['packages:jsTest'],\n groupName: 'JS test packages',\n matchUpdateTypes: ['minor', 'patch'],\n },\n ],\n },\n jsUnitTest: {\n description: 'Group JavaScript unit test packages together.',\n packageRules: [\n {\n extends: ['packages:jsUnitTest'],\n groupName: 'JS unit test packages',\n },\n ],\n },\n jsUnitTestNonMajor: {\n description:\n 'Group JavaScipt unit test packages together for non-major updates.',\n packageRules: [\n {\n extends: ['packages:jsUnitTest'],\n groupName: 'JS unit test packages',\n matchUpdateTypes: ['minor', 'patch'],\n },\n ],\n },\n jwtFramework: {\n description: 'Group JWT Framework packages together.',\n packageRules: [\n {\n groupName: 'JWT Framework packages',\n matchDatasources: ['packagist'],\n matchPackageNames: ['web-token/**'],\n },\n ],\n },\n kubernetes: {\n description: 'Group Kubernetes packages together.',\n packageRules: [\n {\n groupName: 'kubernetes packages',\n groupSlug: 'kubernetes-go',\n matchDatasources: ['go'],\n matchPackageNames: [\n 'k8s.io/api**',\n 'k8s.io/apiextensions-apiserver**',\n 'k8s.io/apimachinery**',\n 'k8s.io/apiserver**',\n 'k8s.io/cli-runtime**',\n 'k8s.io/client-go**',\n 'k8s.io/cloud-provider**',\n 'k8s.io/cluster-bootstrap**',\n 'k8s.io/code-generator**',\n 'k8s.io/component-base**',\n 'k8s.io/component-helpers**',\n 'k8s.io/controller-manager**',\n 'k8s.io/cri-api**',\n // 'k8s.io/csi-api', has no go.mod set up and does not follow the versioning of other repos\n 'k8s.io/csi-translation-lib**',\n 'k8s.io/kube-aggregator**',\n 'k8s.io/kube-controller-manager**',\n 'k8s.io/kube-proxy**',\n 'k8s.io/kube-scheduler**',\n 'k8s.io/kubectl**',\n 'k8s.io/kubelet**',\n 'k8s.io/legacy-cloud-providers**',\n 'k8s.io/metrics**',\n 'k8s.io/mount-utils**',\n 'k8s.io/pod-security-admission**',\n 'k8s.io/sample-apiserver**',\n 'k8s.io/sample-cli-plugin**',\n 'k8s.io/sample-controller**',\n ],\n },\n ],\n },\n linters: {\n description: 'Group various lint packages together.',\n packageRules: [\n {\n extends: ['packages:linters'],\n groupName: 'linters',\n },\n ],\n },\n micrometer: {\n description:\n \"Group Micrometer packages together, e.g. 'io.micrometer:micrometer-core'.\",\n packageRules: [\n {\n groupName: 'micrometer',\n matchPackageNames: ['io.micrometer:micrometer-**'],\n },\n ],\n },\n nodeJs: {\n description:\n \"Group anything that looks like Node.js together so that it's updated together.\",\n packageRules: [\n {\n commitMessageTopic: 'Node.js',\n groupName: 'Node.js',\n matchDatasources: ['docker', 'node-version'],\n matchPackageNames: [\n '/(?:^|/)node$/', // node or ends with \"/node, except those below\"\n '!calico/node',\n '!docker.io/calico/node',\n '!kindest/node',\n ],\n },\n ],\n },\n phpstan: {\n description: 'Group PHPStan packages together.',\n packageRules: [\n {\n groupName: 'PHPStan packages',\n matchDatasources: ['packagist'],\n matchPackageNames: [\n 'phpstan/phpstan',\n '//phpstan-/',\n '//larastan/',\n 'phpstan/extension-installer',\n ],\n },\n ],\n },\n polymer: {\n description: 'Group all `@polymer` packages together.',\n packageRules: [\n {\n groupName: 'polymer packages',\n matchPackageNames: ['@polymer/**'],\n },\n ],\n },\n postcss: {\n description: 'Group PostCSS packages together.',\n packageRules: [\n {\n extends: ['packages:postcss'],\n groupName: 'postcss packages',\n },\n ],\n },\n pulumi: {\n description: 'Group Pulumi packages together.',\n packageRules: [\n {\n description: 'Group Pulumi Node.JS packages together.',\n groupName: 'Pulumi',\n groupSlug: 'pulumi-node',\n matchDatasources: ['npm'],\n matchPackageNames: ['@pulumi/**'],\n },\n {\n description: 'Group Pulumi Python packages together.',\n groupName: 'Pulumi',\n groupSlug: 'pulumi-python',\n matchDatasources: ['pypi'],\n matchPackageNames: ['pulumi-**'],\n },\n {\n description: 'Group Pulumi Go packages together.',\n groupName: 'Pulumi',\n groupSlug: 'pulumi-go',\n matchDatasources: ['go'],\n matchPackageNames: ['github.com/pulumi/**'],\n },\n {\n description: 'Group Pulumi Java packages together.',\n groupName: 'Pulumi',\n groupSlug: 'pulumi-java',\n matchDatasources: ['maven'],\n matchPackageNames: ['com.pulumi**'],\n },\n {\n description: 'Group Pulumi .NET packages together.',\n groupName: 'Pulumi',\n groupSlug: 'pulumi-dotnet',\n matchDatasources: ['nuget'],\n matchPackageNames: ['Pulumi**'],\n },\n ],\n },\n react: {\n description: 'Group React and corresponding `@types` packages together.',\n packageRules: [\n {\n groupName: 'react monorepo',\n matchPackageNames: [\n '@types/react',\n '@types/react-dom',\n '@types/react-is',\n ],\n },\n ],\n },\n recommended: {\n description:\n 'Use curated list of recommended non-monorepo package groupings.',\n extends: [\n 'group:nodeJs',\n 'group:allApollographql',\n 'group:codemirror',\n 'group:flyway',\n 'group:fortawesome',\n 'group:fusionjs',\n 'group:githubArtifactActions',\n 'group:glimmer',\n 'group:goOpenapi',\n 'group:hibernateCore',\n 'group:hibernateValidator',\n 'group:hibernateOgm',\n 'group:hibernateCommons',\n 'group:illuminate',\n 'group:jekyllEcosystem',\n 'group:jestPlusTSJest',\n 'group:jestPlusTypes',\n 'group:jwtFramework',\n 'group:kubernetes',\n 'group:micrometer',\n 'group:phpstan',\n 'group:polymer',\n 'group:react',\n 'group:remark',\n 'group:resilience4j',\n 'group:rubyOnRails',\n 'group:rubyOmniauth',\n 'group:socketio',\n 'group:springAmqp',\n 'group:springAndroid',\n 'group:springBatch',\n 'group:springBoot',\n 'group:springCloud',\n 'group:springCore',\n 'group:springData',\n 'group:springHateoas',\n 'group:springIntegration',\n 'group:springKafka',\n 'group:springLdap',\n 'group:springMobile',\n 'group:springOsgi',\n 'group:springRestDocs',\n 'group:springRoo',\n 'group:springScala',\n 'group:springSecurity',\n 'group:springSession',\n 'group:springShell',\n 'group:springSocial',\n 'group:springStatemachine',\n 'group:springWebflow',\n 'group:springWs',\n 'group:symfony',\n ],\n ignoreDeps: [], // Hack to improve onboarding PR description\n },\n remark: {\n description: 'Group remark packages together.',\n packageRules: [\n {\n groupName: 'remark',\n matchDatasources: ['npm'],\n matchSourceUrls: ['https://github.com/remarkjs/**'],\n },\n ],\n },\n resilience4j: {\n description: 'Group Java Resilience4j packages.',\n packageRules: [\n {\n groupName: 'resilience4j',\n matchPackageNames: ['io.github.resilience4j:**'],\n },\n ],\n },\n rubyOmniauth: {\n description: 'Group OmniAuth packages together.',\n packageRules: [\n {\n groupName: 'omniauth packages',\n matchDatasources: ['rubygems'],\n matchPackageNames: ['omniauth**'],\n },\n ],\n },\n rubyOnRails: {\n description: 'Group Ruby on Rails packages together.',\n packageRules: [\n {\n groupName: 'Ruby on Rails packages',\n matchDatasources: ['rubygems'],\n matchPackageNames: [\n 'actioncable',\n 'actionmailbox',\n 'actionmailer',\n 'actionpack',\n 'actiontext',\n 'actionview',\n 'activejob',\n 'activemodel',\n 'activerecord',\n 'activestorage',\n 'activesupport',\n 'railties',\n 'rails',\n ],\n },\n ],\n },\n socketio: {\n description: 'Group socket.io packages.',\n packageRules: [\n {\n groupName: 'socket.io packages',\n matchPackageNames: ['socket.io**'],\n },\n ],\n },\n springAmqp: {\n description: 'Group Java Spring AMQP packages.',\n packageRules: [\n {\n groupName: 'spring amqp',\n matchPackageNames: ['org.springframework.amqp:**'],\n },\n ],\n },\n springAndroid: {\n description: 'Group Java Spring Android packages.',\n packageRules: [\n {\n groupName: 'spring android',\n matchPackageNames: ['org.springframework.android:**'],\n },\n ],\n },\n springBatch: {\n description: 'Group Java Spring Batch packages.',\n packageRules: [\n {\n groupName: 'spring batch',\n matchPackageNames: ['org.springframework.batch:**'],\n },\n ],\n },\n springBoot: {\n description: 'Group Java Spring Boot packages.',\n packageRules: [\n {\n groupName: 'spring boot',\n matchDepNames: ['org.springframework.boot'],\n },\n {\n groupName: 'spring boot',\n matchPackageNames: ['org.springframework.boot:**'],\n },\n ],\n },\n springCloud: {\n description: 'Group Java Spring Cloud packages.',\n packageRules: [\n {\n groupName: 'spring cloud',\n matchPackageNames: ['org.springframework.cloud:**'],\n },\n ],\n },\n springCore: {\n description: 'Group Java Spring Core packages.',\n packageRules: [\n {\n groupName: 'spring core',\n matchPackageNames: ['org.springframework:**'],\n },\n ],\n },\n springData: {\n description: 'Group Java Spring Data packages.',\n packageRules: [\n {\n groupName: 'spring data',\n matchPackageNames: ['org.springframework.data:**'],\n },\n ],\n },\n springHateoas: {\n description: 'Group Java Spring HATEOAS packages.',\n packageRules: [\n {\n groupName: 'spring hateoas',\n matchPackageNames: ['org.springframework.hateoas:**'],\n },\n ],\n },\n springIntegration: {\n description: 'Group Java Spring Integration packages.',\n packageRules: [\n {\n groupName: 'spring integration',\n matchPackageNames: ['org.springframework.integration:**'],\n },\n ],\n },\n springKafka: {\n description: 'Group Java Spring Kafka packages.',\n packageRules: [\n {\n groupName: 'spring kafka',\n matchPackageNames: ['org.springframework.kafka:**'],\n },\n ],\n },\n springLdap: {\n description: 'Group Java Spring LDAP packages.',\n packageRules: [\n {\n groupName: 'spring ldap',\n matchPackageNames: ['org.springframework.ldap:**'],\n },\n ],\n },\n springMobile: {\n description: 'Group Java Spring Mobile packages.',\n packageRules: [\n {\n groupName: 'spring mobile',\n matchPackageNames: ['org.springframework.mobile:**'],\n },\n ],\n },\n springOsgi: {\n description: 'Group Java Spring OSGi packages.',\n packageRules: [\n {\n groupName: 'spring osgi',\n matchPackageNames: ['org.springframework.osgi:**'],\n },\n ],\n },\n springRestDocs: {\n description: 'Group Java Spring REST Docs packages.',\n packageRules: [\n {\n groupName: 'spring restdocs',\n matchPackageNames: ['org.springframework.restdocs:**'],\n },\n ],\n },\n springRoo: {\n description: 'Group Java Spring Roo packages.',\n packageRules: [\n {\n groupName: 'spring roo',\n matchPackageNames: ['org.springframework.roo:**'],\n },\n ],\n },\n springScala: {\n description: 'Group Java Spring Scala packages.',\n packageRules: [\n {\n groupName: 'spring scala',\n matchPackageNames: ['org.springframework.scala:**'],\n },\n ],\n },\n springSecurity: {\n description: 'Group Java Spring Security packages.',\n packageRules: [\n {\n groupName: 'spring security',\n matchPackageNames: ['org.springframework.security:**'],\n },\n ],\n },\n springSession: {\n description: 'Group Java Spring Session packages.',\n packageRules: [\n {\n groupName: 'spring session',\n matchPackageNames: ['org.springframework.session:**'],\n },\n ],\n },\n springShell: {\n description: 'Group Java Spring Shell packages.',\n packageRules: [\n {\n groupName: 'spring shell',\n matchPackageNames: ['org.springframework.shell:**'],\n },\n ],\n },\n springSocial: {\n description: 'Group Java Spring Social packages.',\n packageRules: [\n {\n groupName: 'spring social',\n matchPackageNames: ['org.springframework.social:**'],\n },\n ],\n },\n springStatemachine: {\n description: 'Group Java Spring Statemachine packages.',\n packageRules: [\n {\n groupName: 'spring statemachine',\n matchPackageNames: ['org.springframework.statemachine:**'],\n },\n ],\n },\n springWebflow: {\n description: 'Group Java Spring WebFlow packages.',\n packageRules: [\n {\n groupName: 'spring webflow',\n matchPackageNames: ['org.springframework.webflow:**'],\n },\n ],\n },\n springWs: {\n description: 'Group Java Spring WS packages.',\n packageRules: [\n {\n groupName: 'spring ws',\n matchPackageNames: ['org.springframework.ws:**'],\n },\n ],\n },\n symfony: {\n description: 'Group PHP Symfony packages together.',\n packageRules: [\n {\n groupName: 'symfony packages',\n groupSlug: 'symfony',\n matchPackageNames: ['symfony/**'],\n },\n ],\n },\n test: {\n description: 'Group all test packages together.',\n packageRules: [\n {\n extends: ['packages:test'],\n groupName: 'test packages',\n },\n ],\n },\n testNonMajor: {\n description: 'Group all non-major test package updates together.',\n packageRules: [\n {\n extends: ['packages:test'],\n groupName: 'test packages',\n matchUpdateTypes: ['minor', 'patch'],\n },\n ],\n },\n unitTest: {\n description: 'Group all unit test packages together.',\n packageRules: [\n {\n extends: ['packages:unitTest'],\n groupName: 'unit test packages',\n },\n ],\n },\n unitTestNonMajor: {\n description: 'Group all unit test packages together for non-major updates.',\n packageRules: [\n {\n extends: ['packages:unitTest'],\n groupName: 'unit test packages',\n matchUpdateTypes: ['minor', 'patch'],\n },\n ],\n },\n vite: {\n description: 'Group all Vite related packages together.',\n packageRules: [\n {\n extends: ['packages:vite'],\n groupName: 'Vite packages',\n },\n ],\n },\n};\n\nconst config: any = { ...staticGroups };\n\nconst monorepoNames = [];\nfor (const monorepo of Object.keys(monorepos.presets)) {\n const name = `${monorepo}Monorepo`;\n monorepoNames.push(`group:${name}`);\n config[name] = {\n packageRules: [\n {\n description: `Group packages from ${monorepo} monorepo together.`,\n extends: [`monorepo:${monorepo}`],\n groupName: `${monorepo} monorepo`,\n matchUpdateTypes: nonPinUpdateTypes,\n },\n ],\n };\n}\nconfig.monorepos = {\n description: 'Group known monorepo packages together.',\n extends: monorepoNames,\n ignoreDeps: [], // Hack to improve onboarding PR description\n};\n\nexport const presets: Record<string, Preset> = config;\n"]}
1
+ {"version":3,"file":"group.js","sourceRoot":"","sources":["../../../../lib/config/presets/internal/group.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Preset } from '../types';\nimport * as monorepos from './monorepos';\n\nconst nonPinUpdateTypes = ['digest', 'patch', 'minor', 'major'];\n\n/* eslint sort-keys: [\"error\", \"asc\", {caseSensitive: false, natural: true}] */\n\nconst staticGroups = {\n all: {\n description: 'Group all updates together.',\n groupName: 'all dependencies',\n groupSlug: 'all',\n lockFileMaintenance: {\n enabled: false,\n },\n packageRules: [\n {\n groupName: 'all dependencies',\n groupSlug: 'all',\n matchPackageNames: ['*'],\n },\n ],\n\n separateMajorMinor: false,\n },\n allApollographql: {\n description: 'Group all packages published by Apollo GraphQL together.',\n packageRules: [\n {\n extends: ['packages:apollographql'],\n groupName: 'Apollo GraphQL packages',\n },\n ],\n },\n allDigest: {\n description: 'Group all `digest` updates together.',\n packageRules: [\n {\n groupName: 'all digest updates',\n groupSlug: 'all-digest',\n matchPackageNames: ['*'],\n matchUpdateTypes: ['digest'],\n },\n ],\n },\n allNonMajor: {\n description: 'Group all `minor` and `patch` updates together.',\n packageRules: [\n {\n groupName: 'all non-major dependencies',\n groupSlug: 'all-minor-patch',\n matchPackageNames: ['*'],\n matchUpdateTypes: ['minor', 'patch'],\n },\n ],\n },\n atlaskit: {\n description: 'Group all Atlassian `@atlaskit` packages together.',\n packageRules: [\n {\n extends: ['packages:atlaskit'],\n groupName: 'Atlassian Atlaskit packages',\n },\n ],\n },\n codemirror: {\n description: 'Group CodeMirror packages together.',\n packageRules: [\n {\n groupName: 'CodeMirror',\n matchPackageNames: ['@codemirror/**'],\n },\n ],\n },\n definitelyTyped: {\n description: 'Group all `@types` packages together.',\n packageRules: [\n {\n groupName: 'definitelyTyped',\n matchPackageNames: ['@types/**'],\n },\n ],\n },\n dotNetCore: {\n description: '.NET Core Docker containers.',\n packageRules: [\n {\n groupName: '.NET Core Docker containers',\n matchDatasources: ['docker'],\n matchPackageNames: ['mcr.microsoft.com/dotnet/**'],\n },\n ],\n },\n flyway: {\n description: 'Group Java Flyway packages.',\n packageRules: [\n {\n groupName: 'flyway',\n matchPackageNames: ['org.flywaydb:*', 'org.flywaydb.flyway:*'],\n },\n ],\n },\n fortawesome: {\n description: 'Group all packages by Font Awesome together.',\n packageRules: [\n {\n groupName: 'Font Awesome',\n matchPackageNames: ['@fortawesome/**'],\n },\n ],\n },\n fusionjs: {\n description: 'Group Fusion.js packages together.',\n packageRules: [\n {\n groupName: 'Fusion.js packages',\n matchPackageNames: [\n 'fusion-cli',\n 'fusion-core',\n 'fusion-test-utils',\n 'fusion-tokens',\n 'fusion-plugin-**',\n 'fusion-react**',\n 'fusion-apollo**',\n ],\n },\n ],\n },\n githubArtifactActions: {\n description:\n 'Group `download-artifact` and `upload-artifact` major updates together.',\n packageRules: [\n {\n groupName: 'GitHub Artifact Actions',\n matchManagers: ['github-actions'],\n matchPackageNames: [\n 'actions/download-artifact',\n 'actions/upload-artifact',\n ],\n matchUpdateTypes: ['major'],\n },\n ],\n },\n glimmer: {\n description: 'Group Glimmer.js packages together.',\n packageRules: [\n {\n groupName: 'Glimmer.js packages',\n groupSlug: 'glimmer',\n matchPackageNames: ['@glimmer/component', '@glimmer/tracking'],\n },\n ],\n },\n googleapis: {\n description: 'Group `googleapis` packages together.',\n packageRules: [\n {\n extends: ['packages:googleapis'],\n groupName: 'googleapis packages',\n },\n ],\n },\n goOpenapi: {\n description: 'Group `go-openapi` packages together.',\n packageRules: [\n {\n groupName: 'go-openapi packages',\n groupSlug: 'go-openapi',\n matchDatasources: ['go'],\n matchPackageNames: ['github.com/go-openapi/**'],\n },\n ],\n },\n hibernateCommons: {\n description: 'Group Java Hibernate Commons packages.',\n packageRules: [\n {\n groupName: 'hibernate commons',\n matchPackageNames: ['org.hibernate.common:**'],\n },\n ],\n },\n hibernateCore: {\n description: 'Group Java Hibernate Core packages.',\n packageRules: [\n {\n groupName: 'hibernate core',\n matchPackageNames: ['org.hibernate:**'],\n },\n ],\n },\n hibernateOgm: {\n description: 'Group Java Hibernate OGM packages.',\n packageRules: [\n {\n groupName: 'hibernate ogm',\n matchPackageNames: ['org.hibernate.ogm:**'],\n },\n ],\n },\n hibernateValidator: {\n description: 'Group Java Hibernate Validator packages.',\n packageRules: [\n {\n groupName: 'hibernate validator',\n matchPackageNames: ['org.hibernate.validator:**'],\n },\n ],\n },\n illuminate: {\n description: 'Group PHP Illuminate packages together.',\n packageRules: [\n {\n groupName: 'illuminate packages',\n groupSlug: 'illuminate',\n matchPackageNames: ['illuminate/**'],\n },\n ],\n },\n jekyllEcosystem: {\n description: 'Group Jekyll and related Ruby packages together.',\n packageRules: [\n {\n groupName: 'jekyll ecosystem packages',\n matchSourceUrls: [\n 'https://github.com/jekyll/**',\n 'https://github.com/github/pages-gem**',\n ],\n },\n ],\n },\n jestPlusTSJest: {\n description: 'Add `ts-jest` `major` update to Jest monorepo.',\n packageRules: [\n {\n groupName: 'jest monorepo',\n matchSourceUrls: ['https://github.com/kulshekhar/ts-jest'],\n matchUpdateTypes: ['major'],\n },\n ],\n },\n jestPlusTypes: {\n description: 'Add `@types/jest` update to Jest monorepo.',\n packageRules: [\n {\n groupName: 'jest monorepo',\n matchPackageNames: ['@types/jest'],\n matchUpdateTypes: nonPinUpdateTypes,\n },\n ],\n },\n jsTest: {\n description: 'Group JS test packages together.',\n packageRules: [\n {\n extends: ['packages:jsTest'],\n groupName: 'JS test packages',\n },\n ],\n },\n jsTestNonMajor: {\n description: 'Group non-major JS test package updates together.',\n packageRules: [\n {\n extends: ['packages:jsTest'],\n groupName: 'JS test packages',\n matchUpdateTypes: ['minor', 'patch'],\n },\n ],\n },\n jsUnitTest: {\n description: 'Group JavaScript unit test packages together.',\n packageRules: [\n {\n extends: ['packages:jsUnitTest'],\n groupName: 'JS unit test packages',\n },\n ],\n },\n jsUnitTestNonMajor: {\n description:\n 'Group JavaScipt unit test packages together for non-major updates.',\n packageRules: [\n {\n extends: ['packages:jsUnitTest'],\n groupName: 'JS unit test packages',\n matchUpdateTypes: ['minor', 'patch'],\n },\n ],\n },\n jwtFramework: {\n description: 'Group JWT Framework packages together.',\n packageRules: [\n {\n groupName: 'JWT Framework packages',\n matchDatasources: ['packagist'],\n matchPackageNames: ['web-token/**'],\n },\n ],\n },\n kubernetes: {\n description: 'Group Kubernetes packages together.',\n packageRules: [\n {\n groupName: 'kubernetes packages',\n groupSlug: 'kubernetes-go',\n matchDatasources: ['go'],\n matchPackageNames: [\n 'k8s.io/api**',\n 'k8s.io/apiextensions-apiserver**',\n 'k8s.io/apimachinery**',\n 'k8s.io/apiserver**',\n 'k8s.io/cli-runtime**',\n 'k8s.io/client-go**',\n 'k8s.io/cloud-provider**',\n 'k8s.io/cluster-bootstrap**',\n 'k8s.io/code-generator**',\n 'k8s.io/component-base**',\n 'k8s.io/component-helpers**',\n 'k8s.io/controller-manager**',\n 'k8s.io/cri-api**',\n // 'k8s.io/csi-api', has no go.mod set up and does not follow the versioning of other repos\n 'k8s.io/csi-translation-lib**',\n 'k8s.io/kube-aggregator**',\n 'k8s.io/kube-controller-manager**',\n 'k8s.io/kube-proxy**',\n 'k8s.io/kube-scheduler**',\n 'k8s.io/kubectl**',\n 'k8s.io/kubelet**',\n 'k8s.io/legacy-cloud-providers**',\n 'k8s.io/metrics**',\n 'k8s.io/mount-utils**',\n 'k8s.io/pod-security-admission**',\n 'k8s.io/sample-apiserver**',\n 'k8s.io/sample-cli-plugin**',\n 'k8s.io/sample-controller**',\n ],\n },\n ],\n },\n linters: {\n description: 'Group various lint packages together.',\n packageRules: [\n {\n extends: ['packages:linters'],\n groupName: 'linters',\n },\n ],\n },\n micrometer: {\n description:\n \"Group Micrometer packages together, e.g. 'io.micrometer:micrometer-core'.\",\n packageRules: [\n {\n groupName: 'micrometer',\n matchPackageNames: ['io.micrometer:micrometer-**'],\n },\n ],\n },\n nodeJs: {\n description:\n \"Group anything that looks like Node.js together so that it's updated together.\",\n packageRules: [\n {\n commitMessageTopic: 'Node.js',\n matchDatasources: ['docker', 'node-version'],\n matchPackageNames: [\n '/(?:^|/)node$/', // node or ends with \"/node, except those below\"\n '!calico/node',\n '!docker.io/calico/node',\n '!kindest/node',\n ],\n },\n ],\n },\n phpstan: {\n description: 'Group PHPStan packages together.',\n packageRules: [\n {\n groupName: 'PHPStan packages',\n matchDatasources: ['packagist'],\n matchPackageNames: [\n 'phpstan/phpstan',\n '//phpstan-/',\n '//larastan/',\n 'phpstan/extension-installer',\n ],\n },\n ],\n },\n polymer: {\n description: 'Group all `@polymer` packages together.',\n packageRules: [\n {\n groupName: 'polymer packages',\n matchPackageNames: ['@polymer/**'],\n },\n ],\n },\n postcss: {\n description: 'Group PostCSS packages together.',\n packageRules: [\n {\n extends: ['packages:postcss'],\n groupName: 'postcss packages',\n },\n ],\n },\n pulumi: {\n description: 'Group Pulumi packages together.',\n packageRules: [\n {\n description: 'Group Pulumi Node.JS packages together.',\n groupName: 'Pulumi',\n groupSlug: 'pulumi-node',\n matchDatasources: ['npm'],\n matchPackageNames: ['@pulumi/**'],\n },\n {\n description: 'Group Pulumi Python packages together.',\n groupName: 'Pulumi',\n groupSlug: 'pulumi-python',\n matchDatasources: ['pypi'],\n matchPackageNames: ['pulumi-**'],\n },\n {\n description: 'Group Pulumi Go packages together.',\n groupName: 'Pulumi',\n groupSlug: 'pulumi-go',\n matchDatasources: ['go'],\n matchPackageNames: ['github.com/pulumi/**'],\n },\n {\n description: 'Group Pulumi Java packages together.',\n groupName: 'Pulumi',\n groupSlug: 'pulumi-java',\n matchDatasources: ['maven'],\n matchPackageNames: ['com.pulumi**'],\n },\n {\n description: 'Group Pulumi .NET packages together.',\n groupName: 'Pulumi',\n groupSlug: 'pulumi-dotnet',\n matchDatasources: ['nuget'],\n matchPackageNames: ['Pulumi**'],\n },\n ],\n },\n react: {\n description: 'Group React and corresponding `@types` packages together.',\n packageRules: [\n {\n groupName: 'react monorepo',\n matchPackageNames: [\n '@types/react',\n '@types/react-dom',\n '@types/react-is',\n ],\n },\n ],\n },\n recommended: {\n description:\n 'Use curated list of recommended non-monorepo package groupings.',\n extends: [\n 'group:nodeJs',\n 'group:allApollographql',\n 'group:codemirror',\n 'group:flyway',\n 'group:fortawesome',\n 'group:fusionjs',\n 'group:githubArtifactActions',\n 'group:glimmer',\n 'group:goOpenapi',\n 'group:hibernateCore',\n 'group:hibernateValidator',\n 'group:hibernateOgm',\n 'group:hibernateCommons',\n 'group:illuminate',\n 'group:jekyllEcosystem',\n 'group:jestPlusTSJest',\n 'group:jestPlusTypes',\n 'group:jwtFramework',\n 'group:kubernetes',\n 'group:micrometer',\n 'group:phpstan',\n 'group:polymer',\n 'group:react',\n 'group:remark',\n 'group:resilience4j',\n 'group:rubyOnRails',\n 'group:rubyOmniauth',\n 'group:socketio',\n 'group:springAmqp',\n 'group:springAndroid',\n 'group:springBatch',\n 'group:springBoot',\n 'group:springCloud',\n 'group:springCore',\n 'group:springData',\n 'group:springHateoas',\n 'group:springIntegration',\n 'group:springKafka',\n 'group:springLdap',\n 'group:springMobile',\n 'group:springOsgi',\n 'group:springRestDocs',\n 'group:springRoo',\n 'group:springScala',\n 'group:springSecurity',\n 'group:springSession',\n 'group:springShell',\n 'group:springSocial',\n 'group:springStatemachine',\n 'group:springWebflow',\n 'group:springWs',\n 'group:symfony',\n ],\n ignoreDeps: [], // Hack to improve onboarding PR description\n },\n remark: {\n description: 'Group remark packages together.',\n packageRules: [\n {\n groupName: 'remark',\n matchDatasources: ['npm'],\n matchSourceUrls: ['https://github.com/remarkjs/**'],\n },\n ],\n },\n resilience4j: {\n description: 'Group Java Resilience4j packages.',\n packageRules: [\n {\n groupName: 'resilience4j',\n matchPackageNames: ['io.github.resilience4j:**'],\n },\n ],\n },\n rubyOmniauth: {\n description: 'Group OmniAuth packages together.',\n packageRules: [\n {\n groupName: 'omniauth packages',\n matchDatasources: ['rubygems'],\n matchPackageNames: ['omniauth**'],\n },\n ],\n },\n rubyOnRails: {\n description: 'Group Ruby on Rails packages together.',\n packageRules: [\n {\n groupName: 'Ruby on Rails packages',\n matchDatasources: ['rubygems'],\n matchPackageNames: [\n 'actioncable',\n 'actionmailbox',\n 'actionmailer',\n 'actionpack',\n 'actiontext',\n 'actionview',\n 'activejob',\n 'activemodel',\n 'activerecord',\n 'activestorage',\n 'activesupport',\n 'railties',\n 'rails',\n ],\n },\n ],\n },\n socketio: {\n description: 'Group socket.io packages.',\n packageRules: [\n {\n groupName: 'socket.io packages',\n matchPackageNames: ['socket.io**'],\n },\n ],\n },\n springAmqp: {\n description: 'Group Java Spring AMQP packages.',\n packageRules: [\n {\n groupName: 'spring amqp',\n matchPackageNames: ['org.springframework.amqp:**'],\n },\n ],\n },\n springAndroid: {\n description: 'Group Java Spring Android packages.',\n packageRules: [\n {\n groupName: 'spring android',\n matchPackageNames: ['org.springframework.android:**'],\n },\n ],\n },\n springBatch: {\n description: 'Group Java Spring Batch packages.',\n packageRules: [\n {\n groupName: 'spring batch',\n matchPackageNames: ['org.springframework.batch:**'],\n },\n ],\n },\n springBoot: {\n description: 'Group Java Spring Boot packages.',\n packageRules: [\n {\n groupName: 'spring boot',\n matchDepNames: ['org.springframework.boot'],\n },\n {\n groupName: 'spring boot',\n matchPackageNames: ['org.springframework.boot:**'],\n },\n ],\n },\n springCloud: {\n description: 'Group Java Spring Cloud packages.',\n packageRules: [\n {\n groupName: 'spring cloud',\n matchPackageNames: ['org.springframework.cloud:**'],\n },\n ],\n },\n springCore: {\n description: 'Group Java Spring Core packages.',\n packageRules: [\n {\n groupName: 'spring core',\n matchPackageNames: ['org.springframework:**'],\n },\n ],\n },\n springData: {\n description: 'Group Java Spring Data packages.',\n packageRules: [\n {\n groupName: 'spring data',\n matchPackageNames: ['org.springframework.data:**'],\n },\n ],\n },\n springHateoas: {\n description: 'Group Java Spring HATEOAS packages.',\n packageRules: [\n {\n groupName: 'spring hateoas',\n matchPackageNames: ['org.springframework.hateoas:**'],\n },\n ],\n },\n springIntegration: {\n description: 'Group Java Spring Integration packages.',\n packageRules: [\n {\n groupName: 'spring integration',\n matchPackageNames: ['org.springframework.integration:**'],\n },\n ],\n },\n springKafka: {\n description: 'Group Java Spring Kafka packages.',\n packageRules: [\n {\n groupName: 'spring kafka',\n matchPackageNames: ['org.springframework.kafka:**'],\n },\n ],\n },\n springLdap: {\n description: 'Group Java Spring LDAP packages.',\n packageRules: [\n {\n groupName: 'spring ldap',\n matchPackageNames: ['org.springframework.ldap:**'],\n },\n ],\n },\n springMobile: {\n description: 'Group Java Spring Mobile packages.',\n packageRules: [\n {\n groupName: 'spring mobile',\n matchPackageNames: ['org.springframework.mobile:**'],\n },\n ],\n },\n springOsgi: {\n description: 'Group Java Spring OSGi packages.',\n packageRules: [\n {\n groupName: 'spring osgi',\n matchPackageNames: ['org.springframework.osgi:**'],\n },\n ],\n },\n springRestDocs: {\n description: 'Group Java Spring REST Docs packages.',\n packageRules: [\n {\n groupName: 'spring restdocs',\n matchPackageNames: ['org.springframework.restdocs:**'],\n },\n ],\n },\n springRoo: {\n description: 'Group Java Spring Roo packages.',\n packageRules: [\n {\n groupName: 'spring roo',\n matchPackageNames: ['org.springframework.roo:**'],\n },\n ],\n },\n springScala: {\n description: 'Group Java Spring Scala packages.',\n packageRules: [\n {\n groupName: 'spring scala',\n matchPackageNames: ['org.springframework.scala:**'],\n },\n ],\n },\n springSecurity: {\n description: 'Group Java Spring Security packages.',\n packageRules: [\n {\n groupName: 'spring security',\n matchPackageNames: ['org.springframework.security:**'],\n },\n ],\n },\n springSession: {\n description: 'Group Java Spring Session packages.',\n packageRules: [\n {\n groupName: 'spring session',\n matchPackageNames: ['org.springframework.session:**'],\n },\n ],\n },\n springShell: {\n description: 'Group Java Spring Shell packages.',\n packageRules: [\n {\n groupName: 'spring shell',\n matchPackageNames: ['org.springframework.shell:**'],\n },\n ],\n },\n springSocial: {\n description: 'Group Java Spring Social packages.',\n packageRules: [\n {\n groupName: 'spring social',\n matchPackageNames: ['org.springframework.social:**'],\n },\n ],\n },\n springStatemachine: {\n description: 'Group Java Spring Statemachine packages.',\n packageRules: [\n {\n groupName: 'spring statemachine',\n matchPackageNames: ['org.springframework.statemachine:**'],\n },\n ],\n },\n springWebflow: {\n description: 'Group Java Spring WebFlow packages.',\n packageRules: [\n {\n groupName: 'spring webflow',\n matchPackageNames: ['org.springframework.webflow:**'],\n },\n ],\n },\n springWs: {\n description: 'Group Java Spring WS packages.',\n packageRules: [\n {\n groupName: 'spring ws',\n matchPackageNames: ['org.springframework.ws:**'],\n },\n ],\n },\n symfony: {\n description: 'Group PHP Symfony packages together.',\n packageRules: [\n {\n groupName: 'symfony packages',\n groupSlug: 'symfony',\n matchPackageNames: ['symfony/**'],\n },\n ],\n },\n test: {\n description: 'Group all test packages together.',\n packageRules: [\n {\n extends: ['packages:test'],\n groupName: 'test packages',\n },\n ],\n },\n testNonMajor: {\n description: 'Group all non-major test package updates together.',\n packageRules: [\n {\n extends: ['packages:test'],\n groupName: 'test packages',\n matchUpdateTypes: ['minor', 'patch'],\n },\n ],\n },\n unitTest: {\n description: 'Group all unit test packages together.',\n packageRules: [\n {\n extends: ['packages:unitTest'],\n groupName: 'unit test packages',\n },\n ],\n },\n unitTestNonMajor: {\n description: 'Group all unit test packages together for non-major updates.',\n packageRules: [\n {\n extends: ['packages:unitTest'],\n groupName: 'unit test packages',\n matchUpdateTypes: ['minor', 'patch'],\n },\n ],\n },\n vite: {\n description: 'Group all Vite related packages together.',\n packageRules: [\n {\n extends: ['packages:vite'],\n groupName: 'Vite packages',\n },\n ],\n },\n};\n\nconst config: any = { ...staticGroups };\n\nconst monorepoNames = [];\nfor (const monorepo of Object.keys(monorepos.presets)) {\n const name = `${monorepo}Monorepo`;\n monorepoNames.push(`group:${name}`);\n config[name] = {\n packageRules: [\n {\n description: `Group packages from ${monorepo} monorepo together.`,\n extends: [`monorepo:${monorepo}`],\n groupName: `${monorepo} monorepo`,\n matchUpdateTypes: nonPinUpdateTypes,\n },\n ],\n };\n}\nconfig.monorepos = {\n description: 'Group known monorepo packages together.',\n extends: monorepoNames,\n ignoreDeps: [], // Hack to improve onboarding PR description\n};\n\nexport const presets: Record<string, Preset> = config;\n"]}
@@ -1,11 +1,11 @@
1
1
  import type { RenovateConfig } from '../types';
2
2
  export type Preset = RenovateConfig & Record<string, unknown>;
3
- export type PresetConfig = {
3
+ export interface PresetConfig {
4
4
  repo: string;
5
5
  presetPath?: string | undefined;
6
6
  presetName?: string;
7
7
  tag?: string | undefined;
8
- };
8
+ }
9
9
  export interface PresetApi {
10
10
  getPreset(config: PresetConfig): Promise<Preset | null | undefined> | Preset | null | undefined;
11
11
  }
@@ -18,11 +18,11 @@ export interface ParsedPreset {
18
18
  params?: string[] | undefined;
19
19
  }
20
20
  export type PresetFetcher = (repo: string, fileName: string, endpoint: string, tag?: string) => Promise<Preset | null | undefined>;
21
- export type FetchPresetConfig = {
21
+ export interface FetchPresetConfig {
22
22
  repo: string;
23
23
  filePreset: string;
24
24
  presetPath?: string | undefined;
25
25
  endpoint: string;
26
26
  tag?: string | undefined;
27
27
  fetch: PresetFetcher;
28
- };
28
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../lib/config/presets/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { RenovateConfig } from '../types';\n\n// TODO: Proper typing\nexport type Preset = RenovateConfig & Record<string, unknown>;\n\nexport type PresetConfig = {\n repo: string;\n presetPath?: string | undefined;\n presetName?: string;\n tag?: string | undefined;\n};\n\nexport interface PresetApi {\n getPreset(\n config: PresetConfig,\n ): Promise<Preset | null | undefined> | Preset | null | undefined;\n}\n\nexport interface ParsedPreset {\n presetSource: string;\n repo: string;\n presetPath?: string | undefined;\n presetName: string;\n tag?: string | undefined;\n params?: string[] | undefined;\n}\n\nexport type PresetFetcher = (\n repo: string,\n fileName: string,\n endpoint: string,\n tag?: string,\n) => Promise<Preset | null | undefined>;\n\nexport type FetchPresetConfig = {\n repo: string;\n filePreset: string;\n presetPath?: string | undefined;\n endpoint: string;\n tag?: string | undefined;\n fetch: PresetFetcher;\n};\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../lib/config/presets/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { RenovateConfig } from '../types';\n\n// TODO: Proper typing\nexport type Preset = RenovateConfig & Record<string, unknown>;\n\nexport interface PresetConfig {\n repo: string;\n presetPath?: string | undefined;\n presetName?: string;\n tag?: string | undefined;\n}\n\nexport interface PresetApi {\n getPreset(\n config: PresetConfig,\n ): Promise<Preset | null | undefined> | Preset | null | undefined;\n}\n\nexport interface ParsedPreset {\n presetSource: string;\n repo: string;\n presetPath?: string | undefined;\n presetName: string;\n tag?: string | undefined;\n params?: string[] | undefined;\n}\n\nexport type PresetFetcher = (\n repo: string,\n fileName: string,\n endpoint: string,\n tag?: string,\n) => Promise<Preset | null | undefined>;\n\nexport interface FetchPresetConfig {\n repo: string;\n filePreset: string;\n presetPath?: string | undefined;\n endpoint: string;\n tag?: string | undefined;\n fetch: PresetFetcher;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"config-validator.js","sourceRoot":"","sources":["../lib/config-validator.ts"],"names":[],"mappings":"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","sourcesContent":["#!/usr/bin/env node\n// istanbul ignore file\nimport 'source-map-support/register';\nimport './punycode.cjs';\nimport { dequal } from 'dequal';\nimport { pathExists, readFile } from 'fs-extra';\nimport { configFileNames } from './config/app-strings';\nimport { massageConfig } from './config/massage';\nimport { migrateConfig } from './config/migration';\nimport type { RenovateConfig } from './config/types';\nimport { validateConfig } from './config/validation';\nimport { logger } from './logger';\nimport {\n getConfig as getFileConfig,\n getParsedContent,\n} from './workers/global/config/parse/file';\n\nlet returnVal = 0;\n\nasync function validate(\n configType: 'global' | 'repo',\n desc: string,\n config: RenovateConfig,\n strict: boolean,\n isPreset = false,\n): Promise<void> {\n const { isMigrated, migratedConfig } = migrateConfig(config);\n if (isMigrated) {\n logger.warn(\n {\n oldConfig: config,\n newConfig: migratedConfig,\n },\n 'Config migration necessary',\n );\n if (strict) {\n returnVal = 1;\n }\n }\n const massagedConfig = massageConfig(migratedConfig);\n const res = await validateConfig(configType, massagedConfig, isPreset);\n if (res.errors.length) {\n logger.error(\n { file: desc, errors: res.errors },\n 'Found errors in configuration',\n );\n returnVal = 1;\n }\n if (res.warnings.length) {\n logger.warn(\n { file: desc, warnings: res.warnings },\n 'Found errors in configuration',\n );\n returnVal = 1;\n }\n}\n\ntype PackageJson = {\n renovate?: RenovateConfig;\n 'renovate-config'?: Record<string, RenovateConfig>;\n};\n\n(async () => {\n const strictArgIndex = process.argv.indexOf('--strict');\n const strict = strictArgIndex >= 0;\n if (strict) {\n process.argv.splice(strictArgIndex, 1);\n }\n if (process.argv.length > 2) {\n for (const file of process.argv.slice(2)) {\n try {\n if (!(await pathExists(file))) {\n returnVal = 1;\n logger.error({ file }, 'File does not exist');\n break;\n }\n const parsedContent = await getParsedContent(file);\n try {\n logger.info(`Validating ${file}`);\n await validate('global', file, parsedContent, strict);\n } catch (err) {\n logger.warn({ file, err }, 'File is not valid Renovate config');\n returnVal = 1;\n }\n } catch (err) {\n logger.warn({ file, err }, 'File could not be parsed');\n returnVal = 1;\n }\n }\n } else {\n for (const file of configFileNames.filter(\n (name) => name !== 'package.json',\n )) {\n try {\n if (!(await pathExists(file))) {\n continue;\n }\n const parsedContent = await getParsedContent(file);\n try {\n logger.info(`Validating ${file}`);\n await validate('repo', file, parsedContent, strict);\n } catch (err) {\n logger.warn({ file, err }, 'File is not valid Renovate config');\n returnVal = 1;\n }\n } catch (err) {\n logger.warn({ file, err }, 'File could not be parsed');\n returnVal = 1;\n }\n }\n try {\n const pkgJson = JSON.parse(\n await readFile('package.json', 'utf8'),\n ) as PackageJson;\n if (pkgJson.renovate) {\n logger.info(`Validating package.json > renovate`);\n await validate(\n 'repo',\n 'package.json > renovate',\n pkgJson.renovate,\n strict,\n );\n }\n if (pkgJson['renovate-config']) {\n logger.info(`Validating package.json > renovate-config`);\n for (const presetConfig of Object.values(pkgJson['renovate-config'])) {\n await validate(\n 'repo',\n 'package.json > renovate-config',\n presetConfig,\n strict,\n true,\n );\n }\n }\n } catch {\n // ignore\n }\n try {\n const fileConfig = await getFileConfig(process.env);\n if (!dequal(fileConfig, {})) {\n const file = process.env.RENOVATE_CONFIG_FILE ?? 'config.js';\n logger.info(`Validating ${file}`);\n try {\n await validate('global', file, fileConfig, strict);\n } catch (err) {\n logger.error({ file, err }, 'File is not valid Renovate config');\n returnVal = 1;\n }\n }\n } catch {\n // ignore\n }\n }\n if (returnVal !== 0) {\n process.exit(returnVal);\n }\n logger.info('Config validated successfully');\n})().catch((e) => {\n // eslint-disable-next-line no-console\n console.error(e);\n process.exit(99);\n});\n"]}
1
+ {"version":3,"file":"config-validator.js","sourceRoot":"","sources":["../lib/config-validator.ts"],"names":[],"mappings":"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","sourcesContent":["#!/usr/bin/env node\n// istanbul ignore file\nimport 'source-map-support/register';\nimport './punycode.cjs';\nimport { dequal } from 'dequal';\nimport { pathExists, readFile } from 'fs-extra';\nimport { configFileNames } from './config/app-strings';\nimport { massageConfig } from './config/massage';\nimport { migrateConfig } from './config/migration';\nimport type { RenovateConfig } from './config/types';\nimport { validateConfig } from './config/validation';\nimport { logger } from './logger';\nimport {\n getConfig as getFileConfig,\n getParsedContent,\n} from './workers/global/config/parse/file';\n\nlet returnVal = 0;\n\nasync function validate(\n configType: 'global' | 'repo',\n desc: string,\n config: RenovateConfig,\n strict: boolean,\n isPreset = false,\n): Promise<void> {\n const { isMigrated, migratedConfig } = migrateConfig(config);\n if (isMigrated) {\n logger.warn(\n {\n oldConfig: config,\n newConfig: migratedConfig,\n },\n 'Config migration necessary',\n );\n if (strict) {\n returnVal = 1;\n }\n }\n const massagedConfig = massageConfig(migratedConfig);\n const res = await validateConfig(configType, massagedConfig, isPreset);\n if (res.errors.length) {\n logger.error(\n { file: desc, errors: res.errors },\n 'Found errors in configuration',\n );\n returnVal = 1;\n }\n if (res.warnings.length) {\n logger.warn(\n { file: desc, warnings: res.warnings },\n 'Found errors in configuration',\n );\n returnVal = 1;\n }\n}\n\ninterface PackageJson {\n renovate?: RenovateConfig;\n 'renovate-config'?: Record<string, RenovateConfig>;\n}\n\n(async () => {\n const strictArgIndex = process.argv.indexOf('--strict');\n const strict = strictArgIndex >= 0;\n if (strict) {\n process.argv.splice(strictArgIndex, 1);\n }\n if (process.argv.length > 2) {\n for (const file of process.argv.slice(2)) {\n try {\n if (!(await pathExists(file))) {\n returnVal = 1;\n logger.error({ file }, 'File does not exist');\n break;\n }\n const parsedContent = await getParsedContent(file);\n try {\n logger.info(`Validating ${file}`);\n await validate('global', file, parsedContent, strict);\n } catch (err) {\n logger.warn({ file, err }, 'File is not valid Renovate config');\n returnVal = 1;\n }\n } catch (err) {\n logger.warn({ file, err }, 'File could not be parsed');\n returnVal = 1;\n }\n }\n } else {\n for (const file of configFileNames.filter(\n (name) => name !== 'package.json',\n )) {\n try {\n if (!(await pathExists(file))) {\n continue;\n }\n const parsedContent = await getParsedContent(file);\n try {\n logger.info(`Validating ${file}`);\n await validate('repo', file, parsedContent, strict);\n } catch (err) {\n logger.warn({ file, err }, 'File is not valid Renovate config');\n returnVal = 1;\n }\n } catch (err) {\n logger.warn({ file, err }, 'File could not be parsed');\n returnVal = 1;\n }\n }\n try {\n const pkgJson = JSON.parse(\n await readFile('package.json', 'utf8'),\n ) as PackageJson;\n if (pkgJson.renovate) {\n logger.info(`Validating package.json > renovate`);\n await validate(\n 'repo',\n 'package.json > renovate',\n pkgJson.renovate,\n strict,\n );\n }\n if (pkgJson['renovate-config']) {\n logger.info(`Validating package.json > renovate-config`);\n for (const presetConfig of Object.values(pkgJson['renovate-config'])) {\n await validate(\n 'repo',\n 'package.json > renovate-config',\n presetConfig,\n strict,\n true,\n );\n }\n }\n } catch {\n // ignore\n }\n try {\n const fileConfig = await getFileConfig(process.env);\n if (!dequal(fileConfig, {})) {\n const file = process.env.RENOVATE_CONFIG_FILE ?? 'config.js';\n logger.info(`Validating ${file}`);\n try {\n await validate('global', file, fileConfig, strict);\n } catch (err) {\n logger.error({ file, err }, 'File is not valid Renovate config');\n returnVal = 1;\n }\n }\n } catch {\n // ignore\n }\n }\n if (returnVal !== 0) {\n process.exit(returnVal);\n }\n logger.info('Config validated successfully');\n})().catch((e) => {\n // eslint-disable-next-line no-console\n console.error(e);\n process.exit(99);\n});\n"]}
@@ -83,7 +83,7 @@ function prepareZodIssues(input) {
83
83
  }
84
84
  }
85
85
  if (entries.length > 3) {
86
- output['___'] = `... ${entries.length - 3} more`;
86
+ output.___ = `... ${entries.length - 3} more`;
87
87
  }
88
88
  return output;
89
89
  }
@@ -91,7 +91,9 @@ function prepareZodError(err) {
91
91
  // istanbul ignore next
92
92
  Object.defineProperty(err, 'message', {
93
93
  get: () => 'Schema error',
94
- set: () => { },
94
+ set: () => {
95
+ // intentionally empty
96
+ },
95
97
  });
96
98
  return {
97
99
  message: err.message,
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/logger/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { Stream } from 'node:stream';\nimport is from '@sindresorhus/is';\nimport bunyan from 'bunyan';\nimport fs from 'fs-extra';\nimport { RequestError as HttpError } from 'got';\nimport { ZodError } from 'zod';\nimport { regEx } from '../util/regex';\nimport { redactedFields, sanitize } from '../util/sanitize';\nimport type { BunyanRecord, BunyanStream } from './types';\n\nconst excludeProps = ['pid', 'time', 'v', 'hostname'];\n\nexport class ProblemStream extends Stream {\n private _problems: BunyanRecord[] = [];\n\n readable: boolean;\n\n writable: boolean;\n\n constructor() {\n super();\n this.readable = false;\n this.writable = true;\n }\n\n write(data: BunyanRecord): boolean {\n const problem = { ...data };\n for (const prop of excludeProps) {\n delete problem[prop];\n }\n this._problems.push(problem);\n return true;\n }\n\n getProblems(): BunyanRecord[] {\n return this._problems;\n }\n\n clearProblems(): void {\n this._problems = [];\n }\n}\n\nconst contentFields = [\n 'content',\n 'contents',\n 'packageLockParsed',\n 'yarnLockParsed',\n];\n\ntype ZodShortenedIssue =\n | null\n | string\n | string[]\n | {\n [key: string]: ZodShortenedIssue;\n };\n\nexport function prepareZodIssues(input: unknown): ZodShortenedIssue {\n // istanbul ignore if\n if (!is.plainObject(input)) {\n return null;\n }\n\n let err: null | string | string[] = null;\n if (is.array(input._errors, is.string)) {\n // istanbul ignore else\n if (input._errors.length === 1) {\n err = input._errors[0];\n } else if (input._errors.length > 1) {\n err = input._errors;\n } else {\n err = null;\n }\n }\n delete input._errors;\n\n if (is.emptyObject(input)) {\n return err;\n }\n\n const output: Record<string, ZodShortenedIssue> = {};\n const entries = Object.entries(input);\n for (const [key, value] of entries.slice(0, 3)) {\n const child = prepareZodIssues(value);\n if (child !== null) {\n output[key] = child;\n }\n }\n\n if (entries.length > 3) {\n output['___'] = `... ${entries.length - 3} more`;\n }\n\n return output;\n}\n\nexport function prepareZodError(err: ZodError): Record<string, unknown> {\n // istanbul ignore next\n Object.defineProperty(err, 'message', {\n get: () => 'Schema error',\n set: () => {},\n });\n\n return {\n message: err.message,\n stack: err.stack,\n issues: prepareZodIssues(err.format()),\n };\n}\n\nexport default function prepareError(err: Error): Record<string, unknown> {\n if (err instanceof ZodError) {\n return prepareZodError(err);\n }\n\n const response: Record<string, unknown> = {\n ...err,\n };\n\n // Required as message is non-enumerable\n if (!response.message && err.message) {\n response.message = err.message;\n }\n\n // Required as stack is non-enumerable\n if (!response.stack && err.stack) {\n response.stack = err.stack;\n }\n\n // handle got error\n if (err instanceof HttpError) {\n const options: Record<string, unknown> = {\n headers: structuredClone(err.options.headers),\n url: err.options.url?.toString(),\n hostType: err.options.context.hostType,\n };\n response.options = options;\n\n options.username = err.options.username;\n options.password = err.options.password;\n options.method = err.options.method;\n options.http2 = err.options.http2;\n\n // istanbul ignore else\n if (err.response) {\n response.response = {\n statusCode: err.response?.statusCode,\n statusMessage: err.response?.statusMessage,\n body:\n // istanbul ignore next: not easily testable\n err.name === 'TimeoutError'\n ? undefined\n : structuredClone(err.response.body),\n headers: structuredClone(err.response.headers),\n httpVersion: err.response.httpVersion,\n retryCount: err.response.retryCount,\n };\n }\n }\n\n return response;\n}\n\ntype NestedValue = unknown[] | object;\n\nfunction isNested(value: unknown): value is NestedValue {\n return is.array(value) || is.object(value);\n}\n\nexport function sanitizeValue(\n value: unknown,\n seen = new WeakMap<NestedValue, unknown>(),\n): any {\n if (is.string(value)) {\n return sanitize(sanitizeUrls(value));\n }\n\n if (is.date(value)) {\n return value;\n }\n\n if (is.function_(value)) {\n return '[function]';\n }\n\n if (is.buffer(value)) {\n return '[content]';\n }\n\n if (is.error(value)) {\n const err = prepareError(value);\n return sanitizeValue(err, seen);\n }\n\n if (is.array(value)) {\n const length = value.length;\n const arrayResult = Array(length);\n seen.set(value, arrayResult);\n for (let idx = 0; idx < length; idx += 1) {\n const val = value[idx];\n arrayResult[idx] =\n isNested(val) && seen.has(val)\n ? seen.get(val)\n : sanitizeValue(val, seen);\n }\n return arrayResult;\n }\n\n if (is.object(value)) {\n const objectResult: Record<string, any> = {};\n seen.set(value, objectResult);\n for (const [key, val] of Object.entries<any>(value)) {\n let curValue: any;\n if (!val) {\n curValue = val;\n } else if (redactedFields.includes(key)) {\n // Do not mask/sanitize secrets templates\n if (is.string(val) && regEx(/^{{\\s*secrets\\..*}}$/).test(val)) {\n curValue = val;\n } else {\n curValue = '***********';\n }\n } else if (contentFields.includes(key)) {\n curValue = '[content]';\n } else if (key === 'secrets') {\n curValue = {};\n Object.keys(val).forEach((secretKey) => {\n curValue[secretKey] = '***********';\n });\n } else {\n curValue = seen.has(val) ? seen.get(val) : sanitizeValue(val, seen);\n }\n\n objectResult[key] = curValue;\n }\n\n return objectResult;\n }\n\n return value;\n}\n\nexport function withSanitizer(streamConfig: bunyan.Stream): bunyan.Stream {\n if (streamConfig.type === 'rotating-file') {\n throw new Error(\"Rotating files aren't supported\");\n }\n\n const stream = streamConfig.stream as BunyanStream;\n if (stream?.writable) {\n const write = (\n chunk: BunyanRecord,\n enc: BufferEncoding,\n cb: (err?: Error | null) => void,\n ): void => {\n const raw = sanitizeValue(chunk);\n const result =\n streamConfig.type === 'raw'\n ? raw\n : JSON.stringify(raw, bunyan.safeCycles()).replace(/\\n?$/, '\\n'); // TODO #12874\n stream.write(result, enc, cb);\n };\n\n return {\n ...streamConfig,\n type: 'raw',\n stream: { write },\n } as bunyan.Stream;\n }\n\n if (streamConfig.path) {\n const fileStream = fs.createWriteStream(streamConfig.path, {\n flags: 'a',\n encoding: 'utf8',\n });\n\n return withSanitizer({ ...streamConfig, stream: fileStream });\n }\n\n throw new Error(\"Missing 'stream' or 'path' for bunyan stream\");\n}\n\n/**\n * A function that terminates execution if the log level that was entered is\n * not a valid value for the Bunyan logger.\n * @param logLevelToCheck\n * @returns returns the logLevel when the logLevelToCheck is valid or the defaultLevel passed as argument when it is undefined. Else it stops execution.\n */\nexport function validateLogLevel(\n logLevelToCheck: string | undefined,\n defaultLevel: bunyan.LogLevelString,\n): bunyan.LogLevelString {\n const allowedValues: bunyan.LogLevelString[] = [\n 'trace',\n 'debug',\n 'info',\n 'warn',\n 'error',\n 'fatal',\n ];\n\n if (\n is.undefined(logLevelToCheck) ||\n (is.string(logLevelToCheck) &&\n allowedValues.includes(logLevelToCheck as bunyan.LogLevelString))\n ) {\n // log level is in the allowed values or its undefined\n return (logLevelToCheck as bunyan.LogLevelString) ?? defaultLevel;\n }\n\n const logger = bunyan.createLogger({\n name: 'renovate',\n streams: [\n {\n level: 'fatal',\n stream: process.stdout,\n },\n ],\n });\n logger.fatal({ logLevel: logLevelToCheck }, 'Invalid log level');\n process.exit(1);\n}\n\n// Can't use `util/regex` because of circular reference to logger\nconst urlRe = /[a-z]{3,9}:\\/\\/[^@/]+@[a-z0-9.-]+/gi;\nconst urlCredRe = /\\/\\/[^@]+@/g;\nconst dataUriCredRe = /^(data:[0-9a-z-]+\\/[0-9a-z-]+;).+/i;\n\nexport function sanitizeUrls(text: string): string {\n return text\n .replace(urlRe, (url) => {\n return url.replace(urlCredRe, '//**redacted**@');\n })\n .replace(dataUriCredRe, '$1**redacted**');\n}\n\nexport function getEnv(key: string): string | undefined {\n return [process.env[`RENOVATE_${key}`], process.env[key]]\n .map((v) => v?.toLowerCase().trim())\n .find(is.nonEmptyStringAndNotWhitespace);\n}\n\nexport function getMessage(\n p1: string | Record<string, any>,\n p2?: string,\n): string | undefined {\n return is.string(p1) ? p1 : p2;\n}\n\nexport function toMeta(\n p1: string | Record<string, any>,\n): Record<string, unknown> {\n return is.object(p1) ? p1 : {};\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/logger/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { Stream } from 'node:stream';\nimport is from '@sindresorhus/is';\nimport bunyan from 'bunyan';\nimport fs from 'fs-extra';\nimport { RequestError as HttpError } from 'got';\nimport { ZodError } from 'zod';\nimport { regEx } from '../util/regex';\nimport { redactedFields, sanitize } from '../util/sanitize';\nimport type { BunyanRecord, BunyanStream } from './types';\n\nconst excludeProps = ['pid', 'time', 'v', 'hostname'];\n\nexport class ProblemStream extends Stream {\n private _problems: BunyanRecord[] = [];\n\n readable: boolean;\n\n writable: boolean;\n\n constructor() {\n super();\n this.readable = false;\n this.writable = true;\n }\n\n write(data: BunyanRecord): boolean {\n const problem = { ...data };\n for (const prop of excludeProps) {\n delete problem[prop];\n }\n this._problems.push(problem);\n return true;\n }\n\n getProblems(): BunyanRecord[] {\n return this._problems;\n }\n\n clearProblems(): void {\n this._problems = [];\n }\n}\n\nconst contentFields = [\n 'content',\n 'contents',\n 'packageLockParsed',\n 'yarnLockParsed',\n];\n\ntype ZodShortenedIssue =\n | null\n | string\n | string[]\n | {\n [key: string]: ZodShortenedIssue;\n };\n\nexport function prepareZodIssues(input: unknown): ZodShortenedIssue {\n // istanbul ignore if\n if (!is.plainObject(input)) {\n return null;\n }\n\n let err: null | string | string[] = null;\n if (is.array(input._errors, is.string)) {\n // istanbul ignore else\n if (input._errors.length === 1) {\n err = input._errors[0];\n } else if (input._errors.length > 1) {\n err = input._errors;\n } else {\n err = null;\n }\n }\n delete input._errors;\n\n if (is.emptyObject(input)) {\n return err;\n }\n\n const output: Record<string, ZodShortenedIssue> = {};\n const entries = Object.entries(input);\n for (const [key, value] of entries.slice(0, 3)) {\n const child = prepareZodIssues(value);\n if (child !== null) {\n output[key] = child;\n }\n }\n\n if (entries.length > 3) {\n output.___ = `... ${entries.length - 3} more`;\n }\n\n return output;\n}\n\nexport function prepareZodError(err: ZodError): Record<string, unknown> {\n // istanbul ignore next\n Object.defineProperty(err, 'message', {\n get: () => 'Schema error',\n set: () => {\n // intentionally empty\n },\n });\n\n return {\n message: err.message,\n stack: err.stack,\n issues: prepareZodIssues(err.format()),\n };\n}\n\nexport default function prepareError(err: Error): Record<string, unknown> {\n if (err instanceof ZodError) {\n return prepareZodError(err);\n }\n\n const response: Record<string, unknown> = {\n ...err,\n };\n\n // Required as message is non-enumerable\n if (!response.message && err.message) {\n response.message = err.message;\n }\n\n // Required as stack is non-enumerable\n if (!response.stack && err.stack) {\n response.stack = err.stack;\n }\n\n // handle got error\n if (err instanceof HttpError) {\n const options: Record<string, unknown> = {\n headers: structuredClone(err.options.headers),\n url: err.options.url?.toString(),\n hostType: err.options.context.hostType,\n };\n response.options = options;\n\n options.username = err.options.username;\n options.password = err.options.password;\n options.method = err.options.method;\n options.http2 = err.options.http2;\n\n // istanbul ignore else\n if (err.response) {\n response.response = {\n statusCode: err.response?.statusCode,\n statusMessage: err.response?.statusMessage,\n body:\n // istanbul ignore next: not easily testable\n err.name === 'TimeoutError'\n ? undefined\n : structuredClone(err.response.body),\n headers: structuredClone(err.response.headers),\n httpVersion: err.response.httpVersion,\n retryCount: err.response.retryCount,\n };\n }\n }\n\n return response;\n}\n\ntype NestedValue = unknown[] | object;\n\nfunction isNested(value: unknown): value is NestedValue {\n return is.array(value) || is.object(value);\n}\n\nexport function sanitizeValue(\n value: unknown,\n seen = new WeakMap<NestedValue, unknown>(),\n): any {\n if (is.string(value)) {\n return sanitize(sanitizeUrls(value));\n }\n\n if (is.date(value)) {\n return value;\n }\n\n if (is.function_(value)) {\n return '[function]';\n }\n\n if (is.buffer(value)) {\n return '[content]';\n }\n\n if (is.error(value)) {\n const err = prepareError(value);\n return sanitizeValue(err, seen);\n }\n\n if (is.array(value)) {\n const length = value.length;\n const arrayResult = Array(length);\n seen.set(value, arrayResult);\n for (let idx = 0; idx < length; idx += 1) {\n const val = value[idx];\n arrayResult[idx] =\n isNested(val) && seen.has(val)\n ? seen.get(val)\n : sanitizeValue(val, seen);\n }\n return arrayResult;\n }\n\n if (is.object(value)) {\n const objectResult: Record<string, any> = {};\n seen.set(value, objectResult);\n for (const [key, val] of Object.entries<any>(value)) {\n let curValue: any;\n if (!val) {\n curValue = val;\n } else if (redactedFields.includes(key)) {\n // Do not mask/sanitize secrets templates\n if (is.string(val) && regEx(/^{{\\s*secrets\\..*}}$/).test(val)) {\n curValue = val;\n } else {\n curValue = '***********';\n }\n } else if (contentFields.includes(key)) {\n curValue = '[content]';\n } else if (key === 'secrets') {\n curValue = {};\n Object.keys(val).forEach((secretKey) => {\n curValue[secretKey] = '***********';\n });\n } else {\n curValue = seen.has(val) ? seen.get(val) : sanitizeValue(val, seen);\n }\n\n objectResult[key] = curValue;\n }\n\n return objectResult;\n }\n\n return value;\n}\n\nexport function withSanitizer(streamConfig: bunyan.Stream): bunyan.Stream {\n if (streamConfig.type === 'rotating-file') {\n throw new Error(\"Rotating files aren't supported\");\n }\n\n const stream = streamConfig.stream as BunyanStream;\n if (stream?.writable) {\n const write = (\n chunk: BunyanRecord,\n enc: BufferEncoding,\n cb: (err?: Error | null) => void,\n ): void => {\n const raw = sanitizeValue(chunk);\n const result =\n streamConfig.type === 'raw'\n ? raw\n : JSON.stringify(raw, bunyan.safeCycles()).replace(/\\n?$/, '\\n'); // TODO #12874\n stream.write(result, enc, cb);\n };\n\n return {\n ...streamConfig,\n type: 'raw',\n stream: { write },\n } as bunyan.Stream;\n }\n\n if (streamConfig.path) {\n const fileStream = fs.createWriteStream(streamConfig.path, {\n flags: 'a',\n encoding: 'utf8',\n });\n\n return withSanitizer({ ...streamConfig, stream: fileStream });\n }\n\n throw new Error(\"Missing 'stream' or 'path' for bunyan stream\");\n}\n\n/**\n * A function that terminates execution if the log level that was entered is\n * not a valid value for the Bunyan logger.\n * @param logLevelToCheck\n * @returns returns the logLevel when the logLevelToCheck is valid or the defaultLevel passed as argument when it is undefined. Else it stops execution.\n */\nexport function validateLogLevel(\n logLevelToCheck: string | undefined,\n defaultLevel: bunyan.LogLevelString,\n): bunyan.LogLevelString {\n const allowedValues: bunyan.LogLevelString[] = [\n 'trace',\n 'debug',\n 'info',\n 'warn',\n 'error',\n 'fatal',\n ];\n\n if (\n is.undefined(logLevelToCheck) ||\n (is.string(logLevelToCheck) &&\n allowedValues.includes(logLevelToCheck as bunyan.LogLevelString))\n ) {\n // log level is in the allowed values or its undefined\n return (logLevelToCheck as bunyan.LogLevelString) ?? defaultLevel;\n }\n\n const logger = bunyan.createLogger({\n name: 'renovate',\n streams: [\n {\n level: 'fatal',\n stream: process.stdout,\n },\n ],\n });\n logger.fatal({ logLevel: logLevelToCheck }, 'Invalid log level');\n process.exit(1);\n}\n\n// Can't use `util/regex` because of circular reference to logger\nconst urlRe = /[a-z]{3,9}:\\/\\/[^@/]+@[a-z0-9.-]+/gi;\nconst urlCredRe = /\\/\\/[^@]+@/g;\nconst dataUriCredRe = /^(data:[0-9a-z-]+\\/[0-9a-z-]+;).+/i;\n\nexport function sanitizeUrls(text: string): string {\n return text\n .replace(urlRe, (url) => {\n return url.replace(urlCredRe, '//**redacted**@');\n })\n .replace(dataUriCredRe, '$1**redacted**');\n}\n\nexport function getEnv(key: string): string | undefined {\n return [process.env[`RENOVATE_${key}`], process.env[key]]\n .map((v) => v?.toLowerCase().trim())\n .find(is.nonEmptyStringAndNotWhitespace);\n}\n\nexport function getMessage(\n p1: string | Record<string, any>,\n p2?: string,\n): string | undefined {\n return is.string(p1) ? p1 : p2;\n}\n\nexport function toMeta(\n p1: string | Record<string, any>,\n): Record<string, unknown> {\n return is.object(p1) ? p1 : {};\n}\n"]}
@@ -47,7 +47,7 @@ class ArtifactoryDatasource extends datasource_1.Datasource {
47
47
  .forEach(
48
48
  // extract version and published time for each node
49
49
  (node) => {
50
- const version = node.innerHTML.slice(-1) === '/'
50
+ const version = node.innerHTML.endsWith('/')
51
51
  ? node.innerHTML.slice(0, -1)
52
52
  : node.innerHTML;
53
53
  const releaseTimestamp = (0, timestamp_1.asTimestamp)(node.nextSibling?.text?.trimStart()?.split((0, regex_1.regEx)(/\s{2,}/))?.[0]);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/artifactory/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { logger } from '../../../logger';\nimport { cache } from '../../../util/cache/package/decorator';\nimport { parse } from '../../../util/html';\nimport { HttpError } from '../../../util/http';\nimport { regEx } from '../../../util/regex';\nimport { asTimestamp } from '../../../util/timestamp';\nimport { joinUrlParts } from '../../../util/url';\nimport { Datasource } from '../datasource';\nimport type { GetReleasesConfig, Release, ReleaseResult } from '../types';\nimport { datasource } from './common';\n\nexport class ArtifactoryDatasource extends Datasource {\n static readonly id = datasource;\n\n constructor() {\n super(datasource);\n }\n\n override readonly customRegistrySupport = true;\n\n override readonly caching = true;\n\n override readonly registryStrategy = 'merge';\n\n override readonly releaseTimestampSupport = true;\n override readonly releaseTimestampNote =\n 'The release timestamp is determined from the date-like text, next to the version hyperlink tag in the results.';\n\n @cache({\n namespace: `datasource-${datasource}`,\n key: ({ registryUrl, packageName }: GetReleasesConfig) =>\n // TODO: types (#22198)\n `${registryUrl}:${packageName}`,\n })\n async getReleases({\n packageName,\n registryUrl,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n if (!registryUrl) {\n logger.warn(\n { packageName },\n 'artifactory datasource requires custom registryUrl. Skipping datasource',\n );\n return null;\n }\n\n const url = joinUrlParts(registryUrl, packageName);\n\n const result: ReleaseResult = {\n releases: [],\n };\n try {\n const response = await this.http.get(url);\n const body = parse(response.body, {\n blockTextElements: {\n script: true,\n noscript: true,\n style: true,\n },\n });\n const nodes = body.querySelectorAll('a');\n\n nodes\n .filter(\n // filter out hyperlink to navigate to parent folder\n (node) => node.innerHTML !== '../' && node.innerHTML !== '..',\n )\n .forEach(\n // extract version and published time for each node\n (node) => {\n const version: string =\n node.innerHTML.slice(-1) === '/'\n ? node.innerHTML.slice(0, -1)\n : node.innerHTML;\n\n const releaseTimestamp = asTimestamp(\n node.nextSibling?.text?.trimStart()?.split(regEx(/\\s{2,}/))?.[0],\n );\n\n const thisRelease: Release = {\n version,\n releaseTimestamp,\n };\n\n result.releases.push(thisRelease);\n },\n );\n\n if (result.releases.length) {\n logger.trace(\n { registryUrl, packageName, versions: result.releases.length },\n 'artifactory: Found versions',\n );\n } else {\n logger.trace(\n { registryUrl, packageName },\n 'artifactory: No versions found',\n );\n }\n } catch (err) {\n // istanbul ignore else: not testable with nock\n if (err instanceof HttpError) {\n if (err.response?.statusCode === 404) {\n logger.warn(\n { registryUrl, packageName },\n 'artifactory: `Not Found` error',\n );\n return null;\n }\n }\n this.handleGenericErrors(err);\n }\n\n return result.releases.length ? result : null;\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/artifactory/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { logger } from '../../../logger';\nimport { cache } from '../../../util/cache/package/decorator';\nimport { parse } from '../../../util/html';\nimport { HttpError } from '../../../util/http';\nimport { regEx } from '../../../util/regex';\nimport { asTimestamp } from '../../../util/timestamp';\nimport { joinUrlParts } from '../../../util/url';\nimport { Datasource } from '../datasource';\nimport type { GetReleasesConfig, Release, ReleaseResult } from '../types';\nimport { datasource } from './common';\n\nexport class ArtifactoryDatasource extends Datasource {\n static readonly id = datasource;\n\n constructor() {\n super(datasource);\n }\n\n override readonly customRegistrySupport = true;\n\n override readonly caching = true;\n\n override readonly registryStrategy = 'merge';\n\n override readonly releaseTimestampSupport = true;\n override readonly releaseTimestampNote =\n 'The release timestamp is determined from the date-like text, next to the version hyperlink tag in the results.';\n\n @cache({\n namespace: `datasource-${datasource}`,\n key: ({ registryUrl, packageName }: GetReleasesConfig) =>\n // TODO: types (#22198)\n `${registryUrl}:${packageName}`,\n })\n async getReleases({\n packageName,\n registryUrl,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n if (!registryUrl) {\n logger.warn(\n { packageName },\n 'artifactory datasource requires custom registryUrl. Skipping datasource',\n );\n return null;\n }\n\n const url = joinUrlParts(registryUrl, packageName);\n\n const result: ReleaseResult = {\n releases: [],\n };\n try {\n const response = await this.http.get(url);\n const body = parse(response.body, {\n blockTextElements: {\n script: true,\n noscript: true,\n style: true,\n },\n });\n const nodes = body.querySelectorAll('a');\n\n nodes\n .filter(\n // filter out hyperlink to navigate to parent folder\n (node) => node.innerHTML !== '../' && node.innerHTML !== '..',\n )\n .forEach(\n // extract version and published time for each node\n (node) => {\n const version: string = node.innerHTML.endsWith('/')\n ? node.innerHTML.slice(0, -1)\n : node.innerHTML;\n\n const releaseTimestamp = asTimestamp(\n node.nextSibling?.text?.trimStart()?.split(regEx(/\\s{2,}/))?.[0],\n );\n\n const thisRelease: Release = {\n version,\n releaseTimestamp,\n };\n\n result.releases.push(thisRelease);\n },\n );\n\n if (result.releases.length) {\n logger.trace(\n { registryUrl, packageName, versions: result.releases.length },\n 'artifactory: Found versions',\n );\n } else {\n logger.trace(\n { registryUrl, packageName },\n 'artifactory: No versions found',\n );\n }\n } catch (err) {\n // istanbul ignore else: not testable with nock\n if (err instanceof HttpError) {\n if (err.response?.statusCode === 404) {\n logger.warn(\n { registryUrl, packageName },\n 'artifactory: `Not Found` error',\n );\n return null;\n }\n }\n this.handleGenericErrors(err);\n }\n\n return result.releases.length ? result : null;\n }\n}\n"]}
@@ -67,7 +67,7 @@ class ConanDatasource extends datasource_1.Datasource {
67
67
  try {
68
68
  if ((0, util_1.isArtifactoryServer)(rep)) {
69
69
  const conanApiRegexp = /(?<host>.*)\/artifactory\/api\/conan\/(?<repo>[^/]+)/;
70
- const groups = url.match(conanApiRegexp)?.groups;
70
+ const groups = conanApiRegexp.exec(url)?.groups;
71
71
  if (!groups) {
72
72
  return dep;
73
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/conan/index.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { cache } from '../../../util/cache/package/decorator';\nimport { GithubHttp } from '../../../util/http/github';\nimport { ensureTrailingSlash, joinUrlParts } from '../../../util/url';\nimport * as allVersioning from '../../versioning';\nimport { Datasource } from '../datasource';\nimport type {\n DigestConfig,\n GetReleasesConfig,\n Release,\n ReleaseResult,\n} from '../types';\nimport { isArtifactoryServer } from '../util';\nimport { datasource, defaultRegistryUrl, getConanPackage } from './common';\nimport {\n ConanCenterReleases,\n ConanJSON,\n ConanLatestRevision,\n ConanProperties,\n ConanRevisionJSON,\n} from './schema';\n\nexport class ConanDatasource extends Datasource {\n static readonly id = datasource;\n\n override readonly defaultRegistryUrls = [defaultRegistryUrl];\n\n override readonly caching = true;\n\n override readonly registryStrategy = 'merge';\n\n githubHttp: GithubHttp;\n\n override readonly sourceUrlSupport = 'package';\n override readonly sourceUrlNote =\n 'The source URL is supported only if the package is served from the Artifactory servers. In which case we determine it from the `properties[conan.package.url]` field in the results.';\n\n constructor(id = ConanDatasource.id) {\n super(id);\n this.githubHttp = new GithubHttp(id);\n }\n\n async getConanCenterReleases(\n conanName: string,\n userAndChannel: string,\n ): Promise<ReleaseResult | null> {\n if (userAndChannel && userAndChannel !== '@_/_') {\n logger.debug(\n { conanName, userAndChannel },\n 'User/channel not supported for Conan Center lookups',\n );\n return null;\n }\n const url = `https://api.github.com/repos/conan-io/conan-center-index/contents/recipes/${conanName}/config.yml`;\n const { body: result } = await this.githubHttp.getYaml(\n url,\n { headers: { accept: 'application/vnd.github.v3.raw' } },\n ConanCenterReleases,\n );\n return result;\n }\n\n @cache({\n namespace: `datasource-${datasource}`,\n key: ({ registryUrl, packageName }: DigestConfig, newValue?: string) =>\n // TODO: types (#22198)\n `getDigest:${registryUrl!}:${packageName}:${newValue!}`,\n })\n override async getDigest(\n { registryUrl, packageName }: DigestConfig,\n newValue?: string,\n ): Promise<string | null> {\n if (is.undefined(newValue) || is.undefined(registryUrl)) {\n return null;\n }\n const url = ensureTrailingSlash(registryUrl);\n const conanPackage = getConanPackage(packageName);\n const revisionLookUp = joinUrlParts(\n url,\n 'v2/conans/',\n conanPackage.conanName,\n newValue,\n conanPackage.userAndChannel,\n '/revisions',\n );\n const { body: digest } = await this.http.getJson(\n revisionLookUp,\n ConanLatestRevision,\n );\n return digest;\n }\n\n @cache({\n namespace: `datasource-${datasource}`,\n key: ({ registryUrl, packageName }: GetReleasesConfig) =>\n // TODO: types (#22198)\n `getReleases:${registryUrl}:${packageName}`,\n })\n async getReleases({\n registryUrl,\n packageName,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n const conanPackage = getConanPackage(packageName);\n const userAndChannel = '@' + conanPackage.userAndChannel;\n if (\n is.string(registryUrl) &&\n ensureTrailingSlash(registryUrl) === defaultRegistryUrl\n ) {\n return this.getConanCenterReleases(\n conanPackage.conanName,\n userAndChannel,\n );\n }\n\n logger.trace(\n { packageName, registryUrl },\n 'Looking up conan api dependency',\n );\n\n if (registryUrl) {\n const url = ensureTrailingSlash(registryUrl);\n const lookupUrl = joinUrlParts(\n url,\n `v2/conans/search?q=${conanPackage.conanName}`,\n );\n\n try {\n const rep = await this.http.getJsonUnchecked(lookupUrl);\n const conanJson = ConanJSON.parse(rep.body);\n if (conanJson) {\n logger.trace({ lookupUrl }, 'Got conan api result');\n const dep: ReleaseResult = { releases: [] };\n\n const conanJsonReleases: Release[] = conanJson\n .filter(({ userChannel }) => userChannel === userAndChannel)\n .map(({ version }) => ({ version }));\n dep.releases.push(...conanJsonReleases);\n\n try {\n if (isArtifactoryServer(rep)) {\n const conanApiRegexp =\n /(?<host>.*)\\/artifactory\\/api\\/conan\\/(?<repo>[^/]+)/;\n const groups = url.match(conanApiRegexp)?.groups;\n if (!groups) {\n return dep;\n }\n const semver = allVersioning.get('semver');\n\n const sortedReleases = dep.releases\n .filter((release) => semver.isVersion(release.version))\n .sort((a, b) => semver.sortVersions(a.version, b.version));\n\n const latestVersion = sortedReleases.at(-1)?.version;\n\n if (!latestVersion) {\n return dep;\n }\n logger.debug(\n `Conan package ${packageName} has latest version ${latestVersion}`,\n );\n\n const latestRevisionUrl = joinUrlParts(\n url,\n `v2/conans/${conanPackage.conanName}/${latestVersion}/${conanPackage.userAndChannel}/latest`,\n );\n const {\n body: { revision: packageRev },\n } = await this.http.getJson(latestRevisionUrl, ConanRevisionJSON);\n\n const [user, channel] = conanPackage.userAndChannel.split('/');\n const packageUrl = joinUrlParts(\n `${groups.host}/artifactory/api/storage/${groups.repo}`,\n `${user}/${conanPackage.conanName}/${latestVersion}/${channel}/${packageRev}/export/conanfile.py?properties=conan.package.url`,\n );\n const { body: conanProperties } = await this.http.getJson(\n packageUrl,\n ConanProperties,\n );\n const { sourceUrl } = conanProperties;\n if (sourceUrl) {\n dep.sourceUrl = sourceUrl;\n }\n }\n } catch (err) {\n logger.debug({ err }, \"Couldn't determine Conan package url\");\n }\n return dep;\n }\n } catch (err) {\n this.handleGenericErrors(err);\n }\n }\n\n return null;\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/conan/index.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { cache } from '../../../util/cache/package/decorator';\nimport { GithubHttp } from '../../../util/http/github';\nimport { ensureTrailingSlash, joinUrlParts } from '../../../util/url';\nimport * as allVersioning from '../../versioning';\nimport { Datasource } from '../datasource';\nimport type {\n DigestConfig,\n GetReleasesConfig,\n Release,\n ReleaseResult,\n} from '../types';\nimport { isArtifactoryServer } from '../util';\nimport { datasource, defaultRegistryUrl, getConanPackage } from './common';\nimport {\n ConanCenterReleases,\n ConanJSON,\n ConanLatestRevision,\n ConanProperties,\n ConanRevisionJSON,\n} from './schema';\n\nexport class ConanDatasource extends Datasource {\n static readonly id = datasource;\n\n override readonly defaultRegistryUrls = [defaultRegistryUrl];\n\n override readonly caching = true;\n\n override readonly registryStrategy = 'merge';\n\n githubHttp: GithubHttp;\n\n override readonly sourceUrlSupport = 'package';\n override readonly sourceUrlNote =\n 'The source URL is supported only if the package is served from the Artifactory servers. In which case we determine it from the `properties[conan.package.url]` field in the results.';\n\n constructor(id = ConanDatasource.id) {\n super(id);\n this.githubHttp = new GithubHttp(id);\n }\n\n async getConanCenterReleases(\n conanName: string,\n userAndChannel: string,\n ): Promise<ReleaseResult | null> {\n if (userAndChannel && userAndChannel !== '@_/_') {\n logger.debug(\n { conanName, userAndChannel },\n 'User/channel not supported for Conan Center lookups',\n );\n return null;\n }\n const url = `https://api.github.com/repos/conan-io/conan-center-index/contents/recipes/${conanName}/config.yml`;\n const { body: result } = await this.githubHttp.getYaml(\n url,\n { headers: { accept: 'application/vnd.github.v3.raw' } },\n ConanCenterReleases,\n );\n return result;\n }\n\n @cache({\n namespace: `datasource-${datasource}`,\n key: ({ registryUrl, packageName }: DigestConfig, newValue?: string) =>\n // TODO: types (#22198)\n `getDigest:${registryUrl!}:${packageName}:${newValue!}`,\n })\n override async getDigest(\n { registryUrl, packageName }: DigestConfig,\n newValue?: string,\n ): Promise<string | null> {\n if (is.undefined(newValue) || is.undefined(registryUrl)) {\n return null;\n }\n const url = ensureTrailingSlash(registryUrl);\n const conanPackage = getConanPackage(packageName);\n const revisionLookUp = joinUrlParts(\n url,\n 'v2/conans/',\n conanPackage.conanName,\n newValue,\n conanPackage.userAndChannel,\n '/revisions',\n );\n const { body: digest } = await this.http.getJson(\n revisionLookUp,\n ConanLatestRevision,\n );\n return digest;\n }\n\n @cache({\n namespace: `datasource-${datasource}`,\n key: ({ registryUrl, packageName }: GetReleasesConfig) =>\n // TODO: types (#22198)\n `getReleases:${registryUrl}:${packageName}`,\n })\n async getReleases({\n registryUrl,\n packageName,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n const conanPackage = getConanPackage(packageName);\n const userAndChannel = '@' + conanPackage.userAndChannel;\n if (\n is.string(registryUrl) &&\n ensureTrailingSlash(registryUrl) === defaultRegistryUrl\n ) {\n return this.getConanCenterReleases(\n conanPackage.conanName,\n userAndChannel,\n );\n }\n\n logger.trace(\n { packageName, registryUrl },\n 'Looking up conan api dependency',\n );\n\n if (registryUrl) {\n const url = ensureTrailingSlash(registryUrl);\n const lookupUrl = joinUrlParts(\n url,\n `v2/conans/search?q=${conanPackage.conanName}`,\n );\n\n try {\n const rep = await this.http.getJsonUnchecked(lookupUrl);\n const conanJson = ConanJSON.parse(rep.body);\n if (conanJson) {\n logger.trace({ lookupUrl }, 'Got conan api result');\n const dep: ReleaseResult = { releases: [] };\n\n const conanJsonReleases: Release[] = conanJson\n .filter(({ userChannel }) => userChannel === userAndChannel)\n .map(({ version }) => ({ version }));\n dep.releases.push(...conanJsonReleases);\n\n try {\n if (isArtifactoryServer(rep)) {\n const conanApiRegexp =\n /(?<host>.*)\\/artifactory\\/api\\/conan\\/(?<repo>[^/]+)/;\n const groups = conanApiRegexp.exec(url)?.groups;\n if (!groups) {\n return dep;\n }\n const semver = allVersioning.get('semver');\n\n const sortedReleases = dep.releases\n .filter((release) => semver.isVersion(release.version))\n .sort((a, b) => semver.sortVersions(a.version, b.version));\n\n const latestVersion = sortedReleases.at(-1)?.version;\n\n if (!latestVersion) {\n return dep;\n }\n logger.debug(\n `Conan package ${packageName} has latest version ${latestVersion}`,\n );\n\n const latestRevisionUrl = joinUrlParts(\n url,\n `v2/conans/${conanPackage.conanName}/${latestVersion}/${conanPackage.userAndChannel}/latest`,\n );\n const {\n body: { revision: packageRev },\n } = await this.http.getJson(latestRevisionUrl, ConanRevisionJSON);\n\n const [user, channel] = conanPackage.userAndChannel.split('/');\n const packageUrl = joinUrlParts(\n `${groups.host}/artifactory/api/storage/${groups.repo}`,\n `${user}/${conanPackage.conanName}/${latestVersion}/${channel}/${packageRev}/export/conanfile.py?properties=conan.package.url`,\n );\n const { body: conanProperties } = await this.http.getJson(\n packageUrl,\n ConanProperties,\n );\n const { sourceUrl } = conanProperties;\n if (sourceUrl) {\n dep.sourceUrl = sourceUrl;\n }\n }\n } catch (err) {\n logger.debug({ err }, \"Couldn't determine Conan package url\");\n }\n return dep;\n }\n } catch (err) {\n this.handleGenericErrors(err);\n }\n }\n\n return null;\n }\n}\n"]}