@payloadcms/codemod 4.0.0-internal.2f0d313 → 4.0.0-internal.31ba7ee

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 (375) hide show
  1. package/README.md +69 -39
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +28 -9
  4. package/dist/cli.js.map +1 -1
  5. package/dist/cli.parseFlags.d.ts +10 -1
  6. package/dist/cli.parseFlags.d.ts.map +1 -1
  7. package/dist/cli.parseFlags.js +16 -8
  8. package/dist/cli.parseFlags.js.map +1 -1
  9. package/dist/registry.d.ts.map +1 -1
  10. package/dist/registry.js +15 -1
  11. package/dist/registry.js.map +1 -1
  12. package/dist/runbook/payload-v4-upgrade.md +2 -2
  13. package/dist/runbook/v4.mdx +556 -31
  14. package/dist/transforms/add-override-access-true/basic.input.js +41 -0
  15. package/dist/transforms/add-override-access-true/basic.input.js.map +1 -0
  16. package/dist/transforms/add-override-access-true/basic.output.js +50 -0
  17. package/dist/transforms/add-override-access-true/basic.output.js.map +1 -0
  18. package/dist/transforms/add-override-access-true/comment-between-properties.input.js +11 -0
  19. package/dist/transforms/add-override-access-true/comment-between-properties.input.js.map +1 -0
  20. package/dist/transforms/add-override-access-true/comment-between-properties.output.js +12 -0
  21. package/dist/transforms/add-override-access-true/comment-between-properties.output.js.map +1 -0
  22. package/dist/transforms/add-override-access-true/index.d.ts +20 -0
  23. package/dist/transforms/add-override-access-true/index.d.ts.map +1 -0
  24. package/dist/transforms/add-override-access-true/index.js +208 -0
  25. package/dist/transforms/add-override-access-true/index.js.map +1 -0
  26. package/dist/transforms/add-override-access-true/javascript.input.d.ts +6 -0
  27. package/dist/transforms/add-override-access-true/javascript.input.d.ts.map +1 -0
  28. package/dist/transforms/add-override-access-true/javascript.input.js +24 -0
  29. package/dist/transforms/add-override-access-true/javascript.input.js.map +1 -0
  30. package/dist/transforms/add-override-access-true/javascript.output.d.ts +6 -0
  31. package/dist/transforms/add-override-access-true/javascript.output.d.ts.map +1 -0
  32. package/dist/transforms/add-override-access-true/javascript.output.js +26 -0
  33. package/dist/transforms/add-override-access-true/javascript.output.js.map +1 -0
  34. package/dist/transforms/add-override-access-true/non-matching.input.js +42 -0
  35. package/dist/transforms/add-override-access-true/non-matching.input.js.map +1 -0
  36. package/dist/transforms/add-override-access-true/non-matching.output.js +42 -0
  37. package/dist/transforms/add-override-access-true/non-matching.output.js.map +1 -0
  38. package/dist/transforms/add-override-access-true/single-line.input.js +13 -0
  39. package/dist/transforms/add-override-access-true/single-line.input.js.map +1 -0
  40. package/dist/transforms/add-override-access-true/single-line.output.js +17 -0
  41. package/dist/transforms/add-override-access-true/single-line.output.js.map +1 -0
  42. package/dist/transforms/add-override-access-true/trailing-comment.input.js +10 -0
  43. package/dist/transforms/add-override-access-true/trailing-comment.input.js.map +1 -0
  44. package/dist/transforms/add-override-access-true/trailing-comment.output.js +12 -0
  45. package/dist/transforms/add-override-access-true/trailing-comment.output.js.map +1 -0
  46. package/dist/transforms/migrate-aliased-exports/index.d.ts.map +1 -1
  47. package/dist/transforms/migrate-aliased-exports/index.js +6 -5
  48. package/dist/transforms/migrate-aliased-exports/index.js.map +1 -1
  49. package/dist/transforms/migrate-aliased-exports/request.input.js +6 -0
  50. package/dist/transforms/migrate-aliased-exports/request.input.js.map +1 -0
  51. package/dist/transforms/migrate-aliased-exports/request.output.js +5 -0
  52. package/dist/transforms/migrate-aliased-exports/request.output.js.map +1 -0
  53. package/dist/transforms/migrate-authorship-default/already-set.input.js +15 -0
  54. package/dist/transforms/migrate-authorship-default/already-set.input.js.map +1 -0
  55. package/dist/transforms/migrate-authorship-default/already-set.output.js +15 -0
  56. package/dist/transforms/migrate-authorship-default/already-set.output.js.map +1 -0
  57. package/dist/transforms/migrate-authorship-default/basic.input.js +16 -0
  58. package/dist/transforms/migrate-authorship-default/basic.input.js.map +1 -0
  59. package/dist/transforms/migrate-authorship-default/basic.output.js +18 -0
  60. package/dist/transforms/migrate-authorship-default/basic.output.js.map +1 -0
  61. package/dist/transforms/migrate-authorship-default/build-config.input.js +32 -0
  62. package/dist/transforms/migrate-authorship-default/build-config.input.js.map +1 -0
  63. package/dist/transforms/migrate-authorship-default/build-config.output.js +35 -0
  64. package/dist/transforms/migrate-authorship-default/build-config.output.js.map +1 -0
  65. package/dist/transforms/migrate-authorship-default/globals.input.js +16 -0
  66. package/dist/transforms/migrate-authorship-default/globals.input.js.map +1 -0
  67. package/dist/transforms/migrate-authorship-default/globals.output.js +17 -0
  68. package/dist/transforms/migrate-authorship-default/globals.output.js.map +1 -0
  69. package/dist/transforms/migrate-authorship-default/index.d.ts +11 -0
  70. package/dist/transforms/migrate-authorship-default/index.d.ts.map +1 -0
  71. package/dist/transforms/migrate-authorship-default/index.js +141 -0
  72. package/dist/transforms/migrate-authorship-default/index.js.map +1 -0
  73. package/dist/transforms/migrate-authorship-default/non-matching.input.js +18 -0
  74. package/dist/transforms/migrate-authorship-default/non-matching.input.js.map +1 -0
  75. package/dist/transforms/migrate-authorship-default/non-matching.output.js +18 -0
  76. package/dist/transforms/migrate-authorship-default/non-matching.output.js.map +1 -0
  77. package/dist/transforms/migrate-authorship-default/satisfies.input.js +11 -0
  78. package/dist/transforms/migrate-authorship-default/satisfies.input.js.map +1 -0
  79. package/dist/transforms/migrate-authorship-default/satisfies.output.js +13 -0
  80. package/dist/transforms/migrate-authorship-default/satisfies.output.js.map +1 -0
  81. package/dist/transforms/migrate-field-component-types/basic.input.js +8 -0
  82. package/dist/transforms/migrate-field-component-types/basic.input.js.map +1 -0
  83. package/dist/transforms/migrate-field-component-types/basic.output.js +8 -0
  84. package/dist/transforms/migrate-field-component-types/basic.output.js.map +1 -0
  85. package/dist/transforms/migrate-field-component-types/index.d.ts +3 -0
  86. package/dist/transforms/migrate-field-component-types/index.d.ts.map +1 -0
  87. package/dist/transforms/migrate-field-component-types/index.js +616 -0
  88. package/dist/transforms/migrate-field-component-types/index.js.map +1 -0
  89. package/dist/transforms/migrate-payload-request-creation/aliases.input.js +8 -0
  90. package/dist/transforms/migrate-payload-request-creation/aliases.input.js.map +1 -0
  91. package/dist/transforms/migrate-payload-request-creation/aliases.output.js +31 -0
  92. package/dist/transforms/migrate-payload-request-creation/aliases.output.js.map +1 -0
  93. package/dist/transforms/migrate-payload-request-creation/collision.input.js +9 -0
  94. package/dist/transforms/migrate-payload-request-creation/collision.input.js.map +1 -0
  95. package/dist/transforms/migrate-payload-request-creation/comments.input.js +9 -0
  96. package/dist/transforms/migrate-payload-request-creation/comments.input.js.map +1 -0
  97. package/dist/transforms/migrate-payload-request-creation/comments.output.js +34 -0
  98. package/dist/transforms/migrate-payload-request-creation/comments.output.js.map +1 -0
  99. package/dist/transforms/migrate-payload-request-creation/empty.input.js +5 -0
  100. package/dist/transforms/migrate-payload-request-creation/empty.input.js.map +1 -0
  101. package/dist/transforms/migrate-payload-request-creation/empty.output.js +7 -0
  102. package/dist/transforms/migrate-payload-request-creation/empty.output.js.map +1 -0
  103. package/dist/transforms/migrate-payload-request-creation/evaluation-order.input.js +10 -0
  104. package/dist/transforms/migrate-payload-request-creation/evaluation-order.input.js.map +1 -0
  105. package/dist/transforms/migrate-payload-request-creation/expression.input.js +8 -0
  106. package/dist/transforms/migrate-payload-request-creation/expression.input.js.map +1 -0
  107. package/dist/transforms/migrate-payload-request-creation/expression.output.js +8 -0
  108. package/dist/transforms/migrate-payload-request-creation/expression.output.js.map +1 -0
  109. package/dist/transforms/migrate-payload-request-creation/getters.input.js +52 -0
  110. package/dist/transforms/migrate-payload-request-creation/getters.input.js.map +1 -0
  111. package/dist/transforms/migrate-payload-request-creation/index.d.ts +3 -0
  112. package/dist/transforms/migrate-payload-request-creation/index.d.ts.map +1 -0
  113. package/dist/transforms/migrate-payload-request-creation/index.js +236 -0
  114. package/dist/transforms/migrate-payload-request-creation/index.js.map +1 -0
  115. package/dist/transforms/migrate-payload-request-creation/internal.input.js +6 -0
  116. package/dist/transforms/migrate-payload-request-creation/internal.input.js.map +1 -0
  117. package/dist/transforms/migrate-payload-request-creation/internal.output.js +6 -0
  118. package/dist/transforms/migrate-payload-request-creation/internal.output.js.map +1 -0
  119. package/dist/transforms/migrate-payload-request-creation/non-matching.input.js +5 -0
  120. package/dist/transforms/migrate-payload-request-creation/non-matching.input.js.map +1 -0
  121. package/dist/transforms/migrate-payload-request-creation/populated.input.js +7 -0
  122. package/dist/transforms/migrate-payload-request-creation/populated.input.js.map +1 -0
  123. package/dist/transforms/migrate-payload-request-creation/populated.output.js +30 -0
  124. package/dist/transforms/migrate-payload-request-creation/populated.output.js.map +1 -0
  125. package/dist/transforms/migrate-payload-request-creation/shadowed.input.js +7 -0
  126. package/dist/transforms/migrate-payload-request-creation/shadowed.input.js.map +1 -0
  127. package/dist/transforms/migrate-payload-request-creation/shadowed.output.js +9 -0
  128. package/dist/transforms/migrate-payload-request-creation/shadowed.output.js.map +1 -0
  129. package/dist/transforms/migrate-payload-request-creation/shorthand.input.js +12 -0
  130. package/dist/transforms/migrate-payload-request-creation/shorthand.input.js.map +1 -0
  131. package/dist/transforms/migrate-payload-request-creation/shorthand.output.js +12 -0
  132. package/dist/transforms/migrate-payload-request-creation/shorthand.output.js.map +1 -0
  133. package/dist/transforms/migrate-payload-request-creation/unsupported.input.js +9 -0
  134. package/dist/transforms/migrate-payload-request-creation/unsupported.input.js.map +1 -0
  135. package/dist/transforms/migrate-versions-default/index.js +5 -5
  136. package/dist/transforms/migrate-versions-default/index.js.map +1 -1
  137. package/dist/transforms/remove-default-locale-publish-option/all-value.input.js +13 -0
  138. package/dist/transforms/remove-default-locale-publish-option/all-value.input.js.map +1 -0
  139. package/dist/transforms/remove-default-locale-publish-option/basic.input.js +13 -0
  140. package/dist/transforms/remove-default-locale-publish-option/basic.input.js.map +1 -0
  141. package/dist/transforms/remove-default-locale-publish-option/basic.output.js +12 -0
  142. package/dist/transforms/remove-default-locale-publish-option/basic.output.js.map +1 -0
  143. package/dist/transforms/remove-default-locale-publish-option/dynamic.input.js +17 -0
  144. package/dist/transforms/remove-default-locale-publish-option/dynamic.input.js.map +1 -0
  145. package/dist/transforms/remove-default-locale-publish-option/index.d.ts +10 -0
  146. package/dist/transforms/remove-default-locale-publish-option/index.d.ts.map +1 -0
  147. package/dist/transforms/remove-default-locale-publish-option/index.js +103 -0
  148. package/dist/transforms/remove-default-locale-publish-option/index.js.map +1 -0
  149. package/dist/transforms/remove-default-locale-publish-option/no-match.input.js +10 -0
  150. package/dist/transforms/remove-default-locale-publish-option/no-match.input.js.map +1 -0
  151. package/dist/transforms/remove-default-locale-publish-option/no-match.output.js +10 -0
  152. package/dist/transforms/remove-default-locale-publish-option/no-match.output.js.map +1 -0
  153. package/dist/transforms/remove-default-locale-publish-option/reassigned.input.js +22 -0
  154. package/dist/transforms/remove-default-locale-publish-option/reassigned.input.js.map +1 -0
  155. package/dist/transforms/remove-default-locale-publish-option/shorthand.input.js +14 -0
  156. package/dist/transforms/remove-default-locale-publish-option/shorthand.input.js.map +1 -0
  157. package/dist/transforms/remove-default-locale-publish-option/shorthand.output.js +13 -0
  158. package/dist/transforms/remove-default-locale-publish-option/shorthand.output.js.map +1 -0
  159. package/dist/transforms/remove-publish-specific-locale/index.d.ts.map +1 -1
  160. package/dist/transforms/remove-publish-specific-locale/index.js.map +1 -1
  161. package/dist/transforms/remove-storage-always-insert-fields/aliased.input.js +11 -0
  162. package/dist/transforms/remove-storage-always-insert-fields/aliased.input.js.map +1 -0
  163. package/dist/transforms/remove-storage-always-insert-fields/aliased.output.js +10 -0
  164. package/dist/transforms/remove-storage-always-insert-fields/aliased.output.js.map +1 -0
  165. package/dist/transforms/remove-storage-always-insert-fields/basic.input.js +54 -0
  166. package/dist/transforms/remove-storage-always-insert-fields/basic.input.js.map +1 -0
  167. package/dist/transforms/remove-storage-always-insert-fields/basic.output.js +48 -0
  168. package/dist/transforms/remove-storage-always-insert-fields/basic.output.js.map +1 -0
  169. package/dist/transforms/remove-storage-always-insert-fields/index.d.ts +3 -0
  170. package/dist/transforms/remove-storage-always-insert-fields/index.d.ts.map +1 -0
  171. package/dist/transforms/remove-storage-always-insert-fields/index.js +71 -0
  172. package/dist/transforms/remove-storage-always-insert-fields/index.js.map +1 -0
  173. package/dist/transforms/remove-storage-always-insert-fields/no-match.input.js +27 -0
  174. package/dist/transforms/remove-storage-always-insert-fields/no-match.input.js.map +1 -0
  175. package/dist/transforms/remove-storage-always-insert-fields/no-match.output.js +27 -0
  176. package/dist/transforms/remove-storage-always-insert-fields/no-match.output.js.map +1 -0
  177. package/dist/transforms/remove-versions-true/index.js +4 -4
  178. package/dist/transforms/remove-versions-true/index.js.map +1 -1
  179. package/dist/transforms/rename-experimental-table-feature/alias.input.js +6 -0
  180. package/dist/transforms/rename-experimental-table-feature/alias.input.js.map +1 -0
  181. package/dist/transforms/rename-experimental-table-feature/alias.output.js +6 -0
  182. package/dist/transforms/rename-experimental-table-feature/alias.output.js.map +1 -0
  183. package/dist/transforms/rename-experimental-table-feature/basic.input.js +19 -0
  184. package/dist/transforms/rename-experimental-table-feature/basic.input.js.map +1 -0
  185. package/dist/transforms/rename-experimental-table-feature/basic.output.js +19 -0
  186. package/dist/transforms/rename-experimental-table-feature/basic.output.js.map +1 -0
  187. package/dist/transforms/rename-experimental-table-feature/collision.input.js +7 -0
  188. package/dist/transforms/rename-experimental-table-feature/collision.input.js.map +1 -0
  189. package/dist/transforms/rename-experimental-table-feature/index.d.ts +3 -0
  190. package/dist/transforms/rename-experimental-table-feature/index.d.ts.map +1 -0
  191. package/dist/transforms/rename-experimental-table-feature/index.js +44 -0
  192. package/dist/transforms/rename-experimental-table-feature/index.js.map +1 -0
  193. package/dist/transforms/rename-experimental-table-feature/no-match.input.js +9 -0
  194. package/dist/transforms/rename-experimental-table-feature/no-match.input.js.map +1 -0
  195. package/dist/upgrade/defaultTag.d.ts +9 -0
  196. package/dist/upgrade/defaultTag.d.ts.map +1 -0
  197. package/dist/upgrade/defaultTag.js +25 -0
  198. package/dist/upgrade/defaultTag.js.map +1 -0
  199. package/dist/upgrade/dispatch.d.ts +38 -0
  200. package/dist/upgrade/dispatch.d.ts.map +1 -0
  201. package/dist/upgrade/dispatch.js +132 -0
  202. package/dist/upgrade/dispatch.js.map +1 -0
  203. package/dist/upgrade/index.d.ts +2 -1
  204. package/dist/upgrade/index.d.ts.map +1 -1
  205. package/dist/upgrade/index.js +49 -24
  206. package/dist/upgrade/index.js.map +1 -1
  207. package/dist/upgrade/prompt.d.ts +6 -3
  208. package/dist/upgrade/prompt.d.ts.map +1 -1
  209. package/dist/upgrade/prompt.js +11 -9
  210. package/dist/upgrade/prompt.js.map +1 -1
  211. package/dist/upgrade/report.d.ts +3 -0
  212. package/dist/upgrade/report.d.ts.map +1 -1
  213. package/dist/upgrade/report.js +8 -2
  214. package/dist/upgrade/report.js.map +1 -1
  215. package/dist/upgrade/rewritePackageJson.d.ts +7 -0
  216. package/dist/upgrade/rewritePackageJson.d.ts.map +1 -1
  217. package/dist/upgrade/rewritePackageJson.js +24 -7
  218. package/dist/upgrade/rewritePackageJson.js.map +1 -1
  219. package/dist/upgrade/selectAgent.d.ts +45 -0
  220. package/dist/upgrade/selectAgent.d.ts.map +1 -0
  221. package/dist/upgrade/selectAgent.js +54 -0
  222. package/dist/upgrade/selectAgent.js.map +1 -0
  223. package/dist/upgrade/selfCommand.d.ts +13 -0
  224. package/dist/upgrade/selfCommand.d.ts.map +1 -0
  225. package/dist/upgrade/selfCommand.js +17 -0
  226. package/dist/upgrade/selfCommand.js.map +1 -0
  227. package/dist/upgrade/types.d.ts +5 -0
  228. package/dist/upgrade/types.d.ts.map +1 -1
  229. package/dist/upgrade/types.js +4 -0
  230. package/dist/upgrade/types.js.map +1 -1
  231. package/package.json +4 -3
  232. package/dist/cli.parseFlags.spec.d.ts +0 -2
  233. package/dist/cli.parseFlags.spec.d.ts.map +0 -1
  234. package/dist/cli.parseFlags.spec.js +0 -121
  235. package/dist/cli.parseFlags.spec.js.map +0 -1
  236. package/dist/runner.spec.d.ts +0 -2
  237. package/dist/runner.spec.d.ts.map +0 -1
  238. package/dist/runner.spec.js +0 -88
  239. package/dist/runner.spec.js.map +0 -1
  240. package/dist/transforms/example-noop/index.spec.d.ts +0 -2
  241. package/dist/transforms/example-noop/index.spec.d.ts.map +0 -1
  242. package/dist/transforms/example-noop/index.spec.js +0 -29
  243. package/dist/transforms/example-noop/index.spec.js.map +0 -1
  244. package/dist/transforms/globals-components-edit/index.spec.d.ts +0 -2
  245. package/dist/transforms/globals-components-edit/index.spec.d.ts.map +0 -1
  246. package/dist/transforms/globals-components-edit/index.spec.js +0 -37
  247. package/dist/transforms/globals-components-edit/index.spec.js.map +0 -1
  248. package/dist/transforms/migrate-after-operation-read/index.spec.d.ts +0 -2
  249. package/dist/transforms/migrate-after-operation-read/index.spec.d.ts.map +0 -1
  250. package/dist/transforms/migrate-after-operation-read/index.spec.js +0 -62
  251. package/dist/transforms/migrate-after-operation-read/index.spec.js.map +0 -1
  252. package/dist/transforms/migrate-aliased-exports/index.spec.d.ts +0 -2
  253. package/dist/transforms/migrate-aliased-exports/index.spec.d.ts.map +0 -1
  254. package/dist/transforms/migrate-aliased-exports/index.spec.js +0 -55
  255. package/dist/transforms/migrate-aliased-exports/index.spec.js.map +0 -1
  256. package/dist/transforms/migrate-azure-chunk-large-files/index.spec.d.ts +0 -2
  257. package/dist/transforms/migrate-azure-chunk-large-files/index.spec.d.ts.map +0 -1
  258. package/dist/transforms/migrate-azure-chunk-large-files/index.spec.js +0 -67
  259. package/dist/transforms/migrate-azure-chunk-large-files/index.spec.js.map +0 -1
  260. package/dist/transforms/migrate-block-references-to-blocks/index.spec.d.ts +0 -2
  261. package/dist/transforms/migrate-block-references-to-blocks/index.spec.d.ts.map +0 -1
  262. package/dist/transforms/migrate-block-references-to-blocks/index.spec.js +0 -45
  263. package/dist/transforms/migrate-block-references-to-blocks/index.spec.js.map +0 -1
  264. package/dist/transforms/migrate-build-script/index.spec.d.ts +0 -2
  265. package/dist/transforms/migrate-build-script/index.spec.d.ts.map +0 -1
  266. package/dist/transforms/migrate-build-script/index.spec.js +0 -81
  267. package/dist/transforms/migrate-build-script/index.spec.js.map +0 -1
  268. package/dist/transforms/migrate-db-types-subpath/index.spec.d.ts +0 -2
  269. package/dist/transforms/migrate-db-types-subpath/index.spec.d.ts.map +0 -1
  270. package/dist/transforms/migrate-db-types-subpath/index.spec.js +0 -46
  271. package/dist/transforms/migrate-db-types-subpath/index.spec.js.map +0 -1
  272. package/dist/transforms/migrate-disabled-fields/index.spec.d.ts +0 -2
  273. package/dist/transforms/migrate-disabled-fields/index.spec.d.ts.map +0 -1
  274. package/dist/transforms/migrate-disabled-fields/index.spec.js +0 -73
  275. package/dist/transforms/migrate-disabled-fields/index.spec.js.map +0 -1
  276. package/dist/transforms/migrate-document-title-context/index.spec.d.ts +0 -2
  277. package/dist/transforms/migrate-document-title-context/index.spec.d.ts.map +0 -1
  278. package/dist/transforms/migrate-document-title-context/index.spec.js +0 -86
  279. package/dist/transforms/migrate-document-title-context/index.spec.js.map +0 -1
  280. package/dist/transforms/migrate-force-select/index.spec.d.ts +0 -2
  281. package/dist/transforms/migrate-force-select/index.spec.d.ts.map +0 -1
  282. package/dist/transforms/migrate-force-select/index.spec.js +0 -107
  283. package/dist/transforms/migrate-force-select/index.spec.js.map +0 -1
  284. package/dist/transforms/migrate-hide-api-url/index.spec.d.ts +0 -2
  285. package/dist/transforms/migrate-hide-api-url/index.spec.d.ts.map +0 -1
  286. package/dist/transforms/migrate-hide-api-url/index.spec.js +0 -118
  287. package/dist/transforms/migrate-hide-api-url/index.spec.js.map +0 -1
  288. package/dist/transforms/migrate-import-export-hooks/index.spec.d.ts +0 -2
  289. package/dist/transforms/migrate-import-export-hooks/index.spec.d.ts.map +0 -1
  290. package/dist/transforms/migrate-import-export-hooks/index.spec.js +0 -65
  291. package/dist/transforms/migrate-import-export-hooks/index.spec.js.map +0 -1
  292. package/dist/transforms/migrate-list-view-select-api/index.spec.d.ts +0 -2
  293. package/dist/transforms/migrate-list-view-select-api/index.spec.d.ts.map +0 -1
  294. package/dist/transforms/migrate-list-view-select-api/index.spec.js +0 -37
  295. package/dist/transforms/migrate-list-view-select-api/index.spec.js.map +0 -1
  296. package/dist/transforms/migrate-next-generate-viewport-export/index.spec.d.ts +0 -2
  297. package/dist/transforms/migrate-next-generate-viewport-export/index.spec.d.ts.map +0 -1
  298. package/dist/transforms/migrate-next-generate-viewport-export/index.spec.js +0 -41
  299. package/dist/transforms/migrate-next-generate-viewport-export/index.spec.js.map +0 -1
  300. package/dist/transforms/migrate-next-subpath-exports/index.spec.d.ts +0 -2
  301. package/dist/transforms/migrate-next-subpath-exports/index.spec.d.ts.map +0 -1
  302. package/dist/transforms/migrate-next-subpath-exports/index.spec.js +0 -46
  303. package/dist/transforms/migrate-next-subpath-exports/index.spec.js.map +0 -1
  304. package/dist/transforms/migrate-slug-field/index.spec.d.ts +0 -2
  305. package/dist/transforms/migrate-slug-field/index.spec.d.ts.map +0 -1
  306. package/dist/transforms/migrate-slug-field/index.spec.js +0 -47
  307. package/dist/transforms/migrate-slug-field/index.spec.js.map +0 -1
  308. package/dist/transforms/migrate-storage-adapters-to-config/index.spec.d.ts +0 -2
  309. package/dist/transforms/migrate-storage-adapters-to-config/index.spec.d.ts.map +0 -1
  310. package/dist/transforms/migrate-storage-adapters-to-config/index.spec.js +0 -85
  311. package/dist/transforms/migrate-storage-adapters-to-config/index.spec.js.map +0 -1
  312. package/dist/transforms/migrate-versions-default/index.spec.d.ts +0 -2
  313. package/dist/transforms/migrate-versions-default/index.spec.d.ts.map +0 -1
  314. package/dist/transforms/migrate-versions-default/index.spec.js +0 -81
  315. package/dist/transforms/migrate-versions-default/index.spec.js.map +0 -1
  316. package/dist/transforms/remove-group-by-true/index.spec.d.ts +0 -2
  317. package/dist/transforms/remove-group-by-true/index.spec.d.ts.map +0 -1
  318. package/dist/transforms/remove-group-by-true/index.spec.js +0 -47
  319. package/dist/transforms/remove-group-by-true/index.spec.js.map +0 -1
  320. package/dist/transforms/remove-localize-status-config/index.spec.d.ts +0 -2
  321. package/dist/transforms/remove-localize-status-config/index.spec.d.ts.map +0 -1
  322. package/dist/transforms/remove-localize-status-config/index.spec.js +0 -38
  323. package/dist/transforms/remove-localize-status-config/index.spec.js.map +0 -1
  324. package/dist/transforms/remove-publish-specific-locale/index.spec.d.ts +0 -2
  325. package/dist/transforms/remove-publish-specific-locale/index.spec.d.ts.map +0 -1
  326. package/dist/transforms/remove-publish-specific-locale/index.spec.js +0 -47
  327. package/dist/transforms/remove-publish-specific-locale/index.spec.js.map +0 -1
  328. package/dist/transforms/remove-versions-true/index.spec.d.ts +0 -2
  329. package/dist/transforms/remove-versions-true/index.spec.d.ts.map +0 -1
  330. package/dist/transforms/remove-versions-true/index.spec.js +0 -38
  331. package/dist/transforms/remove-versions-true/index.spec.js.map +0 -1
  332. package/dist/transforms/rename-storage-adapters-to-storage/index.spec.d.ts +0 -2
  333. package/dist/transforms/rename-storage-adapters-to-storage/index.spec.d.ts.map +0 -1
  334. package/dist/transforms/rename-storage-adapters-to-storage/index.spec.js +0 -55
  335. package/dist/transforms/rename-storage-adapters-to-storage/index.spec.js.map +0 -1
  336. package/dist/transforms/rename-typescript-schema-to-json-schema/index.spec.d.ts +0 -2
  337. package/dist/transforms/rename-typescript-schema-to-json-schema/index.spec.d.ts.map +0 -1
  338. package/dist/transforms/rename-typescript-schema-to-json-schema/index.spec.js +0 -45
  339. package/dist/transforms/rename-typescript-schema-to-json-schema/index.spec.js.map +0 -1
  340. package/dist/upgrade/detectPackageManager.spec.d.ts +0 -2
  341. package/dist/upgrade/detectPackageManager.spec.d.ts.map +0 -1
  342. package/dist/upgrade/detectPackageManager.spec.js +0 -41
  343. package/dist/upgrade/detectPackageManager.spec.js.map +0 -1
  344. package/dist/upgrade/index.spec.d.ts +0 -2
  345. package/dist/upgrade/index.spec.d.ts.map +0 -1
  346. package/dist/upgrade/index.spec.js +0 -132
  347. package/dist/upgrade/index.spec.js.map +0 -1
  348. package/dist/upgrade/packaging.spec.d.ts +0 -2
  349. package/dist/upgrade/packaging.spec.d.ts.map +0 -1
  350. package/dist/upgrade/packaging.spec.js +0 -29
  351. package/dist/upgrade/packaging.spec.js.map +0 -1
  352. package/dist/upgrade/prompt.spec.d.ts +0 -2
  353. package/dist/upgrade/prompt.spec.d.ts.map +0 -1
  354. package/dist/upgrade/prompt.spec.js +0 -51
  355. package/dist/upgrade/prompt.spec.js.map +0 -1
  356. package/dist/upgrade/report.spec.d.ts +0 -2
  357. package/dist/upgrade/report.spec.d.ts.map +0 -1
  358. package/dist/upgrade/report.spec.js +0 -87
  359. package/dist/upgrade/report.spec.js.map +0 -1
  360. package/dist/upgrade/resolveVersions.spec.d.ts +0 -2
  361. package/dist/upgrade/resolveVersions.spec.d.ts.map +0 -1
  362. package/dist/upgrade/resolveVersions.spec.js +0 -82
  363. package/dist/upgrade/resolveVersions.spec.js.map +0 -1
  364. package/dist/upgrade/rewritePackageJson.spec.d.ts +0 -2
  365. package/dist/upgrade/rewritePackageJson.spec.d.ts.map +0 -1
  366. package/dist/upgrade/rewritePackageJson.spec.js +0 -108
  367. package/dist/upgrade/rewritePackageJson.spec.js.map +0 -1
  368. package/dist/upgrade/runInstall.spec.d.ts +0 -2
  369. package/dist/upgrade/runInstall.spec.d.ts.map +0 -1
  370. package/dist/upgrade/runInstall.spec.js +0 -48
  371. package/dist/upgrade/runInstall.spec.js.map +0 -1
  372. package/dist/utils/packageJson.spec.d.ts +0 -2
  373. package/dist/utils/packageJson.spec.d.ts.map +0 -1
  374. package/dist/utils/packageJson.spec.js +0 -41
  375. package/dist/utils/packageJson.spec.js.map +0 -1
