@payloadcms/codemod 4.0.0-internal.cc18726 → 4.0.0-internal.cd47d20

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 (357) hide show
  1. package/README.md +92 -28
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +41 -27
  4. package/dist/cli.js.map +1 -1
  5. package/dist/cli.parseFlags.d.ts +14 -0
  6. package/dist/cli.parseFlags.d.ts.map +1 -1
  7. package/dist/cli.parseFlags.js +29 -2
  8. package/dist/cli.parseFlags.js.map +1 -1
  9. package/dist/registry.d.ts.map +1 -1
  10. package/dist/registry.js +14 -0
  11. package/dist/registry.js.map +1 -1
  12. package/dist/runbook/payload-v4-upgrade.md +55 -0
  13. package/dist/runbook/v4.mdx +2186 -0
  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-strict-draft-types/basic.input.js +28 -0
  178. package/dist/transforms/remove-strict-draft-types/basic.input.js.map +1 -0
  179. package/dist/transforms/remove-strict-draft-types/basic.output.js +24 -0
  180. package/dist/transforms/remove-strict-draft-types/basic.output.js.map +1 -0
  181. package/dist/transforms/remove-strict-draft-types/index.d.ts +3 -0
  182. package/dist/transforms/remove-strict-draft-types/index.d.ts.map +1 -0
  183. package/dist/transforms/remove-strict-draft-types/index.js +44 -0
  184. package/dist/transforms/remove-strict-draft-types/index.js.map +1 -0
  185. package/dist/transforms/remove-strict-draft-types/no-match.input.js +11 -0
  186. package/dist/transforms/remove-strict-draft-types/no-match.input.js.map +1 -0
  187. package/dist/transforms/remove-versions-true/index.js +4 -4
  188. package/dist/transforms/remove-versions-true/index.js.map +1 -1
  189. package/dist/upgrade/defaultTag.d.ts +9 -0
  190. package/dist/upgrade/defaultTag.d.ts.map +1 -0
  191. package/dist/upgrade/defaultTag.js +25 -0
  192. package/dist/upgrade/defaultTag.js.map +1 -0
  193. package/dist/upgrade/detectPackageManager.d.ts +8 -0
  194. package/dist/upgrade/detectPackageManager.d.ts.map +1 -0
  195. package/dist/upgrade/detectPackageManager.js +38 -0
  196. package/dist/upgrade/detectPackageManager.js.map +1 -0
  197. package/dist/upgrade/dispatch.d.ts +38 -0
  198. package/dist/upgrade/dispatch.d.ts.map +1 -0
  199. package/dist/upgrade/dispatch.js +132 -0
  200. package/dist/upgrade/dispatch.js.map +1 -0
  201. package/dist/upgrade/index.d.ts +25 -0
  202. package/dist/upgrade/index.d.ts.map +1 -0
  203. package/dist/upgrade/index.js +209 -0
  204. package/dist/upgrade/index.js.map +1 -0
  205. package/dist/upgrade/prompt.d.ts +14 -0
  206. package/dist/upgrade/prompt.d.ts.map +1 -0
  207. package/dist/upgrade/prompt.js +77 -0
  208. package/dist/upgrade/prompt.js.map +1 -0
  209. package/dist/upgrade/report.d.ts +21 -0
  210. package/dist/upgrade/report.d.ts.map +1 -0
  211. package/dist/upgrade/report.js +47 -0
  212. package/dist/upgrade/report.js.map +1 -0
  213. package/dist/upgrade/resolveVersions.d.ts +13 -0
  214. package/dist/upgrade/resolveVersions.d.ts.map +1 -0
  215. package/dist/upgrade/resolveVersions.js +55 -0
  216. package/dist/upgrade/resolveVersions.js.map +1 -0
  217. package/dist/upgrade/rewritePackageJson.d.ts +32 -0
  218. package/dist/upgrade/rewritePackageJson.d.ts.map +1 -0
  219. package/dist/upgrade/rewritePackageJson.js +123 -0
  220. package/dist/upgrade/rewritePackageJson.js.map +1 -0
  221. package/dist/upgrade/runInstall.d.ts +16 -0
  222. package/dist/upgrade/runInstall.d.ts.map +1 -0
  223. package/dist/upgrade/runInstall.js +17 -0
  224. package/dist/upgrade/runInstall.js.map +1 -0
  225. package/dist/upgrade/selectAgent.d.ts +45 -0
  226. package/dist/upgrade/selectAgent.d.ts.map +1 -0
  227. package/dist/upgrade/selectAgent.js +54 -0
  228. package/dist/upgrade/selectAgent.js.map +1 -0
  229. package/dist/upgrade/selfCommand.d.ts +13 -0
  230. package/dist/upgrade/selfCommand.d.ts.map +1 -0
  231. package/dist/upgrade/selfCommand.js +17 -0
  232. package/dist/upgrade/selfCommand.js.map +1 -0
  233. package/dist/upgrade/types.d.ts +47 -0
  234. package/dist/upgrade/types.d.ts.map +1 -0
  235. package/dist/upgrade/types.js +11 -0
  236. package/dist/upgrade/types.js.map +1 -0
  237. package/dist/utils/project.d.ts +4 -0
  238. package/dist/utils/project.d.ts.map +1 -0
  239. package/dist/utils/project.js +30 -0
  240. package/dist/utils/project.js.map +1 -0
  241. package/package.json +8 -4
  242. package/dist/cli.parseFlags.spec.d.ts +0 -2
  243. package/dist/cli.parseFlags.spec.d.ts.map +0 -1
  244. package/dist/cli.parseFlags.spec.js +0 -49
  245. package/dist/cli.parseFlags.spec.js.map +0 -1
  246. package/dist/runner.spec.d.ts +0 -2
  247. package/dist/runner.spec.d.ts.map +0 -1
  248. package/dist/runner.spec.js +0 -88
  249. package/dist/runner.spec.js.map +0 -1
  250. package/dist/transforms/example-noop/index.spec.d.ts +0 -2
  251. package/dist/transforms/example-noop/index.spec.d.ts.map +0 -1
  252. package/dist/transforms/example-noop/index.spec.js +0 -29
  253. package/dist/transforms/example-noop/index.spec.js.map +0 -1
  254. package/dist/transforms/globals-components-edit/index.spec.d.ts +0 -2
  255. package/dist/transforms/globals-components-edit/index.spec.d.ts.map +0 -1
  256. package/dist/transforms/globals-components-edit/index.spec.js +0 -37
  257. package/dist/transforms/globals-components-edit/index.spec.js.map +0 -1
  258. package/dist/transforms/migrate-after-operation-read/index.spec.d.ts +0 -2
  259. package/dist/transforms/migrate-after-operation-read/index.spec.d.ts.map +0 -1
  260. package/dist/transforms/migrate-after-operation-read/index.spec.js +0 -62
  261. package/dist/transforms/migrate-after-operation-read/index.spec.js.map +0 -1
  262. package/dist/transforms/migrate-aliased-exports/index.spec.d.ts +0 -2
  263. package/dist/transforms/migrate-aliased-exports/index.spec.d.ts.map +0 -1
  264. package/dist/transforms/migrate-aliased-exports/index.spec.js +0 -55
  265. package/dist/transforms/migrate-aliased-exports/index.spec.js.map +0 -1
  266. package/dist/transforms/migrate-azure-chunk-large-files/index.spec.d.ts +0 -2
  267. package/dist/transforms/migrate-azure-chunk-large-files/index.spec.d.ts.map +0 -1
  268. package/dist/transforms/migrate-azure-chunk-large-files/index.spec.js +0 -67
  269. package/dist/transforms/migrate-azure-chunk-large-files/index.spec.js.map +0 -1
  270. package/dist/transforms/migrate-block-references-to-blocks/index.spec.d.ts +0 -2
  271. package/dist/transforms/migrate-block-references-to-blocks/index.spec.d.ts.map +0 -1
  272. package/dist/transforms/migrate-block-references-to-blocks/index.spec.js +0 -45
  273. package/dist/transforms/migrate-block-references-to-blocks/index.spec.js.map +0 -1
  274. package/dist/transforms/migrate-build-script/index.spec.d.ts +0 -2
  275. package/dist/transforms/migrate-build-script/index.spec.d.ts.map +0 -1
  276. package/dist/transforms/migrate-build-script/index.spec.js +0 -81
  277. package/dist/transforms/migrate-build-script/index.spec.js.map +0 -1
  278. package/dist/transforms/migrate-db-types-subpath/index.spec.d.ts +0 -2
  279. package/dist/transforms/migrate-db-types-subpath/index.spec.d.ts.map +0 -1
  280. package/dist/transforms/migrate-db-types-subpath/index.spec.js +0 -46
  281. package/dist/transforms/migrate-db-types-subpath/index.spec.js.map +0 -1
  282. package/dist/transforms/migrate-disabled-fields/index.spec.d.ts +0 -2
  283. package/dist/transforms/migrate-disabled-fields/index.spec.d.ts.map +0 -1
  284. package/dist/transforms/migrate-disabled-fields/index.spec.js +0 -73
  285. package/dist/transforms/migrate-disabled-fields/index.spec.js.map +0 -1
  286. package/dist/transforms/migrate-document-title-context/index.spec.d.ts +0 -2
  287. package/dist/transforms/migrate-document-title-context/index.spec.d.ts.map +0 -1
  288. package/dist/transforms/migrate-document-title-context/index.spec.js +0 -86
  289. package/dist/transforms/migrate-document-title-context/index.spec.js.map +0 -1
  290. package/dist/transforms/migrate-force-select/index.spec.d.ts +0 -2
  291. package/dist/transforms/migrate-force-select/index.spec.d.ts.map +0 -1
  292. package/dist/transforms/migrate-force-select/index.spec.js +0 -107
  293. package/dist/transforms/migrate-force-select/index.spec.js.map +0 -1
  294. package/dist/transforms/migrate-hide-api-url/index.spec.d.ts +0 -2
  295. package/dist/transforms/migrate-hide-api-url/index.spec.d.ts.map +0 -1
  296. package/dist/transforms/migrate-hide-api-url/index.spec.js +0 -118
  297. package/dist/transforms/migrate-hide-api-url/index.spec.js.map +0 -1
  298. package/dist/transforms/migrate-import-export-hooks/index.spec.d.ts +0 -2
  299. package/dist/transforms/migrate-import-export-hooks/index.spec.d.ts.map +0 -1
  300. package/dist/transforms/migrate-import-export-hooks/index.spec.js +0 -65
  301. package/dist/transforms/migrate-import-export-hooks/index.spec.js.map +0 -1
  302. package/dist/transforms/migrate-list-view-select-api/index.spec.d.ts +0 -2
  303. package/dist/transforms/migrate-list-view-select-api/index.spec.d.ts.map +0 -1
  304. package/dist/transforms/migrate-list-view-select-api/index.spec.js +0 -37
  305. package/dist/transforms/migrate-list-view-select-api/index.spec.js.map +0 -1
  306. package/dist/transforms/migrate-next-generate-viewport-export/index.spec.d.ts +0 -2
  307. package/dist/transforms/migrate-next-generate-viewport-export/index.spec.d.ts.map +0 -1
  308. package/dist/transforms/migrate-next-generate-viewport-export/index.spec.js +0 -41
  309. package/dist/transforms/migrate-next-generate-viewport-export/index.spec.js.map +0 -1
  310. package/dist/transforms/migrate-next-subpath-exports/index.spec.d.ts +0 -2
  311. package/dist/transforms/migrate-next-subpath-exports/index.spec.d.ts.map +0 -1
  312. package/dist/transforms/migrate-next-subpath-exports/index.spec.js +0 -46
  313. package/dist/transforms/migrate-next-subpath-exports/index.spec.js.map +0 -1
  314. package/dist/transforms/migrate-slug-field/index.spec.d.ts +0 -2
  315. package/dist/transforms/migrate-slug-field/index.spec.d.ts.map +0 -1
  316. package/dist/transforms/migrate-slug-field/index.spec.js +0 -47
  317. package/dist/transforms/migrate-slug-field/index.spec.js.map +0 -1
  318. package/dist/transforms/migrate-storage-adapters-to-config/index.spec.d.ts +0 -2
  319. package/dist/transforms/migrate-storage-adapters-to-config/index.spec.d.ts.map +0 -1
  320. package/dist/transforms/migrate-storage-adapters-to-config/index.spec.js +0 -85
  321. package/dist/transforms/migrate-storage-adapters-to-config/index.spec.js.map +0 -1
  322. package/dist/transforms/migrate-versions-default/index.spec.d.ts +0 -2
  323. package/dist/transforms/migrate-versions-default/index.spec.d.ts.map +0 -1
  324. package/dist/transforms/migrate-versions-default/index.spec.js +0 -81
  325. package/dist/transforms/migrate-versions-default/index.spec.js.map +0 -1
  326. package/dist/transforms/remove-group-by-true/index.spec.d.ts +0 -2
  327. package/dist/transforms/remove-group-by-true/index.spec.d.ts.map +0 -1
  328. package/dist/transforms/remove-group-by-true/index.spec.js +0 -47
  329. package/dist/transforms/remove-group-by-true/index.spec.js.map +0 -1
  330. package/dist/transforms/remove-localize-status-config/index.spec.d.ts +0 -2
  331. package/dist/transforms/remove-localize-status-config/index.spec.d.ts.map +0 -1
  332. package/dist/transforms/remove-localize-status-config/index.spec.js +0 -38
  333. package/dist/transforms/remove-localize-status-config/index.spec.js.map +0 -1
  334. package/dist/transforms/remove-publish-specific-locale/index.spec.d.ts +0 -2
  335. package/dist/transforms/remove-publish-specific-locale/index.spec.d.ts.map +0 -1
  336. package/dist/transforms/remove-publish-specific-locale/index.spec.js +0 -47
  337. package/dist/transforms/remove-publish-specific-locale/index.spec.js.map +0 -1
  338. package/dist/transforms/remove-versions-true/index.spec.d.ts +0 -2
  339. package/dist/transforms/remove-versions-true/index.spec.d.ts.map +0 -1
  340. package/dist/transforms/remove-versions-true/index.spec.js +0 -38
  341. package/dist/transforms/remove-versions-true/index.spec.js.map +0 -1
  342. package/dist/transforms/rename-experimental-table-feature/index.spec.d.ts +0 -2
  343. package/dist/transforms/rename-experimental-table-feature/index.spec.d.ts.map +0 -1
  344. package/dist/transforms/rename-experimental-table-feature/index.spec.js +0 -54
  345. package/dist/transforms/rename-experimental-table-feature/index.spec.js.map +0 -1
  346. package/dist/transforms/rename-storage-adapters-to-storage/index.spec.d.ts +0 -2
  347. package/dist/transforms/rename-storage-adapters-to-storage/index.spec.d.ts.map +0 -1
  348. package/dist/transforms/rename-storage-adapters-to-storage/index.spec.js +0 -55
  349. package/dist/transforms/rename-storage-adapters-to-storage/index.spec.js.map +0 -1
  350. package/dist/transforms/rename-typescript-schema-to-json-schema/index.spec.d.ts +0 -2
  351. package/dist/transforms/rename-typescript-schema-to-json-schema/index.spec.d.ts.map +0 -1
  352. package/dist/transforms/rename-typescript-schema-to-json-schema/index.spec.js +0 -45
  353. package/dist/transforms/rename-typescript-schema-to-json-schema/index.spec.js.map +0 -1
  354. package/dist/utils/packageJson.spec.d.ts +0 -2
  355. package/dist/utils/packageJson.spec.d.ts.map +0 -1
  356. package/dist/utils/packageJson.spec.js +0 -41
  357. package/dist/utils/packageJson.spec.js.map +0 -1
