@payloadcms/next 3.0.0-canary.ee6d727 → 3.0.0-canary.ef0a8d0

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 (633) hide show
  1. package/dist/cjs/withPayload.cjs +17 -1
  2. package/dist/cjs/withPayload.cjs.map +1 -1
  3. package/dist/config.d.ts +1 -1
  4. package/dist/config.d.ts.map +1 -1
  5. package/dist/config.js.map +1 -1
  6. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.d.ts +5 -0
  7. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.d.ts.map +1 -0
  8. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +13 -0
  9. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -0
  10. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts +13 -0
  11. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -0
  12. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +43 -0
  13. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -0
  14. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +6 -0
  15. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -0
  16. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +58 -0
  17. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -0
  18. package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +91 -0
  19. package/dist/elements/DocumentHeader/Tabs/getCustomViews.d.ts +6 -0
  20. package/dist/elements/DocumentHeader/Tabs/getCustomViews.d.ts.map +1 -0
  21. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js +38 -0
  22. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js.map +1 -0
  23. package/dist/elements/DocumentHeader/Tabs/getViewConfig.d.ts +7 -0
  24. package/dist/elements/DocumentHeader/Tabs/getViewConfig.d.ts.map +1 -0
  25. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js +14 -0
  26. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js.map +1 -0
  27. package/dist/elements/DocumentHeader/Tabs/index.d.ts +12 -0
  28. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -0
  29. package/dist/elements/DocumentHeader/Tabs/index.js +81 -0
  30. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -0
  31. package/dist/elements/DocumentHeader/Tabs/index.scss +53 -0
  32. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts +3 -0
  33. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -0
  34. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +23 -0
  35. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -0
  36. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts +7 -0
  37. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -0
  38. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +57 -0
  39. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -0
  40. package/dist/elements/DocumentHeader/index.d.ts +14 -0
  41. package/dist/elements/DocumentHeader/index.d.ts.map +1 -0
  42. package/dist/elements/DocumentHeader/index.js +30 -0
  43. package/dist/elements/DocumentHeader/index.js.map +1 -0
  44. package/dist/elements/DocumentHeader/index.scss +51 -0
  45. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
  46. package/dist/elements/LeaveWithoutSaving/index.js +1 -5
  47. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  48. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  49. package/dist/elements/Logo/index.d.ts +4 -0
  50. package/dist/elements/Logo/index.d.ts.map +1 -0
  51. package/dist/elements/Logo/index.js +24 -0
  52. package/dist/elements/Logo/index.js.map +1 -0
  53. package/dist/elements/Nav/NavHamburger/index.d.ts +5 -0
  54. package/dist/elements/Nav/NavHamburger/index.d.ts.map +1 -0
  55. package/dist/elements/Nav/NavHamburger/index.js +20 -0
  56. package/dist/elements/Nav/NavHamburger/index.js.map +1 -0
  57. package/dist/elements/Nav/NavWrapper/index.d.ts +7 -0
  58. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -0
  59. package/dist/elements/Nav/NavWrapper/index.js +21 -0
  60. package/dist/elements/Nav/NavWrapper/index.js.map +1 -0
  61. package/dist/elements/Nav/NavWrapper/index.scss +17 -0
  62. package/dist/elements/Nav/index.client.d.ts +3 -0
  63. package/dist/elements/Nav/index.client.d.ts.map +1 -0
  64. package/dist/elements/Nav/index.client.js +79 -0
  65. package/dist/elements/Nav/index.client.js.map +1 -0
  66. package/dist/elements/Nav/index.d.ts +6 -0
  67. package/dist/elements/Nav/index.d.ts.map +1 -0
  68. package/dist/elements/Nav/index.js +67 -0
  69. package/dist/elements/Nav/index.js.map +1 -0
  70. package/dist/elements/Nav/index.scss +150 -0
  71. package/dist/exports/layouts.js.map +1 -1
  72. package/dist/exports/routes.js.map +1 -1
  73. package/dist/exports/templates.d.ts +3 -0
  74. package/dist/exports/templates.d.ts.map +1 -0
  75. package/dist/exports/templates.js +4 -0
  76. package/dist/exports/templates.js.map +1 -0
  77. package/dist/exports/utilities.js.map +1 -1
  78. package/dist/exports/views.js.map +1 -1
  79. package/dist/fetchAPI-multipart/fileFactory.d.ts +0 -1
  80. package/dist/fetchAPI-multipart/fileFactory.d.ts.map +1 -1
  81. package/dist/fetchAPI-multipart/fileFactory.js.map +1 -1
  82. package/dist/fetchAPI-multipart/handlers.d.ts +0 -1
  83. package/dist/fetchAPI-multipart/handlers.d.ts.map +1 -1
  84. package/dist/fetchAPI-multipart/handlers.js.map +1 -1
  85. package/dist/fetchAPI-multipart/index.d.ts +1 -2
  86. package/dist/fetchAPI-multipart/index.d.ts.map +1 -1
  87. package/dist/fetchAPI-multipart/index.js +1 -1
  88. package/dist/fetchAPI-multipart/index.js.map +1 -1
  89. package/dist/fetchAPI-multipart/isEligibleRequest.js.map +1 -1
  90. package/dist/fetchAPI-multipart/processMultipart.js +1 -1
  91. package/dist/fetchAPI-multipart/processMultipart.js.map +1 -1
  92. package/dist/fetchAPI-multipart/processNested.js.map +1 -1
  93. package/dist/fetchAPI-multipart/uploadTimer.js.map +1 -1
  94. package/dist/fetchAPI-multipart/utilities.d.ts.map +1 -1
  95. package/dist/fetchAPI-multipart/utilities.js.map +1 -1
  96. package/dist/fetchAPI-stream-file/index.d.ts +0 -1
  97. package/dist/fetchAPI-stream-file/index.d.ts.map +1 -1
  98. package/dist/fetchAPI-stream-file/index.js.map +1 -1
  99. package/dist/index.js.map +1 -1
  100. package/dist/layouts/Root/index.d.ts +1 -2
  101. package/dist/layouts/Root/index.d.ts.map +1 -1
  102. package/dist/layouts/Root/index.js +3 -6
  103. package/dist/layouts/Root/index.js.map +1 -1
  104. package/dist/prod/styles.css +1 -1
  105. package/dist/routes/graphql/handler.d.ts +1 -1
  106. package/dist/routes/graphql/handler.d.ts.map +1 -1
  107. package/dist/routes/graphql/handler.js +11 -12
  108. package/dist/routes/graphql/handler.js.map +1 -1
  109. package/dist/routes/graphql/index.js.map +1 -1
  110. package/dist/routes/graphql/playground.d.ts +1 -1
  111. package/dist/routes/graphql/playground.d.ts.map +1 -1
  112. package/dist/routes/graphql/playground.js.map +1 -1
  113. package/dist/routes/index.js.map +1 -1
  114. package/dist/routes/rest/auth/access.js +1 -1
  115. package/dist/routes/rest/auth/access.js.map +1 -1
  116. package/dist/routes/rest/auth/forgotPassword.d.ts.map +1 -1
  117. package/dist/routes/rest/auth/forgotPassword.js +8 -4
  118. package/dist/routes/rest/auth/forgotPassword.js.map +1 -1
  119. package/dist/routes/rest/auth/init.js +1 -1
  120. package/dist/routes/rest/auth/init.js.map +1 -1
  121. package/dist/routes/rest/auth/login.d.ts.map +1 -1
  122. package/dist/routes/rest/auth/login.js +11 -7
  123. package/dist/routes/rest/auth/login.js.map +1 -1
  124. package/dist/routes/rest/auth/logout.d.ts.map +1 -1
  125. package/dist/routes/rest/auth/logout.js +1 -2
  126. package/dist/routes/rest/auth/logout.js.map +1 -1
  127. package/dist/routes/rest/auth/me.d.ts.map +1 -1
  128. package/dist/routes/rest/auth/me.js +1 -2
  129. package/dist/routes/rest/auth/me.js.map +1 -1
  130. package/dist/routes/rest/auth/refresh.d.ts.map +1 -1
  131. package/dist/routes/rest/auth/refresh.js +12 -22
  132. package/dist/routes/rest/auth/refresh.js.map +1 -1
  133. package/dist/routes/rest/auth/registerFirstUser.d.ts.map +1 -1
  134. package/dist/routes/rest/auth/registerFirstUser.js +10 -4
  135. package/dist/routes/rest/auth/registerFirstUser.js.map +1 -1
  136. package/dist/routes/rest/auth/resetPassword.d.ts.map +1 -1
  137. package/dist/routes/rest/auth/resetPassword.js +1 -2
  138. package/dist/routes/rest/auth/resetPassword.js.map +1 -1
  139. package/dist/routes/rest/auth/unlock.js +1 -1
  140. package/dist/routes/rest/auth/unlock.js.map +1 -1
  141. package/dist/routes/rest/auth/verifyEmail.js +2 -2
  142. package/dist/routes/rest/auth/verifyEmail.js.map +1 -1
  143. package/dist/routes/rest/buildFormState.d.ts +2 -2
  144. package/dist/routes/rest/buildFormState.d.ts.map +1 -1
  145. package/dist/routes/rest/buildFormState.js.map +1 -1
  146. package/dist/routes/rest/checkEndpoints.d.ts.map +1 -1
  147. package/dist/routes/rest/checkEndpoints.js.map +1 -1
  148. package/dist/routes/rest/collections/count.js +1 -1
  149. package/dist/routes/rest/collections/count.js.map +1 -1
  150. package/dist/routes/rest/collections/create.js +2 -2
  151. package/dist/routes/rest/collections/create.js.map +1 -1
  152. package/dist/routes/rest/collections/delete.js +2 -2
  153. package/dist/routes/rest/collections/delete.js.map +1 -1
  154. package/dist/routes/rest/collections/deleteByID.js +2 -2
  155. package/dist/routes/rest/collections/deleteByID.js.map +1 -1
  156. package/dist/routes/rest/collections/docAccess.js +1 -1
  157. package/dist/routes/rest/collections/docAccess.js.map +1 -1
  158. package/dist/routes/rest/collections/duplicate.js +2 -2
  159. package/dist/routes/rest/collections/duplicate.js.map +1 -1
  160. package/dist/routes/rest/collections/find.js +2 -2
  161. package/dist/routes/rest/collections/find.js.map +1 -1
  162. package/dist/routes/rest/collections/findByID.js +2 -2
  163. package/dist/routes/rest/collections/findByID.js.map +1 -1
  164. package/dist/routes/rest/collections/findVersionByID.js +2 -2
  165. package/dist/routes/rest/collections/findVersionByID.js.map +1 -1
  166. package/dist/routes/rest/collections/findVersions.js +2 -2
  167. package/dist/routes/rest/collections/findVersions.js.map +1 -1
  168. package/dist/routes/rest/collections/preview.d.ts.map +1 -1
  169. package/dist/routes/rest/collections/preview.js +2 -3
  170. package/dist/routes/rest/collections/preview.js.map +1 -1
  171. package/dist/routes/rest/collections/restoreVersion.js +2 -2
  172. package/dist/routes/rest/collections/restoreVersion.js.map +1 -1
  173. package/dist/routes/rest/collections/update.js +2 -2
  174. package/dist/routes/rest/collections/update.js.map +1 -1
  175. package/dist/routes/rest/collections/updateByID.js +2 -2
  176. package/dist/routes/rest/collections/updateByID.js.map +1 -1
  177. package/dist/routes/rest/files/checkFileAccess.d.ts +2 -2
  178. package/dist/routes/rest/files/checkFileAccess.d.ts.map +1 -1
  179. package/dist/routes/rest/files/checkFileAccess.js +1 -2
  180. package/dist/routes/rest/files/checkFileAccess.js.map +1 -1
  181. package/dist/routes/rest/files/getFile.d.ts +2 -2
  182. package/dist/routes/rest/files/getFile.d.ts.map +1 -1
  183. package/dist/routes/rest/files/getFile.js +9 -7
  184. package/dist/routes/rest/files/getFile.js.map +1 -1
  185. package/dist/routes/rest/files/getFileTypeFallback.js.map +1 -1
  186. package/dist/routes/rest/globals/docAccess.js +1 -1
  187. package/dist/routes/rest/globals/docAccess.js.map +1 -1
  188. package/dist/routes/rest/globals/findOne.js +2 -2
  189. package/dist/routes/rest/globals/findOne.js.map +1 -1
  190. package/dist/routes/rest/globals/findVersionByID.js +2 -2
  191. package/dist/routes/rest/globals/findVersionByID.js.map +1 -1
  192. package/dist/routes/rest/globals/findVersions.js +2 -2
  193. package/dist/routes/rest/globals/findVersions.js.map +1 -1
  194. package/dist/routes/rest/globals/preview.d.ts.map +1 -1
  195. package/dist/routes/rest/globals/preview.js +2 -3
  196. package/dist/routes/rest/globals/preview.js.map +1 -1
  197. package/dist/routes/rest/globals/restoreVersion.js +2 -2
  198. package/dist/routes/rest/globals/restoreVersion.js.map +1 -1
  199. package/dist/routes/rest/globals/update.js +2 -2
  200. package/dist/routes/rest/globals/update.js.map +1 -1
  201. package/dist/routes/rest/index.d.ts +1 -1
  202. package/dist/routes/rest/index.d.ts.map +1 -1
  203. package/dist/routes/rest/index.js +106 -93
  204. package/dist/routes/rest/index.js.map +1 -1
  205. package/dist/routes/rest/og/image.js.map +1 -1
  206. package/dist/routes/rest/og/index.d.ts +2 -2
  207. package/dist/routes/rest/og/index.d.ts.map +1 -1
  208. package/dist/routes/rest/og/index.js +1 -1
  209. package/dist/routes/rest/og/index.js.map +1 -1
  210. package/dist/routes/rest/routeError.d.ts +3 -3
  211. package/dist/routes/rest/routeError.d.ts.map +1 -1
  212. package/dist/routes/rest/routeError.js +1 -1
  213. package/dist/routes/rest/routeError.js.map +1 -1
  214. package/dist/routes/rest/types.d.ts +7 -7
  215. package/dist/routes/rest/types.d.ts.map +1 -1
  216. package/dist/routes/rest/types.js.map +1 -1
  217. package/dist/routes/rest/utilities/sanitizeCollectionID.d.ts +1 -1
  218. package/dist/routes/rest/utilities/sanitizeCollectionID.d.ts.map +1 -1
  219. package/dist/routes/rest/utilities/sanitizeCollectionID.js.map +1 -1
  220. package/dist/scss/app.scss +1 -1
  221. package/dist/scss/colors.scss +76 -76
  222. package/dist/scss/toasts.scss +111 -0
  223. package/dist/templates/Default/NavHamburger/index.d.ts +3 -0
  224. package/dist/templates/Default/NavHamburger/index.d.ts.map +1 -0
  225. package/dist/templates/Default/NavHamburger/index.js +13 -0
  226. package/dist/templates/Default/NavHamburger/index.js.map +1 -0
  227. package/dist/templates/Default/Wrapper/index.d.ts +8 -0
  228. package/dist/templates/Default/Wrapper/index.d.ts.map +1 -0
  229. package/dist/templates/Default/Wrapper/index.js +18 -0
  230. package/dist/templates/Default/Wrapper/index.js.map +1 -0
  231. package/dist/templates/Default/Wrapper/index.scss +25 -0
  232. package/dist/templates/Default/index.d.ts +10 -0
  233. package/dist/templates/Default/index.d.ts.map +1 -0
  234. package/dist/templates/Default/index.js +66 -0
  235. package/dist/templates/Default/index.js.map +1 -0
  236. package/dist/templates/Default/index.scss +67 -0
  237. package/dist/templates/Minimal/index.d.ts +10 -0
  238. package/dist/templates/Minimal/index.d.ts.map +1 -0
  239. package/dist/templates/Minimal/index.js +21 -0
  240. package/dist/templates/Minimal/index.js.map +1 -0
  241. package/dist/templates/Minimal/index.scss +28 -0
  242. package/dist/utilities/addDataAndFileToRequest.d.ts +3 -6
  243. package/dist/utilities/addDataAndFileToRequest.d.ts.map +1 -1
  244. package/dist/utilities/addDataAndFileToRequest.js +16 -19
  245. package/dist/utilities/addDataAndFileToRequest.js.map +1 -1
  246. package/dist/utilities/addLocalesToRequest.d.ts +2 -5
  247. package/dist/utilities/addLocalesToRequest.d.ts.map +1 -1
  248. package/dist/utilities/addLocalesToRequest.js +8 -9
  249. package/dist/utilities/addLocalesToRequest.js.map +1 -1
  250. package/dist/utilities/createPayloadRequest.d.ts +1 -1
  251. package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
  252. package/dist/utilities/createPayloadRequest.js +13 -11
  253. package/dist/utilities/createPayloadRequest.js.map +1 -1
  254. package/dist/utilities/getNextRequestI18n.d.ts +1 -1
  255. package/dist/utilities/getNextRequestI18n.d.ts.map +1 -1
  256. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  257. package/dist/utilities/getPayloadHMR.d.ts +1 -2
  258. package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
  259. package/dist/utilities/getPayloadHMR.js +18 -5
  260. package/dist/utilities/getPayloadHMR.js.map +1 -1
  261. package/dist/utilities/getRequestLanguage.d.ts +1 -1
  262. package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
  263. package/dist/utilities/getRequestLanguage.js.map +1 -1
  264. package/dist/utilities/getRequestLocales.js.map +1 -1
  265. package/dist/utilities/getRequestTheme.d.ts +2 -2
  266. package/dist/utilities/getRequestTheme.d.ts.map +1 -1
  267. package/dist/utilities/getRequestTheme.js +1 -1
  268. package/dist/utilities/getRequestTheme.js.map +1 -1
  269. package/dist/utilities/headersWithCors.d.ts +2 -2
  270. package/dist/utilities/headersWithCors.d.ts.map +1 -1
  271. package/dist/utilities/headersWithCors.js +19 -3
  272. package/dist/utilities/headersWithCors.js.map +1 -1
  273. package/dist/utilities/initPage/handleAdminPage.d.ts +1 -2
  274. package/dist/utilities/initPage/handleAdminPage.d.ts.map +1 -1
  275. package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
  276. package/dist/utilities/initPage/handleAuthRedirect.d.ts +1 -1
  277. package/dist/utilities/initPage/handleAuthRedirect.d.ts.map +1 -1
  278. package/dist/utilities/initPage/handleAuthRedirect.js +4 -4
  279. package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -1
  280. package/dist/utilities/initPage/index.d.ts +1 -1
  281. package/dist/utilities/initPage/index.d.ts.map +1 -1
  282. package/dist/utilities/initPage/index.js +42 -9
  283. package/dist/utilities/initPage/index.js.map +1 -1
  284. package/dist/utilities/initPage/shared.d.ts +1 -1
  285. package/dist/utilities/initPage/shared.d.ts.map +1 -1
  286. package/dist/utilities/initPage/shared.js +2 -1
  287. package/dist/utilities/initPage/shared.js.map +1 -1
  288. package/dist/utilities/initPage/types.d.ts +1 -1
  289. package/dist/utilities/initPage/types.d.ts.map +1 -1
  290. package/dist/utilities/initPage/types.js.map +1 -1
  291. package/dist/utilities/mergeHeaders.d.ts +2 -0
  292. package/dist/utilities/mergeHeaders.d.ts.map +1 -0
  293. package/dist/utilities/mergeHeaders.js +37 -0
  294. package/dist/utilities/mergeHeaders.js.map +1 -0
  295. package/dist/utilities/meta.d.ts +3 -3
  296. package/dist/utilities/meta.d.ts.map +1 -1
  297. package/dist/utilities/meta.js +3 -4
  298. package/dist/utilities/meta.js.map +1 -1
  299. package/dist/utilities/timestamp.js.map +1 -1
  300. package/dist/views/API/LocaleSelector/index.d.ts.map +1 -1
  301. package/dist/views/API/LocaleSelector/index.js +2 -3
  302. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  303. package/dist/views/API/RenderJSON/index.js +2 -2
  304. package/dist/views/API/RenderJSON/index.js.map +1 -1
  305. package/dist/views/API/index.client.d.ts.map +1 -1
  306. package/dist/views/API/index.client.js +9 -22
  307. package/dist/views/API/index.client.js.map +1 -1
  308. package/dist/views/API/index.d.ts +1 -1
  309. package/dist/views/API/index.d.ts.map +1 -1
  310. package/dist/views/API/index.js.map +1 -1
  311. package/dist/views/API/meta.js.map +1 -1
  312. package/dist/views/Account/Settings/LanguageSelector.d.ts +1 -1
  313. package/dist/views/Account/Settings/LanguageSelector.d.ts.map +1 -1
  314. package/dist/views/Account/Settings/LanguageSelector.js +4 -4
  315. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
  316. package/dist/views/Account/Settings/index.d.ts +1 -1
  317. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  318. package/dist/views/Account/Settings/index.js +1 -1
  319. package/dist/views/Account/Settings/index.js.map +1 -1
  320. package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -1
  321. package/dist/views/Account/ToggleTheme/index.js +2 -4
  322. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  323. package/dist/views/Account/index.d.ts +1 -1
  324. package/dist/views/Account/index.d.ts.map +1 -1
  325. package/dist/views/Account/index.js +4 -6
  326. package/dist/views/Account/index.js.map +1 -1
  327. package/dist/views/Account/meta.js.map +1 -1
  328. package/dist/views/CreateFirstUser/index.client.d.ts +1 -1
  329. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  330. package/dist/views/CreateFirstUser/index.client.js +5 -13
  331. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  332. package/dist/views/CreateFirstUser/index.d.ts +1 -1
  333. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  334. package/dist/views/CreateFirstUser/index.js.map +1 -1
  335. package/dist/views/CreateFirstUser/meta.js.map +1 -1
  336. package/dist/views/Dashboard/Default/index.d.ts +4 -6
  337. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  338. package/dist/views/Dashboard/Default/index.js +2 -7
  339. package/dist/views/Dashboard/Default/index.js.map +1 -1
  340. package/dist/views/Dashboard/index.d.ts +1 -1
  341. package/dist/views/Dashboard/index.d.ts.map +1 -1
  342. package/dist/views/Dashboard/index.js +2 -3
  343. package/dist/views/Dashboard/index.js.map +1 -1
  344. package/dist/views/Dashboard/meta.js.map +1 -1
  345. package/dist/views/Document/getCustomViewByKey.d.ts +2 -3
  346. package/dist/views/Document/getCustomViewByKey.d.ts.map +1 -1
  347. package/dist/views/Document/getCustomViewByKey.js +1 -1
  348. package/dist/views/Document/getCustomViewByKey.js.map +1 -1
  349. package/dist/views/Document/getCustomViewByRoute.d.ts +2 -3
  350. package/dist/views/Document/getCustomViewByRoute.d.ts.map +1 -1
  351. package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
  352. package/dist/views/Document/getDocumentData.d.ts +2 -3
  353. package/dist/views/Document/getDocumentData.d.ts.map +1 -1
  354. package/dist/views/Document/getDocumentData.js +2 -2
  355. package/dist/views/Document/getDocumentData.js.map +1 -1
  356. package/dist/views/Document/getDocumentPermissions.d.ts +1 -2
  357. package/dist/views/Document/getDocumentPermissions.d.ts.map +1 -1
  358. package/dist/views/Document/getDocumentPermissions.js +2 -3
  359. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  360. package/dist/views/Document/getMetaBySegment.d.ts +3 -3
  361. package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
  362. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  363. package/dist/views/Document/getViewsFromConfig.d.ts +1 -3
  364. package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -1
  365. package/dist/views/Document/getViewsFromConfig.js +16 -2
  366. package/dist/views/Document/getViewsFromConfig.js.map +1 -1
  367. package/dist/views/Document/index.d.ts +1 -1
  368. package/dist/views/Document/index.d.ts.map +1 -1
  369. package/dist/views/Document/index.js +30 -20
  370. package/dist/views/Document/index.js.map +1 -1
  371. package/dist/views/Document/meta.js.map +1 -1
  372. package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +1 -1
  373. package/dist/views/Edit/Default/Auth/APIKey.js +2 -8
  374. package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
  375. package/dist/views/Edit/Default/Auth/index.d.ts.map +1 -1
  376. package/dist/views/Edit/Default/Auth/index.js +16 -19
  377. package/dist/views/Edit/Default/Auth/index.js.map +1 -1
  378. package/dist/views/Edit/Default/Auth/index.scss +17 -2
  379. package/dist/views/Edit/Default/Auth/types.d.ts +2 -2
  380. package/dist/views/Edit/Default/Auth/types.d.ts.map +1 -1
  381. package/dist/views/Edit/Default/Auth/types.js.map +1 -1
  382. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts +1 -2
  383. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +1 -1
  384. package/dist/views/Edit/Default/SetDocumentStepNav/index.js +1 -6
  385. package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +1 -1
  386. package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts +1 -2
  387. package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts.map +1 -1
  388. package/dist/views/Edit/Default/SetDocumentTitle/index.js +2 -4
  389. package/dist/views/Edit/Default/SetDocumentTitle/index.js.map +1 -1
  390. package/dist/views/Edit/Default/index.d.ts.map +1 -1
  391. package/dist/views/Edit/Default/index.js +10 -17
  392. package/dist/views/Edit/Default/index.js.map +1 -1
  393. package/dist/views/Edit/Default/types.d.ts +1 -1
  394. package/dist/views/Edit/Default/types.d.ts.map +1 -1
  395. package/dist/views/Edit/Default/types.js.map +1 -1
  396. package/dist/views/Edit/index.client.d.ts.map +1 -1
  397. package/dist/views/Edit/index.client.js +1 -3
  398. package/dist/views/Edit/index.client.js.map +1 -1
  399. package/dist/views/Edit/index.d.ts +1 -1
  400. package/dist/views/Edit/index.d.ts.map +1 -1
  401. package/dist/views/Edit/index.js.map +1 -1
  402. package/dist/views/Edit/meta.js.map +1 -1
  403. package/dist/views/Edit/sanitizeEditViewProps.d.ts +1 -1
  404. package/dist/views/Edit/sanitizeEditViewProps.d.ts.map +1 -1
  405. package/dist/views/Edit/sanitizeEditViewProps.js.map +1 -1
  406. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  407. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +37 -13
  408. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  409. package/dist/views/ForgotPassword/index.d.ts +1 -1
  410. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  411. package/dist/views/ForgotPassword/index.js +1 -2
  412. package/dist/views/ForgotPassword/index.js.map +1 -1
  413. package/dist/views/ForgotPassword/meta.js.map +1 -1
  414. package/dist/views/List/Default/index.d.ts.map +1 -1
  415. package/dist/views/List/Default/index.js +2 -26
  416. package/dist/views/List/Default/index.js.map +1 -1
  417. package/dist/views/List/Default/types.d.ts +2 -2
  418. package/dist/views/List/Default/types.d.ts.map +1 -1
  419. package/dist/views/List/Default/types.js.map +1 -1
  420. package/dist/views/List/index.d.ts +1 -1
  421. package/dist/views/List/index.d.ts.map +1 -1
  422. package/dist/views/List/index.js +8 -9
  423. package/dist/views/List/index.js.map +1 -1
  424. package/dist/views/List/meta.d.ts +3 -3
  425. package/dist/views/List/meta.d.ts.map +1 -1
  426. package/dist/views/List/meta.js.map +1 -1
  427. package/dist/views/LivePreview/Context/collisionDetection.js.map +1 -1
  428. package/dist/views/LivePreview/Context/context.d.ts +2 -2
  429. package/dist/views/LivePreview/Context/context.d.ts.map +1 -1
  430. package/dist/views/LivePreview/Context/context.js.map +1 -1
  431. package/dist/views/LivePreview/Context/index.d.ts +1 -2
  432. package/dist/views/LivePreview/Context/index.d.ts.map +1 -1
  433. package/dist/views/LivePreview/Context/index.js +1 -1
  434. package/dist/views/LivePreview/Context/index.js.map +1 -1
  435. package/dist/views/LivePreview/Context/sizeReducer.js.map +1 -1
  436. package/dist/views/LivePreview/Device/index.d.ts.map +1 -1
  437. package/dist/views/LivePreview/Device/index.js +44 -16
  438. package/dist/views/LivePreview/Device/index.js.map +1 -1
  439. package/dist/views/LivePreview/DeviceContainer/index.js.map +1 -1
  440. package/dist/views/LivePreview/IFrame/index.js.map +1 -1
  441. package/dist/views/LivePreview/Preview/index.d.ts +1 -1
  442. package/dist/views/LivePreview/Preview/index.d.ts.map +1 -1
  443. package/dist/views/LivePreview/Preview/index.js +2 -4
  444. package/dist/views/LivePreview/Preview/index.js.map +1 -1
  445. package/dist/views/LivePreview/Toolbar/Controls/index.d.ts +1 -1
  446. package/dist/views/LivePreview/Toolbar/Controls/index.d.ts.map +1 -1
  447. package/dist/views/LivePreview/Toolbar/Controls/index.js +4 -8
  448. package/dist/views/LivePreview/Toolbar/Controls/index.js.map +1 -1
  449. package/dist/views/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  450. package/dist/views/LivePreview/Toolbar/index.d.ts +3 -3
  451. package/dist/views/LivePreview/Toolbar/index.d.ts.map +1 -1
  452. package/dist/views/LivePreview/Toolbar/index.js +2 -2
  453. package/dist/views/LivePreview/Toolbar/index.js.map +1 -1
  454. package/dist/views/LivePreview/ToolbarArea/index.js.map +1 -1
  455. package/dist/views/LivePreview/index.client.d.ts +1 -2
  456. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  457. package/dist/views/LivePreview/index.client.js +2 -12
  458. package/dist/views/LivePreview/index.client.js.map +1 -1
  459. package/dist/views/LivePreview/index.d.ts +1 -1
  460. package/dist/views/LivePreview/index.d.ts.map +1 -1
  461. package/dist/views/LivePreview/index.js.map +1 -1
  462. package/dist/views/LivePreview/meta.js.map +1 -1
  463. package/dist/views/LivePreview/usePopupWindow.d.ts +1 -1
  464. package/dist/views/LivePreview/usePopupWindow.d.ts.map +1 -1
  465. package/dist/views/LivePreview/usePopupWindow.js +1 -1
  466. package/dist/views/LivePreview/usePopupWindow.js.map +1 -1
  467. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  468. package/dist/views/Login/LoginForm/index.js +39 -14
  469. package/dist/views/Login/LoginForm/index.js.map +1 -1
  470. package/dist/views/Login/index.d.ts +1 -1
  471. package/dist/views/Login/index.d.ts.map +1 -1
  472. package/dist/views/Login/index.js +2 -2
  473. package/dist/views/Login/index.js.map +1 -1
  474. package/dist/views/Login/meta.js.map +1 -1
  475. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  476. package/dist/views/Logout/LogoutClient.js +1 -3
  477. package/dist/views/Logout/LogoutClient.js.map +1 -1
  478. package/dist/views/Logout/index.d.ts +3 -3
  479. package/dist/views/Logout/index.d.ts.map +1 -1
  480. package/dist/views/Logout/index.js.map +1 -1
  481. package/dist/views/Logout/meta.js.map +1 -1
  482. package/dist/views/NotFound/index.client.d.ts.map +1 -1
  483. package/dist/views/NotFound/index.client.js +1 -5
  484. package/dist/views/NotFound/index.client.js.map +1 -1
  485. package/dist/views/NotFound/index.d.ts +1 -1
  486. package/dist/views/NotFound/index.d.ts.map +1 -1
  487. package/dist/views/NotFound/index.js +2 -2
  488. package/dist/views/NotFound/index.js.map +1 -1
  489. package/dist/views/NotFound/meta.d.ts +1 -1
  490. package/dist/views/NotFound/meta.d.ts.map +1 -1
  491. package/dist/views/NotFound/meta.js.map +1 -1
  492. package/dist/views/ResetPassword/index.client.d.ts.map +1 -1
  493. package/dist/views/ResetPassword/index.client.js +6 -15
  494. package/dist/views/ResetPassword/index.client.js.map +1 -1
  495. package/dist/views/ResetPassword/index.d.ts +1 -1
  496. package/dist/views/ResetPassword/index.d.ts.map +1 -1
  497. package/dist/views/ResetPassword/index.js +2 -3
  498. package/dist/views/ResetPassword/index.js.map +1 -1
  499. package/dist/views/ResetPassword/meta.js.map +1 -1
  500. package/dist/views/Root/getCustomViewByRoute.d.ts +1 -1
  501. package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -1
  502. package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
  503. package/dist/views/Root/getViewFromConfig.d.ts +3 -4
  504. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  505. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  506. package/dist/views/Root/index.d.ts +1 -1
  507. package/dist/views/Root/index.d.ts.map +1 -1
  508. package/dist/views/Root/index.js +9 -4
  509. package/dist/views/Root/index.js.map +1 -1
  510. package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
  511. package/dist/views/Root/meta.d.ts +1 -1
  512. package/dist/views/Root/meta.d.ts.map +1 -1
  513. package/dist/views/Root/meta.js.map +1 -1
  514. package/dist/views/Unauthorized/index.d.ts +1 -1
  515. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  516. package/dist/views/Unauthorized/index.js +1 -2
  517. package/dist/views/Unauthorized/index.js.map +1 -1
  518. package/dist/views/Unauthorized/meta.js.map +1 -1
  519. package/dist/views/Verify/index.d.ts +1 -1
  520. package/dist/views/Verify/index.d.ts.map +1 -1
  521. package/dist/views/Verify/index.js +1 -1
  522. package/dist/views/Verify/index.js.map +1 -1
  523. package/dist/views/Verify/meta.js.map +1 -1
  524. package/dist/views/Version/Default/SetStepNav.d.ts +1 -2
  525. package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
  526. package/dist/views/Version/Default/SetStepNav.js +9 -12
  527. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  528. package/dist/views/Version/Default/index.d.ts.map +1 -1
  529. package/dist/views/Version/Default/index.js +13 -21
  530. package/dist/views/Version/Default/index.js.map +1 -1
  531. package/dist/views/Version/Default/types.d.ts +4 -6
  532. package/dist/views/Version/Default/types.d.ts.map +1 -1
  533. package/dist/views/Version/Default/types.js.map +1 -1
  534. package/dist/views/Version/RenderFieldsToDiff/Label/index.js.map +1 -1
  535. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +1 -1
  536. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  537. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +1 -1
  538. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -1
  539. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +2 -2
  540. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  541. package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js.map +1 -1
  542. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts +3 -3
  543. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  544. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  545. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts +3 -4
  546. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
  547. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  548. package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js.map +1 -1
  549. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  550. package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.js.map +1 -1
  551. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts +9 -37
  552. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
  553. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  554. package/dist/views/Version/RenderFieldsToDiff/fields/styles.js.map +1 -1
  555. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts +1 -1
  556. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts.map +1 -1
  557. package/dist/views/Version/RenderFieldsToDiff/fields/types.js.map +1 -1
  558. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  559. package/dist/views/Version/RenderFieldsToDiff/types.d.ts +3 -3
  560. package/dist/views/Version/RenderFieldsToDiff/types.d.ts.map +1 -1
  561. package/dist/views/Version/RenderFieldsToDiff/types.js.map +1 -1
  562. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  563. package/dist/views/Version/Restore/index.js +4 -8
  564. package/dist/views/Version/Restore/index.js.map +1 -1
  565. package/dist/views/Version/Restore/types.d.ts +1 -1
  566. package/dist/views/Version/Restore/types.d.ts.map +1 -1
  567. package/dist/views/Version/Restore/types.js.map +1 -1
  568. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  569. package/dist/views/Version/SelectComparison/index.js +50 -33
  570. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  571. package/dist/views/Version/SelectComparison/index.scss +1 -1
  572. package/dist/views/Version/SelectComparison/types.d.ts +3 -3
  573. package/dist/views/Version/SelectComparison/types.d.ts.map +1 -1
  574. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  575. package/dist/views/Version/SelectLocales/index.d.ts.map +1 -1
  576. package/dist/views/Version/SelectLocales/index.js +1 -3
  577. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  578. package/dist/views/Version/SelectLocales/types.d.ts +1 -1
  579. package/dist/views/Version/SelectLocales/types.d.ts.map +1 -1
  580. package/dist/views/Version/SelectLocales/types.js.map +1 -1
  581. package/dist/views/Version/index.d.ts +1 -1
  582. package/dist/views/Version/index.d.ts.map +1 -1
  583. package/dist/views/Version/index.js +25 -40
  584. package/dist/views/Version/index.js.map +1 -1
  585. package/dist/views/Version/meta.js +1 -1
  586. package/dist/views/Version/meta.js.map +1 -1
  587. package/dist/views/Versions/buildColumns.d.ts +5 -3
  588. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  589. package/dist/views/Versions/buildColumns.js +8 -5
  590. package/dist/views/Versions/buildColumns.js.map +1 -1
  591. package/dist/views/Versions/cells/AutosaveCell/index.d.ts +7 -1
  592. package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
  593. package/dist/views/Versions/cells/AutosaveCell/index.js +32 -16
  594. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  595. package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
  596. package/dist/views/Versions/cells/CreatedAt/index.js +2 -4
  597. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  598. package/dist/views/Versions/cells/ID/index.js +1 -1
  599. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  600. package/dist/views/Versions/getLatestVersion.d.ts +5 -0
  601. package/dist/views/Versions/getLatestVersion.d.ts.map +1 -0
  602. package/dist/views/Versions/getLatestVersion.js +29 -0
  603. package/dist/views/Versions/getLatestVersion.js.map +1 -0
  604. package/dist/views/Versions/index.client.d.ts +2 -2
  605. package/dist/views/Versions/index.client.d.ts.map +1 -1
  606. package/dist/views/Versions/index.client.js +1 -9
  607. package/dist/views/Versions/index.client.js.map +1 -1
  608. package/dist/views/Versions/index.d.ts +1 -1
  609. package/dist/views/Versions/index.d.ts.map +1 -1
  610. package/dist/views/Versions/index.js +27 -6
  611. package/dist/views/Versions/index.js.map +1 -1
  612. package/dist/views/Versions/meta.js.map +1 -1
  613. package/dist/views/Versions/types.d.ts +1 -3
  614. package/dist/views/Versions/types.d.ts.map +1 -1
  615. package/dist/views/Versions/types.js.map +1 -1
  616. package/dist/withPayload.d.ts +1 -1
  617. package/dist/withPayload.d.ts.map +1 -1
  618. package/dist/withPayload.js +17 -1
  619. package/dist/withPayload.js.map +1 -1
  620. package/package.json +52 -38
  621. package/dist/prod/payload/payload-favicon-dark.png +0 -0
  622. package/dist/prod/payload/payload-favicon-light.png +0 -0
  623. package/dist/prod/payload/payload-favicon.svg +0 -15
  624. package/dist/prod/payload/static-og-image.png +0 -0
  625. package/dist/scss/toastify.scss +0 -58
  626. package/dist/views/Version/shared.d.ts +0 -9
  627. package/dist/views/Version/shared.d.ts.map +0 -1
  628. package/dist/views/Version/shared.js +0 -10
  629. package/dist/views/Version/shared.js.map +0 -1
  630. package/dist/webpackEntry.d.ts +0 -5
  631. package/dist/webpackEntry.d.ts.map +0 -1
  632. package/dist/webpackEntry.js +0 -6
  633. package/dist/webpackEntry.js.map +0 -1
