renovate 42.3.0 → 42.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (732) hide show
  1. package/dist/config/decrypt.js +13 -14
  2. package/dist/config/decrypt.js.map +1 -1
  3. package/dist/config/massage.js +6 -7
  4. package/dist/config/massage.js.map +1 -1
  5. package/dist/config/migrate-validate.js +3 -3
  6. package/dist/config/migrate-validate.js.map +1 -1
  7. package/dist/config/migration.js +19 -20
  8. package/dist/config/migration.js.map +1 -1
  9. package/dist/config/migrations/base/abstract-migration.js +5 -6
  10. package/dist/config/migrations/base/abstract-migration.js.map +1 -1
  11. package/dist/config/migrations/custom/automerge-major-migration.js +2 -3
  12. package/dist/config/migrations/custom/automerge-major-migration.js.map +1 -1
  13. package/dist/config/migrations/custom/automerge-migration.js +4 -5
  14. package/dist/config/migrations/custom/automerge-migration.js.map +1 -1
  15. package/dist/config/migrations/custom/automerge-minor-migration.js +2 -3
  16. package/dist/config/migrations/custom/automerge-minor-migration.js.map +1 -1
  17. package/dist/config/migrations/custom/automerge-patch-migration.js +2 -3
  18. package/dist/config/migrations/custom/automerge-patch-migration.js.map +1 -1
  19. package/dist/config/migrations/custom/automerge-type-migration.js +2 -3
  20. package/dist/config/migrations/custom/automerge-type-migration.js.map +1 -1
  21. package/dist/config/migrations/custom/base-branch-migration.js +3 -4
  22. package/dist/config/migrations/custom/base-branch-migration.js.map +1 -1
  23. package/dist/config/migrations/custom/branch-name-migration.js +2 -3
  24. package/dist/config/migrations/custom/branch-name-migration.js.map +1 -1
  25. package/dist/config/migrations/custom/branch-prefix-migration.js +2 -3
  26. package/dist/config/migrations/custom/branch-prefix-migration.js.map +1 -1
  27. package/dist/config/migrations/custom/compatibility-migration.js +2 -3
  28. package/dist/config/migrations/custom/compatibility-migration.js.map +1 -1
  29. package/dist/config/migrations/custom/composer-ignore-platform-reqs-migration.js +2 -3
  30. package/dist/config/migrations/custom/composer-ignore-platform-reqs-migration.js.map +1 -1
  31. package/dist/config/migrations/custom/custom-managers-migration.js +2 -3
  32. package/dist/config/migrations/custom/custom-managers-migration.js.map +1 -1
  33. package/dist/config/migrations/custom/datasource-migration.js +2 -3
  34. package/dist/config/migrations/custom/datasource-migration.js.map +1 -1
  35. package/dist/config/migrations/custom/dep-types-migration.js +4 -5
  36. package/dist/config/migrations/custom/dep-types-migration.js.map +1 -1
  37. package/dist/config/migrations/custom/enabled-managers-migration.js +2 -3
  38. package/dist/config/migrations/custom/enabled-managers-migration.js.map +1 -1
  39. package/dist/config/migrations/custom/extends-migration.js +4 -5
  40. package/dist/config/migrations/custom/extends-migration.js.map +1 -1
  41. package/dist/config/migrations/custom/fetch-release-notes-migration.js +2 -3
  42. package/dist/config/migrations/custom/fetch-release-notes-migration.js.map +1 -1
  43. package/dist/config/migrations/custom/file-match-migration.js +3 -4
  44. package/dist/config/migrations/custom/file-match-migration.js.map +1 -1
  45. package/dist/config/migrations/custom/host-rules-migration.js +6 -7
  46. package/dist/config/migrations/custom/host-rules-migration.js.map +1 -1
  47. package/dist/config/migrations/custom/ignore-npmrc-file-migration.js +2 -3
  48. package/dist/config/migrations/custom/ignore-npmrc-file-migration.js.map +1 -1
  49. package/dist/config/migrations/custom/include-forks-migration.js +2 -3
  50. package/dist/config/migrations/custom/include-forks-migration.js.map +1 -1
  51. package/dist/config/migrations/custom/match-datasources-migration.js +2 -3
  52. package/dist/config/migrations/custom/match-datasources-migration.js.map +1 -1
  53. package/dist/config/migrations/custom/match-managers-migration.js +2 -3
  54. package/dist/config/migrations/custom/match-managers-migration.js.map +1 -1
  55. package/dist/config/migrations/custom/match-strings-migration.js +2 -3
  56. package/dist/config/migrations/custom/match-strings-migration.js.map +1 -1
  57. package/dist/config/migrations/custom/package-files-migration.js +6 -7
  58. package/dist/config/migrations/custom/package-files-migration.js.map +1 -1
  59. package/dist/config/migrations/custom/package-rules-migration.js +15 -16
  60. package/dist/config/migrations/custom/package-rules-migration.js.map +1 -1
  61. package/dist/config/migrations/custom/packages-migration.js +3 -4
  62. package/dist/config/migrations/custom/packages-migration.js.map +1 -1
  63. package/dist/config/migrations/custom/path-rules-migration.js +3 -4
  64. package/dist/config/migrations/custom/path-rules-migration.js.map +1 -1
  65. package/dist/config/migrations/custom/pin-versions-migration.js +2 -3
  66. package/dist/config/migrations/custom/pin-versions-migration.js.map +1 -1
  67. package/dist/config/migrations/custom/platform-commit-migration.js +2 -3
  68. package/dist/config/migrations/custom/platform-commit-migration.js.map +1 -1
  69. package/dist/config/migrations/custom/post-update-options-migration.js +2 -3
  70. package/dist/config/migrations/custom/post-update-options-migration.js.map +1 -1
  71. package/dist/config/migrations/custom/rebase-stale-prs-migration.js +2 -3
  72. package/dist/config/migrations/custom/rebase-stale-prs-migration.js.map +1 -1
  73. package/dist/config/migrations/custom/recreate-closed-migration.js +2 -3
  74. package/dist/config/migrations/custom/recreate-closed-migration.js.map +1 -1
  75. package/dist/config/migrations/custom/renovate-fork-migration.js +2 -3
  76. package/dist/config/migrations/custom/renovate-fork-migration.js.map +1 -1
  77. package/dist/config/migrations/custom/schedule-migration.js +4 -4
  78. package/dist/config/migrations/custom/schedule-migration.js.map +1 -1
  79. package/dist/config/migrations/custom/semantic-commits-migration.js +2 -3
  80. package/dist/config/migrations/custom/semantic-commits-migration.js.map +1 -1
  81. package/dist/config/migrations/custom/semantic-prefix-migration.js +2 -3
  82. package/dist/config/migrations/custom/semantic-prefix-migration.js.map +1 -1
  83. package/dist/config/migrations/custom/stability-days-migration.js +2 -3
  84. package/dist/config/migrations/custom/stability-days-migration.js.map +1 -1
  85. package/dist/config/migrations/custom/suppress-notifications-migration.js +2 -3
  86. package/dist/config/migrations/custom/suppress-notifications-migration.js.map +1 -1
  87. package/dist/config/migrations/custom/unpublish-safe-migration.js +2 -3
  88. package/dist/config/migrations/custom/unpublish-safe-migration.js.map +1 -1
  89. package/dist/config/migrations/migrations-service.js +2 -3
  90. package/dist/config/migrations/migrations-service.js.map +1 -1
  91. package/dist/config/presets/github/index.js +2 -3
  92. package/dist/config/presets/github/index.js.map +1 -1
  93. package/dist/config/presets/gitlab/index.js +2 -3
  94. package/dist/config/presets/gitlab/index.js.map +1 -1
  95. package/dist/config/presets/index.js +8 -8
  96. package/dist/config/presets/index.js.map +1 -1
  97. package/dist/config/presets/parse.js +2 -3
  98. package/dist/config/presets/parse.js.map +1 -1
  99. package/dist/config/secrets.js +3 -4
  100. package/dist/config/secrets.js.map +1 -1
  101. package/dist/config/validation-helpers/match-base-branches.js +2 -3
  102. package/dist/config/validation-helpers/match-base-branches.js.map +1 -1
  103. package/dist/config/validation-helpers/regex-glob-matchers.js +2 -3
  104. package/dist/config/validation-helpers/regex-glob-matchers.js.map +1 -1
  105. package/dist/config/validation-helpers/utils.js +6 -6
  106. package/dist/config/validation-helpers/utils.js.map +1 -1
  107. package/dist/config/validation.js +29 -29
  108. package/dist/config/validation.js.map +1 -1
  109. package/dist/instrumentation/reporting.js +7 -8
  110. package/dist/instrumentation/reporting.js.map +1 -1
  111. package/dist/instrumentation/utils.js +2 -3
  112. package/dist/instrumentation/utils.js.map +1 -1
  113. package/dist/logger/err-serializer.js +2 -2
  114. package/dist/logger/err-serializer.js.map +1 -1
  115. package/dist/logger/index.js +3 -3
  116. package/dist/logger/index.js.map +1 -1
  117. package/dist/logger/renovate-logger.js +4 -5
  118. package/dist/logger/renovate-logger.js.map +1 -1
  119. package/dist/logger/utils.js +19 -19
  120. package/dist/logger/utils.js.map +1 -1
  121. package/dist/modules/datasource/aws-eks-addon/index.js +2 -2
  122. package/dist/modules/datasource/aws-eks-addon/index.js.map +1 -1
  123. package/dist/modules/datasource/bazel/index.js +2 -2
  124. package/dist/modules/datasource/bazel/index.js.map +1 -1
  125. package/dist/modules/datasource/bitrise/index.js +2 -2
  126. package/dist/modules/datasource/bitrise/index.js.map +1 -1
  127. package/dist/modules/datasource/common.js +4 -4
  128. package/dist/modules/datasource/common.js.map +1 -1
  129. package/dist/modules/datasource/conan/index.js +3 -3
  130. package/dist/modules/datasource/conan/index.js.map +1 -1
  131. package/dist/modules/datasource/custom/formats/html.js +2 -5
  132. package/dist/modules/datasource/custom/formats/html.js.map +1 -1
  133. package/dist/modules/datasource/custom/index.js +2 -3
  134. package/dist/modules/datasource/custom/index.js.map +1 -1
  135. package/dist/modules/datasource/custom/utils.js +4 -4
  136. package/dist/modules/datasource/custom/utils.js.map +1 -1
  137. package/dist/modules/datasource/dart-version/index.js +2 -3
  138. package/dist/modules/datasource/dart-version/index.js.map +1 -1
  139. package/dist/modules/datasource/deno/index.js +2 -2
  140. package/dist/modules/datasource/deno/index.js.map +1 -1
  141. package/dist/modules/datasource/docker/common.js +5 -5
  142. package/dist/modules/datasource/docker/common.js.map +1 -1
  143. package/dist/modules/datasource/docker/index.js +6 -6
  144. package/dist/modules/datasource/docker/index.js.map +1 -1
  145. package/dist/modules/datasource/endoflife-date/index.js +2 -2
  146. package/dist/modules/datasource/endoflife-date/index.js.map +1 -1
  147. package/dist/modules/datasource/galaxy/index.js +2 -2
  148. package/dist/modules/datasource/galaxy/index.js.map +1 -1
  149. package/dist/modules/datasource/galaxy-collection/index.js +2 -2
  150. package/dist/modules/datasource/galaxy-collection/index.js.map +1 -1
  151. package/dist/modules/datasource/git-refs/base.js +2 -2
  152. package/dist/modules/datasource/git-refs/base.js.map +1 -1
  153. package/dist/modules/datasource/github-release-attachments/index.js +2 -2
  154. package/dist/modules/datasource/github-release-attachments/index.js.map +1 -1
  155. package/dist/modules/datasource/github-releases/index.js +2 -3
  156. package/dist/modules/datasource/github-releases/index.js.map +1 -1
  157. package/dist/modules/datasource/github-tags/index.js +2 -3
  158. package/dist/modules/datasource/github-tags/index.js.map +1 -1
  159. package/dist/modules/datasource/go/goproxy-parser.js +3 -3
  160. package/dist/modules/datasource/go/goproxy-parser.js.map +1 -1
  161. package/dist/modules/datasource/go/index.js +2 -2
  162. package/dist/modules/datasource/go/index.js.map +1 -1
  163. package/dist/modules/datasource/go/releases-goproxy.js +3 -3
  164. package/dist/modules/datasource/go/releases-goproxy.js.map +1 -1
  165. package/dist/modules/datasource/hackage/index.js +2 -2
  166. package/dist/modules/datasource/hackage/index.js.map +1 -1
  167. package/dist/modules/datasource/hex/schema.js +2 -3
  168. package/dist/modules/datasource/hex/schema.js.map +1 -1
  169. package/dist/modules/datasource/hexpm-bob/index.js +2 -2
  170. package/dist/modules/datasource/hexpm-bob/index.js.map +1 -1
  171. package/dist/modules/datasource/index.js +14 -14
  172. package/dist/modules/datasource/index.js.map +1 -1
  173. package/dist/modules/datasource/jsr/index.js +2 -2
  174. package/dist/modules/datasource/jsr/index.js.map +1 -1
  175. package/dist/modules/datasource/jsr/util.js +3 -4
  176. package/dist/modules/datasource/jsr/util.js.map +1 -1
  177. package/dist/modules/datasource/metadata.js +5 -5
  178. package/dist/modules/datasource/metadata.js.map +1 -1
  179. package/dist/modules/datasource/npm/get.js +2 -2
  180. package/dist/modules/datasource/npm/get.js.map +1 -1
  181. package/dist/modules/datasource/npm/npmrc.js +7 -7
  182. package/dist/modules/datasource/npm/npmrc.js.map +1 -1
  183. package/dist/modules/datasource/nuget/v3.js +2 -2
  184. package/dist/modules/datasource/nuget/v3.js.map +1 -1
  185. package/dist/modules/datasource/packagist/index.js +2 -2
  186. package/dist/modules/datasource/packagist/index.js.map +1 -1
  187. package/dist/modules/datasource/packagist/schema.js +3 -4
  188. package/dist/modules/datasource/packagist/schema.js.map +1 -1
  189. package/dist/modules/datasource/pypi/index.js +2 -2
  190. package/dist/modules/datasource/pypi/index.js.map +1 -1
  191. package/dist/modules/datasource/repology/index.js +3 -3
  192. package/dist/modules/datasource/repology/index.js.map +1 -1
  193. package/dist/modules/datasource/rubygems/schema.js +5 -6
  194. package/dist/modules/datasource/rubygems/schema.js.map +1 -1
  195. package/dist/modules/datasource/util.js +2 -3
  196. package/dist/modules/datasource/util.js.map +1 -1
  197. package/dist/modules/manager/argocd/extract.js +3 -4
  198. package/dist/modules/manager/argocd/extract.js.map +1 -1
  199. package/dist/modules/manager/asdf/extract.js +2 -3
  200. package/dist/modules/manager/asdf/extract.js.map +1 -1
  201. package/dist/modules/manager/bazel/artifacts.js +2 -2
  202. package/dist/modules/manager/bazel/artifacts.js.map +1 -1
  203. package/dist/modules/manager/bazel/common.js +4 -5
  204. package/dist/modules/manager/bazel/common.js.map +1 -1
  205. package/dist/modules/manager/bazel/rules/http.js +3 -4
  206. package/dist/modules/manager/bazel/rules/http.js.map +1 -1
  207. package/dist/modules/manager/bazel/rules/maven.js +2 -3
  208. package/dist/modules/manager/bazel/rules/maven.js.map +1 -1
  209. package/dist/modules/manager/bazel-module/parser/starlark.js +2 -3
  210. package/dist/modules/manager/bazel-module/parser/starlark.js.map +1 -1
  211. package/dist/modules/manager/bazel-module/rules.js +3 -3
  212. package/dist/modules/manager/bazel-module/rules.js.map +1 -1
  213. package/dist/modules/manager/bitrise/utils.js +3 -4
  214. package/dist/modules/manager/bitrise/utils.js.map +1 -1
  215. package/dist/modules/manager/buildpacks/extract.js +2 -3
  216. package/dist/modules/manager/buildpacks/extract.js.map +1 -1
  217. package/dist/modules/manager/bun/artifacts.js +2 -2
  218. package/dist/modules/manager/bun/artifacts.js.map +1 -1
  219. package/dist/modules/manager/bun/extract.js +2 -3
  220. package/dist/modules/manager/bun/extract.js.map +1 -1
  221. package/dist/modules/manager/bundler/artifacts.js +3 -3
  222. package/dist/modules/manager/bundler/artifacts.js.map +1 -1
  223. package/dist/modules/manager/bundler/extract.js +5 -6
  224. package/dist/modules/manager/bundler/extract.js.map +1 -1
  225. package/dist/modules/manager/cargo/extract.js +3 -4
  226. package/dist/modules/manager/cargo/extract.js.map +1 -1
  227. package/dist/modules/manager/composer/artifacts.js +3 -3
  228. package/dist/modules/manager/composer/artifacts.js.map +1 -1
  229. package/dist/modules/manager/composer/utils.js +3 -4
  230. package/dist/modules/manager/composer/utils.js.map +1 -1
  231. package/dist/modules/manager/conan/extract.js +2 -3
  232. package/dist/modules/manager/conan/extract.js.map +1 -1
  233. package/dist/modules/manager/copier/artifacts.js +1 -1
  234. package/dist/modules/manager/copier/artifacts.js.map +1 -1
  235. package/dist/modules/manager/copier/utils.js +3 -4
  236. package/dist/modules/manager/copier/utils.js.map +1 -1
  237. package/dist/modules/manager/crow/extract.js +2 -3
  238. package/dist/modules/manager/crow/extract.js.map +1 -1
  239. package/dist/modules/manager/custom/jsonata/index.js +2 -3
  240. package/dist/modules/manager/custom/jsonata/index.js.map +1 -1
  241. package/dist/modules/manager/custom/jsonata/utils.js +3 -3
  242. package/dist/modules/manager/custom/jsonata/utils.js.map +1 -1
  243. package/dist/modules/manager/custom/regex/index.js +2 -3
  244. package/dist/modules/manager/custom/regex/index.js.map +1 -1
  245. package/dist/modules/manager/custom/regex/strategies.js +4 -5
  246. package/dist/modules/manager/custom/regex/strategies.js.map +1 -1
  247. package/dist/modules/manager/custom/regex/utils.js +2 -2
  248. package/dist/modules/manager/custom/regex/utils.js.map +1 -1
  249. package/dist/modules/manager/custom/utils.js +6 -7
  250. package/dist/modules/manager/custom/utils.js.map +1 -1
  251. package/dist/modules/manager/deps-edn/extract.js +13 -14
  252. package/dist/modules/manager/deps-edn/extract.js.map +1 -1
  253. package/dist/modules/manager/deps-edn/parser.js +2 -2
  254. package/dist/modules/manager/deps-edn/parser.js.map +1 -1
  255. package/dist/modules/manager/devbox/artifacts.js +2 -2
  256. package/dist/modules/manager/devbox/artifacts.js.map +1 -1
  257. package/dist/modules/manager/docker-compose/extract.js +3 -4
  258. package/dist/modules/manager/docker-compose/extract.js.map +1 -1
  259. package/dist/modules/manager/docker-compose/schema.js +2 -3
  260. package/dist/modules/manager/docker-compose/schema.js.map +1 -1
  261. package/dist/modules/manager/dockerfile/extract.js +5 -5
  262. package/dist/modules/manager/dockerfile/extract.js.map +1 -1
  263. package/dist/modules/manager/fingerprint.generated.js +6 -6
  264. package/dist/modules/manager/fingerprint.generated.js.map +1 -1
  265. package/dist/modules/manager/fleet/extract.js +2 -3
  266. package/dist/modules/manager/fleet/extract.js.map +1 -1
  267. package/dist/modules/manager/flux/extract.js +2 -3
  268. package/dist/modules/manager/flux/extract.js.map +1 -1
  269. package/dist/modules/manager/glasskube/extract.js +2 -3
  270. package/dist/modules/manager/glasskube/extract.js.map +1 -1
  271. package/dist/modules/manager/gleam/artifacts.js +3 -4
  272. package/dist/modules/manager/gleam/artifacts.js.map +1 -1
  273. package/dist/modules/manager/gomod/artifacts.js +2 -2
  274. package/dist/modules/manager/gomod/artifacts.js.map +1 -1
  275. package/dist/modules/manager/gradle/artifacts.js +2 -2
  276. package/dist/modules/manager/gradle/artifacts.js.map +1 -1
  277. package/dist/modules/manager/gradle/extract/catalog.js +5 -5
  278. package/dist/modules/manager/gradle/extract/catalog.js.map +1 -1
  279. package/dist/modules/manager/gradle-wrapper/artifacts.js +2 -2
  280. package/dist/modules/manager/gradle-wrapper/artifacts.js.map +1 -1
  281. package/dist/modules/manager/helm-requirements/extract.js +2 -3
  282. package/dist/modules/manager/helm-requirements/extract.js.map +1 -1
  283. package/dist/modules/manager/helmfile/artifacts.js +2 -3
  284. package/dist/modules/manager/helmfile/artifacts.js.map +1 -1
  285. package/dist/modules/manager/helmfile/extract.js +4 -5
  286. package/dist/modules/manager/helmfile/extract.js.map +1 -1
  287. package/dist/modules/manager/helmsman/extract.js +4 -5
  288. package/dist/modules/manager/helmsman/extract.js.map +1 -1
  289. package/dist/modules/manager/helmv3/artifacts.js +4 -4
  290. package/dist/modules/manager/helmv3/artifacts.js.map +1 -1
  291. package/dist/modules/manager/helmv3/extract.js +4 -5
  292. package/dist/modules/manager/helmv3/extract.js.map +1 -1
  293. package/dist/modules/manager/helmv3/oci.js +3 -4
  294. package/dist/modules/manager/helmv3/oci.js.map +1 -1
  295. package/dist/modules/manager/homebrew/extract.js +1 -1
  296. package/dist/modules/manager/homebrew/extract.js.map +1 -1
  297. package/dist/modules/manager/jenkins/extract.js +3 -3
  298. package/dist/modules/manager/jenkins/extract.js.map +1 -1
  299. package/dist/modules/manager/kotlin-script/extract.js +3 -4
  300. package/dist/modules/manager/kotlin-script/extract.js.map +1 -1
  301. package/dist/modules/manager/kubernetes/extract.js +4 -4
  302. package/dist/modules/manager/kubernetes/extract.js.map +1 -1
  303. package/dist/modules/manager/kustomize/artifacts.js +8 -8
  304. package/dist/modules/manager/kustomize/artifacts.js.map +1 -1
  305. package/dist/modules/manager/kustomize/extract.js +8 -8
  306. package/dist/modules/manager/kustomize/extract.js.map +1 -1
  307. package/dist/modules/manager/maven/extract.js +4 -4
  308. package/dist/modules/manager/maven/extract.js.map +1 -1
  309. package/dist/modules/manager/maven/update.js +2 -2
  310. package/dist/modules/manager/maven/update.js.map +1 -1
  311. package/dist/modules/manager/maven-wrapper/artifacts.js +2 -2
  312. package/dist/modules/manager/maven-wrapper/artifacts.js.map +1 -1
  313. package/dist/modules/manager/mise/backends.js +9 -10
  314. package/dist/modules/manager/mise/backends.js.map +1 -1
  315. package/dist/modules/manager/mise/extract.js +7 -8
  316. package/dist/modules/manager/mise/extract.js.map +1 -1
  317. package/dist/modules/manager/mix/artifacts.js +3 -3
  318. package/dist/modules/manager/mix/artifacts.js.map +1 -1
  319. package/dist/modules/manager/nix/artifacts.js +2 -2
  320. package/dist/modules/manager/nix/artifacts.js.map +1 -1
  321. package/dist/modules/manager/npm/detect.js +2 -2
  322. package/dist/modules/manager/npm/detect.js.map +1 -1
  323. package/dist/modules/manager/npm/extract/common/dependency.js +2 -2
  324. package/dist/modules/manager/npm/extract/common/dependency.js.map +1 -1
  325. package/dist/modules/manager/npm/extract/common/overrides.js +3 -4
  326. package/dist/modules/manager/npm/extract/common/overrides.js.map +1 -1
  327. package/dist/modules/manager/npm/extract/common/package-file.js +8 -9
  328. package/dist/modules/manager/npm/extract/common/package-file.js.map +1 -1
  329. package/dist/modules/manager/npm/extract/index.js +10 -10
  330. package/dist/modules/manager/npm/extract/index.js.map +1 -1
  331. package/dist/modules/manager/npm/extract/pnpm.js +7 -7
  332. package/dist/modules/manager/npm/extract/pnpm.js.map +1 -1
  333. package/dist/modules/manager/npm/extract/post/locked-versions.js +3 -3
  334. package/dist/modules/manager/npm/extract/post/locked-versions.js.map +1 -1
  335. package/dist/modules/manager/npm/extract/post/monorepo.js +3 -4
  336. package/dist/modules/manager/npm/extract/post/monorepo.js.map +1 -1
  337. package/dist/modules/manager/npm/extract/yarn.js +2 -3
  338. package/dist/modules/manager/npm/extract/yarn.js.map +1 -1
  339. package/dist/modules/manager/npm/extract/yarnrc.js +2 -3
  340. package/dist/modules/manager/npm/extract/yarnrc.js.map +1 -1
  341. package/dist/modules/manager/npm/post-update/index.js +6 -6
  342. package/dist/modules/manager/npm/post-update/index.js.map +1 -1
  343. package/dist/modules/manager/npm/post-update/npm.js +4 -4
  344. package/dist/modules/manager/npm/post-update/npm.js.map +1 -1
  345. package/dist/modules/manager/npm/post-update/pnpm.js +3 -3
  346. package/dist/modules/manager/npm/post-update/pnpm.js.map +1 -1
  347. package/dist/modules/manager/npm/post-update/rules.js +2 -2
  348. package/dist/modules/manager/npm/post-update/rules.js.map +1 -1
  349. package/dist/modules/manager/npm/post-update/utils.js +2 -2
  350. package/dist/modules/manager/npm/post-update/utils.js.map +1 -1
  351. package/dist/modules/manager/npm/post-update/yarn.js +3 -3
  352. package/dist/modules/manager/npm/post-update/yarn.js.map +1 -1
  353. package/dist/modules/manager/npm/update/dependency/index.js +2 -3
  354. package/dist/modules/manager/npm/update/dependency/index.js.map +1 -1
  355. package/dist/modules/manager/npm/update/dependency/pnpm.js +2 -3
  356. package/dist/modules/manager/npm/update/dependency/pnpm.js.map +1 -1
  357. package/dist/modules/manager/npm/update/dependency/yarn.js +3 -4
  358. package/dist/modules/manager/npm/update/dependency/yarn.js.map +1 -1
  359. package/dist/modules/manager/nuget/config-formatter.js +2 -2
  360. package/dist/modules/manager/nuget/config-formatter.js.map +1 -1
  361. package/dist/modules/manager/nuget/extract.js +4 -4
  362. package/dist/modules/manager/nuget/extract.js.map +1 -1
  363. package/dist/modules/manager/nuget/package-tree.js +2 -2
  364. package/dist/modules/manager/nuget/package-tree.js.map +1 -1
  365. package/dist/modules/manager/ocb/extract.js +2 -3
  366. package/dist/modules/manager/ocb/extract.js.map +1 -1
  367. package/dist/modules/manager/osgi/extract.js +4 -4
  368. package/dist/modules/manager/osgi/extract.js.map +1 -1
  369. package/dist/modules/manager/pep621/artifacts.js +3 -4
  370. package/dist/modules/manager/pep621/artifacts.js.map +1 -1
  371. package/dist/modules/manager/pep621/processors/uv.js +2 -3
  372. package/dist/modules/manager/pep621/processors/uv.js.map +1 -1
  373. package/dist/modules/manager/pep621/schema.d.ts +1 -1
  374. package/dist/modules/manager/pep621/schema.js +1 -0
  375. package/dist/modules/manager/pep621/schema.js.map +1 -1
  376. package/dist/modules/manager/pep621/utils.js +8 -10
  377. package/dist/modules/manager/pep621/utils.js.map +1 -1
  378. package/dist/modules/manager/pep723/schema.js +2 -3
  379. package/dist/modules/manager/pep723/schema.js.map +1 -1
  380. package/dist/modules/manager/pip-compile/common.js +3 -3
  381. package/dist/modules/manager/pip-compile/common.js.map +1 -1
  382. package/dist/modules/manager/pip_requirements/artifacts.js +2 -3
  383. package/dist/modules/manager/pip_requirements/artifacts.js.map +1 -1
  384. package/dist/modules/manager/pip_requirements/extract.js +2 -3
  385. package/dist/modules/manager/pip_requirements/extract.js.map +1 -1
  386. package/dist/modules/manager/pipenv/artifacts.js +3 -4
  387. package/dist/modules/manager/pipenv/artifacts.js.map +1 -1
  388. package/dist/modules/manager/pipenv/extract.js +6 -7
  389. package/dist/modules/manager/pipenv/extract.js.map +1 -1
  390. package/dist/modules/manager/pixi/artifacts.js +2 -3
  391. package/dist/modules/manager/pixi/artifacts.js.map +1 -1
  392. package/dist/modules/manager/pixi/extract.js +2 -3
  393. package/dist/modules/manager/pixi/extract.js.map +1 -1
  394. package/dist/modules/manager/poetry/artifacts.js +4 -5
  395. package/dist/modules/manager/poetry/artifacts.js.map +1 -1
  396. package/dist/modules/manager/poetry/extract.js +2 -3
  397. package/dist/modules/manager/poetry/extract.js.map +1 -1
  398. package/dist/modules/manager/poetry/schema.d.ts +4 -0
  399. package/dist/modules/manager/poetry/schema.js +5 -1
  400. package/dist/modules/manager/poetry/schema.js.map +1 -1
  401. package/dist/modules/manager/pre-commit/extract.js +4 -5
  402. package/dist/modules/manager/pre-commit/extract.js.map +1 -1
  403. package/dist/modules/manager/pub/artifacts.js +3 -4
  404. package/dist/modules/manager/pub/artifacts.js.map +1 -1
  405. package/dist/modules/manager/pub/extract.js +8 -11
  406. package/dist/modules/manager/pub/extract.js.map +1 -1
  407. package/dist/modules/manager/renovate-config-presets/extract.js +4 -5
  408. package/dist/modules/manager/renovate-config-presets/extract.js.map +1 -1
  409. package/dist/modules/manager/tekton/extract.js +9 -10
  410. package/dist/modules/manager/tekton/extract.js.map +1 -1
  411. package/dist/modules/manager/terraform/base.js +2 -3
  412. package/dist/modules/manager/terraform/base.js.map +1 -1
  413. package/dist/modules/manager/terraform/extract.js +2 -2
  414. package/dist/modules/manager/terraform/extract.js.map +1 -1
  415. package/dist/modules/manager/terraform/extractors/others/modules.js +3 -4
  416. package/dist/modules/manager/terraform/extractors/others/modules.js.map +1 -1
  417. package/dist/modules/manager/terraform/extractors/others/providers.js +3 -4
  418. package/dist/modules/manager/terraform/extractors/others/providers.js.map +1 -1
  419. package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.js +7 -8
  420. package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.js.map +1 -1
  421. package/dist/modules/manager/terraform/extractors/resources/helm-release.js +5 -6
  422. package/dist/modules/manager/terraform/extractors/resources/helm-release.js.map +1 -1
  423. package/dist/modules/manager/terraform/extractors/resources/terraform-workspace.js +3 -4
  424. package/dist/modules/manager/terraform/extractors/resources/terraform-workspace.js.map +1 -1
  425. package/dist/modules/manager/terraform/extractors/terraform-block/required-provider.js +4 -5
  426. package/dist/modules/manager/terraform/extractors/terraform-block/required-provider.js.map +1 -1
  427. package/dist/modules/manager/terraform/extractors/terraform-block/terraform-version.js +3 -3
  428. package/dist/modules/manager/terraform/extractors/terraform-block/terraform-version.js.map +1 -1
  429. package/dist/modules/manager/terraform/lockfile/index.js +2 -2
  430. package/dist/modules/manager/terraform/lockfile/index.js.map +1 -1
  431. package/dist/modules/manager/terraform/lockfile/util.js +2 -3
  432. package/dist/modules/manager/terraform/lockfile/util.js.map +1 -1
  433. package/dist/modules/manager/terraform/util.js +2 -3
  434. package/dist/modules/manager/terraform/util.js.map +1 -1
  435. package/dist/modules/manager/tflint-plugin/plugins.js +2 -3
  436. package/dist/modules/manager/tflint-plugin/plugins.js.map +1 -1
  437. package/dist/modules/manager/travis/extract.js +5 -6
  438. package/dist/modules/manager/travis/extract.js.map +1 -1
  439. package/dist/modules/manager/woodpecker/extract.js +2 -3
  440. package/dist/modules/manager/woodpecker/extract.js.map +1 -1
  441. package/dist/modules/platform/azure/index.js +2 -2
  442. package/dist/modules/platform/azure/index.js.map +1 -1
  443. package/dist/modules/platform/bitbucket/index.js +5 -5
  444. package/dist/modules/platform/bitbucket/index.js.map +1 -1
  445. package/dist/modules/platform/bitbucket-server/pr-cache.js +3 -3
  446. package/dist/modules/platform/bitbucket-server/pr-cache.js.map +1 -1
  447. package/dist/modules/platform/bitbucket-server/utils.js +2 -2
  448. package/dist/modules/platform/bitbucket-server/utils.js.map +1 -1
  449. package/dist/modules/platform/codecommit/codecommit-client.js +2 -2
  450. package/dist/modules/platform/codecommit/codecommit-client.js.map +1 -1
  451. package/dist/modules/platform/forgejo/index.js +5 -5
  452. package/dist/modules/platform/forgejo/index.js.map +1 -1
  453. package/dist/modules/platform/forgejo/pr-cache.js +1 -1
  454. package/dist/modules/platform/forgejo/pr-cache.js.map +1 -1
  455. package/dist/modules/platform/forgejo/utils.js +2 -2
  456. package/dist/modules/platform/forgejo/utils.js.map +1 -1
  457. package/dist/modules/platform/gitea/index.js +5 -5
  458. package/dist/modules/platform/gitea/index.js.map +1 -1
  459. package/dist/modules/platform/gitea/pr-cache.js +1 -1
  460. package/dist/modules/platform/gitea/pr-cache.js.map +1 -1
  461. package/dist/modules/platform/gitea/utils.js +2 -2
  462. package/dist/modules/platform/gitea/utils.js.map +1 -1
  463. package/dist/modules/platform/github/common.js +4 -5
  464. package/dist/modules/platform/github/common.js.map +1 -1
  465. package/dist/modules/platform/github/index.js +5 -5
  466. package/dist/modules/platform/github/index.js.map +1 -1
  467. package/dist/modules/platform/github/pr.js +2 -3
  468. package/dist/modules/platform/github/pr.js.map +1 -1
  469. package/dist/modules/platform/gitlab/http.js +2 -3
  470. package/dist/modules/platform/gitlab/http.js.map +1 -1
  471. package/dist/modules/platform/gitlab/index.js +3 -3
  472. package/dist/modules/platform/gitlab/index.js.map +1 -1
  473. package/dist/modules/platform/gitlab/utils.js +3 -3
  474. package/dist/modules/platform/gitlab/utils.js.map +1 -1
  475. package/dist/modules/platform/pr-body.js +2 -3
  476. package/dist/modules/platform/pr-body.js.map +1 -1
  477. package/dist/modules/versioning/composer/index.js +2 -3
  478. package/dist/modules/versioning/composer/index.js.map +1 -1
  479. package/dist/modules/versioning/generic.js +5 -6
  480. package/dist/modules/versioning/generic.js.map +1 -1
  481. package/dist/modules/versioning/gradle/compare.js +3 -4
  482. package/dist/modules/versioning/gradle/compare.js.map +1 -1
  483. package/dist/modules/versioning/ivy/parse.js +1 -1
  484. package/dist/modules/versioning/ivy/parse.js.map +1 -1
  485. package/dist/modules/versioning/maven/index.js +1 -1
  486. package/dist/modules/versioning/maven/index.js.map +1 -1
  487. package/dist/modules/versioning/nixpkgs/index.js +6 -7
  488. package/dist/modules/versioning/nixpkgs/index.js.map +1 -1
  489. package/dist/modules/versioning/npm/range.js +2 -2
  490. package/dist/modules/versioning/npm/range.js.map +1 -1
  491. package/dist/modules/versioning/nuget/index.js +1 -1
  492. package/dist/modules/versioning/nuget/index.js.map +1 -1
  493. package/dist/modules/versioning/rpm/index.js +4 -5
  494. package/dist/modules/versioning/rpm/index.js.map +1 -1
  495. package/dist/modules/versioning/schema.js +2 -2
  496. package/dist/modules/versioning/schema.js.map +1 -1
  497. package/dist/modules/versioning/semver-coerced/index.js +3 -3
  498. package/dist/modules/versioning/semver-coerced/index.js.map +1 -1
  499. package/dist/modules/versioning/semver-partial/index.js +4 -4
  500. package/dist/modules/versioning/semver-partial/index.js.map +1 -1
  501. package/dist/proxy.js +3 -4
  502. package/dist/proxy.js.map +1 -1
  503. package/dist/util/array.js +4 -5
  504. package/dist/util/array.js.map +1 -1
  505. package/dist/util/assign-keys.js +2 -3
  506. package/dist/util/assign-keys.js.map +1 -1
  507. package/dist/util/cache/package/decorator.js +6 -6
  508. package/dist/util/cache/package/decorator.js.map +1 -1
  509. package/dist/util/cache/package/ttl.js +4 -5
  510. package/dist/util/cache/package/ttl.js.map +1 -1
  511. package/dist/util/cache/repository/impl/base.js +3 -4
  512. package/dist/util/cache/repository/impl/base.js.map +1 -1
  513. package/dist/util/cache/repository/impl/s3.js +2 -3
  514. package/dist/util/cache/repository/impl/s3.js.map +1 -1
  515. package/dist/util/exec/common.js +2 -3
  516. package/dist/util/exec/common.js.map +1 -1
  517. package/dist/util/exec/containerbase.js +2 -2
  518. package/dist/util/exec/containerbase.js.map +1 -1
  519. package/dist/util/exec/docker/index.js +5 -5
  520. package/dist/util/exec/docker/index.js.map +1 -1
  521. package/dist/util/exec/index.js +2 -2
  522. package/dist/util/exec/index.js.map +1 -1
  523. package/dist/util/exec/utils.js +3 -4
  524. package/dist/util/exec/utils.js.map +1 -1
  525. package/dist/util/filter-map.js +2 -3
  526. package/dist/util/filter-map.js.map +1 -1
  527. package/dist/util/fs/index.js +3 -3
  528. package/dist/util/fs/index.js.map +1 -1
  529. package/dist/util/git/auth.js +2 -3
  530. package/dist/util/git/auth.js.map +1 -1
  531. package/dist/util/git/behind-base-branch-cache.js +2 -1
  532. package/dist/util/git/behind-base-branch-cache.js.map +1 -1
  533. package/dist/util/git/config.js +3 -4
  534. package/dist/util/git/config.js.map +1 -1
  535. package/dist/util/git/conflicts-cache.js +2 -1
  536. package/dist/util/git/conflicts-cache.js.map +1 -1
  537. package/dist/util/git/index.js +5 -5
  538. package/dist/util/git/index.js.map +1 -1
  539. package/dist/util/git/private-key.js +2 -2
  540. package/dist/util/git/private-key.js.map +1 -1
  541. package/dist/util/github/graphql/datasource-fetcher.js +2 -1
  542. package/dist/util/github/graphql/datasource-fetcher.js.map +1 -1
  543. package/dist/util/host-rules.js +6 -6
  544. package/dist/util/host-rules.js.map +1 -1
  545. package/dist/util/http/auth.js +3 -4
  546. package/dist/util/http/auth.js.map +1 -1
  547. package/dist/util/http/bitbucket-server.js +2 -3
  548. package/dist/util/http/bitbucket-server.js.map +1 -1
  549. package/dist/util/http/bitbucket.js +3 -4
  550. package/dist/util/http/bitbucket.js.map +1 -1
  551. package/dist/util/http/cache/package-http-cache-provider.js +2 -2
  552. package/dist/util/http/cache/package-http-cache-provider.js.map +1 -1
  553. package/dist/util/http/forgejo.js +3 -4
  554. package/dist/util/http/forgejo.js.map +1 -1
  555. package/dist/util/http/gitea.js +3 -4
  556. package/dist/util/http/gitea.js.map +1 -1
  557. package/dist/util/http/github.js +10 -10
  558. package/dist/util/http/github.js.map +1 -1
  559. package/dist/util/http/gitlab.js +4 -5
  560. package/dist/util/http/gitlab.js.map +1 -1
  561. package/dist/util/http/host-rules.js +10 -10
  562. package/dist/util/http/host-rules.js.map +1 -1
  563. package/dist/util/http/http.js +5 -5
  564. package/dist/util/http/http.js.map +1 -1
  565. package/dist/util/http/rate-limits.js +3 -3
  566. package/dist/util/http/rate-limits.js.map +1 -1
  567. package/dist/util/http/retry-after.js +3 -4
  568. package/dist/util/http/retry-after.js.map +1 -1
  569. package/dist/util/interpolator.js +8 -9
  570. package/dist/util/interpolator.js.map +1 -1
  571. package/dist/util/merge-confidence/index.js +5 -5
  572. package/dist/util/merge-confidence/index.js.map +1 -1
  573. package/dist/util/number.js +2 -3
  574. package/dist/util/number.js.map +1 -1
  575. package/dist/util/package-rules/base-branches.js +3 -4
  576. package/dist/util/package-rules/base-branches.js.map +1 -1
  577. package/dist/util/package-rules/categories.js +3 -4
  578. package/dist/util/package-rules/categories.js.map +1 -1
  579. package/dist/util/package-rules/current-age.js +3 -4
  580. package/dist/util/package-rules/current-age.js.map +1 -1
  581. package/dist/util/package-rules/current-value.js +2 -3
  582. package/dist/util/package-rules/current-value.js.map +1 -1
  583. package/dist/util/package-rules/current-version.js +5 -5
  584. package/dist/util/package-rules/current-version.js.map +1 -1
  585. package/dist/util/package-rules/datasources.js +3 -4
  586. package/dist/util/package-rules/datasources.js.map +1 -1
  587. package/dist/util/package-rules/dep-names.js +3 -4
  588. package/dist/util/package-rules/dep-names.js.map +1 -1
  589. package/dist/util/package-rules/dep-types.js +2 -3
  590. package/dist/util/package-rules/dep-types.js.map +1 -1
  591. package/dist/util/package-rules/files.js +4 -5
  592. package/dist/util/package-rules/files.js.map +1 -1
  593. package/dist/util/package-rules/index.js +6 -6
  594. package/dist/util/package-rules/index.js.map +1 -1
  595. package/dist/util/package-rules/managers.js +3 -4
  596. package/dist/util/package-rules/managers.js.map +1 -1
  597. package/dist/util/package-rules/merge-confidence.js +5 -6
  598. package/dist/util/package-rules/merge-confidence.js.map +1 -1
  599. package/dist/util/package-rules/new-value.js +2 -3
  600. package/dist/util/package-rules/new-value.js.map +1 -1
  601. package/dist/util/package-rules/package-names.js +2 -3
  602. package/dist/util/package-rules/package-names.js.map +1 -1
  603. package/dist/util/package-rules/repositories.js +3 -4
  604. package/dist/util/package-rules/repositories.js.map +1 -1
  605. package/dist/util/package-rules/sourceurls.js +2 -3
  606. package/dist/util/package-rules/sourceurls.js.map +1 -1
  607. package/dist/util/package-rules/update-types.js +2 -3
  608. package/dist/util/package-rules/update-types.js.map +1 -1
  609. package/dist/util/pretty-time.js +4 -4
  610. package/dist/util/pretty-time.js.map +1 -1
  611. package/dist/util/regex.js +2 -3
  612. package/dist/util/regex.js.map +1 -1
  613. package/dist/util/s3.js +2 -3
  614. package/dist/util/s3.js.map +1 -1
  615. package/dist/util/sanitize.js +2 -3
  616. package/dist/util/sanitize.js.map +1 -1
  617. package/dist/util/string-match.js +2 -3
  618. package/dist/util/string-match.js.map +1 -1
  619. package/dist/util/template/index.js +6 -6
  620. package/dist/util/template/index.js.map +1 -1
  621. package/dist/util/url.js +5 -5
  622. package/dist/util/url.js.map +1 -1
  623. package/dist/workers/global/autodiscover.js +3 -4
  624. package/dist/workers/global/autodiscover.js.map +1 -1
  625. package/dist/workers/global/config/parse/additional-config-file.js +4 -4
  626. package/dist/workers/global/config/parse/additional-config-file.js.map +1 -1
  627. package/dist/workers/global/config/parse/coersions.js +2 -2
  628. package/dist/workers/global/config/parse/coersions.js.map +1 -1
  629. package/dist/workers/global/config/parse/env.js +2 -2
  630. package/dist/workers/global/config/parse/env.js.map +1 -1
  631. package/dist/workers/global/config/parse/file.js +5 -5
  632. package/dist/workers/global/config/parse/file.js.map +1 -1
  633. package/dist/workers/global/config/parse/index.js +6 -7
  634. package/dist/workers/global/config/parse/index.js.map +1 -1
  635. package/dist/workers/global/config/parse/util.js +2 -2
  636. package/dist/workers/global/config/parse/util.js.map +1 -1
  637. package/dist/workers/global/index.js +5 -5
  638. package/dist/workers/global/index.js.map +1 -1
  639. package/dist/workers/global/limits.js +6 -7
  640. package/dist/workers/global/limits.js.map +1 -1
  641. package/dist/workers/repository/config-migration/branch/index.js +2 -3
  642. package/dist/workers/repository/config-migration/branch/index.js.map +1 -1
  643. package/dist/workers/repository/config-migration/branch/migrated-data.js +2 -2
  644. package/dist/workers/repository/config-migration/branch/migrated-data.js.map +1 -1
  645. package/dist/workers/repository/config-migration/pr/index.js +3 -3
  646. package/dist/workers/repository/config-migration/pr/index.js.map +1 -1
  647. package/dist/workers/repository/dependency-dashboard.js +10 -10
  648. package/dist/workers/repository/dependency-dashboard.js.map +1 -1
  649. package/dist/workers/repository/extract/index.js +2 -3
  650. package/dist/workers/repository/extract/index.js.map +1 -1
  651. package/dist/workers/repository/extract/manager-files.js +2 -3
  652. package/dist/workers/repository/extract/manager-files.js.map +1 -1
  653. package/dist/workers/repository/extract/supersedes.js +4 -5
  654. package/dist/workers/repository/extract/supersedes.js.map +1 -1
  655. package/dist/workers/repository/finalize/prune.js +2 -3
  656. package/dist/workers/repository/finalize/prune.js.map +1 -1
  657. package/dist/workers/repository/init/inherited.js +5 -5
  658. package/dist/workers/repository/init/inherited.js.map +1 -1
  659. package/dist/workers/repository/init/merge.js +13 -13
  660. package/dist/workers/repository/init/merge.js.map +1 -1
  661. package/dist/workers/repository/model/commit-message.js +2 -3
  662. package/dist/workers/repository/model/commit-message.js.map +1 -1
  663. package/dist/workers/repository/onboarding/branch/check.js +2 -1
  664. package/dist/workers/repository/onboarding/branch/check.js.map +1 -1
  665. package/dist/workers/repository/onboarding/branch/index.js +3 -4
  666. package/dist/workers/repository/onboarding/branch/index.js.map +1 -1
  667. package/dist/workers/repository/onboarding/branch/onboarding-branch-cache.js +7 -8
  668. package/dist/workers/repository/onboarding/branch/onboarding-branch-cache.js.map +1 -1
  669. package/dist/workers/repository/onboarding/pr/config-description.js +2 -5
  670. package/dist/workers/repository/onboarding/pr/config-description.js.map +1 -1
  671. package/dist/workers/repository/onboarding/pr/index.js +3 -3
  672. package/dist/workers/repository/onboarding/pr/index.js.map +1 -1
  673. package/dist/workers/repository/package-files.js +8 -9
  674. package/dist/workers/repository/package-files.js.map +1 -1
  675. package/dist/workers/repository/process/extract-update.js +2 -2
  676. package/dist/workers/repository/process/extract-update.js.map +1 -1
  677. package/dist/workers/repository/process/fetch.js +3 -3
  678. package/dist/workers/repository/process/fetch.js.map +1 -1
  679. package/dist/workers/repository/process/lookup/current.js +2 -3
  680. package/dist/workers/repository/process/lookup/current.js.map +1 -1
  681. package/dist/workers/repository/process/lookup/filter-checks.js +4 -5
  682. package/dist/workers/repository/process/lookup/filter-checks.js.map +1 -1
  683. package/dist/workers/repository/process/lookup/generate.js +2 -3
  684. package/dist/workers/repository/process/lookup/generate.js.map +1 -1
  685. package/dist/workers/repository/process/lookup/index.js +15 -16
  686. package/dist/workers/repository/process/lookup/index.js.map +1 -1
  687. package/dist/workers/repository/process/lookup/utils.js +7 -7
  688. package/dist/workers/repository/process/lookup/utils.js.map +1 -1
  689. package/dist/workers/repository/process/vulnerabilities.js +11 -11
  690. package/dist/workers/repository/process/vulnerabilities.js.map +1 -1
  691. package/dist/workers/repository/process/write.js +2 -3
  692. package/dist/workers/repository/process/write.js.map +1 -1
  693. package/dist/workers/repository/reconfigure/comment.js +2 -5
  694. package/dist/workers/repository/reconfigure/comment.js.map +1 -1
  695. package/dist/workers/repository/reconfigure/utils.js +2 -3
  696. package/dist/workers/repository/reconfigure/utils.js.map +1 -1
  697. package/dist/workers/repository/reconfigure/validate.js +2 -3
  698. package/dist/workers/repository/reconfigure/validate.js.map +1 -1
  699. package/dist/workers/repository/update/branch/auto-replace.js +4 -5
  700. package/dist/workers/repository/update/branch/auto-replace.js.map +1 -1
  701. package/dist/workers/repository/update/branch/commit.js +3 -4
  702. package/dist/workers/repository/update/branch/commit.js.map +1 -1
  703. package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js +12 -5
  704. package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js.map +1 -1
  705. package/dist/workers/repository/update/branch/get-updated.js +8 -9
  706. package/dist/workers/repository/update/branch/get-updated.js.map +1 -1
  707. package/dist/workers/repository/update/branch/index.js +3 -3
  708. package/dist/workers/repository/update/branch/index.js.map +1 -1
  709. package/dist/workers/repository/update/branch/schedule.js +2 -2
  710. package/dist/workers/repository/update/branch/schedule.js.map +1 -1
  711. package/dist/workers/repository/update/pr/body/notes.js +2 -2
  712. package/dist/workers/repository/update/pr/body/notes.js.map +1 -1
  713. package/dist/workers/repository/update/pr/changelog/bitbucket/index.js +2 -2
  714. package/dist/workers/repository/update/pr/changelog/bitbucket/index.js.map +1 -1
  715. package/dist/workers/repository/update/pr/changelog/index.js +3 -3
  716. package/dist/workers/repository/update/pr/changelog/index.js.map +1 -1
  717. package/dist/workers/repository/update/pr/changelog/release-notes.js +4 -4
  718. package/dist/workers/repository/update/pr/changelog/release-notes.js.map +1 -1
  719. package/dist/workers/repository/update/pr/changelog/source.js +8 -8
  720. package/dist/workers/repository/update/pr/changelog/source.js.map +1 -1
  721. package/dist/workers/repository/update/pr/code-owners.js +2 -2
  722. package/dist/workers/repository/update/pr/code-owners.js.map +1 -1
  723. package/dist/workers/repository/update/pr/index.js +7 -8
  724. package/dist/workers/repository/update/pr/index.js.map +1 -1
  725. package/dist/workers/repository/update/pr/labels.js +4 -4
  726. package/dist/workers/repository/update/pr/labels.js.map +1 -1
  727. package/dist/workers/repository/update/pr/participants.js +4 -5
  728. package/dist/workers/repository/update/pr/participants.js.map +1 -1
  729. package/dist/workers/repository/updates/generate.js +4 -4
  730. package/dist/workers/repository/updates/generate.js.map +1 -1
  731. package/package.json +5 -5
  732. package/renovate-schema.json +2 -2