@@ -0,0 +1,41 @@
1
+ // payload.find() relying on the Payload 3 default
2
+ const posts = await payload.find({
3
+ collection: 'posts'
4
+ });
5
+ // payload.findByID() relying on the default
6
+ const post = await payload.findByID({
7
+ id: 1,
8
+ collection: 'posts'
9
+ });
10
+ // Reached through req.payload
11
+ const created = await req.payload.create({
12
+ collection: 'posts',
13
+ data: {
14
+ title: 'hello'
15
+ }
16
+ });
17
+ // A global operation
18
+ const menu = await payload.findGlobal({
19
+ slug: 'menu'
20
+ });
21
+ // Already explicit — must not change
22
+ const scoped = await payload.find({
23
+ collection: 'posts',
24
+ overrideAccess: false
25
+ });
26
+ // Jobs Local API operations also relied on the Payload 3 default
27
+ await payload.jobs.queue({
28
+ input: {},
29
+ task: 'sync'
30
+ });
31
+ await req.payload.jobs.run({
32
+ silent: true
33
+ });
34
+ await payload.jobs.run();
35
+ await payload.jobs.queue({
36
+ input: {},
37
+ task: 'sync'
38
+ });
39
+ export { };
40
+
41
+ //# sourceMappingURL=basic.input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/transforms/add-override-access-true/basic.input.ts"],"sourcesContent":["import type { Config } from 'payload'\n\n// payload.find() relying on the Payload 3 default\nconst posts = await payload.find({\n collection: 'posts',\n})\n\n// payload.findByID() relying on the default\nconst post = await payload.findByID({\n id: 1,\n collection: 'posts',\n})\n\n// Reached through req.payload\nconst created = await req.payload.create({\n collection: 'posts',\n data: { title: 'hello' },\n})\n\n// A global operation\nconst menu = await payload.findGlobal({\n slug: 'menu',\n})\n\n// Already explicit — must not change\nconst scoped = await payload.find({\n collection: 'posts',\n overrideAccess: false,\n})\n\n// Jobs Local API operations also relied on the Payload 3 default\nawait payload.jobs.queue({ input: {}, task: 'sync' })\nawait req.payload.jobs.run({ silent: true })\nawait payload.jobs.run()\nawait payload.jobs.queue({ input: {}, task: 'sync' } as never)\n"],"names":["posts","payload","find","collection","post","findByID","id","created","req","create","data","title","menu","findGlobal","slug","scoped","overrideAccess","jobs","queue","input","task","run","silent"],"mappings":"AAEA,kDAAkD;AAClD,MAAMA,QAAQ,MAAMC,QAAQC,IAAI,CAAC;IAC/BC,YAAY;AACd;AAEA,4CAA4C;AAC5C,MAAMC,OAAO,MAAMH,QAAQI,QAAQ,CAAC;IAClCC,IAAI;IACJH,YAAY;AACd;AAEA,8BAA8B;AAC9B,MAAMI,UAAU,MAAMC,IAAIP,OAAO,CAACQ,MAAM,CAAC;IACvCN,YAAY;IACZO,MAAM;QAAEC,OAAO;IAAQ;AACzB;AAEA,qBAAqB;AACrB,MAAMC,OAAO,MAAMX,QAAQY,UAAU,CAAC;IACpCC,MAAM;AACR;AAEA,qCAAqC;AACrC,MAAMC,SAAS,MAAMd,QAAQC,IAAI,CAAC;IAChCC,YAAY;IACZa,gBAAgB;AAClB;AAEA,iEAAiE;AACjE,MAAMf,QAAQgB,IAAI,CAACC,KAAK,CAAC;IAAEC,OAAO,CAAC;IAAGC,MAAM;AAAO;AACnD,MAAMZ,IAAIP,OAAO,CAACgB,IAAI,CAACI,GAAG,CAAC;IAAEC,QAAQ;AAAK;AAC1C,MAAMrB,QAAQgB,IAAI,CAACI,GAAG;AACtB,MAAMpB,QAAQgB,IAAI,CAACC,KAAK,CAAC;IAAEC,OAAO,CAAC;IAAGC,MAAM;AAAO;AAlCnD,WAAqC"}
@@ -0,0 +1,50 @@
1
+ // payload.find() relying on the Payload 3 default
2
+ const posts = await payload.find({
3
+ collection: 'posts',
4
+ overrideAccess: true
5
+ });
6
+ // payload.findByID() relying on the default
7
+ const post = await payload.findByID({
8
+ id: 1,
9
+ collection: 'posts',
10
+ overrideAccess: true
11
+ });
12
+ // Reached through req.payload
13
+ const created = await req.payload.create({
14
+ collection: 'posts',
15
+ data: {
16
+ title: 'hello'
17
+ },
18
+ overrideAccess: true
19
+ });
20
+ // A global operation
21
+ const menu = await payload.findGlobal({
22
+ slug: 'menu',
23
+ overrideAccess: true
24
+ });
25
+ // Already explicit — must not change
26
+ const scoped = await payload.find({
27
+ collection: 'posts',
28
+ overrideAccess: false
29
+ });
30
+ // Jobs Local API operations also relied on the Payload 3 default
31
+ await payload.jobs.queue({
32
+ input: {},
33
+ task: 'sync',
34
+ overrideAccess: true
35
+ });
36
+ await req.payload.jobs.run({
37
+ silent: true,
38
+ overrideAccess: true
39
+ });
40
+ await payload.jobs.run({
41
+ overrideAccess: true
42
+ });
43
+ await payload.jobs.queue({
44
+ input: {},
45
+ task: 'sync',
46
+ overrideAccess: true
47
+ });
48
+ export { };
49
+
50
+ //# sourceMappingURL=basic.output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/transforms/add-override-access-true/basic.output.ts"],"sourcesContent":["import type { Config } from 'payload'\n\n// payload.find() relying on the Payload 3 default\nconst posts = await payload.find({\n collection: 'posts',\n overrideAccess: true,\n})\n\n// payload.findByID() relying on the default\nconst post = await payload.findByID({\n id: 1,\n collection: 'posts',\n overrideAccess: true,\n})\n\n// Reached through req.payload\nconst created = await req.payload.create({\n collection: 'posts',\n data: { title: 'hello' },\n overrideAccess: true,\n})\n\n// A global operation\nconst menu = await payload.findGlobal({\n slug: 'menu',\n overrideAccess: true,\n})\n\n// Already explicit — must not change\nconst scoped = await payload.find({\n collection: 'posts',\n overrideAccess: false,\n})\n\n// Jobs Local API operations also relied on the Payload 3 default\nawait payload.jobs.queue({ input: {}, task: 'sync', overrideAccess: true })\nawait req.payload.jobs.run({ silent: true, overrideAccess: true })\nawait payload.jobs.run({ overrideAccess: true })\nawait payload.jobs.queue({ input: {}, task: 'sync', overrideAccess: true } as never)\n"],"names":["posts","payload","find","collection","overrideAccess","post","findByID","id","created","req","create","data","title","menu","findGlobal","slug","scoped","jobs","queue","input","task","run","silent"],"mappings":"AAEA,kDAAkD;AAClD,MAAMA,QAAQ,MAAMC,QAAQC,IAAI,CAAC;IAC/BC,YAAY;IACZC,gBAAgB;AAClB;AAEA,4CAA4C;AAC5C,MAAMC,OAAO,MAAMJ,QAAQK,QAAQ,CAAC;IAClCC,IAAI;IACJJ,YAAY;IACZC,gBAAgB;AAClB;AAEA,8BAA8B;AAC9B,MAAMI,UAAU,MAAMC,IAAIR,OAAO,CAACS,MAAM,CAAC;IACvCP,YAAY;IACZQ,MAAM;QAAEC,OAAO;IAAQ;IACvBR,gBAAgB;AAClB;AAEA,qBAAqB;AACrB,MAAMS,OAAO,MAAMZ,QAAQa,UAAU,CAAC;IACpCC,MAAM;IACNX,gBAAgB;AAClB;AAEA,qCAAqC;AACrC,MAAMY,SAAS,MAAMf,QAAQC,IAAI,CAAC;IAChCC,YAAY;IACZC,gBAAgB;AAClB;AAEA,iEAAiE;AACjE,MAAMH,QAAQgB,IAAI,CAACC,KAAK,CAAC;IAAEC,OAAO,CAAC;IAAGC,MAAM;IAAQhB,gBAAgB;AAAK;AACzE,MAAMK,IAAIR,OAAO,CAACgB,IAAI,CAACI,GAAG,CAAC;IAAEC,QAAQ;IAAMlB,gBAAgB;AAAK;AAChE,MAAMH,QAAQgB,IAAI,CAACI,GAAG,CAAC;IAAEjB,gBAAgB;AAAK;AAC9C,MAAMH,QAAQgB,IAAI,CAACC,KAAK,CAAC;IAAEC,OAAO,CAAC;IAAGC,MAAM;IAAQhB,gBAAgB;AAAK;AAtCzE,WAAqC"}
@@ -0,0 +1,11 @@
1
+ // A comment between two properties previously corrupted the preceding comma
2
+ // and placed the insert before the trailing property instead of at the end.
3
+ const doc = await payload.findByID({
4
+ id,
5
+ collection,
6
+ req,
7
+ // Include trashed documents when the document being synced is trashed
8
+ trash: isTrashDocument
9
+ });
10
+
11
+ //# sourceMappingURL=comment-between-properties.input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/transforms/add-override-access-true/comment-between-properties.input.ts"],"sourcesContent":["// A comment between two properties previously corrupted the preceding comma\n// and placed the insert before the trailing property instead of at the end.\nconst doc = await payload.findByID({\n id,\n collection,\n req,\n // Include trashed documents when the document being synced is trashed\n trash: isTrashDocument,\n})\n"],"names":["doc","payload","findByID","id","collection","req","trash","isTrashDocument"],"mappings":"AAAA,4EAA4E;AAC5E,4EAA4E;AAC5E,MAAMA,MAAM,MAAMC,QAAQC,QAAQ,CAAC;IACjCC;IACAC;IACAC;IACA,sEAAsE;IACtEC,OAAOC;AACT"}
@@ -0,0 +1,12 @@
1
+ // A comment between two properties previously corrupted the preceding comma
2
+ // and placed the insert before the trailing property instead of at the end.
3
+ const doc = await payload.findByID({
4
+ id,
5
+ collection,
6
+ req,
7
+ // Include trashed documents when the document being synced is trashed
8
+ trash: isTrashDocument,
9
+ overrideAccess: true
10
+ });
11
+
12
+ //# sourceMappingURL=comment-between-properties.output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/transforms/add-override-access-true/comment-between-properties.output.ts"],"sourcesContent":["// A comment between two properties previously corrupted the preceding comma\n// and placed the insert before the trailing property instead of at the end.\nconst doc = await payload.findByID({\n id,\n collection,\n req,\n // Include trashed documents when the document being synced is trashed\n trash: isTrashDocument,\n overrideAccess: true,\n})\n"],"names":["doc","payload","findByID","id","collection","req","trash","isTrashDocument","overrideAccess"],"mappings":"AAAA,4EAA4E;AAC5E,4EAA4E;AAC5E,MAAMA,MAAM,MAAMC,QAAQC,QAAQ,CAAC;IACjCC;IACAC;IACAC;IACA,sEAAsE;IACtEC,OAAOC;IACPC,gBAAgB;AAClB"}
@@ -0,0 +1,20 @@
1
+ import type { Transform } from '../../types.js';
2
+ /**
3
+ * Adds an explicit `overrideAccess: true` to Local API calls that omit it,
4
+ * preserving the Payload 3 default of skipping access control now that
5
+ * Payload 4 changes the default to `false`.
6
+ *
7
+ * Only matches calls on a receiver named `payload` — `payload.find(...)`,
8
+ * `req.payload.find(...)`, and their `payload.jobs.*` equivalents. Internal
9
+ * operations such as `findOperation(...)` are deliberately never matched: a
10
+ * missing value means `false` there, so inserting `true` would disable access
11
+ * control on every REST and GraphQL request.
12
+ *
13
+ * Detection is purely syntactic so the transform works on JavaScript projects,
14
+ * where ts-morph has no type information to consult.
15
+ *
16
+ * The property is appended rather than sorted. Callers are expected to run
17
+ * ESLint's `perfectionist/sort-objects` fixer afterwards.
18
+ */
19
+ export declare const addOverrideAccessTrue: Transform;
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transforms/add-override-access-true/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAkC/C;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAwEnC,CAAA"}
@@ -0,0 +1,208 @@
1
+ import { Node, SyntaxKind } from 'ts-morph';
2
+ /**
3
+ * Local API methods that accept `overrideAccess`.
4
+ *
5
+ * Excludes `auth` and `verifyEmail`, which have no such option, and
6
+ * `resetPassword`, which has no destructuring default to preserve.
7
+ */ const LOCAL_API_OPERATIONS = new Set([
8
+ 'count',
9
+ 'countGlobalVersions',
10
+ 'countVersions',
11
+ 'create',
12
+ 'delete',
13
+ 'duplicate',
14
+ 'find',
15
+ 'findByID',
16
+ 'findDistinct',
17
+ 'findGlobal',
18
+ 'findGlobalVersionByID',
19
+ 'findGlobalVersions',
20
+ 'findVersionByID',
21
+ 'findVersions',
22
+ 'forgotPassword',
23
+ 'login',
24
+ 'restoreGlobalVersion',
25
+ 'restoreVersion',
26
+ 'unlock',
27
+ 'update',
28
+ 'updateGlobal'
29
+ ]);
30
+ const JOBS_LOCAL_API_OPERATIONS = new Set([
31
+ 'cancel',
32
+ 'cancelByID',
33
+ 'queue',
34
+ 'run',
35
+ 'runByID'
36
+ ]);
37
+ /**
38
+ * Adds an explicit `overrideAccess: true` to Local API calls that omit it,
39
+ * preserving the Payload 3 default of skipping access control now that
40
+ * Payload 4 changes the default to `false`.
41
+ *
42
+ * Only matches calls on a receiver named `payload` — `payload.find(...)`,
43
+ * `req.payload.find(...)`, and their `payload.jobs.*` equivalents. Internal
44
+ * operations such as `findOperation(...)` are deliberately never matched: a
45
+ * missing value means `false` there, so inserting `true` would disable access
46
+ * control on every REST and GraphQL request.
47
+ *
48
+ * Detection is purely syntactic so the transform works on JavaScript projects,
49
+ * where ts-morph has no type information to consult.
50
+ *
51
+ * The property is appended rather than sorted. Callers are expected to run
52
+ * ESLint's `perfectionist/sort-objects` fixer afterwards.
53
+ */ export const addOverrideAccessTrue = {
54
+ name: 'add-override-access-true',
55
+ apply: ({ project })=>{
56
+ const filesChanged = new Set();
57
+ for (const sourceFile of project.getSourceFiles()){
58
+ const insertions = [];
59
+ sourceFile.forEachDescendant((node)=>{
60
+ if (!Node.isCallExpression(node)) {
61
+ return;
62
+ }
63
+ const callee = node.getExpression();
64
+ if (!Node.isPropertyAccessExpression(callee)) {
65
+ return;
66
+ }
67
+ const receiver = callee.getExpression();
68
+ const isLocalAPICall = LOCAL_API_OPERATIONS.has(callee.getName()) && isPayloadReceiver({
69
+ receiver
70
+ });
71
+ const isJobsLocalAPICall = JOBS_LOCAL_API_OPERATIONS.has(callee.getName()) && isPayloadJobsReceiver({
72
+ receiver
73
+ });
74
+ if (!isLocalAPICall && !isJobsLocalAPICall) {
75
+ return;
76
+ }
77
+ const [firstArg] = node.getArguments();
78
+ if (!firstArg && isJobsLocalAPICall) {
79
+ const openParen = node.getFirstChildByKindOrThrow(SyntaxKind.OpenParenToken);
80
+ insertions.push({
81
+ position: openParen.getEnd(),
82
+ text: '{ overrideAccess: true }'
83
+ });
84
+ return;
85
+ }
86
+ const object = firstArg && getObjectLiteral({
87
+ node: firstArg
88
+ });
89
+ if (!object) {
90
+ return;
91
+ }
92
+ if (object.getProperty('overrideAccess')) {
93
+ return;
94
+ }
95
+ // A spread may already carry the property. Refuse to guess.
96
+ if (object.getProperties().some((property)=>Node.isSpreadAssignment(property))) {
97
+ return;
98
+ }
99
+ insertions.push(planInsertion({
100
+ object
101
+ }));
102
+ });
103
+ if (insertions.length === 0) {
104
+ continue;
105
+ }
106
+ // Applying back to front keeps every earlier offset valid, and means nested
107
+ // calls are handled before the call that contains them.
108
+ for (const { position, text } of insertions.sort((a, b)=>b.position - a.position)){
109
+ sourceFile.insertText(position, text);
110
+ }
111
+ filesChanged.add(sourceFile.getFilePath());
112
+ }
113
+ return {
114
+ filesChanged: [
115
+ ...filesChanged
116
+ ]
117
+ };
118
+ },
119
+ description: 'Add an explicit `overrideAccess: true` to Local API calls that omit it. Payload 4 changes the default to `false`; `true` preserves the Payload 3 default of skipping access control. Review each inserted value and switch to `false` wherever the operation acts on behalf of a user.'
120
+ };
121
+ /** Handles an object wrapped in the common `as SomeType` assertion. */ const getObjectLiteral = ({ node })=>{
122
+ if (Node.isObjectLiteralExpression(node)) {
123
+ return node;
124
+ }
125
+ if (Node.isAsExpression(node)) {
126
+ const expression = node.getExpression();
127
+ if (Node.isObjectLiteralExpression(expression)) {
128
+ return expression;
129
+ }
130
+ }
131
+ };
132
+ /**
133
+ * Works out where to put `overrideAccess: true` and what to write, without
134
+ * asking ts-morph to insert a property node.
135
+ *
136
+ * ts-morph's property insertion mishandles the comma whenever the object holds a
137
+ * comment — it emitted `req,,` for a comment sitting between two properties, and
138
+ * a double comma for one trailing the last property. Both produce a file that no
139
+ * longer parses, which in turn makes ESLint report nothing at all. Writing the
140
+ * text ourselves sidesteps the whole problem.
141
+ *
142
+ * The property goes last so the surrounding formatting is left alone. Callers are
143
+ * expected to run ESLint's `perfectionist/sort-objects` fixer afterwards.
144
+ */ const planInsertion = ({ object })=>{
145
+ const properties = object.getProperties();
146
+ const isSingleLine = !object.getText().includes('\n');
147
+ if (properties.length === 0) {
148
+ const openBrace = object.getFirstChildByKindOrThrow(SyntaxKind.OpenBraceToken);
149
+ return {
150
+ position: openBrace.getEnd(),
151
+ text: isSingleLine ? ' overrideAccess: true ' : `\n overrideAccess: true,`
152
+ };
153
+ }
154
+ const lastProperty = properties[properties.length - 1];
155
+ const fullText = object.getSourceFile().getFullText();
156
+ // Step past trivia to find an existing trailing comma, including when a
157
+ // comment sits between the last property and the comma.
158
+ let cursor = lastProperty.getEnd();
159
+ while(cursor < object.getEnd()){
160
+ if (/\s/.test(fullText[cursor])) {
161
+ cursor += 1;
162
+ } else if (fullText.startsWith('//', cursor)) {
163
+ const newline = fullText.indexOf('\n', cursor + 2);
164
+ cursor = newline === -1 ? object.getEnd() : newline;
165
+ } else if (fullText.startsWith('/*', cursor)) {
166
+ const commentEnd = fullText.indexOf('*/', cursor + 2);
167
+ cursor = commentEnd === -1 ? object.getEnd() : commentEnd + 2;
168
+ } else {
169
+ break;
170
+ }
171
+ }
172
+ const hasTrailingComma = fullText[cursor] === ',';
173
+ const position = hasTrailingComma ? cursor + 1 : lastProperty.getEnd();
174
+ if (isSingleLine) {
175
+ return {
176
+ position,
177
+ text: hasTrailingComma ? ' overrideAccess: true,' : ', overrideAccess: true'
178
+ };
179
+ }
180
+ const indent = lastProperty.getIndentationText();
181
+ return {
182
+ position,
183
+ text: hasTrailingComma ? `\n${indent}overrideAccess: true,` : `,\n${indent}overrideAccess: true,`
184
+ };
185
+ };
186
+ /**
187
+ * True when the receiver of a call is a Payload instance, recognised
188
+ * syntactically as an identifier named `payload` or any property access ending
189
+ * in `.payload`.
190
+ */ const isPayloadReceiver = ({ receiver })=>{
191
+ if (Node.isIdentifier(receiver)) {
192
+ return receiver.getText() === 'payload';
193
+ }
194
+ if (Node.isPropertyAccessExpression(receiver)) {
195
+ return receiver.getName() === 'payload';
196
+ }
197
+ return false;
198
+ };
199
+ /** True for `payload.jobs` and property-access chains ending in `.payload.jobs`. */ const isPayloadJobsReceiver = ({ receiver })=>{
200
+ if (!Node.isPropertyAccessExpression(receiver) || receiver.getName() !== 'jobs') {
201
+ return false;
202
+ }
203
+ return isPayloadReceiver({
204
+ receiver: receiver.getExpression()
205
+ });
206
+ };
207
+
208
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/transforms/add-override-access-true/index.ts"],"sourcesContent":["import type { ObjectLiteralExpression } from 'ts-morph'\n\nimport { Node, SyntaxKind } from 'ts-morph'\n\nimport type { Transform } from '../../types.js'\n\n/**\n * Local API methods that accept `overrideAccess`.\n *\n * Excludes `auth` and `verifyEmail`, which have no such option, and\n * `resetPassword`, which has no destructuring default to preserve.\n */\nconst LOCAL_API_OPERATIONS = new Set([\n 'count',\n 'countGlobalVersions',\n 'countVersions',\n 'create',\n 'delete',\n 'duplicate',\n 'find',\n 'findByID',\n 'findDistinct',\n 'findGlobal',\n 'findGlobalVersionByID',\n 'findGlobalVersions',\n 'findVersionByID',\n 'findVersions',\n 'forgotPassword',\n 'login',\n 'restoreGlobalVersion',\n 'restoreVersion',\n 'unlock',\n 'update',\n 'updateGlobal',\n])\n\nconst JOBS_LOCAL_API_OPERATIONS = new Set(['cancel', 'cancelByID', 'queue', 'run', 'runByID'])\n\n/**\n * Adds an explicit `overrideAccess: true` to Local API calls that omit it,\n * preserving the Payload 3 default of skipping access control now that\n * Payload 4 changes the default to `false`.\n *\n * Only matches calls on a receiver named `payload` — `payload.find(...)`,\n * `req.payload.find(...)`, and their `payload.jobs.*` equivalents. Internal\n * operations such as `findOperation(...)` are deliberately never matched: a\n * missing value means `false` there, so inserting `true` would disable access\n * control on every REST and GraphQL request.\n *\n * Detection is purely syntactic so the transform works on JavaScript projects,\n * where ts-morph has no type information to consult.\n *\n * The property is appended rather than sorted. Callers are expected to run\n * ESLint's `perfectionist/sort-objects` fixer afterwards.\n */\nexport const addOverrideAccessTrue: Transform = {\n name: 'add-override-access-true',\n apply: ({ project }) => {\n const filesChanged = new Set<string>()\n\n for (const sourceFile of project.getSourceFiles()) {\n const insertions: Insertion[] = []\n\n sourceFile.forEachDescendant((node) => {\n if (!Node.isCallExpression(node)) {\n return\n }\n\n const callee = node.getExpression()\n\n if (!Node.isPropertyAccessExpression(callee)) {\n return\n }\n\n const receiver = callee.getExpression()\n const isLocalAPICall =\n LOCAL_API_OPERATIONS.has(callee.getName()) && isPayloadReceiver({ receiver })\n const isJobsLocalAPICall =\n JOBS_LOCAL_API_OPERATIONS.has(callee.getName()) && isPayloadJobsReceiver({ receiver })\n\n if (!isLocalAPICall && !isJobsLocalAPICall) {\n return\n }\n\n const [firstArg] = node.getArguments()\n\n if (!firstArg && isJobsLocalAPICall) {\n const openParen = node.getFirstChildByKindOrThrow(SyntaxKind.OpenParenToken)\n insertions.push({ position: openParen.getEnd(), text: '{ overrideAccess: true }' })\n return\n }\n\n const object = firstArg && getObjectLiteral({ node: firstArg })\n\n if (!object) {\n return\n }\n\n if (object.getProperty('overrideAccess')) {\n return\n }\n\n // A spread may already carry the property. Refuse to guess.\n if (object.getProperties().some((property) => Node.isSpreadAssignment(property))) {\n return\n }\n\n insertions.push(planInsertion({ object }))\n })\n\n if (insertions.length === 0) {\n continue\n }\n\n // Applying back to front keeps every earlier offset valid, and means nested\n // calls are handled before the call that contains them.\n for (const { position, text } of insertions.sort((a, b) => b.position - a.position)) {\n sourceFile.insertText(position, text)\n }\n\n filesChanged.add(sourceFile.getFilePath())\n }\n\n return { filesChanged: [...filesChanged] }\n },\n description:\n 'Add an explicit `overrideAccess: true` to Local API calls that omit it. Payload 4 changes the default to `false`; `true` preserves the Payload 3 default of skipping access control. Review each inserted value and switch to `false` wherever the operation acts on behalf of a user.',\n}\n\ntype Insertion = {\n position: number\n text: string\n}\n\n/** Handles an object wrapped in the common `as SomeType` assertion. */\nconst getObjectLiteral = ({ node }: { node: Node }): ObjectLiteralExpression | undefined => {\n if (Node.isObjectLiteralExpression(node)) {\n return node\n }\n\n if (Node.isAsExpression(node)) {\n const expression = node.getExpression()\n\n if (Node.isObjectLiteralExpression(expression)) {\n return expression\n }\n }\n}\n\n/**\n * Works out where to put `overrideAccess: true` and what to write, without\n * asking ts-morph to insert a property node.\n *\n * ts-morph's property insertion mishandles the comma whenever the object holds a\n * comment — it emitted `req,,` for a comment sitting between two properties, and\n * a double comma for one trailing the last property. Both produce a file that no\n * longer parses, which in turn makes ESLint report nothing at all. Writing the\n * text ourselves sidesteps the whole problem.\n *\n * The property goes last so the surrounding formatting is left alone. Callers are\n * expected to run ESLint's `perfectionist/sort-objects` fixer afterwards.\n */\nconst planInsertion = ({ object }: { object: ObjectLiteralExpression }): Insertion => {\n const properties = object.getProperties()\n const isSingleLine = !object.getText().includes('\\n')\n\n if (properties.length === 0) {\n const openBrace = object.getFirstChildByKindOrThrow(SyntaxKind.OpenBraceToken)\n\n return {\n position: openBrace.getEnd(),\n text: isSingleLine ? ' overrideAccess: true ' : `\\n overrideAccess: true,`,\n }\n }\n\n const lastProperty = properties[properties.length - 1]!\n const fullText = object.getSourceFile().getFullText()\n\n // Step past trivia to find an existing trailing comma, including when a\n // comment sits between the last property and the comma.\n let cursor = lastProperty.getEnd()\n\n while (cursor < object.getEnd()) {\n if (/\\s/.test(fullText[cursor]!)) {\n cursor += 1\n } else if (fullText.startsWith('//', cursor)) {\n const newline = fullText.indexOf('\\n', cursor + 2)\n cursor = newline === -1 ? object.getEnd() : newline\n } else if (fullText.startsWith('/*', cursor)) {\n const commentEnd = fullText.indexOf('*/', cursor + 2)\n cursor = commentEnd === -1 ? object.getEnd() : commentEnd + 2\n } else {\n break\n }\n }\n\n const hasTrailingComma = fullText[cursor] === ','\n const position = hasTrailingComma ? cursor + 1 : lastProperty.getEnd()\n\n if (isSingleLine) {\n return {\n position,\n text: hasTrailingComma ? ' overrideAccess: true,' : ', overrideAccess: true',\n }\n }\n\n const indent = lastProperty.getIndentationText()\n\n return {\n position,\n text: hasTrailingComma\n ? `\\n${indent}overrideAccess: true,`\n : `,\\n${indent}overrideAccess: true,`,\n }\n}\n\n/**\n * True when the receiver of a call is a Payload instance, recognised\n * syntactically as an identifier named `payload` or any property access ending\n * in `.payload`.\n */\nconst isPayloadReceiver = ({ receiver }: { receiver: Node }): boolean => {\n if (Node.isIdentifier(receiver)) {\n return receiver.getText() === 'payload'\n }\n\n if (Node.isPropertyAccessExpression(receiver)) {\n return receiver.getName() === 'payload'\n }\n\n return false\n}\n\n/** True for `payload.jobs` and property-access chains ending in `.payload.jobs`. */\nconst isPayloadJobsReceiver = ({ receiver }: { receiver: Node }): boolean => {\n if (!Node.isPropertyAccessExpression(receiver) || receiver.getName() !== 'jobs') {\n return false\n }\n\n return isPayloadReceiver({ receiver: receiver.getExpression() })\n}\n"],"names":["Node","SyntaxKind","LOCAL_API_OPERATIONS","Set","JOBS_LOCAL_API_OPERATIONS","addOverrideAccessTrue","name","apply","project","filesChanged","sourceFile","getSourceFiles","insertions","forEachDescendant","node","isCallExpression","callee","getExpression","isPropertyAccessExpression","receiver","isLocalAPICall","has","getName","isPayloadReceiver","isJobsLocalAPICall","isPayloadJobsReceiver","firstArg","getArguments","openParen","getFirstChildByKindOrThrow","OpenParenToken","push","position","getEnd","text","object","getObjectLiteral","getProperty","getProperties","some","property","isSpreadAssignment","planInsertion","length","sort","a","b","insertText","add","getFilePath","description","isObjectLiteralExpression","isAsExpression","expression","properties","isSingleLine","getText","includes","openBrace","OpenBraceToken","lastProperty","fullText","getSourceFile","getFullText","cursor","test","startsWith","newline","indexOf","commentEnd","hasTrailingComma","indent","getIndentationText","isIdentifier"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare const run: (payload: any, req: any) => Promise<{
2
+ created: any;
3
+ posts: any;
4
+ scoped: any;
5
+ }>;
6
+ //# sourceMappingURL=javascript.input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"javascript.input.d.ts","sourceRoot":"","sources":["../../../src/transforms/add-override-access-true/javascript.input.js"],"names":[],"mappings":"AAGA,eAAO,MAAM,GAAG;;;;EAgBf,CAAA"}
@@ -0,0 +1,24 @@
1
+ // A JavaScript project has no tsconfig.json, so ts-morph has no type
2
+ // information. Detection must stay purely syntactic.
3
+ export const run = async (payload, req)=>{
4
+ const posts = await payload.find({
5
+ collection: 'posts'
6
+ });
7
+ const created = await req.payload.create({
8
+ collection: 'posts',
9
+ data: {
10
+ title: 'hello'
11
+ }
12
+ });
13
+ const scoped = await payload.find({
14
+ collection: 'posts',
15
+ overrideAccess: false
16
+ });
17
+ return {
18
+ created,
19
+ posts,
20
+ scoped
21
+ };
22
+ };
23
+
24
+ //# sourceMappingURL=javascript.input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/transforms/add-override-access-true/javascript.input.js"],"sourcesContent":["// A JavaScript project has no tsconfig.json, so ts-morph has no type\n// information. Detection must stay purely syntactic.\n\nexport const run = async (payload, req) => {\n const posts = await payload.find({\n collection: 'posts',\n })\n\n const created = await req.payload.create({\n collection: 'posts',\n data: { title: 'hello' },\n })\n\n const scoped = await payload.find({\n collection: 'posts',\n overrideAccess: false,\n })\n\n return { created, posts, scoped }\n}\n"],"names":["run","payload","req","posts","find","collection","created","create","data","title","scoped","overrideAccess"],"mappings":"AAAA,qEAAqE;AACrE,qDAAqD;AAErD,OAAO,MAAMA,MAAM,OAAOC,SAASC;IACjC,MAAMC,QAAQ,MAAMF,QAAQG,IAAI,CAAC;QAC/BC,YAAY;IACd;IAEA,MAAMC,UAAU,MAAMJ,IAAID,OAAO,CAACM,MAAM,CAAC;QACvCF,YAAY;QACZG,MAAM;YAAEC,OAAO;QAAQ;IACzB;IAEA,MAAMC,SAAS,MAAMT,QAAQG,IAAI,CAAC;QAChCC,YAAY;QACZM,gBAAgB;IAClB;IAEA,OAAO;QAAEL;QAASH;QAAOO;IAAO;AAClC,EAAC"}
@@ -0,0 +1,6 @@
1
+ export declare const run: (payload: any, req: any) => Promise<{
2
+ created: any;
3
+ posts: any;
4
+ scoped: any;
5
+ }>;
6
+ //# sourceMappingURL=javascript.output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"javascript.output.d.ts","sourceRoot":"","sources":["../../../src/transforms/add-override-access-true/javascript.output.js"],"names":[],"mappings":"AAGA,eAAO,MAAM,GAAG;;;;EAkBf,CAAA"}
@@ -0,0 +1,26 @@
1
+ // A JavaScript project has no tsconfig.json, so ts-morph has no type
2
+ // information. Detection must stay purely syntactic.
3
+ export const run = async (payload, req)=>{
4
+ const posts = await payload.find({
5
+ collection: 'posts',
6
+ overrideAccess: true
7
+ });
8
+ const created = await req.payload.create({
9
+ collection: 'posts',
10
+ data: {
11
+ title: 'hello'
12
+ },
13
+ overrideAccess: true
14
+ });
15
+ const scoped = await payload.find({
16
+ collection: 'posts',
17
+ overrideAccess: false
18
+ });
19
+ return {
20
+ created,
21
+ posts,
22
+ scoped
23
+ };
24
+ };
25
+
26
+ //# sourceMappingURL=javascript.output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/transforms/add-override-access-true/javascript.output.js"],"sourcesContent":["// A JavaScript project has no tsconfig.json, so ts-morph has no type\n// information. Detection must stay purely syntactic.\n\nexport const run = async (payload, req) => {\n const posts = await payload.find({\n collection: 'posts',\n overrideAccess: true,\n })\n\n const created = await req.payload.create({\n collection: 'posts',\n data: { title: 'hello' },\n overrideAccess: true,\n })\n\n const scoped = await payload.find({\n collection: 'posts',\n overrideAccess: false,\n })\n\n return { created, posts, scoped }\n}\n"],"names":["run","payload","req","posts","find","collection","overrideAccess","created","create","data","title","scoped"],"mappings":"AAAA,qEAAqE;AACrE,qDAAqD;AAErD,OAAO,MAAMA,MAAM,OAAOC,SAASC;IACjC,MAAMC,QAAQ,MAAMF,QAAQG,IAAI,CAAC;QAC/BC,YAAY;QACZC,gBAAgB;IAClB;IAEA,MAAMC,UAAU,MAAML,IAAID,OAAO,CAACO,MAAM,CAAC;QACvCH,YAAY;QACZI,MAAM;YAAEC,OAAO;QAAQ;QACvBJ,gBAAgB;IAClB;IAEA,MAAMK,SAAS,MAAMV,QAAQG,IAAI,CAAC;QAChCC,YAAY;QACZC,gBAAgB;IAClB;IAEA,OAAO;QAAEC;QAASJ;QAAOQ;IAAO;AAClC,EAAC"}
@@ -0,0 +1,42 @@
1
+ import { findOperation, updateOperation } from 'payload';
2
+ // Internal operations: a missing value means `false` here, so inserting `true`
3
+ // would disable access control on every REST and GraphQL request.
4
+ const internalFind = await findOperation({
5
+ collection,
6
+ req
7
+ });
8
+ const internalUpdate = await updateOperation({
9
+ collection,
10
+ data: {
11
+ title: 'hello'
12
+ },
13
+ req
14
+ });
15
+ // Already required in Payload 3 — never touched.
16
+ const reset = await payload.resetPassword({
17
+ collection: 'users',
18
+ data: {
19
+ password: 'x',
20
+ token: 'y'
21
+ }
22
+ });
23
+ // No overrideAccess option exists on these.
24
+ const authed = await payload.auth({
25
+ headers: req.headers
26
+ });
27
+ const verified = await payload.verifyEmail({
28
+ collection: 'users',
29
+ token: 'y'
30
+ });
31
+ // A spread may already carry the property. The transform must not guess.
32
+ const spread = await payload.find({
33
+ ...baseArgs
34
+ });
35
+ // Not a Payload receiver.
36
+ const elsewhere = await someService.find({
37
+ collection: 'posts'
38
+ });
39
+ // Not an object literal argument.
40
+ const forwarded = await payload.find(buildArgs());
41
+
42
+ //# sourceMappingURL=non-matching.input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/transforms/add-override-access-true/non-matching.input.ts"],"sourcesContent":["import { findOperation, updateOperation } from 'payload'\n\n// Internal operations: a missing value means `false` here, so inserting `true`\n// would disable access control on every REST and GraphQL request.\nconst internalFind = await findOperation({\n collection,\n req,\n})\n\nconst internalUpdate = await updateOperation({\n collection,\n data: { title: 'hello' },\n req,\n})\n\n// Already required in Payload 3 — never touched.\nconst reset = await payload.resetPassword({\n collection: 'users',\n data: { password: 'x', token: 'y' },\n})\n\n// No overrideAccess option exists on these.\nconst authed = await payload.auth({\n headers: req.headers,\n})\n\nconst verified = await payload.verifyEmail({\n collection: 'users',\n token: 'y',\n})\n\n// A spread may already carry the property. The transform must not guess.\nconst spread = await payload.find({\n ...baseArgs,\n})\n\n// Not a Payload receiver.\nconst elsewhere = await someService.find({\n collection: 'posts',\n})\n\n// Not an object literal argument.\nconst forwarded = await payload.find(buildArgs())\n"],"names":["findOperation","updateOperation","internalFind","collection","req","internalUpdate","data","title","reset","payload","resetPassword","password","token","authed","auth","headers","verified","verifyEmail","spread","find","baseArgs","elsewhere","someService","forwarded","buildArgs"],"mappings":"AAAA,SAASA,aAAa,EAAEC,eAAe,QAAQ,UAAS;AAExD,+EAA+E;AAC/E,kEAAkE;AAClE,MAAMC,eAAe,MAAMF,cAAc;IACvCG;IACAC;AACF;AAEA,MAAMC,iBAAiB,MAAMJ,gBAAgB;IAC3CE;IACAG,MAAM;QAAEC,OAAO;IAAQ;IACvBH;AACF;AAEA,iDAAiD;AACjD,MAAMI,QAAQ,MAAMC,QAAQC,aAAa,CAAC;IACxCP,YAAY;IACZG,MAAM;QAAEK,UAAU;QAAKC,OAAO;IAAI;AACpC;AAEA,4CAA4C;AAC5C,MAAMC,SAAS,MAAMJ,QAAQK,IAAI,CAAC;IAChCC,SAASX,IAAIW,OAAO;AACtB;AAEA,MAAMC,WAAW,MAAMP,QAAQQ,WAAW,CAAC;IACzCd,YAAY;IACZS,OAAO;AACT;AAEA,yEAAyE;AACzE,MAAMM,SAAS,MAAMT,QAAQU,IAAI,CAAC;IAChC,GAAGC,QAAQ;AACb;AAEA,0BAA0B;AAC1B,MAAMC,YAAY,MAAMC,YAAYH,IAAI,CAAC;IACvChB,YAAY;AACd;AAEA,kCAAkC;AAClC,MAAMoB,YAAY,MAAMd,QAAQU,IAAI,CAACK"}
@@ -0,0 +1,42 @@
1
+ import { findOperation, updateOperation } from 'payload';
2
+ // Internal operations: a missing value means `false` here, so inserting `true`
3
+ // would disable access control on every REST and GraphQL request.
4
+ const internalFind = await findOperation({
5
+ collection,
6
+ req
7
+ });
8
+ const internalUpdate = await updateOperation({
9
+ collection,
10
+ data: {
11
+ title: 'hello'
12
+ },
13
+ req
14
+ });
15
+ // Already required in Payload 3 — never touched.
16
+ const reset = await payload.resetPassword({
17
+ collection: 'users',
18
+ data: {
19
+ password: 'x',
20
+ token: 'y'
21
+ }
22
+ });
23
+ // No overrideAccess option exists on these.
24
+ const authed = await payload.auth({
25
+ headers: req.headers
26
+ });
27
+ const verified = await payload.verifyEmail({
28
+ collection: 'users',
29
+ token: 'y'
30
+ });
31
+ // A spread may already carry the property. The transform must not guess.
32
+ const spread = await payload.find({
33
+ ...baseArgs
34
+ });
35
+ // Not a Payload receiver.
36
+ const elsewhere = await someService.find({
37
+ collection: 'posts'
38
+ });
39
+ // Not an object literal argument.
40
+ const forwarded = await payload.find(buildArgs());
41
+
42
+ //# sourceMappingURL=non-matching.output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/transforms/add-override-access-true/non-matching.output.ts"],"sourcesContent":["import { findOperation, updateOperation } from 'payload'\n\n// Internal operations: a missing value means `false` here, so inserting `true`\n// would disable access control on every REST and GraphQL request.\nconst internalFind = await findOperation({\n collection,\n req,\n})\n\nconst internalUpdate = await updateOperation({\n collection,\n data: { title: 'hello' },\n req,\n})\n\n// Already required in Payload 3 — never touched.\nconst reset = await payload.resetPassword({\n collection: 'users',\n data: { password: 'x', token: 'y' },\n})\n\n// No overrideAccess option exists on these.\nconst authed = await payload.auth({\n headers: req.headers,\n})\n\nconst verified = await payload.verifyEmail({\n collection: 'users',\n token: 'y',\n})\n\n// A spread may already carry the property. The transform must not guess.\nconst spread = await payload.find({\n ...baseArgs,\n})\n\n// Not a Payload receiver.\nconst elsewhere = await someService.find({\n collection: 'posts',\n})\n\n// Not an object literal argument.\nconst forwarded = await payload.find(buildArgs())\n"],"names":["findOperation","updateOperation","internalFind","collection","req","internalUpdate","data","title","reset","payload","resetPassword","password","token","authed","auth","headers","verified","verifyEmail","spread","find","baseArgs","elsewhere","someService","forwarded","buildArgs"],"mappings":"AAAA,SAASA,aAAa,EAAEC,eAAe,QAAQ,UAAS;AAExD,+EAA+E;AAC/E,kEAAkE;AAClE,MAAMC,eAAe,MAAMF,cAAc;IACvCG;IACAC;AACF;AAEA,MAAMC,iBAAiB,MAAMJ,gBAAgB;IAC3CE;IACAG,MAAM;QAAEC,OAAO;IAAQ;IACvBH;AACF;AAEA,iDAAiD;AACjD,MAAMI,QAAQ,MAAMC,QAAQC,aAAa,CAAC;IACxCP,YAAY;IACZG,MAAM;QAAEK,UAAU;QAAKC,OAAO;IAAI;AACpC;AAEA,4CAA4C;AAC5C,MAAMC,SAAS,MAAMJ,QAAQK,IAAI,CAAC;IAChCC,SAASX,IAAIW,OAAO;AACtB;AAEA,MAAMC,WAAW,MAAMP,QAAQQ,WAAW,CAAC;IACzCd,YAAY;IACZS,OAAO;AACT;AAEA,yEAAyE;AACzE,MAAMM,SAAS,MAAMT,QAAQU,IAAI,CAAC;IAChC,GAAGC,QAAQ;AACb;AAEA,0BAA0B;AAC1B,MAAMC,YAAY,MAAMC,YAAYH,IAAI,CAAC;IACvChB,YAAY;AACd;AAEA,kCAAkC;AAClC,MAAMoB,YAAY,MAAMd,QAAQU,IAAI,CAACK"}
@@ -0,0 +1,13 @@
1
+ // A single-line object should stay on one line rather than being split open.
2
+ const posts = await payload.find({
3
+ collection: 'posts'
4
+ });
5
+ // Trailing comma on one line.
6
+ const one = await payload.findByID({
7
+ id,
8
+ collection: 'posts'
9
+ });
10
+ // An empty argument object.
11
+ const all = await payload.find({});
12
+
13
+ //# sourceMappingURL=single-line.input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/transforms/add-override-access-true/single-line.input.ts"],"sourcesContent":["// A single-line object should stay on one line rather than being split open.\nconst posts = await payload.find({ collection: 'posts' })\n\n// Trailing comma on one line.\nconst one = await payload.findByID({ id, collection: 'posts', })\n\n// An empty argument object.\nconst all = await payload.find({})\n"],"names":["posts","payload","find","collection","one","findByID","id","all"],"mappings":"AAAA,6EAA6E;AAC7E,MAAMA,QAAQ,MAAMC,QAAQC,IAAI,CAAC;IAAEC,YAAY;AAAQ;AAEvD,8BAA8B;AAC9B,MAAMC,MAAM,MAAMH,QAAQI,QAAQ,CAAC;IAAEC;IAAIH,YAAY;AAAS;AAE9D,4BAA4B;AAC5B,MAAMI,MAAM,MAAMN,QAAQC,IAAI,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ // A single-line object should stay on one line rather than being split open.
2
+ const posts = await payload.find({
3
+ collection: 'posts',
4
+ overrideAccess: true
5
+ });
6
+ // Trailing comma on one line.
7
+ const one = await payload.findByID({
8
+ id,
9
+ collection: 'posts',
10
+ overrideAccess: true
11
+ });
12
+ // An empty argument object.
13
+ const all = await payload.find({
14
+ overrideAccess: true
15
+ });
16
+
17
+ //# sourceMappingURL=single-line.output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/transforms/add-override-access-true/single-line.output.ts"],"sourcesContent":["// A single-line object should stay on one line rather than being split open.\nconst posts = await payload.find({ collection: 'posts', overrideAccess: true })\n\n// Trailing comma on one line.\nconst one = await payload.findByID({ id, collection: 'posts', overrideAccess: true, })\n\n// An empty argument object.\nconst all = await payload.find({ overrideAccess: true })\n"],"names":["posts","payload","find","collection","overrideAccess","one","findByID","id","all"],"mappings":"AAAA,6EAA6E;AAC7E,MAAMA,QAAQ,MAAMC,QAAQC,IAAI,CAAC;IAAEC,YAAY;IAASC,gBAAgB;AAAK;AAE7E,8BAA8B;AAC9B,MAAMC,MAAM,MAAMJ,QAAQK,QAAQ,CAAC;IAAEC;IAAIJ,YAAY;IAASC,gBAAgB;AAAM;AAEpF,4BAA4B;AAC5B,MAAMI,MAAM,MAAMP,QAAQC,IAAI,CAAC;IAAEE,gBAAgB;AAAK"}