@@ -1,8 +1,6 @@
1
1
  import { initI18n } from '@payloadcms/translations';
2
- import { executeAuthStrategies } from 'payload/auth';
3
- import { parseCookies } from 'payload/auth';
4
- import { getDataLoader } from 'payload/utilities';
5
- import qs from 'qs';
2
+ import { executeAuthStrategies, getDataLoader, parseCookies } from 'payload';
3
+ import * as qs from 'qs-esm';
6
4
  import { URL } from 'url';
7
5
  import { sanitizeLocales } from './addLocalesToRequest.js';
8
6
  import { getPayloadHMR } from './getPayloadHMR.js';
@@ -37,6 +35,13 @@ export const createPayloadRequest = async ({ config: configPromise, params, requ
37
35
  locale = locales.locale;
38
36
  fallbackLocale = locales.fallbackLocale;
39
37
  }
38
+ const overrideHttpMethod = request.headers.get('X-HTTP-Method-Override');
39
+ const queryToParse = overrideHttpMethod === 'GET' ? await request.text() : urlProperties.search;
40
+ const query = queryToParse ? qs.parse(queryToParse, {
41
+ arrayLimit: 1000,
42
+ depth: 10,
43
+ ignoreQueryPrefix: true
44
+ }) : {};
40
45
  const customRequest = {
41
46
  context: {},
42
47
  fallbackLocale,
@@ -53,11 +58,7 @@ export const createPayloadRequest = async ({ config: configPromise, params, requ
53
58
  payloadUploadSizes: {},
54
59
  port: urlProperties.port,
55
60
  protocol: urlProperties.protocol,
56
- query: urlProperties.search ? qs.parse(urlProperties.search, {
57
- arrayLimit: 1000,
58
- depth: 10,
59
- ignoreQueryPrefix: true
60
- }) : {},
61
+ query,
61
62
  routeParams: params || {},
62
63
  search: urlProperties.search,
63
64
  searchParams: urlProperties.searchParams,
@@ -67,12 +68,13 @@ export const createPayloadRequest = async ({ config: configPromise, params, requ
67
68
  };
68
69
  const req = Object.assign(request, customRequest);
69
70
  req.payloadDataLoader = getDataLoader(req);
70
- req.user = await executeAuthStrategies({
71
- cookies,
71
+ const { responseHeaders, user } = await executeAuthStrategies({
72
72
  headers: req.headers,
73
73
  isGraphQL,
74
74
  payload
75
75
  });
76
+ req.user = user;
77
+ if (responseHeaders) req.responseHeaders = responseHeaders;
76
78
  return req;
77
79
  };
78
80
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/createPayloadRequest.ts"],"sourcesContent":["import type { CustomPayloadRequestProperties, PayloadRequest, SanitizedConfig } from 'payload/types'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { executeAuthStrategies } from 'payload/auth'\nimport { parseCookies } from 'payload/auth'\nimport { getDataLoader } from 'payload/utilities'\nimport qs from 'qs'\nimport { URL } from 'url'\n\nimport { sanitizeLocales } from './addLocalesToRequest.js'\nimport { getPayloadHMR } from './getPayloadHMR.js'\nimport { getRequestLanguage } from './getRequestLanguage.js'\n\ntype Args = {\n config: Promise<SanitizedConfig> | SanitizedConfig\n params?: {\n collection: string\n }\n request: Request\n}\n\nexport const createPayloadRequest = async ({\n config: configPromise,\n params,\n request,\n}: Args): Promise<PayloadRequest> => {\n const cookies = parseCookies(request.headers)\n const payload = await getPayloadHMR({ config: configPromise })\n\n const { config } = payload\n\n const urlProperties = new URL(request.url)\n const { pathname, searchParams } = urlProperties\n\n const isGraphQL =\n !config.graphQL.disable && pathname === `${config.routes.api}${config.routes.graphQL}`\n\n const language = getRequestLanguage({\n config,\n cookies,\n headers: request.headers,\n })\n\n const i18n = await initI18n({\n config: config.i18n,\n context: 'api',\n language,\n })\n\n let locale\n let fallbackLocale\n if (config.localization) {\n const locales = sanitizeLocales({\n fallbackLocale: searchParams.get('fallback-locale'),\n locale: searchParams.get('locale'),\n localization: payload.config.localization,\n })\n locale = locales.locale\n fallbackLocale = locales.fallbackLocale\n }\n\n const customRequest: CustomPayloadRequestProperties = {\n context: {},\n fallbackLocale,\n hash: urlProperties.hash,\n host: urlProperties.host,\n href: urlProperties.href,\n i18n,\n locale,\n origin: urlProperties.origin,\n pathname: urlProperties.pathname,\n payload,\n payloadAPI: isGraphQL ? 'GraphQL' : 'REST',\n payloadDataLoader: undefined,\n payloadUploadSizes: {},\n port: urlProperties.port,\n protocol: urlProperties.protocol,\n query: urlProperties.search\n ? qs.parse(urlProperties.search, {\n arrayLimit: 1000,\n depth: 10,\n ignoreQueryPrefix: true,\n })\n : {},\n routeParams: params || {},\n search: urlProperties.search,\n searchParams: urlProperties.searchParams,\n t: i18n.t,\n transactionID: undefined,\n user: null,\n }\n\n const req: PayloadRequest = Object.assign(request, customRequest)\n\n req.payloadDataLoader = getDataLoader(req)\n\n req.user = await executeAuthStrategies({\n cookies,\n headers: req.headers,\n isGraphQL,\n payload,\n })\n\n return req\n}\n"],"names":["initI18n","executeAuthStrategies","parseCookies","getDataLoader","qs","URL","sanitizeLocales","getPayloadHMR","getRequestLanguage","createPayloadRequest","config","configPromise","params","request","cookies","headers","payload","urlProperties","url","pathname","searchParams","isGraphQL","graphQL","disable","routes","api","language","i18n","context","locale","fallbackLocale","localization","locales","get","customRequest","hash","host","href","origin","payloadAPI","payloadDataLoader","undefined","payloadUploadSizes","port","protocol","query","search","parse","arrayLimit","depth","ignoreQueryPrefix","routeParams","t","transactionID","user","req","Object","assign"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,qBAAqB,QAAQ,eAAc;AACpD,SAASC,YAAY,QAAQ,eAAc;AAC3C,SAASC,aAAa,QAAQ,oBAAmB;AACjD,OAAOC,QAAQ,KAAI;AACnB,SAASC,GAAG,QAAQ,MAAK;AAEzB,SAASC,eAAe,QAAQ,2BAA0B;AAC1D,SAASC,aAAa,QAAQ,qBAAoB;AAClD,SAASC,kBAAkB,QAAQ,0BAAyB;AAU5D,OAAO,MAAMC,uBAAuB,OAAO,EACzCC,QAAQC,aAAa,EACrBC,MAAM,EACNC,OAAO,EACF;IACL,MAAMC,UAAUZ,aAAaW,QAAQE,OAAO;IAC5C,MAAMC,UAAU,MAAMT,cAAc;QAAEG,QAAQC;IAAc;IAE5D,MAAM,EAAED,MAAM,EAAE,GAAGM;IAEnB,MAAMC,gBAAgB,IAAIZ,IAAIQ,QAAQK,GAAG;IACzC,MAAM,EAAEC,QAAQ,EAAEC,YAAY,EAAE,GAAGH;IAEnC,MAAMI,YACJ,CAACX,OAAOY,OAAO,CAACC,OAAO,IAAIJ,aAAa,CAAC,EAAET,OAAOc,MAAM,CAACC,GAAG,CAAC,EAAEf,OAAOc,MAAM,CAACF,OAAO,CAAC,CAAC;IAExF,MAAMI,WAAWlB,mBAAmB;QAClCE;QACAI;QACAC,SAASF,QAAQE,OAAO;IAC1B;IAEA,MAAMY,OAAO,MAAM3B,SAAS;QAC1BU,QAAQA,OAAOiB,IAAI;QACnBC,SAAS;QACTF;IACF;IAEA,IAAIG;IACJ,IAAIC;IACJ,IAAIpB,OAAOqB,YAAY,EAAE;QACvB,MAAMC,UAAU1B,gBAAgB;YAC9BwB,gBAAgBV,aAAaa,GAAG,CAAC;YACjCJ,QAAQT,aAAaa,GAAG,CAAC;YACzBF,cAAcf,QAAQN,MAAM,CAACqB,YAAY;QAC3C;QACAF,SAASG,QAAQH,MAAM;QACvBC,iBAAiBE,QAAQF,cAAc;IACzC;IAEA,MAAMI,gBAAgD;QACpDN,SAAS,CAAC;QACVE;QACAK,MAAMlB,cAAckB,IAAI;QACxBC,MAAMnB,cAAcmB,IAAI;QACxBC,MAAMpB,cAAcoB,IAAI;QACxBV;QACAE;QACAS,QAAQrB,cAAcqB,MAAM;QAC5BnB,UAAUF,cAAcE,QAAQ;QAChCH;QACAuB,YAAYlB,YAAY,YAAY;QACpCmB,mBAAmBC;QACnBC,oBAAoB,CAAC;QACrBC,MAAM1B,cAAc0B,IAAI;QACxBC,UAAU3B,cAAc2B,QAAQ;QAChCC,OAAO5B,cAAc6B,MAAM,GACvB1C,GAAG2C,KAAK,CAAC9B,cAAc6B,MAAM,EAAE;YAC7BE,YAAY;YACZC,OAAO;YACPC,mBAAmB;QACrB,KACA,CAAC;QACLC,aAAavC,UAAU,CAAC;QACxBkC,QAAQ7B,cAAc6B,MAAM;QAC5B1B,cAAcH,cAAcG,YAAY;QACxCgC,GAAGzB,KAAKyB,CAAC;QACTC,eAAeZ;QACfa,MAAM;IACR;IAEA,MAAMC,MAAsBC,OAAOC,MAAM,CAAC5C,SAASqB;IAEnDqB,IAAIf,iBAAiB,GAAGrC,cAAcoD;IAEtCA,IAAID,IAAI,GAAG,MAAMrD,sBAAsB;QACrCa;QACAC,SAASwC,IAAIxC,OAAO;QACpBM;QACAL;IACF;IAEA,OAAOuC;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/createPayloadRequest.ts"],"sourcesContent":["import type { CustomPayloadRequestProperties, PayloadRequest, SanitizedConfig } from 'payload'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { executeAuthStrategies, getDataLoader, parseCookies } from 'payload'\nimport * as qs from 'qs-esm'\nimport { URL } from 'url'\n\nimport { sanitizeLocales } from './addLocalesToRequest.js'\nimport { getPayloadHMR } from './getPayloadHMR.js'\nimport { getRequestLanguage } from './getRequestLanguage.js'\n\ntype Args = {\n config: Promise<SanitizedConfig> | SanitizedConfig\n params?: {\n collection: string\n }\n request: Request\n}\n\nexport const createPayloadRequest = async ({\n config: configPromise,\n params,\n request,\n}: Args): Promise<PayloadRequest> => {\n const cookies = parseCookies(request.headers)\n const payload = await getPayloadHMR({ config: configPromise })\n\n const { config } = payload\n\n const urlProperties = new URL(request.url)\n const { pathname, searchParams } = urlProperties\n\n const isGraphQL =\n !config.graphQL.disable && pathname === `${config.routes.api}${config.routes.graphQL}`\n\n const language = getRequestLanguage({\n config,\n cookies,\n headers: request.headers,\n })\n\n const i18n = await initI18n({\n config: config.i18n,\n context: 'api',\n language,\n })\n\n let locale\n let fallbackLocale\n if (config.localization) {\n const locales = sanitizeLocales({\n fallbackLocale: searchParams.get('fallback-locale'),\n locale: searchParams.get('locale'),\n localization: payload.config.localization,\n })\n locale = locales.locale\n fallbackLocale = locales.fallbackLocale\n }\n\n const overrideHttpMethod = request.headers.get('X-HTTP-Method-Override')\n const queryToParse = overrideHttpMethod === 'GET' ? await request.text() : urlProperties.search\n\n const query = queryToParse\n ? qs.parse(queryToParse, {\n arrayLimit: 1000,\n depth: 10,\n ignoreQueryPrefix: true,\n })\n : {}\n\n const customRequest: CustomPayloadRequestProperties = {\n context: {},\n fallbackLocale,\n hash: urlProperties.hash,\n host: urlProperties.host,\n href: urlProperties.href,\n i18n,\n locale,\n origin: urlProperties.origin,\n pathname: urlProperties.pathname,\n payload,\n payloadAPI: isGraphQL ? 'GraphQL' : 'REST',\n payloadDataLoader: undefined,\n payloadUploadSizes: {},\n port: urlProperties.port,\n protocol: urlProperties.protocol,\n query,\n routeParams: params || {},\n search: urlProperties.search,\n searchParams: urlProperties.searchParams,\n t: i18n.t,\n transactionID: undefined,\n user: null,\n }\n\n const req: PayloadRequest = Object.assign(request, customRequest)\n\n req.payloadDataLoader = getDataLoader(req)\n\n const { responseHeaders, user } = await executeAuthStrategies({\n headers: req.headers,\n isGraphQL,\n payload,\n })\n\n req.user = user\n\n if (responseHeaders) req.responseHeaders = responseHeaders\n\n return req\n}\n"],"names":["initI18n","executeAuthStrategies","getDataLoader","parseCookies","qs","URL","sanitizeLocales","getPayloadHMR","getRequestLanguage","createPayloadRequest","config","configPromise","params","request","cookies","headers","payload","urlProperties","url","pathname","searchParams","isGraphQL","graphQL","disable","routes","api","language","i18n","context","locale","fallbackLocale","localization","locales","get","overrideHttpMethod","queryToParse","text","search","query","parse","arrayLimit","depth","ignoreQueryPrefix","customRequest","hash","host","href","origin","payloadAPI","payloadDataLoader","undefined","payloadUploadSizes","port","protocol","routeParams","t","transactionID","user","req","Object","assign","responseHeaders"],"mappings":"AAEA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,qBAAqB,EAAEC,aAAa,EAAEC,YAAY,QAAQ,UAAS;AAC5E,YAAYC,QAAQ,SAAQ;AAC5B,SAASC,GAAG,QAAQ,MAAK;AAEzB,SAASC,eAAe,QAAQ,2BAA0B;AAC1D,SAASC,aAAa,QAAQ,qBAAoB;AAClD,SAASC,kBAAkB,QAAQ,0BAAyB;AAU5D,OAAO,MAAMC,uBAAuB,OAAO,EACzCC,QAAQC,aAAa,EACrBC,MAAM,EACNC,OAAO,EACF;IACL,MAAMC,UAAUX,aAAaU,QAAQE,OAAO;IAC5C,MAAMC,UAAU,MAAMT,cAAc;QAAEG,QAAQC;IAAc;IAE5D,MAAM,EAAED,MAAM,EAAE,GAAGM;IAEnB,MAAMC,gBAAgB,IAAIZ,IAAIQ,QAAQK,GAAG;IACzC,MAAM,EAAEC,QAAQ,EAAEC,YAAY,EAAE,GAAGH;IAEnC,MAAMI,YACJ,CAACX,OAAOY,OAAO,CAACC,OAAO,IAAIJ,aAAa,CAAC,EAAET,OAAOc,MAAM,CAACC,GAAG,CAAC,EAAEf,OAAOc,MAAM,CAACF,OAAO,CAAC,CAAC;IAExF,MAAMI,WAAWlB,mBAAmB;QAClCE;QACAI;QACAC,SAASF,QAAQE,OAAO;IAC1B;IAEA,MAAMY,OAAO,MAAM3B,SAAS;QAC1BU,QAAQA,OAAOiB,IAAI;QACnBC,SAAS;QACTF;IACF;IAEA,IAAIG;IACJ,IAAIC;IACJ,IAAIpB,OAAOqB,YAAY,EAAE;QACvB,MAAMC,UAAU1B,gBAAgB;YAC9BwB,gBAAgBV,aAAaa,GAAG,CAAC;YACjCJ,QAAQT,aAAaa,GAAG,CAAC;YACzBF,cAAcf,QAAQN,MAAM,CAACqB,YAAY;QAC3C;QACAF,SAASG,QAAQH,MAAM;QACvBC,iBAAiBE,QAAQF,cAAc;IACzC;IAEA,MAAMI,qBAAqBrB,QAAQE,OAAO,CAACkB,GAAG,CAAC;IAC/C,MAAME,eAAeD,uBAAuB,QAAQ,MAAMrB,QAAQuB,IAAI,KAAKnB,cAAcoB,MAAM;IAE/F,MAAMC,QAAQH,eACV/B,GAAGmC,KAAK,CAACJ,cAAc;QACrBK,YAAY;QACZC,OAAO;QACPC,mBAAmB;IACrB,KACA,CAAC;IAEL,MAAMC,gBAAgD;QACpDf,SAAS,CAAC;QACVE;QACAc,MAAM3B,cAAc2B,IAAI;QACxBC,MAAM5B,cAAc4B,IAAI;QACxBC,MAAM7B,cAAc6B,IAAI;QACxBnB;QACAE;QACAkB,QAAQ9B,cAAc8B,MAAM;QAC5B5B,UAAUF,cAAcE,QAAQ;QAChCH;QACAgC,YAAY3B,YAAY,YAAY;QACpC4B,mBAAmBC;QACnBC,oBAAoB,CAAC;QACrBC,MAAMnC,cAAcmC,IAAI;QACxBC,UAAUpC,cAAcoC,QAAQ;QAChCf;QACAgB,aAAa1C,UAAU,CAAC;QACxByB,QAAQpB,cAAcoB,MAAM;QAC5BjB,cAAcH,cAAcG,YAAY;QACxCmC,GAAG5B,KAAK4B,CAAC;QACTC,eAAeN;QACfO,MAAM;IACR;IAEA,MAAMC,MAAsBC,OAAOC,MAAM,CAAC/C,SAAS8B;IAEnDe,IAAIT,iBAAiB,GAAG/C,cAAcwD;IAEtC,MAAM,EAAEG,eAAe,EAAEJ,IAAI,EAAE,GAAG,MAAMxD,sBAAsB;QAC5Dc,SAAS2C,IAAI3C,OAAO;QACpBM;QACAL;IACF;IAEA0C,IAAID,IAAI,GAAGA;IAEX,IAAII,iBAAiBH,IAAIG,eAAe,GAAGA;IAE3C,OAAOH;AACT,EAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { I18n } from '@payloadcms/translations';
2
- import type { SanitizedConfig } from 'payload/types';
2
+ import type { SanitizedConfig } from 'payload';
3
3
  /**
4
4
  * In the context of Next.js, this function initializes the i18n object for the current request.
5
5
  *
@@ -1 +1 @@
1
- {"version":3,"file":"getNextRequestI18n.d.ts","sourceRoot":"","sources":["../../src/utilities/getNextRequestI18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAOpD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,eAAsB;IAAE,MAAM,EAAE,eAAe,CAAA;CAAE,KAAG,QAAQ,IAAI,CAK3F,CAAA"}
1
+ {"version":3,"file":"getNextRequestI18n.d.ts","sourceRoot":"","sources":["../../src/utilities/getNextRequestI18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAO9C;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,eAAsB;IAAE,MAAM,EAAE,eAAe,CAAA;CAAE,KAAG,OAAO,CAAC,IAAI,CAK3F,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/getNextRequestI18n.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { SanitizedConfig } from 'payload/types'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { cookies, headers } from 'next/headers.js'\n\nimport { getRequestLanguage } from './getRequestLanguage.js'\n\n/**\n * In the context of Next.js, this function initializes the i18n object for the current request.\n *\n * It must be called on the server side, and within the lifecycle of a request since it relies on the request headers and cookies.\n */\nexport const getNextRequestI18n = async ({ config }: { config: SanitizedConfig }): Promise<I18n> =>\n initI18n({\n config: config.i18n,\n context: 'client',\n language: getRequestLanguage({ config, cookies: cookies(), headers: headers() }),\n })\n"],"names":["initI18n","cookies","headers","getRequestLanguage","getNextRequestI18n","config","i18n","context","language"],"rangeMappings":";;;;;;;;;;;;;;;","mappings":"AAGA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,OAAO,EAAEC,OAAO,QAAQ,kBAAiB;AAElD,SAASC,kBAAkB,QAAQ,0BAAyB;AAE5D;;;;CAIC,GACD,OAAO,MAAMC,qBAAqB,OAAO,EAAEC,MAAM,EAA+B,GAC9EL,SAAS;QACPK,QAAQA,OAAOC,IAAI;QACnBC,SAAS;QACTC,UAAUL,mBAAmB;YAAEE;YAAQJ,SAASA;YAAWC,SAASA;QAAU;IAChF,GAAE"}
1
+ {"version":3,"sources":["../../src/utilities/getNextRequestI18n.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { SanitizedConfig } from 'payload'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { cookies, headers } from 'next/headers.js'\n\nimport { getRequestLanguage } from './getRequestLanguage.js'\n\n/**\n * In the context of Next.js, this function initializes the i18n object for the current request.\n *\n * It must be called on the server side, and within the lifecycle of a request since it relies on the request headers and cookies.\n */\nexport const getNextRequestI18n = async ({ config }: { config: SanitizedConfig }): Promise<I18n> =>\n initI18n({\n config: config.i18n,\n context: 'client',\n language: getRequestLanguage({ config, cookies: cookies(), headers: headers() }),\n })\n"],"names":["initI18n","cookies","headers","getRequestLanguage","getNextRequestI18n","config","i18n","context","language"],"mappings":"AAGA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,OAAO,EAAEC,OAAO,QAAQ,kBAAiB;AAElD,SAASC,kBAAkB,QAAQ,0BAAyB;AAE5D;;;;CAIC,GACD,OAAO,MAAMC,qBAAqB,OAAO,EAAEC,MAAM,EAA+B,GAC9EL,SAAS;QACPK,QAAQA,OAAOC,IAAI;QACnBC,SAAS;QACTC,UAAUL,mBAAmB;YAAEE;YAAQJ,SAASA;YAAWC,SAASA;QAAU;IAChF,GAAE"}
@@ -1,5 +1,4 @@
1
- import type { Payload } from 'payload';
2
- import type { InitOptions, SanitizedConfig } from 'payload/config';
1
+ import type { InitOptions, Payload, SanitizedConfig } from 'payload';
3
2
  export declare const reload: (config: SanitizedConfig, payload: Payload) => Promise<void>;
4
3
  export declare const getPayloadHMR: (options: InitOptions) => Promise<Payload>;
5
4
  //# sourceMappingURL=getPayloadHMR.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getPayloadHMR.d.ts","sourceRoot":"","sources":["../../src/utilities/getPayloadHMR.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,OAAO,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAgBlE,eAAO,MAAM,MAAM,WAAkB,eAAe,uBAAqB,QAAQ,IAAI,CAyBpF,CAAA;AAED,eAAO,MAAM,aAAa,YAAmB,WAAW,KAAG,QAAQ,OAAO,CA4DzE,CAAA"}
1
+ {"version":3,"file":"getPayloadHMR.d.ts","sourceRoot":"","sources":["../../src/utilities/getPayloadHMR.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAepE,eAAO,MAAM,MAAM,WAAkB,eAAe,WAAW,OAAO,KAAG,OAAO,CAAC,IAAI,CAmCpF,CAAA;AAED,eAAO,MAAM,aAAa,YAAmB,WAAW,KAAG,OAAO,CAAC,OAAO,CAgEzE,CAAA"}
@@ -2,7 +2,6 @@ import { BasePayload } from 'payload';
2
2
  import WebSocket from 'ws';
3
3
  let cached = global._payload;
4
4
  if (!cached) {
5
- // eslint-disable-next-line no-multi-assign
6
5
  cached = global._payload = {
7
6
  payload: null,
8
7
  promise: null,
@@ -25,6 +24,17 @@ export const reload = async (config, payload)=>{
25
24
  config: config.globals
26
25
  };
27
26
  // TODO: support HMR for other props in the future (see payload/src/index init()) hat may change on Payload singleton
27
+ // Generate types
28
+ if (config.typescript.autoGenerate !== false) {
29
+ // We cannot run it directly here, as generate-types imports json-schema-to-typescript, which breaks on turbopack.
30
+ // see: https://github.com/vercel/next.js/issues/66723
31
+ void payload.bin({
32
+ args: [
33
+ 'generate:types'
34
+ ],
35
+ log: false
36
+ });
37
+ }
28
38
  await payload.db.init();
29
39
  if (payload.db.connect) {
30
40
  await payload.db.connect({
@@ -34,14 +44,16 @@ export const reload = async (config, payload)=>{
34
44
  };
35
45
  export const getPayloadHMR = async (options)=>{
36
46
  if (!options?.config) {
37
- throw new Error('Error: the payload config is required for getPayload to work.');
47
+ throw new Error('Error: the payload config is required for getPayloadHMR to work.');
38
48
  }
39
49
  if (cached.payload) {
40
- const config = await options.config // TODO: check if we can move this inside the cached.reload === true condition
41
- ;
42
50
  if (cached.reload === true) {
43
51
  let resolve;
52
+ // getPayloadHMR is called multiple times, in parallel. However, we only want to run `await reload` once. By immediately setting cached.reload to a promise,
53
+ // we can ensure that all subsequent calls will wait for the first reload to finish. So if we set it here, the 2nd call of getPayloadHMR
54
+ // will reach `if (cached.reload instanceof Promise) {` which then waits for the first reload to finish.
44
55
  cached.reload = new Promise((res)=>resolve = res);
56
+ const config = await options.config;
45
57
  await reload(config, cached.payload);
46
58
  resolve();
47
59
  }
@@ -51,6 +63,7 @@ export const getPayloadHMR = async (options)=>{
51
63
  return cached.payload;
52
64
  }
53
65
  if (!cached.promise) {
66
+ // no need to await options.config here, as it's already awaited in the BasePayload.init
54
67
  cached.promise = new BasePayload().init(options);
55
68
  }
56
69
  try {
@@ -58,7 +71,7 @@ export const getPayloadHMR = async (options)=>{
58
71
  if (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test' && process.env.DISABLE_PAYLOAD_HMR !== 'true') {
59
72
  try {
60
73
  const port = process.env.PORT || '3000';
61
- const ws = new WebSocket(`ws://localhost:${port}/_next/webpack-hmr`);
74
+ const ws = new WebSocket(`ws://localhost:${port}${process.env.NEXT_BASE_PATH ?? ''}/_next/webpack-hmr`);
62
75
  ws.onmessage = (event)=>{
63
76
  if (typeof event.data === 'string') {
64
77
  const data = JSON.parse(event.data);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/getPayloadHMR.ts"],"sourcesContent":["import type { GeneratedTypes, Payload } from 'payload'\nimport type { InitOptions, SanitizedConfig } from 'payload/config'\n\nimport { BasePayload } from 'payload'\nimport WebSocket from 'ws'\n\nlet cached: {\n payload: Payload | null\n promise: Promise<Payload> | null\n reload: Promise<boolean> | boolean\n} = global._payload\n\nif (!cached) {\n // eslint-disable-next-line no-multi-assign\n cached = global._payload = { payload: null, promise: null, reload: false }\n}\n\nexport const reload = async (config: SanitizedConfig, payload: Payload): Promise<void> => {\n if (typeof payload.db.destroy === 'function') {\n await payload.db.destroy()\n }\n\n payload.config = config\n\n payload.collections = config.collections.reduce((collections, collection) => {\n collections[collection.slug] = {\n config: collection,\n customIDType: payload.collections[collection.slug]?.customIDType,\n }\n return collections\n }, {})\n\n payload.globals = {\n config: config.globals,\n }\n\n // TODO: support HMR for other props in the future (see payload/src/index init()) hat may change on Payload singleton\n\n await payload.db.init()\n if (payload.db.connect) {\n await payload.db.connect({ hotReload: true })\n }\n}\n\nexport const getPayloadHMR = async (options: InitOptions): Promise<Payload> => {\n if (!options?.config) {\n throw new Error('Error: the payload config is required for getPayload to work.')\n }\n\n if (cached.payload) {\n const config = await options.config // TODO: check if we can move this inside the cached.reload === true condition\n\n if (cached.reload === true) {\n let resolve\n\n cached.reload = new Promise((res) => (resolve = res))\n\n await reload(config, cached.payload)\n\n resolve()\n }\n\n if (cached.reload instanceof Promise) {\n await cached.reload\n }\n\n return cached.payload\n }\n\n if (!cached.promise) {\n cached.promise = new BasePayload<GeneratedTypes>().init(options)\n }\n\n try {\n cached.payload = await cached.promise\n\n if (\n process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test' &&\n process.env.DISABLE_PAYLOAD_HMR !== 'true'\n ) {\n try {\n const port = process.env.PORT || '3000'\n const ws = new WebSocket(`ws://localhost:${port}/_next/webpack-hmr`)\n\n ws.onmessage = (event) => {\n if (typeof event.data === 'string') {\n const data = JSON.parse(event.data)\n\n if ('action' in data && data.action === 'serverComponentChanges') {\n cached.reload = true\n }\n }\n }\n } catch (_) {\n // swallow e\n }\n }\n } catch (e) {\n cached.promise = null\n throw e\n }\n\n return cached.payload\n}\n"],"names":["BasePayload","WebSocket","cached","global","_payload","payload","promise","reload","config","db","destroy","collections","reduce","collection","slug","customIDType","globals","init","connect","hotReload","getPayloadHMR","options","Error","resolve","Promise","res","process","env","NODE_ENV","DISABLE_PAYLOAD_HMR","port","PORT","ws","onmessage","event","data","JSON","parse","action","_","e"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAGA,SAASA,WAAW,QAAQ,UAAS;AACrC,OAAOC,eAAe,KAAI;AAE1B,IAAIC,SAIAC,OAAOC,QAAQ;AAEnB,IAAI,CAACF,QAAQ;IACX,2CAA2C;IAC3CA,SAASC,OAAOC,QAAQ,GAAG;QAAEC,SAAS;QAAMC,SAAS;QAAMC,QAAQ;IAAM;AAC3E;AAEA,OAAO,MAAMA,SAAS,OAAOC,QAAyBH;IACpD,IAAI,OAAOA,QAAQI,EAAE,CAACC,OAAO,KAAK,YAAY;QAC5C,MAAML,QAAQI,EAAE,CAACC,OAAO;IAC1B;IAEAL,QAAQG,MAAM,GAAGA;IAEjBH,QAAQM,WAAW,GAAGH,OAAOG,WAAW,CAACC,MAAM,CAAC,CAACD,aAAaE;QAC5DF,WAAW,CAACE,WAAWC,IAAI,CAAC,GAAG;YAC7BN,QAAQK;YACRE,cAAcV,QAAQM,WAAW,CAACE,WAAWC,IAAI,CAAC,EAAEC;QACtD;QACA,OAAOJ;IACT,GAAG,CAAC;IAEJN,QAAQW,OAAO,GAAG;QAChBR,QAAQA,OAAOQ,OAAO;IACxB;IAEA,qHAAqH;IAErH,MAAMX,QAAQI,EAAE,CAACQ,IAAI;IACrB,IAAIZ,QAAQI,EAAE,CAACS,OAAO,EAAE;QACtB,MAAMb,QAAQI,EAAE,CAACS,OAAO,CAAC;YAAEC,WAAW;QAAK;IAC7C;AACF,EAAC;AAED,OAAO,MAAMC,gBAAgB,OAAOC;IAClC,IAAI,CAACA,SAASb,QAAQ;QACpB,MAAM,IAAIc,MAAM;IAClB;IAEA,IAAIpB,OAAOG,OAAO,EAAE;QAClB,MAAMG,SAAS,MAAMa,QAAQb,MAAM,CAAC,8EAA8E;;QAElH,IAAIN,OAAOK,MAAM,KAAK,MAAM;YAC1B,IAAIgB;YAEJrB,OAAOK,MAAM,GAAG,IAAIiB,QAAQ,CAACC,MAASF,UAAUE;YAEhD,MAAMlB,OAAOC,QAAQN,OAAOG,OAAO;YAEnCkB;QACF;QAEA,IAAIrB,OAAOK,MAAM,YAAYiB,SAAS;YACpC,MAAMtB,OAAOK,MAAM;QACrB;QAEA,OAAOL,OAAOG,OAAO;IACvB;IAEA,IAAI,CAACH,OAAOI,OAAO,EAAE;QACnBJ,OAAOI,OAAO,GAAG,IAAIN,cAA8BiB,IAAI,CAACI;IAC1D;IAEA,IAAI;QACFnB,OAAOG,OAAO,GAAG,MAAMH,OAAOI,OAAO;QAErC,IACEoB,QAAQC,GAAG,CAACC,QAAQ,KAAK,gBACzBF,QAAQC,GAAG,CAACC,QAAQ,KAAK,UACzBF,QAAQC,GAAG,CAACE,mBAAmB,KAAK,QACpC;YACA,IAAI;gBACF,MAAMC,OAAOJ,QAAQC,GAAG,CAACI,IAAI,IAAI;gBACjC,MAAMC,KAAK,IAAI/B,UAAU,CAAC,eAAe,EAAE6B,KAAK,kBAAkB,CAAC;gBAEnEE,GAAGC,SAAS,GAAG,CAACC;oBACd,IAAI,OAAOA,MAAMC,IAAI,KAAK,UAAU;wBAClC,MAAMA,OAAOC,KAAKC,KAAK,CAACH,MAAMC,IAAI;wBAElC,IAAI,YAAYA,QAAQA,KAAKG,MAAM,KAAK,0BAA0B;4BAChEpC,OAAOK,MAAM,GAAG;wBAClB;oBACF;gBACF;YACF,EAAE,OAAOgC,GAAG;YACV,YAAY;YACd;QACF;IACF,EAAE,OAAOC,GAAG;QACVtC,OAAOI,OAAO,GAAG;QACjB,MAAMkC;IACR;IAEA,OAAOtC,OAAOG,OAAO;AACvB,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/getPayloadHMR.ts"],"sourcesContent":["import type { InitOptions, Payload, SanitizedConfig } from 'payload'\n\nimport { BasePayload } from 'payload'\nimport WebSocket from 'ws'\n\nlet cached: {\n payload: Payload | null\n promise: Promise<Payload> | null\n reload: Promise<void> | boolean\n} = global._payload\n\nif (!cached) {\n cached = global._payload = { payload: null, promise: null, reload: false }\n}\n\nexport const reload = async (config: SanitizedConfig, payload: Payload): Promise<void> => {\n if (typeof payload.db.destroy === 'function') {\n await payload.db.destroy()\n }\n\n payload.config = config\n\n payload.collections = config.collections.reduce((collections, collection) => {\n collections[collection.slug] = {\n config: collection,\n customIDType: payload.collections[collection.slug]?.customIDType,\n }\n return collections\n }, {})\n\n payload.globals = {\n config: config.globals,\n }\n\n // TODO: support HMR for other props in the future (see payload/src/index init()) hat may change on Payload singleton\n\n // Generate types\n if (config.typescript.autoGenerate !== false) {\n // We cannot run it directly here, as generate-types imports json-schema-to-typescript, which breaks on turbopack.\n // see: https://github.com/vercel/next.js/issues/66723\n void payload.bin({\n args: ['generate:types'],\n log: false,\n })\n }\n\n await payload.db.init()\n if (payload.db.connect) {\n await payload.db.connect({ hotReload: true })\n }\n}\n\nexport const getPayloadHMR = async (options: InitOptions): Promise<Payload> => {\n if (!options?.config) {\n throw new Error('Error: the payload config is required for getPayloadHMR to work.')\n }\n\n if (cached.payload) {\n if (cached.reload === true) {\n let resolve: () => void\n\n // getPayloadHMR is called multiple times, in parallel. However, we only want to run `await reload` once. By immediately setting cached.reload to a promise,\n // we can ensure that all subsequent calls will wait for the first reload to finish. So if we set it here, the 2nd call of getPayloadHMR\n // will reach `if (cached.reload instanceof Promise) {` which then waits for the first reload to finish.\n cached.reload = new Promise((res) => (resolve = res))\n const config = await options.config\n await reload(config, cached.payload)\n\n resolve()\n }\n\n if (cached.reload instanceof Promise) {\n await cached.reload\n }\n\n return cached.payload\n }\n\n if (!cached.promise) {\n // no need to await options.config here, as it's already awaited in the BasePayload.init\n cached.promise = new BasePayload().init(options)\n }\n\n try {\n cached.payload = await cached.promise\n\n if (\n process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test' &&\n process.env.DISABLE_PAYLOAD_HMR !== 'true'\n ) {\n try {\n const port = process.env.PORT || '3000'\n const ws = new WebSocket(\n `ws://localhost:${port}${process.env.NEXT_BASE_PATH ?? ''}/_next/webpack-hmr`,\n )\n\n ws.onmessage = (event) => {\n if (typeof event.data === 'string') {\n const data = JSON.parse(event.data)\n\n if ('action' in data && data.action === 'serverComponentChanges') {\n cached.reload = true\n }\n }\n }\n } catch (_) {\n // swallow e\n }\n }\n } catch (e) {\n cached.promise = null\n throw e\n }\n\n return cached.payload\n}\n"],"names":["BasePayload","WebSocket","cached","global","_payload","payload","promise","reload","config","db","destroy","collections","reduce","collection","slug","customIDType","globals","typescript","autoGenerate","bin","args","log","init","connect","hotReload","getPayloadHMR","options","Error","resolve","Promise","res","process","env","NODE_ENV","DISABLE_PAYLOAD_HMR","port","PORT","ws","NEXT_BASE_PATH","onmessage","event","data","JSON","parse","action","_","e"],"mappings":"AAEA,SAASA,WAAW,QAAQ,UAAS;AACrC,OAAOC,eAAe,KAAI;AAE1B,IAAIC,SAIAC,OAAOC,QAAQ;AAEnB,IAAI,CAACF,QAAQ;IACXA,SAASC,OAAOC,QAAQ,GAAG;QAAEC,SAAS;QAAMC,SAAS;QAAMC,QAAQ;IAAM;AAC3E;AAEA,OAAO,MAAMA,SAAS,OAAOC,QAAyBH;IACpD,IAAI,OAAOA,QAAQI,EAAE,CAACC,OAAO,KAAK,YAAY;QAC5C,MAAML,QAAQI,EAAE,CAACC,OAAO;IAC1B;IAEAL,QAAQG,MAAM,GAAGA;IAEjBH,QAAQM,WAAW,GAAGH,OAAOG,WAAW,CAACC,MAAM,CAAC,CAACD,aAAaE;QAC5DF,WAAW,CAACE,WAAWC,IAAI,CAAC,GAAG;YAC7BN,QAAQK;YACRE,cAAcV,QAAQM,WAAW,CAACE,WAAWC,IAAI,CAAC,EAAEC;QACtD;QACA,OAAOJ;IACT,GAAG,CAAC;IAEJN,QAAQW,OAAO,GAAG;QAChBR,QAAQA,OAAOQ,OAAO;IACxB;IAEA,qHAAqH;IAErH,iBAAiB;IACjB,IAAIR,OAAOS,UAAU,CAACC,YAAY,KAAK,OAAO;QAC5C,kHAAkH;QAClH,sDAAsD;QACtD,KAAKb,QAAQc,GAAG,CAAC;YACfC,MAAM;gBAAC;aAAiB;YACxBC,KAAK;QACP;IACF;IAEA,MAAMhB,QAAQI,EAAE,CAACa,IAAI;IACrB,IAAIjB,QAAQI,EAAE,CAACc,OAAO,EAAE;QACtB,MAAMlB,QAAQI,EAAE,CAACc,OAAO,CAAC;YAAEC,WAAW;QAAK;IAC7C;AACF,EAAC;AAED,OAAO,MAAMC,gBAAgB,OAAOC;IAClC,IAAI,CAACA,SAASlB,QAAQ;QACpB,MAAM,IAAImB,MAAM;IAClB;IAEA,IAAIzB,OAAOG,OAAO,EAAE;QAClB,IAAIH,OAAOK,MAAM,KAAK,MAAM;YAC1B,IAAIqB;YAEJ,4JAA4J;YAC5J,wIAAwI;YACxI,wGAAwG;YACxG1B,OAAOK,MAAM,GAAG,IAAIsB,QAAQ,CAACC,MAASF,UAAUE;YAChD,MAAMtB,SAAS,MAAMkB,QAAQlB,MAAM;YACnC,MAAMD,OAAOC,QAAQN,OAAOG,OAAO;YAEnCuB;QACF;QAEA,IAAI1B,OAAOK,MAAM,YAAYsB,SAAS;YACpC,MAAM3B,OAAOK,MAAM;QACrB;QAEA,OAAOL,OAAOG,OAAO;IACvB;IAEA,IAAI,CAACH,OAAOI,OAAO,EAAE;QACnB,wFAAwF;QACxFJ,OAAOI,OAAO,GAAG,IAAIN,cAAcsB,IAAI,CAACI;IAC1C;IAEA,IAAI;QACFxB,OAAOG,OAAO,GAAG,MAAMH,OAAOI,OAAO;QAErC,IACEyB,QAAQC,GAAG,CAACC,QAAQ,KAAK,gBACzBF,QAAQC,GAAG,CAACC,QAAQ,KAAK,UACzBF,QAAQC,GAAG,CAACE,mBAAmB,KAAK,QACpC;YACA,IAAI;gBACF,MAAMC,OAAOJ,QAAQC,GAAG,CAACI,IAAI,IAAI;gBACjC,MAAMC,KAAK,IAAIpC,UACb,CAAC,eAAe,EAAEkC,KAAK,EAAEJ,QAAQC,GAAG,CAACM,cAAc,IAAI,GAAG,kBAAkB,CAAC;gBAG/ED,GAAGE,SAAS,GAAG,CAACC;oBACd,IAAI,OAAOA,MAAMC,IAAI,KAAK,UAAU;wBAClC,MAAMA,OAAOC,KAAKC,KAAK,CAACH,MAAMC,IAAI;wBAElC,IAAI,YAAYA,QAAQA,KAAKG,MAAM,KAAK,0BAA0B;4BAChE1C,OAAOK,MAAM,GAAG;wBAClB;oBACF;gBACF;YACF,EAAE,OAAOsC,GAAG;YACV,YAAY;YACd;QACF;IACF,EAAE,OAAOC,GAAG;QACV5C,OAAOI,OAAO,GAAG;QACjB,MAAMwC;IACR;IAEA,OAAO5C,OAAOG,OAAO;AACvB,EAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { AcceptedLanguages } from '@payloadcms/translations';
2
2
  import type { ReadonlyRequestCookies } from 'next/dist/server/web/spec-extension/adapters/request-cookies.js';
3
- import type { SanitizedConfig } from 'payload/config';
3
+ import type { SanitizedConfig } from 'payload';
4
4
  type GetRequestLanguageArgs = {
5
5
  config: SanitizedConfig;
6
6
  cookies: Map<string, string> | ReadonlyRequestCookies;
@@ -1 +1 @@
1
- {"version":3,"file":"getRequestLanguage.d.ts","sourceRoot":"","sources":["../../src/utilities/getRequestLanguage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iEAAiE,CAAA;AAC7G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAIrD,KAAK,sBAAsB,GAAG;IAC5B,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,sBAAsB,CAAA;IACrD,eAAe,CAAC,EAAE,iBAAiB,CAAA;IACnC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,kBAAkB,kCAI5B,sBAAsB,KAAG,iBAqB3B,CAAA"}
1
+ {"version":3,"file":"getRequestLanguage.d.ts","sourceRoot":"","sources":["../../src/utilities/getRequestLanguage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iEAAiE,CAAA;AAC7G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9C,KAAK,sBAAsB,GAAG;IAC5B,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,sBAAsB,CAAA;IACrD,eAAe,CAAC,EAAE,iBAAiB,CAAA;IACnC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,kBAAkB,kCAI5B,sBAAsB,KAAG,iBAqB3B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/getRequestLanguage.ts"],"sourcesContent":["import type { AcceptedLanguages } from '@payloadcms/translations'\nimport type { ReadonlyRequestCookies } from 'next/dist/server/web/spec-extension/adapters/request-cookies.js'\nimport type { SanitizedConfig } from 'payload/config'\n\nimport { extractHeaderLanguage } from '@payloadcms/translations'\n\ntype GetRequestLanguageArgs = {\n config: SanitizedConfig\n cookies: Map<string, string> | ReadonlyRequestCookies\n defaultLanguage?: AcceptedLanguages\n headers: Request['headers']\n}\n\nexport const getRequestLanguage = ({\n config,\n cookies,\n headers,\n}: GetRequestLanguageArgs): AcceptedLanguages => {\n const supportedLanguageKeys = <AcceptedLanguages[]>Object.keys(config.i18n.supportedLanguages)\n const langCookie = cookies.get(`${config.cookiePrefix || 'payload'}-lng`)\n\n const languageFromCookie: AcceptedLanguages = (\n typeof langCookie === 'string' ? langCookie : langCookie?.value\n ) as AcceptedLanguages\n\n if (languageFromCookie && supportedLanguageKeys.includes(languageFromCookie)) {\n return languageFromCookie\n }\n\n const languageFromHeader = headers.get('Accept-Language')\n ? extractHeaderLanguage(headers.get('Accept-Language'))\n : undefined\n\n if (languageFromHeader && supportedLanguageKeys.includes(languageFromHeader)) {\n return languageFromHeader\n }\n\n return config.i18n.fallbackLanguage\n}\n"],"names":["extractHeaderLanguage","getRequestLanguage","config","cookies","headers","supportedLanguageKeys","Object","keys","i18n","supportedLanguages","langCookie","get","cookiePrefix","languageFromCookie","value","includes","languageFromHeader","undefined","fallbackLanguage"],"rangeMappings":";;;;;;;;;;;;;","mappings":"AAIA,SAASA,qBAAqB,QAAQ,2BAA0B;AAShE,OAAO,MAAMC,qBAAqB,CAAC,EACjCC,MAAM,EACNC,OAAO,EACPC,OAAO,EACgB;IACvB,MAAMC,wBAA6CC,OAAOC,IAAI,CAACL,OAAOM,IAAI,CAACC,kBAAkB;IAC7F,MAAMC,aAAaP,QAAQQ,GAAG,CAAC,CAAC,EAAET,OAAOU,YAAY,IAAI,UAAU,IAAI,CAAC;IAExE,MAAMC,qBACJ,OAAOH,eAAe,WAAWA,aAAaA,YAAYI;IAG5D,IAAID,sBAAsBR,sBAAsBU,QAAQ,CAACF,qBAAqB;QAC5E,OAAOA;IACT;IAEA,MAAMG,qBAAqBZ,QAAQO,GAAG,CAAC,qBACnCX,sBAAsBI,QAAQO,GAAG,CAAC,sBAClCM;IAEJ,IAAID,sBAAsBX,sBAAsBU,QAAQ,CAACC,qBAAqB;QAC5E,OAAOA;IACT;IAEA,OAAOd,OAAOM,IAAI,CAACU,gBAAgB;AACrC,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/getRequestLanguage.ts"],"sourcesContent":["import type { AcceptedLanguages } from '@payloadcms/translations'\nimport type { ReadonlyRequestCookies } from 'next/dist/server/web/spec-extension/adapters/request-cookies.js'\nimport type { SanitizedConfig } from 'payload'\n\nimport { extractHeaderLanguage } from '@payloadcms/translations'\n\ntype GetRequestLanguageArgs = {\n config: SanitizedConfig\n cookies: Map<string, string> | ReadonlyRequestCookies\n defaultLanguage?: AcceptedLanguages\n headers: Request['headers']\n}\n\nexport const getRequestLanguage = ({\n config,\n cookies,\n headers,\n}: GetRequestLanguageArgs): AcceptedLanguages => {\n const supportedLanguageKeys = <AcceptedLanguages[]>Object.keys(config.i18n.supportedLanguages)\n const langCookie = cookies.get(`${config.cookiePrefix || 'payload'}-lng`)\n\n const languageFromCookie: AcceptedLanguages = (\n typeof langCookie === 'string' ? langCookie : langCookie?.value\n ) as AcceptedLanguages\n\n if (languageFromCookie && supportedLanguageKeys.includes(languageFromCookie)) {\n return languageFromCookie\n }\n\n const languageFromHeader = headers.get('Accept-Language')\n ? extractHeaderLanguage(headers.get('Accept-Language'))\n : undefined\n\n if (languageFromHeader && supportedLanguageKeys.includes(languageFromHeader)) {\n return languageFromHeader\n }\n\n return config.i18n.fallbackLanguage\n}\n"],"names":["extractHeaderLanguage","getRequestLanguage","config","cookies","headers","supportedLanguageKeys","Object","keys","i18n","supportedLanguages","langCookie","get","cookiePrefix","languageFromCookie","value","includes","languageFromHeader","undefined","fallbackLanguage"],"mappings":"AAIA,SAASA,qBAAqB,QAAQ,2BAA0B;AAShE,OAAO,MAAMC,qBAAqB,CAAC,EACjCC,MAAM,EACNC,OAAO,EACPC,OAAO,EACgB;IACvB,MAAMC,wBAA6CC,OAAOC,IAAI,CAACL,OAAOM,IAAI,CAACC,kBAAkB;IAC7F,MAAMC,aAAaP,QAAQQ,GAAG,CAAC,CAAC,EAAET,OAAOU,YAAY,IAAI,UAAU,IAAI,CAAC;IAExE,MAAMC,qBACJ,OAAOH,eAAe,WAAWA,aAAaA,YAAYI;IAG5D,IAAID,sBAAsBR,sBAAsBU,QAAQ,CAACF,qBAAqB;QAC5E,OAAOA;IACT;IAEA,MAAMG,qBAAqBZ,QAAQO,GAAG,CAAC,qBACnCX,sBAAsBI,QAAQO,GAAG,CAAC,sBAClCM;IAEJ,IAAID,sBAAsBX,sBAAsBU,QAAQ,CAACC,qBAAqB;QAC5E,OAAOA;IACT;IAEA,OAAOd,OAAOM,IAAI,CAACU,gBAAgB;AACrC,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/getRequestLocales.ts"],"sourcesContent":["import type { Payload } from 'payload'\n\ntype GetRequestLocalesArgs = {\n data?: Record<string, any>\n localization: Exclude<Payload['config']['localization'], false>\n searchParams?: URLSearchParams\n}\nexport function getRequestLocales({ data, localization, searchParams }: GetRequestLocalesArgs): {\n fallbackLocale: string\n locale: string\n} {\n let locale = searchParams.get('locale')\n let fallbackLocale = searchParams.get('fallback-locale')\n\n if (data) {\n if (data?.locale) {\n locale = data.locale\n }\n if (data?.['fallback-locale']) {\n fallbackLocale = data['fallback-locale']\n }\n }\n\n if (fallbackLocale === 'none') {\n fallbackLocale = 'null'\n } else if (!localization.localeCodes.includes(fallbackLocale)) {\n fallbackLocale = localization.defaultLocale\n }\n\n if (locale === '*') {\n locale = 'all'\n } else if (!localization.localeCodes.includes(locale)) {\n locale = localization.defaultLocale\n }\n\n return {\n fallbackLocale,\n locale,\n }\n}\n"],"names":["getRequestLocales","data","localization","searchParams","locale","get","fallbackLocale","localeCodes","includes","defaultLocale"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAOA,OAAO,SAASA,kBAAkB,EAAEC,IAAI,EAAEC,YAAY,EAAEC,YAAY,EAAyB;IAI3F,IAAIC,SAASD,aAAaE,GAAG,CAAC;IAC9B,IAAIC,iBAAiBH,aAAaE,GAAG,CAAC;IAEtC,IAAIJ,MAAM;QACR,IAAIA,MAAMG,QAAQ;YAChBA,SAASH,KAAKG,MAAM;QACtB;QACA,IAAIH,MAAM,CAAC,kBAAkB,EAAE;YAC7BK,iBAAiBL,IAAI,CAAC,kBAAkB;QAC1C;IACF;IAEA,IAAIK,mBAAmB,QAAQ;QAC7BA,iBAAiB;IACnB,OAAO,IAAI,CAACJ,aAAaK,WAAW,CAACC,QAAQ,CAACF,iBAAiB;QAC7DA,iBAAiBJ,aAAaO,aAAa;IAC7C;IAEA,IAAIL,WAAW,KAAK;QAClBA,SAAS;IACX,OAAO,IAAI,CAACF,aAAaK,WAAW,CAACC,QAAQ,CAACJ,SAAS;QACrDA,SAASF,aAAaO,aAAa;IACrC;IAEA,OAAO;QACLH;QACAF;IACF;AACF"}
1
+ {"version":3,"sources":["../../src/utilities/getRequestLocales.ts"],"sourcesContent":["import type { Payload } from 'payload'\n\ntype GetRequestLocalesArgs = {\n data?: Record<string, any>\n localization: Exclude<Payload['config']['localization'], false>\n searchParams?: URLSearchParams\n}\nexport function getRequestLocales({ data, localization, searchParams }: GetRequestLocalesArgs): {\n fallbackLocale: string\n locale: string\n} {\n let locale = searchParams.get('locale')\n let fallbackLocale = searchParams.get('fallback-locale')\n\n if (data) {\n if (data?.locale) {\n locale = data.locale\n }\n if (data?.['fallback-locale']) {\n fallbackLocale = data['fallback-locale']\n }\n }\n\n if (fallbackLocale === 'none') {\n fallbackLocale = 'null'\n } else if (!localization.localeCodes.includes(fallbackLocale)) {\n fallbackLocale = localization.defaultLocale\n }\n\n if (locale === '*') {\n locale = 'all'\n } else if (!localization.localeCodes.includes(locale)) {\n locale = localization.defaultLocale\n }\n\n return {\n fallbackLocale,\n locale,\n }\n}\n"],"names":["getRequestLocales","data","localization","searchParams","locale","get","fallbackLocale","localeCodes","includes","defaultLocale"],"mappings":"AAOA,OAAO,SAASA,kBAAkB,EAAEC,IAAI,EAAEC,YAAY,EAAEC,YAAY,EAAyB;IAI3F,IAAIC,SAASD,aAAaE,GAAG,CAAC;IAC9B,IAAIC,iBAAiBH,aAAaE,GAAG,CAAC;IAEtC,IAAIJ,MAAM;QACR,IAAIA,MAAMG,QAAQ;YAChBA,SAASH,KAAKG,MAAM;QACtB;QACA,IAAIH,MAAM,CAAC,kBAAkB,EAAE;YAC7BK,iBAAiBL,IAAI,CAAC,kBAAkB;QAC1C;IACF;IAEA,IAAIK,mBAAmB,QAAQ;QAC7BA,iBAAiB;IACnB,OAAO,IAAI,CAACJ,aAAaK,WAAW,CAACC,QAAQ,CAACF,iBAAiB;QAC7DA,iBAAiBJ,aAAaO,aAAa;IAC7C;IAEA,IAAIL,WAAW,KAAK;QAClBA,SAAS;IACX,OAAO,IAAI,CAACF,aAAaK,WAAW,CAACC,QAAQ,CAACJ,SAAS;QACrDA,SAASF,aAAaO,aAAa;IACrC;IAEA,OAAO;QACLH;QACAF;IACF;AACF"}
@@ -1,6 +1,6 @@
1
- import type { Theme } from '@payloadcms/ui/providers/Theme';
2
1
  import type { ReadonlyRequestCookies } from 'next/dist/server/web/spec-extension/adapters/request-cookies.js';
3
- import type { SanitizedConfig } from 'payload/config';
2
+ import type { SanitizedConfig } from 'payload';
3
+ import { type Theme } from '@payloadcms/ui';
4
4
  type GetRequestLanguageArgs = {
5
5
  config: SanitizedConfig;
6
6
  cookies: Map<string, string> | ReadonlyRequestCookies;
@@ -1 +1 @@
1
- {"version":3,"file":"getRequestTheme.d.ts","sourceRoot":"","sources":["../../src/utilities/getRequestTheme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAA;AAC3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iEAAiE,CAAA;AAC7G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAIrD,KAAK,sBAAsB,GAAG;IAC5B,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,sBAAsB,CAAA;IACrD,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;CAC5B,CAAA;AAID,eAAO,MAAM,eAAe,iCAAkC,sBAAsB,KAAG,KAkBtF,CAAA"}
1
+ {"version":3,"file":"getRequestTheme.d.ts","sourceRoot":"","sources":["../../src/utilities/getRequestTheme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iEAAiE,CAAA;AAC7G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,EAAE,KAAK,KAAK,EAAgB,MAAM,gBAAgB,CAAA;AAEzD,KAAK,sBAAsB,GAAG;IAC5B,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,sBAAsB,CAAA;IACrD,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;CAC5B,CAAA;AAID,eAAO,MAAM,eAAe,iCAAkC,sBAAsB,KAAG,KAkBtF,CAAA"}
@@ -1,4 +1,4 @@
1
- import { defaultTheme } from '@payloadcms/ui/providers/Theme';
1
+ import { defaultTheme } from '@payloadcms/ui';
2
2
  const acceptedThemes = [
3
3
  'dark',
4
4
  'light'
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/getRequestTheme.ts"],"sourcesContent":["import type { Theme } from '@payloadcms/ui/providers/Theme'\nimport type { ReadonlyRequestCookies } from 'next/dist/server/web/spec-extension/adapters/request-cookies.js'\nimport type { SanitizedConfig } from 'payload/config'\n\nimport { defaultTheme } from '@payloadcms/ui/providers/Theme'\n\ntype GetRequestLanguageArgs = {\n config: SanitizedConfig\n cookies: Map<string, string> | ReadonlyRequestCookies\n headers: Request['headers']\n}\n\nconst acceptedThemes: Theme[] = ['dark', 'light']\n\nexport const getRequestTheme = ({ config, cookies, headers }: GetRequestLanguageArgs): Theme => {\n const themeCookie = cookies.get(`${config.cookiePrefix || 'payload'}-theme`)\n\n const themeFromCookie: Theme = (\n typeof themeCookie === 'string' ? themeCookie : themeCookie?.value\n ) as Theme\n\n if (themeFromCookie && acceptedThemes.includes(themeFromCookie)) {\n return themeFromCookie\n }\n\n const themeFromHeader = headers.get('Sec-CH-Prefers-Color-Scheme') as Theme\n\n if (themeFromHeader && acceptedThemes.includes(themeFromHeader)) {\n return themeFromHeader\n }\n\n return defaultTheme\n}\n"],"names":["defaultTheme","acceptedThemes","getRequestTheme","config","cookies","headers","themeCookie","get","cookiePrefix","themeFromCookie","value","includes","themeFromHeader"],"rangeMappings":";;;;;;;;;;;;;;;;","mappings":"AAIA,SAASA,YAAY,QAAQ,iCAAgC;AAQ7D,MAAMC,iBAA0B;IAAC;IAAQ;CAAQ;AAEjD,OAAO,MAAMC,kBAAkB,CAAC,EAAEC,MAAM,EAAEC,OAAO,EAAEC,OAAO,EAA0B;IAClF,MAAMC,cAAcF,QAAQG,GAAG,CAAC,CAAC,EAAEJ,OAAOK,YAAY,IAAI,UAAU,MAAM,CAAC;IAE3E,MAAMC,kBACJ,OAAOH,gBAAgB,WAAWA,cAAcA,aAAaI;IAG/D,IAAID,mBAAmBR,eAAeU,QAAQ,CAACF,kBAAkB;QAC/D,OAAOA;IACT;IAEA,MAAMG,kBAAkBP,QAAQE,GAAG,CAAC;IAEpC,IAAIK,mBAAmBX,eAAeU,QAAQ,CAACC,kBAAkB;QAC/D,OAAOA;IACT;IAEA,OAAOZ;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/getRequestTheme.ts"],"sourcesContent":["import type { ReadonlyRequestCookies } from 'next/dist/server/web/spec-extension/adapters/request-cookies.js'\nimport type { SanitizedConfig } from 'payload'\n\nimport { type Theme, defaultTheme } from '@payloadcms/ui'\n\ntype GetRequestLanguageArgs = {\n config: SanitizedConfig\n cookies: Map<string, string> | ReadonlyRequestCookies\n headers: Request['headers']\n}\n\nconst acceptedThemes: Theme[] = ['dark', 'light']\n\nexport const getRequestTheme = ({ config, cookies, headers }: GetRequestLanguageArgs): Theme => {\n const themeCookie = cookies.get(`${config.cookiePrefix || 'payload'}-theme`)\n\n const themeFromCookie: Theme = (\n typeof themeCookie === 'string' ? themeCookie : themeCookie?.value\n ) as Theme\n\n if (themeFromCookie && acceptedThemes.includes(themeFromCookie)) {\n return themeFromCookie\n }\n\n const themeFromHeader = headers.get('Sec-CH-Prefers-Color-Scheme') as Theme\n\n if (themeFromHeader && acceptedThemes.includes(themeFromHeader)) {\n return themeFromHeader\n }\n\n return defaultTheme\n}\n"],"names":["defaultTheme","acceptedThemes","getRequestTheme","config","cookies","headers","themeCookie","get","cookiePrefix","themeFromCookie","value","includes","themeFromHeader"],"mappings":"AAGA,SAAqBA,YAAY,QAAQ,iBAAgB;AAQzD,MAAMC,iBAA0B;IAAC;IAAQ;CAAQ;AAEjD,OAAO,MAAMC,kBAAkB,CAAC,EAAEC,MAAM,EAAEC,OAAO,EAAEC,OAAO,EAA0B;IAClF,MAAMC,cAAcF,QAAQG,GAAG,CAAC,CAAC,EAAEJ,OAAOK,YAAY,IAAI,UAAU,MAAM,CAAC;IAE3E,MAAMC,kBACJ,OAAOH,gBAAgB,WAAWA,cAAcA,aAAaI;IAG/D,IAAID,mBAAmBR,eAAeU,QAAQ,CAACF,kBAAkB;QAC/D,OAAOA;IACT;IAEA,MAAMG,kBAAkBP,QAAQE,GAAG,CAAC;IAEpC,IAAIK,mBAAmBX,eAAeU,QAAQ,CAACC,kBAAkB;QAC/D,OAAOA;IACT;IAEA,OAAOZ;AACT,EAAC"}
@@ -1,7 +1,7 @@
1
- import type { PayloadRequestWithData } from 'payload/types';
1
+ import type { PayloadRequest } from 'payload';
2
2
  type CorsArgs = {
3
3
  headers: Headers;
4
- req: Partial<PayloadRequestWithData>;
4
+ req: Partial<PayloadRequest>;
5
5
  };
6
6
  export declare const headersWithCors: ({ headers, req }: CorsArgs) => Headers;
7
7
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"headersWithCors.d.ts","sourceRoot":"","sources":["../../src/utilities/headersWithCors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAE3D,KAAK,QAAQ,GAAG;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAA;CACrC,CAAA;AACD,eAAO,MAAM,eAAe,qBAAsB,QAAQ,KAAG,OAoB5D,CAAA"}
1
+ {"version":3,"file":"headersWithCors.d.ts","sourceRoot":"","sources":["../../src/utilities/headersWithCors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,cAAc,EAAE,MAAM,SAAS,CAAA;AAEzD,KAAK,QAAQ,GAAG;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;CAC7B,CAAA;AACD,eAAO,MAAM,eAAe,qBAAsB,QAAQ,KAAG,OAyC5D,CAAA"}
@@ -2,11 +2,27 @@ export const headersWithCors = ({ headers, req })=>{
2
2
  const cors = req?.payload.config.cors;
3
3
  const requestOrigin = req?.headers.get('Origin');
4
4
  if (cors) {
5
+ const defaultAllowedHeaders = [
6
+ 'Origin',
7
+ 'X-Requested-With',
8
+ 'Content-Type',
9
+ 'Accept',
10
+ 'Authorization',
11
+ 'Content-Encoding',
12
+ 'x-apollo-tracing'
13
+ ];
5
14
  headers.set('Access-Control-Allow-Methods', 'PUT, PATCH, POST, GET, DELETE, OPTIONS');
6
- headers.set('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept, Authorization, Content-Encoding, x-apollo-tracing');
7
- if (cors === '*') {
15
+ if (typeof cors === 'object' && 'headers' in cors) {
16
+ headers.set('Access-Control-Allow-Headers', [
17
+ ...defaultAllowedHeaders,
18
+ ...cors.headers
19
+ ].filter(Boolean).join(', '));
20
+ } else {
21
+ headers.set('Access-Control-Allow-Headers', defaultAllowedHeaders.join(', '));
22
+ }
23
+ if (cors === '*' || typeof cors === 'object' && 'origins' in cors && cors.origins === '*') {
8
24
  headers.set('Access-Control-Allow-Origin', '*');
9
- } else if (Array.isArray(cors) && cors.indexOf(requestOrigin) > -1) {
25
+ } else if (Array.isArray(cors) && cors.indexOf(requestOrigin) > -1 || !Array.isArray(cors) && typeof cors === 'object' && 'origins' in cors && cors.origins.indexOf(requestOrigin) > -1) {
10
26
  headers.set('Access-Control-Allow-Credentials', 'true');
11
27
  headers.set('Access-Control-Allow-Origin', requestOrigin);
12
28
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/headersWithCors.ts"],"sourcesContent":["import type { PayloadRequestWithData } from 'payload/types'\n\ntype CorsArgs = {\n headers: Headers\n req: Partial<PayloadRequestWithData>\n}\nexport const headersWithCors = ({ headers, req }: CorsArgs): Headers => {\n const cors = req?.payload.config.cors\n const requestOrigin = req?.headers.get('Origin')\n\n if (cors) {\n headers.set('Access-Control-Allow-Methods', 'PUT, PATCH, POST, GET, DELETE, OPTIONS')\n headers.set(\n 'Access-Control-Allow-Headers',\n 'Origin, X-Requested-With, Content-Type, Accept, Authorization, Content-Encoding, x-apollo-tracing',\n )\n\n if (cors === '*') {\n headers.set('Access-Control-Allow-Origin', '*')\n } else if (Array.isArray(cors) && cors.indexOf(requestOrigin) > -1) {\n headers.set('Access-Control-Allow-Credentials', 'true')\n headers.set('Access-Control-Allow-Origin', requestOrigin)\n }\n }\n\n return headers\n}\n"],"names":["headersWithCors","headers","req","cors","payload","config","requestOrigin","get","set","Array","isArray","indexOf"],"rangeMappings":";;;;;;;;;;;;;;","mappings":"AAMA,OAAO,MAAMA,kBAAkB,CAAC,EAAEC,OAAO,EAAEC,GAAG,EAAY;IACxD,MAAMC,OAAOD,KAAKE,QAAQC,OAAOF;IACjC,MAAMG,gBAAgBJ,KAAKD,QAAQM,IAAI;IAEvC,IAAIJ,MAAM;QACRF,QAAQO,GAAG,CAAC,gCAAgC;QAC5CP,QAAQO,GAAG,CACT,gCACA;QAGF,IAAIL,SAAS,KAAK;YAChBF,QAAQO,GAAG,CAAC,+BAA+B;QAC7C,OAAO,IAAIC,MAAMC,OAAO,CAACP,SAASA,KAAKQ,OAAO,CAACL,iBAAiB,CAAC,GAAG;YAClEL,QAAQO,GAAG,CAAC,oCAAoC;YAChDP,QAAQO,GAAG,CAAC,+BAA+BF;QAC7C;IACF;IAEA,OAAOL;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/headersWithCors.ts"],"sourcesContent":["import type { CORSConfig, PayloadRequest } from 'payload'\n\ntype CorsArgs = {\n headers: Headers\n req: Partial<PayloadRequest>\n}\nexport const headersWithCors = ({ headers, req }: CorsArgs): Headers => {\n const cors = req?.payload.config.cors\n const requestOrigin = req?.headers.get('Origin')\n\n if (cors) {\n const defaultAllowedHeaders = [\n 'Origin',\n 'X-Requested-With',\n 'Content-Type',\n 'Accept',\n 'Authorization',\n 'Content-Encoding',\n 'x-apollo-tracing',\n ]\n\n headers.set('Access-Control-Allow-Methods', 'PUT, PATCH, POST, GET, DELETE, OPTIONS')\n\n if (typeof cors === 'object' && 'headers' in cors) {\n headers.set(\n 'Access-Control-Allow-Headers',\n [...defaultAllowedHeaders, ...cors.headers].filter(Boolean).join(', '),\n )\n } else {\n headers.set('Access-Control-Allow-Headers', defaultAllowedHeaders.join(', '))\n }\n\n if (cors === '*' || (typeof cors === 'object' && 'origins' in cors && cors.origins === '*')) {\n headers.set('Access-Control-Allow-Origin', '*')\n } else if (\n (Array.isArray(cors) && cors.indexOf(requestOrigin) > -1) ||\n (!Array.isArray(cors) &&\n typeof cors === 'object' &&\n 'origins' in cors &&\n cors.origins.indexOf(requestOrigin) > -1)\n ) {\n headers.set('Access-Control-Allow-Credentials', 'true')\n headers.set('Access-Control-Allow-Origin', requestOrigin)\n }\n }\n\n return headers\n}\n"],"names":["headersWithCors","headers","req","cors","payload","config","requestOrigin","get","defaultAllowedHeaders","set","filter","Boolean","join","origins","Array","isArray","indexOf"],"mappings":"AAMA,OAAO,MAAMA,kBAAkB,CAAC,EAAEC,OAAO,EAAEC,GAAG,EAAY;IACxD,MAAMC,OAAOD,KAAKE,QAAQC,OAAOF;IACjC,MAAMG,gBAAgBJ,KAAKD,QAAQM,IAAI;IAEvC,IAAIJ,MAAM;QACR,MAAMK,wBAAwB;YAC5B;YACA;YACA;YACA;YACA;YACA;YACA;SACD;QAEDP,QAAQQ,GAAG,CAAC,gCAAgC;QAE5C,IAAI,OAAON,SAAS,YAAY,aAAaA,MAAM;YACjDF,QAAQQ,GAAG,CACT,gCACA;mBAAID;mBAA0BL,KAAKF,OAAO;aAAC,CAACS,MAAM,CAACC,SAASC,IAAI,CAAC;QAErE,OAAO;YACLX,QAAQQ,GAAG,CAAC,gCAAgCD,sBAAsBI,IAAI,CAAC;QACzE;QAEA,IAAIT,SAAS,OAAQ,OAAOA,SAAS,YAAY,aAAaA,QAAQA,KAAKU,OAAO,KAAK,KAAM;YAC3FZ,QAAQQ,GAAG,CAAC,+BAA+B;QAC7C,OAAO,IACL,AAACK,MAAMC,OAAO,CAACZ,SAASA,KAAKa,OAAO,CAACV,iBAAiB,CAAC,KACtD,CAACQ,MAAMC,OAAO,CAACZ,SACd,OAAOA,SAAS,YAChB,aAAaA,QACbA,KAAKU,OAAO,CAACG,OAAO,CAACV,iBAAiB,CAAC,GACzC;YACAL,QAAQQ,GAAG,CAAC,oCAAoC;YAChDR,QAAQQ,GAAG,CAAC,+BAA+BH;QAC7C;IACF;IAEA,OAAOL;AACT,EAAC"}
@@ -1,5 +1,4 @@
1
- import type { Permissions } from 'payload/auth';
2
- import type { SanitizedCollectionConfig, SanitizedConfig, SanitizedGlobalConfig } from 'payload/types';
1
+ import type { Permissions, SanitizedCollectionConfig, SanitizedConfig, SanitizedGlobalConfig } from 'payload';
3
2
  export declare const handleAdminPage: ({ adminRoute, config, permissions, route, }: {
4
3
  adminRoute: string;
5
4
  config: SanitizedConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"handleAdminPage.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/handleAdminPage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,EACV,yBAAyB,EACzB,eAAe,EACf,qBAAqB,EACtB,MAAM,eAAe,CAAA;AAMtB,eAAO,MAAM,eAAe,gDAKzB;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,eAAe,CAAA;IACvB,WAAW,EAAE,WAAW,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;CACd;;;;CAqCA,CAAA"}
1
+ {"version":3,"file":"handleAdminPage.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/handleAdminPage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,yBAAyB,EACzB,eAAe,EACf,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAMhB,eAAO,MAAM,eAAe,gDAKzB;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,eAAe,CAAA;IACvB,WAAW,EAAE,WAAW,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;CACd;;;;CAqCA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utilities/initPage/handleAdminPage.ts"],"sourcesContent":["import type { Permissions } from 'payload/auth'\nimport type {\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n} from 'payload/types'\n\nimport { notFound } from 'next/navigation.js'\n\nimport { isAdminAuthRoute, isAdminRoute } from './shared.js'\n\nexport const handleAdminPage = ({\n adminRoute,\n config,\n permissions,\n route,\n}: {\n adminRoute: string\n config: SanitizedConfig\n permissions: Permissions\n route: string\n}) => {\n if (isAdminRoute(route, adminRoute)) {\n const routeSegments = route.replace(adminRoute, '').split('/').filter(Boolean)\n const [entityType, entitySlug, createOrID] = routeSegments\n const collectionSlug = entityType === 'collections' ? entitySlug : undefined\n const globalSlug = entityType === 'globals' ? entitySlug : undefined\n const docID = collectionSlug && createOrID !== 'create' ? createOrID : undefined\n\n let collectionConfig: SanitizedCollectionConfig | undefined\n let globalConfig: SanitizedGlobalConfig | undefined\n\n if (collectionSlug) {\n collectionConfig = config.collections.find((collection) => collection.slug === collectionSlug)\n\n if (!collectionConfig) {\n notFound()\n }\n }\n\n if (globalSlug) {\n globalConfig = config.globals.find((global) => global.slug === globalSlug)\n\n if (!globalConfig) {\n notFound()\n }\n }\n\n if (!permissions.canAccessAdmin && !isAdminAuthRoute(config, route, adminRoute)) {\n notFound()\n }\n\n return {\n collectionConfig,\n docID,\n globalConfig,\n }\n }\n}\n"],"names":["notFound","isAdminAuthRoute","isAdminRoute","handleAdminPage","adminRoute","config","permissions","route","routeSegments","replace","split","filter","Boolean","entityType","entitySlug","createOrID","collectionSlug","undefined","globalSlug","docID","collectionConfig","globalConfig","collections","find","collection","slug","globals","global","canAccessAdmin"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAOA,SAASA,QAAQ,QAAQ,qBAAoB;AAE7C,SAASC,gBAAgB,EAAEC,YAAY,QAAQ,cAAa;AAE5D,OAAO,MAAMC,kBAAkB,CAAC,EAC9BC,UAAU,EACVC,MAAM,EACNC,WAAW,EACXC,KAAK,EAMN;IACC,IAAIL,aAAaK,OAAOH,aAAa;QACnC,MAAMI,gBAAgBD,MAAME,OAAO,CAACL,YAAY,IAAIM,KAAK,CAAC,KAAKC,MAAM,CAACC;QACtE,MAAM,CAACC,YAAYC,YAAYC,WAAW,GAAGP;QAC7C,MAAMQ,iBAAiBH,eAAe,gBAAgBC,aAAaG;QACnE,MAAMC,aAAaL,eAAe,YAAYC,aAAaG;QAC3D,MAAME,QAAQH,kBAAkBD,eAAe,WAAWA,aAAaE;QAEvE,IAAIG;QACJ,IAAIC;QAEJ,IAAIL,gBAAgB;YAClBI,mBAAmBf,OAAOiB,WAAW,CAACC,IAAI,CAAC,CAACC,aAAeA,WAAWC,IAAI,KAAKT;YAE/E,IAAI,CAACI,kBAAkB;gBACrBpB;YACF;QACF;QAEA,IAAIkB,YAAY;YACdG,eAAehB,OAAOqB,OAAO,CAACH,IAAI,CAAC,CAACI,SAAWA,OAAOF,IAAI,KAAKP;YAE/D,IAAI,CAACG,cAAc;gBACjBrB;YACF;QACF;QAEA,IAAI,CAACM,YAAYsB,cAAc,IAAI,CAAC3B,iBAAiBI,QAAQE,OAAOH,aAAa;YAC/EJ;QACF;QAEA,OAAO;YACLoB;YACAD;YACAE;QACF;IACF;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../src/utilities/initPage/handleAdminPage.ts"],"sourcesContent":["import type {\n Permissions,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport { notFound } from 'next/navigation.js'\n\nimport { isAdminAuthRoute, isAdminRoute } from './shared.js'\n\nexport const handleAdminPage = ({\n adminRoute,\n config,\n permissions,\n route,\n}: {\n adminRoute: string\n config: SanitizedConfig\n permissions: Permissions\n route: string\n}) => {\n if (isAdminRoute(route, adminRoute)) {\n const routeSegments = route.replace(adminRoute, '').split('/').filter(Boolean)\n const [entityType, entitySlug, createOrID] = routeSegments\n const collectionSlug = entityType === 'collections' ? entitySlug : undefined\n const globalSlug = entityType === 'globals' ? entitySlug : undefined\n const docID = collectionSlug && createOrID !== 'create' ? createOrID : undefined\n\n let collectionConfig: SanitizedCollectionConfig | undefined\n let globalConfig: SanitizedGlobalConfig | undefined\n\n if (collectionSlug) {\n collectionConfig = config.collections.find((collection) => collection.slug === collectionSlug)\n\n if (!collectionConfig) {\n notFound()\n }\n }\n\n if (globalSlug) {\n globalConfig = config.globals.find((global) => global.slug === globalSlug)\n\n if (!globalConfig) {\n notFound()\n }\n }\n\n if (!permissions.canAccessAdmin && !isAdminAuthRoute(config, route, adminRoute)) {\n notFound()\n }\n\n return {\n collectionConfig,\n docID,\n globalConfig,\n }\n }\n}\n"],"names":["notFound","isAdminAuthRoute","isAdminRoute","handleAdminPage","adminRoute","config","permissions","route","routeSegments","replace","split","filter","Boolean","entityType","entitySlug","createOrID","collectionSlug","undefined","globalSlug","docID","collectionConfig","globalConfig","collections","find","collection","slug","globals","global","canAccessAdmin"],"mappings":"AAOA,SAASA,QAAQ,QAAQ,qBAAoB;AAE7C,SAASC,gBAAgB,EAAEC,YAAY,QAAQ,cAAa;AAE5D,OAAO,MAAMC,kBAAkB,CAAC,EAC9BC,UAAU,EACVC,MAAM,EACNC,WAAW,EACXC,KAAK,EAMN;IACC,IAAIL,aAAaK,OAAOH,aAAa;QACnC,MAAMI,gBAAgBD,MAAME,OAAO,CAACL,YAAY,IAAIM,KAAK,CAAC,KAAKC,MAAM,CAACC;QACtE,MAAM,CAACC,YAAYC,YAAYC,WAAW,GAAGP;QAC7C,MAAMQ,iBAAiBH,eAAe,gBAAgBC,aAAaG;QACnE,MAAMC,aAAaL,eAAe,YAAYC,aAAaG;QAC3D,MAAME,QAAQH,kBAAkBD,eAAe,WAAWA,aAAaE;QAEvE,IAAIG;QACJ,IAAIC;QAEJ,IAAIL,gBAAgB;YAClBI,mBAAmBf,OAAOiB,WAAW,CAACC,IAAI,CAAC,CAACC,aAAeA,WAAWC,IAAI,KAAKT;YAE/E,IAAI,CAACI,kBAAkB;gBACrBpB;YACF;QACF;QAEA,IAAIkB,YAAY;YACdG,eAAehB,OAAOqB,OAAO,CAACH,IAAI,CAAC,CAACI,SAAWA,OAAOF,IAAI,KAAKP;YAE/D,IAAI,CAACG,cAAc;gBACjBrB;YACF;QACF;QAEA,IAAI,CAACM,YAAYsB,cAAc,IAAI,CAAC3B,iBAAiBI,QAAQE,OAAOH,aAAa;YAC/EJ;QACF;QAEA,OAAO;YACLoB;YACAD;YACAE;QACF;IACF;AACF,EAAC"}
@@ -1,5 +1,5 @@
1
1
  export declare const handleAuthRedirect: ({ config, redirectUnauthenticatedUser, route, searchParams, }: {
2
- config;
2
+ config: any;
3
3
  redirectUnauthenticatedUser: boolean | string;
4
4
  route: string;
5
5
  searchParams: {
@@ -1 +1 @@
1
- {"version":3,"file":"handleAuthRedirect.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/handleAuthRedirect.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,kBAAkB,kEAK5B;IACD,MAAM,CAAA;IACN,2BAA2B,EAAE,OAAO,GAAG,MAAM,CAAA;IAC7C,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CACnD,SAsCA,CAAA"}
1
+ {"version":3,"file":"handleAuthRedirect.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/handleAuthRedirect.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,kBAAkB,kEAK5B;IACD,MAAM,MAAA;IACN,2BAA2B,EAAE,OAAO,GAAG,MAAM,CAAA;IAC7C,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CACnD,SAsCA,CAAA"}
@@ -1,18 +1,18 @@
1
1
  import { redirect } from 'next/navigation.js';
2
- import QueryString from 'qs';
2
+ import * as qs from 'qs-esm';
3
3
  import { isAdminAuthRoute, isAdminRoute } from './shared.js';
4
4
  export const handleAuthRedirect = ({ config, redirectUnauthenticatedUser, route, searchParams })=>{
5
5
  const { admin: { routes: { login: loginRouteFromConfig } }, routes: { admin: adminRoute } } = config;
6
6
  if (!isAdminAuthRoute(config, route, adminRoute)) {
7
7
  if (searchParams && 'redirect' in searchParams) delete searchParams.redirect;
8
- const redirectRoute = encodeURIComponent(route + Object.keys(searchParams ?? {}).length ? `${QueryString.stringify(searchParams, {
8
+ const redirectRoute = encodeURIComponent(route + Object.keys(searchParams ?? {}).length ? `${qs.stringify(searchParams, {
9
9
  addQueryPrefix: true
10
10
  })}` : undefined);
11
11
  const adminLoginRoute = `${adminRoute}${loginRouteFromConfig}`;
12
12
  const customLoginRoute = typeof redirectUnauthenticatedUser === 'string' ? redirectUnauthenticatedUser : undefined;
13
13
  const loginRoute = isAdminRoute(route, adminRoute) ? adminLoginRoute : customLoginRoute || loginRouteFromConfig;
14
- const parsedLoginRouteSearchParams = QueryString.parse(loginRoute.split('?')[1] ?? '');
15
- const searchParamsWithRedirect = `${QueryString.stringify({
14
+ const parsedLoginRouteSearchParams = qs.parse(loginRoute.split('?')[1] ?? '');
15
+ const searchParamsWithRedirect = `${qs.stringify({
16
16
  ...parsedLoginRouteSearchParams,
17
17
  ...redirectRoute ? {
18
18
  redirect: redirectRoute
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utilities/initPage/handleAuthRedirect.ts"],"sourcesContent":["import { redirect } from 'next/navigation.js'\nimport QueryString from 'qs'\n\nimport { isAdminAuthRoute, isAdminRoute } from './shared.js'\n\nexport const handleAuthRedirect = ({\n config,\n redirectUnauthenticatedUser,\n route,\n searchParams,\n}: {\n config\n redirectUnauthenticatedUser: boolean | string\n route: string\n searchParams: { [key: string]: string | string[] }\n}) => {\n const {\n admin: {\n routes: { login: loginRouteFromConfig },\n },\n routes: { admin: adminRoute },\n } = config\n\n if (!isAdminAuthRoute(config, route, adminRoute)) {\n if (searchParams && 'redirect' in searchParams) delete searchParams.redirect\n\n const redirectRoute = encodeURIComponent(\n route + Object.keys(searchParams ?? {}).length\n ? `${QueryString.stringify(searchParams, { addQueryPrefix: true })}`\n : undefined,\n )\n\n const adminLoginRoute = `${adminRoute}${loginRouteFromConfig}`\n\n const customLoginRoute =\n typeof redirectUnauthenticatedUser === 'string' ? redirectUnauthenticatedUser : undefined\n\n const loginRoute = isAdminRoute(route, adminRoute)\n ? adminLoginRoute\n : customLoginRoute || loginRouteFromConfig\n\n const parsedLoginRouteSearchParams = QueryString.parse(loginRoute.split('?')[1] ?? '')\n\n const searchParamsWithRedirect = `${QueryString.stringify(\n {\n ...parsedLoginRouteSearchParams,\n ...(redirectRoute ? { redirect: redirectRoute } : {}),\n },\n { addQueryPrefix: true },\n )}`\n\n redirect(`${loginRoute.split('?')[0]}${searchParamsWithRedirect}`)\n }\n}\n"],"names":["redirect","QueryString","isAdminAuthRoute","isAdminRoute","handleAuthRedirect","config","redirectUnauthenticatedUser","route","searchParams","admin","routes","login","loginRouteFromConfig","adminRoute","redirectRoute","encodeURIComponent","Object","keys","length","stringify","addQueryPrefix","undefined","adminLoginRoute","customLoginRoute","loginRoute","parsedLoginRouteSearchParams","parse","split","searchParamsWithRedirect"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,QAAQ,QAAQ,qBAAoB;AAC7C,OAAOC,iBAAiB,KAAI;AAE5B,SAASC,gBAAgB,EAAEC,YAAY,QAAQ,cAAa;AAE5D,OAAO,MAAMC,qBAAqB,CAAC,EACjCC,MAAM,EACNC,2BAA2B,EAC3BC,KAAK,EACLC,YAAY,EAMb;IACC,MAAM,EACJC,OAAO,EACLC,QAAQ,EAAEC,OAAOC,oBAAoB,EAAE,EACxC,EACDF,QAAQ,EAAED,OAAOI,UAAU,EAAE,EAC9B,GAAGR;IAEJ,IAAI,CAACH,iBAAiBG,QAAQE,OAAOM,aAAa;QAChD,IAAIL,gBAAgB,cAAcA,cAAc,OAAOA,aAAaR,QAAQ;QAE5E,MAAMc,gBAAgBC,mBACpBR,QAAQS,OAAOC,IAAI,CAACT,gBAAgB,CAAC,GAAGU,MAAM,GAC1C,CAAC,EAAEjB,YAAYkB,SAAS,CAACX,cAAc;YAAEY,gBAAgB;QAAK,GAAG,CAAC,GAClEC;QAGN,MAAMC,kBAAkB,CAAC,EAAET,WAAW,EAAED,qBAAqB,CAAC;QAE9D,MAAMW,mBACJ,OAAOjB,gCAAgC,WAAWA,8BAA8Be;QAElF,MAAMG,aAAarB,aAAaI,OAAOM,cACnCS,kBACAC,oBAAoBX;QAExB,MAAMa,+BAA+BxB,YAAYyB,KAAK,CAACF,WAAWG,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI;QAEnF,MAAMC,2BAA2B,CAAC,EAAE3B,YAAYkB,SAAS,CACvD;YACE,GAAGM,4BAA4B;YAC/B,GAAIX,gBAAgB;gBAAEd,UAAUc;YAAc,IAAI,CAAC,CAAC;QACtD,GACA;YAAEM,gBAAgB;QAAK,GACvB,CAAC;QAEHpB,SAAS,CAAC,EAAEwB,WAAWG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAEC,yBAAyB,CAAC;IACnE;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../src/utilities/initPage/handleAuthRedirect.ts"],"sourcesContent":["import { redirect } from 'next/navigation.js'\nimport * as qs from 'qs-esm'\n\nimport { isAdminAuthRoute, isAdminRoute } from './shared.js'\n\nexport const handleAuthRedirect = ({\n config,\n redirectUnauthenticatedUser,\n route,\n searchParams,\n}: {\n config\n redirectUnauthenticatedUser: boolean | string\n route: string\n searchParams: { [key: string]: string | string[] }\n}) => {\n const {\n admin: {\n routes: { login: loginRouteFromConfig },\n },\n routes: { admin: adminRoute },\n } = config\n\n if (!isAdminAuthRoute(config, route, adminRoute)) {\n if (searchParams && 'redirect' in searchParams) delete searchParams.redirect\n\n const redirectRoute = encodeURIComponent(\n route + Object.keys(searchParams ?? {}).length\n ? `${qs.stringify(searchParams, { addQueryPrefix: true })}`\n : undefined,\n )\n\n const adminLoginRoute = `${adminRoute}${loginRouteFromConfig}`\n\n const customLoginRoute =\n typeof redirectUnauthenticatedUser === 'string' ? redirectUnauthenticatedUser : undefined\n\n const loginRoute = isAdminRoute(route, adminRoute)\n ? adminLoginRoute\n : customLoginRoute || loginRouteFromConfig\n\n const parsedLoginRouteSearchParams = qs.parse(loginRoute.split('?')[1] ?? '')\n\n const searchParamsWithRedirect = `${qs.stringify(\n {\n ...parsedLoginRouteSearchParams,\n ...(redirectRoute ? { redirect: redirectRoute } : {}),\n },\n { addQueryPrefix: true },\n )}`\n\n redirect(`${loginRoute.split('?')[0]}${searchParamsWithRedirect}`)\n }\n}\n"],"names":["redirect","qs","isAdminAuthRoute","isAdminRoute","handleAuthRedirect","config","redirectUnauthenticatedUser","route","searchParams","admin","routes","login","loginRouteFromConfig","adminRoute","redirectRoute","encodeURIComponent","Object","keys","length","stringify","addQueryPrefix","undefined","adminLoginRoute","customLoginRoute","loginRoute","parsedLoginRouteSearchParams","parse","split","searchParamsWithRedirect"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,qBAAoB;AAC7C,YAAYC,QAAQ,SAAQ;AAE5B,SAASC,gBAAgB,EAAEC,YAAY,QAAQ,cAAa;AAE5D,OAAO,MAAMC,qBAAqB,CAAC,EACjCC,MAAM,EACNC,2BAA2B,EAC3BC,KAAK,EACLC,YAAY,EAMb;IACC,MAAM,EACJC,OAAO,EACLC,QAAQ,EAAEC,OAAOC,oBAAoB,EAAE,EACxC,EACDF,QAAQ,EAAED,OAAOI,UAAU,EAAE,EAC9B,GAAGR;IAEJ,IAAI,CAACH,iBAAiBG,QAAQE,OAAOM,aAAa;QAChD,IAAIL,gBAAgB,cAAcA,cAAc,OAAOA,aAAaR,QAAQ;QAE5E,MAAMc,gBAAgBC,mBACpBR,QAAQS,OAAOC,IAAI,CAACT,gBAAgB,CAAC,GAAGU,MAAM,GAC1C,CAAC,EAAEjB,GAAGkB,SAAS,CAACX,cAAc;YAAEY,gBAAgB;QAAK,GAAG,CAAC,GACzDC;QAGN,MAAMC,kBAAkB,CAAC,EAAET,WAAW,EAAED,qBAAqB,CAAC;QAE9D,MAAMW,mBACJ,OAAOjB,gCAAgC,WAAWA,8BAA8Be;QAElF,MAAMG,aAAarB,aAAaI,OAAOM,cACnCS,kBACAC,oBAAoBX;QAExB,MAAMa,+BAA+BxB,GAAGyB,KAAK,CAACF,WAAWG,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI;QAE1E,MAAMC,2BAA2B,CAAC,EAAE3B,GAAGkB,SAAS,CAC9C;YACE,GAAGM,4BAA4B;YAC/B,GAAIX,gBAAgB;gBAAEd,UAAUc;YAAc,IAAI,CAAC,CAAC;QACtD,GACA;YAAEM,gBAAgB;QAAK,GACvB,CAAC;QAEHpB,SAAS,CAAC,EAAEwB,WAAWG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAEC,yBAAyB,CAAC;IACnE;AACF,EAAC"}
@@ -1,4 +1,4 @@
1
- import type { InitPageResult } from 'payload/types';
1
+ import type { InitPageResult } from 'payload';
2
2
  import type { Args } from './types.js';
3
3
  export declare const initPage: ({ config: configPromise, redirectUnauthenticatedUser, route, searchParams, }: Args) => Promise<InitPageResult>;
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAA2C,MAAM,eAAe,CAAA;AAS5F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAOtC,eAAO,MAAM,QAAQ,iFAKlB,IAAI,KAAG,QAAQ,cAAc,CAmG/B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAA2C,MAAM,SAAS,CAAA;AAQtF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAOtC,eAAO,MAAM,QAAQ,iFAKlB,IAAI,KAAG,OAAO,CAAC,cAAc,CA0I/B,CAAA"}
@@ -1,16 +1,14 @@
1
1
  import { initI18n } from '@payloadcms/translations';
2
- import { findLocaleFromCode } from '@payloadcms/ui/utilities/findLocaleFromCode';
2
+ import { findLocaleFromCode } from '@payloadcms/ui/shared';
3
3
  import { headers as getHeaders } from 'next/headers.js';
4
- import { parseCookies } from 'payload/auth';
5
- import { createLocalReq, isEntityHidden } from 'payload/utilities';
6
- import qs from 'qs';
4
+ import { createLocalReq, isEntityHidden, parseCookies } from 'payload';
5
+ import * as qs from 'qs-esm';
7
6
  import { getPayloadHMR } from '../getPayloadHMR.js';
8
7
  import { getRequestLanguage } from '../getRequestLanguage.js';
9
8
  import { handleAdminPage } from './handleAdminPage.js';
10
9
  import { handleAuthRedirect } from './handleAuthRedirect.js';
11
10
  export const initPage = async ({ config: configPromise, redirectUnauthenticatedUser = false, route, searchParams })=>{
12
11
  const headers = getHeaders();
13
- const localeParam = searchParams?.locale;
14
12
  const payload = await getPayloadHMR({
15
13
  config: configPromise
16
14
  });
@@ -18,9 +16,6 @@ export const initPage = async ({ config: configPromise, redirectUnauthenticatedU
18
16
  const queryString = `${qs.stringify(searchParams ?? {}, {
19
17
  addQueryPrefix: true
20
18
  })}`;
21
- const defaultLocale = localization && localization.defaultLocale ? localization.defaultLocale : 'en';
22
- const localeCode = localeParam || defaultLocale;
23
- const locale = localization && findLocaleFromCode(localization, localeCode);
24
19
  const cookies = parseCookies(headers);
25
20
  const language = getRequestLanguage({
26
21
  config: payload.config,
@@ -43,8 +38,8 @@ export const initPage = async ({ config: configPromise, redirectUnauthenticatedU
43
38
  }, []);
44
39
  const req = await createLocalReq({
45
40
  fallbackLocale: null,
46
- locale: locale.code,
47
41
  req: {
42
+ headers,
48
43
  host: headers.get('host'),
49
44
  i18n,
50
45
  query: qs.parse(queryString, {
@@ -59,6 +54,44 @@ export const initPage = async ({ config: configPromise, redirectUnauthenticatedU
59
54
  req
60
55
  });
61
56
  req.user = user;
57
+ const localeParam = searchParams?.locale;
58
+ let locale;
59
+ if (localization) {
60
+ const defaultLocaleCode = localization.defaultLocale ? localization.defaultLocale : 'en';
61
+ let localeCode = localeParam;
62
+ if (!localeCode) {
63
+ try {
64
+ localeCode = await payload.find({
65
+ collection: 'payload-preferences',
66
+ depth: 0,
67
+ limit: 1,
68
+ user,
69
+ where: {
70
+ and: [
71
+ {
72
+ 'user.relationTo': {
73
+ equals: payload.config.admin.user
74
+ }
75
+ },
76
+ {
77
+ 'user.value': {
78
+ equals: user.id
79
+ }
80
+ },
81
+ {
82
+ key: {
83
+ equals: 'locale'
84
+ }
85
+ }
86
+ ]
87
+ }
88
+ })?.then((res)=>res.docs?.[0]?.value);
89
+ } catch (error) {} // eslint-disable-line no-empty
90
+ }
91
+ locale = findLocaleFromCode(localization, localeCode);
92
+ if (!locale) locale = findLocaleFromCode(localization, defaultLocaleCode);
93
+ req.locale = locale.code;
94
+ }
62
95
  const visibleEntities = {
63
96
  collections: collections.map(({ slug, admin: { hidden } })=>!isEntityHidden({
64
97
  hidden,