@@ -1,45 +0,0 @@
1
- import { readFile } from 'node:fs/promises';
2
- import { dirname, join } from 'node:path';
3
- import { fileURLToPath } from 'node:url';
4
- import { describe, expect, it } from 'vitest';
5
- import { runTransform } from '../../utils/test-helpers.js';
6
- import { renameTypescriptSchemaToJsonSchema } from './index.js';
7
- const here = dirname(fileURLToPath(import.meta.url));
8
- const fixture = (name)=>readFile(join(here, name), 'utf8');
9
- describe('rename-typescript-schema-to-json-schema', ()=>{
10
- it('renames `typescriptSchema` to `jsonSchema`', async ()=>{
11
- const input = await fixture('basic.input.ts');
12
- const output = await fixture('basic.output.ts');
13
- const result = await runTransform({
14
- source: input,
15
- transform: renameTypescriptSchemaToJsonSchema
16
- });
17
- expect(result).toBe(output);
18
- });
19
- it('is idempotent', async ()=>{
20
- const output = await fixture('basic.output.ts');
21
- const result = await runTransform({
22
- source: output,
23
- transform: renameTypescriptSchemaToJsonSchema
24
- });
25
- expect(result).toBe(output);
26
- });
27
- it('no-ops on code without `typescriptSchema`', async ()=>{
28
- const input = await fixture('non-matching.input.ts');
29
- const result = await runTransform({
30
- source: input,
31
- transform: renameTypescriptSchemaToJsonSchema
32
- });
33
- expect(result).toBe(input);
34
- });
35
- it('does not clobber an existing `jsonSchema` sibling', async ()=>{
36
- const input = await fixture('sibling.input.ts');
37
- const result = await runTransform({
38
- source: input,
39
- transform: renameTypescriptSchemaToJsonSchema
40
- });
41
- expect(result).toBe(input);
42
- });
43
- });
44
-
45
- //# sourceMappingURL=index.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/transforms/rename-typescript-schema-to-json-schema/index.spec.ts"],"sourcesContent":["import { readFile } from 'node:fs/promises'\nimport { dirname, join } from 'node:path'\nimport { fileURLToPath } from 'node:url'\nimport { describe, expect, it } from 'vitest'\n\nimport { runTransform } from '../../utils/test-helpers.js'\nimport { renameTypescriptSchemaToJsonSchema } from './index.js'\n\nconst here = dirname(fileURLToPath(import.meta.url))\nconst fixture = (name: string) => readFile(join(here, name), 'utf8')\n\ndescribe('rename-typescript-schema-to-json-schema', () => {\n it('renames `typescriptSchema` to `jsonSchema`', async () => {\n const input = await fixture('basic.input.ts')\n const output = await fixture('basic.output.ts')\n\n const result = await runTransform({\n source: input,\n transform: renameTypescriptSchemaToJsonSchema,\n })\n\n expect(result).toBe(output)\n })\n\n it('is idempotent', async () => {\n const output = await fixture('basic.output.ts')\n\n const result = await runTransform({\n source: output,\n transform: renameTypescriptSchemaToJsonSchema,\n })\n\n expect(result).toBe(output)\n })\n\n it('no-ops on code without `typescriptSchema`', async () => {\n const input = await fixture('non-matching.input.ts')\n\n const result = await runTransform({\n source: input,\n transform: renameTypescriptSchemaToJsonSchema,\n })\n\n expect(result).toBe(input)\n })\n\n it('does not clobber an existing `jsonSchema` sibling', async () => {\n const input = await fixture('sibling.input.ts')\n\n const result = await runTransform({\n source: input,\n transform: renameTypescriptSchemaToJsonSchema,\n })\n\n expect(result).toBe(input)\n })\n})\n"],"names":["readFile","dirname","join","fileURLToPath","describe","expect","it","runTransform","renameTypescriptSchemaToJsonSchema","here","url","fixture","name","input","output","result","source","transform","toBe"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,mBAAkB;AAC3C,SAASC,OAAO,EAAEC,IAAI,QAAQ,YAAW;AACzC,SAASC,aAAa,QAAQ,WAAU;AACxC,SAASC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,SAAQ;AAE7C,SAASC,YAAY,QAAQ,8BAA6B;AAC1D,SAASC,kCAAkC,QAAQ,aAAY;AAE/D,MAAMC,OAAOR,QAAQE,cAAc,YAAYO,GAAG;AAClD,MAAMC,UAAU,CAACC,OAAiBZ,SAASE,KAAKO,MAAMG,OAAO;AAE7DR,SAAS,2CAA2C;IAClDE,GAAG,8CAA8C;QAC/C,MAAMO,QAAQ,MAAMF,QAAQ;QAC5B,MAAMG,SAAS,MAAMH,QAAQ;QAE7B,MAAMI,SAAS,MAAMR,aAAa;YAChCS,QAAQH;YACRI,WAAWT;QACb;QAEAH,OAAOU,QAAQG,IAAI,CAACJ;IACtB;IAEAR,GAAG,iBAAiB;QAClB,MAAMQ,SAAS,MAAMH,QAAQ;QAE7B,MAAMI,SAAS,MAAMR,aAAa;YAChCS,QAAQF;YACRG,WAAWT;QACb;QAEAH,OAAOU,QAAQG,IAAI,CAACJ;IACtB;IAEAR,GAAG,6CAA6C;QAC9C,MAAMO,QAAQ,MAAMF,QAAQ;QAE5B,MAAMI,SAAS,MAAMR,aAAa;YAChCS,QAAQH;YACRI,WAAWT;QACb;QAEAH,OAAOU,QAAQG,IAAI,CAACL;IACtB;IAEAP,GAAG,qDAAqD;QACtD,MAAMO,QAAQ,MAAMF,QAAQ;QAE5B,MAAMI,SAAS,MAAMR,aAAa;YAChCS,QAAQH;YACRI,WAAWT;QACb;QAEAH,OAAOU,QAAQG,IAAI,CAACL;IACtB;AACF"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=detectPackageManager.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"detectPackageManager.spec.d.ts","sourceRoot":"","sources":["../../src/upgrade/detectPackageManager.spec.ts"],"names":[],"mappings":""}
@@ -1,41 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { detectPackageManager } from './detectPackageManager.js';
3
- const existsFor = (present)=>(path)=>present.some((name)=>path.endsWith(name));
4
- describe('detectPackageManager', ()=>{
5
- it('detects pnpm', ()=>{
6
- expect(detectPackageManager('/p', existsFor([
7
- 'pnpm-lock.yaml'
8
- ]))).toBe('pnpm');
9
- });
10
- it('detects yarn', ()=>{
11
- expect(detectPackageManager('/p', existsFor([
12
- 'yarn.lock'
13
- ]))).toBe('yarn');
14
- });
15
- it('detects bun', ()=>{
16
- expect(detectPackageManager('/p', existsFor([
17
- 'bun.lock'
18
- ]))).toBe('bun');
19
- });
20
- it('detects bun via bun.lockb', ()=>{
21
- expect(detectPackageManager('/p', existsFor([
22
- 'bun.lockb'
23
- ]))).toBe('bun');
24
- });
25
- it('detects npm', ()=>{
26
- expect(detectPackageManager('/p', existsFor([
27
- 'package-lock.json'
28
- ]))).toBe('npm');
29
- });
30
- it('defaults to npm when no lockfile exists', ()=>{
31
- expect(detectPackageManager('/p', ()=>false)).toBe('npm');
32
- });
33
- it('prefers pnpm when multiple lockfiles exist', ()=>{
34
- expect(detectPackageManager('/p', existsFor([
35
- 'pnpm-lock.yaml',
36
- 'yarn.lock'
37
- ]))).toBe('pnpm');
38
- });
39
- });
40
-
41
- //# sourceMappingURL=detectPackageManager.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/upgrade/detectPackageManager.spec.ts"],"sourcesContent":["import { describe, expect, it } from 'vitest'\n\nimport { detectPackageManager } from './detectPackageManager.js'\n\nconst existsFor = (present: string[]) => (path: string) =>\n present.some((name) => path.endsWith(name))\n\ndescribe('detectPackageManager', () => {\n it('detects pnpm', () => {\n expect(detectPackageManager('/p', existsFor(['pnpm-lock.yaml']))).toBe('pnpm')\n })\n\n it('detects yarn', () => {\n expect(detectPackageManager('/p', existsFor(['yarn.lock']))).toBe('yarn')\n })\n\n it('detects bun', () => {\n expect(detectPackageManager('/p', existsFor(['bun.lock']))).toBe('bun')\n })\n\n it('detects bun via bun.lockb', () => {\n expect(detectPackageManager('/p', existsFor(['bun.lockb']))).toBe('bun')\n })\n\n it('detects npm', () => {\n expect(detectPackageManager('/p', existsFor(['package-lock.json']))).toBe('npm')\n })\n\n it('defaults to npm when no lockfile exists', () => {\n expect(detectPackageManager('/p', () => false)).toBe('npm')\n })\n\n it('prefers pnpm when multiple lockfiles exist', () => {\n expect(detectPackageManager('/p', existsFor(['pnpm-lock.yaml', 'yarn.lock']))).toBe('pnpm')\n })\n})\n"],"names":["describe","expect","it","detectPackageManager","existsFor","present","path","some","name","endsWith","toBe"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,SAAQ;AAE7C,SAASC,oBAAoB,QAAQ,4BAA2B;AAEhE,MAAMC,YAAY,CAACC,UAAsB,CAACC,OACxCD,QAAQE,IAAI,CAAC,CAACC,OAASF,KAAKG,QAAQ,CAACD;AAEvCR,SAAS,wBAAwB;IAC/BE,GAAG,gBAAgB;QACjBD,OAAOE,qBAAqB,MAAMC,UAAU;YAAC;SAAiB,IAAIM,IAAI,CAAC;IACzE;IAEAR,GAAG,gBAAgB;QACjBD,OAAOE,qBAAqB,MAAMC,UAAU;YAAC;SAAY,IAAIM,IAAI,CAAC;IACpE;IAEAR,GAAG,eAAe;QAChBD,OAAOE,qBAAqB,MAAMC,UAAU;YAAC;SAAW,IAAIM,IAAI,CAAC;IACnE;IAEAR,GAAG,6BAA6B;QAC9BD,OAAOE,qBAAqB,MAAMC,UAAU;YAAC;SAAY,IAAIM,IAAI,CAAC;IACpE;IAEAR,GAAG,eAAe;QAChBD,OAAOE,qBAAqB,MAAMC,UAAU;YAAC;SAAoB,IAAIM,IAAI,CAAC;IAC5E;IAEAR,GAAG,2CAA2C;QAC5CD,OAAOE,qBAAqB,MAAM,IAAM,QAAQO,IAAI,CAAC;IACvD;IAEAR,GAAG,8CAA8C;QAC/CD,OAAOE,qBAAqB,MAAMC,UAAU;YAAC;YAAkB;SAAY,IAAIM,IAAI,CAAC;IACtF;AACF"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.spec.d.ts","sourceRoot":"","sources":["../../src/upgrade/index.spec.ts"],"names":[],"mappings":""}
@@ -1,132 +0,0 @@
1
- import { existsSync, mkdtempSync, writeFileSync } from 'node:fs';
2
- import { tmpdir } from 'node:os';
3
- import { join } from 'node:path';
4
- import { describe, expect, it, vi } from 'vitest';
5
- import { runUpgrade } from './index.js';
6
- const packuments = {
7
- '@payloadcms/next': {
8
- 'dist-tags': {
9
- canary: '4.0.0-canary.20'
10
- },
11
- versions: {
12
- '4.0.0-canary.20': {
13
- peerDependencies: {
14
- next: '>=16.2.6 <17.0.0'
15
- }
16
- }
17
- }
18
- },
19
- '@types/node': {
20
- versions: {
21
- '24.12.3': {}
22
- }
23
- },
24
- next: {
25
- versions: {
26
- '16.9.3': {}
27
- }
28
- },
29
- payload: {
30
- 'dist-tags': {
31
- canary: '4.0.0-canary.20'
32
- },
33
- versions: {
34
- '4.0.0-canary.20': {
35
- engines: {
36
- node: '>=24.15.0'
37
- }
38
- }
39
- }
40
- }
41
- };
42
- const makeDeps = (overrides = {})=>({
43
- // Real fs so the temp-project package.json is found; no lockfile -> npm.
44
- exists: existsSync,
45
- fetchRegistry: (name)=>Promise.resolve(packuments[name] ?? {}),
46
- spawn: vi.fn().mockResolvedValue({
47
- code: 0
48
- }),
49
- ...overrides
50
- });
51
- const makeProject = ()=>{
52
- const dir = mkdtempSync(join(tmpdir(), 'codemod-upgrade-'));
53
- writeFileSync(join(dir, 'package.json'), JSON.stringify({
54
- dependencies: {
55
- payload: '^3.0.0'
56
- }
57
- }, null, 2) + '\n');
58
- return dir;
59
- };
60
- describe('runUpgrade', ()=>{
61
- it('installs before running transforms', async ()=>{
62
- const order = [];
63
- const spawn = vi.fn().mockImplementation(()=>{
64
- order.push('install');
65
- return Promise.resolve({
66
- code: 0
67
- });
68
- });
69
- const runTransforms = vi.fn().mockImplementation(()=>{
70
- order.push('transforms');
71
- return Promise.resolve({
72
- failed: false,
73
- results: []
74
- });
75
- });
76
- await runUpgrade({
77
- flags: {
78
- dry: false,
79
- force: true,
80
- tag: 'canary'
81
- },
82
- path: makeProject()
83
- }, makeDeps({
84
- spawn
85
- }), {
86
- runTransforms
87
- });
88
- expect(order).toEqual([
89
- 'install',
90
- 'transforms'
91
- ]);
92
- });
93
- it('aborts before transforms when install fails', async ()=>{
94
- const runTransforms = vi.fn();
95
- const result = await runUpgrade({
96
- flags: {
97
- dry: false,
98
- force: true,
99
- tag: 'canary'
100
- },
101
- path: makeProject()
102
- }, makeDeps({
103
- spawn: vi.fn().mockResolvedValue({
104
- code: 1
105
- })
106
- }), {
107
- runTransforms
108
- });
109
- expect(runTransforms).not.toHaveBeenCalled();
110
- expect(result.failed).toBe(true);
111
- });
112
- it('dry run writes nothing, does not install or transform', async ()=>{
113
- const spawn = vi.fn();
114
- const runTransforms = vi.fn();
115
- await runUpgrade({
116
- flags: {
117
- dry: true,
118
- force: true,
119
- tag: 'canary'
120
- },
121
- path: makeProject()
122
- }, makeDeps({
123
- spawn
124
- }), {
125
- runTransforms
126
- });
127
- expect(spawn).not.toHaveBeenCalled();
128
- expect(runTransforms).not.toHaveBeenCalled();
129
- });
130
- });
131
-
132
- //# sourceMappingURL=index.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/upgrade/index.spec.ts"],"sourcesContent":["import { existsSync, mkdtempSync, writeFileSync } from 'node:fs'\nimport { tmpdir } from 'node:os'\nimport { join } from 'node:path'\nimport { describe, expect, it, vi } from 'vitest'\n\nimport type { RegistryPackument, UpgradeDeps } from './types.js'\n\nimport { runUpgrade } from './index.js'\n\nconst packuments: Record<string, RegistryPackument> = {\n '@payloadcms/next': {\n 'dist-tags': { canary: '4.0.0-canary.20' },\n versions: { '4.0.0-canary.20': { peerDependencies: { next: '>=16.2.6 <17.0.0' } } },\n },\n '@types/node': { versions: { '24.12.3': {} } },\n next: { versions: { '16.9.3': {} } },\n payload: {\n 'dist-tags': { canary: '4.0.0-canary.20' },\n versions: { '4.0.0-canary.20': { engines: { node: '>=24.15.0' } } },\n },\n}\n\nconst makeDeps = (overrides: Partial<UpgradeDeps> = {}): UpgradeDeps => ({\n // Real fs so the temp-project package.json is found; no lockfile -> npm.\n exists: existsSync,\n fetchRegistry: (name) => Promise.resolve(packuments[name] ?? {}),\n spawn: vi.fn().mockResolvedValue({ code: 0 }),\n ...overrides,\n})\n\nconst makeProject = (): string => {\n const dir = mkdtempSync(join(tmpdir(), 'codemod-upgrade-'))\n writeFileSync(\n join(dir, 'package.json'),\n JSON.stringify({ dependencies: { payload: '^3.0.0' } }, null, 2) + '\\n',\n )\n return dir\n}\n\ndescribe('runUpgrade', () => {\n it('installs before running transforms', async () => {\n const order: string[] = []\n const spawn = vi.fn().mockImplementation(() => {\n order.push('install')\n return Promise.resolve({ code: 0 })\n })\n const runTransforms = vi.fn().mockImplementation(() => {\n order.push('transforms')\n return Promise.resolve({ failed: false, results: [] })\n })\n\n await runUpgrade(\n { flags: { dry: false, force: true, tag: 'canary' }, path: makeProject() },\n makeDeps({ spawn }),\n { runTransforms },\n )\n\n expect(order).toEqual(['install', 'transforms'])\n })\n\n it('aborts before transforms when install fails', async () => {\n const runTransforms = vi.fn()\n\n const result = await runUpgrade(\n {\n flags: { dry: false, force: true, tag: 'canary' },\n path: makeProject(),\n },\n makeDeps({ spawn: vi.fn().mockResolvedValue({ code: 1 }) }),\n { runTransforms },\n )\n\n expect(runTransforms).not.toHaveBeenCalled()\n expect(result.failed).toBe(true)\n })\n\n it('dry run writes nothing, does not install or transform', async () => {\n const spawn = vi.fn()\n const runTransforms = vi.fn()\n\n await runUpgrade(\n { flags: { dry: true, force: true, tag: 'canary' }, path: makeProject() },\n makeDeps({ spawn }),\n { runTransforms },\n )\n\n expect(spawn).not.toHaveBeenCalled()\n expect(runTransforms).not.toHaveBeenCalled()\n })\n})\n"],"names":["existsSync","mkdtempSync","writeFileSync","tmpdir","join","describe","expect","it","vi","runUpgrade","packuments","canary","versions","peerDependencies","next","payload","engines","node","makeDeps","overrides","exists","fetchRegistry","name","Promise","resolve","spawn","fn","mockResolvedValue","code","makeProject","dir","JSON","stringify","dependencies","order","mockImplementation","push","runTransforms","failed","results","flags","dry","force","tag","path","toEqual","result","not","toHaveBeenCalled","toBe"],"mappings":"AAAA,SAASA,UAAU,EAAEC,WAAW,EAAEC,aAAa,QAAQ,UAAS;AAChE,SAASC,MAAM,QAAQ,UAAS;AAChC,SAASC,IAAI,QAAQ,YAAW;AAChC,SAASC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,EAAEC,EAAE,QAAQ,SAAQ;AAIjD,SAASC,UAAU,QAAQ,aAAY;AAEvC,MAAMC,aAAgD;IACpD,oBAAoB;QAClB,aAAa;YAAEC,QAAQ;QAAkB;QACzCC,UAAU;YAAE,mBAAmB;gBAAEC,kBAAkB;oBAAEC,MAAM;gBAAmB;YAAE;QAAE;IACpF;IACA,eAAe;QAAEF,UAAU;YAAE,WAAW,CAAC;QAAE;IAAE;IAC7CE,MAAM;QAAEF,UAAU;YAAE,UAAU,CAAC;QAAE;IAAE;IACnCG,SAAS;QACP,aAAa;YAAEJ,QAAQ;QAAkB;QACzCC,UAAU;YAAE,mBAAmB;gBAAEI,SAAS;oBAAEC,MAAM;gBAAY;YAAE;QAAE;IACpE;AACF;AAEA,MAAMC,WAAW,CAACC,YAAkC,CAAC,CAAC,GAAmB,CAAA;QACvE,yEAAyE;QACzEC,QAAQpB;QACRqB,eAAe,CAACC,OAASC,QAAQC,OAAO,CAACd,UAAU,CAACY,KAAK,IAAI,CAAC;QAC9DG,OAAOjB,GAAGkB,EAAE,GAAGC,iBAAiB,CAAC;YAAEC,MAAM;QAAE;QAC3C,GAAGT,SAAS;IACd,CAAA;AAEA,MAAMU,cAAc;IAClB,MAAMC,MAAM7B,YAAYG,KAAKD,UAAU;IACvCD,cACEE,KAAK0B,KAAK,iBACVC,KAAKC,SAAS,CAAC;QAAEC,cAAc;YAAElB,SAAS;QAAS;IAAE,GAAG,MAAM,KAAK;IAErE,OAAOe;AACT;AAEAzB,SAAS,cAAc;IACrBE,GAAG,sCAAsC;QACvC,MAAM2B,QAAkB,EAAE;QAC1B,MAAMT,QAAQjB,GAAGkB,EAAE,GAAGS,kBAAkB,CAAC;YACvCD,MAAME,IAAI,CAAC;YACX,OAAOb,QAAQC,OAAO,CAAC;gBAAEI,MAAM;YAAE;QACnC;QACA,MAAMS,gBAAgB7B,GAAGkB,EAAE,GAAGS,kBAAkB,CAAC;YAC/CD,MAAME,IAAI,CAAC;YACX,OAAOb,QAAQC,OAAO,CAAC;gBAAEc,QAAQ;gBAAOC,SAAS,EAAE;YAAC;QACtD;QAEA,MAAM9B,WACJ;YAAE+B,OAAO;gBAAEC,KAAK;gBAAOC,OAAO;gBAAMC,KAAK;YAAS;YAAGC,MAAMf;QAAc,GACzEX,SAAS;YAAEO;QAAM,IACjB;YAAEY;QAAc;QAGlB/B,OAAO4B,OAAOW,OAAO,CAAC;YAAC;YAAW;SAAa;IACjD;IAEAtC,GAAG,+CAA+C;QAChD,MAAM8B,gBAAgB7B,GAAGkB,EAAE;QAE3B,MAAMoB,SAAS,MAAMrC,WACnB;YACE+B,OAAO;gBAAEC,KAAK;gBAAOC,OAAO;gBAAMC,KAAK;YAAS;YAChDC,MAAMf;QACR,GACAX,SAAS;YAAEO,OAAOjB,GAAGkB,EAAE,GAAGC,iBAAiB,CAAC;gBAAEC,MAAM;YAAE;QAAG,IACzD;YAAES;QAAc;QAGlB/B,OAAO+B,eAAeU,GAAG,CAACC,gBAAgB;QAC1C1C,OAAOwC,OAAOR,MAAM,EAAEW,IAAI,CAAC;IAC7B;IAEA1C,GAAG,yDAAyD;QAC1D,MAAMkB,QAAQjB,GAAGkB,EAAE;QACnB,MAAMW,gBAAgB7B,GAAGkB,EAAE;QAE3B,MAAMjB,WACJ;YAAE+B,OAAO;gBAAEC,KAAK;gBAAMC,OAAO;gBAAMC,KAAK;YAAS;YAAGC,MAAMf;QAAc,GACxEX,SAAS;YAAEO;QAAM,IACjB;YAAEY;QAAc;QAGlB/B,OAAOmB,OAAOsB,GAAG,CAACC,gBAAgB;QAClC1C,OAAO+B,eAAeU,GAAG,CAACC,gBAAgB;IAC5C;AACF"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=packaging.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"packaging.spec.d.ts","sourceRoot":"","sources":["../../src/upgrade/packaging.spec.ts"],"names":[],"mappings":""}
@@ -1,29 +0,0 @@
1
- import { execFileSync } from 'node:child_process';
2
- import { existsSync, mkdtempSync } from 'node:fs';
3
- import { tmpdir } from 'node:os';
4
- import { dirname, join } from 'node:path';
5
- import { fileURLToPath } from 'node:url';
6
- import { describe, expect, it } from 'vitest';
7
- const here = dirname(fileURLToPath(import.meta.url));
8
- const pkgDir = join(here, '..', '..');
9
- describe('runbook packaging', ()=>{
10
- it('ships the hand-written runbook in src', ()=>{
11
- expect(existsSync(join(here, '..', 'runbook', 'payload-v4-upgrade.md'))).toBe(true);
12
- });
13
- it('copy script places the runbook and v4.mdx into the target runbook dir', ()=>{
14
- const scratch = mkdtempSync(join(tmpdir(), 'codemod-pkg-'));
15
- // Redirect the copy script's dist target so this test never touches the real dist/.
16
- execFileSync('node', [
17
- join(pkgDir, 'scripts', 'copy-migration-guide.mjs')
18
- ], {
19
- env: {
20
- ...process.env,
21
- CODEMOD_DIST_DIR: scratch
22
- }
23
- });
24
- expect(existsSync(join(scratch, 'runbook', 'payload-v4-upgrade.md'))).toBe(true);
25
- expect(existsSync(join(scratch, 'runbook', 'v4.mdx'))).toBe(true);
26
- });
27
- });
28
-
29
- //# sourceMappingURL=packaging.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/upgrade/packaging.spec.ts"],"sourcesContent":["import { execFileSync } from 'node:child_process'\nimport { existsSync, mkdtempSync } from 'node:fs'\nimport { tmpdir } from 'node:os'\nimport { dirname, join } from 'node:path'\nimport { fileURLToPath } from 'node:url'\nimport { describe, expect, it } from 'vitest'\n\nconst here = dirname(fileURLToPath(import.meta.url))\nconst pkgDir = join(here, '..', '..')\n\ndescribe('runbook packaging', () => {\n it('ships the hand-written runbook in src', () => {\n expect(existsSync(join(here, '..', 'runbook', 'payload-v4-upgrade.md'))).toBe(true)\n })\n\n it('copy script places the runbook and v4.mdx into the target runbook dir', () => {\n const scratch = mkdtempSync(join(tmpdir(), 'codemod-pkg-'))\n\n // Redirect the copy script's dist target so this test never touches the real dist/.\n execFileSync('node', [join(pkgDir, 'scripts', 'copy-migration-guide.mjs')], {\n env: { ...process.env, CODEMOD_DIST_DIR: scratch },\n })\n\n expect(existsSync(join(scratch, 'runbook', 'payload-v4-upgrade.md'))).toBe(true)\n expect(existsSync(join(scratch, 'runbook', 'v4.mdx'))).toBe(true)\n })\n})\n"],"names":["execFileSync","existsSync","mkdtempSync","tmpdir","dirname","join","fileURLToPath","describe","expect","it","here","url","pkgDir","toBe","scratch","env","process","CODEMOD_DIST_DIR"],"mappings":"AAAA,SAASA,YAAY,QAAQ,qBAAoB;AACjD,SAASC,UAAU,EAAEC,WAAW,QAAQ,UAAS;AACjD,SAASC,MAAM,QAAQ,UAAS;AAChC,SAASC,OAAO,EAAEC,IAAI,QAAQ,YAAW;AACzC,SAASC,aAAa,QAAQ,WAAU;AACxC,SAASC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,SAAQ;AAE7C,MAAMC,OAAON,QAAQE,cAAc,YAAYK,GAAG;AAClD,MAAMC,SAASP,KAAKK,MAAM,MAAM;AAEhCH,SAAS,qBAAqB;IAC5BE,GAAG,yCAAyC;QAC1CD,OAAOP,WAAWI,KAAKK,MAAM,MAAM,WAAW,2BAA2BG,IAAI,CAAC;IAChF;IAEAJ,GAAG,yEAAyE;QAC1E,MAAMK,UAAUZ,YAAYG,KAAKF,UAAU;QAE3C,oFAAoF;QACpFH,aAAa,QAAQ;YAACK,KAAKO,QAAQ,WAAW;SAA4B,EAAE;YAC1EG,KAAK;gBAAE,GAAGC,QAAQD,GAAG;gBAAEE,kBAAkBH;YAAQ;QACnD;QAEAN,OAAOP,WAAWI,KAAKS,SAAS,WAAW,2BAA2BD,IAAI,CAAC;QAC3EL,OAAOP,WAAWI,KAAKS,SAAS,WAAW,YAAYD,IAAI,CAAC;IAC9D;AACF"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=prompt.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompt.spec.d.ts","sourceRoot":"","sources":["../../src/upgrade/prompt.spec.ts"],"names":[],"mappings":""}
@@ -1,51 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { renderUpgradePrompt } from './prompt.js';
3
- describe('renderUpgradePrompt', ()=>{
4
- it('emits a project-agnostic upgrade command', ()=>{
5
- const out = renderUpgradePrompt();
6
- expect(out).toContain('npx @payloadcms/codemod upgrade .');
7
- });
8
- it('documents --tag as an inline option rather than baking a value', ()=>{
9
- const out = renderUpgradePrompt();
10
- expect(out).toContain('--tag <dist-tag>');
11
- });
12
- it('orders the steps: pre-upgrade before payload slice before Next before verify', ()=>{
13
- const out = renderUpgradePrompt();
14
- const preUpgradeStep = out.indexOf('## 1. Pre-upgrade migrations');
15
- const payloadStep = out.indexOf('## 2. Payload mechanical slice');
16
- const nextStep = out.indexOf('## 3. Next.js 16');
17
- const verifyStep = out.indexOf('## 6. Verify');
18
- expect(preUpgradeStep).toBeGreaterThan(-1);
19
- expect(preUpgradeStep).toBeLessThan(payloadStep);
20
- expect(payloadStep).toBeLessThan(nextStep);
21
- expect(nextStep).toBeLessThan(verifyStep);
22
- });
23
- it('places Slate -> Lexical in the pre-upgrade gate, not the post-upgrade work', ()=>{
24
- const out = renderUpgradePrompt();
25
- const slate = out.indexOf('Slate -> Lexical');
26
- const mechanicalSlice = out.indexOf('## 2. Payload mechanical slice');
27
- expect(slate).toBeGreaterThan(-1);
28
- expect(slate).toBeLessThan(mechanicalSlice);
29
- });
30
- it('delegates Next.js to Next own codemods rather than restating them', ()=>{
31
- const out = renderUpgradePrompt();
32
- expect(out).toContain('@next/codemod@canary upgrade latest');
33
- expect(out).toContain('next-async-request-api');
34
- });
35
- it('encodes the expected-unmet-peer invariant', ()=>{
36
- const out = renderUpgradePrompt();
37
- expect(out).toContain('EXPECTED');
38
- expect(out).toMatch(/do not downgrade\s+payload/i);
39
- });
40
- it('points at the migration guide and runbook without duplicating them', ()=>{
41
- const out = renderUpgradePrompt();
42
- expect(out).toContain('v4.mdx');
43
- expect(out).toContain('runbook/payload-v4-upgrade.md');
44
- });
45
- it('contains no figma references', ()=>{
46
- const out = renderUpgradePrompt();
47
- expect(out.toLowerCase()).not.toContain('figma');
48
- });
49
- });
50
-
51
- //# sourceMappingURL=prompt.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/upgrade/prompt.spec.ts"],"sourcesContent":["import { describe, expect, it } from 'vitest'\n\nimport { renderUpgradePrompt } from './prompt.js'\n\ndescribe('renderUpgradePrompt', () => {\n it('emits a project-agnostic upgrade command', () => {\n const out = renderUpgradePrompt()\n\n expect(out).toContain('npx @payloadcms/codemod upgrade .')\n })\n\n it('documents --tag as an inline option rather than baking a value', () => {\n const out = renderUpgradePrompt()\n\n expect(out).toContain('--tag <dist-tag>')\n })\n\n it('orders the steps: pre-upgrade before payload slice before Next before verify', () => {\n const out = renderUpgradePrompt()\n const preUpgradeStep = out.indexOf('## 1. Pre-upgrade migrations')\n const payloadStep = out.indexOf('## 2. Payload mechanical slice')\n const nextStep = out.indexOf('## 3. Next.js 16')\n const verifyStep = out.indexOf('## 6. Verify')\n\n expect(preUpgradeStep).toBeGreaterThan(-1)\n expect(preUpgradeStep).toBeLessThan(payloadStep)\n expect(payloadStep).toBeLessThan(nextStep)\n expect(nextStep).toBeLessThan(verifyStep)\n })\n\n it('places Slate -> Lexical in the pre-upgrade gate, not the post-upgrade work', () => {\n const out = renderUpgradePrompt()\n const slate = out.indexOf('Slate -> Lexical')\n const mechanicalSlice = out.indexOf('## 2. Payload mechanical slice')\n\n expect(slate).toBeGreaterThan(-1)\n expect(slate).toBeLessThan(mechanicalSlice)\n })\n\n it('delegates Next.js to Next own codemods rather than restating them', () => {\n const out = renderUpgradePrompt()\n\n expect(out).toContain('@next/codemod@canary upgrade latest')\n expect(out).toContain('next-async-request-api')\n })\n\n it('encodes the expected-unmet-peer invariant', () => {\n const out = renderUpgradePrompt()\n\n expect(out).toContain('EXPECTED')\n expect(out).toMatch(/do not downgrade\\s+payload/i)\n })\n\n it('points at the migration guide and runbook without duplicating them', () => {\n const out = renderUpgradePrompt()\n\n expect(out).toContain('v4.mdx')\n expect(out).toContain('runbook/payload-v4-upgrade.md')\n })\n\n it('contains no figma references', () => {\n const out = renderUpgradePrompt()\n\n expect(out.toLowerCase()).not.toContain('figma')\n })\n})\n"],"names":["describe","expect","it","renderUpgradePrompt","out","toContain","preUpgradeStep","indexOf","payloadStep","nextStep","verifyStep","toBeGreaterThan","toBeLessThan","slate","mechanicalSlice","toMatch","toLowerCase","not"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,SAAQ;AAE7C,SAASC,mBAAmB,QAAQ,cAAa;AAEjDH,SAAS,uBAAuB;IAC9BE,GAAG,4CAA4C;QAC7C,MAAME,MAAMD;QAEZF,OAAOG,KAAKC,SAAS,CAAC;IACxB;IAEAH,GAAG,kEAAkE;QACnE,MAAME,MAAMD;QAEZF,OAAOG,KAAKC,SAAS,CAAC;IACxB;IAEAH,GAAG,gFAAgF;QACjF,MAAME,MAAMD;QACZ,MAAMG,iBAAiBF,IAAIG,OAAO,CAAC;QACnC,MAAMC,cAAcJ,IAAIG,OAAO,CAAC;QAChC,MAAME,WAAWL,IAAIG,OAAO,CAAC;QAC7B,MAAMG,aAAaN,IAAIG,OAAO,CAAC;QAE/BN,OAAOK,gBAAgBK,eAAe,CAAC,CAAC;QACxCV,OAAOK,gBAAgBM,YAAY,CAACJ;QACpCP,OAAOO,aAAaI,YAAY,CAACH;QACjCR,OAAOQ,UAAUG,YAAY,CAACF;IAChC;IAEAR,GAAG,8EAA8E;QAC/E,MAAME,MAAMD;QACZ,MAAMU,QAAQT,IAAIG,OAAO,CAAC;QAC1B,MAAMO,kBAAkBV,IAAIG,OAAO,CAAC;QAEpCN,OAAOY,OAAOF,eAAe,CAAC,CAAC;QAC/BV,OAAOY,OAAOD,YAAY,CAACE;IAC7B;IAEAZ,GAAG,qEAAqE;QACtE,MAAME,MAAMD;QAEZF,OAAOG,KAAKC,SAAS,CAAC;QACtBJ,OAAOG,KAAKC,SAAS,CAAC;IACxB;IAEAH,GAAG,6CAA6C;QAC9C,MAAME,MAAMD;QAEZF,OAAOG,KAAKC,SAAS,CAAC;QACtBJ,OAAOG,KAAKW,OAAO,CAAC;IACtB;IAEAb,GAAG,sEAAsE;QACvE,MAAME,MAAMD;QAEZF,OAAOG,KAAKC,SAAS,CAAC;QACtBJ,OAAOG,KAAKC,SAAS,CAAC;IACxB;IAEAH,GAAG,gCAAgC;QACjC,MAAME,MAAMD;QAEZF,OAAOG,IAAIY,WAAW,IAAIC,GAAG,CAACZ,SAAS,CAAC;IAC1C;AACF"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=report.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"report.spec.d.ts","sourceRoot":"","sources":["../../src/upgrade/report.spec.ts"],"names":[],"mappings":""}
@@ -1,87 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { renderReport } from './report.js';
3
- describe('renderReport', ()=>{
4
- it('renders versions, overrides, transforms, next line, and runbook pointer', ()=>{
5
- const out = renderReport({
6
- floorsWritten: [
7
- 'typescript',
8
- '@types/node',
9
- 'engines.node'
10
- ],
11
- nextTarget: '16.9.3',
12
- overridesRemoved: [
13
- 'pnpm.overrides.payload'
14
- ],
15
- runbookPath: '/x/dist/runbook/payload-v4-upgrade.md',
16
- transforms: [
17
- {
18
- filesChanged: [
19
- 'a.ts'
20
- ],
21
- name: 'migrate-versions-default',
22
- notes: [
23
- 'review X'
24
- ]
25
- }
26
- ],
27
- versions: [
28
- {
29
- name: 'payload',
30
- ok: true,
31
- resolved: '4.0.0-canary.20',
32
- wrote: '4.0.0-canary.20'
33
- }
34
- ]
35
- });
36
- expect(out).toContain('payload');
37
- expect(out).toContain('4.0.0-canary.20');
38
- expect(out).toContain('pnpm.overrides.payload');
39
- expect(out).toContain('migrate-versions-default');
40
- expect(out).toContain('review X');
41
- expect(out).toContain('16.9.3');
42
- expect(out).toContain('payload-v4-upgrade.md');
43
- expect(out).toContain('Floors written');
44
- expect(out).toContain('typescript');
45
- });
46
- it('flags a resolution mismatch as not confirmed v4', ()=>{
47
- const out = renderReport({
48
- floorsWritten: [],
49
- nextTarget: null,
50
- overridesRemoved: [],
51
- runbookPath: '/x/runbook.md',
52
- transforms: [],
53
- versions: [
54
- {
55
- name: 'payload',
56
- ok: false,
57
- resolved: '3.40.0',
58
- wrote: '4.0.0-canary.20'
59
- }
60
- ]
61
- });
62
- expect(out).toContain('MISMATCH');
63
- expect(out).toContain('NOT confirmed v4');
64
- expect(out).not.toContain('Floors written');
65
- });
66
- it('renders a failed transform with [FAIL] and its error message', ()=>{
67
- const out = renderReport({
68
- floorsWritten: [],
69
- nextTarget: null,
70
- overridesRemoved: [],
71
- runbookPath: '/x/runbook.md',
72
- transforms: [
73
- {
74
- error: new Error('boom'),
75
- filesChanged: [],
76
- name: 'broken-transform'
77
- }
78
- ],
79
- versions: []
80
- });
81
- expect(out).toContain('[FAIL]');
82
- expect(out).toContain('broken-transform');
83
- expect(out).toContain('boom');
84
- });
85
- });
86
-
87
- //# sourceMappingURL=report.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/upgrade/report.spec.ts"],"sourcesContent":["import { describe, expect, it } from 'vitest'\n\nimport { renderReport } from './report.js'\n\ndescribe('renderReport', () => {\n it('renders versions, overrides, transforms, next line, and runbook pointer', () => {\n const out = renderReport({\n floorsWritten: ['typescript', '@types/node', 'engines.node'],\n nextTarget: '16.9.3',\n overridesRemoved: ['pnpm.overrides.payload'],\n runbookPath: '/x/dist/runbook/payload-v4-upgrade.md',\n transforms: [\n { filesChanged: ['a.ts'], name: 'migrate-versions-default', notes: ['review X'] },\n ],\n versions: [\n { name: 'payload', ok: true, resolved: '4.0.0-canary.20', wrote: '4.0.0-canary.20' },\n ],\n })\n\n expect(out).toContain('payload')\n expect(out).toContain('4.0.0-canary.20')\n expect(out).toContain('pnpm.overrides.payload')\n expect(out).toContain('migrate-versions-default')\n expect(out).toContain('review X')\n expect(out).toContain('16.9.3')\n expect(out).toContain('payload-v4-upgrade.md')\n expect(out).toContain('Floors written')\n expect(out).toContain('typescript')\n })\n\n it('flags a resolution mismatch as not confirmed v4', () => {\n const out = renderReport({\n floorsWritten: [],\n nextTarget: null,\n overridesRemoved: [],\n runbookPath: '/x/runbook.md',\n transforms: [],\n versions: [{ name: 'payload', ok: false, resolved: '3.40.0', wrote: '4.0.0-canary.20' }],\n })\n\n expect(out).toContain('MISMATCH')\n expect(out).toContain('NOT confirmed v4')\n expect(out).not.toContain('Floors written')\n })\n\n it('renders a failed transform with [FAIL] and its error message', () => {\n const out = renderReport({\n floorsWritten: [],\n nextTarget: null,\n overridesRemoved: [],\n runbookPath: '/x/runbook.md',\n transforms: [{ error: new Error('boom'), filesChanged: [], name: 'broken-transform' }],\n versions: [],\n })\n\n expect(out).toContain('[FAIL]')\n expect(out).toContain('broken-transform')\n expect(out).toContain('boom')\n })\n})\n"],"names":["describe","expect","it","renderReport","out","floorsWritten","nextTarget","overridesRemoved","runbookPath","transforms","filesChanged","name","notes","versions","ok","resolved","wrote","toContain","not","error","Error"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,SAAQ;AAE7C,SAASC,YAAY,QAAQ,cAAa;AAE1CH,SAAS,gBAAgB;IACvBE,GAAG,2EAA2E;QAC5E,MAAME,MAAMD,aAAa;YACvBE,eAAe;gBAAC;gBAAc;gBAAe;aAAe;YAC5DC,YAAY;YACZC,kBAAkB;gBAAC;aAAyB;YAC5CC,aAAa;YACbC,YAAY;gBACV;oBAAEC,cAAc;wBAAC;qBAAO;oBAAEC,MAAM;oBAA4BC,OAAO;wBAAC;qBAAW;gBAAC;aACjF;YACDC,UAAU;gBACR;oBAAEF,MAAM;oBAAWG,IAAI;oBAAMC,UAAU;oBAAmBC,OAAO;gBAAkB;aACpF;QACH;QAEAf,OAAOG,KAAKa,SAAS,CAAC;QACtBhB,OAAOG,KAAKa,SAAS,CAAC;QACtBhB,OAAOG,KAAKa,SAAS,CAAC;QACtBhB,OAAOG,KAAKa,SAAS,CAAC;QACtBhB,OAAOG,KAAKa,SAAS,CAAC;QACtBhB,OAAOG,KAAKa,SAAS,CAAC;QACtBhB,OAAOG,KAAKa,SAAS,CAAC;QACtBhB,OAAOG,KAAKa,SAAS,CAAC;QACtBhB,OAAOG,KAAKa,SAAS,CAAC;IACxB;IAEAf,GAAG,mDAAmD;QACpD,MAAME,MAAMD,aAAa;YACvBE,eAAe,EAAE;YACjBC,YAAY;YACZC,kBAAkB,EAAE;YACpBC,aAAa;YACbC,YAAY,EAAE;YACdI,UAAU;gBAAC;oBAAEF,MAAM;oBAAWG,IAAI;oBAAOC,UAAU;oBAAUC,OAAO;gBAAkB;aAAE;QAC1F;QAEAf,OAAOG,KAAKa,SAAS,CAAC;QACtBhB,OAAOG,KAAKa,SAAS,CAAC;QACtBhB,OAAOG,KAAKc,GAAG,CAACD,SAAS,CAAC;IAC5B;IAEAf,GAAG,gEAAgE;QACjE,MAAME,MAAMD,aAAa;YACvBE,eAAe,EAAE;YACjBC,YAAY;YACZC,kBAAkB,EAAE;YACpBC,aAAa;YACbC,YAAY;gBAAC;oBAAEU,OAAO,IAAIC,MAAM;oBAASV,cAAc,EAAE;oBAAEC,MAAM;gBAAmB;aAAE;YACtFE,UAAU,EAAE;QACd;QAEAZ,OAAOG,KAAKa,SAAS,CAAC;QACtBhB,OAAOG,KAAKa,SAAS,CAAC;QACtBhB,OAAOG,KAAKa,SAAS,CAAC;IACxB;AACF"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=resolveVersions.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolveVersions.spec.d.ts","sourceRoot":"","sources":["../../src/upgrade/resolveVersions.spec.ts"],"names":[],"mappings":""}
@@ -1,82 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { resolveVersions } from './resolveVersions.js';
3
- const packuments = {
4
- '@payloadcms/next': {
5
- 'dist-tags': {
6
- canary: '4.0.0-canary.20'
7
- },
8
- versions: {
9
- '4.0.0-canary.20': {
10
- peerDependencies: {
11
- next: '>=16.2.6 <17.0.0'
12
- }
13
- }
14
- }
15
- },
16
- '@types/node': {
17
- 'dist-tags': {
18
- latest: '24.12.3'
19
- },
20
- versions: {
21
- '22.9.0': {},
22
- '24.10.0': {},
23
- '24.12.3': {},
24
- '25.0.0': {}
25
- }
26
- },
27
- next: {
28
- 'dist-tags': {
29
- latest: '16.9.3'
30
- },
31
- versions: {
32
- '15.5.0': {},
33
- '16.2.6': {},
34
- '16.9.3': {},
35
- '17.0.0': {}
36
- }
37
- },
38
- payload: {
39
- 'dist-tags': {
40
- canary: '4.0.0-canary.20'
41
- },
42
- versions: {
43
- '4.0.0-canary.20': {
44
- engines: {
45
- node: '>=24.15.0'
46
- }
47
- }
48
- }
49
- }
50
- };
51
- const fetchRegistry = (name)=>{
52
- const found = packuments[name];
53
- if (!found) {
54
- throw new Error(`unexpected fetch: ${name}`);
55
- }
56
- return Promise.resolve(found);
57
- };
58
- describe('resolveVersions', ()=>{
59
- it('computes the written targets and the report-only Next target', async ()=>{
60
- const resolved = await resolveVersions({
61
- fetchRegistry,
62
- tag: 'canary'
63
- });
64
- expect(resolved).toEqual({
65
- enginesNode: '>=24.15.0',
66
- nextTarget: '16.9.3',
67
- payloadVersion: '4.0.0-canary.20',
68
- typesNode: '24.12.3',
69
- typescript: '6.0.3'
70
- });
71
- });
72
- it('throws when the dist-tag is missing', async ()=>{
73
- await expect(resolveVersions({
74
- fetchRegistry: ()=>Promise.resolve({
75
- 'dist-tags': {}
76
- }),
77
- tag: 'canary'
78
- })).rejects.toThrow(/dist-tag "canary"/);
79
- });
80
- });
81
-
82
- //# sourceMappingURL=resolveVersions.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/upgrade/resolveVersions.spec.ts"],"sourcesContent":["import { describe, expect, it } from 'vitest'\n\nimport type { FetchRegistry, RegistryPackument } from './types.js'\n\nimport { resolveVersions } from './resolveVersions.js'\n\nconst packuments: Record<string, RegistryPackument> = {\n '@payloadcms/next': {\n 'dist-tags': { canary: '4.0.0-canary.20' },\n versions: {\n '4.0.0-canary.20': { peerDependencies: { next: '>=16.2.6 <17.0.0' } },\n },\n },\n '@types/node': {\n 'dist-tags': { latest: '24.12.3' },\n versions: {\n '22.9.0': {},\n '24.10.0': {},\n '24.12.3': {},\n '25.0.0': {},\n },\n },\n next: {\n 'dist-tags': { latest: '16.9.3' },\n versions: {\n '15.5.0': {},\n '16.2.6': {},\n '16.9.3': {},\n '17.0.0': {},\n },\n },\n payload: {\n 'dist-tags': { canary: '4.0.0-canary.20' },\n versions: {\n '4.0.0-canary.20': { engines: { node: '>=24.15.0' } },\n },\n },\n}\n\nconst fetchRegistry: FetchRegistry = (name) => {\n const found = packuments[name]\n if (!found) {\n throw new Error(`unexpected fetch: ${name}`)\n }\n return Promise.resolve(found)\n}\n\ndescribe('resolveVersions', () => {\n it('computes the written targets and the report-only Next target', async () => {\n const resolved = await resolveVersions({ fetchRegistry, tag: 'canary' })\n\n expect(resolved).toEqual({\n enginesNode: '>=24.15.0',\n nextTarget: '16.9.3', // newest within >=16.2.6 <17, excludes 17.0.0\n payloadVersion: '4.0.0-canary.20',\n typesNode: '24.12.3', // newest within major 24, excludes 25.0.0\n typescript: '6.0.3',\n })\n })\n\n it('throws when the dist-tag is missing', async () => {\n await expect(\n resolveVersions({\n fetchRegistry: () => Promise.resolve({ 'dist-tags': {} }),\n tag: 'canary',\n }),\n ).rejects.toThrow(/dist-tag \"canary\"/)\n })\n})\n"],"names":["describe","expect","it","resolveVersions","packuments","canary","versions","peerDependencies","next","latest","payload","engines","node","fetchRegistry","name","found","Error","Promise","resolve","resolved","tag","toEqual","enginesNode","nextTarget","payloadVersion","typesNode","typescript","rejects","toThrow"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,SAAQ;AAI7C,SAASC,eAAe,QAAQ,uBAAsB;AAEtD,MAAMC,aAAgD;IACpD,oBAAoB;QAClB,aAAa;YAAEC,QAAQ;QAAkB;QACzCC,UAAU;YACR,mBAAmB;gBAAEC,kBAAkB;oBAAEC,MAAM;gBAAmB;YAAE;QACtE;IACF;IACA,eAAe;QACb,aAAa;YAAEC,QAAQ;QAAU;QACjCH,UAAU;YACR,UAAU,CAAC;YACX,WAAW,CAAC;YACZ,WAAW,CAAC;YACZ,UAAU,CAAC;QACb;IACF;IACAE,MAAM;QACJ,aAAa;YAAEC,QAAQ;QAAS;QAChCH,UAAU;YACR,UAAU,CAAC;YACX,UAAU,CAAC;YACX,UAAU,CAAC;YACX,UAAU,CAAC;QACb;IACF;IACAI,SAAS;QACP,aAAa;YAAEL,QAAQ;QAAkB;QACzCC,UAAU;YACR,mBAAmB;gBAAEK,SAAS;oBAAEC,MAAM;gBAAY;YAAE;QACtD;IACF;AACF;AAEA,MAAMC,gBAA+B,CAACC;IACpC,MAAMC,QAAQX,UAAU,CAACU,KAAK;IAC9B,IAAI,CAACC,OAAO;QACV,MAAM,IAAIC,MAAM,CAAC,kBAAkB,EAAEF,MAAM;IAC7C;IACA,OAAOG,QAAQC,OAAO,CAACH;AACzB;AAEAf,SAAS,mBAAmB;IAC1BE,GAAG,gEAAgE;QACjE,MAAMiB,WAAW,MAAMhB,gBAAgB;YAAEU;YAAeO,KAAK;QAAS;QAEtEnB,OAAOkB,UAAUE,OAAO,CAAC;YACvBC,aAAa;YACbC,YAAY;YACZC,gBAAgB;YAChBC,WAAW;YACXC,YAAY;QACd;IACF;IAEAxB,GAAG,uCAAuC;QACxC,MAAMD,OACJE,gBAAgB;YACdU,eAAe,IAAMI,QAAQC,OAAO,CAAC;oBAAE,aAAa,CAAC;gBAAE;YACvDE,KAAK;QACP,IACAO,OAAO,CAACC,OAAO,CAAC;IACpB;AACF"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=rewritePackageJson.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rewritePackageJson.spec.d.ts","sourceRoot":"","sources":["../../src/upgrade/rewritePackageJson.spec.ts"],"names":[],"mappings":""}