@payloadcms/tanstack-start 4.0.0-internal.17c142b → 4.0.0-internal.1a2a79e

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 (319) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/adapters/handleServerFunctions.d.ts +3 -0
  3. package/dist/adapters/handleServerFunctions.d.ts.map +1 -0
  4. package/dist/adapters/handleServerFunctions.js +17 -0
  5. package/dist/adapters/handleServerFunctions.js.map +1 -0
  6. package/dist/adapters/layout/RootProviders/index.d.ts +9 -0
  7. package/dist/adapters/layout/RootProviders/index.d.ts.map +1 -0
  8. package/dist/adapters/layout/RootProviders/index.js +21 -0
  9. package/dist/adapters/layout/RootProviders/index.js.map +1 -0
  10. package/dist/adapters/layout/index.d.ts +69 -0
  11. package/dist/adapters/layout/index.d.ts.map +1 -0
  12. package/dist/adapters/layout/index.js +107 -0
  13. package/dist/adapters/layout/index.js.map +1 -0
  14. package/dist/adapters/layout/lazy.d.ts +7 -0
  15. package/dist/adapters/layout/lazy.d.ts.map +1 -0
  16. package/dist/adapters/layout/lazy.js +17 -0
  17. package/dist/adapters/layout/lazy.js.map +1 -0
  18. package/dist/adapters/layout/outlet.d.ts +4 -0
  19. package/dist/adapters/layout/outlet.d.ts.map +1 -0
  20. package/dist/adapters/layout/outlet.js +9 -0
  21. package/dist/adapters/layout/outlet.js.map +1 -0
  22. package/dist/adapters/layout/server.d.ts +23 -0
  23. package/dist/adapters/layout/server.d.ts.map +1 -0
  24. package/dist/adapters/layout/server.js +65 -0
  25. package/dist/adapters/layout/server.js.map +1 -0
  26. package/dist/{utilities/meta.d.ts → adapters/metadata.d.ts} +11 -1
  27. package/dist/adapters/metadata.d.ts.map +1 -0
  28. package/dist/{utilities/meta.js → adapters/metadata.js} +62 -2
  29. package/dist/adapters/metadata.js.map +1 -0
  30. package/dist/{elements/RouterAdapter/index.d.ts → adapters/router.d.ts} +1 -1
  31. package/dist/adapters/router.d.ts.map +1 -0
  32. package/dist/{elements/RouterAdapter/index.js → adapters/router.js} +49 -7
  33. package/dist/adapters/router.js.map +1 -0
  34. package/dist/{utilities/serverAdapter.server.d.ts → adapters/server.d.ts} +1 -1
  35. package/dist/adapters/server.d.ts.map +1 -0
  36. package/dist/{utilities/serverAdapter.server.js → adapters/server.js} +3 -30
  37. package/dist/adapters/server.js.map +1 -0
  38. package/dist/{routes/adminRoutes.d.ts → adapters/views/index.d.ts} +24 -22
  39. package/dist/adapters/views/index.d.ts.map +1 -0
  40. package/dist/adapters/views/index.js +101 -0
  41. package/dist/adapters/views/index.js.map +1 -0
  42. package/dist/adapters/views/lazy.d.ts +4 -0
  43. package/dist/adapters/views/lazy.d.ts.map +1 -0
  44. package/dist/adapters/views/lazy.js +44 -0
  45. package/dist/adapters/views/lazy.js.map +1 -0
  46. package/dist/{utilities/loadAdminPage.d.ts → adapters/views/server.d.ts} +12 -6
  47. package/dist/adapters/views/server.d.ts.map +1 -0
  48. package/dist/{utilities/loadAdminPage.js → adapters/views/server.js} +47 -86
  49. package/dist/adapters/views/server.js.map +1 -0
  50. package/dist/auth/login.d.ts +3 -16
  51. package/dist/auth/login.d.ts.map +1 -1
  52. package/dist/auth/login.js +6 -46
  53. package/dist/auth/login.js.map +1 -1
  54. package/dist/auth/logout.d.ts +2 -5
  55. package/dist/auth/logout.d.ts.map +1 -1
  56. package/dist/auth/logout.js +6 -47
  57. package/dist/auth/logout.js.map +1 -1
  58. package/dist/auth/refresh.d.ts +2 -4
  59. package/dist/auth/refresh.d.ts.map +1 -1
  60. package/dist/auth/refresh.js +6 -49
  61. package/dist/auth/refresh.js.map +1 -1
  62. package/dist/exports/client/layout.d.ts +2 -0
  63. package/dist/exports/client/layout.d.ts.map +1 -0
  64. package/dist/exports/client/layout.js +4 -0
  65. package/dist/exports/client/layout.js.map +1 -0
  66. package/dist/exports/client.d.ts +3 -7
  67. package/dist/exports/client.d.ts.map +1 -1
  68. package/dist/exports/client.js +3 -7
  69. package/dist/exports/client.js.map +1 -1
  70. package/dist/exports/layouts.d.ts +2 -5
  71. package/dist/exports/layouts.d.ts.map +1 -1
  72. package/dist/exports/layouts.js +1 -3
  73. package/dist/exports/layouts.js.map +1 -1
  74. package/dist/exports/routes.d.ts +2 -0
  75. package/dist/exports/routes.d.ts.map +1 -0
  76. package/dist/exports/routes.js +3 -0
  77. package/dist/exports/routes.js.map +1 -0
  78. package/dist/exports/rsc.browser.d.ts +4 -1
  79. package/dist/exports/rsc.browser.d.ts.map +1 -1
  80. package/dist/exports/rsc.browser.js +4 -1
  81. package/dist/exports/rsc.browser.js.map +1 -1
  82. package/dist/exports/rsc.d.ts +0 -1
  83. package/dist/exports/rsc.d.ts.map +1 -1
  84. package/dist/exports/rsc.js +0 -1
  85. package/dist/exports/rsc.js.map +1 -1
  86. package/dist/exports/server.d.ts +7 -12
  87. package/dist/exports/server.d.ts.map +1 -1
  88. package/dist/exports/server.js +7 -12
  89. package/dist/exports/server.js.map +1 -1
  90. package/dist/exports/shared.d.ts +2 -0
  91. package/dist/exports/shared.d.ts.map +1 -0
  92. package/dist/exports/shared.js +3 -0
  93. package/dist/exports/shared.js.map +1 -0
  94. package/dist/index.d.ts +1 -5
  95. package/dist/index.d.ts.map +1 -1
  96. package/dist/index.js +1 -5
  97. package/dist/index.js.map +1 -1
  98. package/dist/{utilities/graphqlHandler.server.d.ts → routes/graphql/handler.server.d.ts} +1 -3
  99. package/dist/routes/graphql/handler.server.d.ts.map +1 -0
  100. package/dist/{utilities/graphqlHandler.server.js → routes/graphql/handler.server.js} +9 -6
  101. package/dist/routes/graphql/handler.server.js.map +1 -0
  102. package/dist/routes/rest/handler.server.d.ts +11 -0
  103. package/dist/routes/rest/handler.server.d.ts.map +1 -0
  104. package/dist/routes/rest/handler.server.js +14 -0
  105. package/dist/routes/rest/handler.server.js.map +1 -0
  106. package/dist/routes/rest/index.d.ts +35 -0
  107. package/dist/routes/rest/index.d.ts.map +1 -0
  108. package/dist/routes/rest/index.js +44 -0
  109. package/dist/routes/rest/index.js.map +1 -0
  110. package/dist/rsc/CollectionCards.js +1 -1
  111. package/dist/rsc/CollectionCards.js.map +1 -1
  112. package/dist/utilities/devConfigReload.server.d.ts +2 -0
  113. package/dist/utilities/devConfigReload.server.d.ts.map +1 -0
  114. package/dist/utilities/devConfigReload.server.js +61 -0
  115. package/dist/utilities/devConfigReload.server.js.map +1 -0
  116. package/dist/utilities/devConfigReloadEvent.d.ts +9 -0
  117. package/dist/utilities/devConfigReloadEvent.d.ts.map +1 -0
  118. package/dist/utilities/devConfigReloadEvent.js +9 -0
  119. package/dist/utilities/devConfigReloadEvent.js.map +1 -0
  120. package/dist/utilities/getRequestI18n.server.d.ts +1 -1
  121. package/dist/utilities/getRequestI18n.server.js +1 -1
  122. package/dist/utilities/getRequestI18n.server.js.map +1 -1
  123. package/dist/utilities/initAdminContext.server.d.ts +9 -0
  124. package/dist/utilities/initAdminContext.server.d.ts.map +1 -0
  125. package/dist/utilities/initAdminContext.server.js +13 -0
  126. package/dist/utilities/initAdminContext.server.js.map +1 -0
  127. package/dist/utilities/routerSearch.d.ts +40 -0
  128. package/dist/utilities/routerSearch.d.ts.map +1 -0
  129. package/dist/utilities/routerSearch.js +45 -0
  130. package/dist/utilities/routerSearch.js.map +1 -0
  131. package/dist/utilities/serverFunctionClient.d.ts +2 -23
  132. package/dist/utilities/serverFunctionClient.d.ts.map +1 -1
  133. package/dist/utilities/serverFunctionClient.js +12 -101
  134. package/dist/utilities/serverFunctionClient.js.map +1 -1
  135. package/dist/withPayload/config/external.d.ts +34 -0
  136. package/dist/withPayload/config/external.d.ts.map +1 -0
  137. package/dist/withPayload/config/external.js +88 -0
  138. package/dist/withPayload/config/external.js.map +1 -0
  139. package/dist/withPayload/config/optimizeDeps.d.ts +25 -0
  140. package/dist/withPayload/config/optimizeDeps.d.ts.map +1 -0
  141. package/dist/{vite/constants.js → withPayload/config/optimizeDeps.js} +53 -70
  142. package/dist/withPayload/config/optimizeDeps.js.map +1 -0
  143. package/dist/withPayload/config/scss.d.ts +14 -0
  144. package/dist/withPayload/config/scss.d.ts.map +1 -0
  145. package/dist/withPayload/config/scss.js +28 -0
  146. package/dist/withPayload/config/scss.js.map +1 -0
  147. package/dist/withPayload/devConfigReload.d.ts +14 -0
  148. package/dist/withPayload/devConfigReload.d.ts.map +1 -0
  149. package/dist/withPayload/devConfigReload.js +84 -0
  150. package/dist/withPayload/devConfigReload.js.map +1 -0
  151. package/dist/withPayload/importProtection.d.ts.map +1 -0
  152. package/dist/{vite → withPayload}/importProtection.js +2 -2
  153. package/dist/withPayload/importProtection.js.map +1 -0
  154. package/dist/withPayload/index.d.ts +112 -0
  155. package/dist/withPayload/index.d.ts.map +1 -0
  156. package/dist/withPayload/index.js +308 -0
  157. package/dist/withPayload/index.js.map +1 -0
  158. package/dist/withPayload/workarounds/clientModuleResolution.d.ts.map +1 -0
  159. package/dist/withPayload/workarounds/clientModuleResolution.js.map +1 -0
  160. package/dist/withPayload/workarounds/devTransforms.d.ts.map +1 -0
  161. package/dist/{vite/plugins → withPayload/workarounds}/devTransforms.js +5 -0
  162. package/dist/withPayload/workarounds/devTransforms.js.map +1 -0
  163. package/dist/withPayload/workarounds/reactDomServerInRsc.d.ts.map +1 -0
  164. package/dist/withPayload/workarounds/reactDomServerInRsc.js.map +1 -0
  165. package/dist/withPayload/workarounds/stripDistStyleImports.d.ts.map +1 -0
  166. package/dist/{vite/plugins → withPayload/workarounds}/stripDistStyleImports.js +38 -5
  167. package/dist/withPayload/workarounds/stripDistStyleImports.js.map +1 -0
  168. package/dist/withPayload/workarounds/stubPrettierInClient.d.ts +13 -0
  169. package/dist/withPayload/workarounds/stubPrettierInClient.d.ts.map +1 -0
  170. package/dist/withPayload/workarounds/stubPrettierInClient.js +32 -0
  171. package/dist/withPayload/workarounds/stubPrettierInClient.js.map +1 -0
  172. package/dist/withPayload/workarounds/wrapCjsForClient.d.ts.map +1 -0
  173. package/dist/withPayload/workarounds/wrapCjsForClient.js.map +1 -0
  174. package/package.json +45 -34
  175. package/dist/@types/assets.d.js +0 -2
  176. package/dist/@types/assets.d.js.map +0 -1
  177. package/dist/elements/DocumentHeaderClient/index.d.ts +0 -16
  178. package/dist/elements/DocumentHeaderClient/index.d.ts.map +0 -1
  179. package/dist/elements/DocumentHeaderClient/index.js +0 -116
  180. package/dist/elements/DocumentHeaderClient/index.js.map +0 -1
  181. package/dist/elements/RenderComponent/index.d.ts +0 -10
  182. package/dist/elements/RenderComponent/index.d.ts.map +0 -1
  183. package/dist/elements/RenderComponent/index.js +0 -12
  184. package/dist/elements/RenderComponent/index.js.map +0 -1
  185. package/dist/elements/RouterAdapter/index.d.ts.map +0 -1
  186. package/dist/elements/RouterAdapter/index.js.map +0 -1
  187. package/dist/exports/vite.d.ts +0 -3
  188. package/dist/exports/vite.d.ts.map +0 -1
  189. package/dist/exports/vite.js +0 -3
  190. package/dist/exports/vite.js.map +0 -1
  191. package/dist/layouts/Root/getLayoutData.d.ts +0 -12
  192. package/dist/layouts/Root/getLayoutData.d.ts.map +0 -1
  193. package/dist/layouts/Root/getLayoutData.js +0 -91
  194. package/dist/layouts/Root/getLayoutData.js.map +0 -1
  195. package/dist/layouts/Root/index.d.ts +0 -32
  196. package/dist/layouts/Root/index.d.ts.map +0 -1
  197. package/dist/layouts/Root/index.js +0 -51
  198. package/dist/layouts/Root/index.js.map +0 -1
  199. package/dist/layouts/Root/withPayloadRoot.d.ts +0 -65
  200. package/dist/layouts/Root/withPayloadRoot.d.ts.map +0 -1
  201. package/dist/layouts/Root/withPayloadRoot.js +0 -92
  202. package/dist/layouts/Root/withPayloadRoot.js.map +0 -1
  203. package/dist/node/cssLoader.d.mts +0 -3
  204. package/dist/node/cssLoader.d.mts.map +0 -1
  205. package/dist/node/cssLoader.js +0 -70
  206. package/dist/node/cssLoader.js.map +0 -1
  207. package/dist/node/cssLoader.mjs +0 -75
  208. package/dist/node/registerCssLoader.d.mts +0 -2
  209. package/dist/node/registerCssLoader.d.mts.map +0 -1
  210. package/dist/node/registerCssLoader.js +0 -10
  211. package/dist/node/registerCssLoader.js.map +0 -1
  212. package/dist/node/registerCssLoader.mjs +0 -10
  213. package/dist/routes/adminRoutes.d.ts.map +0 -1
  214. package/dist/routes/adminRoutes.js +0 -97
  215. package/dist/routes/adminRoutes.js.map +0 -1
  216. package/dist/routes/apiRoute.d.ts +0 -33
  217. package/dist/routes/apiRoute.d.ts.map +0 -1
  218. package/dist/routes/apiRoute.js +0 -27
  219. package/dist/routes/apiRoute.js.map +0 -1
  220. package/dist/routes/layoutRoute.d.ts +0 -23
  221. package/dist/routes/layoutRoute.d.ts.map +0 -1
  222. package/dist/routes/layoutRoute.js +0 -51
  223. package/dist/routes/layoutRoute.js.map +0 -1
  224. package/dist/rsc/renderPayloadRSC.d.ts +0 -6
  225. package/dist/rsc/renderPayloadRSC.d.ts.map +0 -1
  226. package/dist/rsc/renderPayloadRSC.js +0 -6
  227. package/dist/rsc/renderPayloadRSC.js.map +0 -1
  228. package/dist/utilities/devReloadStrategy.d.ts +0 -10
  229. package/dist/utilities/devReloadStrategy.d.ts.map +0 -1
  230. package/dist/utilities/devReloadStrategy.js +0 -27
  231. package/dist/utilities/devReloadStrategy.js.map +0 -1
  232. package/dist/utilities/getExistingAuthToken.d.ts +0 -7
  233. package/dist/utilities/getExistingAuthToken.d.ts.map +0 -1
  234. package/dist/utilities/getExistingAuthToken.js +0 -18
  235. package/dist/utilities/getExistingAuthToken.js.map +0 -1
  236. package/dist/utilities/getPreferences.d.ts +0 -10
  237. package/dist/utilities/getPreferences.d.ts.map +0 -1
  238. package/dist/utilities/getPreferences.js +0 -33
  239. package/dist/utilities/getPreferences.js.map +0 -1
  240. package/dist/utilities/getRequestLocale.d.ts +0 -7
  241. package/dist/utilities/getRequestLocale.d.ts.map +0 -1
  242. package/dist/utilities/getRequestLocale.js +0 -20
  243. package/dist/utilities/getRequestLocale.js.map +0 -1
  244. package/dist/utilities/getRequestTheme.d.ts +0 -10
  245. package/dist/utilities/getRequestTheme.d.ts.map +0 -1
  246. package/dist/utilities/getRequestTheme.js +0 -25
  247. package/dist/utilities/getRequestTheme.js.map +0 -1
  248. package/dist/utilities/graphqlHandler.server.d.ts.map +0 -1
  249. package/dist/utilities/graphqlHandler.server.js.map +0 -1
  250. package/dist/utilities/handleAPIRoute.d.ts +0 -11
  251. package/dist/utilities/handleAPIRoute.d.ts.map +0 -1
  252. package/dist/utilities/handleAPIRoute.js +0 -17
  253. package/dist/utilities/handleAPIRoute.js.map +0 -1
  254. package/dist/utilities/handleServerFunctions.d.ts +0 -20
  255. package/dist/utilities/handleServerFunctions.d.ts.map +0 -1
  256. package/dist/utilities/handleServerFunctions.js +0 -60
  257. package/dist/utilities/handleServerFunctions.js.map +0 -1
  258. package/dist/utilities/importMap.server.d.ts +0 -9
  259. package/dist/utilities/importMap.server.d.ts.map +0 -1
  260. package/dist/utilities/importMap.server.js +0 -12
  261. package/dist/utilities/importMap.server.js.map +0 -1
  262. package/dist/utilities/initReq.server.d.ts +0 -19
  263. package/dist/utilities/initReq.server.d.ts.map +0 -1
  264. package/dist/utilities/initReq.server.js +0 -87
  265. package/dist/utilities/initReq.server.js.map +0 -1
  266. package/dist/utilities/loadAdminPage.d.ts.map +0 -1
  267. package/dist/utilities/loadAdminPage.js.map +0 -1
  268. package/dist/utilities/loadLayoutData.d.ts +0 -15
  269. package/dist/utilities/loadLayoutData.d.ts.map +0 -1
  270. package/dist/utilities/loadLayoutData.js +0 -23
  271. package/dist/utilities/loadLayoutData.js.map +0 -1
  272. package/dist/utilities/meta.d.ts.map +0 -1
  273. package/dist/utilities/meta.js.map +0 -1
  274. package/dist/utilities/serializeForRsc.d.ts +0 -26
  275. package/dist/utilities/serializeForRsc.d.ts.map +0 -1
  276. package/dist/utilities/serializeForRsc.js +0 -122
  277. package/dist/utilities/serializeForRsc.js.map +0 -1
  278. package/dist/utilities/serverAdapter.server.d.ts.map +0 -1
  279. package/dist/utilities/serverAdapter.server.js.map +0 -1
  280. package/dist/utilities/serverFunctionHandlers.d.ts +0 -18
  281. package/dist/utilities/serverFunctionHandlers.d.ts.map +0 -1
  282. package/dist/utilities/serverFunctionHandlers.js +0 -17
  283. package/dist/utilities/serverFunctionHandlers.js.map +0 -1
  284. package/dist/utilities/setPayloadAuthCookie.d.ts +0 -9
  285. package/dist/utilities/setPayloadAuthCookie.d.ts.map +0 -1
  286. package/dist/utilities/setPayloadAuthCookie.js +0 -31
  287. package/dist/utilities/setPayloadAuthCookie.js.map +0 -1
  288. package/dist/utilities/toSerializable.d.ts +0 -2
  289. package/dist/utilities/toSerializable.d.ts.map +0 -1
  290. package/dist/utilities/toSerializable.js +0 -111
  291. package/dist/utilities/toSerializable.js.map +0 -1
  292. package/dist/vite/constants.d.ts +0 -42
  293. package/dist/vite/constants.d.ts.map +0 -1
  294. package/dist/vite/constants.js.map +0 -1
  295. package/dist/vite/importProtection.d.ts.map +0 -1
  296. package/dist/vite/importProtection.js.map +0 -1
  297. package/dist/vite/plugin.d.ts +0 -38
  298. package/dist/vite/plugin.d.ts.map +0 -1
  299. package/dist/vite/plugin.js +0 -179
  300. package/dist/vite/plugin.js.map +0 -1
  301. package/dist/vite/plugins/clientModuleResolution.d.ts.map +0 -1
  302. package/dist/vite/plugins/clientModuleResolution.js.map +0 -1
  303. package/dist/vite/plugins/devTransforms.d.ts.map +0 -1
  304. package/dist/vite/plugins/devTransforms.js.map +0 -1
  305. package/dist/vite/plugins/reactDomServerInRsc.d.ts.map +0 -1
  306. package/dist/vite/plugins/reactDomServerInRsc.js.map +0 -1
  307. package/dist/vite/plugins/stripDistStyleImports.d.ts.map +0 -1
  308. package/dist/vite/plugins/stripDistStyleImports.js.map +0 -1
  309. package/dist/vite/plugins/wrapCjsForClient.d.ts.map +0 -1
  310. package/dist/vite/plugins/wrapCjsForClient.js.map +0 -1
  311. /package/dist/{vite → withPayload}/importProtection.d.ts +0 -0
  312. /package/dist/{vite/plugins → withPayload/workarounds}/clientModuleResolution.d.ts +0 -0
  313. /package/dist/{vite/plugins → withPayload/workarounds}/clientModuleResolution.js +0 -0
  314. /package/dist/{vite/plugins → withPayload/workarounds}/devTransforms.d.ts +0 -0
  315. /package/dist/{vite/plugins → withPayload/workarounds}/reactDomServerInRsc.d.ts +0 -0
  316. /package/dist/{vite/plugins → withPayload/workarounds}/reactDomServerInRsc.js +0 -0
  317. /package/dist/{vite/plugins → withPayload/workarounds}/stripDistStyleImports.d.ts +0 -0
  318. /package/dist/{vite/plugins → withPayload/workarounds}/wrapCjsForClient.d.ts +0 -0
  319. /package/dist/{vite/plugins → withPayload/workarounds}/wrapCjsForClient.js +0 -0