@@ -2,9 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.extractPackageJson = extractPackageJson;
4
4
  exports.hasPackageManager = hasPackageManager;
5
- const tslib_1 = require("tslib");
6
5
  const parse_overrides_1 = require("@pnpm/parse-overrides");
7
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
6
+ const is_1 = require("@sindresorhus/is");
8
7
  const error_messages_1 = require("../../../../../constants/error-messages");
9
8
  const logger_1 = require("../../../../../logger");
10
9
  const regex_1 = require("../../../../../util/regex");
@@ -62,7 +61,7 @@ function extractPackageJson(packageJson, packageFile) {
62
61
  if (depName !== key) {
63
62
  dep.managerData = { key };
64
63
  }
65
- if (depType === 'overrides' && !is_1.default.string(val)) {
64
+ if (depType === 'overrides' && !(0, is_1.isString)(val)) {
66
65
  // TODO: fix type #22198
67
66
  deps.push(...(0, overrides_1.extractOverrideDepsRec)([depName], val));
68
67
  }
@@ -70,7 +69,7 @@ function extractPackageJson(packageJson, packageFile) {
70
69
  // pnpm overrides
71
70
  // https://pnpm.io/package_json#pnpmoverrides
72
71
  for (const [overridesKey, overridesVal] of Object.entries(val)) {
73
- if (is_1.default.string(overridesVal)) {
72
+ if ((0, is_1.isString)(overridesVal)) {
74
73
  // Newer flat syntax: `parent>parent>child`
75
74
  const packageName = (0, parse_overrides_1.parsePkgAndParentSelector)(overridesKey).targetPkg.name;
76
75
  dep = {
@@ -84,7 +83,7 @@ function extractPackageJson(packageJson, packageFile) {
84
83
  dep.prettyDepType = depTypes[depName];
85
84
  deps.push(dep);
86
85
  }
87
- else if (is_1.default.object(overridesVal)) {
86
+ else if ((0, is_1.isObject)(overridesVal)) {
88
87
  // Older nested object syntax: `parent: { parent: { child: version } }`
89
88
  deps.push(...(0, overrides_1.extractOverrideDepsRec)([overridesKey], overridesVal));
90
89
  }
@@ -112,8 +111,8 @@ function extractPackageJson(packageJson, packageFile) {
112
111
  packageFileVersion,
113
112
  managerData: {
114
113
  packageJsonName,
115
- hasPackageManager: is_1.default.nonEmptyStringAndNotWhitespace(packageJson.packageManager) ||
116
- is_1.default.nonEmptyObject(packageJson.devEngines?.packageManager),
114
+ hasPackageManager: (0, is_1.isNonEmptyStringAndNotWhitespace)(packageJson.packageManager) ||
115
+ (0, is_1.isNonEmptyObject)(packageJson.devEngines?.packageManager),
117
116
  workspaces: packageJson.workspaces,
118
117
  },
119
118
  };
@@ -121,7 +120,7 @@ function extractPackageJson(packageJson, packageFile) {
121
120
  async function hasPackageManager(packageJsonDir) {
122
121
  logger_1.logger.trace(`npm.hasPackageManager from package.json`);
123
122
  const packageJsonResult = await (0, utils_1.loadPackageJson)(packageJsonDir);
124
- return (is_1.default.nonEmptyString(packageJsonResult?.packageManager?.name) &&
125
- is_1.default.nonEmptyString(packageJsonResult?.packageManager?.version));
123
+ return ((0, is_1.isNonEmptyString)(packageJsonResult?.packageManager?.name) &&
124
+ (0, is_1.isNonEmptyString)(packageJsonResult?.packageManager?.version));
126
125
  }
127
126
  //# sourceMappingURL=package-file.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"package-file.js","sourceRoot":"","sources":["../../../../../../lib/modules/manager/npm/extract/common/package-file.ts"],"names":[],"mappings":"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","sourcesContent":["import { parsePkgAndParentSelector } from '@pnpm/parse-overrides';\nimport is from '@sindresorhus/is';\nimport { CONFIG_VALIDATION } from '../../../../../constants/error-messages';\nimport { logger } from '../../../../../logger';\nimport { regEx } from '../../../../../util/regex';\nimport type { PackageDependency, PackageFileContent } from '../../../types';\nimport type { NpmManagerData } from '../../types';\nimport { loadPackageJson } from '../../utils';\nimport type { NpmPackage, NpmPackageDependency } from '../types';\nimport {\n extractDependency,\n getExtractedConstraints,\n parseDepName,\n} from './dependency';\nimport { setNodeCommitTopic } from './node';\nimport { extractOverrideDepsRec } from './overrides';\n\nexport function extractPackageJson(\n packageJson: NpmPackage,\n packageFile: string,\n): PackageFileContent<NpmManagerData> | null {\n logger.trace(`npm.extractPackageJson(${packageFile})`);\n const deps: PackageDependency[] = [];\n\n if (packageJson._id && packageJson._args && packageJson._from) {\n logger.debug({ packageFile }, 'Ignoring vendorised package.json');\n return null;\n }\n if (packageFile !== 'package.json' && packageJson.renovate) {\n const error = new Error(CONFIG_VALIDATION);\n error.validationSource = packageFile;\n error.validationError =\n 'Nested package.json must not contain Renovate configuration. Please use `packageRules` with `matchFileNames` in your main config instead.';\n throw error;\n }\n const packageJsonName = packageJson.name;\n logger.debug(\n `npm file ${packageFile} has name ${JSON.stringify(packageJsonName)}`,\n );\n const packageFileVersion = packageJson.version;\n\n const depTypes = {\n dependencies: 'dependency',\n devDependencies: 'devDependency',\n optionalDependencies: 'optionalDependency',\n peerDependencies: 'peerDependency',\n engines: 'engine',\n volta: 'volta',\n resolutions: 'resolutions',\n packageManager: 'packageManager',\n overrides: 'overrides',\n pnpm: 'pnpm',\n };\n\n for (const depType of Object.keys(depTypes) as (keyof typeof depTypes)[]) {\n let dependencies = packageJson[depType];\n if (dependencies) {\n try {\n if (depType === 'packageManager') {\n const match = regEx('^(?<name>.+)@(?<range>.+)$').exec(\n dependencies as string,\n );\n /* v8 ignore next 3 -- needs test */\n if (!match?.groups) {\n break;\n }\n dependencies = { [match.groups.name]: match.groups.range };\n }\n for (const [key, val] of Object.entries(\n dependencies as NpmPackageDependency,\n )) {\n const depName = parseDepName(depType, key);\n let dep: PackageDependency = {\n depType,\n depName,\n };\n if (depName !== key) {\n dep.managerData = { key };\n }\n if (depType === 'overrides' && !is.string(val)) {\n // TODO: fix type #22198\n deps.push(\n ...extractOverrideDepsRec(\n [depName],\n val as unknown as NpmManagerData,\n ),\n );\n } else if (depType === 'pnpm' && depName === 'overrides') {\n // pnpm overrides\n // https://pnpm.io/package_json#pnpmoverrides\n for (const [overridesKey, overridesVal] of Object.entries(\n val as unknown as NpmPackageDependency,\n )) {\n if (is.string(overridesVal)) {\n // Newer flat syntax: `parent>parent>child`\n const packageName =\n parsePkgAndParentSelector(overridesKey).targetPkg.name;\n dep = {\n depName: overridesKey,\n packageName,\n depType: 'pnpm.overrides',\n ...extractDependency(depName, packageName, overridesVal),\n };\n setNodeCommitTopic(dep);\n // TODO: Is this expected? It's always 'overrides'.\n dep.prettyDepType = depTypes[depName];\n deps.push(dep);\n } else if (is.object(overridesVal)) {\n // Older nested object syntax: `parent: { parent: { child: version } }`\n deps.push(\n ...extractOverrideDepsRec(\n [overridesKey],\n overridesVal as unknown as NpmManagerData,\n ),\n );\n }\n }\n } else {\n // TODO: fix type #22198\n dep = { ...dep, ...extractDependency(depType, depName, val!) };\n setNodeCommitTopic(dep);\n dep.prettyDepType = depTypes[depType];\n deps.push(dep);\n }\n } /* v8 ignore start -- needs test */\n } catch (err) {\n logger.debug(\n { fileName: packageFile, depType, err },\n 'Error parsing package.json',\n );\n return null;\n } /* v8 ignore stop -- needs test */\n }\n }\n\n const extractedConstraints = getExtractedConstraints(deps);\n\n return {\n deps,\n extractedConstraints,\n packageFileVersion,\n managerData: {\n packageJsonName,\n hasPackageManager:\n is.nonEmptyStringAndNotWhitespace(packageJson.packageManager) ||\n is.nonEmptyObject(packageJson.devEngines?.packageManager),\n workspaces: packageJson.workspaces,\n },\n };\n}\n\nexport async function hasPackageManager(\n packageJsonDir: string,\n): Promise<boolean> {\n logger.trace(`npm.hasPackageManager from package.json`);\n\n const packageJsonResult = await loadPackageJson(packageJsonDir);\n\n return (\n is.nonEmptyString(packageJsonResult?.packageManager?.name) &&\n is.nonEmptyString(packageJsonResult?.packageManager?.version)\n );\n}\n"]}
1
+ {"version":3,"file":"package-file.js","sourceRoot":"","sources":["../../../../../../lib/modules/manager/npm/extract/common/package-file.ts"],"names":[],"mappings":"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","sourcesContent":["import { parsePkgAndParentSelector } from '@pnpm/parse-overrides';\nimport {\n isNonEmptyObject,\n isNonEmptyString,\n isNonEmptyStringAndNotWhitespace,\n isObject,\n isString,\n} from '@sindresorhus/is';\nimport { CONFIG_VALIDATION } from '../../../../../constants/error-messages';\nimport { logger } from '../../../../../logger';\nimport { regEx } from '../../../../../util/regex';\nimport type { PackageDependency, PackageFileContent } from '../../../types';\nimport type { NpmManagerData } from '../../types';\nimport { loadPackageJson } from '../../utils';\nimport type { NpmPackage, NpmPackageDependency } from '../types';\nimport {\n extractDependency,\n getExtractedConstraints,\n parseDepName,\n} from './dependency';\nimport { setNodeCommitTopic } from './node';\nimport { extractOverrideDepsRec } from './overrides';\n\nexport function extractPackageJson(\n packageJson: NpmPackage,\n packageFile: string,\n): PackageFileContent<NpmManagerData> | null {\n logger.trace(`npm.extractPackageJson(${packageFile})`);\n const deps: PackageDependency[] = [];\n\n if (packageJson._id && packageJson._args && packageJson._from) {\n logger.debug({ packageFile }, 'Ignoring vendorised package.json');\n return null;\n }\n if (packageFile !== 'package.json' && packageJson.renovate) {\n const error = new Error(CONFIG_VALIDATION);\n error.validationSource = packageFile;\n error.validationError =\n 'Nested package.json must not contain Renovate configuration. Please use `packageRules` with `matchFileNames` in your main config instead.';\n throw error;\n }\n const packageJsonName = packageJson.name;\n logger.debug(\n `npm file ${packageFile} has name ${JSON.stringify(packageJsonName)}`,\n );\n const packageFileVersion = packageJson.version;\n\n const depTypes = {\n dependencies: 'dependency',\n devDependencies: 'devDependency',\n optionalDependencies: 'optionalDependency',\n peerDependencies: 'peerDependency',\n engines: 'engine',\n volta: 'volta',\n resolutions: 'resolutions',\n packageManager: 'packageManager',\n overrides: 'overrides',\n pnpm: 'pnpm',\n };\n\n for (const depType of Object.keys(depTypes) as (keyof typeof depTypes)[]) {\n let dependencies = packageJson[depType];\n if (dependencies) {\n try {\n if (depType === 'packageManager') {\n const match = regEx('^(?<name>.+)@(?<range>.+)$').exec(\n dependencies as string,\n );\n /* v8 ignore next 3 -- needs test */\n if (!match?.groups) {\n break;\n }\n dependencies = { [match.groups.name]: match.groups.range };\n }\n for (const [key, val] of Object.entries(\n dependencies as NpmPackageDependency,\n )) {\n const depName = parseDepName(depType, key);\n let dep: PackageDependency = {\n depType,\n depName,\n };\n if (depName !== key) {\n dep.managerData = { key };\n }\n if (depType === 'overrides' && !isString(val)) {\n // TODO: fix type #22198\n deps.push(\n ...extractOverrideDepsRec(\n [depName],\n val as unknown as NpmManagerData,\n ),\n );\n } else if (depType === 'pnpm' && depName === 'overrides') {\n // pnpm overrides\n // https://pnpm.io/package_json#pnpmoverrides\n for (const [overridesKey, overridesVal] of Object.entries(\n val as unknown as NpmPackageDependency,\n )) {\n if (isString(overridesVal)) {\n // Newer flat syntax: `parent>parent>child`\n const packageName =\n parsePkgAndParentSelector(overridesKey).targetPkg.name;\n dep = {\n depName: overridesKey,\n packageName,\n depType: 'pnpm.overrides',\n ...extractDependency(depName, packageName, overridesVal),\n };\n setNodeCommitTopic(dep);\n // TODO: Is this expected? It's always 'overrides'.\n dep.prettyDepType = depTypes[depName];\n deps.push(dep);\n } else if (isObject(overridesVal)) {\n // Older nested object syntax: `parent: { parent: { child: version } }`\n deps.push(\n ...extractOverrideDepsRec(\n [overridesKey],\n overridesVal as unknown as NpmManagerData,\n ),\n );\n }\n }\n } else {\n // TODO: fix type #22198\n dep = { ...dep, ...extractDependency(depType, depName, val!) };\n setNodeCommitTopic(dep);\n dep.prettyDepType = depTypes[depType];\n deps.push(dep);\n }\n } /* v8 ignore start -- needs test */\n } catch (err) {\n logger.debug(\n { fileName: packageFile, depType, err },\n 'Error parsing package.json',\n );\n return null;\n } /* v8 ignore stop -- needs test */\n }\n }\n\n const extractedConstraints = getExtractedConstraints(deps);\n\n return {\n deps,\n extractedConstraints,\n packageFileVersion,\n managerData: {\n packageJsonName,\n hasPackageManager:\n isNonEmptyStringAndNotWhitespace(packageJson.packageManager) ||\n isNonEmptyObject(packageJson.devEngines?.packageManager),\n workspaces: packageJson.workspaces,\n },\n };\n}\n\nexport async function hasPackageManager(\n packageJsonDir: string,\n): Promise<boolean> {\n logger.trace(`npm.hasPackageManager from package.json`);\n\n const packageJsonResult = await loadPackageJson(packageJsonDir);\n\n return (\n isNonEmptyString(packageJsonResult?.packageManager?.name) &&\n isNonEmptyString(packageJsonResult?.packageManager?.version)\n );\n}\n"]}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.extractPackageFile = extractPackageFile;
4
4
  exports.extractAllPackageFiles = extractAllPackageFiles;
5
5
  const tslib_1 = require("tslib");
6
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
6
+ const is_1 = require("@sindresorhus/is");
7
7
  const upath_1 = tslib_1.__importDefault(require("upath"));
8
8
  const global_1 = require("../../../../config/global");
9
9
  const logger_1 = require("../../../../logger");
@@ -17,7 +17,7 @@ const post_1 = require("./post");
17
17
  const yarn_1 = require("./yarn");
18
18
  const yarnrc_1 = require("./yarnrc");
19
19
  function hasMultipleLockFiles(lockFiles) {
20
- return Object.values(lockFiles).filter(is_1.default.string).length > 1;
20
+ return Object.values(lockFiles).filter(is_1.isString).length > 1;
21
21
  }
22
22
  async function extractPackageFile(content, packageFile, config) {
23
23
  logger_1.logger.trace(`npm.extractPackageFile(${packageFile})`);
@@ -35,7 +35,7 @@ async function extractPackageFile(content, packageFile, config) {
35
35
  return null;
36
36
  }
37
37
  let workspacesPackages;
38
- if (is_1.default.array(packageJson.workspaces)) {
38
+ if ((0, is_1.isArray)(packageJson.workspaces)) {
39
39
  workspacesPackages = packageJson.workspaces;
40
40
  }
41
41
  else {
@@ -66,8 +66,8 @@ async function extractPackageFile(content, packageFile, config) {
66
66
  const npmrcFileName = await (0, fs_1.findLocalSiblingOrParent)(packageFile, '.npmrc');
67
67
  if (npmrcFileName) {
68
68
  let repoNpmrc = await (0, fs_1.readLocalFile)(npmrcFileName, 'utf8');
69
- if (is_1.default.string(repoNpmrc)) {
70
- if (is_1.default.string(config.npmrc) && !config.npmrcMerge) {
69
+ if ((0, is_1.isString)(repoNpmrc)) {
70
+ if ((0, is_1.isString)(config.npmrc) && !config.npmrcMerge) {
71
71
  logger_1.logger.debug({ npmrcFileName }, 'Repo .npmrc file is ignored due to config.npmrc with config.npmrcMerge=false');
72
72
  npmrc = config.npmrc;
73
73
  }
@@ -93,7 +93,7 @@ async function extractPackageFile(content, packageFile, config) {
93
93
  }
94
94
  }
95
95
  }
96
- else if (is_1.default.string(config.npmrc)) {
96
+ else if ((0, is_1.isString)(config.npmrc)) {
97
97
  npmrc = config.npmrc;
98
98
  }
99
99
  const yarnrcYmlFileName = await (0, fs_1.findLocalSiblingOrParent)(packageFile, '.yarnrc.yml');
@@ -104,14 +104,14 @@ async function extractPackageFile(content, packageFile, config) {
104
104
  const repoYarnrcYml = yarnrcYmlFileName
105
105
  ? await (0, fs_1.readLocalFile)(yarnrcYmlFileName, 'utf8')
106
106
  : null;
107
- if (is_1.default.string(repoYarnrcYml) && repoYarnrcYml.trim().length > 0) {
107
+ if ((0, is_1.isString)(repoYarnrcYml) && repoYarnrcYml.trim().length > 0) {
108
108
  yarnrcConfig = (0, yarnrc_1.loadConfigFromYarnrcYml)(repoYarnrcYml);
109
109
  }
110
110
  const legacyYarnrcFileName = await (0, fs_1.findLocalSiblingOrParent)(packageFile, '.yarnrc');
111
111
  const repoLegacyYarnrc = legacyYarnrcFileName
112
112
  ? await (0, fs_1.readLocalFile)(legacyYarnrcFileName, 'utf8')
113
113
  : null;
114
- if (is_1.default.string(repoLegacyYarnrc) && repoLegacyYarnrc.trim().length > 0) {
114
+ if ((0, is_1.isString)(repoLegacyYarnrc) && repoLegacyYarnrc.trim().length > 0) {
115
115
  yarnrcConfig = (0, yarnrc_1.loadConfigFromLegacyYarnrc)(repoLegacyYarnrc);
116
116
  }
117
117
  if (res.deps.length === 0) {
@@ -160,8 +160,8 @@ async function extractPackageFile(content, packageFile, config) {
160
160
  ...res.managerData,
161
161
  ...lockFiles,
162
162
  yarnZeroInstall,
163
- hasPackageManager: is_1.default.nonEmptyStringAndNotWhitespace(packageJson.packageManager) ||
164
- is_1.default.nonEmptyObject(packageJson.devEngines?.packageManager),
163
+ hasPackageManager: (0, is_1.isNonEmptyStringAndNotWhitespace)(packageJson.packageManager) ||
164
+ (0, is_1.isNonEmptyObject)(packageJson.devEngines?.packageManager),
165
165
  workspacesPackages,
166
166
  npmrcFileName, // store npmrc file name so we can later tell if it came from the workspace or not
167
167
  },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/extract/index.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport upath from 'upath';\nimport { GlobalConfig } from '../../../../config/global';\nimport { logger } from '../../../../logger';\nimport {\n findLocalSiblingOrParent,\n getSiblingFileName,\n readLocalFile,\n} from '../../../../util/fs';\nimport { newlineRegex, regEx } from '../../../../util/regex';\nimport { NpmDatasource } from '../../../datasource/npm';\n\nimport type {\n ExtractConfig,\n PackageFile,\n PackageFileContent,\n} from '../../types';\nimport type { YarnConfig } from '../schema';\nimport type { NpmLockFiles, NpmManagerData } from '../types';\nimport { getExtractedConstraints } from './common/dependency';\nimport { extractPackageJson, hasPackageManager } from './common/package-file';\nimport { extractPnpmWorkspaceFile, tryParsePnpmWorkspaceYaml } from './pnpm';\nimport { postExtract } from './post';\nimport type { NpmPackage } from './types';\nimport { extractYarnCatalogs, isZeroInstall } from './yarn';\nimport {\n loadConfigFromLegacyYarnrc,\n loadConfigFromYarnrcYml,\n resolveRegistryUrl,\n} from './yarnrc';\n\nfunction hasMultipleLockFiles(lockFiles: NpmLockFiles): boolean {\n return Object.values(lockFiles).filter(is.string).length > 1;\n}\n\nexport async function extractPackageFile(\n content: string,\n packageFile: string,\n config: ExtractConfig,\n): Promise<PackageFileContent<NpmManagerData> | null> {\n logger.trace(`npm.extractPackageFile(${packageFile})`);\n logger.trace({ content });\n let packageJson: NpmPackage;\n try {\n packageJson = JSON.parse(content);\n } catch {\n logger.debug({ packageFile }, `Invalid JSON`);\n return null;\n }\n\n const res = extractPackageJson(packageJson, packageFile);\n if (!res) {\n return null;\n }\n\n let workspacesPackages: string[] | undefined;\n if (is.array(packageJson.workspaces)) {\n workspacesPackages = packageJson.workspaces;\n } else {\n workspacesPackages = packageJson.workspaces?.packages;\n }\n\n const lockFiles: NpmLockFiles = {\n yarnLock: 'yarn.lock',\n packageLock: 'package-lock.json',\n shrinkwrapJson: 'npm-shrinkwrap.json',\n pnpmShrinkwrap: 'pnpm-lock.yaml',\n };\n\n for (const [key, val] of Object.entries(lockFiles) as [\n 'yarnLock' | 'packageLock' | 'shrinkwrapJson' | 'pnpmShrinkwrap',\n string,\n ][]) {\n const filePath = getSiblingFileName(packageFile, val);\n if (await readLocalFile(filePath, 'utf8')) {\n lockFiles[key] = filePath;\n } else {\n lockFiles[key] = undefined;\n }\n }\n lockFiles.npmLock = lockFiles.packageLock ?? lockFiles.shrinkwrapJson;\n delete lockFiles.packageLock;\n delete lockFiles.shrinkwrapJson;\n\n if (hasMultipleLockFiles(lockFiles)) {\n logger.warn(\n 'Updating multiple npm lock files is deprecated and support will be removed in future versions.',\n );\n }\n\n let npmrc: string | undefined;\n const npmrcFileName = await findLocalSiblingOrParent(packageFile, '.npmrc');\n if (npmrcFileName) {\n let repoNpmrc = await readLocalFile(npmrcFileName, 'utf8');\n if (is.string(repoNpmrc)) {\n if (is.string(config.npmrc) && !config.npmrcMerge) {\n logger.debug(\n { npmrcFileName },\n 'Repo .npmrc file is ignored due to config.npmrc with config.npmrcMerge=false',\n );\n npmrc = config.npmrc;\n } else {\n npmrc = config.npmrc ?? '';\n if (npmrc.length) {\n if (!npmrc.endsWith('\\n')) {\n npmrc += '\\n';\n }\n }\n if (repoNpmrc?.includes('package-lock')) {\n logger.debug('Stripping package-lock setting from .npmrc');\n repoNpmrc = repoNpmrc.replace(\n regEx(/(^|\\n)package-lock.*?(\\n|$)/g),\n '\\n',\n );\n }\n if (repoNpmrc.includes('=${') && !GlobalConfig.get('exposeAllEnv')) {\n logger.debug(\n { npmrcFileName },\n 'Stripping .npmrc file of lines with variables',\n );\n repoNpmrc = repoNpmrc\n .split(newlineRegex)\n .filter((line) => !line.includes('=${'))\n .join('\\n');\n }\n npmrc += repoNpmrc;\n }\n }\n } else if (is.string(config.npmrc)) {\n npmrc = config.npmrc;\n }\n\n const yarnrcYmlFileName = await findLocalSiblingOrParent(\n packageFile,\n '.yarnrc.yml',\n );\n const yarnZeroInstall = yarnrcYmlFileName\n ? await isZeroInstall(yarnrcYmlFileName)\n : false;\n\n let yarnrcConfig: YarnConfig | null = null;\n const repoYarnrcYml = yarnrcYmlFileName\n ? await readLocalFile(yarnrcYmlFileName, 'utf8')\n : null;\n if (is.string(repoYarnrcYml) && repoYarnrcYml.trim().length > 0) {\n yarnrcConfig = loadConfigFromYarnrcYml(repoYarnrcYml);\n }\n\n const legacyYarnrcFileName = await findLocalSiblingOrParent(\n packageFile,\n '.yarnrc',\n );\n const repoLegacyYarnrc = legacyYarnrcFileName\n ? await readLocalFile(legacyYarnrcFileName, 'utf8')\n : null;\n if (is.string(repoLegacyYarnrc) && repoLegacyYarnrc.trim().length > 0) {\n yarnrcConfig = loadConfigFromLegacyYarnrc(repoLegacyYarnrc);\n }\n\n if (res.deps.length === 0) {\n logger.debug('Package file has no deps');\n if (\n !(\n !!res.managerData?.packageJsonName ||\n !!res.packageFileVersion ||\n !!npmrc ||\n workspacesPackages\n )\n ) {\n logger.debug('Skipping file');\n return null;\n }\n }\n let skipInstalls = config.skipInstalls;\n if (skipInstalls === null) {\n const hasFancyRefs = !!res.deps.some(\n (dep) =>\n !!dep.currentValue?.startsWith('file:') ||\n !!dep.currentValue?.startsWith('npm:'),\n );\n if ((hasFancyRefs && !!lockFiles.npmLock) || yarnZeroInstall) {\n // https://github.com/npm/cli/issues/1432\n // Explanation:\n // - npm install --package-lock-only is buggy for transitive deps in file: and npm: references\n // - So we set skipInstalls to false if file: or npm: refs are found *and* the user hasn't explicitly set the value already\n // - Also, do not skip install if Yarn zero-install is used\n logger.debug('Automatically setting skipInstalls to false');\n skipInstalls = false;\n } else {\n skipInstalls = true;\n }\n }\n\n const extractedConstraints = getExtractedConstraints(res.deps);\n\n if (yarnrcConfig) {\n for (const dep of res.deps) {\n if (dep.depName) {\n const registryUrlFromYarnrcConfig = resolveRegistryUrl(\n dep.packageName ?? dep.depName,\n yarnrcConfig,\n );\n if (\n registryUrlFromYarnrcConfig &&\n dep.datasource === NpmDatasource.id\n ) {\n dep.registryUrls = [registryUrlFromYarnrcConfig];\n }\n }\n }\n }\n\n return {\n ...res,\n npmrc,\n managerData: {\n ...res.managerData,\n ...lockFiles,\n yarnZeroInstall,\n hasPackageManager:\n is.nonEmptyStringAndNotWhitespace(packageJson.packageManager) ||\n is.nonEmptyObject(packageJson.devEngines?.packageManager),\n workspacesPackages,\n npmrcFileName, // store npmrc file name so we can later tell if it came from the workspace or not\n },\n skipInstalls,\n extractedConstraints,\n };\n}\n\nexport async function extractAllPackageFiles(\n config: ExtractConfig,\n packageFiles: string[],\n): Promise<PackageFile<NpmManagerData>[]> {\n const npmFiles: PackageFile<NpmManagerData>[] = [];\n for (const packageFile of packageFiles) {\n const content = await readLocalFile(packageFile, 'utf8');\n if (content) {\n // pnpm workspace files are their own package file, defined via managerFilePatterns.\n // We duck-type the content here, to allow users to rename the file itself.\n const parsedPnpmWorkspaceYaml = tryParsePnpmWorkspaceYaml(content);\n if (parsedPnpmWorkspaceYaml.success) {\n logger.trace(\n { packageFile },\n `Extracting file as a pnpm workspace YAML file`,\n );\n const deps = await extractPnpmWorkspaceFile(\n parsedPnpmWorkspaceYaml.data,\n packageFile,\n );\n if (deps) {\n npmFiles.push({\n ...deps,\n packageFile,\n });\n }\n } else {\n if (packageFile.endsWith('json')) {\n logger.trace({ packageFile }, `Extracting as a package.json file`);\n\n const deps = await extractPackageFile(content, packageFile, config);\n if (deps) {\n npmFiles.push({\n ...deps,\n packageFile,\n });\n }\n } else {\n logger.trace({ packageFile }, `Extracting as a .yarnrc.yml file`);\n\n const yarnConfig = loadConfigFromYarnrcYml(content);\n\n if (yarnConfig?.catalogs || yarnConfig?.catalog) {\n const hasPackageManagerResult = await hasPackageManager(\n upath.dirname(packageFile),\n );\n const catalogsDeps = await extractYarnCatalogs(\n { catalog: yarnConfig.catalog, catalogs: yarnConfig.catalogs },\n packageFile,\n hasPackageManagerResult,\n );\n if (catalogsDeps) {\n npmFiles.push({\n ...catalogsDeps,\n packageFile,\n });\n }\n }\n }\n }\n } else {\n logger.debug({ packageFile }, `No content found`);\n }\n }\n\n await postExtract(npmFiles);\n return npmFiles;\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/extract/index.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n isArray,\n isNonEmptyObject,\n isNonEmptyStringAndNotWhitespace,\n isString,\n} from '@sindresorhus/is';\nimport upath from 'upath';\nimport { GlobalConfig } from '../../../../config/global';\nimport { logger } from '../../../../logger';\nimport {\n findLocalSiblingOrParent,\n getSiblingFileName,\n readLocalFile,\n} from '../../../../util/fs';\nimport { newlineRegex, regEx } from '../../../../util/regex';\nimport { NpmDatasource } from '../../../datasource/npm';\n\nimport type {\n ExtractConfig,\n PackageFile,\n PackageFileContent,\n} from '../../types';\nimport type { YarnConfig } from '../schema';\nimport type { NpmLockFiles, NpmManagerData } from '../types';\nimport { getExtractedConstraints } from './common/dependency';\nimport { extractPackageJson, hasPackageManager } from './common/package-file';\nimport { extractPnpmWorkspaceFile, tryParsePnpmWorkspaceYaml } from './pnpm';\nimport { postExtract } from './post';\nimport type { NpmPackage } from './types';\nimport { extractYarnCatalogs, isZeroInstall } from './yarn';\nimport {\n loadConfigFromLegacyYarnrc,\n loadConfigFromYarnrcYml,\n resolveRegistryUrl,\n} from './yarnrc';\n\nfunction hasMultipleLockFiles(lockFiles: NpmLockFiles): boolean {\n return Object.values(lockFiles).filter(isString).length > 1;\n}\n\nexport async function extractPackageFile(\n content: string,\n packageFile: string,\n config: ExtractConfig,\n): Promise<PackageFileContent<NpmManagerData> | null> {\n logger.trace(`npm.extractPackageFile(${packageFile})`);\n logger.trace({ content });\n let packageJson: NpmPackage;\n try {\n packageJson = JSON.parse(content);\n } catch {\n logger.debug({ packageFile }, `Invalid JSON`);\n return null;\n }\n\n const res = extractPackageJson(packageJson, packageFile);\n if (!res) {\n return null;\n }\n\n let workspacesPackages: string[] | undefined;\n if (isArray(packageJson.workspaces)) {\n workspacesPackages = packageJson.workspaces;\n } else {\n workspacesPackages = packageJson.workspaces?.packages;\n }\n\n const lockFiles: NpmLockFiles = {\n yarnLock: 'yarn.lock',\n packageLock: 'package-lock.json',\n shrinkwrapJson: 'npm-shrinkwrap.json',\n pnpmShrinkwrap: 'pnpm-lock.yaml',\n };\n\n for (const [key, val] of Object.entries(lockFiles) as [\n 'yarnLock' | 'packageLock' | 'shrinkwrapJson' | 'pnpmShrinkwrap',\n string,\n ][]) {\n const filePath = getSiblingFileName(packageFile, val);\n if (await readLocalFile(filePath, 'utf8')) {\n lockFiles[key] = filePath;\n } else {\n lockFiles[key] = undefined;\n }\n }\n lockFiles.npmLock = lockFiles.packageLock ?? lockFiles.shrinkwrapJson;\n delete lockFiles.packageLock;\n delete lockFiles.shrinkwrapJson;\n\n if (hasMultipleLockFiles(lockFiles)) {\n logger.warn(\n 'Updating multiple npm lock files is deprecated and support will be removed in future versions.',\n );\n }\n\n let npmrc: string | undefined;\n const npmrcFileName = await findLocalSiblingOrParent(packageFile, '.npmrc');\n if (npmrcFileName) {\n let repoNpmrc = await readLocalFile(npmrcFileName, 'utf8');\n if (isString(repoNpmrc)) {\n if (isString(config.npmrc) && !config.npmrcMerge) {\n logger.debug(\n { npmrcFileName },\n 'Repo .npmrc file is ignored due to config.npmrc with config.npmrcMerge=false',\n );\n npmrc = config.npmrc;\n } else {\n npmrc = config.npmrc ?? '';\n if (npmrc.length) {\n if (!npmrc.endsWith('\\n')) {\n npmrc += '\\n';\n }\n }\n if (repoNpmrc?.includes('package-lock')) {\n logger.debug('Stripping package-lock setting from .npmrc');\n repoNpmrc = repoNpmrc.replace(\n regEx(/(^|\\n)package-lock.*?(\\n|$)/g),\n '\\n',\n );\n }\n if (repoNpmrc.includes('=${') && !GlobalConfig.get('exposeAllEnv')) {\n logger.debug(\n { npmrcFileName },\n 'Stripping .npmrc file of lines with variables',\n );\n repoNpmrc = repoNpmrc\n .split(newlineRegex)\n .filter((line) => !line.includes('=${'))\n .join('\\n');\n }\n npmrc += repoNpmrc;\n }\n }\n } else if (isString(config.npmrc)) {\n npmrc = config.npmrc;\n }\n\n const yarnrcYmlFileName = await findLocalSiblingOrParent(\n packageFile,\n '.yarnrc.yml',\n );\n const yarnZeroInstall = yarnrcYmlFileName\n ? await isZeroInstall(yarnrcYmlFileName)\n : false;\n\n let yarnrcConfig: YarnConfig | null = null;\n const repoYarnrcYml = yarnrcYmlFileName\n ? await readLocalFile(yarnrcYmlFileName, 'utf8')\n : null;\n if (isString(repoYarnrcYml) && repoYarnrcYml.trim().length > 0) {\n yarnrcConfig = loadConfigFromYarnrcYml(repoYarnrcYml);\n }\n\n const legacyYarnrcFileName = await findLocalSiblingOrParent(\n packageFile,\n '.yarnrc',\n );\n const repoLegacyYarnrc = legacyYarnrcFileName\n ? await readLocalFile(legacyYarnrcFileName, 'utf8')\n : null;\n if (isString(repoLegacyYarnrc) && repoLegacyYarnrc.trim().length > 0) {\n yarnrcConfig = loadConfigFromLegacyYarnrc(repoLegacyYarnrc);\n }\n\n if (res.deps.length === 0) {\n logger.debug('Package file has no deps');\n if (\n !(\n !!res.managerData?.packageJsonName ||\n !!res.packageFileVersion ||\n !!npmrc ||\n workspacesPackages\n )\n ) {\n logger.debug('Skipping file');\n return null;\n }\n }\n let skipInstalls = config.skipInstalls;\n if (skipInstalls === null) {\n const hasFancyRefs = !!res.deps.some(\n (dep) =>\n !!dep.currentValue?.startsWith('file:') ||\n !!dep.currentValue?.startsWith('npm:'),\n );\n if ((hasFancyRefs && !!lockFiles.npmLock) || yarnZeroInstall) {\n // https://github.com/npm/cli/issues/1432\n // Explanation:\n // - npm install --package-lock-only is buggy for transitive deps in file: and npm: references\n // - So we set skipInstalls to false if file: or npm: refs are found *and* the user hasn't explicitly set the value already\n // - Also, do not skip install if Yarn zero-install is used\n logger.debug('Automatically setting skipInstalls to false');\n skipInstalls = false;\n } else {\n skipInstalls = true;\n }\n }\n\n const extractedConstraints = getExtractedConstraints(res.deps);\n\n if (yarnrcConfig) {\n for (const dep of res.deps) {\n if (dep.depName) {\n const registryUrlFromYarnrcConfig = resolveRegistryUrl(\n dep.packageName ?? dep.depName,\n yarnrcConfig,\n );\n if (\n registryUrlFromYarnrcConfig &&\n dep.datasource === NpmDatasource.id\n ) {\n dep.registryUrls = [registryUrlFromYarnrcConfig];\n }\n }\n }\n }\n\n return {\n ...res,\n npmrc,\n managerData: {\n ...res.managerData,\n ...lockFiles,\n yarnZeroInstall,\n hasPackageManager:\n isNonEmptyStringAndNotWhitespace(packageJson.packageManager) ||\n isNonEmptyObject(packageJson.devEngines?.packageManager),\n workspacesPackages,\n npmrcFileName, // store npmrc file name so we can later tell if it came from the workspace or not\n },\n skipInstalls,\n extractedConstraints,\n };\n}\n\nexport async function extractAllPackageFiles(\n config: ExtractConfig,\n packageFiles: string[],\n): Promise<PackageFile<NpmManagerData>[]> {\n const npmFiles: PackageFile<NpmManagerData>[] = [];\n for (const packageFile of packageFiles) {\n const content = await readLocalFile(packageFile, 'utf8');\n if (content) {\n // pnpm workspace files are their own package file, defined via managerFilePatterns.\n // We duck-type the content here, to allow users to rename the file itself.\n const parsedPnpmWorkspaceYaml = tryParsePnpmWorkspaceYaml(content);\n if (parsedPnpmWorkspaceYaml.success) {\n logger.trace(\n { packageFile },\n `Extracting file as a pnpm workspace YAML file`,\n );\n const deps = await extractPnpmWorkspaceFile(\n parsedPnpmWorkspaceYaml.data,\n packageFile,\n );\n if (deps) {\n npmFiles.push({\n ...deps,\n packageFile,\n });\n }\n } else {\n if (packageFile.endsWith('json')) {\n logger.trace({ packageFile }, `Extracting as a package.json file`);\n\n const deps = await extractPackageFile(content, packageFile, config);\n if (deps) {\n npmFiles.push({\n ...deps,\n packageFile,\n });\n }\n } else {\n logger.trace({ packageFile }, `Extracting as a .yarnrc.yml file`);\n\n const yarnConfig = loadConfigFromYarnrcYml(content);\n\n if (yarnConfig?.catalogs || yarnConfig?.catalog) {\n const hasPackageManagerResult = await hasPackageManager(\n upath.dirname(packageFile),\n );\n const catalogsDeps = await extractYarnCatalogs(\n { catalog: yarnConfig.catalog, catalogs: yarnConfig.catalogs },\n packageFile,\n hasPackageManagerResult,\n );\n if (catalogsDeps) {\n npmFiles.push({\n ...catalogsDeps,\n packageFile,\n });\n }\n }\n }\n }\n } else {\n logger.debug({ packageFile }, `No content found`);\n }\n }\n\n await postExtract(npmFiles);\n return npmFiles;\n}\n"]}
@@ -7,7 +7,7 @@ exports.getPnpmLock = getPnpmLock;
7
7
  exports.tryParsePnpmWorkspaceYaml = tryParsePnpmWorkspaceYaml;
8
8
  exports.extractPnpmWorkspaceFile = extractPnpmWorkspaceFile;
9
9
  const tslib_1 = require("tslib");
10
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
10
+ const is_1 = require("@sindresorhus/is");
11
11
  const find_packages_1 = require("find-packages");
12
12
  const upath_1 = tslib_1.__importDefault(require("upath"));
13
13
  const global_1 = require("../../../../config/global");
@@ -17,14 +17,14 @@ const yaml_1 = require("../../../../util/yaml");
17
17
  const schema_1 = require("../schema");
18
18
  const catalogs_1 = require("./common/catalogs");
19
19
  function isPnpmLockfile(obj) {
20
- return is_1.default.plainObject(obj) && 'lockfileVersion' in obj;
20
+ return (0, is_1.isPlainObject)(obj) && 'lockfileVersion' in obj;
21
21
  }
22
22
  async function extractPnpmFilters(fileName) {
23
23
  try {
24
24
  // TODO: use schema (#9610,#22198)
25
25
  const contents = (0, yaml_1.parseSingleYaml)((await (0, fs_1.readLocalFile)(fileName, 'utf8')));
26
26
  if (!Array.isArray(contents.packages) ||
27
- !contents.packages.every((item) => is_1.default.string(item))) {
27
+ !contents.packages.every((item) => (0, is_1.isString)(item))) {
28
28
  logger_1.logger.trace({ fileName }, 'Failed to find required "packages" array in pnpm-workspace.yaml');
29
29
  return undefined;
30
30
  }
@@ -106,7 +106,7 @@ async function getPnpmLock(filePath) {
106
106
  }
107
107
  logger_1.logger.trace({ lockParsed }, 'pnpm lockfile parsed');
108
108
  // field lockfileVersion is type string in lockfileVersion = 6 and type number in < 6
109
- const lockfileVersion = is_1.default.number(lockParsed.lockfileVersion)
109
+ const lockfileVersion = (0, is_1.isNumber)(lockParsed.lockfileVersion)
110
110
  ? lockParsed.lockfileVersion
111
111
  : parseFloat(lockParsed.lockfileVersion);
112
112
  const lockedVersions = getLockedVersions(lockParsed);
@@ -124,7 +124,7 @@ async function getPnpmLock(filePath) {
124
124
  }
125
125
  function getLockedCatalogVersions(lockParsed) {
126
126
  const lockedVersions = {};
127
- if (is_1.default.nonEmptyObject(lockParsed.catalogs)) {
127
+ if ((0, is_1.isNonEmptyObject)(lockParsed.catalogs)) {
128
128
  for (const [catalog, dependencies] of Object.entries(lockParsed.catalogs)) {
129
129
  const versions = {};
130
130
  for (const [dep, versionCarrier] of Object.entries(dependencies)) {
@@ -138,7 +138,7 @@ function getLockedCatalogVersions(lockParsed) {
138
138
  function getLockedVersions(lockParsed) {
139
139
  const lockedVersions = {};
140
140
  // monorepo
141
- if (is_1.default.nonEmptyObject(lockParsed.importers)) {
141
+ if ((0, is_1.isNonEmptyObject)(lockParsed.importers)) {
142
142
  for (const [importer, imports] of Object.entries(lockParsed.importers)) {
143
143
  lockedVersions[importer] = getLockedDependencyVersions(imports);
144
144
  }
@@ -160,7 +160,7 @@ function getLockedDependencyVersions(obj) {
160
160
  res[depType] = {};
161
161
  for (const [pkgName, versionCarrier] of Object.entries(obj[depType] ?? {})) {
162
162
  let version;
163
- if (is_1.default.object(versionCarrier)) {
163
+ if ((0, is_1.isObject)(versionCarrier)) {
164
164
  version = versionCarrier.version;
165
165
  }
166
166
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"pnpm.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/extract/pnpm.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { findPackages } from 'find-packages';\nimport upath from 'upath';\nimport type { z } from 'zod';\nimport { GlobalConfig } from '../../../../config/global';\nimport { logger } from '../../../../logger';\nimport {\n findLocalSiblingOrParent,\n getSiblingFileName,\n localPathExists,\n readLocalFile,\n} from '../../../../util/fs';\nimport { parseSingleYaml } from '../../../../util/yaml';\nimport type { PackageFile, PackageFileContent } from '../../types';\nimport type { PnpmDependency, PnpmLockFile } from '../post-update/types';\nimport type { PnpmCatalogs } from '../schema';\nimport { PnpmWorkspaceFile } from '../schema';\nimport type { NpmManagerData } from '../types';\nimport { extractCatalogDeps } from './common/catalogs';\nimport type { Catalog, LockFile } from './types';\n\nfunction isPnpmLockfile(obj: any): obj is PnpmLockFile {\n return is.plainObject(obj) && 'lockfileVersion' in obj;\n}\n\nexport async function extractPnpmFilters(\n fileName: string,\n): Promise<string[] | undefined> {\n try {\n // TODO: use schema (#9610,#22198)\n const contents = parseSingleYaml<PnpmWorkspaceFile>(\n (await readLocalFile(fileName, 'utf8'))!,\n );\n if (\n !Array.isArray(contents.packages) ||\n !contents.packages.every((item) => is.string(item))\n ) {\n logger.trace(\n { fileName },\n 'Failed to find required \"packages\" array in pnpm-workspace.yaml',\n );\n return undefined;\n }\n return contents.packages;\n } catch (err) {\n logger.trace({ fileName, err }, 'Failed to parse pnpm-workspace.yaml');\n return undefined;\n }\n}\n\nexport async function findPnpmWorkspace(\n packageFile: string,\n): Promise<{ lockFilePath: string; workspaceYamlPath: string } | null> {\n // search for pnpm-workspace.yaml\n const workspaceYamlPath = await findLocalSiblingOrParent(\n packageFile,\n 'pnpm-workspace.yaml',\n );\n if (!workspaceYamlPath) {\n logger.trace(\n { packageFile },\n 'Failed to locate pnpm-workspace.yaml in a parent directory.',\n );\n return null;\n }\n\n // search for pnpm-lock.yaml next to pnpm-workspace.yaml\n const pnpmLockfilePath = getSiblingFileName(\n workspaceYamlPath,\n 'pnpm-lock.yaml',\n );\n if (!(await localPathExists(pnpmLockfilePath))) {\n logger.trace(\n { workspaceYamlPath, packageFile },\n 'Failed to find a pnpm-lock.yaml sibling for the workspace.',\n );\n return null;\n }\n\n return {\n lockFilePath: pnpmLockfilePath,\n workspaceYamlPath,\n };\n}\n\nexport async function detectPnpmWorkspaces(\n packageFiles: Partial<PackageFile<NpmManagerData>>[],\n): Promise<void> {\n logger.debug(`Detecting pnpm Workspaces`);\n const packagePathCache = new Map<string, string[] | null>();\n\n for (const p of packageFiles) {\n const { packageFile, managerData } = p;\n const pnpmShrinkwrap = managerData?.pnpmShrinkwrap;\n\n // check if pnpmShrinkwrap-file has already been provided\n if (pnpmShrinkwrap) {\n logger.trace(\n { packageFile, pnpmShrinkwrap },\n 'Found an existing pnpm shrinkwrap file; skipping pnpm monorepo check.',\n );\n continue;\n }\n\n // search for corresponding pnpm workspace\n // TODO #22198\n const pnpmWorkspace = await findPnpmWorkspace(packageFile!);\n if (pnpmWorkspace === null) {\n continue;\n }\n const { workspaceYamlPath, lockFilePath } = pnpmWorkspace;\n\n // check if package matches workspace filter\n if (!packagePathCache.has(workspaceYamlPath)) {\n const filters = await extractPnpmFilters(workspaceYamlPath);\n const localDir = GlobalConfig.get('localDir');\n const packages = await findPackages(\n upath.dirname(upath.join(localDir, workspaceYamlPath)),\n {\n patterns: filters,\n // Match the ignores used in @pnpm/find-workspace-packages\n ignore: ['**/node_modules/**', '**/bower_components/**'],\n },\n );\n const packagePaths = packages.map((pkg) =>\n upath.join(pkg.dir, 'package.json'),\n );\n packagePathCache.set(workspaceYamlPath, packagePaths);\n }\n const packagePaths = packagePathCache.get(workspaceYamlPath);\n\n const isPackageInWorkspace = packagePaths?.some((p) =>\n p.endsWith(packageFile!),\n );\n\n if (isPackageInWorkspace) {\n p.managerData ??= {};\n p.managerData.pnpmShrinkwrap = lockFilePath;\n } else {\n logger.trace(\n { packageFile, workspaceYamlPath },\n `Didn't find the package in the pnpm workspace`,\n );\n }\n }\n}\n\nexport async function getPnpmLock(filePath: string): Promise<LockFile> {\n try {\n const pnpmLockRaw = await readLocalFile(filePath, 'utf8');\n if (!pnpmLockRaw) {\n throw new Error('Unable to read pnpm-lock.yaml');\n }\n\n const lockParsed = parseSingleYaml(pnpmLockRaw);\n if (!isPnpmLockfile(lockParsed)) {\n throw new Error('Invalid or empty lockfile');\n }\n logger.trace({ lockParsed }, 'pnpm lockfile parsed');\n\n // field lockfileVersion is type string in lockfileVersion = 6 and type number in < 6\n const lockfileVersion: number = is.number(lockParsed.lockfileVersion)\n ? lockParsed.lockfileVersion\n : parseFloat(lockParsed.lockfileVersion);\n\n const lockedVersions = getLockedVersions(lockParsed);\n const lockedCatalogVersions = getLockedCatalogVersions(lockParsed);\n\n return {\n lockedVersionsWithPath: lockedVersions,\n lockedVersionsWithCatalog: lockedCatalogVersions,\n lockfileVersion,\n };\n } catch (err) {\n logger.debug({ filePath, err }, 'Warning: Exception parsing pnpm lockfile');\n return { lockedVersions: {} };\n }\n}\n\nfunction getLockedCatalogVersions(\n lockParsed: PnpmLockFile,\n): Record<string, Record<string, string>> {\n const lockedVersions: Record<string, Record<string, string>> = {};\n\n if (is.nonEmptyObject(lockParsed.catalogs)) {\n for (const [catalog, dependencies] of Object.entries(lockParsed.catalogs)) {\n const versions: Record<string, string> = {};\n\n for (const [dep, versionCarrier] of Object.entries(dependencies)) {\n versions[dep] = versionCarrier.version;\n }\n\n lockedVersions[catalog] = versions;\n }\n }\n\n return lockedVersions;\n}\n\nfunction getLockedVersions(\n lockParsed: PnpmLockFile,\n): Record<string, Record<string, Record<string, string>>> {\n const lockedVersions: Record<\n string,\n Record<string, Record<string, string>>\n > = {};\n\n // monorepo\n if (is.nonEmptyObject(lockParsed.importers)) {\n for (const [importer, imports] of Object.entries(lockParsed.importers)) {\n lockedVersions[importer] = getLockedDependencyVersions(imports);\n }\n }\n // normal repo\n else {\n lockedVersions['.'] = getLockedDependencyVersions(lockParsed);\n }\n\n return lockedVersions;\n}\n\nfunction getLockedDependencyVersions(\n obj: PnpmLockFile | Record<string, PnpmDependency>,\n): Record<string, Record<string, string>> {\n const dependencyTypes = [\n 'dependencies',\n 'devDependencies',\n 'optionalDependencies',\n ] as const;\n\n const res: Record<string, Record<string, string>> = {};\n for (const depType of dependencyTypes) {\n res[depType] = {};\n for (const [pkgName, versionCarrier] of Object.entries(\n obj[depType] ?? {},\n )) {\n let version: string;\n if (is.object(versionCarrier)) {\n version = versionCarrier.version;\n } else {\n version = versionCarrier;\n }\n\n const pkgVersion = version.split('(')[0].trim();\n res[depType][pkgName] = pkgVersion;\n }\n }\n\n return res;\n}\n\nexport function tryParsePnpmWorkspaceYaml(content: string):\n | {\n success: true;\n data: PnpmWorkspaceFile;\n }\n | { success: false; data?: never } {\n try {\n const data = parseSingleYaml(content, {\n customSchema: PnpmWorkspaceFile,\n });\n return { success: true, data };\n } catch {\n return { success: false };\n }\n}\n\ntype PnpmCatalogs = z.TypeOf<typeof PnpmCatalogs>;\n\nexport async function extractPnpmWorkspaceFile(\n catalogs: PnpmCatalogs,\n packageFile: string,\n): Promise<PackageFileContent<NpmManagerData> | null> {\n logger.trace(`pnpm.extractPnpmWorkspaceFile(${packageFile})`);\n\n const pnpmCatalogs = pnpmCatalogsToArray(catalogs);\n\n const deps = extractCatalogDeps(pnpmCatalogs);\n\n let pnpmShrinkwrap;\n const filePath = getSiblingFileName(packageFile, 'pnpm-lock.yaml');\n\n if (await readLocalFile(filePath, 'utf8')) {\n pnpmShrinkwrap = filePath;\n }\n\n return {\n deps,\n managerData: {\n pnpmShrinkwrap,\n },\n };\n}\n\nfunction pnpmCatalogsToArray({\n catalog: defaultCatalogDeps,\n catalogs: namedCatalogs,\n}: PnpmCatalogs): Catalog[] {\n const result: Catalog[] = [];\n\n if (defaultCatalogDeps !== undefined) {\n result.push({ name: 'default', dependencies: defaultCatalogDeps });\n }\n\n if (!namedCatalogs) {\n return result;\n }\n\n for (const [name, dependencies] of Object.entries(namedCatalogs)) {\n result.push({\n name,\n dependencies,\n });\n }\n\n return result;\n}\n"]}
1
+ {"version":3,"file":"pnpm.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/extract/pnpm.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n isNonEmptyObject,\n isNumber,\n isObject,\n isPlainObject,\n isString,\n} from '@sindresorhus/is';\nimport { findPackages } from 'find-packages';\nimport upath from 'upath';\nimport type { z } from 'zod';\nimport { GlobalConfig } from '../../../../config/global';\nimport { logger } from '../../../../logger';\nimport {\n findLocalSiblingOrParent,\n getSiblingFileName,\n localPathExists,\n readLocalFile,\n} from '../../../../util/fs';\nimport { parseSingleYaml } from '../../../../util/yaml';\nimport type { PackageFile, PackageFileContent } from '../../types';\nimport type { PnpmDependency, PnpmLockFile } from '../post-update/types';\nimport type { PnpmCatalogs } from '../schema';\nimport { PnpmWorkspaceFile } from '../schema';\nimport type { NpmManagerData } from '../types';\nimport { extractCatalogDeps } from './common/catalogs';\nimport type { Catalog, LockFile } from './types';\n\nfunction isPnpmLockfile(obj: any): obj is PnpmLockFile {\n return isPlainObject(obj) && 'lockfileVersion' in obj;\n}\n\nexport async function extractPnpmFilters(\n fileName: string,\n): Promise<string[] | undefined> {\n try {\n // TODO: use schema (#9610,#22198)\n const contents = parseSingleYaml<PnpmWorkspaceFile>(\n (await readLocalFile(fileName, 'utf8'))!,\n );\n if (\n !Array.isArray(contents.packages) ||\n !contents.packages.every((item) => isString(item))\n ) {\n logger.trace(\n { fileName },\n 'Failed to find required \"packages\" array in pnpm-workspace.yaml',\n );\n return undefined;\n }\n return contents.packages;\n } catch (err) {\n logger.trace({ fileName, err }, 'Failed to parse pnpm-workspace.yaml');\n return undefined;\n }\n}\n\nexport async function findPnpmWorkspace(\n packageFile: string,\n): Promise<{ lockFilePath: string; workspaceYamlPath: string } | null> {\n // search for pnpm-workspace.yaml\n const workspaceYamlPath = await findLocalSiblingOrParent(\n packageFile,\n 'pnpm-workspace.yaml',\n );\n if (!workspaceYamlPath) {\n logger.trace(\n { packageFile },\n 'Failed to locate pnpm-workspace.yaml in a parent directory.',\n );\n return null;\n }\n\n // search for pnpm-lock.yaml next to pnpm-workspace.yaml\n const pnpmLockfilePath = getSiblingFileName(\n workspaceYamlPath,\n 'pnpm-lock.yaml',\n );\n if (!(await localPathExists(pnpmLockfilePath))) {\n logger.trace(\n { workspaceYamlPath, packageFile },\n 'Failed to find a pnpm-lock.yaml sibling for the workspace.',\n );\n return null;\n }\n\n return {\n lockFilePath: pnpmLockfilePath,\n workspaceYamlPath,\n };\n}\n\nexport async function detectPnpmWorkspaces(\n packageFiles: Partial<PackageFile<NpmManagerData>>[],\n): Promise<void> {\n logger.debug(`Detecting pnpm Workspaces`);\n const packagePathCache = new Map<string, string[] | null>();\n\n for (const p of packageFiles) {\n const { packageFile, managerData } = p;\n const pnpmShrinkwrap = managerData?.pnpmShrinkwrap;\n\n // check if pnpmShrinkwrap-file has already been provided\n if (pnpmShrinkwrap) {\n logger.trace(\n { packageFile, pnpmShrinkwrap },\n 'Found an existing pnpm shrinkwrap file; skipping pnpm monorepo check.',\n );\n continue;\n }\n\n // search for corresponding pnpm workspace\n // TODO #22198\n const pnpmWorkspace = await findPnpmWorkspace(packageFile!);\n if (pnpmWorkspace === null) {\n continue;\n }\n const { workspaceYamlPath, lockFilePath } = pnpmWorkspace;\n\n // check if package matches workspace filter\n if (!packagePathCache.has(workspaceYamlPath)) {\n const filters = await extractPnpmFilters(workspaceYamlPath);\n const localDir = GlobalConfig.get('localDir');\n const packages = await findPackages(\n upath.dirname(upath.join(localDir, workspaceYamlPath)),\n {\n patterns: filters,\n // Match the ignores used in @pnpm/find-workspace-packages\n ignore: ['**/node_modules/**', '**/bower_components/**'],\n },\n );\n const packagePaths = packages.map((pkg) =>\n upath.join(pkg.dir, 'package.json'),\n );\n packagePathCache.set(workspaceYamlPath, packagePaths);\n }\n const packagePaths = packagePathCache.get(workspaceYamlPath);\n\n const isPackageInWorkspace = packagePaths?.some((p) =>\n p.endsWith(packageFile!),\n );\n\n if (isPackageInWorkspace) {\n p.managerData ??= {};\n p.managerData.pnpmShrinkwrap = lockFilePath;\n } else {\n logger.trace(\n { packageFile, workspaceYamlPath },\n `Didn't find the package in the pnpm workspace`,\n );\n }\n }\n}\n\nexport async function getPnpmLock(filePath: string): Promise<LockFile> {\n try {\n const pnpmLockRaw = await readLocalFile(filePath, 'utf8');\n if (!pnpmLockRaw) {\n throw new Error('Unable to read pnpm-lock.yaml');\n }\n\n const lockParsed = parseSingleYaml(pnpmLockRaw);\n if (!isPnpmLockfile(lockParsed)) {\n throw new Error('Invalid or empty lockfile');\n }\n logger.trace({ lockParsed }, 'pnpm lockfile parsed');\n\n // field lockfileVersion is type string in lockfileVersion = 6 and type number in < 6\n const lockfileVersion: number = isNumber(lockParsed.lockfileVersion)\n ? lockParsed.lockfileVersion\n : parseFloat(lockParsed.lockfileVersion);\n\n const lockedVersions = getLockedVersions(lockParsed);\n const lockedCatalogVersions = getLockedCatalogVersions(lockParsed);\n\n return {\n lockedVersionsWithPath: lockedVersions,\n lockedVersionsWithCatalog: lockedCatalogVersions,\n lockfileVersion,\n };\n } catch (err) {\n logger.debug({ filePath, err }, 'Warning: Exception parsing pnpm lockfile');\n return { lockedVersions: {} };\n }\n}\n\nfunction getLockedCatalogVersions(\n lockParsed: PnpmLockFile,\n): Record<string, Record<string, string>> {\n const lockedVersions: Record<string, Record<string, string>> = {};\n\n if (isNonEmptyObject(lockParsed.catalogs)) {\n for (const [catalog, dependencies] of Object.entries(lockParsed.catalogs)) {\n const versions: Record<string, string> = {};\n\n for (const [dep, versionCarrier] of Object.entries(dependencies)) {\n versions[dep] = versionCarrier.version;\n }\n\n lockedVersions[catalog] = versions;\n }\n }\n\n return lockedVersions;\n}\n\nfunction getLockedVersions(\n lockParsed: PnpmLockFile,\n): Record<string, Record<string, Record<string, string>>> {\n const lockedVersions: Record<\n string,\n Record<string, Record<string, string>>\n > = {};\n\n // monorepo\n if (isNonEmptyObject(lockParsed.importers)) {\n for (const [importer, imports] of Object.entries(lockParsed.importers)) {\n lockedVersions[importer] = getLockedDependencyVersions(imports);\n }\n }\n // normal repo\n else {\n lockedVersions['.'] = getLockedDependencyVersions(lockParsed);\n }\n\n return lockedVersions;\n}\n\nfunction getLockedDependencyVersions(\n obj: PnpmLockFile | Record<string, PnpmDependency>,\n): Record<string, Record<string, string>> {\n const dependencyTypes = [\n 'dependencies',\n 'devDependencies',\n 'optionalDependencies',\n ] as const;\n\n const res: Record<string, Record<string, string>> = {};\n for (const depType of dependencyTypes) {\n res[depType] = {};\n for (const [pkgName, versionCarrier] of Object.entries(\n obj[depType] ?? {},\n )) {\n let version: string;\n if (isObject(versionCarrier)) {\n version = versionCarrier.version;\n } else {\n version = versionCarrier;\n }\n\n const pkgVersion = version.split('(')[0].trim();\n res[depType][pkgName] = pkgVersion;\n }\n }\n\n return res;\n}\n\nexport function tryParsePnpmWorkspaceYaml(content: string):\n | {\n success: true;\n data: PnpmWorkspaceFile;\n }\n | { success: false; data?: never } {\n try {\n const data = parseSingleYaml(content, {\n customSchema: PnpmWorkspaceFile,\n });\n return { success: true, data };\n } catch {\n return { success: false };\n }\n}\n\ntype PnpmCatalogs = z.TypeOf<typeof PnpmCatalogs>;\n\nexport async function extractPnpmWorkspaceFile(\n catalogs: PnpmCatalogs,\n packageFile: string,\n): Promise<PackageFileContent<NpmManagerData> | null> {\n logger.trace(`pnpm.extractPnpmWorkspaceFile(${packageFile})`);\n\n const pnpmCatalogs = pnpmCatalogsToArray(catalogs);\n\n const deps = extractCatalogDeps(pnpmCatalogs);\n\n let pnpmShrinkwrap;\n const filePath = getSiblingFileName(packageFile, 'pnpm-lock.yaml');\n\n if (await readLocalFile(filePath, 'utf8')) {\n pnpmShrinkwrap = filePath;\n }\n\n return {\n deps,\n managerData: {\n pnpmShrinkwrap,\n },\n };\n}\n\nfunction pnpmCatalogsToArray({\n catalog: defaultCatalogDeps,\n catalogs: namedCatalogs,\n}: PnpmCatalogs): Catalog[] {\n const result: Catalog[] = [];\n\n if (defaultCatalogDeps !== undefined) {\n result.push({ name: 'default', dependencies: defaultCatalogDeps });\n }\n\n if (!namedCatalogs) {\n return result;\n }\n\n for (const [name, dependencies] of Object.entries(namedCatalogs)) {\n result.push({\n name,\n dependencies,\n });\n }\n\n return result;\n}\n"]}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getLockedVersions = getLockedVersions;
4
4
  const tslib_1 = require("tslib");
5
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
5
+ const is_1 = require("@sindresorhus/is");
6
6
  const semver_1 = tslib_1.__importDefault(require("semver"));
7
7
  const upath_1 = tslib_1.__importDefault(require("upath"));
8
8
  const logger_1 = require("../../../../../logger");
@@ -129,14 +129,14 @@ async function getLockedVersions(packageFiles) {
129
129
  ?.version;
130
130
  if (catalogName) {
131
131
  const lockedVersion = semver_1.default.valid(lockFileCache[pnpmShrinkwrap].lockedVersionsWithCatalog?.[catalogName]?.[depName]);
132
- if (is_1.default.string(lockedVersion)) {
132
+ if ((0, is_1.isString)(lockedVersion)) {
133
133
  dep.lockedVersion = lockedVersion;
134
134
  }
135
135
  }
136
136
  else {
137
137
  // TODO: types (#22198)
138
138
  const lockedVersion = semver_1.default.valid(lockFileCache[pnpmShrinkwrap].lockedVersionsWithPath?.[relativeDir]?.[depType]?.[depName]);
139
- if (is_1.default.string(lockedVersion)) {
139
+ if ((0, is_1.isString)(lockedVersion)) {
140
140
  dep.lockedVersion = lockedVersion;
141
141
  }
142
142
  }
@@ -1 +1 @@
1
- {"version":3,"file":"locked-versions.js","sourceRoot":"","sources":["../../../../../../lib/modules/manager/npm/extract/post/locked-versions.ts"],"names":[],"mappings":";;AAaA,8CAmKC;;AAhLD,kEAAkC;AAClC,4DAA4B;AAC5B,0DAA0B;AAC1B,kDAA+C;AAG/C,gCAAoC;AACpC,kCAAsC;AAEtC,kCAA8D;AAE9D,MAAM,oBAAoB,GAAG,+BAA+B,CAAC;AAEtD,KAAK,UAAU,iBAAiB,CACrC,YAA2C;IAE3C,MAAM,aAAa,GAA6B,EAAE,CAAC;IACnD,eAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACxC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,WAAW,CAAC;QACzC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,WAAW,CAAC;QAC1D,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,IAAI,QAAQ,EAAE,CAAC;YACb,eAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC/B,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,eAAM,CAAC,KAAK,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;gBAC/C,aAAa,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAA,kBAAW,EAAC,QAAQ,CAAC,CAAC;YACxD,CAAC;YACD,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC5C,IAAI,IAAwB,CAAC;YAC7B,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,IAAI,EAAE,CAAC;gBACxD,IAAI,GAAG,IAAA,6BAAsB,EAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzD,CAAC;YACD,IAAI,IAAI,EAAE,CAAC;gBACT,WAAW,CAAC,oBAAoB,KAAK,EAAE,CAAC;gBACxC,WAAW,CAAC,oBAAoB,CAAC,IAAI,GAAG,IAAI,CAAC;YAC/C,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;gBACnC,GAAG,CAAC,aAAa;oBACf,aAAa,CAAC,QAAQ,CAAC,CAAC,cAAc,EAAE;oBACtC,uBAAuB;oBACvB,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,YAAY,EAAE,CACrC,CAAC;gBACJ,IACE,CAAC,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,GAAG,CAAC,OAAO,KAAK,gBAAgB,CAAC;oBAC/D,GAAG,CAAC,OAAO,KAAK,MAAM;oBACtB,CAAC,OAAO,EACR,CAAC;oBACD,GAAG,CAAC,WAAW,GAAG,cAAc,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,EAAE,CAAC;YACnB,eAAM,CAAC,KAAK,CAAC,SAAS,OAAO,QAAQ,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;YAChE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5B,eAAM,CAAC,KAAK,CAAC,qBAAqB,GAAG,OAAO,CAAC,CAAC;gBAC9C,MAAM,KAAK,GAAG,MAAM,IAAA,gBAAU,EAAC,OAAO,CAAC,CAAC;gBACxC,oCAAoC;gBACpC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,eAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,6BAA6B,CAAC,CAAC;oBACxD,OAAO;gBACT,CAAC;gBACD,aAAa,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;YACjC,CAAC;YAED,MAAM,EAAE,eAAe,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YACnD,IAAI,GAAuB,CAAC;YAC5B,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;gBAC1B,IAAI,WAAW,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC;oBAC1C,0DAA0D;oBAC1D,IACE,gBAAM,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,oBAAoB,CAAC,GAAG,CAAC,EACjE,CAAC;wBACD,GAAG,GAAG,WAAW,CAAC,oBAAoB,CAAC,GAAG,GAAG,KAAK,CAAC;oBACrD,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,GAAG,GAAG,IAAI,CAAC;gBACb,CAAC;YACH,CAAC;iBAAM,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;gBACjC,IAAI,WAAW,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC;oBAC1C,sDAAsD;oBACtD,IACE,gBAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAChE,CAAC;wBACD,GAAG,GAAG,WAAW,CAAC,oBAAoB,CAAC,GAAG,GAAG,KAAK,CAAC;oBACrD,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,GAAG,GAAG,IAAI,CAAC;gBACb,CAAC;YACH,CAAC;iBAAM,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC;oBAC3C,GAAG,GAAG,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,eAAM,CAAC,IAAI,CACT,EAAE,eAAe,EAAE,OAAO,EAAE,EAC5B,wCAAwC,CACzC,CAAC;gBACF,OAAO;YACT,CAAC;YACD,IAAI,GAAG,EAAE,CAAC;gBACR,WAAW,CAAC,oBAAoB,KAAK,EAAE,CAAC;gBACxC,WAAW,CAAC,oBAAoB,CAAC,GAAG,GAAG,GAAG,CAAC;YAC7C,CAAC;YAED,MAAM,UAAU,GAAG,eAAK,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAC1D,MAAM,UAAU,GAAG,eAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC1C,MAAM,WAAW,GAAG,eAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAE3D,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;gBACnC,8DAA8D;gBAC9D,IACE,GAAG,CAAC,OAAO,KAAK,SAAS;oBACzB,GAAG,CAAC,OAAO,KAAK,gBAAgB;oBAChC,GAAG,CAAC,OAAO,KAAK,OAAO,EACvB,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,uBAAuB;gBACvB,IAAI,aAAa,GAAG,GAAG,CAAC,OAAQ,CAAC;gBACjC,IAAI,WAAW,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;oBACvC,aAAa,GAAG,GAAG,WAAW,iBAAiB,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC/D,CAAC;gBAED,GAAG,CAAC,aAAa,GAAG,gBAAM,CAAC,KAAK,CAC9B,aAAa,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC,aAAa,CAAC,CACtD,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,cAAc,EAAE,CAAC;YAC1B,eAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YACrC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC/B,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC;gBACnC,eAAM,CAAC,KAAK,CAAC,sBAAsB,cAAc,EAAE,CAAC,CAAC;gBACrD,aAAa,CAAC,cAAc,CAAC,GAAG,MAAM,IAAA,kBAAW,EAAC,cAAc,CAAC,CAAC;YACpE,CAAC;YAED,MAAM,UAAU,GAAG,eAAK,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAC1D,MAAM,WAAW,GAAG,eAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAClD,MAAM,WAAW,GAAG,eAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,GAAG,CAAC;YAEnE,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;gBACnC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;gBAEjC,MAAM,WAAW,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAQ,CAAC,EAAE,MAAM;oBAC7D,EAAE,OAAO,CAAC;gBAEZ,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,aAAa,GAAG,gBAAM,CAAC,KAAK,CAChC,aAAa,CAAC,cAAc,CAAC,CAAC,yBAAyB,EAAE,CACvD,WAAW,CACZ,EAAE,CAAC,OAAQ,CAAC,CACd,CAAC;oBAEF,IAAI,YAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;wBAC7B,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC;oBACpC,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,uBAAuB;oBACvB,MAAM,aAAa,GAAG,gBAAM,CAAC,KAAK,CAChC,aAAa,CAAC,cAAc,CAAC,CAAC,sBAAsB,EAAE,CACpD,WAAW,CACZ,EAAE,CAAC,OAAQ,CAAC,EAAE,CAAC,OAAQ,CAAC,CAC1B,CAAC;oBAEF,IAAI,YAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;wBAC7B,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC;oBACpC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACrB,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC;QACpC,CAAC;IACH,CAAC;AACH,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport semver from 'semver';\nimport upath from 'upath';\nimport { logger } from '../../../../../logger';\nimport type { PackageFile } from '../../../types';\nimport type { NpmManagerData } from '../../types';\nimport { getNpmLock } from '../npm';\nimport { getPnpmLock } from '../pnpm';\nimport type { LockFile } from '../types';\nimport { getYarnLock, getYarnVersionFromLock } from '../yarn';\n\nconst pnpmCatalogDepTypeRe = /pnpm\\.catalog\\.(?<version>.*)/;\n\nexport async function getLockedVersions(\n packageFiles: PackageFile<NpmManagerData>[],\n): Promise<void> {\n const lockFileCache: Record<string, LockFile> = {};\n logger.debug('Finding locked versions');\n for (const packageFile of packageFiles) {\n const { managerData = {} } = packageFile;\n const { yarnLock, npmLock, pnpmShrinkwrap } = managerData;\n const lockFiles: string[] = [];\n if (yarnLock) {\n logger.trace('Found yarnLock');\n lockFiles.push(yarnLock);\n if (!lockFileCache[yarnLock]) {\n logger.trace(`Retrieving/parsing ${yarnLock}`);\n lockFileCache[yarnLock] = await getYarnLock(yarnLock);\n }\n const { isYarn1 } = lockFileCache[yarnLock];\n let yarn: string | undefined;\n if (!isYarn1 && !packageFile.extractedConstraints?.yarn) {\n yarn = getYarnVersionFromLock(lockFileCache[yarnLock]);\n }\n if (yarn) {\n packageFile.extractedConstraints ??= {};\n packageFile.extractedConstraints.yarn = yarn;\n }\n for (const dep of packageFile.deps) {\n dep.lockedVersion =\n lockFileCache[yarnLock].lockedVersions?.[\n // TODO: types (#22198)\n `${dep.depName}@${dep.currentValue}`\n ];\n if (\n (dep.depType === 'engines' || dep.depType === 'packageManager') &&\n dep.depName === 'yarn' &&\n !isYarn1\n ) {\n dep.packageName = '@yarnpkg/cli';\n }\n }\n } else if (npmLock) {\n logger.debug(`Found ${npmLock} for ${packageFile.packageFile}`);\n lockFiles.push(npmLock);\n if (!lockFileCache[npmLock]) {\n logger.trace('Retrieving/parsing ' + npmLock);\n const cache = await getNpmLock(npmLock);\n /* v8 ignore next 4 -- needs test */\n if (!cache) {\n logger.warn({ npmLock }, 'Npm: unable to get lockfile');\n return;\n }\n lockFileCache[npmLock] = cache;\n }\n\n const { lockfileVersion } = lockFileCache[npmLock];\n let npm: string | undefined;\n if (lockfileVersion === 1) {\n if (packageFile.extractedConstraints?.npm) {\n // Add a <7 constraint if it's not already a fixed version\n if (\n semver.satisfies('6.14.18', packageFile.extractedConstraints.npm)\n ) {\n npm = packageFile.extractedConstraints.npm + ' <7';\n }\n } else {\n npm = '<7';\n }\n } else if (lockfileVersion === 2) {\n if (packageFile.extractedConstraints?.npm) {\n // Add a <9 constraint if the latest 8.x is compatible\n if (\n semver.satisfies('8.19.3', packageFile.extractedConstraints.npm)\n ) {\n npm = packageFile.extractedConstraints.npm + ' <9';\n }\n } else {\n npm = '<9';\n }\n } else if (lockfileVersion === 3) {\n if (!packageFile.extractedConstraints?.npm) {\n npm = '>=7';\n }\n } else {\n logger.warn(\n { lockfileVersion, npmLock },\n 'Found unsupported npm lockfile version',\n );\n return;\n }\n if (npm) {\n packageFile.extractedConstraints ??= {};\n packageFile.extractedConstraints.npm = npm;\n }\n\n const packageDir = upath.dirname(packageFile.packageFile);\n const npmRootDir = upath.dirname(npmLock);\n const relativeDir = upath.relative(npmRootDir, packageDir);\n\n for (const dep of packageFile.deps) {\n // Skip dependency types which are not locked in the lock file\n if (\n dep.depType === 'engines' ||\n dep.depType === 'packageManager' ||\n dep.depType === 'volta'\n ) {\n continue;\n }\n\n // TODO: types (#22198)\n let lockedDepName = dep.depName!;\n if (relativeDir && relativeDir !== '.') {\n lockedDepName = `${relativeDir}/node_modules/${dep.depName}`;\n }\n\n dep.lockedVersion = semver.valid(\n lockFileCache[npmLock].lockedVersions?.[lockedDepName],\n )!;\n }\n } else if (pnpmShrinkwrap) {\n logger.debug('Found pnpm lock-file');\n lockFiles.push(pnpmShrinkwrap);\n if (!lockFileCache[pnpmShrinkwrap]) {\n logger.trace(`Retrieving/parsing ${pnpmShrinkwrap}`);\n lockFileCache[pnpmShrinkwrap] = await getPnpmLock(pnpmShrinkwrap);\n }\n\n const packageDir = upath.dirname(packageFile.packageFile);\n const pnpmRootDir = upath.dirname(pnpmShrinkwrap);\n const relativeDir = upath.relative(pnpmRootDir, packageDir) || '.';\n\n for (const dep of packageFile.deps) {\n const { depName, depType } = dep;\n\n const catalogName = pnpmCatalogDepTypeRe.exec(depType!)?.groups\n ?.version;\n\n if (catalogName) {\n const lockedVersion = semver.valid(\n lockFileCache[pnpmShrinkwrap].lockedVersionsWithCatalog?.[\n catalogName\n ]?.[depName!],\n );\n\n if (is.string(lockedVersion)) {\n dep.lockedVersion = lockedVersion;\n }\n } else {\n // TODO: types (#22198)\n const lockedVersion = semver.valid(\n lockFileCache[pnpmShrinkwrap].lockedVersionsWithPath?.[\n relativeDir\n ]?.[depType!]?.[depName!],\n );\n\n if (is.string(lockedVersion)) {\n dep.lockedVersion = lockedVersion;\n }\n }\n }\n }\n if (lockFiles.length) {\n packageFile.lockFiles = lockFiles;\n }\n }\n}\n"]}
1
+ {"version":3,"file":"locked-versions.js","sourceRoot":"","sources":["../../../../../../lib/modules/manager/npm/extract/post/locked-versions.ts"],"names":[],"mappings":"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","sourcesContent":["import { isString } from '@sindresorhus/is';\nimport semver from 'semver';\nimport upath from 'upath';\nimport { logger } from '../../../../../logger';\nimport type { PackageFile } from '../../../types';\nimport type { NpmManagerData } from '../../types';\nimport { getNpmLock } from '../npm';\nimport { getPnpmLock } from '../pnpm';\nimport type { LockFile } from '../types';\nimport { getYarnLock, getYarnVersionFromLock } from '../yarn';\n\nconst pnpmCatalogDepTypeRe = /pnpm\\.catalog\\.(?<version>.*)/;\n\nexport async function getLockedVersions(\n packageFiles: PackageFile<NpmManagerData>[],\n): Promise<void> {\n const lockFileCache: Record<string, LockFile> = {};\n logger.debug('Finding locked versions');\n for (const packageFile of packageFiles) {\n const { managerData = {} } = packageFile;\n const { yarnLock, npmLock, pnpmShrinkwrap } = managerData;\n const lockFiles: string[] = [];\n if (yarnLock) {\n logger.trace('Found yarnLock');\n lockFiles.push(yarnLock);\n if (!lockFileCache[yarnLock]) {\n logger.trace(`Retrieving/parsing ${yarnLock}`);\n lockFileCache[yarnLock] = await getYarnLock(yarnLock);\n }\n const { isYarn1 } = lockFileCache[yarnLock];\n let yarn: string | undefined;\n if (!isYarn1 && !packageFile.extractedConstraints?.yarn) {\n yarn = getYarnVersionFromLock(lockFileCache[yarnLock]);\n }\n if (yarn) {\n packageFile.extractedConstraints ??= {};\n packageFile.extractedConstraints.yarn = yarn;\n }\n for (const dep of packageFile.deps) {\n dep.lockedVersion =\n lockFileCache[yarnLock].lockedVersions?.[\n // TODO: types (#22198)\n `${dep.depName}@${dep.currentValue}`\n ];\n if (\n (dep.depType === 'engines' || dep.depType === 'packageManager') &&\n dep.depName === 'yarn' &&\n !isYarn1\n ) {\n dep.packageName = '@yarnpkg/cli';\n }\n }\n } else if (npmLock) {\n logger.debug(`Found ${npmLock} for ${packageFile.packageFile}`);\n lockFiles.push(npmLock);\n if (!lockFileCache[npmLock]) {\n logger.trace('Retrieving/parsing ' + npmLock);\n const cache = await getNpmLock(npmLock);\n /* v8 ignore next 4 -- needs test */\n if (!cache) {\n logger.warn({ npmLock }, 'Npm: unable to get lockfile');\n return;\n }\n lockFileCache[npmLock] = cache;\n }\n\n const { lockfileVersion } = lockFileCache[npmLock];\n let npm: string | undefined;\n if (lockfileVersion === 1) {\n if (packageFile.extractedConstraints?.npm) {\n // Add a <7 constraint if it's not already a fixed version\n if (\n semver.satisfies('6.14.18', packageFile.extractedConstraints.npm)\n ) {\n npm = packageFile.extractedConstraints.npm + ' <7';\n }\n } else {\n npm = '<7';\n }\n } else if (lockfileVersion === 2) {\n if (packageFile.extractedConstraints?.npm) {\n // Add a <9 constraint if the latest 8.x is compatible\n if (\n semver.satisfies('8.19.3', packageFile.extractedConstraints.npm)\n ) {\n npm = packageFile.extractedConstraints.npm + ' <9';\n }\n } else {\n npm = '<9';\n }\n } else if (lockfileVersion === 3) {\n if (!packageFile.extractedConstraints?.npm) {\n npm = '>=7';\n }\n } else {\n logger.warn(\n { lockfileVersion, npmLock },\n 'Found unsupported npm lockfile version',\n );\n return;\n }\n if (npm) {\n packageFile.extractedConstraints ??= {};\n packageFile.extractedConstraints.npm = npm;\n }\n\n const packageDir = upath.dirname(packageFile.packageFile);\n const npmRootDir = upath.dirname(npmLock);\n const relativeDir = upath.relative(npmRootDir, packageDir);\n\n for (const dep of packageFile.deps) {\n // Skip dependency types which are not locked in the lock file\n if (\n dep.depType === 'engines' ||\n dep.depType === 'packageManager' ||\n dep.depType === 'volta'\n ) {\n continue;\n }\n\n // TODO: types (#22198)\n let lockedDepName = dep.depName!;\n if (relativeDir && relativeDir !== '.') {\n lockedDepName = `${relativeDir}/node_modules/${dep.depName}`;\n }\n\n dep.lockedVersion = semver.valid(\n lockFileCache[npmLock].lockedVersions?.[lockedDepName],\n )!;\n }\n } else if (pnpmShrinkwrap) {\n logger.debug('Found pnpm lock-file');\n lockFiles.push(pnpmShrinkwrap);\n if (!lockFileCache[pnpmShrinkwrap]) {\n logger.trace(`Retrieving/parsing ${pnpmShrinkwrap}`);\n lockFileCache[pnpmShrinkwrap] = await getPnpmLock(pnpmShrinkwrap);\n }\n\n const packageDir = upath.dirname(packageFile.packageFile);\n const pnpmRootDir = upath.dirname(pnpmShrinkwrap);\n const relativeDir = upath.relative(pnpmRootDir, packageDir) || '.';\n\n for (const dep of packageFile.deps) {\n const { depName, depType } = dep;\n\n const catalogName = pnpmCatalogDepTypeRe.exec(depType!)?.groups\n ?.version;\n\n if (catalogName) {\n const lockedVersion = semver.valid(\n lockFileCache[pnpmShrinkwrap].lockedVersionsWithCatalog?.[\n catalogName\n ]?.[depName!],\n );\n\n if (isString(lockedVersion)) {\n dep.lockedVersion = lockedVersion;\n }\n } else {\n // TODO: types (#22198)\n const lockedVersion = semver.valid(\n lockFileCache[pnpmShrinkwrap].lockedVersionsWithPath?.[\n relativeDir\n ]?.[depType!]?.[depName!],\n );\n\n if (isString(lockedVersion)) {\n dep.lockedVersion = lockedVersion;\n }\n }\n }\n }\n if (lockFiles.length) {\n packageFile.lockFiles = lockFiles;\n }\n }\n}\n"]}
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.detectMonorepos = detectMonorepos;
4
- const tslib_1 = require("tslib");
5
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
4
+ const is_1 = require("@sindresorhus/is");
6
5
  const logger_1 = require("../../../../../logger");
7
6
  const fs_1 = require("../../../../../util/fs");
8
7
  const pnpm_1 = require("../pnpm");
@@ -15,13 +14,13 @@ async function detectMonorepos(packageFiles) {
15
14
  const { npmLock, yarnZeroInstall, hasPackageManager, workspacesPackages, yarnLock, } = managerData;
16
15
  const packages = workspacesPackages;
17
16
  if (packages?.length) {
18
- const internalPackagePatterns = (is_1.default.array(packages) ? packages : [packages]).map((pattern) => (0, fs_1.getSiblingFileName)(packageFile, pattern));
17
+ const internalPackagePatterns = ((0, is_1.isArray)(packages) ? packages : [packages]).map((pattern) => (0, fs_1.getSiblingFileName)(packageFile, pattern));
19
18
  const internalPackageFiles = packageFiles.filter((sp) => (0, utils_1.matchesAnyPattern)((0, fs_1.getParentDir)(sp.packageFile), internalPackagePatterns));
20
19
  const internalPackageNames = internalPackageFiles
21
20
  .map((sp) => sp.managerData?.packageJsonName)
22
21
  .filter(Boolean);
23
22
  p.deps?.forEach((dep) => {
24
- if (is_1.default.string(dep.depName) &&
23
+ if ((0, is_1.isString)(dep.depName) &&
25
24
  internalPackageNames.includes(dep.depName)) {
26
25
  dep.isInternal = true;
27
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"monorepo.js","sourceRoot":"","sources":["../../../../../../lib/modules/manager/npm/extract/post/monorepo.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../../../logger';\nimport { getParentDir, getSiblingFileName } from '../../../../../util/fs';\nimport type { PackageFile } from '../../../types';\nimport type { NpmManagerData } from '../../types';\nimport { detectPnpmWorkspaces } from '../pnpm';\nimport { matchesAnyPattern } from '../utils';\n\nexport async function detectMonorepos(\n packageFiles: Partial<PackageFile<NpmManagerData>>[],\n): Promise<void> {\n await detectPnpmWorkspaces(packageFiles);\n logger.debug('Detecting workspaces');\n for (const p of packageFiles) {\n const { packageFile, npmrc, managerData = {}, skipInstalls } = p;\n const {\n npmLock,\n yarnZeroInstall,\n hasPackageManager,\n workspacesPackages,\n yarnLock,\n } = managerData;\n\n const packages = workspacesPackages as string[] | undefined;\n if (packages?.length) {\n const internalPackagePatterns = (\n is.array(packages) ? packages : [packages]\n ).map((pattern) => getSiblingFileName(packageFile!, pattern));\n const internalPackageFiles = packageFiles.filter((sp) =>\n matchesAnyPattern(\n getParentDir(sp.packageFile!),\n internalPackagePatterns,\n ),\n );\n const internalPackageNames = internalPackageFiles\n .map((sp) => sp.managerData?.packageJsonName)\n .filter(Boolean);\n\n p.deps?.forEach((dep) => {\n if (\n is.string(dep.depName) &&\n internalPackageNames.includes(dep.depName)\n ) {\n dep.isInternal = true;\n }\n });\n\n for (const subPackage of internalPackageFiles) {\n subPackage.managerData = subPackage.managerData ?? {};\n subPackage.managerData.yarnZeroInstall = yarnZeroInstall;\n subPackage.managerData.hasPackageManager = hasPackageManager;\n subPackage.managerData.yarnLock ??= yarnLock;\n subPackage.managerData.npmLock ??= npmLock;\n subPackage.skipInstalls = skipInstalls && subPackage.skipInstalls; // skip if both are true\n subPackage.managerData.workspacesPackages = workspacesPackages;\n subPackage.npmrc ??= npmrc;\n\n if (p.extractedConstraints) {\n subPackage.extractedConstraints = {\n ...p.extractedConstraints,\n ...subPackage.extractedConstraints,\n };\n }\n\n subPackage.deps?.forEach((dep) => {\n if (internalPackageNames.includes(dep.depName)) {\n dep.isInternal = true;\n }\n });\n }\n }\n }\n}\n"]}
1
+ {"version":3,"file":"monorepo.js","sourceRoot":"","sources":["../../../../../../lib/modules/manager/npm/extract/post/monorepo.ts"],"names":[],"mappings":"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","sourcesContent":["import { isArray, isString } from '@sindresorhus/is';\nimport { logger } from '../../../../../logger';\nimport { getParentDir, getSiblingFileName } from '../../../../../util/fs';\nimport type { PackageFile } from '../../../types';\nimport type { NpmManagerData } from '../../types';\nimport { detectPnpmWorkspaces } from '../pnpm';\nimport { matchesAnyPattern } from '../utils';\n\nexport async function detectMonorepos(\n packageFiles: Partial<PackageFile<NpmManagerData>>[],\n): Promise<void> {\n await detectPnpmWorkspaces(packageFiles);\n logger.debug('Detecting workspaces');\n for (const p of packageFiles) {\n const { packageFile, npmrc, managerData = {}, skipInstalls } = p;\n const {\n npmLock,\n yarnZeroInstall,\n hasPackageManager,\n workspacesPackages,\n yarnLock,\n } = managerData;\n\n const packages = workspacesPackages as string[] | undefined;\n if (packages?.length) {\n const internalPackagePatterns = (\n isArray(packages) ? packages : [packages]\n ).map((pattern) => getSiblingFileName(packageFile!, pattern));\n const internalPackageFiles = packageFiles.filter((sp) =>\n matchesAnyPattern(\n getParentDir(sp.packageFile!),\n internalPackagePatterns,\n ),\n );\n const internalPackageNames = internalPackageFiles\n .map((sp) => sp.managerData?.packageJsonName)\n .filter(Boolean);\n\n p.deps?.forEach((dep) => {\n if (\n isString(dep.depName) &&\n internalPackageNames.includes(dep.depName)\n ) {\n dep.isInternal = true;\n }\n });\n\n for (const subPackage of internalPackageFiles) {\n subPackage.managerData = subPackage.managerData ?? {};\n subPackage.managerData.yarnZeroInstall = yarnZeroInstall;\n subPackage.managerData.hasPackageManager = hasPackageManager;\n subPackage.managerData.yarnLock ??= yarnLock;\n subPackage.managerData.npmLock ??= npmLock;\n subPackage.skipInstalls = skipInstalls && subPackage.skipInstalls; // skip if both are true\n subPackage.managerData.workspacesPackages = workspacesPackages;\n subPackage.npmrc ??= npmrc;\n\n if (p.extractedConstraints) {\n subPackage.extractedConstraints = {\n ...p.extractedConstraints,\n ...subPackage.extractedConstraints,\n };\n }\n\n subPackage.deps?.forEach((dep) => {\n if (internalPackageNames.includes(dep.depName)) {\n dep.isInternal = true;\n }\n });\n }\n }\n }\n}\n"]}
@@ -5,8 +5,7 @@ exports.getZeroInstallPaths = getZeroInstallPaths;
5
5
  exports.isZeroInstall = isZeroInstall;
6
6
  exports.getYarnVersionFromLock = getYarnVersionFromLock;
7
7
  exports.extractYarnCatalogs = extractYarnCatalogs;
8
- const tslib_1 = require("tslib");
9
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
8
+ const is_1 = require("@sindresorhus/is");
10
9
  const core_1 = require("@yarnpkg/core");
11
10
  const parsers_1 = require("@yarnpkg/parsers");
12
11
  const logger_1 = require("../../../../logger");
@@ -80,7 +79,7 @@ function getZeroInstallPaths(yarnrcYml) {
80
79
  }
81
80
  async function isZeroInstall(yarnrcYmlPath) {
82
81
  const yarnrcYml = await (0, fs_1.readLocalFile)(yarnrcYmlPath, 'utf8');
83
- if (is_1.default.string(yarnrcYml)) {
82
+ if ((0, is_1.isString)(yarnrcYml)) {
84
83
  const paths = getZeroInstallPaths(yarnrcYml);
85
84
  for (const p of paths) {
86
85
  if (await (0, fs_1.localPathExists)((0, fs_1.getSiblingFileName)(yarnrcYmlPath, p))) {