renovate 41.72.0 → 42.0.0-next.2

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 (220) hide show
  1. package/dist/modules/datasource/aws-eks-addon/schema.d.ts +8 -1
  2. package/dist/modules/datasource/aws-eks-addon/schema.js +5 -7
  3. package/dist/modules/datasource/aws-eks-addon/schema.js.map +1 -1
  4. package/dist/modules/datasource/buildpacks-registry/index.js +1 -1
  5. package/dist/modules/datasource/buildpacks-registry/index.js.map +1 -1
  6. package/dist/modules/datasource/buildpacks-registry/schema.d.ts +1 -1
  7. package/dist/modules/datasource/buildpacks-registry/schema.js +2 -2
  8. package/dist/modules/datasource/buildpacks-registry/schema.js.map +1 -1
  9. package/dist/modules/datasource/cdnjs/index.js +2 -2
  10. package/dist/modules/datasource/cdnjs/index.js.map +1 -1
  11. package/dist/modules/datasource/cdnjs/schema.d.ts +2 -2
  12. package/dist/modules/datasource/cdnjs/schema.js +3 -3
  13. package/dist/modules/datasource/cdnjs/schema.js.map +1 -1
  14. package/dist/modules/datasource/conda/prefix-dev.js +1 -1
  15. package/dist/modules/datasource/conda/prefix-dev.js.map +1 -1
  16. package/dist/modules/datasource/conda/schema/prefix-dev.d.ts +1 -1
  17. package/dist/modules/datasource/conda/schema/prefix-dev.js +2 -2
  18. package/dist/modules/datasource/conda/schema/prefix-dev.js.map +1 -1
  19. package/dist/modules/datasource/cpan/schema.js +2 -2
  20. package/dist/modules/datasource/cpan/schema.js.map +1 -1
  21. package/dist/modules/datasource/crate/index.js +1 -1
  22. package/dist/modules/datasource/crate/index.js.map +1 -1
  23. package/dist/modules/datasource/crate/schema.d.ts +1 -1
  24. package/dist/modules/datasource/crate/schema.js +2 -2
  25. package/dist/modules/datasource/crate/schema.js.map +1 -1
  26. package/dist/modules/datasource/custom/index.d.ts +1 -1
  27. package/dist/modules/datasource/custom/index.js +2 -2
  28. package/dist/modules/datasource/custom/index.js.map +1 -1
  29. package/dist/modules/datasource/custom/schema.d.ts +1 -1
  30. package/dist/modules/datasource/custom/schema.js +2 -2
  31. package/dist/modules/datasource/custom/schema.js.map +1 -1
  32. package/dist/modules/datasource/forgejo-releases/index.js +3 -3
  33. package/dist/modules/datasource/forgejo-releases/index.js.map +1 -1
  34. package/dist/modules/datasource/forgejo-releases/schema.d.ts +2 -2
  35. package/dist/modules/datasource/forgejo-releases/schema.js +3 -3
  36. package/dist/modules/datasource/forgejo-releases/schema.js.map +1 -1
  37. package/dist/modules/datasource/forgejo-tags/index.js +3 -3
  38. package/dist/modules/datasource/forgejo-tags/index.js.map +1 -1
  39. package/dist/modules/datasource/forgejo-tags/schema.d.ts +4 -4
  40. package/dist/modules/datasource/forgejo-tags/schema.js +7 -7
  41. package/dist/modules/datasource/forgejo-tags/schema.js.map +1 -1
  42. package/dist/modules/datasource/gitea-releases/index.js +3 -3
  43. package/dist/modules/datasource/gitea-releases/index.js.map +1 -1
  44. package/dist/modules/datasource/gitea-releases/schema.d.ts +2 -2
  45. package/dist/modules/datasource/gitea-releases/schema.js +3 -3
  46. package/dist/modules/datasource/gitea-releases/schema.js.map +1 -1
  47. package/dist/modules/datasource/gitea-tags/index.js +3 -3
  48. package/dist/modules/datasource/gitea-tags/index.js.map +1 -1
  49. package/dist/modules/datasource/gitea-tags/schema.d.ts +4 -4
  50. package/dist/modules/datasource/gitea-tags/schema.js +7 -7
  51. package/dist/modules/datasource/gitea-tags/schema.js.map +1 -1
  52. package/dist/modules/datasource/helm/index.js +1 -1
  53. package/dist/modules/datasource/helm/index.js.map +1 -1
  54. package/dist/modules/datasource/helm/schema.d.ts +2 -2
  55. package/dist/modules/datasource/helm/schema.js +4 -4
  56. package/dist/modules/datasource/helm/schema.js.map +1 -1
  57. package/dist/modules/manager/argocd/extract.js +1 -1
  58. package/dist/modules/manager/argocd/extract.js.map +1 -1
  59. package/dist/modules/manager/argocd/schema.d.ts +1 -1
  60. package/dist/modules/manager/argocd/schema.js +2 -2
  61. package/dist/modules/manager/argocd/schema.js.map +1 -1
  62. package/dist/modules/manager/batect/extract.js +1 -1
  63. package/dist/modules/manager/batect/extract.js.map +1 -1
  64. package/dist/modules/manager/batect/schema.d.ts +2 -2
  65. package/dist/modules/manager/batect/schema.js +2 -2
  66. package/dist/modules/manager/batect/schema.js.map +1 -1
  67. package/dist/modules/manager/bazel-module/parser/fragments.d.ts +21 -21
  68. package/dist/modules/manager/bazel-module/parser/fragments.js +32 -32
  69. package/dist/modules/manager/bazel-module/parser/fragments.js.map +1 -1
  70. package/dist/modules/manager/bazel-module/parser/maven.js +7 -7
  71. package/dist/modules/manager/bazel-module/parser/maven.js.map +1 -1
  72. package/dist/modules/manager/bazel-module/parser/oci.js +5 -5
  73. package/dist/modules/manager/bazel-module/parser/oci.js.map +1 -1
  74. package/dist/modules/manager/bazel-module/rules.js +18 -18
  75. package/dist/modules/manager/bazel-module/rules.js.map +1 -1
  76. package/dist/modules/manager/cargo/extract.js +2 -2
  77. package/dist/modules/manager/cargo/extract.js.map +1 -1
  78. package/dist/modules/manager/cargo/locked-version.d.ts +2 -2
  79. package/dist/modules/manager/cargo/locked-version.js +1 -1
  80. package/dist/modules/manager/cargo/locked-version.js.map +1 -1
  81. package/dist/modules/manager/cargo/schema.d.ts +32 -5
  82. package/dist/modules/manager/cargo/schema.js +8 -7
  83. package/dist/modules/manager/cargo/schema.js.map +1 -1
  84. package/dist/modules/manager/crossplane/extract.js +1 -1
  85. package/dist/modules/manager/crossplane/extract.js.map +1 -1
  86. package/dist/modules/manager/crossplane/schema.d.ts +2 -2
  87. package/dist/modules/manager/crossplane/schema.js +2 -2
  88. package/dist/modules/manager/crossplane/schema.js.map +1 -1
  89. package/dist/modules/manager/custom/jsonata/schema.d.ts +1 -1
  90. package/dist/modules/manager/custom/jsonata/schema.js +4 -4
  91. package/dist/modules/manager/custom/jsonata/schema.js.map +1 -1
  92. package/dist/modules/manager/custom/jsonata/utils.js +1 -1
  93. package/dist/modules/manager/custom/jsonata/utils.js.map +1 -1
  94. package/dist/modules/manager/devbox/extract.js +1 -1
  95. package/dist/modules/manager/devbox/extract.js.map +1 -1
  96. package/dist/modules/manager/devbox/schema.d.ts +1 -1
  97. package/dist/modules/manager/devbox/schema.js +2 -2
  98. package/dist/modules/manager/devbox/schema.js.map +1 -1
  99. package/dist/modules/manager/fingerprint.generated.js +2 -2
  100. package/dist/modules/manager/fingerprint.generated.js.map +1 -1
  101. package/dist/modules/manager/github-actions/community.js +10 -10
  102. package/dist/modules/manager/github-actions/community.js.map +1 -1
  103. package/dist/modules/manager/github-actions/extract.js +1 -1
  104. package/dist/modules/manager/github-actions/extract.js.map +1 -1
  105. package/dist/modules/manager/github-actions/schema.d.ts +3 -3
  106. package/dist/modules/manager/github-actions/schema.js +7 -7
  107. package/dist/modules/manager/github-actions/schema.js.map +1 -1
  108. package/dist/modules/manager/helmfile/extract.js.map +1 -1
  109. package/dist/modules/manager/mise/backends.d.ts +2 -2
  110. package/dist/modules/manager/mise/backends.js.map +1 -1
  111. package/dist/modules/manager/mise/extract.js.map +1 -1
  112. package/dist/modules/manager/mise/schema.d.ts +29 -6
  113. package/dist/modules/manager/mise/schema.js +8 -7
  114. package/dist/modules/manager/mise/schema.js.map +1 -1
  115. package/dist/modules/manager/mise/utils.d.ts +2 -2
  116. package/dist/modules/manager/mise/utils.js +1 -1
  117. package/dist/modules/manager/mise/utils.js.map +1 -1
  118. package/dist/modules/manager/npm/extract/index.js.map +1 -1
  119. package/dist/modules/manager/npm/extract/pnpm.d.ts +3 -4
  120. package/dist/modules/manager/npm/extract/pnpm.js +1 -1
  121. package/dist/modules/manager/npm/extract/pnpm.js.map +1 -1
  122. package/dist/modules/manager/npm/extract/yarnrc.d.ts +4 -4
  123. package/dist/modules/manager/npm/extract/yarnrc.js +2 -1
  124. package/dist/modules/manager/npm/extract/yarnrc.js.map +1 -1
  125. package/dist/modules/manager/npm/post-update/types.d.ts +5 -5
  126. package/dist/modules/manager/npm/post-update/types.js.map +1 -1
  127. package/dist/modules/manager/npm/post-update/utils.d.ts +4 -4
  128. package/dist/modules/manager/npm/post-update/utils.js.map +1 -1
  129. package/dist/modules/manager/npm/schema.d.ts +92 -10
  130. package/dist/modules/manager/npm/schema.js +16 -15
  131. package/dist/modules/manager/npm/schema.js.map +1 -1
  132. package/dist/modules/manager/npm/update/dependency/pnpm.js +1 -1
  133. package/dist/modules/manager/npm/update/dependency/pnpm.js.map +1 -1
  134. package/dist/modules/manager/nuget/schema.d.ts +55 -2
  135. package/dist/modules/manager/nuget/schema.js +6 -5
  136. package/dist/modules/manager/nuget/schema.js.map +1 -1
  137. package/dist/modules/manager/ocb/extract.js +1 -1
  138. package/dist/modules/manager/ocb/extract.js.map +1 -1
  139. package/dist/modules/manager/ocb/schema.d.ts +4 -4
  140. package/dist/modules/manager/ocb/schema.js +9 -9
  141. package/dist/modules/manager/ocb/schema.js.map +1 -1
  142. package/dist/modules/manager/pep621/extract.d.ts +1 -1
  143. package/dist/modules/manager/pep621/extract.js +1 -1
  144. package/dist/modules/manager/pep621/extract.js.map +1 -1
  145. package/dist/modules/manager/pep621/processors/pdm.js +1 -1
  146. package/dist/modules/manager/pep621/processors/pdm.js.map +1 -1
  147. package/dist/modules/manager/pep621/processors/uv.js +1 -1
  148. package/dist/modules/manager/pep621/processors/uv.js.map +1 -1
  149. package/dist/modules/manager/pep621/schema.d.ts +247 -9
  150. package/dist/modules/manager/pep621/schema.js +12 -10
  151. package/dist/modules/manager/pep621/schema.js.map +1 -1
  152. package/dist/modules/manager/pep723/extract.js +1 -1
  153. package/dist/modules/manager/pep723/extract.js.map +1 -1
  154. package/dist/modules/manager/pep723/schema.d.ts +1 -1
  155. package/dist/modules/manager/pep723/schema.js +2 -2
  156. package/dist/modules/manager/pep723/schema.js.map +1 -1
  157. package/dist/modules/manager/pixi/extract.js +7 -4
  158. package/dist/modules/manager/pixi/extract.js.map +1 -1
  159. package/dist/modules/manager/pixi/schema.d.ts +4 -296
  160. package/dist/modules/manager/pixi/schema.js +4 -11
  161. package/dist/modules/manager/pixi/schema.js.map +1 -1
  162. package/dist/modules/manager/poetry/artifacts.js +2 -2
  163. package/dist/modules/manager/poetry/artifacts.js.map +1 -1
  164. package/dist/modules/manager/poetry/extract.js +1 -1
  165. package/dist/modules/manager/poetry/extract.js.map +1 -1
  166. package/dist/modules/manager/poetry/schema.d.ts +107 -4
  167. package/dist/modules/manager/poetry/schema.js +6 -5
  168. package/dist/modules/manager/poetry/schema.js.map +1 -1
  169. package/dist/modules/manager/poetry/update-locked.js +2 -2
  170. package/dist/modules/manager/poetry/update-locked.js.map +1 -1
  171. package/dist/modules/manager/pub/extract.js.map +1 -1
  172. package/dist/modules/manager/pub/schema.d.ts +82 -4
  173. package/dist/modules/manager/pub/schema.js +10 -8
  174. package/dist/modules/manager/pub/schema.js.map +1 -1
  175. package/dist/modules/manager/pub/utils.d.ts +3 -3
  176. package/dist/modules/manager/pub/utils.js +2 -2
  177. package/dist/modules/manager/pub/utils.js.map +1 -1
  178. package/dist/modules/manager/renovate-config-presets/extract.js +1 -1
  179. package/dist/modules/manager/renovate-config-presets/extract.js.map +1 -1
  180. package/dist/modules/manager/renovate-config-presets/schema.d.ts +1 -1
  181. package/dist/modules/manager/renovate-config-presets/schema.js +2 -2
  182. package/dist/modules/manager/renovate-config-presets/schema.js.map +1 -1
  183. package/dist/modules/platform/azure/azure-helper.js +1 -1
  184. package/dist/modules/platform/azure/azure-helper.js.map +1 -1
  185. package/dist/modules/platform/azure/schema.d.ts +3 -3
  186. package/dist/modules/platform/azure/schema.js +4 -4
  187. package/dist/modules/platform/azure/schema.js.map +1 -1
  188. package/dist/modules/platform/bitbucket/schema.d.ts +1 -1
  189. package/dist/modules/platform/bitbucket/schema.js +7 -7
  190. package/dist/modules/platform/bitbucket/schema.js.map +1 -1
  191. package/dist/modules/platform/bitbucket-server/index.js +2 -2
  192. package/dist/modules/platform/bitbucket-server/index.js.map +1 -1
  193. package/dist/modules/platform/bitbucket-server/schema.d.ts +2 -2
  194. package/dist/modules/platform/bitbucket-server/schema.js +6 -6
  195. package/dist/modules/platform/bitbucket-server/schema.js.map +1 -1
  196. package/dist/modules/platform/gitea/schema.d.ts +3 -3
  197. package/dist/modules/platform/gitea/schema.js +3 -3
  198. package/dist/modules/platform/gitea/schema.js.map +1 -1
  199. package/dist/modules/platform/github/index.js +1 -1
  200. package/dist/modules/platform/github/index.js.map +1 -1
  201. package/dist/modules/platform/github/schema.d.ts +1 -2
  202. package/dist/modules/platform/github/schema.js +8 -8
  203. package/dist/modules/platform/github/schema.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/emoji.js +2 -2
  207. package/dist/util/emoji.js.map +1 -1
  208. package/dist/util/http/cache/abstract-http-cache-provider.d.ts +1 -1
  209. package/dist/util/http/cache/abstract-http-cache-provider.js +2 -2
  210. package/dist/util/http/cache/abstract-http-cache-provider.js.map +1 -1
  211. package/dist/util/http/cache/schema.d.ts +2 -2
  212. package/dist/util/http/cache/schema.js +2 -2
  213. package/dist/util/http/cache/schema.js.map +1 -1
  214. package/dist/workers/repository/update/pr/changelog/bitbucket/index.js +1 -1
  215. package/dist/workers/repository/update/pr/changelog/bitbucket/index.js.map +1 -1
  216. package/dist/workers/repository/update/pr/changelog/forgejo/index.js +3 -3
  217. package/dist/workers/repository/update/pr/changelog/forgejo/index.js.map +1 -1
  218. package/dist/workers/repository/update/pr/changelog/gitea/index.js +3 -3
  219. package/dist/workers/repository/update/pr/changelog/gitea/index.js.map +1 -1
  220. package/package.json +1 -1