@@ -0,0 +1,13 @@
1
+ import { getRequest } from '@tanstack/react-start/server';
2
+ import { initAdminContext as initPayloadAdminContext } from 'payload/internal';
3
+ // Registers the dev reload strategy before `initPayloadAdminContext` can build an instance.
4
+ // Side-effect only, and a no-op outside of dev serve.
5
+ import './devConfigReload.server.js';
6
+ import { tanstackServerAdapter } from '../adapters/server.js';
7
+ export const initAdminContext = ({ serverAdapter = tanstackServerAdapter, ...args })=>initPayloadAdminContext({
8
+ ...args,
9
+ requestURL: getRequest().url,
10
+ serverAdapter
11
+ });
12
+
13
+ //# sourceMappingURL=initAdminContext.server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utilities/initAdminContext.server.ts"],"sourcesContent":["import type { ServerAdapter } from 'payload'\nimport type { InitAdminContextArgs } from 'payload/internal'\n\nimport { getRequest } from '@tanstack/react-start/server'\nimport { initAdminContext as initPayloadAdminContext } from 'payload/internal'\n\n// Registers the dev reload strategy before `initPayloadAdminContext` can build an instance.\n// Side-effect only, and a no-op outside of dev serve.\nimport './devConfigReload.server.js'\nimport { tanstackServerAdapter } from '../adapters/server.js'\n\ntype TanStackInitAdminContextArgs = {\n serverAdapter?: ServerAdapter\n} & Omit<InitAdminContextArgs, 'cache' | 'requestURL' | 'serverAdapter'>\n\nexport const initAdminContext = ({\n serverAdapter = tanstackServerAdapter,\n ...args\n}: TanStackInitAdminContextArgs) =>\n initPayloadAdminContext({\n ...args,\n requestURL: getRequest().url,\n serverAdapter,\n })\n"],"names":["getRequest","initAdminContext","initPayloadAdminContext","tanstackServerAdapter","serverAdapter","args","requestURL","url"],"mappings":"AAGA,SAASA,UAAU,QAAQ,+BAA8B;AACzD,SAASC,oBAAoBC,uBAAuB,QAAQ,mBAAkB;AAE9E,4FAA4F;AAC5F,sDAAsD;AACtD,OAAO,8BAA6B;AACpC,SAASC,qBAAqB,QAAQ,wBAAuB;AAM7D,OAAO,MAAMF,mBAAmB,CAAC,EAC/BG,gBAAgBD,qBAAqB,EACrC,GAAGE,MAC0B,GAC7BH,wBAAwB;QACtB,GAAGG,IAAI;QACPC,YAAYN,aAAaO,GAAG;QAC5BH;IACF,GAAE"}
@@ -0,0 +1,40 @@
1
+ import * as qs from 'qs-esm';
2
+ /**
3
+ * `parseSearch` for TanStack Router's `createRouter`, required for Payload's
4
+ * admin UI. Pair with {@link payloadStringifySearch}.
5
+ *
6
+ * Payload serializes query state (notably the list-view `where` filter) with
7
+ * `qs` bracket notation — e.g. `?where[or][0][and][0][x][equals]=y`. TanStack
8
+ * Router's default serializer treats each bracketed string as a flat key and
9
+ * JSON-encodes values, so it never round-trips Payload's nested query: every
10
+ * navigation re-encodes the already-encoded value, exponentially nesting it
11
+ * (`[true,"[true,\"[true…"]`) until the filter is unusable. Parsing and
12
+ * stringifying with `qs` (same options as `payload`/`@payloadcms/ui`) keeps
13
+ * the URL idempotent and the nested `where` intact across navigations.
14
+ *
15
+ * This is a router-global serializer: it applies to every route, not just
16
+ * `/admin`. On your own routes, search values arrive as strings (qs does no
17
+ * JSON type-coercion), so coerce in `validateSearch` (e.g. `Number(...)`) where
18
+ * you need numbers or booleans.
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * import { createRouter } from '@tanstack/react-router'
23
+ * import { payloadParseSearch, payloadStringifySearch } from '@payloadcms/tanstack-start/shared'
24
+ *
25
+ * export function getRouter() {
26
+ * return createRouter({
27
+ * parseSearch: payloadParseSearch,
28
+ * routeTree,
29
+ * stringifySearch: payloadStringifySearch,
30
+ * })
31
+ * }
32
+ * ```
33
+ */
34
+ export declare const payloadParseSearch: (searchStr: string) => qs.ParsedQs;
35
+ /**
36
+ * `stringifySearch` for TanStack Router's `createRouter`, required for Payload's
37
+ * admin UI. Pair with {@link payloadParseSearch}; see it for the full rationale.
38
+ */
39
+ export declare const payloadStringifySearch: (search: Record<string, unknown>) => string;
40
+ //# sourceMappingURL=routerSearch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routerSearch.d.ts","sourceRoot":"","sources":["../../src/utilities/routerSearch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,QAAQ,CAAA;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,kBAAkB,cAAe,MAAM,gBACS,CAAA;AAE7D;;;GAGG;AACH,eAAO,MAAM,sBAAsB,WAAY,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAGrE,CAAA"}
@@ -0,0 +1,45 @@
1
+ import * as qs from 'qs-esm';
2
+ /**
3
+ * `parseSearch` for TanStack Router's `createRouter`, required for Payload's
4
+ * admin UI. Pair with {@link payloadStringifySearch}.
5
+ *
6
+ * Payload serializes query state (notably the list-view `where` filter) with
7
+ * `qs` bracket notation — e.g. `?where[or][0][and][0][x][equals]=y`. TanStack
8
+ * Router's default serializer treats each bracketed string as a flat key and
9
+ * JSON-encodes values, so it never round-trips Payload's nested query: every
10
+ * navigation re-encodes the already-encoded value, exponentially nesting it
11
+ * (`[true,"[true,\"[true…"]`) until the filter is unusable. Parsing and
12
+ * stringifying with `qs` (same options as `payload`/`@payloadcms/ui`) keeps
13
+ * the URL idempotent and the nested `where` intact across navigations.
14
+ *
15
+ * This is a router-global serializer: it applies to every route, not just
16
+ * `/admin`. On your own routes, search values arrive as strings (qs does no
17
+ * JSON type-coercion), so coerce in `validateSearch` (e.g. `Number(...)`) where
18
+ * you need numbers or booleans.
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * import { createRouter } from '@tanstack/react-router'
23
+ * import { payloadParseSearch, payloadStringifySearch } from '@payloadcms/tanstack-start/shared'
24
+ *
25
+ * export function getRouter() {
26
+ * return createRouter({
27
+ * parseSearch: payloadParseSearch,
28
+ * routeTree,
29
+ * stringifySearch: payloadStringifySearch,
30
+ * })
31
+ * }
32
+ * ```
33
+ */ export const payloadParseSearch = (searchStr)=>qs.parse(searchStr, {
34
+ depth: 10,
35
+ ignoreQueryPrefix: true
36
+ });
37
+ /**
38
+ * `stringifySearch` for TanStack Router's `createRouter`, required for Payload's
39
+ * admin UI. Pair with {@link payloadParseSearch}; see it for the full rationale.
40
+ */ export const payloadStringifySearch = (search)=>{
41
+ const searchStr = qs.stringify(search);
42
+ return searchStr ? `?${searchStr}` : '';
43
+ };
44
+
45
+ //# sourceMappingURL=routerSearch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utilities/routerSearch.ts"],"sourcesContent":["import * as qs from 'qs-esm'\n\n/**\n * `parseSearch` for TanStack Router's `createRouter`, required for Payload's\n * admin UI. Pair with {@link payloadStringifySearch}.\n *\n * Payload serializes query state (notably the list-view `where` filter) with\n * `qs` bracket notation — e.g. `?where[or][0][and][0][x][equals]=y`. TanStack\n * Router's default serializer treats each bracketed string as a flat key and\n * JSON-encodes values, so it never round-trips Payload's nested query: every\n * navigation re-encodes the already-encoded value, exponentially nesting it\n * (`[true,\"[true,\\\"[true…\"]`) until the filter is unusable. Parsing and\n * stringifying with `qs` (same options as `payload`/`@payloadcms/ui`) keeps\n * the URL idempotent and the nested `where` intact across navigations.\n *\n * This is a router-global serializer: it applies to every route, not just\n * `/admin`. On your own routes, search values arrive as strings (qs does no\n * JSON type-coercion), so coerce in `validateSearch` (e.g. `Number(...)`) where\n * you need numbers or booleans.\n *\n * @example\n * ```ts\n * import { createRouter } from '@tanstack/react-router'\n * import { payloadParseSearch, payloadStringifySearch } from '@payloadcms/tanstack-start/shared'\n *\n * export function getRouter() {\n * return createRouter({\n * parseSearch: payloadParseSearch,\n * routeTree,\n * stringifySearch: payloadStringifySearch,\n * })\n * }\n * ```\n */\nexport const payloadParseSearch = (searchStr: string) =>\n qs.parse(searchStr, { depth: 10, ignoreQueryPrefix: true })\n\n/**\n * `stringifySearch` for TanStack Router's `createRouter`, required for Payload's\n * admin UI. Pair with {@link payloadParseSearch}; see it for the full rationale.\n */\nexport const payloadStringifySearch = (search: Record<string, unknown>) => {\n const searchStr = qs.stringify(search)\n return searchStr ? `?${searchStr}` : ''\n}\n"],"names":["qs","payloadParseSearch","searchStr","parse","depth","ignoreQueryPrefix","payloadStringifySearch","search","stringify"],"mappings":"AAAA,YAAYA,QAAQ,SAAQ;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BC,GACD,OAAO,MAAMC,qBAAqB,CAACC,YACjCF,GAAGG,KAAK,CAACD,WAAW;QAAEE,OAAO;QAAIC,mBAAmB;IAAK,GAAE;AAE7D;;;CAGC,GACD,OAAO,MAAMC,yBAAyB,CAACC;IACrC,MAAML,YAAYF,GAAGQ,SAAS,CAACD;IAC/B,OAAOL,YAAY,CAAC,CAAC,EAAEA,WAAW,GAAG;AACvC,EAAC"}
@@ -1,29 +1,8 @@
1
1
  import type { ServerFunctionClient, ServerFunctionClientArgs } from 'payload';
