renovate 40.0.0-next.40 → 40.0.0-next.41

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 (237) hide show
  1. package/dist/config/options/index.js +13 -0
  2. package/dist/config/options/index.js.map +1 -1
  3. package/dist/config/presets/common.js +1 -0
  4. package/dist/config/presets/common.js.map +1 -1
  5. package/dist/config/presets/internal/custom-managers.js +15 -0
  6. package/dist/config/presets/internal/custom-managers.js.map +1 -1
  7. package/dist/constants/platforms.js +5 -1
  8. package/dist/constants/platforms.js.map +1 -1
  9. package/dist/data/monorepo.json +3 -1
  10. package/dist/data-files.generated.js +2 -2
  11. package/dist/data-files.generated.js.map +1 -1
  12. package/dist/instrumentation/index.js +28 -8
  13. package/dist/instrumentation/index.js.map +1 -1
  14. package/dist/modules/datasource/api.js +2 -0
  15. package/dist/modules/datasource/api.js.map +1 -1
  16. package/dist/modules/datasource/azure-pipelines-tasks/index.js +4 -0
  17. package/dist/modules/datasource/azure-pipelines-tasks/index.js.map +1 -1
  18. package/dist/modules/datasource/azure-pipelines-tasks/schema.d.ts +8 -0
  19. package/dist/modules/datasource/azure-pipelines-tasks/schema.js +1 -0
  20. package/dist/modules/datasource/azure-pipelines-tasks/schema.js.map +1 -1
  21. package/dist/modules/datasource/bazel/index.js +18 -1
  22. package/dist/modules/datasource/bazel/index.js.map +1 -1
  23. package/dist/modules/datasource/bazel/schema.d.ts +1 -0
  24. package/dist/modules/datasource/bazel/schema.js.map +1 -1
  25. package/dist/modules/datasource/bitbucket-server-tags/index.d.ts +19 -0
  26. package/dist/modules/datasource/bitbucket-server-tags/index.js +133 -0
  27. package/dist/modules/datasource/bitbucket-server-tags/index.js.map +1 -0
  28. package/dist/modules/datasource/bitbucket-server-tags/schema.d.ts +28 -0
  29. package/dist/modules/datasource/bitbucket-server-tags/schema.js +13 -0
  30. package/dist/modules/datasource/bitbucket-server-tags/schema.js.map +1 -0
  31. package/dist/modules/datasource/conda/prefix-dev.js +1 -3
  32. package/dist/modules/datasource/conda/prefix-dev.js.map +1 -1
  33. package/dist/modules/datasource/cpan/index.js +1 -3
  34. package/dist/modules/datasource/cpan/index.js.map +1 -1
  35. package/dist/modules/datasource/custom/schema.d.ts +3 -3
  36. package/dist/modules/datasource/deb/index.d.ts +4 -5
  37. package/dist/modules/datasource/deb/index.js +8 -9
  38. package/dist/modules/datasource/deb/index.js.map +1 -1
  39. package/dist/modules/datasource/deb/url.d.ts +3 -3
  40. package/dist/modules/datasource/deb/url.js +17 -13
  41. package/dist/modules/datasource/deb/url.js.map +1 -1
  42. package/dist/modules/datasource/docker/schema.d.ts +72 -96
  43. package/dist/modules/datasource/github-runners/index.js +2 -2
  44. package/dist/modules/datasource/github-runners/index.js.map +1 -1
  45. package/dist/modules/datasource/metadata.js +9 -1
  46. package/dist/modules/datasource/metadata.js.map +1 -1
  47. package/dist/modules/datasource/npm/get.d.ts +0 -1
  48. package/dist/modules/datasource/npm/get.js +14 -68
  49. package/dist/modules/datasource/npm/get.js.map +1 -1
  50. package/dist/modules/datasource/npm/types.d.ts +0 -8
  51. package/dist/modules/datasource/npm/types.js.map +1 -1
  52. package/dist/modules/datasource/packagist/schema.d.ts +7 -7
  53. package/dist/modules/datasource/types.d.ts +1 -0
  54. package/dist/modules/datasource/types.js.map +1 -1
  55. package/dist/modules/manager/argocd/schema.d.ts +12 -12
  56. package/dist/modules/manager/bazel-module/parser/maven.d.ts +6 -52
  57. package/dist/modules/manager/bazel-module/parser/oci.d.ts +3 -26
  58. package/dist/modules/manager/bazel-module/rules.d.ts +15 -125
  59. package/dist/modules/manager/bun/extract.d.ts +1 -0
  60. package/dist/modules/manager/bun/extract.js +53 -27
  61. package/dist/modules/manager/bun/extract.js.map +1 -1
  62. package/dist/modules/manager/bun/index.js +1 -1
  63. package/dist/modules/manager/bun/index.js.map +1 -1
  64. package/dist/modules/manager/bun/utils.d.ts +2 -0
  65. package/dist/modules/manager/bun/utils.js +22 -0
  66. package/dist/modules/manager/bun/utils.js.map +1 -0
  67. package/dist/modules/manager/cargo/schema.d.ts +3 -3
  68. package/dist/modules/manager/circleci/extract.js +21 -30
  69. package/dist/modules/manager/circleci/extract.js.map +1 -1
  70. package/dist/modules/manager/circleci/schema.d.ts +33 -144
  71. package/dist/modules/manager/circleci/schema.js +21 -17
  72. package/dist/modules/manager/circleci/schema.js.map +1 -1
  73. package/dist/modules/manager/composer/schema.d.ts +6 -8
  74. package/dist/modules/manager/conan/artifacts.d.ts +2 -0
  75. package/dist/modules/manager/conan/artifacts.js +76 -0
  76. package/dist/modules/manager/conan/artifacts.js.map +1 -0
  77. package/dist/modules/manager/conan/index.d.ts +2 -0
  78. package/dist/modules/manager/conan/index.js +4 -1
  79. package/dist/modules/manager/conan/index.js.map +1 -1
  80. package/dist/modules/manager/devbox/artifacts.js +7 -0
  81. package/dist/modules/manager/devbox/artifacts.js.map +1 -1
  82. package/dist/modules/manager/dockerfile/extract.js +2 -6
  83. package/dist/modules/manager/dockerfile/extract.js.map +1 -1
  84. package/dist/modules/manager/fingerprint.generated.js +10 -10
  85. package/dist/modules/manager/fingerprint.generated.js.map +1 -1
  86. package/dist/modules/manager/flux/schema.d.ts +36 -60
  87. package/dist/modules/manager/gomod/artifacts-extra.js +12 -4
  88. package/dist/modules/manager/gomod/artifacts-extra.js.map +1 -1
  89. package/dist/modules/manager/gomod/update.js +3 -1
  90. package/dist/modules/manager/gomod/update.js.map +1 -1
  91. package/dist/modules/manager/gradle/extract.js +8 -13
  92. package/dist/modules/manager/gradle/extract.js.map +1 -1
  93. package/dist/modules/manager/gradle/parser/handlers.js +8 -0
  94. package/dist/modules/manager/gradle/parser/handlers.js.map +1 -1
  95. package/dist/modules/manager/gradle/parser/registry-urls.js +36 -10
  96. package/dist/modules/manager/gradle/parser/registry-urls.js.map +1 -1
  97. package/dist/modules/manager/gradle/types.d.ts +1 -0
  98. package/dist/modules/manager/gradle/types.js.map +1 -1
  99. package/dist/modules/manager/maven/extract.js +1 -3
  100. package/dist/modules/manager/maven/extract.js.map +1 -1
  101. package/dist/modules/manager/nix/schema.d.ts +14 -14
  102. package/dist/modules/manager/nix/schema.js +1 -0
  103. package/dist/modules/manager/nix/schema.js.map +1 -1
  104. package/dist/modules/manager/npm/extract/common/package-file.js +1 -0
  105. package/dist/modules/manager/npm/extract/common/package-file.js.map +1 -1
  106. package/dist/modules/manager/nuget/extract.js +21 -18
  107. package/dist/modules/manager/nuget/extract.js.map +1 -1
  108. package/dist/modules/manager/pep621/schema.d.ts +292 -5
  109. package/dist/modules/manager/pip_requirements/common.js +2 -6
  110. package/dist/modules/manager/pip_requirements/common.js.map +1 -1
  111. package/dist/modules/manager/pixi/artifacts.js +4 -10
  112. package/dist/modules/manager/pixi/artifacts.js.map +1 -1
  113. package/dist/modules/manager/pixi/extract.d.ts +2 -0
  114. package/dist/modules/manager/pixi/extract.js +81 -3
  115. package/dist/modules/manager/pixi/extract.js.map +1 -1
  116. package/dist/modules/manager/pixi/index.d.ts +0 -1
  117. package/dist/modules/manager/pixi/index.js +1 -3
  118. package/dist/modules/manager/pixi/index.js.map +1 -1
  119. package/dist/modules/manager/pixi/schema.d.ts +394 -3
  120. package/dist/modules/manager/pixi/schema.js +135 -2
  121. package/dist/modules/manager/pixi/schema.js.map +1 -1
  122. package/dist/modules/manager/sveltos/schema.d.ts +18 -30
  123. package/dist/modules/manager/terraform/util.js +1 -3
  124. package/dist/modules/manager/terraform/util.js.map +1 -1
  125. package/dist/modules/manager/vendir/schema.d.ts +3 -3
  126. package/dist/modules/platform/bitbucket/schema.d.ts +3 -3
  127. package/dist/modules/platform/bitbucket-server/schema.d.ts +1 -0
  128. package/dist/modules/platform/bitbucket-server/schema.js +2 -1
  129. package/dist/modules/platform/bitbucket-server/schema.js.map +1 -1
  130. package/dist/modules/platform/gerrit/client.d.ts +0 -3
  131. package/dist/modules/platform/gerrit/client.js +8 -28
  132. package/dist/modules/platform/gerrit/client.js.map +1 -1
  133. package/dist/modules/platform/gerrit/index.js +0 -6
  134. package/dist/modules/platform/gerrit/index.js.map +1 -1
  135. package/dist/modules/platform/gerrit/scm.js +5 -6
  136. package/dist/modules/platform/gerrit/scm.js.map +1 -1
  137. package/dist/modules/platform/gerrit/types.d.ts +1 -4
  138. package/dist/modules/platform/gerrit/types.js.map +1 -1
  139. package/dist/modules/platform/gerrit/utils.d.ts +3 -2
  140. package/dist/modules/platform/gerrit/utils.js +3 -7
  141. package/dist/modules/platform/gerrit/utils.js.map +1 -1
  142. package/dist/modules/platform/gitea/index.js +7 -9
  143. package/dist/modules/platform/gitea/index.js.map +1 -1
  144. package/dist/modules/platform/github/issue.d.ts +6 -6
  145. package/dist/modules/platform/github/schema.d.ts +52 -52
  146. package/dist/modules/platform/gitlab/index.js +2 -6
  147. package/dist/modules/platform/gitlab/index.js.map +1 -1
  148. package/dist/modules/versioning/distro.js +1 -3
  149. package/dist/modules/versioning/distro.js.map +1 -1
  150. package/dist/util/cache/package/types.d.ts +1 -1
  151. package/dist/util/cache/package/types.js.map +1 -1
  152. package/dist/util/cache/repository/impl/base.js +4 -0
  153. package/dist/util/cache/repository/impl/base.js.map +1 -1
  154. package/dist/util/common.d.ts +4 -2
  155. package/dist/util/common.js +17 -3
  156. package/dist/util/common.js.map +1 -1
  157. package/dist/util/exec/containerbase.js +2 -3
  158. package/dist/util/exec/containerbase.js.map +1 -1
  159. package/dist/util/git/auth.js +8 -5
  160. package/dist/util/git/auth.js.map +1 -1
  161. package/dist/util/git/index.js +2 -6
  162. package/dist/util/git/index.js.map +1 -1
  163. package/dist/util/git/private-key.js +1 -3
  164. package/dist/util/git/private-key.js.map +1 -1
  165. package/dist/util/git/types.d.ts +2 -0
  166. package/dist/util/git/types.js.map +1 -1
  167. package/dist/util/git/url.js +1 -1
  168. package/dist/util/git/url.js.map +1 -1
  169. package/dist/util/github/graphql/datasource-fetcher.js +3 -5
  170. package/dist/util/github/graphql/datasource-fetcher.js.map +1 -1
  171. package/dist/util/http/bitbucket-server.d.ts +2 -1
  172. package/dist/util/http/bitbucket-server.js +5 -3
  173. package/dist/util/http/bitbucket-server.js.map +1 -1
  174. package/dist/util/http/cache/package-http-cache-provider.d.ts +23 -0
  175. package/dist/util/http/cache/package-http-cache-provider.js +80 -0
  176. package/dist/util/http/cache/package-http-cache-provider.js.map +1 -0
  177. package/dist/util/http/host-rules.js +12 -0
  178. package/dist/util/http/host-rules.js.map +1 -1
  179. package/dist/util/schema-utils.d.ts +1 -0
  180. package/dist/util/schema-utils.js +43 -8
  181. package/dist/util/schema-utils.js.map +1 -1
  182. package/dist/util/string.d.ts +1 -0
  183. package/dist/util/string.js +4 -0
  184. package/dist/util/string.js.map +1 -1
  185. package/dist/util/yaml.js +2 -3
  186. package/dist/util/yaml.js.map +1 -1
  187. package/dist/workers/global/config/parse/index.js +10 -0
  188. package/dist/workers/global/config/parse/index.js.map +1 -1
  189. package/dist/workers/global/index.js +4 -2
  190. package/dist/workers/global/index.js.map +1 -1
  191. package/dist/workers/repository/process/lookup/index.js +2 -0
  192. package/dist/workers/repository/process/lookup/index.js.map +1 -1
  193. package/dist/workers/repository/process/lookup/timestamps.d.ts +18 -0
  194. package/dist/workers/repository/process/lookup/timestamps.js +69 -0
  195. package/dist/workers/repository/process/lookup/timestamps.js.map +1 -0
  196. package/dist/workers/repository/process/lookup/types.d.ts +1 -0
  197. package/dist/workers/repository/process/lookup/types.js.map +1 -1
  198. package/dist/workers/repository/process/lookup/utils.js +20 -9
  199. package/dist/workers/repository/process/lookup/utils.js.map +1 -1
  200. package/dist/workers/repository/process/sort.js +1 -1
  201. package/dist/workers/repository/process/sort.js.map +1 -1
  202. package/dist/workers/repository/reconfigure/utils.d.ts +2 -0
  203. package/dist/workers/repository/reconfigure/utils.js +16 -0
  204. package/dist/workers/repository/reconfigure/utils.js.map +1 -1
  205. package/dist/workers/repository/reconfigure/validate.js +5 -17
  206. package/dist/workers/repository/reconfigure/validate.js.map +1 -1
  207. package/dist/workers/repository/update/branch/auto-replace.js +25 -5
  208. package/dist/workers/repository/update/branch/auto-replace.js.map +1 -1
  209. package/dist/workers/repository/update/branch/commit.js +2 -0
  210. package/dist/workers/repository/update/branch/commit.js.map +1 -1
  211. package/dist/workers/repository/update/pr/body/config-description.js +26 -1
  212. package/dist/workers/repository/update/pr/body/config-description.js.map +1 -1
  213. package/dist/workers/repository/update/pr/body/index.js +21 -14
  214. package/dist/workers/repository/update/pr/body/index.js.map +1 -1
  215. package/dist/workers/repository/update/pr/changelog/api.js +8 -6
  216. package/dist/workers/repository/update/pr/changelog/api.js.map +1 -1
  217. package/dist/workers/repository/update/pr/changelog/bitbucket-server/index.d.ts +3 -0
  218. package/dist/workers/repository/update/pr/changelog/bitbucket-server/index.js +39 -0
  219. package/dist/workers/repository/update/pr/changelog/bitbucket-server/index.js.map +1 -0
  220. package/dist/workers/repository/update/pr/changelog/bitbucket-server/source.d.ts +8 -0
  221. package/dist/workers/repository/update/pr/changelog/bitbucket-server/source.js +31 -0
  222. package/dist/workers/repository/update/pr/changelog/bitbucket-server/source.js.map +1 -0
  223. package/dist/workers/repository/update/pr/changelog/release-notes.js +12 -8
  224. package/dist/workers/repository/update/pr/changelog/release-notes.js.map +1 -1
  225. package/dist/workers/repository/update/pr/changelog/source.d.ts +1 -1
  226. package/dist/workers/repository/update/pr/changelog/source.js.map +1 -1
  227. package/dist/workers/repository/update/pr/changelog/types.d.ts +1 -1
  228. package/dist/workers/repository/update/pr/changelog/types.js.map +1 -1
  229. package/dist/workers/repository/update/pr/index.js +2 -4
  230. package/dist/workers/repository/update/pr/index.js.map +1 -1
  231. package/dist/workers/repository/updates/generate.js +2 -0
  232. package/dist/workers/repository/updates/generate.js.map +1 -1
  233. package/package.json +40 -37
  234. package/renovate-schema.json +9 -2
  235. package/dist/modules/manager/pixi/lockfile.d.ts +0 -6
  236. package/dist/modules/manager/pixi/lockfile.js +0 -25
  237. package/dist/modules/manager/pixi/lockfile.js.map +0 -1