@@ -37,11 +37,11 @@ function bazelModulePackageDepToPackageDependency(bmpd) {
37
37
  }
38
38
  return copy;
39
39
  }
40
- const BazelDepToPackageDep = fragments_1.RuleFragment.extend({
40
+ const BazelDepToPackageDep = fragments_1.RuleFragmentSchema.extend({
41
41
  rule: zod_1.z.literal('bazel_dep'),
42
42
  children: zod_1.z.object({
43
- name: fragments_1.StringFragment,
44
- version: fragments_1.StringFragment.optional(),
43
+ name: fragments_1.StringFragmentSchema,
44
+ version: fragments_1.StringFragmentSchema.optional(),
45
45
  }),
46
46
  }).transform(({ rule, children: { name, version } }) => ({
47
47
  datasource: bazel_1.BazelDatasource.id,
@@ -50,12 +50,12 @@ const BazelDepToPackageDep = fragments_1.RuleFragment.extend({
50
50
  currentValue: version?.value,
51
51
  ...(version ? {} : { skipReason: 'unspecified-version' }),
52
52
  }));
53
- const GitOverrideToPackageDep = fragments_1.RuleFragment.extend({
53
+ const GitOverrideToPackageDep = fragments_1.RuleFragmentSchema.extend({
54
54
  rule: zod_1.z.literal('git_override'),
55
55
  children: zod_1.z.object({
56
- module_name: fragments_1.StringFragment,
57
- remote: fragments_1.StringFragment,
58
- commit: fragments_1.StringFragment,
56
+ module_name: fragments_1.StringFragmentSchema,
57
+ remote: fragments_1.StringFragmentSchema,
58
+ commit: fragments_1.StringFragmentSchema,
59
59
  }),
60
60
  }).transform(({ rule, children: { module_name: moduleName, remote, commit }, }) => {
61
61
  const override = {
@@ -74,12 +74,12 @@ const GitOverrideToPackageDep = fragments_1.RuleFragment.extend({
74
74
  }
75
75
  return override;
76
76
  });
77
- const SingleVersionOverrideToPackageDep = fragments_1.RuleFragment.extend({
77
+ const SingleVersionOverrideToPackageDep = fragments_1.RuleFragmentSchema.extend({
78
78
  rule: zod_1.z.literal('single_version_override'),
79
79
  children: zod_1.z.object({
80
- module_name: fragments_1.StringFragment,
81
- version: fragments_1.StringFragment.optional(),
82
- registry: fragments_1.StringFragment.optional(),
80
+ module_name: fragments_1.StringFragmentSchema,
81
+ version: fragments_1.StringFragmentSchema.optional(),
82
+ registry: fragments_1.StringFragmentSchema.optional(),
83
83
  }),
84
84
  }).transform(({ rule, children: { module_name: moduleName, version, registry }, }) => {
85
85
  const base = {
@@ -101,10 +101,10 @@ const SingleVersionOverrideToPackageDep = fragments_1.RuleFragment.extend({
101
101
  }
102
102
  return base;
103
103
  });
104
- const UnsupportedOverrideToPackageDep = fragments_1.RuleFragment.extend({
104
+ const UnsupportedOverrideToPackageDep = fragments_1.RuleFragmentSchema.extend({
105
105
  rule: zod_1.z.enum(['archive_override', 'local_path_override']),
106
106
  children: zod_1.z.object({
107
- module_name: fragments_1.StringFragment,
107
+ module_name: fragments_1.StringFragmentSchema,
108
108
  }),
109
109
  }).transform(({ rule, children: { module_name: moduleName } }) => {
110
110
  let bazelDepSkipReason = 'unsupported';
@@ -179,13 +179,13 @@ function processModulePkgDeps(packageDeps) {
179
179
  function toPackageDependencies(packageDeps) {
180
180
  return collectByModule(packageDeps).map(processModulePkgDeps).flat();
181
181
  }
182
- exports.GitRepositoryToPackageDep = fragments_1.RuleFragment.extend({
182
+ exports.GitRepositoryToPackageDep = fragments_1.RuleFragmentSchema.extend({
183
183
  rule: zod_1.z.union([zod_1.z.literal('git_repository'), zod_1.z.literal('new_git_repository')]),
184
184
  children: zod_1.z.object({
185
- name: fragments_1.StringFragment,
186
- remote: fragments_1.StringFragment,
187
- commit: fragments_1.StringFragment.optional(),
188
- tag: fragments_1.StringFragment.optional(),
185
+ name: fragments_1.StringFragmentSchema,
186
+ remote: fragments_1.StringFragmentSchema,
187
+ commit: fragments_1.StringFragmentSchema.optional(),
188
+ tag: fragments_1.StringFragmentSchema.optional(),
189
189
  }),
190
190
  }).transform(({ rule, children: { name, remote, commit, tag } }) => {
191
191
  const gitRepo = {
@@ -1 +1 @@
1
- {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../../../lib/modules/manager/bazel-module/rules.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport parseGithubUrl from 'github-url-from-git';\nimport { z } from 'zod';\nimport { logger } from '../../../logger';\nimport type { SkipReason } from '../../../types';\nimport { clone } from '../../../util/clone';\nimport { regEx } from '../../../util/regex';\nimport { BazelDatasource } from '../../datasource/bazel';\nimport { GithubTagsDatasource } from '../../datasource/github-tags';\nimport type { PackageDependency } from '../types';\nimport { RuleFragment, StringFragment } from './parser/fragments';\n\n// Rule Schemas\n\nexport interface BasePackageDep extends PackageDependency {\n depType: string;\n depName: string;\n}\n\ntype BasePackageDepMergeKeys = Extract<keyof BasePackageDep, 'registryUrls'>;\n\nexport interface MergePackageDep extends BasePackageDep {\n // The fields that should be copied from this struct to the bazel_dep\n // PackageDependency.\n bazelDepMergeFields: BasePackageDepMergeKeys[];\n}\n\nexport interface OverridePackageDep extends BasePackageDep {\n // This value is set as the skipReason on the bazel_dep PackageDependency.\n bazelDepSkipReason: SkipReason;\n}\n\nexport type BazelModulePackageDep =\n | BasePackageDep\n | OverridePackageDep\n | MergePackageDep;\n\nfunction isOverride(value: BazelModulePackageDep): value is OverridePackageDep {\n return 'bazelDepSkipReason' in value;\n}\n\nfunction isMerge(value: BazelModulePackageDep): value is MergePackageDep {\n return 'bazelDepMergeFields' in value;\n}\n\n// This function exists to remove properties that are specific to\n// BazelModulePackageDep. In theory, there is no harm in leaving the properties\n// as it does not invalidate the PackageDependency interface. However, it might\n// be surprising to someone outside the bazel-module code to see the extra\n// properties.\nexport function bazelModulePackageDepToPackageDependency(\n bmpd: BazelModulePackageDep,\n): PackageDependency {\n const copy: BazelModulePackageDep = clone(bmpd);\n if (isOverride(copy)) {\n const partial = copy as Partial<OverridePackageDep>;\n delete partial.bazelDepSkipReason;\n }\n if (isMerge(copy)) {\n const partial = copy as Partial<MergePackageDep>;\n delete partial.bazelDepMergeFields;\n }\n return copy;\n}\n\nconst BazelDepToPackageDep = RuleFragment.extend({\n rule: z.literal('bazel_dep'),\n children: z.object({\n name: StringFragment,\n version: StringFragment.optional(),\n }),\n}).transform(\n ({ rule, children: { name, version } }): BasePackageDep => ({\n datasource: BazelDatasource.id,\n depType: rule,\n depName: name.value,\n currentValue: version?.value,\n ...(version ? {} : { skipReason: 'unspecified-version' }),\n }),\n);\n\nconst GitOverrideToPackageDep = RuleFragment.extend({\n rule: z.literal('git_override'),\n children: z.object({\n module_name: StringFragment,\n remote: StringFragment,\n commit: StringFragment,\n }),\n}).transform(\n ({\n rule,\n children: { module_name: moduleName, remote, commit },\n }): OverridePackageDep => {\n const override: OverridePackageDep = {\n depType: rule,\n depName: moduleName.value,\n bazelDepSkipReason: 'git-dependency',\n currentDigest: commit.value,\n };\n const ghPackageName = githubPackageName(remote.value);\n if (is.nonEmptyString(ghPackageName)) {\n override.datasource = GithubTagsDatasource.id;\n override.packageName = ghPackageName;\n } else {\n override.skipReason = 'unsupported-datasource';\n }\n return override;\n },\n);\n\nconst SingleVersionOverrideToPackageDep = RuleFragment.extend({\n rule: z.literal('single_version_override'),\n children: z.object({\n module_name: StringFragment,\n version: StringFragment.optional(),\n registry: StringFragment.optional(),\n }),\n}).transform(\n ({\n rule,\n children: { module_name: moduleName, version, registry },\n }): BasePackageDep => {\n const base: BasePackageDep = {\n depType: rule,\n depName: moduleName.value,\n skipReason: 'ignored',\n };\n // If a version is specified, then add a skipReason to bazel_dep\n if (version) {\n const override = base as OverridePackageDep;\n override.bazelDepSkipReason = 'is-pinned';\n override.currentValue = version.value;\n }\n // If a registry is specified, then merge it into the bazel_dep\n if (registry) {\n const merge = base as MergePackageDep;\n merge.bazelDepMergeFields = ['registryUrls'];\n merge.registryUrls = [registry.value];\n }\n return base;\n },\n);\n\nconst UnsupportedOverrideToPackageDep = RuleFragment.extend({\n rule: z.enum(['archive_override', 'local_path_override']),\n children: z.object({\n module_name: StringFragment,\n }),\n}).transform(\n ({ rule, children: { module_name: moduleName } }): OverridePackageDep => {\n let bazelDepSkipReason: SkipReason = 'unsupported';\n switch (rule) {\n case 'archive_override':\n bazelDepSkipReason = 'file-dependency';\n break;\n case 'local_path_override':\n bazelDepSkipReason = 'local-dependency';\n break;\n }\n return {\n depType: rule,\n depName: moduleName.value,\n skipReason: 'unsupported-datasource',\n bazelDepSkipReason,\n };\n },\n);\n\nexport const RuleToBazelModulePackageDep = z.union([\n BazelDepToPackageDep,\n GitOverrideToPackageDep,\n SingleVersionOverrideToPackageDep,\n UnsupportedOverrideToPackageDep,\n]);\n\nconst githubRemoteRegex = regEx(\n /^https:\\/\\/github\\.com\\/(?<packageName>[^/]+\\/.+)$/,\n);\nfunction githubPackageName(remote: string): string | undefined {\n return parseGithubUrl(remote)?.match(githubRemoteRegex)?.groups?.packageName;\n}\n\nfunction collectByModule(\n packageDeps: BazelModulePackageDep[],\n): BazelModulePackageDep[][] {\n const rulesByModule = new Map<string, BasePackageDep[]>();\n for (const pkgDep of packageDeps) {\n const bmi = rulesByModule.get(pkgDep.depName) ?? [];\n bmi.push(pkgDep);\n rulesByModule.set(pkgDep.depName, bmi);\n }\n return Array.from(rulesByModule.values());\n}\n\nexport function processModulePkgDeps(\n packageDeps: BazelModulePackageDep[],\n): PackageDependency[] {\n if (!packageDeps.length) {\n return [];\n }\n const moduleName = packageDeps[0].depName;\n const bazelDep = packageDeps.find((pd) => pd.depType === 'bazel_dep');\n if (!bazelDep) {\n logger.debug(`A 'bazel_dep' was not found for '${moduleName}'.`);\n return [];\n }\n // Create a new bazelDep that will be modified. We do not want to change the\n // input.\n const bazelDepOut = { ...bazelDep };\n const deps: PackageDependency[] = [bazelDepOut];\n const merges = packageDeps.filter(isMerge);\n for (const merge of merges) {\n merge.bazelDepMergeFields.forEach((k) => (bazelDepOut[k] = merge[k]));\n }\n const overrides = packageDeps.filter(isOverride);\n if (overrides.length === 0) {\n return deps;\n }\n // It is an error for more than one override to exist for a module. We will\n // ignore the overrides if there is more than one.\n if (overrides.length > 1) {\n const depTypes = overrides.map((o) => o.depType);\n logger.debug(\n { depName: moduleName, depTypes },\n 'More than one override for a module was found',\n );\n return deps;\n }\n const override = overrides[0];\n deps.push(bazelModulePackageDepToPackageDependency(override));\n bazelDepOut.skipReason = override.bazelDepSkipReason;\n return deps;\n}\n\nexport function toPackageDependencies(\n packageDeps: BazelModulePackageDep[],\n): PackageDependency[] {\n return collectByModule(packageDeps).map(processModulePkgDeps).flat();\n}\n\nexport const GitRepositoryToPackageDep = RuleFragment.extend({\n rule: z.union([z.literal('git_repository'), z.literal('new_git_repository')]),\n children: z.object({\n name: StringFragment,\n remote: StringFragment,\n commit: StringFragment.optional(),\n tag: StringFragment.optional(),\n }),\n}).transform(\n ({ rule, children: { name, remote, commit, tag } }): BasePackageDep => {\n const gitRepo: BasePackageDep = {\n depType: rule,\n depName: name.value,\n };\n\n if (commit?.value) {\n gitRepo.currentDigest = commit.value;\n }\n\n if (tag?.value) {\n gitRepo.currentValue = tag.value;\n }\n\n const ghPackageName = githubPackageName(remote.value);\n if (is.nonEmptyString(ghPackageName)) {\n gitRepo.datasource = GithubTagsDatasource.id;\n gitRepo.packageName = ghPackageName;\n } else {\n gitRepo.skipReason = 'unsupported-datasource';\n }\n return gitRepo;\n },\n);\n"]}
1
+ {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../../../lib/modules/manager/bazel-module/rules.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport parseGithubUrl from 'github-url-from-git';\nimport { z } from 'zod';\nimport { logger } from '../../../logger';\nimport type { SkipReason } from '../../../types';\nimport { clone } from '../../../util/clone';\nimport { regEx } from '../../../util/regex';\nimport { BazelDatasource } from '../../datasource/bazel';\nimport { GithubTagsDatasource } from '../../datasource/github-tags';\nimport type { PackageDependency } from '../types';\nimport { RuleFragmentSchema, StringFragmentSchema } from './parser/fragments';\n\n// Rule Schemas\n\nexport interface BasePackageDep extends PackageDependency {\n depType: string;\n depName: string;\n}\n\ntype BasePackageDepMergeKeys = Extract<keyof BasePackageDep, 'registryUrls'>;\n\nexport interface MergePackageDep extends BasePackageDep {\n // The fields that should be copied from this struct to the bazel_dep\n // PackageDependency.\n bazelDepMergeFields: BasePackageDepMergeKeys[];\n}\n\nexport interface OverridePackageDep extends BasePackageDep {\n // This value is set as the skipReason on the bazel_dep PackageDependency.\n bazelDepSkipReason: SkipReason;\n}\n\nexport type BazelModulePackageDep =\n | BasePackageDep\n | OverridePackageDep\n | MergePackageDep;\n\nfunction isOverride(value: BazelModulePackageDep): value is OverridePackageDep {\n return 'bazelDepSkipReason' in value;\n}\n\nfunction isMerge(value: BazelModulePackageDep): value is MergePackageDep {\n return 'bazelDepMergeFields' in value;\n}\n\n// This function exists to remove properties that are specific to\n// BazelModulePackageDep. In theory, there is no harm in leaving the properties\n// as it does not invalidate the PackageDependency interface. However, it might\n// be surprising to someone outside the bazel-module code to see the extra\n// properties.\nexport function bazelModulePackageDepToPackageDependency(\n bmpd: BazelModulePackageDep,\n): PackageDependency {\n const copy: BazelModulePackageDep = clone(bmpd);\n if (isOverride(copy)) {\n const partial = copy as Partial<OverridePackageDep>;\n delete partial.bazelDepSkipReason;\n }\n if (isMerge(copy)) {\n const partial = copy as Partial<MergePackageDep>;\n delete partial.bazelDepMergeFields;\n }\n return copy;\n}\n\nconst BazelDepToPackageDep = RuleFragmentSchema.extend({\n rule: z.literal('bazel_dep'),\n children: z.object({\n name: StringFragmentSchema,\n version: StringFragmentSchema.optional(),\n }),\n}).transform(\n ({ rule, children: { name, version } }): BasePackageDep => ({\n datasource: BazelDatasource.id,\n depType: rule,\n depName: name.value,\n currentValue: version?.value,\n ...(version ? {} : { skipReason: 'unspecified-version' }),\n }),\n);\n\nconst GitOverrideToPackageDep = RuleFragmentSchema.extend({\n rule: z.literal('git_override'),\n children: z.object({\n module_name: StringFragmentSchema,\n remote: StringFragmentSchema,\n commit: StringFragmentSchema,\n }),\n}).transform(\n ({\n rule,\n children: { module_name: moduleName, remote, commit },\n }): OverridePackageDep => {\n const override: OverridePackageDep = {\n depType: rule,\n depName: moduleName.value,\n bazelDepSkipReason: 'git-dependency',\n currentDigest: commit.value,\n };\n const ghPackageName = githubPackageName(remote.value);\n if (is.nonEmptyString(ghPackageName)) {\n override.datasource = GithubTagsDatasource.id;\n override.packageName = ghPackageName;\n } else {\n override.skipReason = 'unsupported-datasource';\n }\n return override;\n },\n);\n\nconst SingleVersionOverrideToPackageDep = RuleFragmentSchema.extend({\n rule: z.literal('single_version_override'),\n children: z.object({\n module_name: StringFragmentSchema,\n version: StringFragmentSchema.optional(),\n registry: StringFragmentSchema.optional(),\n }),\n}).transform(\n ({\n rule,\n children: { module_name: moduleName, version, registry },\n }): BasePackageDep => {\n const base: BasePackageDep = {\n depType: rule,\n depName: moduleName.value,\n skipReason: 'ignored',\n };\n // If a version is specified, then add a skipReason to bazel_dep\n if (version) {\n const override = base as OverridePackageDep;\n override.bazelDepSkipReason = 'is-pinned';\n override.currentValue = version.value;\n }\n // If a registry is specified, then merge it into the bazel_dep\n if (registry) {\n const merge = base as MergePackageDep;\n merge.bazelDepMergeFields = ['registryUrls'];\n merge.registryUrls = [registry.value];\n }\n return base;\n },\n);\n\nconst UnsupportedOverrideToPackageDep = RuleFragmentSchema.extend({\n rule: z.enum(['archive_override', 'local_path_override']),\n children: z.object({\n module_name: StringFragmentSchema,\n }),\n}).transform(\n ({ rule, children: { module_name: moduleName } }): OverridePackageDep => {\n let bazelDepSkipReason: SkipReason = 'unsupported';\n switch (rule) {\n case 'archive_override':\n bazelDepSkipReason = 'file-dependency';\n break;\n case 'local_path_override':\n bazelDepSkipReason = 'local-dependency';\n break;\n }\n return {\n depType: rule,\n depName: moduleName.value,\n skipReason: 'unsupported-datasource',\n bazelDepSkipReason,\n };\n },\n);\n\nexport const RuleToBazelModulePackageDep = z.union([\n BazelDepToPackageDep,\n GitOverrideToPackageDep,\n SingleVersionOverrideToPackageDep,\n UnsupportedOverrideToPackageDep,\n]);\n\nconst githubRemoteRegex = regEx(\n /^https:\\/\\/github\\.com\\/(?<packageName>[^/]+\\/.+)$/,\n);\nfunction githubPackageName(remote: string): string | undefined {\n return parseGithubUrl(remote)?.match(githubRemoteRegex)?.groups?.packageName;\n}\n\nfunction collectByModule(\n packageDeps: BazelModulePackageDep[],\n): BazelModulePackageDep[][] {\n const rulesByModule = new Map<string, BasePackageDep[]>();\n for (const pkgDep of packageDeps) {\n const bmi = rulesByModule.get(pkgDep.depName) ?? [];\n bmi.push(pkgDep);\n rulesByModule.set(pkgDep.depName, bmi);\n }\n return Array.from(rulesByModule.values());\n}\n\nexport function processModulePkgDeps(\n packageDeps: BazelModulePackageDep[],\n): PackageDependency[] {\n if (!packageDeps.length) {\n return [];\n }\n const moduleName = packageDeps[0].depName;\n const bazelDep = packageDeps.find((pd) => pd.depType === 'bazel_dep');\n if (!bazelDep) {\n logger.debug(`A 'bazel_dep' was not found for '${moduleName}'.`);\n return [];\n }\n // Create a new bazelDep that will be modified. We do not want to change the\n // input.\n const bazelDepOut = { ...bazelDep };\n const deps: PackageDependency[] = [bazelDepOut];\n const merges = packageDeps.filter(isMerge);\n for (const merge of merges) {\n merge.bazelDepMergeFields.forEach((k) => (bazelDepOut[k] = merge[k]));\n }\n const overrides = packageDeps.filter(isOverride);\n if (overrides.length === 0) {\n return deps;\n }\n // It is an error for more than one override to exist for a module. We will\n // ignore the overrides if there is more than one.\n if (overrides.length > 1) {\n const depTypes = overrides.map((o) => o.depType);\n logger.debug(\n { depName: moduleName, depTypes },\n 'More than one override for a module was found',\n );\n return deps;\n }\n const override = overrides[0];\n deps.push(bazelModulePackageDepToPackageDependency(override));\n bazelDepOut.skipReason = override.bazelDepSkipReason;\n return deps;\n}\n\nexport function toPackageDependencies(\n packageDeps: BazelModulePackageDep[],\n): PackageDependency[] {\n return collectByModule(packageDeps).map(processModulePkgDeps).flat();\n}\n\nexport const GitRepositoryToPackageDep = RuleFragmentSchema.extend({\n rule: z.union([z.literal('git_repository'), z.literal('new_git_repository')]),\n children: z.object({\n name: StringFragmentSchema,\n remote: StringFragmentSchema,\n commit: StringFragmentSchema.optional(),\n tag: StringFragmentSchema.optional(),\n }),\n}).transform(\n ({ rule, children: { name, remote, commit, tag } }): BasePackageDep => {\n const gitRepo: BasePackageDep = {\n depType: rule,\n depName: name.value,\n };\n\n if (commit?.value) {\n gitRepo.currentDigest = commit.value;\n }\n\n if (tag?.value) {\n gitRepo.currentValue = tag.value;\n }\n\n const ghPackageName = githubPackageName(remote.value);\n if (is.nonEmptyString(ghPackageName)) {\n gitRepo.datasource = GithubTagsDatasource.id;\n gitRepo.packageName = ghPackageName;\n } else {\n gitRepo.skipReason = 'unsupported-datasource';\n }\n return gitRepo;\n },\n);\n"]}
@@ -64,7 +64,7 @@ async function readCargoConfig() {
64
64
  const path = `.cargo/${configName}`;
65
65
  const payload = await (0, fs_1.readLocalFile)(path, 'utf8');
66
66
  if (payload) {
67
- const parsedCargoConfig = schema_1.CargoConfig.safeParse(payload);
67
+ const parsedCargoConfig = schema_1.CargoConfigSchema.safeParse(payload);
68
68
  if (parsedCargoConfig.success) {
69
69
  return parsedCargoConfig.data;
70
70
  }
@@ -126,7 +126,7 @@ async function extractPackageFile(content, packageFile, _config) {
126
126
  logger_1.logger.trace(`cargo.extractPackageFile(${packageFile})`);
127
127
  const cargoConfig = (await readCargoConfig()) ?? {};
128
128
  const cargoRegistries = extractCargoRegistries(cargoConfig);
129
- const parsedCargoManifest = schema_1.CargoManifest.safeParse(content);
129
+ const parsedCargoManifest = schema_1.CargoManifestSchema.safeParse(content);
130
130
  if (!parsedCargoManifest.success) {
131
131
  logger_1.logger.debug({ err: parsedCargoManifest.error, packageFile }, 'Error parsing Cargo.toml file');
132
132
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/cargo/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { coerceArray } from '../../../util/array';\nimport { getEnv } from '../../../util/env';\nimport { findLocalSiblingOrParent, readLocalFile } from '../../../util/fs';\nimport { api as versioning } from '../../versioning/cargo';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFileContent,\n} from '../types';\nimport { extractLockFileVersions } from './locked-version';\nimport { CargoConfig, CargoManifest } from './schema';\nimport type {\n CargoManagerData,\n CargoRegistries,\n CargoRegistryUrl,\n} from './types';\nimport { DEFAULT_REGISTRY_URL } from './utils';\n\nconst DEFAULT_REGISTRY_ID = 'crates-io';\n\nfunction getCargoIndexEnv(registryName: string): string | null {\n const registry = registryName.toUpperCase().replaceAll('-', '_');\n return getEnv()[`CARGO_REGISTRIES_${registry}_INDEX`] ?? null;\n}\n\nfunction extractFromSection(\n dependencies: PackageDependency<CargoManagerData>[] | undefined,\n cargoRegistries: CargoRegistries,\n target?: string,\n): PackageDependency[] {\n if (!dependencies) {\n return [];\n }\n\n const deps: PackageDependency<CargoManagerData>[] = [];\n\n for (const dep of Object.values(dependencies)) {\n let registryUrls: string[] | undefined;\n\n if (dep.managerData?.registryName) {\n const registryUrl =\n getCargoIndexEnv(dep.managerData.registryName) ??\n cargoRegistries[dep.managerData?.registryName];\n if (registryUrl) {\n if (registryUrl !== DEFAULT_REGISTRY_URL) {\n registryUrls = [registryUrl];\n }\n } else {\n dep.skipReason = 'unknown-registry';\n }\n }\n\n if (registryUrls) {\n dep.registryUrls = registryUrls;\n } else {\n // if we don't have an explicit registry URL check if the default registry has a non-standard url\n if (cargoRegistries[DEFAULT_REGISTRY_ID]) {\n if (cargoRegistries[DEFAULT_REGISTRY_ID] !== DEFAULT_REGISTRY_URL) {\n dep.registryUrls = [cargoRegistries[DEFAULT_REGISTRY_ID]];\n }\n } else {\n // we always expect to have DEFAULT_REGISTRY_ID set, if it's not it means the config defines an alternative\n // registry that we couldn't resolve.\n dep.skipReason = 'unknown-registry';\n }\n }\n\n if (target) {\n dep.target = target;\n }\n deps.push(dep);\n }\n\n return deps;\n}\n\n/** Reads `.cargo/config.toml`, or, if not found, `.cargo/config` */\nasync function readCargoConfig(): Promise<CargoConfig | null> {\n for (const configName of ['config.toml', 'config']) {\n const path = `.cargo/${configName}`;\n const payload = await readLocalFile(path, 'utf8');\n if (payload) {\n const parsedCargoConfig = CargoConfig.safeParse(payload);\n if (parsedCargoConfig.success) {\n return parsedCargoConfig.data;\n } else {\n logger.debug(\n { err: parsedCargoConfig.error, path },\n `Error parsing cargo config`,\n );\n }\n }\n }\n\n logger.debug('Neither .cargo/config nor .cargo/config.toml found');\n return null;\n}\n\n/** Extracts a map of cargo registries from a CargoConfig */\nfunction extractCargoRegistries(config: CargoConfig): CargoRegistries {\n const result: CargoRegistries = {};\n // check if we're overriding our default registry index\n result[DEFAULT_REGISTRY_ID] = resolveRegistryIndex(\n DEFAULT_REGISTRY_ID,\n config,\n );\n\n const registryNames = new Set([\n ...Object.keys(config.registries ?? {}),\n ...Object.keys(config.source ?? {}),\n ]);\n for (const registryName of registryNames) {\n result[registryName] = resolveRegistryIndex(registryName, config);\n }\n\n return result;\n}\n\nfunction resolveRegistryIndex(\n registryName: string,\n config: CargoConfig,\n originalNames = new Set<string>(),\n): CargoRegistryUrl {\n // if we have a source replacement, follow that.\n // https://doc.rust-lang.org/cargo/reference/source-replacement.html\n const replacementName = config.source?.[registryName]?.['replace-with'];\n if (replacementName) {\n logger.debug(\n `Replacing index of cargo registry ${registryName} with ${replacementName}`,\n );\n if (originalNames.has(replacementName)) {\n logger.warn({ registryName }, 'cargo registry resolves to itself');\n return null;\n }\n return resolveRegistryIndex(\n replacementName,\n config,\n originalNames.add(replacementName),\n );\n }\n\n const sourceRegistry = config.source?.[registryName]?.registry;\n if (sourceRegistry) {\n logger.debug(\n `Replacing cargo source registry with ${sourceRegistry} for ${registryName}`,\n );\n return sourceRegistry;\n }\n\n const registryIndex = config.registries?.[registryName]?.index;\n if (registryIndex) {\n return registryIndex;\n } else {\n // we don't need an explicit index if we're using the default registry\n if (registryName === DEFAULT_REGISTRY_ID) {\n return DEFAULT_REGISTRY_URL;\n } else {\n logger.debug(`${registryName} cargo registry is missing index`);\n return null;\n }\n }\n}\n\nexport async function extractPackageFile(\n content: string,\n packageFile: string,\n _config?: ExtractConfig,\n): Promise<PackageFileContent<CargoManagerData> | null> {\n logger.trace(`cargo.extractPackageFile(${packageFile})`);\n\n const cargoConfig = (await readCargoConfig()) ?? {};\n const cargoRegistries = extractCargoRegistries(cargoConfig);\n\n const parsedCargoManifest = CargoManifest.safeParse(content);\n if (!parsedCargoManifest.success) {\n logger.debug(\n { err: parsedCargoManifest.error, packageFile },\n 'Error parsing Cargo.toml file',\n );\n return null;\n }\n\n const cargoManifest = parsedCargoManifest.data;\n\n /*\n There are the following sections in Cargo.toml:\n [package]\n [dependencies]\n [dev-dependencies]\n [build-dependencies]\n [target.*.dependencies]\n [workspace.dependencies]\n */\n const targetSection = cargoManifest.target;\n // An array of all dependencies in the target section\n let targetDeps: PackageDependency[] = [];\n if (targetSection) {\n const targets = Object.keys(targetSection);\n targets.forEach((target) => {\n const targetContent = targetSection[target];\n // Dependencies for `${target}`\n const deps = [\n ...extractFromSection(\n targetContent.dependencies,\n cargoRegistries,\n target,\n ),\n ...extractFromSection(\n targetContent['dev-dependencies'],\n cargoRegistries,\n target,\n ),\n ...extractFromSection(\n targetContent['build-dependencies'],\n cargoRegistries,\n target,\n ),\n ];\n targetDeps = targetDeps.concat(deps);\n });\n }\n\n const workspaceSection = cargoManifest.workspace;\n let workspaceDeps: PackageDependency[] = [];\n if (workspaceSection) {\n workspaceDeps = extractFromSection(\n workspaceSection.dependencies,\n cargoRegistries,\n undefined,\n );\n }\n\n const deps = [\n ...extractFromSection(cargoManifest.dependencies, cargoRegistries),\n ...extractFromSection(cargoManifest['dev-dependencies'], cargoRegistries),\n ...extractFromSection(cargoManifest['build-dependencies'], cargoRegistries),\n ...targetDeps,\n ...workspaceDeps,\n ];\n if (!deps.length) {\n return null;\n }\n\n const packageSection = cargoManifest.package;\n let version: string | undefined = undefined;\n if (packageSection) {\n if (is.string(packageSection.version)) {\n version = packageSection.version;\n } else if (\n is.object(packageSection.version) &&\n cargoManifest.workspace?.package?.version\n ) {\n // TODO: Support reading from parent workspace manifest?\n version = cargoManifest.workspace.package.version;\n }\n }\n\n const lockFileName = await findLocalSiblingOrParent(\n packageFile,\n 'Cargo.lock',\n );\n const res: PackageFileContent = { deps, packageFileVersion: version };\n if (lockFileName) {\n logger.debug(\n `Found lock file ${lockFileName} for packageFile: ${packageFile}`,\n );\n\n const versionsByPackage = await extractLockFileVersions(lockFileName);\n if (!versionsByPackage) {\n logger.debug(\n `Could not extract lock file versions from ${lockFileName}.`,\n );\n return res;\n }\n\n res.lockFiles = [lockFileName];\n\n for (const dep of deps) {\n const packageName = dep.packageName ?? dep.depName!;\n const versions = coerceArray(versionsByPackage.get(packageName));\n const lockedVersion = versioning.getSatisfyingVersion(\n versions,\n dep.currentValue!,\n );\n if (lockedVersion) {\n dep.lockedVersion = lockedVersion;\n } else {\n logger.debug(\n `No locked version found for package ${dep.depName} in the range of ${dep.currentValue}.`,\n );\n }\n }\n }\n\n return res;\n}\n"]}
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/cargo/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { coerceArray } from '../../../util/array';\nimport { getEnv } from '../../../util/env';\nimport { findLocalSiblingOrParent, readLocalFile } from '../../../util/fs';\nimport { api as versioning } from '../../versioning/cargo';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFileContent,\n} from '../types';\nimport { extractLockFileVersions } from './locked-version';\nimport {\n type CargoConfig,\n CargoConfigSchema,\n CargoManifestSchema,\n} from './schema';\nimport type {\n CargoManagerData,\n CargoRegistries,\n CargoRegistryUrl,\n} from './types';\nimport { DEFAULT_REGISTRY_URL } from './utils';\n\nconst DEFAULT_REGISTRY_ID = 'crates-io';\n\nfunction getCargoIndexEnv(registryName: string): string | null {\n const registry = registryName.toUpperCase().replaceAll('-', '_');\n return getEnv()[`CARGO_REGISTRIES_${registry}_INDEX`] ?? null;\n}\n\nfunction extractFromSection(\n dependencies: PackageDependency<CargoManagerData>[] | undefined,\n cargoRegistries: CargoRegistries,\n target?: string,\n): PackageDependency[] {\n if (!dependencies) {\n return [];\n }\n\n const deps: PackageDependency<CargoManagerData>[] = [];\n\n for (const dep of Object.values(dependencies)) {\n let registryUrls: string[] | undefined;\n\n if (dep.managerData?.registryName) {\n const registryUrl =\n getCargoIndexEnv(dep.managerData.registryName) ??\n cargoRegistries[dep.managerData?.registryName];\n if (registryUrl) {\n if (registryUrl !== DEFAULT_REGISTRY_URL) {\n registryUrls = [registryUrl];\n }\n } else {\n dep.skipReason = 'unknown-registry';\n }\n }\n\n if (registryUrls) {\n dep.registryUrls = registryUrls;\n } else {\n // if we don't have an explicit registry URL check if the default registry has a non-standard url\n if (cargoRegistries[DEFAULT_REGISTRY_ID]) {\n if (cargoRegistries[DEFAULT_REGISTRY_ID] !== DEFAULT_REGISTRY_URL) {\n dep.registryUrls = [cargoRegistries[DEFAULT_REGISTRY_ID]];\n }\n } else {\n // we always expect to have DEFAULT_REGISTRY_ID set, if it's not it means the config defines an alternative\n // registry that we couldn't resolve.\n dep.skipReason = 'unknown-registry';\n }\n }\n\n if (target) {\n dep.target = target;\n }\n deps.push(dep);\n }\n\n return deps;\n}\n\n/** Reads `.cargo/config.toml`, or, if not found, `.cargo/config` */\nasync function readCargoConfig(): Promise<CargoConfig | null> {\n for (const configName of ['config.toml', 'config']) {\n const path = `.cargo/${configName}`;\n const payload = await readLocalFile(path, 'utf8');\n if (payload) {\n const parsedCargoConfig = CargoConfigSchema.safeParse(payload);\n if (parsedCargoConfig.success) {\n return parsedCargoConfig.data;\n } else {\n logger.debug(\n { err: parsedCargoConfig.error, path },\n `Error parsing cargo config`,\n );\n }\n }\n }\n\n logger.debug('Neither .cargo/config nor .cargo/config.toml found');\n return null;\n}\n\n/** Extracts a map of cargo registries from a CargoConfig */\nfunction extractCargoRegistries(config: CargoConfig): CargoRegistries {\n const result: CargoRegistries = {};\n // check if we're overriding our default registry index\n result[DEFAULT_REGISTRY_ID] = resolveRegistryIndex(\n DEFAULT_REGISTRY_ID,\n config,\n );\n\n const registryNames = new Set([\n ...Object.keys(config.registries ?? {}),\n ...Object.keys(config.source ?? {}),\n ]);\n for (const registryName of registryNames) {\n result[registryName] = resolveRegistryIndex(registryName, config);\n }\n\n return result;\n}\n\nfunction resolveRegistryIndex(\n registryName: string,\n config: CargoConfig,\n originalNames = new Set<string>(),\n): CargoRegistryUrl {\n // if we have a source replacement, follow that.\n // https://doc.rust-lang.org/cargo/reference/source-replacement.html\n const replacementName = config.source?.[registryName]?.['replace-with'];\n if (replacementName) {\n logger.debug(\n `Replacing index of cargo registry ${registryName} with ${replacementName}`,\n );\n if (originalNames.has(replacementName)) {\n logger.warn({ registryName }, 'cargo registry resolves to itself');\n return null;\n }\n return resolveRegistryIndex(\n replacementName,\n config,\n originalNames.add(replacementName),\n );\n }\n\n const sourceRegistry = config.source?.[registryName]?.registry;\n if (sourceRegistry) {\n logger.debug(\n `Replacing cargo source registry with ${sourceRegistry} for ${registryName}`,\n );\n return sourceRegistry;\n }\n\n const registryIndex = config.registries?.[registryName]?.index;\n if (registryIndex) {\n return registryIndex;\n } else {\n // we don't need an explicit index if we're using the default registry\n if (registryName === DEFAULT_REGISTRY_ID) {\n return DEFAULT_REGISTRY_URL;\n } else {\n logger.debug(`${registryName} cargo registry is missing index`);\n return null;\n }\n }\n}\n\nexport async function extractPackageFile(\n content: string,\n packageFile: string,\n _config?: ExtractConfig,\n): Promise<PackageFileContent<CargoManagerData> | null> {\n logger.trace(`cargo.extractPackageFile(${packageFile})`);\n\n const cargoConfig = (await readCargoConfig()) ?? {};\n const cargoRegistries = extractCargoRegistries(cargoConfig);\n\n const parsedCargoManifest = CargoManifestSchema.safeParse(content);\n if (!parsedCargoManifest.success) {\n logger.debug(\n { err: parsedCargoManifest.error, packageFile },\n 'Error parsing Cargo.toml file',\n );\n return null;\n }\n\n const cargoManifest = parsedCargoManifest.data;\n\n /*\n There are the following sections in Cargo.toml:\n [package]\n [dependencies]\n [dev-dependencies]\n [build-dependencies]\n [target.*.dependencies]\n [workspace.dependencies]\n */\n const targetSection = cargoManifest.target;\n // An array of all dependencies in the target section\n let targetDeps: PackageDependency[] = [];\n if (targetSection) {\n const targets = Object.keys(targetSection);\n targets.forEach((target) => {\n const targetContent = targetSection[target];\n // Dependencies for `${target}`\n const deps = [\n ...extractFromSection(\n targetContent.dependencies,\n cargoRegistries,\n target,\n ),\n ...extractFromSection(\n targetContent['dev-dependencies'],\n cargoRegistries,\n target,\n ),\n ...extractFromSection(\n targetContent['build-dependencies'],\n cargoRegistries,\n target,\n ),\n ];\n targetDeps = targetDeps.concat(deps);\n });\n }\n\n const workspaceSection = cargoManifest.workspace;\n let workspaceDeps: PackageDependency[] = [];\n if (workspaceSection) {\n workspaceDeps = extractFromSection(\n workspaceSection.dependencies,\n cargoRegistries,\n undefined,\n );\n }\n\n const deps = [\n ...extractFromSection(cargoManifest.dependencies, cargoRegistries),\n ...extractFromSection(cargoManifest['dev-dependencies'], cargoRegistries),\n ...extractFromSection(cargoManifest['build-dependencies'], cargoRegistries),\n ...targetDeps,\n ...workspaceDeps,\n ];\n if (!deps.length) {\n return null;\n }\n\n const packageSection = cargoManifest.package;\n let version: string | undefined = undefined;\n if (packageSection) {\n if (is.string(packageSection.version)) {\n version = packageSection.version;\n } else if (\n is.object(packageSection.version) &&\n cargoManifest.workspace?.package?.version\n ) {\n // TODO: Support reading from parent workspace manifest?\n version = cargoManifest.workspace.package.version;\n }\n }\n\n const lockFileName = await findLocalSiblingOrParent(\n packageFile,\n 'Cargo.lock',\n );\n const res: PackageFileContent = { deps, packageFileVersion: version };\n if (lockFileName) {\n logger.debug(\n `Found lock file ${lockFileName} for packageFile: ${packageFile}`,\n );\n\n const versionsByPackage = await extractLockFileVersions(lockFileName);\n if (!versionsByPackage) {\n logger.debug(\n `Could not extract lock file versions from ${lockFileName}.`,\n );\n return res;\n }\n\n res.lockFiles = [lockFileName];\n\n for (const dep of deps) {\n const packageName = dep.packageName ?? dep.depName!;\n const versions = coerceArray(versionsByPackage.get(packageName));\n const lockedVersion = versioning.getSatisfyingVersion(\n versions,\n dep.currentValue!,\n );\n if (lockedVersion) {\n dep.lockedVersion = lockedVersion;\n } else {\n logger.debug(\n `No locked version found for package ${dep.depName} in the range of ${dep.currentValue}.`,\n );\n }\n }\n }\n\n return res;\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { CargoLock } from './schema';
1
+ import type { CargoLockSchema } from './schema';
2
2
  export declare function extractLockFileVersions(lockFilePath: string): Promise<Map<string, string[]> | null>;
3
3
  export declare function extractLockFileContentVersions(content: string): Map<string, string[]> | null;
4
- export declare function parseLockFile(lockFile: string): CargoLock | null;
4
+ export declare function parseLockFile(lockFile: string): CargoLockSchema | null;
@@ -28,7 +28,7 @@ function extractLockFileContentVersions(content) {
28
28
  return versionsByPackage;
29
29
  }
30
30
  function parseLockFile(lockFile) {
31
- const res = schema_1.CargoLock.safeParse(lockFile);
31
+ const res = schema_1.CargoLockSchemaToml.safeParse(lockFile);
32
32
  if (res.success) {
33
33
  return res.data;
34
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"locked-version.js","sourceRoot":"","sources":["../../../../lib/modules/manager/cargo/locked-version.ts"],"names":[],"mappings":";;AAKA,0DAQC;AAED,wEAcC;AAED,sCAOC;AAtCD,4CAAyC;AACzC,+CAAkD;AAClD,yCAAiD;AACjD,qCAAqC;AAE9B,KAAK,UAAU,uBAAuB,CAC3C,YAAoB;IAEpB,MAAM,OAAO,GAAG,MAAM,IAAA,kBAAa,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC1D,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,8BAA8B,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,8BAA8B,CAC5C,OAAe;IAEf,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAoB,CAAC;IACtD,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,IAAA,mBAAW,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3B,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,SAAgB,aAAa,CAAC,QAAgB;IAC5C,MAAM,GAAG,GAAG,kBAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IACD,eAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,+BAA+B,CAAC,CAAC;IAClE,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import { logger } from '../../../logger';\nimport { coerceArray } from '../../../util/array';\nimport { readLocalFile } from '../../../util/fs';\nimport { CargoLock } from './schema';\n\nexport async function extractLockFileVersions(\n lockFilePath: string,\n): Promise<Map<string, string[]> | null> {\n const content = await readLocalFile(lockFilePath, 'utf8');\n if (content) {\n return extractLockFileContentVersions(content);\n }\n return null;\n}\n\nexport function extractLockFileContentVersions(\n content: string,\n): Map<string, string[]> | null {\n const versionsByPackage = new Map<string, string[]>();\n const lock = parseLockFile(content);\n if (!lock) {\n return null;\n }\n for (const pkg of coerceArray(lock.package)) {\n const versions = coerceArray(versionsByPackage.get(pkg.name));\n versions.push(pkg.version);\n versionsByPackage.set(pkg.name, versions);\n }\n return versionsByPackage;\n}\n\nexport function parseLockFile(lockFile: string): CargoLock | null {\n const res = CargoLock.safeParse(lockFile);\n if (res.success) {\n return res.data;\n }\n logger.debug({ err: res.error }, 'Error parsing Cargo lockfile.');\n return null;\n}\n"]}
1
+ {"version":3,"file":"locked-version.js","sourceRoot":"","sources":["../../../../lib/modules/manager/cargo/locked-version.ts"],"names":[],"mappings":";;AAMA,0DAQC;AAED,wEAcC;AAED,sCAOC;AAvCD,4CAAyC;AACzC,+CAAkD;AAClD,yCAAiD;AAEjD,qCAA+C;AAExC,KAAK,UAAU,uBAAuB,CAC3C,YAAoB;IAEpB,MAAM,OAAO,GAAG,MAAM,IAAA,kBAAa,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC1D,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,8BAA8B,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,8BAA8B,CAC5C,OAAe;IAEf,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAoB,CAAC;IACtD,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,IAAA,mBAAW,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3B,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,SAAgB,aAAa,CAAC,QAAgB;IAC5C,MAAM,GAAG,GAAG,4BAAmB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACpD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IACD,eAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,+BAA+B,CAAC,CAAC;IAClE,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import { logger } from '../../../logger';\nimport { coerceArray } from '../../../util/array';\nimport { readLocalFile } from '../../../util/fs';\nimport type { CargoLockSchema } from './schema';\nimport { CargoLockSchemaToml } from './schema';\n\nexport async function extractLockFileVersions(\n lockFilePath: string,\n): Promise<Map<string, string[]> | null> {\n const content = await readLocalFile(lockFilePath, 'utf8');\n if (content) {\n return extractLockFileContentVersions(content);\n }\n return null;\n}\n\nexport function extractLockFileContentVersions(\n content: string,\n): Map<string, string[]> | null {\n const versionsByPackage = new Map<string, string[]>();\n const lock = parseLockFile(content);\n if (!lock) {\n return null;\n }\n for (const pkg of coerceArray(lock.package)) {\n const versions = coerceArray(versionsByPackage.get(pkg.name));\n versions.push(pkg.version);\n versionsByPackage.set(pkg.name, versions);\n }\n return versionsByPackage;\n}\n\nexport function parseLockFile(lockFile: string): CargoLockSchema | null {\n const res = CargoLockSchemaToml.safeParse(lockFile);\n if (res.success) {\n return res.data;\n }\n logger.debug({ err: res.error }, 'Error parsing Cargo lockfile.');\n return null;\n}\n"]}
@@ -44,7 +44,7 @@ declare const CargoDeps: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnion<[z.Zod
44
44
  workspace?: boolean | undefined;
45
45
  }>>;
46
46
  export type CargoDeps = z.infer<typeof CargoDeps>;
47
- export declare const CargoManifest: z.ZodPipeline<z.ZodEffects<z.ZodString, unknown, string>, z.ZodObject<{
47
+ export declare const CargoManifestSchema: z.ZodPipeline<z.ZodEffects<z.ZodString, unknown, string>, z.ZodObject<{
48
48
  dependencies: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodEffects<z.ZodObject<{
49
49
  /** Path on disk to the crate sources */
50
50
  path: z.ZodOptional<z.ZodString>;
@@ -553,7 +553,7 @@ export declare const CargoManifest: z.ZodPipeline<z.ZodEffects<z.ZodString, unkn
553
553
  workspace?: boolean | undefined;
554
554
  }> | undefined;
555
555
  }>>;
556
- export declare const CargoConfig: z.ZodPipeline<z.ZodEffects<z.ZodString, unknown, string>, z.ZodObject<{
556
+ export declare const CargoConfigSchema: z.ZodPipeline<z.ZodEffects<z.ZodString, unknown, string>, z.ZodObject<{
557
557
  registries: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
558
558
  index: z.ZodOptional<z.ZodString>;
559
559
  }, "strip", z.ZodTypeAny, {
@@ -588,8 +588,36 @@ export declare const CargoConfig: z.ZodPipeline<z.ZodEffects<z.ZodString, unknow
588
588
  index?: string | undefined;
589
589
  }> | undefined;
590
590
  }>>;
591
- export type CargoConfig = z.infer<typeof CargoConfig>;
592
- export declare const CargoLock: z.ZodPipeline<z.ZodEffects<z.ZodString, unknown, string>, z.ZodObject<{
591
+ export type CargoConfig = z.infer<typeof CargoConfigSchema>;
592
+ export declare const CargoLockSchema: z.ZodObject<{
593
+ package: z.ZodOptional<z.ZodArray<z.ZodObject<{
594
+ name: z.ZodString;
595
+ version: z.ZodString;
596
+ source: z.ZodOptional<z.ZodString>;
597
+ }, "strip", z.ZodTypeAny, {
598
+ name: string;
599
+ version: string;
600
+ source?: string | undefined;
601
+ }, {
602
+ name: string;
603
+ version: string;
604
+ source?: string | undefined;
605
+ }>, "many">>;
606
+ }, "strip", z.ZodTypeAny, {
607
+ package?: {
608
+ name: string;
609
+ version: string;
610
+ source?: string | undefined;
611
+ }[] | undefined;
612
+ }, {
613
+ package?: {
614
+ name: string;
615
+ version: string;
616
+ source?: string | undefined;
617
+ }[] | undefined;
618
+ }>;
619
+ export type CargoLockSchema = z.infer<typeof CargoLockSchema>;
620
+ export declare const CargoLockSchemaToml: z.ZodPipeline<z.ZodEffects<z.ZodString, unknown, string>, z.ZodObject<{
593
621
  package: z.ZodOptional<z.ZodArray<z.ZodObject<{
594
622
  name: z.ZodString;
595
623
  version: z.ZodString;
@@ -616,5 +644,4 @@ export declare const CargoLock: z.ZodPipeline<z.ZodEffects<z.ZodString, unknown,
616
644
  source?: string | undefined;
617
645
  }[] | undefined;
618
646
  }>>;
619
- export type CargoLock = z.infer<typeof CargoLock>;
620
647
  export {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CargoLock = exports.CargoConfig = exports.CargoManifest = void 0;
3
+ exports.CargoLockSchemaToml = exports.CargoLockSchema = exports.CargoConfigSchema = exports.CargoManifestSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const schema_utils_1 = require("../../../util/schema-utils");
6
6
  const crate_1 = require("../../datasource/crate");
@@ -85,7 +85,7 @@ const CargoWorkspace = zod_1.z.object({
85
85
  .optional(),
86
86
  });
87
87
  const CargoTarget = zod_1.z.record(zod_1.z.string(), CargoSection);
88
- exports.CargoManifest = schema_utils_1.Toml.pipe(CargoSection.extend({
88
+ exports.CargoManifestSchema = schema_utils_1.Toml.pipe(CargoSection.extend({
89
89
  package: zod_1.z
90
90
  .object({
91
91
  version: zod_1.z
@@ -103,16 +103,17 @@ const CargoConfigSource = zod_1.z.object({
103
103
  'replace-with': zod_1.z.string().optional(),
104
104
  registry: zod_1.z.string().optional(),
105
105
  });
106
- exports.CargoConfig = schema_utils_1.Toml.pipe(zod_1.z.object({
106
+ exports.CargoConfigSchema = schema_utils_1.Toml.pipe(zod_1.z.object({
107
107
  registries: zod_1.z.record(zod_1.z.string(), CargoConfigRegistry).optional(),
108
108
  source: zod_1.z.record(zod_1.z.string(), CargoConfigSource).optional(),
109
109
  }));
110
- const CargoLockPackage = zod_1.z.object({
110
+ const CargoLockPackageSchema = zod_1.z.object({
111
111
  name: zod_1.z.string(),
112
112
  version: zod_1.z.string(),
113
113
  source: zod_1.z.string().optional(),
114
114
  });
115
- exports.CargoLock = schema_utils_1.Toml.pipe(zod_1.z.object({
116
- package: zod_1.z.array(CargoLockPackage).optional(),
117
- }));
115
+ exports.CargoLockSchema = zod_1.z.object({
116
+ package: zod_1.z.array(CargoLockPackageSchema).optional(),
117
+ });
118
+ exports.CargoLockSchemaToml = schema_utils_1.Toml.pipe(exports.CargoLockSchema);
118
119
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/manager/cargo/schema.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport type { SkipReason } from '../../../types';\nimport { Toml, withDepType } from '../../../util/schema-utils';\nimport { CrateDatasource } from '../../datasource/crate';\nimport type { PackageDependency } from '../types';\nimport type { CargoManagerData } from './types';\n\nconst CargoDep = z.union([\n z\n .object({\n /** Path on disk to the crate sources */\n path: z.string().optional(),\n /** Git URL for the dependency */\n git: z.string().optional(),\n /** Semver version */\n version: z.string().optional(),\n /** Name of a registry whose URL is configured in `.cargo/config.toml` or `.cargo/config` */\n registry: z.string().optional(),\n /** Name of a package to look up */\n package: z.string().optional(),\n /** Whether the dependency is inherited from the workspace */\n workspace: z.boolean().optional(),\n })\n .transform(\n ({\n path,\n git,\n version,\n registry,\n package: pkg,\n workspace,\n }): PackageDependency<CargoManagerData> => {\n let skipReason: SkipReason | undefined;\n let currentValue: string | undefined;\n let nestedVersion = false;\n\n if (version) {\n currentValue = version;\n nestedVersion = true;\n } else {\n currentValue = '';\n skipReason = 'invalid-dependency-specification';\n }\n\n if (path) {\n skipReason = 'path-dependency';\n } else if (git) {\n skipReason = 'git-dependency';\n } else if (workspace) {\n skipReason = 'inherited-dependency';\n }\n\n const dep: PackageDependency<CargoManagerData> = {\n currentValue,\n managerData: { nestedVersion },\n datasource: CrateDatasource.id,\n };\n\n if (skipReason) {\n dep.skipReason = skipReason;\n }\n if (pkg) {\n dep.packageName = pkg;\n }\n if (registry) {\n dep.managerData!.registryName = registry;\n }\n\n return dep;\n },\n ),\n z.string().transform(\n (version): PackageDependency<CargoManagerData> => ({\n currentValue: version,\n managerData: { nestedVersion: false },\n datasource: CrateDatasource.id,\n }),\n ),\n]);\n\nconst CargoDeps = z.record(z.string(), CargoDep).transform((record) => {\n const deps: PackageDependency[] = [];\n\n for (const [depName, dep] of Object.entries(record)) {\n dep.depName = depName;\n deps.push(dep);\n }\n\n return deps;\n});\n\nexport type CargoDeps = z.infer<typeof CargoDeps>;\n\nconst CargoSection = z.object({\n dependencies: withDepType(CargoDeps, 'dependencies').optional(),\n 'dev-dependencies': withDepType(CargoDeps, 'dev-dependencies').optional(),\n 'build-dependencies': withDepType(CargoDeps, 'build-dependencies').optional(),\n});\n\nconst CargoWorkspace = z.object({\n dependencies: withDepType(CargoDeps, 'workspace.dependencies').optional(),\n package: z\n .object({\n version: z.string().optional(),\n })\n .optional(),\n});\n\nconst CargoTarget = z.record(z.string(), CargoSection);\n\nexport const CargoManifest = Toml.pipe(\n CargoSection.extend({\n package: z\n .object({\n version: z\n .union([z.string(), z.object({ workspace: z.literal(true) })])\n .optional(),\n })\n .optional(),\n workspace: CargoWorkspace.optional(),\n target: CargoTarget.optional(),\n }),\n);\n\nconst CargoConfigRegistry = z.object({\n index: z.string().optional(),\n});\n\nconst CargoConfigSource = z.object({\n 'replace-with': z.string().optional(),\n registry: z.string().optional(),\n});\n\nexport const CargoConfig = Toml.pipe(\n z.object({\n registries: z.record(z.string(), CargoConfigRegistry).optional(),\n source: z.record(z.string(), CargoConfigSource).optional(),\n }),\n);\n\nexport type CargoConfig = z.infer<typeof CargoConfig>;\n\nconst CargoLockPackage = z.object({\n name: z.string(),\n version: z.string(),\n source: z.string().optional(),\n});\n\nexport const CargoLock = Toml.pipe(\n z.object({\n package: z.array(CargoLockPackage).optional(),\n }),\n);\n\nexport type CargoLock = z.infer<typeof CargoLock>;\n"]}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/manager/cargo/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,6DAA+D;AAC/D,kDAAyD;AAIzD,MAAM,QAAQ,GAAG,OAAC,CAAC,KAAK,CAAC;IACvB,OAAC;SACE,MAAM,CAAC;QACN,wCAAwC;QACxC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,iCAAiC;QACjC,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC1B,qBAAqB;QACrB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,4FAA4F;QAC5F,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,mCAAmC;QACnC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,6DAA6D;QAC7D,SAAS,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KAClC,CAAC;SACD,SAAS,CACR,CAAC,EACC,IAAI,EACJ,GAAG,EACH,OAAO,EACP,QAAQ,EACR,OAAO,EAAE,GAAG,EACZ,SAAS,GACV,EAAuC,EAAE;QACxC,IAAI,UAAkC,CAAC;QACvC,IAAI,YAAgC,CAAC;QACrC,IAAI,aAAa,GAAG,KAAK,CAAC;QAE1B,IAAI,OAAO,EAAE,CAAC;YACZ,YAAY,GAAG,OAAO,CAAC;YACvB,aAAa,GAAG,IAAI,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,EAAE,CAAC;YAClB,UAAU,GAAG,kCAAkC,CAAC;QAClD,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACT,UAAU,GAAG,iBAAiB,CAAC;QACjC,CAAC;aAAM,IAAI,GAAG,EAAE,CAAC;YACf,UAAU,GAAG,gBAAgB,CAAC;QAChC,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACrB,UAAU,GAAG,sBAAsB,CAAC;QACtC,CAAC;QAED,MAAM,GAAG,GAAwC;YAC/C,YAAY;YACZ,WAAW,EAAE,EAAE,aAAa,EAAE;YAC9B,UAAU,EAAE,uBAAe,CAAC,EAAE;SAC/B,CAAC;QAEF,IAAI,UAAU,EAAE,CAAC;YACf,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC;QAC9B,CAAC;QACD,IAAI,GAAG,EAAE,CAAC;YACR,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC;QACxB,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,GAAG,CAAC,WAAY,CAAC,YAAY,GAAG,QAAQ,CAAC;QAC3C,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC,CACF;IACH,OAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAClB,CAAC,OAAO,EAAuC,EAAE,CAAC,CAAC;QACjD,YAAY,EAAE,OAAO;QACrB,WAAW,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE;QACrC,UAAU,EAAE,uBAAe,CAAC,EAAE;KAC/B,CAAC,CACH;CACF,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;IACpE,MAAM,IAAI,GAAwB,EAAE,CAAC;IAErC,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACpD,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC,CAAC;AAIH,MAAM,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5B,YAAY,EAAE,IAAA,0BAAW,EAAC,SAAS,EAAE,cAAc,CAAC,CAAC,QAAQ,EAAE;IAC/D,kBAAkB,EAAE,IAAA,0BAAW,EAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC,QAAQ,EAAE;IACzE,oBAAoB,EAAE,IAAA,0BAAW,EAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC,QAAQ,EAAE;CAC9E,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9B,YAAY,EAAE,IAAA,0BAAW,EAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC,QAAQ,EAAE;IACzE,OAAO,EAAE,OAAC;SACP,MAAM,CAAC;QACN,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC/B,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,YAAY,CAAC,CAAC;AAE1C,QAAA,mBAAmB,GAAG,mBAAI,CAAC,IAAI,CAC1C,YAAY,CAAC,MAAM,CAAC;IAClB,OAAO,EAAE,OAAC;SACP,MAAM,CAAC;QACN,OAAO,EAAE,OAAC;aACP,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,OAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;aAC7D,QAAQ,EAAE;KACd,CAAC;SACD,QAAQ,EAAE;IACb,SAAS,EAAE,cAAc,CAAC,QAAQ,EAAE;IACpC,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE;CAC/B,CAAC,CACH,CAAC;AAEF,MAAM,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IACjC,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAEU,QAAA,iBAAiB,GAAG,mBAAI,CAAC,IAAI,CACxC,OAAC,CAAC,MAAM,CAAC;IACP,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,QAAQ,EAAE;IAChE,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,iBAAiB,CAAC,CAAC,QAAQ,EAAE;CAC3D,CAAC,CACH,CAAC;AAIF,MAAM,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEU,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IACtC,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,QAAQ,EAAE;CACpD,CAAC,CAAC;AAIU,QAAA,mBAAmB,GAAG,mBAAI,CAAC,IAAI,CAAC,uBAAe,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport type { SkipReason } from '../../../types';\nimport { Toml, withDepType } from '../../../util/schema-utils';\nimport { CrateDatasource } from '../../datasource/crate';\nimport type { PackageDependency } from '../types';\nimport type { CargoManagerData } from './types';\n\nconst CargoDep = z.union([\n z\n .object({\n /** Path on disk to the crate sources */\n path: z.string().optional(),\n /** Git URL for the dependency */\n git: z.string().optional(),\n /** Semver version */\n version: z.string().optional(),\n /** Name of a registry whose URL is configured in `.cargo/config.toml` or `.cargo/config` */\n registry: z.string().optional(),\n /** Name of a package to look up */\n package: z.string().optional(),\n /** Whether the dependency is inherited from the workspace */\n workspace: z.boolean().optional(),\n })\n .transform(\n ({\n path,\n git,\n version,\n registry,\n package: pkg,\n workspace,\n }): PackageDependency<CargoManagerData> => {\n let skipReason: SkipReason | undefined;\n let currentValue: string | undefined;\n let nestedVersion = false;\n\n if (version) {\n currentValue = version;\n nestedVersion = true;\n } else {\n currentValue = '';\n skipReason = 'invalid-dependency-specification';\n }\n\n if (path) {\n skipReason = 'path-dependency';\n } else if (git) {\n skipReason = 'git-dependency';\n } else if (workspace) {\n skipReason = 'inherited-dependency';\n }\n\n const dep: PackageDependency<CargoManagerData> = {\n currentValue,\n managerData: { nestedVersion },\n datasource: CrateDatasource.id,\n };\n\n if (skipReason) {\n dep.skipReason = skipReason;\n }\n if (pkg) {\n dep.packageName = pkg;\n }\n if (registry) {\n dep.managerData!.registryName = registry;\n }\n\n return dep;\n },\n ),\n z.string().transform(\n (version): PackageDependency<CargoManagerData> => ({\n currentValue: version,\n managerData: { nestedVersion: false },\n datasource: CrateDatasource.id,\n }),\n ),\n]);\n\nconst CargoDeps = z.record(z.string(), CargoDep).transform((record) => {\n const deps: PackageDependency[] = [];\n\n for (const [depName, dep] of Object.entries(record)) {\n dep.depName = depName;\n deps.push(dep);\n }\n\n return deps;\n});\n\nexport type CargoDeps = z.infer<typeof CargoDeps>;\n\nconst CargoSection = z.object({\n dependencies: withDepType(CargoDeps, 'dependencies').optional(),\n 'dev-dependencies': withDepType(CargoDeps, 'dev-dependencies').optional(),\n 'build-dependencies': withDepType(CargoDeps, 'build-dependencies').optional(),\n});\n\nconst CargoWorkspace = z.object({\n dependencies: withDepType(CargoDeps, 'workspace.dependencies').optional(),\n package: z\n .object({\n version: z.string().optional(),\n })\n .optional(),\n});\n\nconst CargoTarget = z.record(z.string(), CargoSection);\n\nexport const CargoManifestSchema = Toml.pipe(\n CargoSection.extend({\n package: z\n .object({\n version: z\n .union([z.string(), z.object({ workspace: z.literal(true) })])\n .optional(),\n })\n .optional(),\n workspace: CargoWorkspace.optional(),\n target: CargoTarget.optional(),\n }),\n);\n\nconst CargoConfigRegistry = z.object({\n index: z.string().optional(),\n});\n\nconst CargoConfigSource = z.object({\n 'replace-with': z.string().optional(),\n registry: z.string().optional(),\n});\n\nexport const CargoConfigSchema = Toml.pipe(\n z.object({\n registries: z.record(z.string(), CargoConfigRegistry).optional(),\n source: z.record(z.string(), CargoConfigSource).optional(),\n }),\n);\n\nexport type CargoConfig = z.infer<typeof CargoConfigSchema>;\n\nconst CargoLockPackageSchema = z.object({\n name: z.string(),\n version: z.string(),\n source: z.string().optional(),\n});\n\nexport const CargoLockSchema = z.object({\n package: z.array(CargoLockPackageSchema).optional(),\n});\n\nexport type CargoLockSchema = z.infer<typeof CargoLockSchema>;\n\nexport const CargoLockSchemaToml = Toml.pipe(CargoLockSchema);\n"]}
@@ -13,7 +13,7 @@ function extractPackageFile(content, packageFile, extractConfig) {
13
13
  }
14
14
  // not try and catching this as failureBehaviour is set to filter and therefore it will not throw
15
15
  const list = (0, yaml_1.parseYaml)(content, {
16
- customSchema: schema_1.XPKG,
16
+ customSchema: schema_1.XPKGSchema,
17
17
  failureBehaviour: 'filter',
18
18
  });
19
19
  const deps = [];
@@ -1 +1 @@
1
- {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/crossplane/extract.ts"],"names":[],"mappings":";;AAUA,gDAyBC;AAnCD,4CAAyC;AACzC,6CAA+C;AAC/C,mDAA+C;AAM/C,qCAAgC;AAEhC,SAAgB,kBAAkB,CAChC,OAAe,EACf,WAAmB,EACnB,aAA6B;IAE7B,kGAAkG;IAClG,IAAI,CAAC,kDAAkD,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACtE,eAAM,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,EAAE,sCAAsC,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iGAAiG;IACjG,MAAM,IAAI,GAAG,IAAA,gBAAS,EAAC,OAAO,EAAE;QAC9B,YAAY,EAAE,aAAI;QAClB,gBAAgB,EAAE,QAAQ;KAC3B,CAAC,CAAC;IAEH,MAAM,IAAI,GAAwB,EAAE,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,IAAA,gBAAM,EAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;QAC5E,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACvC,CAAC","sourcesContent":["import { logger } from '../../../logger';\nimport { parseYaml } from '../../../util/yaml';\nimport { getDep } from '../dockerfile/extract';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFileContent,\n} from '../types';\nimport { XPKG } from './schema';\n\nexport function extractPackageFile(\n content: string,\n packageFile: string,\n extractConfig?: ExtractConfig,\n): PackageFileContent | null {\n // avoid parsing the whole file if it doesn't contain any resource having any pkg.crossplane.io/v*\n if (!/apiVersion:\\s+[\"']?pkg\\.crossplane\\.io\\/v.+[\"']?/.test(content)) {\n logger.trace({ packageFile }, 'No Crossplane package found in file.');\n return null;\n }\n\n // not try and catching this as failureBehaviour is set to filter and therefore it will not throw\n const list = parseYaml(content, {\n customSchema: XPKG,\n failureBehaviour: 'filter',\n });\n\n const deps: PackageDependency[] = [];\n for (const xpkg of list) {\n const dep = getDep(xpkg.spec.package, true, extractConfig?.registryAliases);\n dep.depType = xpkg.kind.toLowerCase();\n deps.push(dep);\n }\n\n return deps.length ? { deps } : null;\n}\n"]}
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/crossplane/extract.ts"],"names":[],"mappings":";;AAUA,gDAyBC;AAnCD,4CAAyC;AACzC,6CAA+C;AAC/C,mDAA+C;AAM/C,qCAAsC;AAEtC,SAAgB,kBAAkB,CAChC,OAAe,EACf,WAAmB,EACnB,aAA6B;IAE7B,kGAAkG;IAClG,IAAI,CAAC,kDAAkD,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACtE,eAAM,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,EAAE,sCAAsC,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iGAAiG;IACjG,MAAM,IAAI,GAAG,IAAA,gBAAS,EAAC,OAAO,EAAE;QAC9B,YAAY,EAAE,mBAAU;QACxB,gBAAgB,EAAE,QAAQ;KAC3B,CAAC,CAAC;IAEH,MAAM,IAAI,GAAwB,EAAE,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,IAAA,gBAAM,EAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;QAC5E,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACvC,CAAC","sourcesContent":["import { logger } from '../../../logger';\nimport { parseYaml } from '../../../util/yaml';\nimport { getDep } from '../dockerfile/extract';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFileContent,\n} from '../types';\nimport { XPKGSchema } from './schema';\n\nexport function extractPackageFile(\n content: string,\n packageFile: string,\n extractConfig?: ExtractConfig,\n): PackageFileContent | null {\n // avoid parsing the whole file if it doesn't contain any resource having any pkg.crossplane.io/v*\n if (!/apiVersion:\\s+[\"']?pkg\\.crossplane\\.io\\/v.+[\"']?/.test(content)) {\n logger.trace({ packageFile }, 'No Crossplane package found in file.');\n return null;\n }\n\n // not try and catching this as failureBehaviour is set to filter and therefore it will not throw\n const list = parseYaml(content, {\n customSchema: XPKGSchema,\n failureBehaviour: 'filter',\n });\n\n const deps: PackageDependency[] = [];\n for (const xpkg of list) {\n const dep = getDep(xpkg.spec.package, true, extractConfig?.registryAliases);\n dep.depType = xpkg.kind.toLowerCase();\n deps.push(dep);\n }\n\n return deps.length ? { deps } : null;\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- export declare const XPKG: z.ZodObject<{
2
+ export declare const XPKGSchema: z.ZodObject<{
3
3
  apiVersion: z.ZodString;
4
4
  kind: z.ZodEnum<["Provider", "Configuration", "Function"]>;
5
5
  spec: z.ZodObject<{
@@ -22,4 +22,4 @@ export declare const XPKG: z.ZodObject<{
22
22
  package: string;
23
23
  };
24
24
  }>;
25
- export type XPKG = z.infer<typeof XPKG>;
25
+ export type XPKG = z.infer<typeof XPKGSchema>;
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.XPKG = void 0;
3
+ exports.XPKGSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const regex_1 = require("../../../util/regex");
6
- exports.XPKG = zod_1.z.object({
6
+ exports.XPKGSchema = zod_1.z.object({
7
7
  apiVersion: zod_1.z.string().regex((0, regex_1.regEx)(/^pkg\.crossplane\.io\//)),
8
8
  kind: zod_1.z.enum(['Provider', 'Configuration', 'Function']),
9
9
  spec: zod_1.z.object({
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/manager/crossplane/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,+CAA4C;AAE/B,QAAA,IAAI,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3B,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAA,aAAK,EAAC,wBAAwB,CAAC,CAAC;IAC7D,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;IACvD,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC;QACb,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;KACpB,CAAC;CACH,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport { regEx } from '../../../util/regex';\n\nexport const XPKG = z.object({\n apiVersion: z.string().regex(regEx(/^pkg\\.crossplane\\.io\\//)),\n kind: z.enum(['Provider', 'Configuration', 'Function']),\n spec: z.object({\n package: z.string(),\n }),\n});\n\nexport type XPKG = z.infer<typeof XPKG>;\n"]}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/manager/crossplane/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,+CAA4C;AAE/B,QAAA,UAAU,GAAG,OAAC,CAAC,MAAM,CAAC;IACjC,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAA,aAAK,EAAC,wBAAwB,CAAC,CAAC;IAC7D,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;IACvD,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC;QACb,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;KACpB,CAAC;CACH,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport { regEx } from '../../../util/regex';\n\nexport const XPKGSchema = z.object({\n apiVersion: z.string().regex(regEx(/^pkg\\.crossplane\\.io\\//)),\n kind: z.enum(['Provider', 'Configuration', 'Function']),\n spec: z.object({\n package: z.string(),\n }),\n});\n\nexport type XPKG = z.infer<typeof XPKGSchema>;\n"]}
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- export declare const QueryResultZod: z.ZodEffects<z.ZodUnion<[z.ZodArray<z.ZodObject<{
2
+ export declare const QueryResultZodSchema: z.ZodEffects<z.ZodUnion<[z.ZodArray<z.ZodObject<{
3
3
  currentValue: z.ZodOptional<z.ZodString>;
4
4
  datasource: z.ZodOptional<z.ZodString>;
5
5
  depName: z.ZodOptional<z.ZodString>;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.QueryResultZod = void 0;
3
+ exports.QueryResultZodSchema = void 0;
4
4
  const zod_1 = require("zod");
5
- const DepObject = zod_1.z.object({
5
+ const DepObjectSchema = zod_1.z.object({
6
6
  currentValue: zod_1.z.string().optional(),
7
7
  datasource: zod_1.z.string().optional(),
8
8
  depName: zod_1.z.string().optional(),
@@ -14,8 +14,8 @@ const DepObject = zod_1.z.object({
14
14
  extractVersion: zod_1.z.string().optional(),
15
15
  indentation: zod_1.z.string().optional(),
16
16
  });
17
- exports.QueryResultZod = zod_1.z
18
- .union([zod_1.z.array(DepObject), DepObject])
17
+ exports.QueryResultZodSchema = zod_1.z
18
+ .union([zod_1.z.array(DepObjectSchema), DepObjectSchema])
19
19
  .transform((input) => {
20
20
  return Array.isArray(input) ? input : [input];
21
21
  });
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/custom/jsonata/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,MAAM,SAAS,GAAG,OAAC,CAAC,MAAM,CAAC;IACzB,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAEU,QAAA,cAAc,GAAG,OAAC;KAC5B,KAAK,CAAC,CAAC,OAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;KACtC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;IACnB,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\n\nconst DepObject = z.object({\n currentValue: z.string().optional(),\n datasource: z.string().optional(),\n depName: z.string().optional(),\n packageName: z.string().optional(),\n currentDigest: z.string().optional(),\n versioning: z.string().optional(),\n depType: z.string().optional(),\n registryUrl: z.string().optional(),\n extractVersion: z.string().optional(),\n indentation: z.string().optional(),\n});\n\nexport const QueryResultZod = z\n .union([z.array(DepObject), DepObject])\n .transform((input) => {\n return Array.isArray(input) ? input : [input];\n });\n"]}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/custom/jsonata/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,MAAM,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/B,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAEU,QAAA,oBAAoB,GAAG,OAAC;KAClC,KAAK,CAAC,CAAC,OAAC,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC,CAAC;KAClD,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;IACnB,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\n\nconst DepObjectSchema = z.object({\n currentValue: z.string().optional(),\n datasource: z.string().optional(),\n depName: z.string().optional(),\n packageName: z.string().optional(),\n currentDigest: z.string().optional(),\n versioning: z.string().optional(),\n depType: z.string().optional(),\n registryUrl: z.string().optional(),\n extractVersion: z.string().optional(),\n indentation: z.string().optional(),\n});\n\nexport const QueryResultZodSchema = z\n .union([z.array(DepObjectSchema), DepObjectSchema])\n .transform((input) => {\n return Array.isArray(input) ? input : [input];\n });\n"]}
@@ -28,7 +28,7 @@ async function handleMatching(json, packageFile, config) {
28
28
  }, 'The jsonata query returned no matches. Possible error, please check your query. Skipping');
29
29
  return [];
30
30
  }
31
- const parsed = schema_1.QueryResultZod.safeParse(queryResult);
31
+ const parsed = schema_1.QueryResultZodSchema.safeParse(queryResult);
32
32
  if (parsed.success) {
33
33
  results = results.concat(parsed.data);
34
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/custom/jsonata/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport jsonata from 'jsonata';\nimport { migrateDatasource } from '../../../../config/migrations/custom/datasource-migration';\nimport { logger } from '../../../../logger';\nimport * as template from '../../../../util/template';\nimport { parseUrl } from '../../../../util/url';\nimport type { PackageDependency } from '../../types';\nimport type { ValidMatchFields } from '../utils';\nimport { checkIsValidDependency, validMatchFields } from '../utils';\nimport { QueryResultZod } from './schema';\nimport type { JSONataManagerTemplates, JsonataExtractConfig } from './types';\n\nexport async function handleMatching(\n json: unknown,\n packageFile: string,\n config: JsonataExtractConfig,\n): Promise<PackageDependency[]> {\n let results: Record<string, string>[] = [];\n const { matchStrings: jsonataQueries } = config;\n for (const query of jsonataQueries) {\n // won't fail as this is verified during config validation\n const jsonataExpression = jsonata(query);\n // this does not throw error, just returns undefined if no matches\n const queryResult = await jsonataExpression.evaluate(json);\n\n // allows empty dep object cause templates can be used to configure the required fields\n // if some issues arise then the isValidDependency call will catch them later on\n if (!queryResult || is.emptyArray(queryResult)) {\n logger.debug(\n {\n jsonataQuery: query,\n packageFile,\n },\n 'The jsonata query returned no matches. Possible error, please check your query. Skipping',\n );\n return [];\n }\n\n const parsed = QueryResultZod.safeParse(queryResult);\n if (parsed.success) {\n results = results.concat(parsed.data);\n } else {\n logger.warn(\n { err: parsed.error, jsonataQuery: query, packageFile, queryResult },\n 'Query results failed schema validation',\n );\n return [];\n }\n }\n\n return results\n .map((dep) => createDependency(dep, config))\n .filter(is.truthy)\n .filter((dep) =>\n checkIsValidDependency(dep, packageFile, 'custom.jsonata'),\n );\n}\n\nexport function createDependency(\n queryResult: Record<string, string>,\n config: JsonataExtractConfig,\n): PackageDependency | null {\n const dependency: PackageDependency = {};\n\n for (const field of validMatchFields) {\n const fieldTemplate = `${field}Template` as keyof JSONataManagerTemplates;\n const tmpl = config[fieldTemplate];\n if (tmpl) {\n try {\n const compiled = template.compile(tmpl, queryResult, false);\n updateDependency(field, compiled, dependency);\n } catch {\n logger.debug(\n { template: tmpl },\n 'Error compiling template for JSONata manager',\n );\n return null;\n }\n } else if (queryResult[field]) {\n updateDependency(field, queryResult[field], dependency);\n }\n }\n return dependency;\n}\n\nfunction updateDependency(\n field: ValidMatchFields,\n value: string,\n dependency: PackageDependency,\n): PackageDependency {\n switch (field) {\n case 'registryUrl': {\n const url = parseUrl(value)?.toString();\n if (!url) {\n logger.debug({ url: value }, 'Invalid JSONata manager registryUrl');\n break;\n }\n dependency.registryUrls = [url];\n break;\n }\n case 'datasource':\n dependency.datasource = migrateDatasource(value);\n break;\n default:\n dependency[field] = value;\n break;\n }\n\n return dependency;\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/custom/jsonata/utils.ts"],"names":[],"mappings":";;AAYA,wCA4CC;AAED,4CAyBC;;AAnFD,kEAAkC;AAClC,8DAA8B;AAC9B,oGAA8F;AAC9F,+CAA4C;AAC5C,4EAAsD;AACtD,8CAAgD;AAGhD,oCAAoE;AACpE,qCAAgD;AAGzC,KAAK,UAAU,cAAc,CAClC,IAAa,EACb,WAAmB,EACnB,MAA4B;IAE5B,IAAI,OAAO,GAA6B,EAAE,CAAC;IAC3C,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;IAChD,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACnC,0DAA0D;QAC1D,MAAM,iBAAiB,GAAG,IAAA,iBAAO,EAAC,KAAK,CAAC,CAAC;QACzC,kEAAkE;QAClE,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE3D,uFAAuF;QACvF,gFAAgF;QAChF,IAAI,CAAC,WAAW,IAAI,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/C,eAAM,CAAC,KAAK,CACV;gBACE,YAAY,EAAE,KAAK;gBACnB,WAAW;aACZ,EACD,0FAA0F,CAC3F,CAAC;YACF,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,MAAM,GAAG,6BAAoB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,eAAM,CAAC,IAAI,CACT,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,EACpE,wCAAwC,CACzC,CAAC;YACF,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,OAAO,OAAO;SACX,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;SAC3C,MAAM,CAAC,YAAE,CAAC,MAAM,CAAC;SACjB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CACd,IAAA,8BAAsB,EAAC,GAAG,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAC3D,CAAC;AACN,CAAC;AAED,SAAgB,gBAAgB,CAC9B,WAAmC,EACnC,MAA4B;IAE5B,MAAM,UAAU,GAAsB,EAAE,CAAC;IAEzC,KAAK,MAAM,KAAK,IAAI,wBAAgB,EAAE,CAAC;QACrC,MAAM,aAAa,GAAG,GAAG,KAAK,UAA2C,CAAC;QAC1E,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;QACnC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;gBAC5D,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;YAChD,CAAC;YAAC,MAAM,CAAC;gBACP,eAAM,CAAC,KAAK,CACV,EAAE,QAAQ,EAAE,IAAI,EAAE,EAClB,8CAA8C,CAC/C,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;aAAM,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,gBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAuB,EACvB,KAAa,EACb,UAA6B;IAE7B,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,GAAG,GAAG,IAAA,cAAQ,EAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;YACxC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,eAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,qCAAqC,CAAC,CAAC;gBACpE,MAAM;YACR,CAAC;YACD,UAAU,CAAC,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM;QACR,CAAC;QACD,KAAK,YAAY;YACf,UAAU,CAAC,UAAU,GAAG,IAAA,wCAAiB,EAAC,KAAK,CAAC,CAAC;YACjD,MAAM;QACR;YACE,UAAU,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;YAC1B,MAAM;IACV,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport jsonata from 'jsonata';\nimport { migrateDatasource } from '../../../../config/migrations/custom/datasource-migration';\nimport { logger } from '../../../../logger';\nimport * as template from '../../../../util/template';\nimport { parseUrl } from '../../../../util/url';\nimport type { PackageDependency } from '../../types';\nimport type { ValidMatchFields } from '../utils';\nimport { checkIsValidDependency, validMatchFields } from '../utils';\nimport { QueryResultZodSchema } from './schema';\nimport type { JSONataManagerTemplates, JsonataExtractConfig } from './types';\n\nexport async function handleMatching(\n json: unknown,\n packageFile: string,\n config: JsonataExtractConfig,\n): Promise<PackageDependency[]> {\n let results: Record<string, string>[] = [];\n const { matchStrings: jsonataQueries } = config;\n for (const query of jsonataQueries) {\n // won't fail as this is verified during config validation\n const jsonataExpression = jsonata(query);\n // this does not throw error, just returns undefined if no matches\n const queryResult = await jsonataExpression.evaluate(json);\n\n // allows empty dep object cause templates can be used to configure the required fields\n // if some issues arise then the isValidDependency call will catch them later on\n if (!queryResult || is.emptyArray(queryResult)) {\n logger.debug(\n {\n jsonataQuery: query,\n packageFile,\n },\n 'The jsonata query returned no matches. Possible error, please check your query. Skipping',\n );\n return [];\n }\n\n const parsed = QueryResultZodSchema.safeParse(queryResult);\n if (parsed.success) {\n results = results.concat(parsed.data);\n } else {\n logger.warn(\n { err: parsed.error, jsonataQuery: query, packageFile, queryResult },\n 'Query results failed schema validation',\n );\n return [];\n }\n }\n\n return results\n .map((dep) => createDependency(dep, config))\n .filter(is.truthy)\n .filter((dep) =>\n checkIsValidDependency(dep, packageFile, 'custom.jsonata'),\n );\n}\n\nexport function createDependency(\n queryResult: Record<string, string>,\n config: JsonataExtractConfig,\n): PackageDependency | null {\n const dependency: PackageDependency = {};\n\n for (const field of validMatchFields) {\n const fieldTemplate = `${field}Template` as keyof JSONataManagerTemplates;\n const tmpl = config[fieldTemplate];\n if (tmpl) {\n try {\n const compiled = template.compile(tmpl, queryResult, false);\n updateDependency(field, compiled, dependency);\n } catch {\n logger.debug(\n { template: tmpl },\n 'Error compiling template for JSONata manager',\n );\n return null;\n }\n } else if (queryResult[field]) {\n updateDependency(field, queryResult[field], dependency);\n }\n }\n return dependency;\n}\n\nfunction updateDependency(\n field: ValidMatchFields,\n value: string,\n dependency: PackageDependency,\n): PackageDependency {\n switch (field) {\n case 'registryUrl': {\n const url = parseUrl(value)?.toString();\n if (!url) {\n logger.debug({ url: value }, 'Invalid JSONata manager registryUrl');\n break;\n }\n dependency.registryUrls = [url];\n break;\n }\n case 'datasource':\n dependency.datasource = migrateDatasource(value);\n break;\n default:\n dependency[field] = value;\n break;\n }\n\n return dependency;\n}\n"]}
@@ -5,7 +5,7 @@ const logger_1 = require("../../../logger");
5
5
  const schema_1 = require("./schema");
6
6
  function extractPackageFile(content, packageFile) {
7
7
  logger_1.logger.trace('devbox.extractPackageFile()');
8
- const deps = (0, logger_1.withMeta)({ packageFile }, () => schema_1.Devbox.parse(content));
8
+ const deps = (0, logger_1.withMeta)({ packageFile }, () => schema_1.DevboxSchema.parse(content));
9
9
  if (!deps.length) {
10
10
  return null;
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/devbox/extract.ts"],"names":[],"mappings":";;AAIA,gDAYC;AAhBD,4CAAmD;AAEnD,qCAAkC;AAElC,SAAgB,kBAAkB,CAChC,OAAe,EACf,WAAmB;IAEnB,eAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAE5C,MAAM,IAAI,GAAG,IAAA,iBAAQ,EAAC,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,eAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACpE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC","sourcesContent":["import { logger, withMeta } from '../../../logger';\nimport type { PackageFileContent } from '../types';\nimport { Devbox } from './schema';\n\nexport function extractPackageFile(\n content: string,\n packageFile: string,\n): PackageFileContent | null {\n logger.trace('devbox.extractPackageFile()');\n\n const deps = withMeta({ packageFile }, () => Devbox.parse(content));\n if (!deps.length) {\n return null;\n }\n\n return { deps };\n}\n"]}
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/devbox/extract.ts"],"names":[],"mappings":";;AAIA,gDAYC;AAhBD,4CAAmD;AAEnD,qCAAwC;AAExC,SAAgB,kBAAkB,CAChC,OAAe,EACf,WAAmB;IAEnB,eAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAE5C,MAAM,IAAI,GAAG,IAAA,iBAAQ,EAAC,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,qBAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1E,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC","sourcesContent":["import { logger, withMeta } from '../../../logger';\nimport type { PackageFileContent } from '../types';\nimport { DevboxSchema } from './schema';\n\nexport function extractPackageFile(\n content: string,\n packageFile: string,\n): PackageFileContent | null {\n logger.trace('devbox.extractPackageFile()');\n\n const deps = withMeta({ packageFile }, () => DevboxSchema.parse(content));\n if (!deps.length) {\n return null;\n }\n\n return { deps };\n}\n"]}