2
- /**
3
- * Builds the client-side `ServerFunctionClient` wired into
4
- * `RootProvider.serverFunction`, given the app's `createServerFn`-based
5
- * dispatcher (`runServerFn`).
6
- *
7
- * Strips functions / symbols / RegExps / React elements from the args before
8
- * dispatching: the previous `fetch + JSON.stringify` pipeline silently dropped
9
- * those, but TanStack Start's seroval-based wire format errors instead. We
10
- * mirror the relaxed behaviour so existing callers (e.g. `getFormState` in
11
- * `ServerFunctionsProvider`) that may pass the live form state — which can
12
- * carry stray functions — keep working without each call site sanitising.
13
- *
14
- * Delegates to `runServerFn`, so the response (including any RSC handles for
15
- * server-rendered custom components) is decoded by TanStack Start back into
16
- * renderable React nodes on the client.
17
- */
2
+ /** Builds the admin dispatcher with native Flight response decoding. */
18
3
  export declare function createServerFunctionClient({ runServerFn, }: {
19
4
  runServerFn: (input: {
20
5
  data: ServerFunctionClientArgs;
21
- }) => Promise<unknown>;
6
+ }) => Promise<Response>;
22
7
  }): ServerFunctionClient;
23
- /**
24
- * Recursively removes values TanStack Start's seroval wire format cannot
25
- * serialize (functions, symbols, RegExps, React elements, cyclic refs) and
26
- * normalizes `Date` subclasses to plain `Date`.
27
- */
28
- export declare function stripUnserializable(value: unknown, cache?: WeakMap<object, unknown>, ancestors?: WeakSet<object>): unknown;
29
8
  //# sourceMappingURL=serverFunctionClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serverFunctionClient.d.ts","sourceRoot":"","sources":["../../src/utilities/serverFunctionClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAE7E;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,WAAW,GACZ,EAAE;IACD,WAAW,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,wBAAwB,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAC7E,GAAG,oBAAoB,CAKvB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EACd,KAAK,GAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAiB,EAC/C,SAAS,GAAE,OAAO,CAAC,MAAM,CAAiB,GACzC,OAAO,CA4FT"}