@@ -1,165 +1,54 @@
1
1
  import { z } from 'zod';
2
- export declare const CircleCiDocker: z.ZodObject<{
2
+ export declare const CircleCiDocker: z.ZodEffects<z.ZodObject<{
3
3
  image: z.ZodString;
4
4
  }, "strip", z.ZodTypeAny, {
5
5
  image: string;
6
6
  }, {
7
7
  image: string;
8
+ }>, string, {
9
+ image: string;
8
10
  }>;
9
- export declare const CircleCiJob: z.ZodObject<{
10
- docker: z.ZodOptional<z.ZodArray<z.ZodObject<{
11
- image: z.ZodString;
12
- }, "strip", z.ZodTypeAny, {
13
- image: string;
14
- }, {
15
- image: string;
16
- }>, "many">>;
11
+ export declare const CircleCiJob: z.ZodEffects<z.ZodObject<{
12
+ docker: z.ZodCatch<z.ZodEffects<z.ZodArray<z.ZodAny, "many">, string[], any[]>>;
17
13
  }, "strip", z.ZodTypeAny, {
18
- docker?: {
19
- image: string;
20
- }[] | undefined;
14
+ docker: string[];
21
15
  }, {
22
- docker?: {
23
- image: string;
24
- }[] | undefined;
16
+ docker?: unknown;
17
+ }>, string[], {
18
+ docker?: unknown;
25
19
  }>;
26
20
  export type CircleCiJob = z.infer<typeof CircleCiJob>;
27
- declare const baseOrb: z.ZodObject<{
28
- executors: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
29
- docker: z.ZodOptional<z.ZodArray<z.ZodObject<{
30
- image: z.ZodString;
31
- }, "strip", z.ZodTypeAny, {
32
- image: string;
33
- }, {
34
- image: string;
35
- }>, "many">>;
36
- }, "strip", z.ZodTypeAny, {
37
- docker?: {
38
- image: string;
39
- }[] | undefined;
40
- }, {
41
- docker?: {
42
- image: string;
43
- }[] | undefined;
44
- }>>>;
45
- jobs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
46
- docker: z.ZodOptional<z.ZodArray<z.ZodObject<{
47
- image: z.ZodString;
48
- }, "strip", z.ZodTypeAny, {
49
- image: string;
50
- }, {
51
- image: string;
52
- }>, "many">>;
53
- }, "strip", z.ZodTypeAny, {
54
- docker?: {
55
- image: string;
56
- }[] | undefined;
57
- }, {
58
- docker?: {
59
- image: string;
60
- }[] | undefined;
61
- }>>>;
21
+ declare const BaseOrb: z.ZodObject<{
22
+ executors: z.ZodCatch<z.ZodEffects<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, string[]>, Record<string, any>>, string[], Record<string, any>>>;
23
+ jobs: z.ZodCatch<z.ZodEffects<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, string[]>, Record<string, any>>, string[], Record<string, any>>>;
62
24
  }, "strip", z.ZodTypeAny, {
63
- jobs?: Record<string, {
64
- docker?: {
65
- image: string;
66
- }[] | undefined;
67
- }> | undefined;
68
- executors?: Record<string, {
69
- docker?: {
70
- image: string;
71
- }[] | undefined;
72
- }> | undefined;
25
+ jobs: string[];
26
+ executors: string[];
73
27
  }, {
74
- jobs?: Record<string, {
75
- docker?: {
76
- image: string;
77
- }[] | undefined;
78
- }> | undefined;
79
- executors?: Record<string, {
80
- docker?: {
81
- image: string;
82
- }[] | undefined;
83
- }> | undefined;
28
+ jobs?: unknown;
29
+ executors?: unknown;
84
30
  }>;
85
- type Orb = z.infer<typeof baseOrb> & {
86
- orbs?: Record<string, string | Orb>;
31
+ type Orb = z.infer<typeof BaseOrb> & {
32
+ orbs: Record<string, string | Orb>;
87
33
  };
88
34
  export declare const CircleCiOrb: z.ZodType<Orb>;
89
35
  export type CircleCiOrb = z.infer<typeof CircleCiOrb>;
90
- export declare const CircleCiFile: z.ZodObject<{
91
- aliases: z.ZodOptional<z.ZodArray<z.ZodObject<{
92
- image: z.ZodString;
93
- }, "strip", z.ZodTypeAny, {
94
- image: string;
95
- }, {
96
- image: string;
97
- }>, "many">>;
98
- executors: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
99
- docker: z.ZodOptional<z.ZodArray<z.ZodObject<{
100
- image: z.ZodString;
101
- }, "strip", z.ZodTypeAny, {
102
- image: string;
103
- }, {
104
- image: string;
105
- }>, "many">>;
106
- }, "strip", z.ZodTypeAny, {
107
- docker?: {
108
- image: string;
109
- }[] | undefined;
110
- }, {
111
- docker?: {
112
- image: string;
113
- }[] | undefined;
114
- }>>>;
115
- jobs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
116
- docker: z.ZodOptional<z.ZodArray<z.ZodObject<{
117
- image: z.ZodString;
118
- }, "strip", z.ZodTypeAny, {
119
- image: string;
120
- }, {
121
- image: string;
122
- }>, "many">>;
123
- }, "strip", z.ZodTypeAny, {
124
- docker?: {
125
- image: string;
126
- }[] | undefined;
127
- }, {
128
- docker?: {
129
- image: string;
130
- }[] | undefined;
131
- }>>>;
132
- orbs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodType<Orb, z.ZodTypeDef, Orb>]>>>;
36
+ export declare const CircleCiFile: z.ZodPipeline<z.ZodEffects<z.ZodUnknown, unknown, unknown>, z.ZodObject<{
37
+ executors: z.ZodCatch<z.ZodEffects<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, string[]>, Record<string, any>>, string[], Record<string, any>>>;
38
+ jobs: z.ZodCatch<z.ZodEffects<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, string[]>, Record<string, any>>, string[], Record<string, any>>>;
39
+ } & {
40
+ aliases: z.ZodCatch<z.ZodEffects<z.ZodArray<z.ZodAny, "many">, string[], any[]>>;
41
+ orbs: z.ZodCatch<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, string | Orb>, Record<string, any>>>;
133
42
  }, "strip", z.ZodTypeAny, {
134
- aliases?: {
135
- image: string;
136
- }[] | undefined;
137
- jobs?: Record<string, {
138
- docker?: {
139
- image: string;
140
- }[] | undefined;
141
- }> | undefined;
142
- executors?: Record<string, {
143
- docker?: {
144
- image: string;
145
- }[] | undefined;
146
- }> | undefined;
147
- orbs?: Record<string, string | Orb> | undefined;
43
+ aliases: string[];
44
+ jobs: string[];
45
+ executors: string[];
46
+ orbs: Record<string, string | Orb>;
148
47
  }, {
149
- aliases?: {
150
- image: string;
151
- }[] | undefined;
152
- jobs?: Record<string, {
153
- docker?: {
154
- image: string;
155
- }[] | undefined;
156
- }> | undefined;
157
- executors?: Record<string, {
158
- docker?: {
159
- image: string;
160
- }[] | undefined;
161
- }> | undefined;
162
- orbs?: Record<string, string | Orb> | undefined;
163
- }>;
48
+ aliases?: unknown;
49
+ jobs?: unknown;
50
+ executors?: unknown;
51
+ orbs?: unknown;
52
+ }>>;
164
53
  export type CircleCiFile = z.infer<typeof CircleCiFile>;