1
+ {"version":3,"file":"serverFunctionClient.d.ts","sourceRoot":"","sources":["../../src/utilities/serverFunctionClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAE7E,wEAAwE;AACxE,wBAAgB,0BAA0B,CAAC,EACzC,WAAW,GACZ,EAAE;IACD,WAAW,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,wBAAwB,CAAA;KAAE,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;CAC9E,GAAG,oBAAoB,CAoBvB"}
@@ -1,109 +1,20 @@
1
- /**
2
- * Builds the client-side `ServerFunctionClient` wired into
3
- * `RootProvider.serverFunction`, given the app's `createServerFn`-based
4
- * dispatcher (`runServerFn`).
5
- *
6
- * Strips functions / symbols / RegExps / React elements from the args before
7
- * dispatching: the previous `fetch + JSON.stringify` pipeline silently dropped
8
- * those, but TanStack Start's seroval-based wire format errors instead. We
9
- * mirror the relaxed behaviour so existing callers (e.g. `getFormState` in
10
- * `ServerFunctionsProvider`) that may pass the live form state — which can
11
- * carry stray functions — keep working without each call site sanitising.
12
- *
13
- * Delegates to `runServerFn`, so the response (including any RSC handles for
14
- * server-rendered custom components) is decoded by TanStack Start back into
15
- * renderable React nodes on the client.
16
- */ export function createServerFunctionClient({ runServerFn }) {
1
+ /** Builds the admin dispatcher with native Flight response decoding. */ export function createServerFunctionClient({ runServerFn }) {
17
2
  return async (args)=>{
18
- const safeArgs = stripUnserializable(args);
19
- return await runServerFn({
20
- data: safeArgs
3
+ const response = await runServerFn({
4
+ data: args
21
5
  });
22
- };
23
- }
24
- /**
25
- * Recursively removes values TanStack Start's seroval wire format cannot
26
- * serialize (functions, symbols, RegExps, React elements, cyclic refs) and
27
- * normalizes `Date` subclasses to plain `Date`.
28
- */ export function stripUnserializable(value, cache = new WeakMap(), ancestors = new WeakSet()) {
29
- if (value === null || value === undefined) {
30
- return value;
31
- }
32
- const t = typeof value;
33
- if (t === 'function' || t === 'symbol') {
34
- return undefined;
35
- }
36
- if (t !== 'object') {
37
- return value;
38
- }
39
- const obj = value;
40
- if (typeof obj.$$typeof === 'symbol') {
41
- return undefined;
42
- }
43
- if (ancestors.has(obj)) {
44
- return undefined;
45
- }
46
- if (cache.has(obj)) {
47
- return cache.get(obj);
48
- }
49
- if (obj instanceof Date) {
50
- // Normalize to a plain `Date`. Subclasses (e.g. `@date-fns/tz`'s `TZDate`,
51
- // used by the schedule-publish drawer) are `instanceof Date` but have a
52
- // different `constructor`, which TanStack Start's seroval serializer
53
- // rejects with "The value [object Date] ... cannot be parsed/serialized".
54
- return new Date(obj.getTime());
55
- }
56
- if (obj instanceof RegExp) {
57
- return undefined;
58
- }
59
- ancestors.add(obj);
60
- if (obj instanceof Map) {
61
- const cleaned = new Map();
62
- cache.set(obj, cleaned);
63
- for (const [k, v] of obj){
64
- const cv = stripUnserializable(v, cache, ancestors);
65
- if (cv !== undefined) {
66
- cleaned.set(k, cv);
67
- }
6
+ if (!response.ok) {
7
+ throw new Error(`Payload server function failed with status ${response.status}`);
68
8
  }
69
- ancestors.delete(obj);
70
- return cleaned;
71
- }
72
- if (obj instanceof Set) {
73
- const cleaned = new Set();
74
- cache.set(obj, cleaned);
75
- for (const v of obj){
76
- const cv = stripUnserializable(v, cache, ancestors);
77
- if (cv !== undefined) {
78
- cleaned.add(cv);
79
- }
9
+ if (response.headers.get('content-type')?.split(';')[0]?.trim() !== 'text/x-component') {
10
+ throw new Error('Expected a React Flight response from the Payload server function');
80
11
  }
81
- ancestors.delete(obj);
82
- return cleaned;
83
- }
84
- if (Array.isArray(obj)) {
85
- const arr = [];
86
- cache.set(obj, arr);
87
- for (const item of obj){
88
- arr.push(stripUnserializable(item, cache, ancestors));
12
+ if (!response.body) {
13
+ throw new Error('The Payload server function returned an empty Flight response');
89
14
  }
90
- ancestors.delete(obj);
91
- return arr;
92
- }
93
- if (ArrayBuffer.isView(obj)) {
94
- ancestors.delete(obj);
95
- return obj;
96
- }
97
- const result = {};
98
- cache.set(obj, result);
99
- for (const key of Object.keys(obj)){
100
- const v = stripUnserializable(obj[key], cache, ancestors);
101
- if (v !== undefined) {
102
- result[key] = v;
103
- }
104
- }
105
- ancestors.delete(obj);
106
- return result;
15
+ const { createFromReadableStream } = await import('@tanstack/react-start/rsc');
16
+ return await createFromReadableStream(response.body);
17
+ };
107
18
  }
108
19
 
109
20
  //# sourceMappingURL=serverFunctionClient.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/serverFunctionClient.ts"],"sourcesContent":["import type { ServerFunctionClient, ServerFunctionClientArgs } from 'payload'\n\n/**\n * Builds the client-side `ServerFunctionClient` wired into\n * `RootProvider.serverFunction`, given the app's `createServerFn`-based\n * dispatcher (`runServerFn`).\n *\n * Strips functions / symbols / RegExps / React elements from the args before\n * dispatching: the previous `fetch + JSON.stringify` pipeline silently dropped\n * those, but TanStack Start's seroval-based wire format errors instead. We\n * mirror the relaxed behaviour so existing callers (e.g. `getFormState` in\n * `ServerFunctionsProvider`) that may pass the live form state — which can\n * carry stray functions — keep working without each call site sanitising.\n *\n * Delegates to `runServerFn`, so the response (including any RSC handles for\n * server-rendered custom components) is decoded by TanStack Start back into\n * renderable React nodes on the client.\n */\nexport function createServerFunctionClient({\n runServerFn,\n}: {\n runServerFn: (input: { data: ServerFunctionClientArgs }) => Promise<unknown>\n}): ServerFunctionClient {\n return (async (args: ServerFunctionClientArgs) => {\n const safeArgs = stripUnserializable(args) as ServerFunctionClientArgs\n return await runServerFn({ data: safeArgs })\n }) as ServerFunctionClient\n}\n\n/**\n * Recursively removes values TanStack Start's seroval wire format cannot\n * serialize (functions, symbols, RegExps, React elements, cyclic refs) and\n * normalizes `Date` subclasses to plain `Date`.\n */\nexport function stripUnserializable(\n value: unknown,\n cache: WeakMap<object, unknown> = new WeakMap(),\n ancestors: WeakSet<object> = new WeakSet(),\n): unknown {\n if (value === null || value === undefined) {\n return value\n }\n\n const t = typeof value\n if (t === 'function' || t === 'symbol') {\n return undefined\n }\n if (t !== 'object') {\n return value\n }\n\n const obj = value as Record<string, unknown>\n\n if (typeof obj.$$typeof === 'symbol') {\n return undefined\n }\n\n if (ancestors.has(obj)) {\n return undefined\n }\n\n if (cache.has(obj)) {\n return cache.get(obj)\n }\n\n if (obj instanceof Date) {\n // Normalize to a plain `Date`. Subclasses (e.g. `@date-fns/tz`'s `TZDate`,\n // used by the schedule-publish drawer) are `instanceof Date` but have a\n // different `constructor`, which TanStack Start's seroval serializer\n // rejects with \"The value [object Date] ... cannot be parsed/serialized\".\n return new Date(obj.getTime())\n }\n\n if (obj instanceof RegExp) {\n return undefined\n }\n\n ancestors.add(obj)\n\n if (obj instanceof Map) {\n const cleaned = new Map()\n cache.set(obj, cleaned)\n for (const [k, v] of obj) {\n const cv = stripUnserializable(v, cache, ancestors)\n if (cv !== undefined) {\n cleaned.set(k, cv)\n }\n }\n ancestors.delete(obj)\n return cleaned\n }\n\n if (obj instanceof Set) {\n const cleaned = new Set()\n cache.set(obj, cleaned)\n for (const v of obj) {\n const cv = stripUnserializable(v, cache, ancestors)\n if (cv !== undefined) {\n cleaned.add(cv)\n }\n }\n ancestors.delete(obj)\n return cleaned\n }\n\n if (Array.isArray(obj)) {\n const arr: unknown[] = []\n cache.set(obj, arr)\n for (const item of obj) {\n arr.push(stripUnserializable(item, cache, ancestors))\n }\n ancestors.delete(obj)\n return arr\n }\n\n if (ArrayBuffer.isView(obj)) {\n ancestors.delete(obj)\n return obj\n }\n\n const result: Record<string, unknown> = {}\n cache.set(obj, result)\n for (const key of Object.keys(obj)) {\n const v = stripUnserializable(obj[key], cache, ancestors)\n if (v !== undefined) {\n result[key] = v\n }\n }\n ancestors.delete(obj)\n return result\n}\n"],"names":["createServerFunctionClient","runServerFn","args","safeArgs","stripUnserializable","data","value","cache","WeakMap","ancestors","WeakSet","undefined","t","obj","$$typeof","has","get","Date","getTime","RegExp","add","Map","cleaned","set","k","v","cv","delete","Set","Array","isArray","arr","item","push","ArrayBuffer","isView","result","key","Object","keys"],"mappings":"AAEA;;;;;;;;;;;;;;;CAeC,GACD,OAAO,SAASA,2BAA2B,EACzCC,WAAW,EAGZ;IACC,OAAQ,OAAOC;QACb,MAAMC,WAAWC,oBAAoBF;QACrC,OAAO,MAAMD,YAAY;YAAEI,MAAMF;QAAS;IAC5C;AACF;AAEA;;;;CAIC,GACD,OAAO,SAASC,oBACdE,KAAc,EACdC,QAAkC,IAAIC,SAAS,EAC/CC,YAA6B,IAAIC,SAAS;IAE1C,IAAIJ,UAAU,QAAQA,UAAUK,WAAW;QACzC,OAAOL;IACT;IAEA,MAAMM,IAAI,OAAON;IACjB,IAAIM,MAAM,cAAcA,MAAM,UAAU;QACtC,OAAOD;IACT;IACA,IAAIC,MAAM,UAAU;QAClB,OAAON;IACT;IAEA,MAAMO,MAAMP;IAEZ,IAAI,OAAOO,IAAIC,QAAQ,KAAK,UAAU;QACpC,OAAOH;IACT;IAEA,IAAIF,UAAUM,GAAG,CAACF,MAAM;QACtB,OAAOF;IACT;IAEA,IAAIJ,MAAMQ,GAAG,CAACF,MAAM;QAClB,OAAON,MAAMS,GAAG,CAACH;IACnB;IAEA,IAAIA,eAAeI,MAAM;QACvB,2EAA2E;QAC3E,wEAAwE;QACxE,qEAAqE;QACrE,0EAA0E;QAC1E,OAAO,IAAIA,KAAKJ,IAAIK,OAAO;IAC7B;IAEA,IAAIL,eAAeM,QAAQ;QACzB,OAAOR;IACT;IAEAF,UAAUW,GAAG,CAACP;IAEd,IAAIA,eAAeQ,KAAK;QACtB,MAAMC,UAAU,IAAID;QACpBd,MAAMgB,GAAG,CAACV,KAAKS;QACf,KAAK,MAAM,CAACE,GAAGC,EAAE,IAAIZ,IAAK;YACxB,MAAMa,KAAKtB,oBAAoBqB,GAAGlB,OAAOE;YACzC,IAAIiB,OAAOf,WAAW;gBACpBW,QAAQC,GAAG,CAACC,GAAGE;YACjB;QACF;QACAjB,UAAUkB,MAAM,CAACd;QACjB,OAAOS;IACT;IAEA,IAAIT,eAAee,KAAK;QACtB,MAAMN,UAAU,IAAIM;QACpBrB,MAAMgB,GAAG,CAACV,KAAKS;QACf,KAAK,MAAMG,KAAKZ,IAAK;YACnB,MAAMa,KAAKtB,oBAAoBqB,GAAGlB,OAAOE;YACzC,IAAIiB,OAAOf,WAAW;gBACpBW,QAAQF,GAAG,CAACM;YACd;QACF;QACAjB,UAAUkB,MAAM,CAACd;QACjB,OAAOS;IACT;IAEA,IAAIO,MAAMC,OAAO,CAACjB,MAAM;QACtB,MAAMkB,MAAiB,EAAE;QACzBxB,MAAMgB,GAAG,CAACV,KAAKkB;QACf,KAAK,MAAMC,QAAQnB,IAAK;YACtBkB,IAAIE,IAAI,CAAC7B,oBAAoB4B,MAAMzB,OAAOE;QAC5C;QACAA,UAAUkB,MAAM,CAACd;QACjB,OAAOkB;IACT;IAEA,IAAIG,YAAYC,MAAM,CAACtB,MAAM;QAC3BJ,UAAUkB,MAAM,CAACd;QACjB,OAAOA;IACT;IAEA,MAAMuB,SAAkC,CAAC;IACzC7B,MAAMgB,GAAG,CAACV,KAAKuB;IACf,KAAK,MAAMC,OAAOC,OAAOC,IAAI,CAAC1B,KAAM;QAClC,MAAMY,IAAIrB,oBAAoBS,GAAG,CAACwB,IAAI,EAAE9B,OAAOE;QAC/C,IAAIgB,MAAMd,WAAW;YACnByB,MAAM,CAACC,IAAI,GAAGZ;QAChB;IACF;IACAhB,UAAUkB,MAAM,CAACd;IACjB,OAAOuB;AACT"}
1
+ {"version":3,"sources":["../../src/utilities/serverFunctionClient.ts"],"sourcesContent":["import type { ServerFunctionClient, ServerFunctionClientArgs } from 'payload'\n\n/** Builds the admin dispatcher with native Flight response decoding. */\nexport function createServerFunctionClient({\n runServerFn,\n}: {\n runServerFn: (input: { data: ServerFunctionClientArgs }) => Promise<Response>\n}): ServerFunctionClient {\n return (async (args: ServerFunctionClientArgs) => {\n const response = await runServerFn({ data: args })\n\n if (!response.ok) {\n throw new Error(`Payload server function failed with status ${response.status}`)\n }\n\n if (response.headers.get('content-type')?.split(';')[0]?.trim() !== 'text/x-component') {\n throw new Error('Expected a React Flight response from the Payload server function')\n }\n\n if (!response.body) {\n throw new Error('The Payload server function returned an empty Flight response')\n }\n\n const { createFromReadableStream } = await import('@tanstack/react-start/rsc')\n\n return await createFromReadableStream(response.body)\n }) as ServerFunctionClient\n}\n"],"names":["createServerFunctionClient","runServerFn","args","response","data","ok","Error","status","headers","get","split","trim","body","createFromReadableStream"],"mappings":"AAEA,sEAAsE,GACtE,OAAO,SAASA,2BAA2B,EACzCC,WAAW,EAGZ;IACC,OAAQ,OAAOC;QACb,MAAMC,WAAW,MAAMF,YAAY;YAAEG,MAAMF;QAAK;QAEhD,IAAI,CAACC,SAASE,EAAE,EAAE;YAChB,MAAM,IAAIC,MAAM,CAAC,2CAA2C,EAAEH,SAASI,MAAM,EAAE;QACjF;QAEA,IAAIJ,SAASK,OAAO,CAACC,GAAG,CAAC,iBAAiBC,MAAM,IAAI,CAAC,EAAE,EAAEC,WAAW,oBAAoB;YACtF,MAAM,IAAIL,MAAM;QAClB;QAEA,IAAI,CAACH,SAASS,IAAI,EAAE;YAClB,MAAM,IAAIN,MAAM;QAClB;QAEA,MAAM,EAAEO,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC;QAElD,OAAO,MAAMA,yBAAyBV,SAASS,IAAI;IACrD;AACF"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Packages externalized during dev serve (`ssr.external`). Node's loader resolves
3
+ * their CJS/UMD directly; letting Vite's dev SSR transform touch them can break
4
+ * fragile UMD wrappers (e.g. `pluralize`, whose `this`-based global assignment
5
+ * throws when transformed rather than required).
6
+ *
7
+ * Safe here whoever declared the entry: Node resolves from the importing package,
8
+ * so pnpm's isolated layout never applies. The build is stricter — see
9
+ * {@link buildBundledPackages}.
10
+ */
11
+ export declare const ssrExternalPackages: string[];
12
+ /**
13
+ * Entries of {@link ssrExternalPackages} that must bundle in the production build.
14
+ *
15
+ * Externalizing only works for specifiers resolvable from the project root. These
16
+ * are leaf deps of Payload packages, so under pnpm they live in `.pnpm/…` and a bare
17
+ * specifier in a root-resolved chunk is invisible — `ERR_MODULE_NOT_FOUND` at
18
+ * runtime, or a build-time resolve failure under Nitro's re-bundle pass.
19
+ *
20
+ * `pluralize` also needs forcing back via `noExternal` (see `withPayload`); the
21
+ * storage leaves don't, since their adapters are already `noExternal`.
22
+ */
23
+ export declare const buildBundledPackages: string[];
24
+ /** Server-only package boundaries loaded directly by Node in development and production. */
25
+ export declare const serverExternalPackages: string[];
26
+ /** Additional installed packages that can bypass Vite's development server transforms. */
27
+ export declare const devExternalPackages: string[];
28
+ /**
29
+ * Externalizes package boundaries so packages resolve their own transitive dependencies under pnpm.
30
+ * Leaves that must bundle in production are excluded; see {@link buildBundledPackages}.
31
+ */
32
+ export declare const buildExternalPackages: string[];
33
+ export declare const payloadNoExternalPatterns: Array<RegExp | string>;
34
+ //# sourceMappingURL=external.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../../../src/withPayload/config/external.ts"],"names":[],"mappings":"AAKA;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,EAwBvC,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,EAOxC,CAAA;AAED,4FAA4F;AAC5F,eAAO,MAAM,sBAAsB,EAAE,MAAM,EAS1C,CAAA;AAED,0FAA0F;AAC1F,eAAO,MAAM,mBAAmB,EAAE,MAAM,EAOvC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,EAGzC,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAO5D,CAAA"}
@@ -0,0 +1,88 @@
1
+ import { devServerExternalPackages as devServerExternalPayloadPackages, serverExternalPackages as serverExternalPayloadPackages } from 'payload/build-config';
2
+ /**
3
+ * Packages externalized during dev serve (`ssr.external`). Node's loader resolves
4
+ * their CJS/UMD directly; letting Vite's dev SSR transform touch them can break
5
+ * fragile UMD wrappers (e.g. `pluralize`, whose `this`-based global assignment
6
+ * throws when transformed rather than required).
7
+ *
8
+ * Safe here whoever declared the entry: Node resolves from the importing package,
9
+ * so pnpm's isolated layout never applies. The build is stricter — see
10
+ * {@link buildBundledPackages}.
11
+ */ export const ssrExternalPackages = [
12
+ 'zod',
13
+ 'fast-uri',
14
+ ...serverExternalPayloadPackages,
15
+ 'drizzle-orm',
16
+ 'pino-pretty',
17
+ 'nodemailer',
18
+ 'aws4',
19
+ 'pluralize',
20
+ 'console-table-printer',
21
+ '@azure/storage-blob',
22
+ '@aws-sdk/client-s3',
23
+ '@aws-sdk/s3-request-presigner',
24
+ '@google-cloud/storage',
25
+ // Database drivers + their lazily-required companions, one group per adapter.
26
+ // Postgres (`@payloadcms/db-postgres`, `@payloadcms/db-vercel-postgres`)
27
+ 'pg',
28
+ 'pg-native',
29
+ 'pg-cloudflare',
30
+ // SQLite (`@payloadcms/db-sqlite`)
31
+ 'better-sqlite3',
32
+ // Mongo (`@payloadcms/db-mongodb`)
33
+ 'mongodb',
34
+ 'mongoose'
35
+ ];
36
+ /**
37
+ * Entries of {@link ssrExternalPackages} that must bundle in the production build.
38
+ *
39
+ * Externalizing only works for specifiers resolvable from the project root. These
40
+ * are leaf deps of Payload packages, so under pnpm they live in `.pnpm/…` and a bare
41
+ * specifier in a root-resolved chunk is invisible — `ERR_MODULE_NOT_FOUND` at
42
+ * runtime, or a build-time resolve failure under Nitro's re-bundle pass.
43
+ *
44
+ * `pluralize` also needs forcing back via `noExternal` (see `withPayload`); the
45
+ * storage leaves don't, since their adapters are already `noExternal`.
46
+ */ export const buildBundledPackages = [
47
+ 'pluralize',
48
+ // Leaf deps of the `@payloadcms/storage-*` adapters.
49
+ '@aws-sdk/client-s3',
50
+ '@aws-sdk/s3-request-presigner',
51
+ '@azure/storage-blob',
52
+ '@google-cloud/storage'
53
+ ];
54
+ /** Server-only package boundaries loaded directly by Node in development and production. */ export const serverExternalPackages = [
55
+ 'payload',
56
+ 'payload/node',
57
+ '@payloadcms/drizzle',
58
+ '@payloadcms/db-mongodb',
59
+ '@payloadcms/db-postgres',
60
+ '@payloadcms/db-vercel-postgres',
61
+ '@payloadcms/db-sqlite',
62
+ '@payloadcms/db-d1-sqlite'
63
+ ];
64
+ /** Additional installed packages that can bypass Vite's development server transforms. */ export const devExternalPackages = [
65
+ ...new Set([
66
+ // Vite otherwise transforms date-fns' full module graph during SSR.
67
+ 'date-fns',
68
+ ...devServerExternalPayloadPackages,
69
+ ...serverExternalPackages
70
+ ])
71
+ ];
72
+ /**
73
+ * Externalizes package boundaries so packages resolve their own transitive dependencies under pnpm.
74
+ * Leaves that must bundle in production are excluded; see {@link buildBundledPackages}.
75
+ */ export const buildExternalPackages = [
76
+ ...serverExternalPackages,
77
+ ...ssrExternalPackages.filter((pkg)=>!buildBundledPackages.includes(pkg))
78
+ ];
79
+ export const payloadNoExternalPatterns = [
80
+ '@payloadcms/ui',
81
+ '@payloadcms/translations',
82
+ '@payloadcms/tanstack-start',
83
+ /^@payloadcms\/richtext-lexical/,
84
+ /^@payloadcms\/plugin-/,
85
+ /^@payloadcms\/storage-/
86
+ ];
87
+
88
+ //# sourceMappingURL=external.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/withPayload/config/external.ts"],"sourcesContent":["import {\n devServerExternalPackages as devServerExternalPayloadPackages,\n serverExternalPackages as serverExternalPayloadPackages,\n} from 'payload/build-config'\n\n/**\n * Packages externalized during dev serve (`ssr.external`). Node's loader resolves\n * their CJS/UMD directly; letting Vite's dev SSR transform touch them can break\n * fragile UMD wrappers (e.g. `pluralize`, whose `this`-based global assignment\n * throws when transformed rather than required).\n *\n * Safe here whoever declared the entry: Node resolves from the importing package,\n * so pnpm's isolated layout never applies. The build is stricter — see\n * {@link buildBundledPackages}.\n */\nexport const ssrExternalPackages: string[] = [\n 'zod',\n 'fast-uri',\n ...serverExternalPayloadPackages,\n 'drizzle-orm',\n 'pino-pretty',\n 'nodemailer',\n 'aws4',\n 'pluralize',\n 'console-table-printer',\n '@azure/storage-blob',\n '@aws-sdk/client-s3',\n '@aws-sdk/s3-request-presigner',\n '@google-cloud/storage',\n // Database drivers + their lazily-required companions, one group per adapter.\n // Postgres (`@payloadcms/db-postgres`, `@payloadcms/db-vercel-postgres`)\n 'pg',\n 'pg-native',\n 'pg-cloudflare',\n // SQLite (`@payloadcms/db-sqlite`)\n 'better-sqlite3',\n // Mongo (`@payloadcms/db-mongodb`)\n 'mongodb',\n 'mongoose',\n]\n\n/**\n * Entries of {@link ssrExternalPackages} that must bundle in the production build.\n *\n * Externalizing only works for specifiers resolvable from the project root. These\n * are leaf deps of Payload packages, so under pnpm they live in `.pnpm/…` and a bare\n * specifier in a root-resolved chunk is invisible — `ERR_MODULE_NOT_FOUND` at\n * runtime, or a build-time resolve failure under Nitro's re-bundle pass.\n *\n * `pluralize` also needs forcing back via `noExternal` (see `withPayload`); the\n * storage leaves don't, since their adapters are already `noExternal`.\n */\nexport const buildBundledPackages: string[] = [\n 'pluralize',\n // Leaf deps of the `@payloadcms/storage-*` adapters.\n '@aws-sdk/client-s3',\n '@aws-sdk/s3-request-presigner',\n '@azure/storage-blob',\n '@google-cloud/storage',\n]\n\n/** Server-only package boundaries loaded directly by Node in development and production. */\nexport const serverExternalPackages: string[] = [\n 'payload',\n 'payload/node',\n '@payloadcms/drizzle',\n '@payloadcms/db-mongodb',\n '@payloadcms/db-postgres',\n '@payloadcms/db-vercel-postgres',\n '@payloadcms/db-sqlite',\n '@payloadcms/db-d1-sqlite',\n]\n\n/** Additional installed packages that can bypass Vite's development server transforms. */\nexport const devExternalPackages: string[] = [\n ...new Set([\n // Vite otherwise transforms date-fns' full module graph during SSR.\n 'date-fns',\n ...devServerExternalPayloadPackages,\n ...serverExternalPackages,\n ]),\n]\n\n/**\n * Externalizes package boundaries so packages resolve their own transitive dependencies under pnpm.\n * Leaves that must bundle in production are excluded; see {@link buildBundledPackages}.\n */\nexport const buildExternalPackages: string[] = [\n ...serverExternalPackages,\n ...ssrExternalPackages.filter((pkg) => !buildBundledPackages.includes(pkg)),\n]\n\nexport const payloadNoExternalPatterns: Array<RegExp | string> = [\n '@payloadcms/ui',\n '@payloadcms/translations',\n '@payloadcms/tanstack-start',\n /^@payloadcms\\/richtext-lexical/,\n /^@payloadcms\\/plugin-/,\n /^@payloadcms\\/storage-/,\n]\n"],"names":["devServerExternalPackages","devServerExternalPayloadPackages","serverExternalPackages","serverExternalPayloadPackages","ssrExternalPackages","buildBundledPackages","devExternalPackages","Set","buildExternalPackages","filter","pkg","includes","payloadNoExternalPatterns"],"mappings":"AAAA,SACEA,6BAA6BC,gCAAgC,EAC7DC,0BAA0BC,6BAA6B,QAClD,uBAAsB;AAE7B;;;;;;;;;CASC,GACD,OAAO,MAAMC,sBAAgC;IAC3C;IACA;OACGD;IACH;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,8EAA8E;IAC9E,yEAAyE;IACzE;IACA;IACA;IACA,mCAAmC;IACnC;IACA,mCAAmC;IACnC;IACA;CACD,CAAA;AAED;;;;;;;;;;CAUC,GACD,OAAO,MAAME,uBAAiC;IAC5C;IACA,qDAAqD;IACrD;IACA;IACA;IACA;CACD,CAAA;AAED,0FAA0F,GAC1F,OAAO,MAAMH,yBAAmC;IAC9C;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD,CAAA;AAED,wFAAwF,GACxF,OAAO,MAAMI,sBAAgC;OACxC,IAAIC,IAAI;QACT,oEAAoE;QACpE;WACGN;WACAC;KACJ;CACF,CAAA;AAED;;;CAGC,GACD,OAAO,MAAMM,wBAAkC;OAC1CN;OACAE,oBAAoBK,MAAM,CAAC,CAACC,MAAQ,CAACL,qBAAqBM,QAAQ,CAACD;CACvE,CAAA;AAED,OAAO,MAAME,4BAAoD;IAC/D;IACA;IACA;IACA;IACA;IACA;CACD,CAAA"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Client dep-optimizer config used by `withPayload`. Kept separate from the
3
+ * SSR/RSC externalization config (`./external.ts`) so each concern stays small.
4
+ */
5
+ /**
6
+ * Packages we know contain Node-only code or top-level side effects requiring
7
+ * Node APIs. Excluding them from the client optimizer prevents Vite from
8
+ * walking into their main entries and trying to bundle server-only imports
9
+ * for the browser.
10
+ */
11
+ export declare const optimizeDepsExcludeDefaults: string[];
12
+ /**
13
+ * Transitive dependencies of `@payloadcms/ui` and `payload` that need to be
14
+ * pre-bundled for the client. Vite's auto-discovery doesn't reliably pick
15
+ * these up because their parent packages are in `optimizeDeps.exclude`, so we
16
+ * list them explicitly using the `parent > child` syntax.
17
+ *
18
+ * Each entry below fixes a specific late-discovery re-optimization: without it,
19
+ * Vite discovers the dep *after* its initial crawl, forcing a full dep
20
+ * re-optimization mid-session that 404s in-flight `.vite/deps/*` chunks and
21
+ * remounts the admin (dropping client state). This is why the list can't simply
22
+ * be deleted — it is the "complete first pass" for the admin's dep graph.
23
+ */
24
+ export declare const optimizeDepsIncludeDefaults: string[];
25
+ //# sourceMappingURL=optimizeDeps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optimizeDeps.d.ts","sourceRoot":"","sources":["../../../src/withPayload/config/optimizeDeps.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,EAAE,MAAM,EA0D/C,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,2BAA2B,EAAE,MAAM,EA+E/C,CAAA"}
@@ -1,67 +1,7 @@
1
1
  /**
2
- * Vite-level configuration constants used by `payloadPlugin`. Kept separate so
3
- * `plugin.ts` stays focused on wiring.
2
+ * Client dep-optimizer config used by `withPayload`. Kept separate from the
3
+ * SSR/RSC externalization config (`./external.ts`) so each concern stays small.
4
4
  */ /**
5
- * Server-only packages (Node-only or only ever used by the server bundle).
6
- * These are the Vite equivalent of Next.js's `serverExternalPackages`.
7
- */ export const ssrExternalPackages = [
8
- 'ajv',
9
- 'fast-uri',
10
- 'drizzle-kit',
11
- 'drizzle-kit/api',
12
- 'drizzle-orm',
13
- 'sharp',
14
- 'libsql',
15
- 'require-in-the-middle',
16
- 'json-schema-to-typescript',
17
- 'pino',
18
- 'pino-pretty',
19
- 'graphql',
20
- 'mongodb',
21
- 'mongoose',
22
- 'better-sqlite3',
23
- 'pg',
24
- 'pg-native',
25
- 'nodemailer',
26
- 'aws4',
27
- 'pluralize',
28
- 'console-table-printer',
29
- '@azure/storage-blob',
30
- '@aws-sdk/client-s3',
31
- '@aws-sdk/s3-request-presigner',
32
- '@google-cloud/storage'
33
- ];
34
- /**
35
- * Payload packages whose source must be processed by Vite even on the server
36
- * (because they are workspace `.ts` files in dev). Server-only adapters
37
- * (`@payloadcms/db-*`, `@payloadcms/email-*`, `@payloadcms/next`, etc.) are
38
- * intentionally not included — those should stay external on the SSR side.
39
- */ export const payloadNoExternalPatterns = [
40
- '@payloadcms/ui',
41
- '@payloadcms/translations',
42
- '@payloadcms/tanstack-start',
43
- /^@payloadcms\/richtext-lexical/,
44
- /^@payloadcms\/plugin-/,
45
- /^@payloadcms\/storage-/
46
- ];
47
- /**
48
- * The subset of `payloadNoExternalPatterns` that needs to participate in the
49
- * RSC environment. Plugins and storage adapters must be included: they register
50
- * custom providers/components (e.g. `plugin-multi-tenant`'s `'use client'`
51
- * `TenantSelectionProvider`) that render in the RSC graph via
52
- * `RenderServerComponent`. If the package stays external to RSC, `plugin-rsc`
53
- * never transforms its `'use client'` modules into client references, so the
54
- * component executes server-side and crashes on the first hook
55
- * (`Cannot read properties of null (reading 'useState')`).
56
- */ export const payloadRscNoExternalPatterns = [
57
- '@payloadcms/ui',
58
- '@payloadcms/translations',
59
- '@payloadcms/tanstack-start',
60
- /^@payloadcms\/richtext-lexical/,
61
- /^@payloadcms\/plugin-/,
62
- /^@payloadcms\/storage-/
63
- ];
64
- /**
65
5
  * Packages we know contain Node-only code or top-level side effects requiring
66
6
  * Node APIs. Excluding them from the client optimizer prevents Vite from
67
7
  * walking into their main entries and trying to bundle server-only imports
@@ -85,15 +25,57 @@
85
25
  // server-only APIs (e.g. `BlobSASPermissions`), which crashes the dev
86
26
  // server with a `MISSING_EXPORT` error before any test runs.
87
27
  '@azure/storage-blob',
28
+ // Preserve RSC client boundaries on storage admin upload handlers.
29
+ '@payloadcms/storage-azure',
30
+ '@payloadcms/storage-r2',
31
+ '@payloadcms/storage-vercel-blob',
88
32
  '@aws-sdk/client-s3',
89
33
  '@aws-sdk/s3-request-presigner',
90
- '@google-cloud/storage'
34
+ '@google-cloud/storage',
35
+ // Packages whose admin component barrel re-exports `'use client'` modules
36
+ // without carrying the directive itself. Pre-bundling one puts those modules
37
+ // in the optimized dep chunk *and* in the `rsc` environment as client
38
+ // references, which `@vitejs/plugin-rsc` warns about ("client component
39
+ // dependency is inconsistently optimized") once per component. Barrels that
40
+ // start with `'use client'` (e.g. `richtext-lexical`, `plugin-stripe`) don't
41
+ // warn and stay pre-bundled. Only shows up in published installs; workspace
42
+ // source is never pre-bundled.
43
+ '@payloadcms/plugin-cloud-storage',
44
+ '@payloadcms/plugin-ecommerce',
45
+ '@payloadcms/plugin-form-builder',
46
+ '@payloadcms/plugin-import-export',
47
+ '@payloadcms/plugin-multi-tenant',
48
+ '@payloadcms/plugin-search',
49
+ '@payloadcms/plugin-sentry',
50
+ '@payloadcms/plugin-seo',
51
+ // Database adapters and their drivers. The client scan reaches them through the
52
+ // Payload config (it follows server functions' `import('@payload-config')`
53
+ // without TanStack's server-fn stripping), so Vite would pre-bundle the whole
54
+ // driver for a browser that never loads it. Mongoose 9 has no browser build, so
55
+ // that bundles `mongodb`, whose optional `@aws-sdk/credential-providers` peer —
56
+ // when linked, as in the monorepo via `@payloadcms/payload-cloud` — fails the
57
+ // same `MISSING_EXPORT` way. Published installs reach the adapter packages;
58
+ // the monorepo, which resolves them to source, reaches the drivers.
59
+ '@payloadcms/db-d1-sqlite',
60
+ '@payloadcms/db-mongodb',
61
+ '@payloadcms/db-postgres',
62
+ '@payloadcms/db-sqlite',
63
+ '@payloadcms/db-vercel-postgres',
64
+ '@payloadcms/drizzle',
65
+ 'mongodb',
66
+ 'mongoose'
91
67
  ];
92
68
  /**
93
69
  * Transitive dependencies of `@payloadcms/ui` and `payload` that need to be
94
70
  * pre-bundled for the client. Vite's auto-discovery doesn't reliably pick
95
71
  * these up because their parent packages are in `optimizeDeps.exclude`, so we
96
72
  * list them explicitly using the `parent > child` syntax.
73
+ *
74
+ * Each entry below fixes a specific late-discovery re-optimization: without it,
75
+ * Vite discovers the dep *after* its initial crawl, forcing a full dep
76
+ * re-optimization mid-session that 404s in-flight `.vite/deps/*` chunks and
77
+ * remounts the admin (dropping client state). This is why the list can't simply
78
+ * be deleted — it is the "complete first pass" for the admin's dep graph.
97
79
  */ export const optimizeDepsIncludeDefaults = [
98
80
  '@payloadcms/ui > sonner',
99
81
  '@payloadcms/ui > @faceless-ui/modal',
@@ -145,16 +127,16 @@
145
127
  '@payloadcms/ui > react-select > prop-types > react-is',
146
128
  '@payloadcms/ui > date-fns/locale/en-US',
147
129
  // Further late discoveries observed re-optimizing mid-run in CI cold starts
148
- // (see CI logs: "✨ new dependencies optimized: @dnd-kit/modifiers / ajv /
130
+ // (see CI logs: "✨ new dependencies optimized: @dnd-kit/modifiers / zod /
149
131
  // dequal/lite"). The modular dashboard pulls in `@dnd-kit/modifiers` on first
150
132
  // render; form-state diffing reaches `dequal/lite` (a distinct entry point
151
133
  // from the already-listed `dequal`); client-side field validation reaches
152
- // `ajv` *through `payload`* — it is `ssrExternal` server-side but still
134
+ // `zod` *through `payload`* — it is `ssrExternal` server-side but still
153
135
  // bundled into the client, and must be pathed via `payload` so the optimizer
154
136
  // pre-bundles the exact copy the runtime loads.
155
137
  '@payloadcms/ui > @dnd-kit/modifiers',
156
138
  '@payloadcms/ui > dequal/lite',
157
- 'payload > ajv',
139
+ 'payload > zod',
158
140
  // The storage client-upload suites (esp. vercel-blob) crawl part of the
159
141
  // `payload` server runtime into the client bundle and discover these late,
160
142
  // triggering several "optimized dependencies changed. reloading" waves that
@@ -167,11 +149,12 @@
167
149
  'payload > path-to-regexp',
168
150
  'payload > console-table-printer',
169
151
  'payload > ci-info',
170
- 'payload > image-size',
171
- 'payload > image-size/fromFile',
152
+ 'payload > image-dimensions',
172
153
  'payload > ipaddr.js',
173
154
  'payload > range-parser',
174
- 'payload > sanitize-filename'
155
+ 'payload > sanitize-filename',
156
+ // `@azure/storage-blob` is excluded, so pre-bundle its CommonJS browser dependency explicitly.
157
+ '@azure/storage-blob > events'
175
158
  ];
176
159
 
177
- //# sourceMappingURL=constants.js.map
160
+ //# sourceMappingURL=optimizeDeps.js.map