165
54
  export {};
@@ -2,23 +2,27 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CircleCiFile = exports.CircleCiOrb = exports.CircleCiJob = exports.CircleCiDocker = void 0;
4
4
  const zod_1 = require("zod");
5
- exports.CircleCiDocker = zod_1.z.object({
6
- image: zod_1.z.string(),
5
+ const schema_utils_1 = require("../../../util/schema-utils");
6
+ exports.CircleCiDocker = zod_1.z
7
+ .object({ image: zod_1.z.string() })
8
+ .transform(({ image }) => image);
9
+ exports.CircleCiJob = zod_1.z
10
+ .object({
11
+ docker: (0, schema_utils_1.LooseArray)(exports.CircleCiDocker).catch([]),
12
+ })
13
+ .transform(({ docker }) => docker);
14
+ const CircleCiJobList = (0, schema_utils_1.LooseRecord)(exports.CircleCiJob)
15
+ .transform((x) => Object.values(x).flat())
16
+ .catch([]);
17
+ const BaseOrb = zod_1.z.object({
18
+ executors: CircleCiJobList,
19
+ jobs: CircleCiJobList,
7
20
  });
8
- exports.CircleCiJob = zod_1.z.object({
9
- docker: zod_1.z.array(exports.CircleCiDocker).optional(),
10
- });
11
- const baseOrb = zod_1.z.object({
12
- executors: zod_1.z.record(zod_1.z.string(), exports.CircleCiJob).optional(),
13
- jobs: zod_1.z.record(zod_1.z.string(), exports.CircleCiJob).optional(),
14
- });
15
- exports.CircleCiOrb = baseOrb.extend({
16
- orbs: zod_1.z.lazy(() => zod_1.z.record(zod_1.z.string(), zod_1.z.union([zod_1.z.string(), exports.CircleCiOrb])).optional()),
17
- });
18
- exports.CircleCiFile = zod_1.z.object({
19
- aliases: zod_1.z.array(exports.CircleCiDocker).optional(),
20
- executors: zod_1.z.record(zod_1.z.string(), exports.CircleCiJob).optional(),
21
- jobs: zod_1.z.record(zod_1.z.string(), exports.CircleCiJob).optional(),
22
- orbs: zod_1.z.record(zod_1.z.string(), zod_1.z.union([zod_1.z.string(), exports.CircleCiOrb])).optional(),
21
+ exports.CircleCiOrb = BaseOrb.extend({
22
+ orbs: (0, schema_utils_1.LooseRecord)(zod_1.z.union([zod_1.z.string(), zod_1.z.lazy(() => exports.CircleCiOrb)])).catch({}),
23
23
  });
24
+ exports.CircleCiFile = schema_utils_1.NotCircular.pipe(BaseOrb.extend({
25
+ aliases: (0, schema_utils_1.LooseArray)(exports.CircleCiDocker).catch([]),
26
+ orbs: (0, schema_utils_1.LooseRecord)(zod_1.z.union([zod_1.z.string(), exports.CircleCiOrb])).catch({}),
27
+ }));
24
28
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/manager/circleci/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;IACrC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;CAClB,CAAC,CAAC;AAEU,QAAA,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAClC,MAAM,EAAE,OAAC,CAAC,KAAK,CAAC,sBAAc,CAAC,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC;AAGH,MAAM,OAAO,GAAG,OAAC,CAAC,MAAM,CAAC;IACvB,SAAS,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,mBAAW,CAAC,CAAC,QAAQ,EAAE;IACvD,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,mBAAW,CAAC,CAAC,QAAQ,EAAE;CACnD,CAAC,CAAC;AAMU,QAAA,WAAW,GAAmB,OAAO,CAAC,MAAM,CAAC;IACxD,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAChB,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,mBAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CACpE;CACF,CAAC,CAAC;AAGU,QAAA,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,sBAAc,CAAC,CAAC,QAAQ,EAAE;IAC3C,SAAS,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,mBAAW,CAAC,CAAC,QAAQ,EAAE;IACvD,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,mBAAW,CAAC,CAAC,QAAQ,EAAE;IAClD,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,mBAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC1E,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\n\nexport const CircleCiDocker = z.object({\n image: z.string(),\n});\n\nexport const CircleCiJob = z.object({\n docker: z.array(CircleCiDocker).optional(),\n});\nexport type CircleCiJob = z.infer<typeof CircleCiJob>;\n\nconst baseOrb = z.object({\n executors: z.record(z.string(), CircleCiJob).optional(),\n jobs: z.record(z.string(), CircleCiJob).optional(),\n});\n\ntype Orb = z.infer<typeof baseOrb> & {\n orbs?: Record<string, string | Orb>;\n};\n\nexport const CircleCiOrb: z.ZodType<Orb> = baseOrb.extend({\n orbs: z.lazy(() =>\n z.record(z.string(), z.union([z.string(), CircleCiOrb])).optional(),\n ),\n});\nexport type CircleCiOrb = z.infer<typeof CircleCiOrb>;\n\nexport const CircleCiFile = z.object({\n aliases: z.array(CircleCiDocker).optional(),\n executors: z.record(z.string(), CircleCiJob).optional(),\n jobs: z.record(z.string(), CircleCiJob).optional(),\n orbs: z.record(z.string(), z.union([z.string(), CircleCiOrb])).optional(),\n});\nexport type CircleCiFile = z.infer<typeof CircleCiFile>;\n"]}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/manager/circleci/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,6DAIoC;AAEvB,QAAA,cAAc,GAAG,OAAC;KAC5B,MAAM,CAAC,EAAE,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,CAAC;KAC7B,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;AAEtB,QAAA,WAAW,GAAG,OAAC;KACzB,MAAM,CAAC;IACN,MAAM,EAAE,IAAA,yBAAU,EAAC,sBAAc,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;CAC7C,CAAC;KACD,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;AAGrC,MAAM,eAAe,GAAG,IAAA,0BAAW,EAAC,mBAAW,CAAC;KAC7C,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;KACzC,KAAK,CAAC,EAAE,CAAC,CAAC;AAEb,MAAM,OAAO,GAAG,OAAC,CAAC,MAAM,CAAC;IACvB,SAAS,EAAE,eAAe;IAC1B,IAAI,EAAE,eAAe;CACtB,CAAC,CAAC;AAMU,QAAA,WAAW,GAAmB,OAAO,CAAC,MAAM,CAAC;IACxD,IAAI,EAAE,IAAA,0BAAW,EAAC,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,mBAAW,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;CAC9E,CAAU,CAAC;AAGC,QAAA,YAAY,GAAG,0BAAW,CAAC,IAAI,CAC1C,OAAO,CAAC,MAAM,CAAC;IACb,OAAO,EAAE,IAAA,yBAAU,EAAC,sBAAc,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;IAC7C,IAAI,EAAE,IAAA,0BAAW,EAAC,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,mBAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;CAChE,CAAC,CACH,CAAC","sourcesContent":["import { z } from 'zod';\nimport {\n LooseArray,\n LooseRecord,\n NotCircular,\n} from '../../../util/schema-utils';\n\nexport const CircleCiDocker = z\n .object({ image: z.string() })\n .transform(({ image }) => image);\n\nexport const CircleCiJob = z\n .object({\n docker: LooseArray(CircleCiDocker).catch([]),\n })\n .transform(({ docker }) => docker);\nexport type CircleCiJob = z.infer<typeof CircleCiJob>;\n\nconst CircleCiJobList = LooseRecord(CircleCiJob)\n .transform((x) => Object.values(x).flat())\n .catch([]);\n\nconst BaseOrb = z.object({\n executors: CircleCiJobList,\n jobs: CircleCiJobList,\n});\n\ntype Orb = z.infer<typeof BaseOrb> & {\n orbs: Record<string, string | Orb>;\n};\n\nexport const CircleCiOrb: z.ZodType<Orb> = BaseOrb.extend({\n orbs: LooseRecord(z.union([z.string(), z.lazy(() => CircleCiOrb)])).catch({}),\n}) as never;\nexport type CircleCiOrb = z.infer<typeof CircleCiOrb>;\n\nexport const CircleCiFile = NotCircular.pipe(\n BaseOrb.extend({\n aliases: LooseArray(CircleCiDocker).catch([]),\n orbs: LooseRecord(z.union([z.string(), CircleCiOrb])).catch({}),\n }),\n);\nexport type CircleCiFile = z.infer<typeof CircleCiFile>;\n"]}
@@ -118,13 +118,12 @@ export declare const NamedRepo: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
118
118
  }, {
119
119
  type: "composer";
120
120
  url: string;
121
- }>, z.ZodObject<z.objectUtil.extendShape<{
121
+ }>, z.ZodObject<{
122
122
  type: z.ZodEffects<z.ZodEnum<["vcs", "git"]>, "git", "git" | "vcs">;
123
123
  url: z.ZodString;
124
- name: z.ZodOptional<z.ZodString>;
125
- }, {
124
+ } & {
126
125
  name: z.ZodString;
127
- }>, "strip", z.ZodTypeAny, {
126
+ }, "strip", z.ZodTypeAny, {
128
127
  type: "git";
129
128
  url: string;
130
129
  name: string;
@@ -132,13 +131,12 @@ export declare const NamedRepo: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
132
131
  type: "git" | "vcs";
133
132
  url: string;
134
133
  name: string;
135
- }>, z.ZodObject<z.objectUtil.extendShape<{
134
+ }>, z.ZodObject<{
136
135
  type: z.ZodLiteral<"path">;
137
136
  url: z.ZodString;
138
- name: z.ZodOptional<z.ZodString>;
139
- }, {
137
+ } & {
140
138
  name: z.ZodString;
141
- }>, "strip", z.ZodTypeAny, {
139
+ }, "strip", z.ZodTypeAny, {
142
140
  type: "path";
143
141
  url: string;
144
142
  name: string;
@@ -0,0 +1,2 @@
1
+ import type { UpdateArtifact, UpdateArtifactsResult } from '../types';
2
+ export declare function updateArtifacts(updateArtifact: UpdateArtifact): Promise<UpdateArtifactsResult[] | null>;
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateArtifacts = updateArtifacts;
4
+ const shlex_1 = require("shlex");
5
+ const error_messages_1 = require("../../../constants/error-messages");
6
+ const logger_1 = require("../../../logger");
7
+ const exec_1 = require("../../../util/exec");
8
+ const fs_1 = require("../../../util/fs");
9
+ const auth_1 = require("../../../util/git/auth");
10
+ async function conanLockUpdate(conanFilePath, isLockFileMaintenance) {
11
+ const command = `conan lock create ${(0, shlex_1.quote)(conanFilePath)}` +
12
+ (isLockFileMaintenance ? ' --lockfile=""' : '');
13
+ const execOptions = {
14
+ extraEnv: { ...(0, auth_1.getGitEnvironmentVariables)(['conan']) },
15
+ docker: {},
16
+ };
17
+ await (0, exec_1.exec)(command, execOptions);
18
+ }
19
+ async function updateArtifacts(updateArtifact) {
20
+ const { packageFileName, updatedDeps, newPackageFileContent, config } = updateArtifact;
21
+ logger_1.logger.trace(`conan.updateArtifacts(${packageFileName})`);
22
+ const { isLockFileMaintenance } = config;
23
+ if (updatedDeps.length === 0 && !isLockFileMaintenance) {
24
+ logger_1.logger.trace('No conan.lock dependencies to update');
25
+ return null;
26
+ }
27
+ const lockFileName = await (0, fs_1.findLocalSiblingOrParent)(packageFileName, 'conan.lock');
28
+ if (!lockFileName) {
29
+ logger_1.logger.trace('No conan.lock found');
30
+ return null;
31
+ }
32
+ const existingLockFileContent = await (0, fs_1.readLocalFile)(lockFileName);
33
+ if (!existingLockFileContent) {
34
+ logger_1.logger.debug(`${lockFileName} read operation failed`);
35
+ return null;
36
+ }
37
+ try {
38
+ await (0, fs_1.writeLocalFile)(packageFileName, newPackageFileContent);
39
+ logger_1.logger.trace(`Updating ${lockFileName}`);
40
+ await conanLockUpdate(packageFileName, isLockFileMaintenance);
41
+ const newLockFileContent = await (0, fs_1.readLocalFile)(lockFileName);
42
+ if (!newLockFileContent) {
43
+ logger_1.logger.debug(`New ${lockFileName} read operation failed`);
44
+ return null;
45
+ }
46
+ if (existingLockFileContent === newLockFileContent) {
47
+ logger_1.logger.trace(`${lockFileName} is unchanged`);
48
+ return null;
49
+ }
50
+ logger_1.logger.trace(`Returning updated ${lockFileName}`);
51
+ return [
52
+ {
53
+ file: {
54
+ type: 'addition',
55
+ path: lockFileName,
56
+ contents: newLockFileContent,
57
+ },
58
+ },
59
+ ];
60
+ }
61
+ catch (err) {
62
+ if (err.message === error_messages_1.TEMPORARY_ERROR) {
63
+ throw err;
64
+ }
65
+ logger_1.logger.debug({ err, packageFileName, lockFileName }, 'Lockfile update failed');
66
+ return [
67
+ {
68
+ artifactError: {
69
+ lockFile: lockFileName,
70
+ stderr: err.message,
71
+ },
72
+ },
73
+ ];
74
+ }
75
+ }
76
+ //# sourceMappingURL=artifacts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/conan/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import { quote } from 'shlex';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions } from '../../../util/exec/types';\nimport {\n findLocalSiblingOrParent,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\nimport { getGitEnvironmentVariables } from '../../../util/git/auth';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\n\nasync function conanLockUpdate(\n conanFilePath: string,\n isLockFileMaintenance: boolean | undefined,\n): Promise<void> {\n const command =\n `conan lock create ${quote(conanFilePath)}` +\n (isLockFileMaintenance ? ' --lockfile=\"\"' : '');\n\n const execOptions: ExecOptions = {\n extraEnv: { ...getGitEnvironmentVariables(['conan']) },\n docker: {},\n };\n\n await exec(command, execOptions);\n}\n\nexport async function updateArtifacts(\n updateArtifact: UpdateArtifact,\n): Promise<UpdateArtifactsResult[] | null> {\n const { packageFileName, updatedDeps, newPackageFileContent, config } =\n updateArtifact;\n\n logger.trace(`conan.updateArtifacts(${packageFileName})`);\n\n const { isLockFileMaintenance } = config;\n\n if (updatedDeps.length === 0 && !isLockFileMaintenance) {\n logger.trace('No conan.lock dependencies to update');\n return null;\n }\n\n const lockFileName = await findLocalSiblingOrParent(\n packageFileName,\n 'conan.lock',\n );\n if (!lockFileName) {\n logger.trace('No conan.lock found');\n return null;\n }\n\n const existingLockFileContent = await readLocalFile(lockFileName);\n if (!existingLockFileContent) {\n logger.debug(`${lockFileName} read operation failed`);\n return null;\n }\n\n try {\n await writeLocalFile(packageFileName, newPackageFileContent);\n\n logger.trace(`Updating ${lockFileName}`);\n await conanLockUpdate(packageFileName, isLockFileMaintenance);\n\n const newLockFileContent = await readLocalFile(lockFileName);\n if (!newLockFileContent) {\n logger.debug(`New ${lockFileName} read operation failed`);\n return null;\n }\n\n if (existingLockFileContent === newLockFileContent) {\n logger.trace(`${lockFileName} is unchanged`);\n return null;\n }\n\n logger.trace(`Returning updated ${lockFileName}`);\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newLockFileContent,\n },\n },\n ];\n } catch (err) {\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n\n logger.debug(\n { err, packageFileName, lockFileName },\n 'Lockfile update failed',\n );\n\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: err.message,\n },\n },\n ];\n }\n}\n"]}
@@ -1,6 +1,8 @@
1
1
  export { extractPackageFile } from './extract';
2
+ export { updateArtifacts } from './artifacts';
2
3
  import type { Category } from '../../../constants';
3
4
  export { getRangeStrategy } from './range';
5
+ export declare const supportsLockFileMaintenance = true;
4
6
  export declare const url = "https://docs.conan.io";
5
7
  export declare const categories: Category[];
6
8
  export declare const defaultConfig: {
@@ -1,13 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.supportedDatasources = exports.defaultConfig = exports.categories = exports.url = exports.getRangeStrategy = exports.extractPackageFile = void 0;
3
+ exports.supportedDatasources = exports.defaultConfig = exports.categories = exports.url = exports.supportsLockFileMaintenance = exports.getRangeStrategy = exports.updateArtifacts = exports.extractPackageFile = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  var extract_1 = require("./extract");
6
6
  Object.defineProperty(exports, "extractPackageFile", { enumerable: true, get: function () { return extract_1.extractPackageFile; } });
7
+ var artifacts_1 = require("./artifacts");
8
+ Object.defineProperty(exports, "updateArtifacts", { enumerable: true, get: function () { return artifacts_1.updateArtifacts; } });
7
9
  var range_1 = require("./range");
8
10
  Object.defineProperty(exports, "getRangeStrategy", { enumerable: true, get: function () { return range_1.getRangeStrategy; } });
9
11
  const conan_1 = require("../../datasource/conan");
10
12
  const conan = tslib_1.__importStar(require("../../versioning/conan"));
13
+ exports.supportsLockFileMaintenance = true;
11
14
  exports.url = 'https://docs.conan.io';
12
15
  exports.categories = ['c'];
13
16
  exports.defaultConfig = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/manager/conan/index.ts"],"names":[],"mappings":";;;;AAAA,qCAA+C;AAAtC,6GAAA,kBAAkB,OAAA;AAE3B,iCAA2C;AAAlC,yGAAA,gBAAgB,OAAA;AACzB,kDAAyD;AACzD,sEAAgD;AAEnC,QAAA,GAAG,GAAG,uBAAuB,CAAC;AAC9B,QAAA,UAAU,GAAe,CAAC,GAAG,CAAC,CAAC;AAE/B,QAAA,aAAa,GAAG;IAC3B,SAAS,EAAE,CAAC,4BAA4B,CAAC;IACzC,UAAU,EAAE,uBAAe,CAAC,EAAE;IAC9B,UAAU,EAAE,KAAK,CAAC,EAAE;IACpB,OAAO,EAAE,KAAK,EAAE,2DAA2D;CAC5E,CAAC;AAEW,QAAA,oBAAoB,GAAG,CAAC,uBAAe,CAAC,EAAE,CAAC,CAAC","sourcesContent":["export { extractPackageFile } from './extract';\nimport type { Category } from '../../../constants';\nexport { getRangeStrategy } from './range';\nimport { ConanDatasource } from '../../datasource/conan';\nimport * as conan from '../../versioning/conan';\n\nexport const url = 'https://docs.conan.io';\nexport const categories: Category[] = ['c'];\n\nexport const defaultConfig = {\n fileMatch: ['(^|/)conanfile\\\\.(txt|py)$'],\n datasource: ConanDatasource.id,\n versioning: conan.id,\n enabled: false, // See https://github.com/renovatebot/renovate/issues/14170\n};\n\nexport const supportedDatasources = [ConanDatasource.id];\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/manager/conan/index.ts"],"names":[],"mappings":";;;;AAAA,qCAA+C;AAAtC,6GAAA,kBAAkB,OAAA;AAC3B,yCAA8C;AAArC,4GAAA,eAAe,OAAA;AAExB,iCAA2C;AAAlC,yGAAA,gBAAgB,OAAA;AACzB,kDAAyD;AACzD,sEAAgD;AAEnC,QAAA,2BAA2B,GAAG,IAAI,CAAC;AACnC,QAAA,GAAG,GAAG,uBAAuB,CAAC;AAC9B,QAAA,UAAU,GAAe,CAAC,GAAG,CAAC,CAAC;AAE/B,QAAA,aAAa,GAAG;IAC3B,SAAS,EAAE,CAAC,4BAA4B,CAAC;IACzC,UAAU,EAAE,uBAAe,CAAC,EAAE;IAC9B,UAAU,EAAE,KAAK,CAAC,EAAE;IACpB,OAAO,EAAE,KAAK,EAAE,2DAA2D;CAC5E,CAAC;AAEW,QAAA,oBAAoB,GAAG,CAAC,uBAAe,CAAC,EAAE,CAAC,CAAC","sourcesContent":["export { extractPackageFile } from './extract';\nexport { updateArtifacts } from './artifacts';\nimport type { Category } from '../../../constants';\nexport { getRangeStrategy } from './range';\nimport { ConanDatasource } from '../../datasource/conan';\nimport * as conan from '../../versioning/conan';\n\nexport const supportsLockFileMaintenance = true;\nexport const url = 'https://docs.conan.io';\nexport const categories: Category[] = ['c'];\n\nexport const defaultConfig = {\n fileMatch: ['(^|/)conanfile\\\\.(txt|py)$'],\n datasource: ConanDatasource.id,\n versioning: conan.id,\n enabled: false, // See https://github.com/renovatebot/renovate/issues/14170\n};\n\nexport const supportedDatasources = [ConanDatasource.id];\n"]}
@@ -21,6 +21,13 @@ async function updateArtifacts({ config: { constraints, isLockFileMaintenance, u
21
21
  const execOptions = {
22
22
  cwdFile: packageFileName,
23
23
  toolConstraints: [
24
+ // we are required to install nix because devbox spawns nix commands internally
25
+ // https://github.com/renovatebot/renovate/discussions/35382
26
+ // https://github.com/jetify-com/devbox/issues/2585
27
+ {
28
+ toolName: 'nix',
29
+ constraint: constraints?.nix,
30
+ },
24
31
  {
25
32
  toolName: 'devbox',
26
33
  constraint: constraints?.devbox,
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/devbox/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport semver from 'semver';\nimport { quote } from 'shlex';\nimport { logger } from '../../../logger';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions } from '../../../util/exec/types';\nimport { getSiblingFileName, readLocalFile } from '../../../util/fs';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\n\nexport async function updateArtifacts({\n config: { constraints, isLockFileMaintenance, updateType },\n packageFileName,\n updatedDeps,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n const lockFileName = getSiblingFileName(packageFileName, 'devbox.lock');\n const existingLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!existingLockFileContent) {\n logger.debug('No devbox.lock found');\n return null;\n }\n\n const supportsNoInstall = constraints?.devbox\n ? semver.intersects(constraints.devbox, '>=0.14.0')\n : true;\n\n const execOptions: ExecOptions = {\n cwdFile: packageFileName,\n toolConstraints: [\n {\n toolName: 'devbox',\n constraint: constraints?.devbox,\n },\n ],\n docker: {},\n };\n\n const cmd = [];\n if (isLockFileMaintenance) {\n cmd.push(\n supportsNoInstall ? 'devbox update --no-install' : 'devbox update',\n );\n } else if (is.nonEmptyArray(updatedDeps)) {\n if (supportsNoInstall) {\n const updateCommands: string[] = updatedDeps\n .map(\n (dep) =>\n dep.depName && `devbox update ${quote(dep.depName)} --no-install`,\n )\n .filter((dep): dep is string => Boolean(dep));\n if (updateCommands.length) {\n cmd.push(...updateCommands);\n } else {\n logger.trace('No updated devbox packages - returning null');\n return null;\n }\n } else {\n cmd.push('devbox install');\n }\n } else {\n logger.trace('No updated devbox packages - returning null');\n return null;\n }\n\n const oldLockFileContent = await readLocalFile(lockFileName);\n if (!oldLockFileContent) {\n logger.trace(`No ${lockFileName} found`);\n return null;\n }\n\n try {\n await exec(cmd, execOptions);\n const newLockFileContent = await readLocalFile(lockFileName);\n\n if (\n !newLockFileContent ||\n Buffer.compare(oldLockFileContent, newLockFileContent) === 0\n ) {\n return null;\n }\n logger.trace('Returning updated devbox.lock');\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newLockFileContent,\n },\n },\n ];\n } catch (err) {\n logger.warn({ err }, 'Error updating devbox.lock');\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: err.message,\n },\n },\n ];\n }\n}\n"]}
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/devbox/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport semver from 'semver';\nimport { quote } from 'shlex';\nimport { logger } from '../../../logger';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions } from '../../../util/exec/types';\nimport { getSiblingFileName, readLocalFile } from '../../../util/fs';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\n\nexport async function updateArtifacts({\n config: { constraints, isLockFileMaintenance, updateType },\n packageFileName,\n updatedDeps,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n const lockFileName = getSiblingFileName(packageFileName, 'devbox.lock');\n const existingLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!existingLockFileContent) {\n logger.debug('No devbox.lock found');\n return null;\n }\n\n const supportsNoInstall = constraints?.devbox\n ? semver.intersects(constraints.devbox, '>=0.14.0')\n : true;\n\n const execOptions: ExecOptions = {\n cwdFile: packageFileName,\n toolConstraints: [\n // we are required to install nix because devbox spawns nix commands internally\n // https://github.com/renovatebot/renovate/discussions/35382\n // https://github.com/jetify-com/devbox/issues/2585\n {\n toolName: 'nix',\n constraint: constraints?.nix,\n },\n {\n toolName: 'devbox',\n constraint: constraints?.devbox,\n },\n ],\n docker: {},\n };\n\n const cmd = [];\n if (isLockFileMaintenance) {\n cmd.push(\n supportsNoInstall ? 'devbox update --no-install' : 'devbox update',\n );\n } else if (is.nonEmptyArray(updatedDeps)) {\n if (supportsNoInstall) {\n const updateCommands: string[] = updatedDeps\n .map(\n (dep) =>\n dep.depName && `devbox update ${quote(dep.depName)} --no-install`,\n )\n .filter((dep): dep is string => Boolean(dep));\n if (updateCommands.length) {\n cmd.push(...updateCommands);\n } else {\n logger.trace('No updated devbox packages - returning null');\n return null;\n }\n } else {\n cmd.push('devbox install');\n }\n } else {\n logger.trace('No updated devbox packages - returning null');\n return null;\n }\n\n const oldLockFileContent = await readLocalFile(lockFileName);\n if (!oldLockFileContent) {\n logger.trace(`No ${lockFileName} found`);\n return null;\n }\n\n try {\n await exec(cmd, execOptions);\n const newLockFileContent = await readLocalFile(lockFileName);\n\n if (\n !newLockFileContent ||\n Buffer.compare(oldLockFileContent, newLockFileContent) === 0\n ) {\n return null;\n }\n logger.trace('Returning updated devbox.lock');\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newLockFileContent,\n },\n },\n ];\n } catch (err) {\n logger.warn({ err }, 'Error updating devbox.lock');\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: err.message,\n },\n },\n ];\n }\n}\n"]}
@@ -147,9 +147,7 @@ function getDep(currentFrom, specifyReplaceString = true, registryAliases) {
147
147
  }
148
148
  const dep = splitImageParts(currentFrom);
149
149
  if (specifyReplaceString) {
150
- if (!dep.replaceString) {
151
- dep.replaceString = currentFrom;
152
- }
150
+ dep.replaceString ??= currentFrom;
153
151
  dep.autoReplaceStringTemplate =
154
152
  '{{depName}}{{#if newValue}}:{{newValue}}{{/if}}{{#if newDigest}}@{{newDigest}}{{/if}}';
155
153
  }
@@ -344,9 +342,7 @@ function extractPackageFile(content, _packageFile, config) {
344
342
  return null;
345
343
  }
346
344
  for (const d of deps) {
347
- if (!d.depType) {
348
- d.depType = 'stage';
349
- }
345
+ d.depType ??= 'stage';
350
346
  }
351
347
  deps[deps.length - 1].depType = 'final';
352
348
  return { deps };