payload 3.0.0-beta.2 → 3.0.0-beta.21

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 (696) hide show
  1. package/dist/admin/RichText.d.ts +18 -10
  2. package/dist/admin/RichText.d.ts.map +1 -1
  3. package/dist/admin/RichText.js.map +1 -1
  4. package/dist/admin/elements/PreviewButton.d.ts +2 -1
  5. package/dist/admin/elements/PreviewButton.d.ts.map +1 -1
  6. package/dist/admin/elements/PreviewButton.js.map +1 -1
  7. package/dist/admin/elements/PublishButton.d.ts +2 -1
  8. package/dist/admin/elements/PublishButton.d.ts.map +1 -1
  9. package/dist/admin/elements/PublishButton.js.map +1 -1
  10. package/dist/admin/elements/SaveButton.d.ts +2 -1
  11. package/dist/admin/elements/SaveButton.d.ts.map +1 -1
  12. package/dist/admin/elements/SaveButton.js.map +1 -1
  13. package/dist/admin/elements/SaveDraftButton.d.ts +2 -1
  14. package/dist/admin/elements/SaveDraftButton.d.ts.map +1 -1
  15. package/dist/admin/elements/SaveDraftButton.js.map +1 -1
  16. package/dist/admin/elements/Tab.d.ts +3 -0
  17. package/dist/admin/elements/Tab.d.ts.map +1 -1
  18. package/dist/admin/elements/Tab.js.map +1 -1
  19. package/dist/admin/elements/WithServerSideProps.d.ts +5 -0
  20. package/dist/admin/elements/WithServerSideProps.d.ts.map +1 -0
  21. package/dist/admin/elements/WithServerSideProps.js +3 -0
  22. package/dist/admin/elements/WithServerSideProps.js.map +1 -0
  23. package/dist/admin/forms/FieldDescription.d.ts +4 -2
  24. package/dist/admin/forms/FieldDescription.d.ts.map +1 -1
  25. package/dist/admin/forms/FieldDescription.js.map +1 -1
  26. package/dist/admin/forms/RowLabel.d.ts +2 -1
  27. package/dist/admin/forms/RowLabel.d.ts.map +1 -1
  28. package/dist/admin/forms/RowLabel.js.map +1 -1
  29. package/dist/admin/types.d.ts +2 -1
  30. package/dist/admin/types.d.ts.map +1 -1
  31. package/dist/admin/types.js.map +1 -1
  32. package/dist/admin/views/types.d.ts +2 -2
  33. package/dist/admin/views/types.d.ts.map +1 -1
  34. package/dist/admin/views/types.js.map +1 -1
  35. package/dist/auth/baseFields/apiKey.d.ts.map +1 -1
  36. package/dist/auth/baseFields/apiKey.js +6 -4
  37. package/dist/auth/baseFields/apiKey.js.map +1 -1
  38. package/dist/auth/cookies.d.ts +16 -4
  39. package/dist/auth/cookies.d.ts.map +1 -1
  40. package/dist/auth/cookies.js +45 -14
  41. package/dist/auth/cookies.js.map +1 -1
  42. package/dist/auth/defaultAccess.d.ts +2 -2
  43. package/dist/auth/defaultAccess.d.ts.map +1 -1
  44. package/dist/auth/defaultAccess.js.map +1 -1
  45. package/dist/auth/executeAccess.d.ts +2 -2
  46. package/dist/auth/executeAccess.d.ts.map +1 -1
  47. package/dist/auth/executeAccess.js.map +1 -1
  48. package/dist/auth/executeAuthStrategies.d.ts +3 -2
  49. package/dist/auth/executeAuthStrategies.d.ts.map +1 -1
  50. package/dist/auth/executeAuthStrategies.js.map +1 -1
  51. package/dist/auth/getAccessResults.d.ts +2 -2
  52. package/dist/auth/getAccessResults.d.ts.map +1 -1
  53. package/dist/auth/getAccessResults.js +1 -1
  54. package/dist/auth/getAccessResults.js.map +1 -1
  55. package/dist/auth/getFieldsToSign.d.ts +2 -2
  56. package/dist/auth/getFieldsToSign.d.ts.map +1 -1
  57. package/dist/auth/getFieldsToSign.js.map +1 -1
  58. package/dist/auth/operations/access.d.ts +2 -2
  59. package/dist/auth/operations/access.d.ts.map +1 -1
  60. package/dist/auth/operations/access.js.map +1 -1
  61. package/dist/auth/operations/auth.d.ts +5 -4
  62. package/dist/auth/operations/auth.d.ts.map +1 -1
  63. package/dist/auth/operations/auth.js.map +1 -1
  64. package/dist/auth/operations/forgotPassword.d.ts +2 -2
  65. package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
  66. package/dist/auth/operations/forgotPassword.js +6 -5
  67. package/dist/auth/operations/forgotPassword.js.map +1 -1
  68. package/dist/auth/operations/init.d.ts +2 -2
  69. package/dist/auth/operations/init.d.ts.map +1 -1
  70. package/dist/auth/operations/init.js.map +1 -1
  71. package/dist/auth/operations/local/auth.js.map +1 -1
  72. package/dist/auth/operations/local/forgotPassword.d.ts +2 -2
  73. package/dist/auth/operations/local/forgotPassword.d.ts.map +1 -1
  74. package/dist/auth/operations/local/forgotPassword.js.map +1 -1
  75. package/dist/auth/operations/local/login.d.ts +2 -2
  76. package/dist/auth/operations/local/login.d.ts.map +1 -1
  77. package/dist/auth/operations/local/login.js.map +1 -1
  78. package/dist/auth/operations/local/resetPassword.d.ts +2 -2
  79. package/dist/auth/operations/local/resetPassword.d.ts.map +1 -1
  80. package/dist/auth/operations/local/resetPassword.js.map +1 -1
  81. package/dist/auth/operations/local/unlock.d.ts +2 -2
  82. package/dist/auth/operations/local/unlock.d.ts.map +1 -1
  83. package/dist/auth/operations/local/unlock.js.map +1 -1
  84. package/dist/auth/operations/local/verifyEmail.d.ts +2 -2
  85. package/dist/auth/operations/local/verifyEmail.d.ts.map +1 -1
  86. package/dist/auth/operations/local/verifyEmail.js.map +1 -1
  87. package/dist/auth/operations/login.d.ts +2 -2
  88. package/dist/auth/operations/login.d.ts.map +1 -1
  89. package/dist/auth/operations/login.js +17 -1
  90. package/dist/auth/operations/login.js.map +1 -1
  91. package/dist/auth/operations/logout.d.ts +2 -2
  92. package/dist/auth/operations/logout.d.ts.map +1 -1
  93. package/dist/auth/operations/logout.js.map +1 -1
  94. package/dist/auth/operations/me.d.ts +2 -2
  95. package/dist/auth/operations/me.d.ts.map +1 -1
  96. package/dist/auth/operations/me.js.map +1 -1
  97. package/dist/auth/operations/refresh.d.ts +2 -2
  98. package/dist/auth/operations/refresh.d.ts.map +1 -1
  99. package/dist/auth/operations/refresh.js.map +1 -1
  100. package/dist/auth/operations/registerFirstUser.d.ts +2 -2
  101. package/dist/auth/operations/registerFirstUser.d.ts.map +1 -1
  102. package/dist/auth/operations/registerFirstUser.js.map +1 -1
  103. package/dist/auth/operations/resetPassword.d.ts +2 -2
  104. package/dist/auth/operations/resetPassword.d.ts.map +1 -1
  105. package/dist/auth/operations/resetPassword.js.map +1 -1
  106. package/dist/auth/operations/unlock.d.ts +2 -2
  107. package/dist/auth/operations/unlock.d.ts.map +1 -1
  108. package/dist/auth/operations/unlock.js.map +1 -1
  109. package/dist/auth/operations/verifyEmail.d.ts +2 -2
  110. package/dist/auth/operations/verifyEmail.d.ts.map +1 -1
  111. package/dist/auth/operations/verifyEmail.js.map +1 -1
  112. package/dist/auth/sendVerificationEmail.d.ts +7 -8
  113. package/dist/auth/sendVerificationEmail.d.ts.map +1 -1
  114. package/dist/auth/sendVerificationEmail.js +7 -7
  115. package/dist/auth/sendVerificationEmail.js.map +1 -1
  116. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts +2 -2
  117. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts.map +1 -1
  118. package/dist/auth/strategies/local/incrementLoginAttempts.js.map +1 -1
  119. package/dist/auth/strategies/local/register.d.ts +2 -2
  120. package/dist/auth/strategies/local/register.d.ts.map +1 -1
  121. package/dist/auth/strategies/local/register.js.map +1 -1
  122. package/dist/auth/strategies/local/resetLoginAttempts.d.ts +2 -2
  123. package/dist/auth/strategies/local/resetLoginAttempts.d.ts.map +1 -1
  124. package/dist/auth/strategies/local/resetLoginAttempts.js.map +1 -1
  125. package/dist/auth/types.d.ts +5 -5
  126. package/dist/auth/types.d.ts.map +1 -1
  127. package/dist/auth/types.js.map +1 -1
  128. package/dist/bin/loader/index.d.ts.map +1 -1
  129. package/dist/bin/loader/index.js +6 -1
  130. package/dist/bin/loader/index.js.map +1 -1
  131. package/dist/bin/loader/resolveOriginalPath.d.ts +10 -0
  132. package/dist/bin/loader/resolveOriginalPath.d.ts.map +1 -0
  133. package/dist/bin/loader/resolveOriginalPath.js +32 -0
  134. package/dist/bin/loader/resolveOriginalPath.js.map +1 -0
  135. package/dist/collections/config/client.d.ts +17 -13
  136. package/dist/collections/config/client.d.ts.map +1 -1
  137. package/dist/collections/config/client.js +3 -1
  138. package/dist/collections/config/client.js.map +1 -1
  139. package/dist/collections/config/defaults.d.ts +6 -5
  140. package/dist/collections/config/defaults.d.ts.map +1 -1
  141. package/dist/collections/config/defaults.js +1 -0
  142. package/dist/collections/config/defaults.js.map +1 -1
  143. package/dist/collections/config/sanitize.d.ts +2 -3
  144. package/dist/collections/config/sanitize.d.ts.map +1 -1
  145. package/dist/collections/config/sanitize.js +7 -4
  146. package/dist/collections/config/sanitize.js.map +1 -1
  147. package/dist/collections/config/schema.d.ts.map +1 -1
  148. package/dist/collections/config/schema.js +3 -0
  149. package/dist/collections/config/schema.js.map +1 -1
  150. package/dist/collections/config/types.d.ts +33 -23
  151. package/dist/collections/config/types.d.ts.map +1 -1
  152. package/dist/collections/config/types.js.map +1 -1
  153. package/dist/collections/dataloader.d.ts.map +1 -1
  154. package/dist/collections/dataloader.js +4 -6
  155. package/dist/collections/dataloader.js.map +1 -1
  156. package/dist/collections/operations/count.d.ts +13 -0
  157. package/dist/collections/operations/count.d.ts.map +1 -0
  158. package/dist/collections/operations/count.js +75 -0
  159. package/dist/collections/operations/count.js.map +1 -0
  160. package/dist/collections/operations/create.d.ts +2 -2
  161. package/dist/collections/operations/create.d.ts.map +1 -1
  162. package/dist/collections/operations/create.js +4 -8
  163. package/dist/collections/operations/create.js.map +1 -1
  164. package/dist/collections/operations/delete.d.ts +2 -2
  165. package/dist/collections/operations/delete.d.ts.map +1 -1
  166. package/dist/collections/operations/delete.js.map +1 -1
  167. package/dist/collections/operations/deleteByID.d.ts +2 -2
  168. package/dist/collections/operations/deleteByID.d.ts.map +1 -1
  169. package/dist/collections/operations/deleteByID.js.map +1 -1
  170. package/dist/collections/operations/docAccess.d.ts +2 -2
  171. package/dist/collections/operations/docAccess.d.ts.map +1 -1
  172. package/dist/collections/operations/docAccess.js.map +1 -1
  173. package/dist/collections/operations/duplicate.d.ts +2 -2
  174. package/dist/collections/operations/duplicate.d.ts.map +1 -1
  175. package/dist/collections/operations/duplicate.js.map +1 -1
  176. package/dist/collections/operations/find.d.ts +2 -2
  177. package/dist/collections/operations/find.d.ts.map +1 -1
  178. package/dist/collections/operations/find.js.map +1 -1
  179. package/dist/collections/operations/findByID.d.ts +2 -2
  180. package/dist/collections/operations/findByID.d.ts.map +1 -1
  181. package/dist/collections/operations/findByID.js.map +1 -1
  182. package/dist/collections/operations/findVersionByID.d.ts +2 -2
  183. package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
  184. package/dist/collections/operations/findVersionByID.js.map +1 -1
  185. package/dist/collections/operations/findVersions.d.ts +2 -2
  186. package/dist/collections/operations/findVersions.d.ts.map +1 -1
  187. package/dist/collections/operations/findVersions.js.map +1 -1
  188. package/dist/collections/operations/local/count.d.ts +20 -0
  189. package/dist/collections/operations/local/count.d.ts.map +1 -0
  190. package/dist/collections/operations/local/count.js +19 -0
  191. package/dist/collections/operations/local/count.js.map +1 -0
  192. package/dist/collections/operations/local/create.d.ts +4 -4
  193. package/dist/collections/operations/local/create.d.ts.map +1 -1
  194. package/dist/collections/operations/local/create.js.map +1 -1
  195. package/dist/collections/operations/local/delete.d.ts +4 -4
  196. package/dist/collections/operations/local/delete.d.ts.map +1 -1
  197. package/dist/collections/operations/local/delete.js.map +1 -1
  198. package/dist/collections/operations/local/duplicate.d.ts +4 -4
  199. package/dist/collections/operations/local/duplicate.d.ts.map +1 -1
  200. package/dist/collections/operations/local/duplicate.js.map +1 -1
  201. package/dist/collections/operations/local/find.d.ts +4 -4
  202. package/dist/collections/operations/local/find.d.ts.map +1 -1
  203. package/dist/collections/operations/local/find.js.map +1 -1
  204. package/dist/collections/operations/local/findByID.d.ts +4 -4
  205. package/dist/collections/operations/local/findByID.d.ts.map +1 -1
  206. package/dist/collections/operations/local/findByID.js.map +1 -1
  207. package/dist/collections/operations/local/findVersionByID.d.ts +4 -4
  208. package/dist/collections/operations/local/findVersionByID.d.ts.map +1 -1
  209. package/dist/collections/operations/local/findVersionByID.js.map +1 -1
  210. package/dist/collections/operations/local/findVersions.d.ts +4 -4
  211. package/dist/collections/operations/local/findVersions.d.ts.map +1 -1
  212. package/dist/collections/operations/local/findVersions.js.map +1 -1
  213. package/dist/collections/operations/local/index.d.ts +2 -0
  214. package/dist/collections/operations/local/index.d.ts.map +1 -1
  215. package/dist/collections/operations/local/index.js +2 -0
  216. package/dist/collections/operations/local/index.js.map +1 -1
  217. package/dist/collections/operations/local/restoreVersion.d.ts +4 -4
  218. package/dist/collections/operations/local/restoreVersion.d.ts.map +1 -1
  219. package/dist/collections/operations/local/restoreVersion.js.map +1 -1
  220. package/dist/collections/operations/local/update.d.ts +4 -4
  221. package/dist/collections/operations/local/update.d.ts.map +1 -1
  222. package/dist/collections/operations/local/update.js.map +1 -1
  223. package/dist/collections/operations/restoreVersion.d.ts +2 -2
  224. package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
  225. package/dist/collections/operations/restoreVersion.js.map +1 -1
  226. package/dist/collections/operations/update.d.ts +2 -2
  227. package/dist/collections/operations/update.d.ts.map +1 -1
  228. package/dist/collections/operations/update.js +3 -3
  229. package/dist/collections/operations/update.js.map +1 -1
  230. package/dist/collections/operations/updateByID.d.ts +2 -2
  231. package/dist/collections/operations/updateByID.d.ts.map +1 -1
  232. package/dist/collections/operations/updateByID.js +2 -2
  233. package/dist/collections/operations/updateByID.js.map +1 -1
  234. package/dist/collections/operations/utils.d.ts +8 -2
  235. package/dist/collections/operations/utils.d.ts.map +1 -1
  236. package/dist/collections/operations/utils.js.map +1 -1
  237. package/dist/config/build.d.ts.map +1 -1
  238. package/dist/config/build.js +3 -4
  239. package/dist/config/build.js.map +1 -1
  240. package/dist/config/client.d.ts +2 -1
  241. package/dist/config/client.d.ts.map +1 -1
  242. package/dist/config/client.js +2 -1
  243. package/dist/config/client.js.map +1 -1
  244. package/dist/config/defaults.d.ts.map +1 -1
  245. package/dist/config/defaults.js +1 -0
  246. package/dist/config/defaults.js.map +1 -1
  247. package/dist/config/find.d.ts.map +1 -1
  248. package/dist/config/find.js +20 -9
  249. package/dist/config/find.js.map +1 -1
  250. package/dist/config/sanitize.d.ts +1 -1
  251. package/dist/config/sanitize.d.ts.map +1 -1
  252. package/dist/config/sanitize.js +28 -7
  253. package/dist/config/sanitize.js.map +1 -1
  254. package/dist/config/schema.d.ts.map +1 -1
  255. package/dist/config/schema.js +2 -1
  256. package/dist/config/schema.js.map +1 -1
  257. package/dist/config/types.d.ts +40 -54
  258. package/dist/config/types.d.ts.map +1 -1
  259. package/dist/config/types.js +3 -12
  260. package/dist/config/types.js.map +1 -1
  261. package/dist/database/migrations/migrate.js.map +1 -1
  262. package/dist/database/migrations/migrateDown.js.map +1 -1
  263. package/dist/database/migrations/migrateRefresh.js.map +1 -1
  264. package/dist/database/migrations/migrateReset.js.map +1 -1
  265. package/dist/database/queryValidation/validateQueryPaths.d.ts +2 -2
  266. package/dist/database/queryValidation/validateQueryPaths.d.ts.map +1 -1
  267. package/dist/database/queryValidation/validateQueryPaths.js +1 -1
  268. package/dist/database/queryValidation/validateQueryPaths.js.map +1 -1
  269. package/dist/database/queryValidation/validateSearchParams.d.ts +2 -2
  270. package/dist/database/queryValidation/validateSearchParams.d.ts.map +1 -1
  271. package/dist/database/queryValidation/validateSearchParams.js.map +1 -1
  272. package/dist/database/types.d.ts +29 -19
  273. package/dist/database/types.d.ts.map +1 -1
  274. package/dist/database/types.js.map +1 -1
  275. package/dist/email/consoleEmailAdapter.d.ts +3 -0
  276. package/dist/email/consoleEmailAdapter.d.ts.map +1 -0
  277. package/dist/email/consoleEmailAdapter.js +17 -0
  278. package/dist/email/consoleEmailAdapter.js.map +1 -0
  279. package/dist/email/defaults.d.ts +2 -2
  280. package/dist/email/defaults.d.ts.map +1 -1
  281. package/dist/email/defaults.js +3 -3
  282. package/dist/email/defaults.js.map +1 -1
  283. package/dist/email/getStringifiedToAddress.d.ts +3 -0
  284. package/dist/email/getStringifiedToAddress.d.ts.map +1 -0
  285. package/dist/email/getStringifiedToAddress.js +20 -0
  286. package/dist/email/getStringifiedToAddress.js.map +1 -0
  287. package/dist/email/sendEmail.d.ts +3 -2
  288. package/dist/email/sendEmail.d.ts.map +1 -1
  289. package/dist/email/sendEmail.js +8 -4
  290. package/dist/email/sendEmail.js.map +1 -1
  291. package/dist/email/types.d.ts +26 -18
  292. package/dist/email/types.d.ts.map +1 -1
  293. package/dist/email/types.js +5 -1
  294. package/dist/email/types.js.map +1 -1
  295. package/dist/errors/APIError.d.ts +2 -2
  296. package/dist/errors/APIError.d.ts.map +1 -1
  297. package/dist/errors/APIError.js +1 -2
  298. package/dist/errors/APIError.js.map +1 -1
  299. package/dist/errors/AuthenticationError.d.ts +2 -3
  300. package/dist/errors/AuthenticationError.d.ts.map +1 -1
  301. package/dist/errors/AuthenticationError.js +2 -3
  302. package/dist/errors/AuthenticationError.js.map +1 -1
  303. package/dist/errors/DuplicateCollection.d.ts +2 -3
  304. package/dist/errors/DuplicateCollection.d.ts.map +1 -1
  305. package/dist/errors/DuplicateCollection.js +2 -3
  306. package/dist/errors/DuplicateCollection.js.map +1 -1
  307. package/dist/errors/DuplicateFieldName.d.ts +2 -3
  308. package/dist/errors/DuplicateFieldName.d.ts.map +1 -1
  309. package/dist/errors/DuplicateFieldName.js +2 -3
  310. package/dist/errors/DuplicateFieldName.js.map +1 -1
  311. package/dist/errors/DuplicateGlobal.d.ts +2 -3
  312. package/dist/errors/DuplicateGlobal.d.ts.map +1 -1
  313. package/dist/errors/DuplicateGlobal.js +2 -3
  314. package/dist/errors/DuplicateGlobal.js.map +1 -1
  315. package/dist/errors/ErrorDeletingFile.d.ts +2 -3
  316. package/dist/errors/ErrorDeletingFile.d.ts.map +1 -1
  317. package/dist/errors/ErrorDeletingFile.js +2 -3
  318. package/dist/errors/ErrorDeletingFile.js.map +1 -1
  319. package/dist/errors/FileRetrievalError.d.ts +6 -0
  320. package/dist/errors/FileRetrievalError.d.ts.map +1 -0
  321. package/dist/errors/FileRetrievalError.js +13 -0
  322. package/dist/errors/FileRetrievalError.js.map +1 -0
  323. package/dist/errors/FileUploadError.d.ts +2 -3
  324. package/dist/errors/FileUploadError.d.ts.map +1 -1
  325. package/dist/errors/FileUploadError.js +2 -3
  326. package/dist/errors/FileUploadError.js.map +1 -1
  327. package/dist/errors/Forbidden.d.ts +2 -3
  328. package/dist/errors/Forbidden.d.ts.map +1 -1
  329. package/dist/errors/Forbidden.js +2 -3
  330. package/dist/errors/Forbidden.js.map +1 -1
  331. package/dist/errors/InvalidConfiguration.d.ts +2 -3
  332. package/dist/errors/InvalidConfiguration.d.ts.map +1 -1
  333. package/dist/errors/InvalidConfiguration.js +2 -3
  334. package/dist/errors/InvalidConfiguration.js.map +1 -1
  335. package/dist/errors/InvalidFieldName.d.ts +2 -3
  336. package/dist/errors/InvalidFieldName.d.ts.map +1 -1
  337. package/dist/errors/InvalidFieldName.js +2 -3
  338. package/dist/errors/InvalidFieldName.js.map +1 -1
  339. package/dist/errors/InvalidFieldRelationship.d.ts +2 -3
  340. package/dist/errors/InvalidFieldRelationship.d.ts.map +1 -1
  341. package/dist/errors/InvalidFieldRelationship.js +2 -3
  342. package/dist/errors/InvalidFieldRelationship.js.map +1 -1
  343. package/dist/errors/InvalidSchema.d.ts +2 -3
  344. package/dist/errors/InvalidSchema.d.ts.map +1 -1
  345. package/dist/errors/InvalidSchema.js +2 -3
  346. package/dist/errors/InvalidSchema.js.map +1 -1
  347. package/dist/errors/LockedAuth.d.ts +2 -3
  348. package/dist/errors/LockedAuth.d.ts.map +1 -1
  349. package/dist/errors/LockedAuth.js +2 -3
  350. package/dist/errors/LockedAuth.js.map +1 -1
  351. package/dist/errors/MissingCollectionLabel.d.ts +2 -3
  352. package/dist/errors/MissingCollectionLabel.d.ts.map +1 -1
  353. package/dist/errors/MissingCollectionLabel.js +2 -3
  354. package/dist/errors/MissingCollectionLabel.js.map +1 -1
  355. package/dist/errors/MissingEditorProp.d.ts +2 -3
  356. package/dist/errors/MissingEditorProp.d.ts.map +1 -1
  357. package/dist/errors/MissingEditorProp.js +2 -3
  358. package/dist/errors/MissingEditorProp.js.map +1 -1
  359. package/dist/errors/MissingFieldInputOptions.d.ts +2 -3
  360. package/dist/errors/MissingFieldInputOptions.d.ts.map +1 -1
  361. package/dist/errors/MissingFieldInputOptions.js +2 -3
  362. package/dist/errors/MissingFieldInputOptions.js.map +1 -1
  363. package/dist/errors/MissingFieldType.d.ts +2 -3
  364. package/dist/errors/MissingFieldType.d.ts.map +1 -1
  365. package/dist/errors/MissingFieldType.js +2 -3
  366. package/dist/errors/MissingFieldType.js.map +1 -1
  367. package/dist/errors/MissingFile.d.ts +2 -3
  368. package/dist/errors/MissingFile.d.ts.map +1 -1
  369. package/dist/errors/MissingFile.js +2 -3
  370. package/dist/errors/MissingFile.js.map +1 -1
  371. package/dist/errors/NotFound.d.ts +2 -3
  372. package/dist/errors/NotFound.d.ts.map +1 -1
  373. package/dist/errors/NotFound.js +2 -3
  374. package/dist/errors/NotFound.js.map +1 -1
  375. package/dist/errors/QueryError.d.ts +2 -3
  376. package/dist/errors/QueryError.d.ts.map +1 -1
  377. package/dist/errors/QueryError.js +2 -3
  378. package/dist/errors/QueryError.js.map +1 -1
  379. package/dist/errors/TimestampsRequired.d.ts +2 -3
  380. package/dist/errors/TimestampsRequired.d.ts.map +1 -1
  381. package/dist/errors/TimestampsRequired.js +2 -3
  382. package/dist/errors/TimestampsRequired.js.map +1 -1
  383. package/dist/errors/UnathorizedError.d.ts +2 -3
  384. package/dist/errors/UnathorizedError.d.ts.map +1 -1
  385. package/dist/errors/UnathorizedError.js +2 -3
  386. package/dist/errors/UnathorizedError.js.map +1 -1
  387. package/dist/errors/ValidationError.d.ts +2 -3
  388. package/dist/errors/ValidationError.d.ts.map +1 -1
  389. package/dist/errors/ValidationError.js +2 -3
  390. package/dist/errors/ValidationError.js.map +1 -1
  391. package/dist/errors/index.d.ts +20 -19
  392. package/dist/errors/index.d.ts.map +1 -1
  393. package/dist/errors/index.js +20 -19
  394. package/dist/errors/index.js.map +1 -1
  395. package/dist/exports/auth.d.ts +1 -0
  396. package/dist/exports/auth.d.ts.map +1 -1
  397. package/dist/exports/auth.js +1 -0
  398. package/dist/exports/auth.js.map +1 -1
  399. package/dist/exports/database.d.ts +1 -1
  400. package/dist/exports/database.d.ts.map +1 -1
  401. package/dist/exports/database.js.map +1 -1
  402. package/dist/exports/i18n.d.ts +2 -0
  403. package/dist/exports/i18n.d.ts.map +1 -0
  404. package/dist/exports/i18n.js +3 -0
  405. package/dist/exports/i18n.js.map +1 -0
  406. package/dist/exports/node.d.ts +3 -0
  407. package/dist/exports/node.d.ts.map +1 -1
  408. package/dist/exports/node.js +3 -1
  409. package/dist/exports/node.js.map +1 -1
  410. package/dist/exports/operations.d.ts +1 -0
  411. package/dist/exports/operations.d.ts.map +1 -1
  412. package/dist/exports/operations.js +1 -0
  413. package/dist/exports/operations.js.map +1 -1
  414. package/dist/exports/types.d.ts +1 -0
  415. package/dist/exports/types.d.ts.map +1 -1
  416. package/dist/exports/types.js.map +1 -1
  417. package/dist/exports/utilities.d.ts +7 -2
  418. package/dist/exports/utilities.d.ts.map +1 -1
  419. package/dist/exports/utilities.js +7 -3
  420. package/dist/exports/utilities.js.map +1 -1
  421. package/dist/fields/config/client.d.ts +129 -104
  422. package/dist/fields/config/client.d.ts.map +1 -1
  423. package/dist/fields/config/client.js +2 -1
  424. package/dist/fields/config/client.js.map +1 -1
  425. package/dist/fields/config/sanitize.d.ts +7 -2
  426. package/dist/fields/config/sanitize.d.ts.map +1 -1
  427. package/dist/fields/config/sanitize.js +61 -33
  428. package/dist/fields/config/sanitize.js.map +1 -1
  429. package/dist/fields/config/sanitize.spec.js +76 -82
  430. package/dist/fields/config/sanitize.spec.js.map +1 -1
  431. package/dist/fields/config/schema.d.ts.map +1 -1
  432. package/dist/fields/config/schema.js +7 -1
  433. package/dist/fields/config/schema.js.map +1 -1
  434. package/dist/fields/config/types.d.ts +69 -57
  435. package/dist/fields/config/types.d.ts.map +1 -1
  436. package/dist/fields/config/types.js.map +1 -1
  437. package/dist/fields/getDefaultValue.d.ts +2 -2
  438. package/dist/fields/getDefaultValue.d.ts.map +1 -1
  439. package/dist/fields/getDefaultValue.js.map +1 -1
  440. package/dist/fields/hooks/afterChange/index.d.ts +2 -2
  441. package/dist/fields/hooks/afterChange/index.d.ts.map +1 -1
  442. package/dist/fields/hooks/afterChange/index.js.map +1 -1
  443. package/dist/fields/hooks/afterChange/promise.d.ts +2 -2
  444. package/dist/fields/hooks/afterChange/promise.d.ts.map +1 -1
  445. package/dist/fields/hooks/afterChange/promise.js.map +1 -1
  446. package/dist/fields/hooks/afterChange/traverseFields.d.ts +2 -2
  447. package/dist/fields/hooks/afterChange/traverseFields.d.ts.map +1 -1
  448. package/dist/fields/hooks/afterChange/traverseFields.js.map +1 -1
  449. package/dist/fields/hooks/afterRead/index.d.ts +2 -2
  450. package/dist/fields/hooks/afterRead/index.d.ts.map +1 -1
  451. package/dist/fields/hooks/afterRead/index.js.map +1 -1
  452. package/dist/fields/hooks/afterRead/promise.d.ts +5 -2
  453. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
  454. package/dist/fields/hooks/afterRead/promise.js +7 -16
  455. package/dist/fields/hooks/afterRead/promise.js.map +1 -1
  456. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts +2 -2
  457. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
  458. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js.map +1 -1
  459. package/dist/fields/hooks/afterRead/traverseFields.d.ts +5 -2
  460. package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
  461. package/dist/fields/hooks/afterRead/traverseFields.js.map +1 -1
  462. package/dist/fields/hooks/beforeChange/index.d.ts +2 -2
  463. package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
  464. package/dist/fields/hooks/beforeChange/index.js.map +1 -1
  465. package/dist/fields/hooks/beforeChange/promise.d.ts +2 -2
  466. package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
  467. package/dist/fields/hooks/beforeChange/promise.js +3 -1
  468. package/dist/fields/hooks/beforeChange/promise.js.map +1 -1
  469. package/dist/fields/hooks/beforeChange/traverseFields.d.ts +14 -2
  470. package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
  471. package/dist/fields/hooks/beforeChange/traverseFields.js.map +1 -1
  472. package/dist/fields/hooks/beforeValidate/index.d.ts +2 -2
  473. package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
  474. package/dist/fields/hooks/beforeValidate/index.js.map +1 -1
  475. package/dist/fields/hooks/beforeValidate/promise.d.ts +8 -2
  476. package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
  477. package/dist/fields/hooks/beforeValidate/promise.js +2 -0
  478. package/dist/fields/hooks/beforeValidate/promise.js.map +1 -1
  479. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts +8 -2
  480. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
  481. package/dist/fields/hooks/beforeValidate/traverseFields.js.map +1 -1
  482. package/dist/fields/validations.d.ts +6 -4
  483. package/dist/fields/validations.d.ts.map +1 -1
  484. package/dist/fields/validations.js +52 -10
  485. package/dist/fields/validations.js.map +1 -1
  486. package/dist/fields/validations.spec.js +6 -1
  487. package/dist/fields/validations.spec.js.map +1 -1
  488. package/dist/globals/config/client.d.ts +1 -1
  489. package/dist/globals/config/client.d.ts.map +1 -1
  490. package/dist/globals/config/client.js +2 -1
  491. package/dist/globals/config/client.js.map +1 -1
  492. package/dist/globals/config/sanitize.d.ts +2 -3
  493. package/dist/globals/config/sanitize.d.ts.map +1 -1
  494. package/dist/globals/config/sanitize.js +36 -35
  495. package/dist/globals/config/sanitize.js.map +1 -1
  496. package/dist/globals/config/schema.d.ts.map +1 -1
  497. package/dist/globals/config/schema.js +1 -0
  498. package/dist/globals/config/schema.js.map +1 -1
  499. package/dist/globals/config/types.d.ts +10 -9
  500. package/dist/globals/config/types.d.ts.map +1 -1
  501. package/dist/globals/config/types.js.map +1 -1
  502. package/dist/globals/operations/docAccess.d.ts +2 -2
  503. package/dist/globals/operations/docAccess.d.ts.map +1 -1
  504. package/dist/globals/operations/docAccess.js.map +1 -1
  505. package/dist/globals/operations/findOne.d.ts +2 -3
  506. package/dist/globals/operations/findOne.d.ts.map +1 -1
  507. package/dist/globals/operations/findOne.js.map +1 -1
  508. package/dist/globals/operations/findVersionByID.d.ts +2 -2
  509. package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
  510. package/dist/globals/operations/findVersionByID.js.map +1 -1
  511. package/dist/globals/operations/findVersions.d.ts +2 -2
  512. package/dist/globals/operations/findVersions.d.ts.map +1 -1
  513. package/dist/globals/operations/findVersions.js.map +1 -1
  514. package/dist/globals/operations/local/findOne.d.ts +4 -4
  515. package/dist/globals/operations/local/findOne.d.ts.map +1 -1
  516. package/dist/globals/operations/local/findOne.js.map +1 -1
  517. package/dist/globals/operations/local/findVersionByID.d.ts +4 -4
  518. package/dist/globals/operations/local/findVersionByID.d.ts.map +1 -1
  519. package/dist/globals/operations/local/findVersionByID.js.map +1 -1
  520. package/dist/globals/operations/local/findVersions.d.ts +4 -4
  521. package/dist/globals/operations/local/findVersions.d.ts.map +1 -1
  522. package/dist/globals/operations/local/findVersions.js.map +1 -1
  523. package/dist/globals/operations/local/restoreVersion.d.ts +4 -4
  524. package/dist/globals/operations/local/restoreVersion.d.ts.map +1 -1
  525. package/dist/globals/operations/local/restoreVersion.js.map +1 -1
  526. package/dist/globals/operations/local/update.d.ts +4 -4
  527. package/dist/globals/operations/local/update.d.ts.map +1 -1
  528. package/dist/globals/operations/local/update.js.map +1 -1
  529. package/dist/globals/operations/restoreVersion.d.ts +2 -2
  530. package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
  531. package/dist/globals/operations/restoreVersion.js.map +1 -1
  532. package/dist/globals/operations/update.d.ts +2 -2
  533. package/dist/globals/operations/update.d.ts.map +1 -1
  534. package/dist/globals/operations/update.js.map +1 -1
  535. package/dist/index.d.ts +17 -6
  536. package/dist/index.d.ts.map +1 -1
  537. package/dist/index.js +32 -14
  538. package/dist/index.js.map +1 -1
  539. package/dist/preferences/deleteUserPreferences.d.ts +2 -2
  540. package/dist/preferences/deleteUserPreferences.d.ts.map +1 -1
  541. package/dist/preferences/deleteUserPreferences.js.map +1 -1
  542. package/dist/preferences/operations/delete.js +2 -2
  543. package/dist/preferences/operations/delete.js.map +1 -1
  544. package/dist/preferences/operations/update.d.ts +1 -1
  545. package/dist/preferences/operations/update.js +1 -1
  546. package/dist/preferences/operations/update.js.map +1 -1
  547. package/dist/preferences/requestHandlers/delete.d.ts.map +1 -1
  548. package/dist/preferences/requestHandlers/delete.js +18 -5
  549. package/dist/preferences/requestHandlers/delete.js.map +1 -1
  550. package/dist/preferences/requestHandlers/findOne.d.ts.map +1 -1
  551. package/dist/preferences/requestHandlers/findOne.js +18 -5
  552. package/dist/preferences/requestHandlers/findOne.js.map +1 -1
  553. package/dist/preferences/requestHandlers/update.d.ts.map +1 -1
  554. package/dist/preferences/requestHandlers/update.js +19 -7
  555. package/dist/preferences/requestHandlers/update.js.map +1 -1
  556. package/dist/preferences/types.d.ts +3 -4
  557. package/dist/preferences/types.d.ts.map +1 -1
  558. package/dist/preferences/types.js.map +1 -1
  559. package/dist/types/index.d.ts +21 -17
  560. package/dist/types/index.d.ts.map +1 -1
  561. package/dist/types/index.js.map +1 -1
  562. package/dist/uploads/deleteAssociatedFiles.d.ts +2 -2
  563. package/dist/uploads/deleteAssociatedFiles.d.ts.map +1 -1
  564. package/dist/uploads/deleteAssociatedFiles.js.map +1 -1
  565. package/dist/uploads/docWithFilenameExists.d.ts +2 -2
  566. package/dist/uploads/docWithFilenameExists.d.ts.map +1 -1
  567. package/dist/uploads/docWithFilenameExists.js.map +1 -1
  568. package/dist/uploads/generateFileData.d.ts +2 -2
  569. package/dist/uploads/generateFileData.d.ts.map +1 -1
  570. package/dist/uploads/generateFileData.js +5 -4
  571. package/dist/uploads/generateFileData.js.map +1 -1
  572. package/dist/uploads/getExternalFile.d.ts +5 -4
  573. package/dist/uploads/getExternalFile.d.ts.map +1 -1
  574. package/dist/uploads/getExternalFile.js +10 -6
  575. package/dist/uploads/getExternalFile.js.map +1 -1
  576. package/dist/uploads/getFileByPath.d.ts +2 -2
  577. package/dist/uploads/getFileByPath.d.ts.map +1 -1
  578. package/dist/uploads/getFileByPath.js.map +1 -1
  579. package/dist/uploads/getImageSize.d.ts +2 -2
  580. package/dist/uploads/getImageSize.d.ts.map +1 -1
  581. package/dist/uploads/getImageSize.js +19 -5
  582. package/dist/uploads/getImageSize.js.map +1 -1
  583. package/dist/uploads/getSafeFilename.d.ts +2 -2
  584. package/dist/uploads/getSafeFilename.d.ts.map +1 -1
  585. package/dist/uploads/getSafeFilename.js.map +1 -1
  586. package/dist/uploads/imageResizer.d.ts +3 -3
  587. package/dist/uploads/imageResizer.d.ts.map +1 -1
  588. package/dist/uploads/imageResizer.js.map +1 -1
  589. package/dist/uploads/tempFile.d.ts +7 -0
  590. package/dist/uploads/tempFile.d.ts.map +1 -0
  591. package/dist/uploads/tempFile.js +39 -0
  592. package/dist/uploads/tempFile.js.map +1 -0
  593. package/dist/uploads/types.d.ts +12 -2
  594. package/dist/uploads/types.d.ts.map +1 -1
  595. package/dist/uploads/types.js.map +1 -1
  596. package/dist/uploads/unlinkTempFiles.d.ts +2 -2
  597. package/dist/uploads/unlinkTempFiles.d.ts.map +1 -1
  598. package/dist/uploads/unlinkTempFiles.js.map +1 -1
  599. package/dist/uploads/uploadFiles.d.ts +2 -2
  600. package/dist/uploads/uploadFiles.d.ts.map +1 -1
  601. package/dist/uploads/uploadFiles.js.map +1 -1
  602. package/dist/utilities/checkDuplicateCollections.js +1 -1
  603. package/dist/utilities/checkDuplicateCollections.js.map +1 -1
  604. package/dist/utilities/commitTransaction.d.ts +2 -2
  605. package/dist/utilities/commitTransaction.d.ts.map +1 -1
  606. package/dist/utilities/commitTransaction.js.map +1 -1
  607. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  608. package/dist/utilities/configToJSONSchema.js +56 -1
  609. package/dist/utilities/configToJSONSchema.js.map +1 -1
  610. package/dist/utilities/configToJSONSchema.spec.js +2 -2
  611. package/dist/utilities/configToJSONSchema.spec.js.map +1 -1
  612. package/dist/utilities/createLocalReq.d.ts +3 -3
  613. package/dist/utilities/createLocalReq.d.ts.map +1 -1
  614. package/dist/utilities/createLocalReq.js +4 -2
  615. package/dist/utilities/createLocalReq.js.map +1 -1
  616. package/dist/utilities/getEntityPolicies.d.ts +2 -2
  617. package/dist/utilities/getEntityPolicies.d.ts.map +1 -1
  618. package/dist/utilities/getEntityPolicies.js.map +1 -1
  619. package/dist/utilities/importWithoutClientFiles.d.ts.map +1 -1
  620. package/dist/utilities/importWithoutClientFiles.js +7 -4
  621. package/dist/utilities/importWithoutClientFiles.js.map +1 -1
  622. package/dist/utilities/initTransaction.d.ts +2 -2
  623. package/dist/utilities/initTransaction.d.ts.map +1 -1
  624. package/dist/utilities/initTransaction.js.map +1 -1
  625. package/dist/utilities/isEntityHidden.d.ts +2 -2
  626. package/dist/utilities/isEntityHidden.d.ts.map +1 -1
  627. package/dist/utilities/isEntityHidden.js.map +1 -1
  628. package/dist/utilities/isReactComponent.d.ts +2 -0
  629. package/dist/utilities/isReactComponent.d.ts.map +1 -1
  630. package/dist/utilities/isReactComponent.js +8 -2
  631. package/dist/utilities/isReactComponent.js.map +1 -1
  632. package/dist/utilities/killTransaction.d.ts +2 -2
  633. package/dist/utilities/killTransaction.d.ts.map +1 -1
  634. package/dist/utilities/killTransaction.js.map +1 -1
  635. package/dist/utilities/parseCookies.js +1 -1
  636. package/dist/utilities/parseCookies.js.map +1 -1
  637. package/dist/utilities/telemetry/events/adminInit.d.ts +2 -2
  638. package/dist/utilities/telemetry/events/adminInit.d.ts.map +1 -1
  639. package/dist/utilities/telemetry/events/adminInit.js.map +1 -1
  640. package/dist/utilities/telemetry/index.d.ts +9 -0
  641. package/dist/utilities/telemetry/index.d.ts.map +1 -1
  642. package/dist/utilities/telemetry/index.js +62 -14
  643. package/dist/utilities/telemetry/index.js.map +1 -1
  644. package/dist/versions/deleteCollectionVersions.d.ts +2 -2
  645. package/dist/versions/deleteCollectionVersions.d.ts.map +1 -1
  646. package/dist/versions/deleteCollectionVersions.js.map +1 -1
  647. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts +2 -2
  648. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
  649. package/dist/versions/drafts/replaceWithDraftIfAvailable.js.map +1 -1
  650. package/dist/versions/enforceMaxVersions.d.ts +2 -2
  651. package/dist/versions/enforceMaxVersions.d.ts.map +1 -1
  652. package/dist/versions/enforceMaxVersions.js.map +1 -1
  653. package/dist/versions/getLatestCollectionVersion.d.ts +2 -2
  654. package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
  655. package/dist/versions/getLatestCollectionVersion.js.map +1 -1
  656. package/dist/versions/getLatestGlobalVersion.d.ts +2 -2
  657. package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
  658. package/dist/versions/getLatestGlobalVersion.js.map +1 -1
  659. package/dist/versions/saveVersion.d.ts +2 -2
  660. package/dist/versions/saveVersion.d.ts.map +1 -1
  661. package/dist/versions/saveVersion.js +1 -1
  662. package/dist/versions/saveVersion.js.map +1 -1
  663. package/package.json +71 -65
  664. package/auth.d.ts +0 -6
  665. package/auth.js +0 -6
  666. package/config.d.ts +0 -14
  667. package/config.js +0 -14
  668. package/database.d.ts +0 -23
  669. package/database.js +0 -22
  670. package/dist/email/build.d.ts +0 -5
  671. package/dist/email/build.d.ts.map +0 -1
  672. package/dist/email/build.js +0 -63
  673. package/dist/email/build.js.map +0 -1
  674. package/dist/email/mockHandler.d.ts +0 -5
  675. package/dist/email/mockHandler.d.ts.map +0 -1
  676. package/dist/email/mockHandler.js +0 -24
  677. package/dist/email/mockHandler.js.map +0 -1
  678. package/dist/utilities/getIDType.d.ts +0 -4
  679. package/dist/utilities/getIDType.d.ts.map +0 -1
  680. package/dist/utilities/getIDType.js +0 -8
  681. package/dist/utilities/getIDType.js.map +0 -1
  682. package/errors.d.ts +0 -2
  683. package/errors.js +0 -3
  684. package/node.d.ts +0 -3
  685. package/node.js +0 -4
  686. package/operations.d.ts +0 -30
  687. package/operations.js +0 -31
  688. package/src/index.ts +0 -486
  689. package/types.d.ts +0 -17
  690. package/types.js +0 -5
  691. package/uploads.d.ts +0 -2
  692. package/uploads.js +0 -3
  693. package/utilities.d.ts +0 -32
  694. package/utilities.js +0 -33
  695. package/versions.d.ts +0 -9
  696. package/versions.js +0 -9
@@ -17,7 +17,8 @@ export const createClientConfig = async ({ config, t })=>{
17
17
  'typescript',
18
18
  'cors',
19
19
  'csrf',
20
- 'email'
20
+ 'email',
21
+ 'custom'
21
22
  ];
22
23
  serverOnlyConfigProperties.forEach((key)=>{
23
24
  if (key in clientConfig) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/config/client.ts"],"sourcesContent":["import type { TFunction } from '@payloadcms/translations'\n\nimport type { ClientCollectionConfig } from '../collections/config/client.js'\nimport type { SanitizedCollectionConfig } from '../collections/config/types.js'\nimport type { ClientGlobalConfig } from '../globals/config/client.js'\nimport type { SanitizedGlobalConfig } from '../globals/config/types.js'\nimport type {\n LivePreviewConfig,\n SanitizedConfig,\n ServerOnlyLivePreviewProperties,\n} from './types.js'\n\nimport { createClientCollectionConfigs } from '../collections/config/client.js'\nimport { createClientGlobalConfigs } from '../globals/config/client.js'\n\nexport type ServerOnlyRootProperties = keyof Pick<\n SanitizedConfig,\n | 'bin'\n | 'cors'\n | 'csrf'\n | 'db'\n | 'editor'\n | 'email'\n | 'endpoints'\n | 'hooks'\n | 'onInit'\n | 'plugins'\n | 'secret'\n | 'sharp'\n | 'typescript'\n>\n\nexport type ServerOnlyRootAdminProperties = keyof Pick<SanitizedConfig['admin'], 'components'>\n\nexport type ClientConfig = Omit<\n SanitizedConfig,\n 'admin' | 'collections' | 'globals' | ServerOnlyRootProperties\n> & {\n admin: Omit<SanitizedConfig['admin'], ServerOnlyRootAdminProperties & 'livePreview'> & {\n livePreview?: Omit<LivePreviewConfig, ServerOnlyLivePreviewProperties>\n }\n collections: ClientCollectionConfig[]\n globals: ClientGlobalConfig[]\n}\n\nexport const createClientConfig = async ({\n config,\n t,\n}: {\n config: SanitizedConfig\n t: TFunction\n}): Promise<ClientConfig> => {\n const clientConfig: ClientConfig = { ...config }\n\n const serverOnlyConfigProperties: Partial<ServerOnlyRootProperties>[] = [\n 'endpoints',\n 'db',\n 'editor',\n 'plugins',\n 'sharp',\n 'onInit',\n 'secret',\n 'hooks',\n 'bin',\n 'typescript',\n 'cors',\n 'csrf',\n 'email',\n // `admin`, `onInit`, `localization`, `collections`, and `globals` are all handled separately\n ]\n\n serverOnlyConfigProperties.forEach((key) => {\n if (key in clientConfig) {\n delete clientConfig[key]\n }\n })\n\n if ('localization' in clientConfig && clientConfig.localization) {\n clientConfig.localization = { ...clientConfig.localization }\n\n clientConfig.localization.locales.forEach((locale) => {\n delete locale.toString\n })\n }\n\n if ('admin' in clientConfig) {\n clientConfig.admin = { ...clientConfig.admin }\n\n const serverOnlyAdminProperties: Partial<ServerOnlyRootAdminProperties>[] = ['components']\n\n serverOnlyAdminProperties.forEach((key) => {\n if (key in clientConfig.admin) {\n delete clientConfig.admin[key]\n }\n })\n\n if ('livePreview' in clientConfig.admin) {\n clientConfig.admin.livePreview = { ...clientConfig.admin.livePreview }\n delete clientConfig.admin.livePreview.url\n }\n }\n\n clientConfig.collections = createClientCollectionConfigs({\n collections: clientConfig.collections as SanitizedCollectionConfig[],\n t,\n })\n\n clientConfig.globals = createClientGlobalConfigs({\n globals: clientConfig.globals as SanitizedGlobalConfig[],\n t,\n })\n\n return clientConfig\n}\n"],"names":["createClientCollectionConfigs","createClientGlobalConfigs","createClientConfig","config","t","clientConfig","serverOnlyConfigProperties","forEach","key","localization","locales","locale","toString","admin","serverOnlyAdminProperties","livePreview","url","collections","globals"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAYA,SAASA,6BAA6B,QAAQ,kCAAiC;AAC/E,SAASC,yBAAyB,QAAQ,8BAA6B;AAgCvE,OAAO,MAAMC,qBAAqB,OAAO,EACvCC,MAAM,EACNC,CAAC,EAIF;IACC,MAAMC,eAA6B;QAAE,GAAGF,MAAM;IAAC;IAE/C,MAAMG,6BAAkE;QACtE;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KAED;IAEDA,2BAA2BC,OAAO,CAAC,CAACC;QAClC,IAAIA,OAAOH,cAAc;YACvB,OAAOA,YAAY,CAACG,IAAI;QAC1B;IACF;IAEA,IAAI,kBAAkBH,gBAAgBA,aAAaI,YAAY,EAAE;QAC/DJ,aAAaI,YAAY,GAAG;YAAE,GAAGJ,aAAaI,YAAY;QAAC;QAE3DJ,aAAaI,YAAY,CAACC,OAAO,CAACH,OAAO,CAAC,CAACI;YACzC,OAAOA,OAAOC,QAAQ;QACxB;IACF;IAEA,IAAI,WAAWP,cAAc;QAC3BA,aAAaQ,KAAK,GAAG;YAAE,GAAGR,aAAaQ,KAAK;QAAC;QAE7C,MAAMC,4BAAsE;YAAC;SAAa;QAE1FA,0BAA0BP,OAAO,CAAC,CAACC;YACjC,IAAIA,OAAOH,aAAaQ,KAAK,EAAE;gBAC7B,OAAOR,aAAaQ,KAAK,CAACL,IAAI;YAChC;QACF;QAEA,IAAI,iBAAiBH,aAAaQ,KAAK,EAAE;YACvCR,aAAaQ,KAAK,CAACE,WAAW,GAAG;gBAAE,GAAGV,aAAaQ,KAAK,CAACE,WAAW;YAAC;YACrE,OAAOV,aAAaQ,KAAK,CAACE,WAAW,CAACC,GAAG;QAC3C;IACF;IAEAX,aAAaY,WAAW,GAAGjB,8BAA8B;QACvDiB,aAAaZ,aAAaY,WAAW;QACrCb;IACF;IAEAC,aAAaa,OAAO,GAAGjB,0BAA0B;QAC/CiB,SAASb,aAAaa,OAAO;QAC7Bd;IACF;IAEA,OAAOC;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/config/client.ts"],"sourcesContent":["import type { TFunction } from '@payloadcms/translations'\n\nimport type { ClientCollectionConfig } from '../collections/config/client.js'\nimport type { SanitizedCollectionConfig } from '../collections/config/types.js'\nimport type { ClientGlobalConfig } from '../globals/config/client.js'\nimport type { SanitizedGlobalConfig } from '../globals/config/types.js'\nimport type {\n LivePreviewConfig,\n SanitizedConfig,\n ServerOnlyLivePreviewProperties,\n} from './types.js'\n\nimport { createClientCollectionConfigs } from '../collections/config/client.js'\nimport { createClientGlobalConfigs } from '../globals/config/client.js'\n\nexport type ServerOnlyRootProperties = keyof Pick<\n SanitizedConfig,\n | 'bin'\n | 'cors'\n | 'csrf'\n | 'custom'\n | 'db'\n | 'editor'\n | 'email'\n | 'endpoints'\n | 'hooks'\n | 'onInit'\n | 'plugins'\n | 'secret'\n | 'sharp'\n | 'typescript'\n>\n\nexport type ServerOnlyRootAdminProperties = keyof Pick<SanitizedConfig['admin'], 'components'>\n\nexport type ClientConfig = Omit<\n SanitizedConfig,\n 'admin' | 'collections' | 'globals' | ServerOnlyRootProperties\n> & {\n admin: Omit<SanitizedConfig['admin'], ServerOnlyRootAdminProperties & 'livePreview'> & {\n livePreview?: Omit<LivePreviewConfig, ServerOnlyLivePreviewProperties>\n }\n collections: ClientCollectionConfig[]\n custom?: Record<string, any>\n globals: ClientGlobalConfig[]\n}\n\nexport const createClientConfig = async ({\n config,\n t,\n}: {\n config: SanitizedConfig\n t: TFunction\n // eslint-disable-next-line @typescript-eslint/require-await\n}): Promise<ClientConfig> => {\n const clientConfig: ClientConfig = { ...config }\n\n const serverOnlyConfigProperties: Partial<ServerOnlyRootProperties>[] = [\n 'endpoints',\n 'db',\n 'editor',\n 'plugins',\n 'sharp',\n 'onInit',\n 'secret',\n 'hooks',\n 'bin',\n 'typescript',\n 'cors',\n 'csrf',\n 'email',\n 'custom',\n // `admin`, `onInit`, `localization`, `collections`, and `globals` are all handled separately\n ]\n\n serverOnlyConfigProperties.forEach((key) => {\n if (key in clientConfig) {\n delete clientConfig[key]\n }\n })\n\n if ('localization' in clientConfig && clientConfig.localization) {\n clientConfig.localization = { ...clientConfig.localization }\n\n clientConfig.localization.locales.forEach((locale) => {\n delete locale.toString\n })\n }\n\n if ('admin' in clientConfig) {\n clientConfig.admin = { ...clientConfig.admin }\n\n const serverOnlyAdminProperties: Partial<ServerOnlyRootAdminProperties>[] = ['components']\n\n serverOnlyAdminProperties.forEach((key) => {\n if (key in clientConfig.admin) {\n delete clientConfig.admin[key]\n }\n })\n\n if ('livePreview' in clientConfig.admin) {\n clientConfig.admin.livePreview = { ...clientConfig.admin.livePreview }\n delete clientConfig.admin.livePreview.url\n }\n }\n\n clientConfig.collections = createClientCollectionConfigs({\n collections: clientConfig.collections as SanitizedCollectionConfig[],\n t,\n })\n\n clientConfig.globals = createClientGlobalConfigs({\n globals: clientConfig.globals as SanitizedGlobalConfig[],\n t,\n })\n\n return clientConfig\n}\n"],"names":["createClientCollectionConfigs","createClientGlobalConfigs","createClientConfig","config","t","clientConfig","serverOnlyConfigProperties","forEach","key","localization","locales","locale","toString","admin","serverOnlyAdminProperties","livePreview","url","collections","globals"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAYA,SAASA,6BAA6B,QAAQ,kCAAiC;AAC/E,SAASC,yBAAyB,QAAQ,8BAA6B;AAkCvE,OAAO,MAAMC,qBAAqB,OAAO,EACvCC,MAAM,EACNC,CAAC,EAKF;IACC,MAAMC,eAA6B;QAAE,GAAGF,MAAM;IAAC;IAE/C,MAAMG,6BAAkE;QACtE;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KAED;IAEDA,2BAA2BC,OAAO,CAAC,CAACC;QAClC,IAAIA,OAAOH,cAAc;YACvB,OAAOA,YAAY,CAACG,IAAI;QAC1B;IACF;IAEA,IAAI,kBAAkBH,gBAAgBA,aAAaI,YAAY,EAAE;QAC/DJ,aAAaI,YAAY,GAAG;YAAE,GAAGJ,aAAaI,YAAY;QAAC;QAE3DJ,aAAaI,YAAY,CAACC,OAAO,CAACH,OAAO,CAAC,CAACI;YACzC,OAAOA,OAAOC,QAAQ;QACxB;IACF;IAEA,IAAI,WAAWP,cAAc;QAC3BA,aAAaQ,KAAK,GAAG;YAAE,GAAGR,aAAaQ,KAAK;QAAC;QAE7C,MAAMC,4BAAsE;YAAC;SAAa;QAE1FA,0BAA0BP,OAAO,CAAC,CAACC;YACjC,IAAIA,OAAOH,aAAaQ,KAAK,EAAE;gBAC7B,OAAOR,aAAaQ,KAAK,CAACL,IAAI;YAChC;QACF;QAEA,IAAI,iBAAiBH,aAAaQ,KAAK,EAAE;YACvCR,aAAaQ,KAAK,CAACE,WAAW,GAAG;gBAAE,GAAGV,aAAaQ,KAAK,CAACE,WAAW;YAAC;YACrE,OAAOV,aAAaQ,KAAK,CAACE,WAAW,CAACC,GAAG;QAC3C;IACF;IAEAX,aAAaY,WAAW,GAAGjB,8BAA8B;QACvDiB,aAAaZ,aAAaY,WAAW;QACrCb;IACF;IAEAC,aAAaa,OAAO,GAAGjB,0BAA0B;QAC/CiB,SAASb,aAAaa,OAAO;QAC7Bd;IACF;IAEA,OAAOC;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExC,eAAO,MAAM,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,QAAQ,GAAG,QAAQ,CAyC7D,CAAA"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExC,eAAO,MAAM,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,QAAQ,GAAG,QAAQ,CA0C7D,CAAA"}
@@ -2,6 +2,7 @@ export const defaults = {
2
2
  admin: {
3
3
  avatar: 'default',
4
4
  components: {},
5
+ custom: {},
5
6
  dateFormat: 'MMMM do yyyy, h:mm a',
6
7
  disable: false,
7
8
  inactivityRoute: '/logout-inactivity',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/config/defaults.ts"],"sourcesContent":["import type { Config } from './types.js'\n\nexport const defaults: Omit<Config, 'db' | 'editor' | 'secret'> = {\n admin: {\n avatar: 'default',\n components: {},\n dateFormat: 'MMMM do yyyy, h:mm a',\n disable: false,\n inactivityRoute: '/logout-inactivity',\n logoutRoute: '/logout',\n meta: {\n titleSuffix: '- Payload',\n },\n },\n bin: [],\n collections: [],\n cookiePrefix: 'payload',\n cors: [],\n csrf: [],\n custom: {},\n defaultDepth: 2,\n defaultMaxTextLength: 40000,\n endpoints: [],\n globals: [],\n graphQL: {\n disablePlaygroundInProduction: true,\n maxComplexity: 1000,\n },\n hooks: {},\n localization: false,\n maxDepth: 10,\n routes: {\n admin: '/admin',\n api: '/api',\n graphQL: '/graphql',\n graphQLPlayground: '/graphql-playground',\n },\n serverURL: '',\n telemetry: true,\n typescript: {\n outputFile: `${typeof process?.cwd === 'function' ? process.cwd() : ''}/payload-types.ts`,\n },\n upload: {},\n}\n"],"names":["defaults","admin","avatar","components","dateFormat","disable","inactivityRoute","logoutRoute","meta","titleSuffix","bin","collections","cookiePrefix","cors","csrf","custom","defaultDepth","defaultMaxTextLength","endpoints","globals","graphQL","disablePlaygroundInProduction","maxComplexity","hooks","localization","maxDepth","routes","api","graphQLPlayground","serverURL","telemetry","typescript","outputFile","process","cwd","upload"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAO,MAAMA,WAAqD;IAChEC,OAAO;QACLC,QAAQ;QACRC,YAAY,CAAC;QACbC,YAAY;QACZC,SAAS;QACTC,iBAAiB;QACjBC,aAAa;QACbC,MAAM;YACJC,aAAa;QACf;IACF;IACAC,KAAK,EAAE;IACPC,aAAa,EAAE;IACfC,cAAc;IACdC,MAAM,EAAE;IACRC,MAAM,EAAE;IACRC,QAAQ,CAAC;IACTC,cAAc;IACdC,sBAAsB;IACtBC,WAAW,EAAE;IACbC,SAAS,EAAE;IACXC,SAAS;QACPC,+BAA+B;QAC/BC,eAAe;IACjB;IACAC,OAAO,CAAC;IACRC,cAAc;IACdC,UAAU;IACVC,QAAQ;QACNzB,OAAO;QACP0B,KAAK;QACLP,SAAS;QACTQ,mBAAmB;IACrB;IACAC,WAAW;IACXC,WAAW;IACXC,YAAY;QACVC,YAAY,CAAC,EAAE,OAAOC,SAASC,QAAQ,aAAaD,QAAQC,GAAG,KAAK,GAAG,iBAAiB,CAAC;IAC3F;IACAC,QAAQ,CAAC;AACX,EAAC"}
1
+ {"version":3,"sources":["../../src/config/defaults.ts"],"sourcesContent":["import type { Config } from './types.js'\n\nexport const defaults: Omit<Config, 'db' | 'editor' | 'secret'> = {\n admin: {\n avatar: 'default',\n components: {},\n custom: {},\n dateFormat: 'MMMM do yyyy, h:mm a',\n disable: false,\n inactivityRoute: '/logout-inactivity',\n logoutRoute: '/logout',\n meta: {\n titleSuffix: '- Payload',\n },\n },\n bin: [],\n collections: [],\n cookiePrefix: 'payload',\n cors: [],\n csrf: [],\n custom: {},\n defaultDepth: 2,\n defaultMaxTextLength: 40000,\n endpoints: [],\n globals: [],\n graphQL: {\n disablePlaygroundInProduction: true,\n maxComplexity: 1000,\n },\n hooks: {},\n localization: false,\n maxDepth: 10,\n routes: {\n admin: '/admin',\n api: '/api',\n graphQL: '/graphql',\n graphQLPlayground: '/graphql-playground',\n },\n serverURL: '',\n telemetry: true,\n typescript: {\n outputFile: `${typeof process?.cwd === 'function' ? process.cwd() : ''}/payload-types.ts`,\n },\n upload: {},\n}\n"],"names":["defaults","admin","avatar","components","custom","dateFormat","disable","inactivityRoute","logoutRoute","meta","titleSuffix","bin","collections","cookiePrefix","cors","csrf","defaultDepth","defaultMaxTextLength","endpoints","globals","graphQL","disablePlaygroundInProduction","maxComplexity","hooks","localization","maxDepth","routes","api","graphQLPlayground","serverURL","telemetry","typescript","outputFile","process","cwd","upload"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAO,MAAMA,WAAqD;IAChEC,OAAO;QACLC,QAAQ;QACRC,YAAY,CAAC;QACbC,QAAQ,CAAC;QACTC,YAAY;QACZC,SAAS;QACTC,iBAAiB;QACjBC,aAAa;QACbC,MAAM;YACJC,aAAa;QACf;IACF;IACAC,KAAK,EAAE;IACPC,aAAa,EAAE;IACfC,cAAc;IACdC,MAAM,EAAE;IACRC,MAAM,EAAE;IACRX,QAAQ,CAAC;IACTY,cAAc;IACdC,sBAAsB;IACtBC,WAAW,EAAE;IACbC,SAAS,EAAE;IACXC,SAAS;QACPC,+BAA+B;QAC/BC,eAAe;IACjB;IACAC,OAAO,CAAC;IACRC,cAAc;IACdC,UAAU;IACVC,QAAQ;QACNzB,OAAO;QACP0B,KAAK;QACLP,SAAS;QACTQ,mBAAmB;IACrB;IACAC,WAAW;IACXC,WAAW;IACXC,YAAY;QACVC,YAAY,CAAC,EAAE,OAAOC,SAASC,QAAQ,aAAaD,QAAQC,GAAG,KAAK,GAAG,iBAAiB,CAAC;IAC3F;IACAC,QAAQ,CAAC;AACX,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../src/config/find.ts"],"names":[],"mappings":"AAmCA;;;;GAIG;AACH,eAAO,MAAM,UAAU,QAAO,MA8D7B,CAAA"}
1
+ {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../src/config/find.ts"],"names":[],"mappings":"AAsDA;;;;GAIG;AACH,eAAO,MAAM,UAAU,QAAO,MAmE7B,CAAA"}
@@ -9,26 +9,32 @@ import path from 'path';
9
9
  const tsConfigPath = findUp.sync('tsconfig.json');
10
10
  if (!tsConfigPath) {
11
11
  return {
12
- outPath: process.cwd(),
13
- srcPath: process.cwd()
12
+ rootPath: process.cwd()
14
13
  };
15
14
  }
16
15
  try {
17
16
  // Read the file as a string and remove trailing commas
18
17
  const rawTsConfig = fs.readFileSync(tsConfigPath, 'utf-8').replace(/,\s*\]/g, ']').replace(/,\s*\}/g, '}');
19
18
  const tsConfig = JSON.parse(rawTsConfig);
20
- const srcPath = tsConfig.compilerOptions?.rootDir || process.cwd();
21
- const outPath = tsConfig.compilerOptions?.outDir || process.cwd();
19
+ const rootPath = process.cwd();
20
+ const srcPath = tsConfig.compilerOptions?.rootDir || path.resolve(process.cwd(), 'src');
21
+ const outPath = tsConfig.compilerOptions?.outDir || path.resolve(process.cwd(), 'dist');
22
+ const tsConfigDir = path.dirname(tsConfigPath);
23
+ let configPath = tsConfig.compilerOptions?.paths?.['@payload-config']?.[0];
24
+ if (configPath) {
25
+ configPath = path.resolve(tsConfigDir, configPath);
26
+ }
22
27
  return {
28
+ configPath,
23
29
  outPath,
30
+ rootPath,
24
31
  srcPath
25
32
  };
26
33
  } catch (error) {
27
34
  console.error(`Error parsing tsconfig.json: ${error}`) // Do not throw the error, as we can still continue with the other config path finding methods
28
35
  ;
29
36
  return {
30
- outPath: process.cwd(),
31
- srcPath: process.cwd()
37
+ rootPath: process.cwd()
32
38
  };
33
39
  }
34
40
  };
@@ -45,15 +51,20 @@ import path from 'path';
45
51
  }
46
52
  return path.resolve(process.cwd(), process.env.PAYLOAD_CONFIG_PATH);
47
53
  }
48
- const { outPath, srcPath } = getTSConfigPaths();
54
+ const { configPath, outPath, rootPath, srcPath } = getTSConfigPaths();
49
55
  const searchPaths = process.env.NODE_ENV === 'production' ? [
56
+ configPath,
50
57
  outPath,
51
- srcPath
58
+ srcPath,
59
+ rootPath
52
60
  ] : [
53
- srcPath
61
+ configPath,
62
+ srcPath,
63
+ rootPath
54
64
  ];
55
65
  // eslint-disable-next-line no-restricted-syntax
56
66
  for (const searchPath of searchPaths){
67
+ if (!searchPath) continue;
57
68
  const configPath = findUp.sync((dir)=>{
58
69
  const tsPath = path.join(dir, 'payload.config.ts');
59
70
  const hasTS = findUp.sync.exists(tsPath);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/config/find.ts"],"sourcesContent":["import findUp from 'find-up'\nimport fs from 'fs'\nimport path from 'path'\n\n/**\n * Returns the source and output paths from the nearest tsconfig.json file.\n * If no tsconfig.json file is found, returns the current working directory.\n * @returns An object containing the source and output paths.\n */\nconst getTSConfigPaths = (): { outPath: string; srcPath: string } => {\n const tsConfigPath = findUp.sync('tsconfig.json')\n\n if (!tsConfigPath) {\n return { outPath: process.cwd(), srcPath: process.cwd() }\n }\n\n try {\n // Read the file as a string and remove trailing commas\n const rawTsConfig = fs\n .readFileSync(tsConfigPath, 'utf-8')\n .replace(/,\\s*\\]/g, ']')\n .replace(/,\\s*\\}/g, '}')\n\n const tsConfig = JSON.parse(rawTsConfig)\n\n const srcPath = tsConfig.compilerOptions?.rootDir || process.cwd()\n const outPath = tsConfig.compilerOptions?.outDir || process.cwd()\n\n return { outPath, srcPath }\n } catch (error) {\n console.error(`Error parsing tsconfig.json: ${error}`) // Do not throw the error, as we can still continue with the other config path finding methods\n return { outPath: process.cwd(), srcPath: process.cwd() }\n }\n}\n\n/**\n * Searches for a Payload configuration file.\n * @returns The absolute path to the Payload configuration file.\n * @throws An error if no configuration file is found.\n */\nexport const findConfig = (): string => {\n // If the developer has specified a config path,\n // format it if relative and use it directly if absolute\n if (process.env.PAYLOAD_CONFIG_PATH) {\n if (path.isAbsolute(process.env.PAYLOAD_CONFIG_PATH)) {\n return process.env.PAYLOAD_CONFIG_PATH\n }\n\n return path.resolve(process.cwd(), process.env.PAYLOAD_CONFIG_PATH)\n }\n\n const { outPath, srcPath } = getTSConfigPaths()\n\n const searchPaths = process.env.NODE_ENV === 'production' ? [outPath, srcPath] : [srcPath]\n\n // eslint-disable-next-line no-restricted-syntax\n for (const searchPath of searchPaths) {\n const configPath = findUp.sync(\n (dir) => {\n const tsPath = path.join(dir, 'payload.config.ts')\n const hasTS = findUp.sync.exists(tsPath)\n\n if (hasTS) {\n return tsPath\n }\n\n const jsPath = path.join(dir, 'payload.config.js')\n const hasJS = findUp.sync.exists(jsPath)\n\n if (hasJS) {\n return jsPath\n }\n\n return undefined\n },\n { cwd: searchPath },\n )\n\n if (configPath) {\n return configPath\n }\n }\n\n // If no config file is found in the directories defined by tsconfig.json,\n // try searching in the 'src' and 'dist' directory as a last resort, as they are most commonly used\n if (process.env.NODE_ENV === 'production') {\n const distConfigPath = findUp.sync(['payload.config.js', 'payload.config.ts'], {\n cwd: path.resolve(process.cwd(), 'dist'),\n })\n\n if (distConfigPath) return distConfigPath\n } else {\n const srcConfigPath = findUp.sync(['payload.config.js', 'payload.config.ts'], {\n cwd: path.resolve(process.cwd(), 'src'),\n })\n\n if (srcConfigPath) return srcConfigPath\n }\n\n throw new Error(\n 'Error: cannot find Payload config. Please create a configuration file located at the root of your current working directory called \"payload.config.js\" or \"payload.config.ts\".',\n )\n}\n"],"names":["findUp","fs","path","getTSConfigPaths","tsConfigPath","sync","outPath","process","cwd","srcPath","rawTsConfig","readFileSync","replace","tsConfig","JSON","parse","compilerOptions","rootDir","outDir","error","console","findConfig","env","PAYLOAD_CONFIG_PATH","isAbsolute","resolve","searchPaths","NODE_ENV","searchPath","configPath","dir","tsPath","join","hasTS","exists","jsPath","hasJS","undefined","distConfigPath","srcConfigPath","Error"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,YAAY,UAAS;AAC5B,OAAOC,QAAQ,KAAI;AACnB,OAAOC,UAAU,OAAM;AAEvB;;;;CAIC,GACD,MAAMC,mBAAmB;IACvB,MAAMC,eAAeJ,OAAOK,IAAI,CAAC;IAEjC,IAAI,CAACD,cAAc;QACjB,OAAO;YAAEE,SAASC,QAAQC,GAAG;YAAIC,SAASF,QAAQC,GAAG;QAAG;IAC1D;IAEA,IAAI;QACF,uDAAuD;QACvD,MAAME,cAAcT,GACjBU,YAAY,CAACP,cAAc,SAC3BQ,OAAO,CAAC,WAAW,KACnBA,OAAO,CAAC,WAAW;QAEtB,MAAMC,WAAWC,KAAKC,KAAK,CAACL;QAE5B,MAAMD,UAAUI,SAASG,eAAe,EAAEC,WAAWV,QAAQC,GAAG;QAChE,MAAMF,UAAUO,SAASG,eAAe,EAAEE,UAAUX,QAAQC,GAAG;QAE/D,OAAO;YAAEF;YAASG;QAAQ;IAC5B,EAAE,OAAOU,OAAO;QACdC,QAAQD,KAAK,CAAC,CAAC,6BAA6B,EAAEA,MAAM,CAAC,EAAE,8FAA8F;;QACrJ,OAAO;YAAEb,SAASC,QAAQC,GAAG;YAAIC,SAASF,QAAQC,GAAG;QAAG;IAC1D;AACF;AAEA;;;;CAIC,GACD,OAAO,MAAMa,aAAa;IACxB,gDAAgD;IAChD,wDAAwD;IACxD,IAAId,QAAQe,GAAG,CAACC,mBAAmB,EAAE;QACnC,IAAIrB,KAAKsB,UAAU,CAACjB,QAAQe,GAAG,CAACC,mBAAmB,GAAG;YACpD,OAAOhB,QAAQe,GAAG,CAACC,mBAAmB;QACxC;QAEA,OAAOrB,KAAKuB,OAAO,CAAClB,QAAQC,GAAG,IAAID,QAAQe,GAAG,CAACC,mBAAmB;IACpE;IAEA,MAAM,EAAEjB,OAAO,EAAEG,OAAO,EAAE,GAAGN;IAE7B,MAAMuB,cAAcnB,QAAQe,GAAG,CAACK,QAAQ,KAAK,eAAe;QAACrB;QAASG;KAAQ,GAAG;QAACA;KAAQ;IAE1F,gDAAgD;IAChD,KAAK,MAAMmB,cAAcF,YAAa;QACpC,MAAMG,aAAa7B,OAAOK,IAAI,CAC5B,CAACyB;YACC,MAAMC,SAAS7B,KAAK8B,IAAI,CAACF,KAAK;YAC9B,MAAMG,QAAQjC,OAAOK,IAAI,CAAC6B,MAAM,CAACH;YAEjC,IAAIE,OAAO;gBACT,OAAOF;YACT;YAEA,MAAMI,SAASjC,KAAK8B,IAAI,CAACF,KAAK;YAC9B,MAAMM,QAAQpC,OAAOK,IAAI,CAAC6B,MAAM,CAACC;YAEjC,IAAIC,OAAO;gBACT,OAAOD;YACT;YAEA,OAAOE;QACT,GACA;YAAE7B,KAAKoB;QAAW;QAGpB,IAAIC,YAAY;YACd,OAAOA;QACT;IACF;IAEA,0EAA0E;IAC1E,mGAAmG;IACnG,IAAItB,QAAQe,GAAG,CAACK,QAAQ,KAAK,cAAc;QACzC,MAAMW,iBAAiBtC,OAAOK,IAAI,CAAC;YAAC;YAAqB;SAAoB,EAAE;YAC7EG,KAAKN,KAAKuB,OAAO,CAAClB,QAAQC,GAAG,IAAI;QACnC;QAEA,IAAI8B,gBAAgB,OAAOA;IAC7B,OAAO;QACL,MAAMC,gBAAgBvC,OAAOK,IAAI,CAAC;YAAC;YAAqB;SAAoB,EAAE;YAC5EG,KAAKN,KAAKuB,OAAO,CAAClB,QAAQC,GAAG,IAAI;QACnC;QAEA,IAAI+B,eAAe,OAAOA;IAC5B;IAEA,MAAM,IAAIC,MACR;AAEJ,EAAC"}
1
+ {"version":3,"sources":["../../src/config/find.ts"],"sourcesContent":["import findUp from 'find-up'\nimport fs from 'fs'\nimport path from 'path'\n\n/**\n * Returns the source and output paths from the nearest tsconfig.json file.\n * If no tsconfig.json file is found, returns the current working directory.\n * @returns An object containing the source and output paths.\n */\nconst getTSConfigPaths = (): {\n configPath?: string\n outPath?: string\n rootPath?: string\n srcPath?: string\n} => {\n const tsConfigPath = findUp.sync('tsconfig.json')\n\n if (!tsConfigPath) {\n return {\n rootPath: process.cwd(),\n }\n }\n\n try {\n // Read the file as a string and remove trailing commas\n const rawTsConfig = fs\n .readFileSync(tsConfigPath, 'utf-8')\n .replace(/,\\s*\\]/g, ']')\n .replace(/,\\s*\\}/g, '}')\n\n const tsConfig = JSON.parse(rawTsConfig)\n\n const rootPath = process.cwd()\n const srcPath = tsConfig.compilerOptions?.rootDir || path.resolve(process.cwd(), 'src')\n const outPath = tsConfig.compilerOptions?.outDir || path.resolve(process.cwd(), 'dist')\n const tsConfigDir = path.dirname(tsConfigPath)\n let configPath = tsConfig.compilerOptions?.paths?.['@payload-config']?.[0]\n if (configPath) {\n configPath = path.resolve(tsConfigDir, configPath)\n }\n return {\n configPath,\n outPath,\n rootPath,\n srcPath,\n }\n } catch (error) {\n console.error(`Error parsing tsconfig.json: ${error}`) // Do not throw the error, as we can still continue with the other config path finding methods\n return {\n rootPath: process.cwd(),\n }\n }\n}\n\n/**\n * Searches for a Payload configuration file.\n * @returns The absolute path to the Payload configuration file.\n * @throws An error if no configuration file is found.\n */\nexport const findConfig = (): string => {\n // If the developer has specified a config path,\n // format it if relative and use it directly if absolute\n if (process.env.PAYLOAD_CONFIG_PATH) {\n if (path.isAbsolute(process.env.PAYLOAD_CONFIG_PATH)) {\n return process.env.PAYLOAD_CONFIG_PATH\n }\n\n return path.resolve(process.cwd(), process.env.PAYLOAD_CONFIG_PATH)\n }\n\n const { configPath, outPath, rootPath, srcPath } = getTSConfigPaths()\n\n const searchPaths =\n process.env.NODE_ENV === 'production'\n ? [configPath, outPath, srcPath, rootPath]\n : [configPath, srcPath, rootPath]\n\n // eslint-disable-next-line no-restricted-syntax\n for (const searchPath of searchPaths) {\n if (!searchPath) continue\n\n const configPath = findUp.sync(\n (dir) => {\n const tsPath = path.join(dir, 'payload.config.ts')\n const hasTS = findUp.sync.exists(tsPath)\n\n if (hasTS) {\n return tsPath\n }\n\n const jsPath = path.join(dir, 'payload.config.js')\n const hasJS = findUp.sync.exists(jsPath)\n\n if (hasJS) {\n return jsPath\n }\n\n return undefined\n },\n { cwd: searchPath },\n )\n\n if (configPath) {\n return configPath\n }\n }\n\n // If no config file is found in the directories defined by tsconfig.json,\n // try searching in the 'src' and 'dist' directory as a last resort, as they are most commonly used\n if (process.env.NODE_ENV === 'production') {\n const distConfigPath = findUp.sync(['payload.config.js', 'payload.config.ts'], {\n cwd: path.resolve(process.cwd(), 'dist'),\n })\n\n if (distConfigPath) return distConfigPath\n } else {\n const srcConfigPath = findUp.sync(['payload.config.js', 'payload.config.ts'], {\n cwd: path.resolve(process.cwd(), 'src'),\n })\n\n if (srcConfigPath) return srcConfigPath\n }\n\n throw new Error(\n 'Error: cannot find Payload config. Please create a configuration file located at the root of your current working directory called \"payload.config.js\" or \"payload.config.ts\".',\n )\n}\n"],"names":["findUp","fs","path","getTSConfigPaths","tsConfigPath","sync","rootPath","process","cwd","rawTsConfig","readFileSync","replace","tsConfig","JSON","parse","srcPath","compilerOptions","rootDir","resolve","outPath","outDir","tsConfigDir","dirname","configPath","paths","error","console","findConfig","env","PAYLOAD_CONFIG_PATH","isAbsolute","searchPaths","NODE_ENV","searchPath","dir","tsPath","join","hasTS","exists","jsPath","hasJS","undefined","distConfigPath","srcConfigPath","Error"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import type { Config, SanitizedConfig } from './types.js';
2
- export declare const sanitizeConfig: (incomingConfig: Config) => SanitizedConfig;
2
+ export declare const sanitizeConfig: (incomingConfig: Config) => Promise<SanitizedConfig>;
3
3
  //# sourceMappingURL=sanitize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../src/config/sanitize.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,MAAM,EAGN,eAAe,EAChB,MAAM,YAAY,CAAA;AAmCnB,eAAO,MAAM,cAAc,mBAAoB,MAAM,KAAG,eAsEvD,CAAA"}
1
+ {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../src/config/sanitize.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,MAAM,EAGN,eAAe,EAChB,MAAM,YAAY,CAAA;AAsCnB,eAAO,MAAM,cAAc,mBAA0B,MAAM,KAAG,QAAQ,eAAe,CAoGpF,CAAA"}
@@ -1,10 +1,10 @@
1
1
  import { en } from '@payloadcms/translations/languages/en';
2
2
  import merge from 'deepmerge';
3
3
  import { defaultUserCollection } from '../auth/defaultUser.js';
4
- import sanitizeCollection from '../collections/config/sanitize.js';
4
+ import { sanitizeCollection } from '../collections/config/sanitize.js';
5
5
  import { migrationsCollection } from '../database/migrations/migrationsCollection.js';
6
6
  import { InvalidConfiguration } from '../errors/index.js';
7
- import sanitizeGlobals from '../globals/config/sanitize.js';
7
+ import { sanitizeGlobals } from '../globals/config/sanitize.js';
8
8
  import getPreferencesCollection from '../preferences/preferencesCollection.js';
9
9
  import checkDuplicateCollections from '../utilities/checkDuplicateCollections.js';
10
10
  import { isPlainObject } from '../utilities/isPlainObject.js';
@@ -23,12 +23,13 @@ const sanitizeAdminConfig = (configToSanitize)=>{
23
23
  sanitizedConfig.collections.push(defaultUserCollection);
24
24
  }
25
25
  }
26
- if (!sanitizedConfig.collections.find(({ slug })=>slug === sanitizedConfig.admin.user)) {
26
+ const userCollection = sanitizedConfig.collections.find(({ slug })=>slug === sanitizedConfig.admin.user);
27
+ if (!userCollection || !userCollection.auth) {
27
28
  throw new InvalidConfiguration(`${sanitizedConfig.admin.user} is not a valid admin user collection`);
28
29
  }
29
30
  return sanitizedConfig;
30
31
  };
31
- export const sanitizeConfig = (incomingConfig)=>{
32
+ export const sanitizeConfig = async (incomingConfig)=>{
32
33
  const configWithDefaults = merge(defaults, incomingConfig, {
33
34
  isMergeableObject: isPlainObject
34
35
  });
@@ -70,16 +71,36 @@ export const sanitizeConfig = (incomingConfig)=>{
70
71
  translations: {},
71
72
  ...incomingConfig?.i18n ?? {}
72
73
  };
73
- configWithDefaults.collections.push(getPreferencesCollection(configWithDefaults));
74
+ configWithDefaults.collections.push(getPreferencesCollection(config));
74
75
  configWithDefaults.collections.push(migrationsCollection);
75
- config.collections = config.collections.map((collection)=>sanitizeCollection(configWithDefaults, collection));
76
+ const richTextSanitizationPromises = [];
77
+ for(let i = 0; i < config.collections.length; i++){
78
+ config.collections[i] = await sanitizeCollection(config, config.collections[i], richTextSanitizationPromises);
79
+ }
76
80
  checkDuplicateCollections(config.collections);
77
81
  if (config.globals.length > 0) {
78
- config.globals = sanitizeGlobals(config);
82
+ config.globals = await sanitizeGlobals(config, richTextSanitizationPromises);
79
83
  }
80
84
  if (config.serverURL !== '') {
81
85
  config.csrf.push(config.serverURL);
82
86
  }
87
+ // Get deduped list of upload adapters
88
+ if (!config.upload) config.upload = {
89
+ adapters: []
90
+ };
91
+ config.upload.adapters = Array.from(new Set(config.collections.map((c)=>c.upload?.adapter).filter(Boolean)));
92
+ /*
93
+ Execute richText sanitization
94
+ */ if (typeof incomingConfig.editor === 'function') {
95
+ config.editor = await incomingConfig.editor({
96
+ config: config
97
+ });
98
+ }
99
+ const promises = [];
100
+ for (const sanitizeFunction of richTextSanitizationPromises){
101
+ promises.push(sanitizeFunction(config));
102
+ }
103
+ await Promise.all(promises);
83
104
  return config;
84
105
  };
85
106
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/config/sanitize.ts"],"sourcesContent":["import { en } from '@payloadcms/translations/languages/en'\nimport merge from 'deepmerge'\n\nimport type {\n Config,\n LocalizationConfigWithLabels,\n LocalizationConfigWithNoLabels,\n SanitizedConfig,\n} from './types.js'\n\nimport { defaultUserCollection } from '../auth/defaultUser.js'\nimport sanitizeCollection from '../collections/config/sanitize.js'\nimport { migrationsCollection } from '../database/migrations/migrationsCollection.js'\nimport { InvalidConfiguration } from '../errors/index.js'\nimport sanitizeGlobals from '../globals/config/sanitize.js'\nimport getPreferencesCollection from '../preferences/preferencesCollection.js'\nimport checkDuplicateCollections from '../utilities/checkDuplicateCollections.js'\nimport { isPlainObject } from '../utilities/isPlainObject.js'\nimport { defaults } from './defaults.js'\n\nconst sanitizeAdminConfig = (configToSanitize: Config): Partial<SanitizedConfig> => {\n const sanitizedConfig = { ...configToSanitize }\n\n // add default user collection if none provided\n if (!sanitizedConfig?.admin?.user) {\n const firstCollectionWithAuth = sanitizedConfig.collections.find(({ auth }) => Boolean(auth))\n if (firstCollectionWithAuth) {\n sanitizedConfig.admin.user = firstCollectionWithAuth.slug\n } else {\n sanitizedConfig.admin.user = defaultUserCollection.slug\n sanitizedConfig.collections.push(defaultUserCollection)\n }\n }\n\n if (!sanitizedConfig.collections.find(({ slug }) => slug === sanitizedConfig.admin.user)) {\n throw new InvalidConfiguration(\n `${sanitizedConfig.admin.user} is not a valid admin user collection`,\n )\n }\n\n return sanitizedConfig as Partial<SanitizedConfig>\n}\n\nexport const sanitizeConfig = (incomingConfig: Config): SanitizedConfig => {\n const configWithDefaults: Config = merge(defaults, incomingConfig, {\n isMergeableObject: isPlainObject,\n }) as Config\n\n if (!configWithDefaults?.serverURL) {\n configWithDefaults.serverURL = ''\n }\n\n const config: Partial<SanitizedConfig> = sanitizeAdminConfig(configWithDefaults)\n\n if (config.localization && config.localization.locales?.length > 0) {\n // clone localization config so to not break everything\n const firstLocale = config.localization.locales[0]\n if (typeof firstLocale === 'string') {\n config.localization.localeCodes = [\n ...(config.localization as unknown as LocalizationConfigWithNoLabels).locales,\n ]\n\n // is string[], so convert to Locale[]\n config.localization.locales = (\n config.localization as unknown as LocalizationConfigWithNoLabels\n ).locales.map((locale) => ({\n code: locale,\n label: locale,\n rtl: false,\n toString: () => locale,\n }))\n } else {\n // is Locale[], so convert to string[] for localeCodes\n config.localization.localeCodes = config.localization.locales.reduce((locales, locale) => {\n locales.push(locale.code)\n return locales\n }, [] as string[])\n\n config.localization.locales = (\n config.localization as LocalizationConfigWithLabels\n ).locales.map((locale) => ({\n ...locale,\n toString: () => locale.code,\n }))\n }\n }\n\n config.i18n = {\n fallbackLanguage: 'en',\n supportedLanguages: {\n en,\n },\n translations: {},\n ...(incomingConfig?.i18n ?? {}),\n }\n\n configWithDefaults.collections.push(getPreferencesCollection(configWithDefaults))\n configWithDefaults.collections.push(migrationsCollection)\n\n config.collections = config.collections.map((collection) =>\n sanitizeCollection(configWithDefaults, collection),\n )\n checkDuplicateCollections(config.collections)\n\n if (config.globals.length > 0) {\n config.globals = sanitizeGlobals(config as SanitizedConfig)\n }\n\n if (config.serverURL !== '') {\n config.csrf.push(config.serverURL)\n }\n\n return config as SanitizedConfig\n}\n"],"names":["en","merge","defaultUserCollection","sanitizeCollection","migrationsCollection","InvalidConfiguration","sanitizeGlobals","getPreferencesCollection","checkDuplicateCollections","isPlainObject","defaults","sanitizeAdminConfig","configToSanitize","sanitizedConfig","admin","user","firstCollectionWithAuth","collections","find","auth","Boolean","slug","push","sanitizeConfig","incomingConfig","configWithDefaults","isMergeableObject","serverURL","config","localization","locales","length","firstLocale","localeCodes","map","locale","code","label","rtl","toString","reduce","i18n","fallbackLanguage","supportedLanguages","translations","collection","globals","csrf"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../src/config/sanitize.ts"],"sourcesContent":["import { en } from '@payloadcms/translations/languages/en'\nimport merge from 'deepmerge'\n\nimport type {\n Config,\n LocalizationConfigWithLabels,\n LocalizationConfigWithNoLabels,\n SanitizedConfig,\n} from './types.js'\n\nimport { defaultUserCollection } from '../auth/defaultUser.js'\nimport { sanitizeCollection } from '../collections/config/sanitize.js'\nimport { migrationsCollection } from '../database/migrations/migrationsCollection.js'\nimport { InvalidConfiguration } from '../errors/index.js'\nimport { sanitizeGlobals } from '../globals/config/sanitize.js'\nimport getPreferencesCollection from '../preferences/preferencesCollection.js'\nimport checkDuplicateCollections from '../utilities/checkDuplicateCollections.js'\nimport { isPlainObject } from '../utilities/isPlainObject.js'\nimport { defaults } from './defaults.js'\n\nconst sanitizeAdminConfig = (configToSanitize: Config): Partial<SanitizedConfig> => {\n const sanitizedConfig = { ...configToSanitize }\n\n // add default user collection if none provided\n if (!sanitizedConfig?.admin?.user) {\n const firstCollectionWithAuth = sanitizedConfig.collections.find(({ auth }) => Boolean(auth))\n if (firstCollectionWithAuth) {\n sanitizedConfig.admin.user = firstCollectionWithAuth.slug\n } else {\n sanitizedConfig.admin.user = defaultUserCollection.slug\n sanitizedConfig.collections.push(defaultUserCollection)\n }\n }\n\n const userCollection = sanitizedConfig.collections.find(\n ({ slug }) => slug === sanitizedConfig.admin.user,\n )\n if (!userCollection || !userCollection.auth) {\n throw new InvalidConfiguration(\n `${sanitizedConfig.admin.user} is not a valid admin user collection`,\n )\n }\n\n return sanitizedConfig as unknown as Partial<SanitizedConfig>\n}\n\nexport const sanitizeConfig = async (incomingConfig: Config): Promise<SanitizedConfig> => {\n const configWithDefaults: Config = merge(defaults, incomingConfig, {\n isMergeableObject: isPlainObject,\n }) as Config\n\n if (!configWithDefaults?.serverURL) {\n configWithDefaults.serverURL = ''\n }\n\n const config: Partial<SanitizedConfig> = sanitizeAdminConfig(configWithDefaults)\n\n if (config.localization && config.localization.locales?.length > 0) {\n // clone localization config so to not break everything\n const firstLocale = config.localization.locales[0]\n if (typeof firstLocale === 'string') {\n config.localization.localeCodes = [\n ...(config.localization as unknown as LocalizationConfigWithNoLabels).locales,\n ]\n\n // is string[], so convert to Locale[]\n config.localization.locales = (\n config.localization as unknown as LocalizationConfigWithNoLabels\n ).locales.map((locale) => ({\n code: locale,\n label: locale,\n rtl: false,\n toString: () => locale,\n }))\n } else {\n // is Locale[], so convert to string[] for localeCodes\n config.localization.localeCodes = config.localization.locales.reduce((locales, locale) => {\n locales.push(locale.code)\n return locales\n }, [] as string[])\n\n config.localization.locales = (\n config.localization as LocalizationConfigWithLabels\n ).locales.map((locale) => ({\n ...locale,\n toString: () => locale.code,\n }))\n }\n }\n\n config.i18n = {\n fallbackLanguage: 'en',\n supportedLanguages: {\n en,\n },\n translations: {},\n ...(incomingConfig?.i18n ?? {}),\n }\n\n configWithDefaults.collections.push(getPreferencesCollection(config as unknown as Config))\n configWithDefaults.collections.push(migrationsCollection)\n\n const richTextSanitizationPromises: Array<(config: SanitizedConfig) => Promise<void>> = []\n for (let i = 0; i < config.collections.length; i++) {\n config.collections[i] = await sanitizeCollection(\n config as unknown as Config,\n config.collections[i],\n richTextSanitizationPromises,\n )\n }\n\n checkDuplicateCollections(config.collections)\n\n if (config.globals.length > 0) {\n config.globals = await sanitizeGlobals(\n config as unknown as Config,\n richTextSanitizationPromises,\n )\n }\n\n if (config.serverURL !== '') {\n config.csrf.push(config.serverURL)\n }\n\n // Get deduped list of upload adapters\n if (!config.upload) config.upload = { adapters: [] }\n config.upload.adapters = Array.from(\n new Set(config.collections.map((c) => c.upload?.adapter).filter(Boolean)),\n )\n\n /*\n Execute richText sanitization\n */\n if (typeof incomingConfig.editor === 'function') {\n config.editor = await incomingConfig.editor({\n config: config as SanitizedConfig,\n })\n }\n\n const promises: Promise<void>[] = []\n for (const sanitizeFunction of richTextSanitizationPromises) {\n promises.push(sanitizeFunction(config as SanitizedConfig))\n }\n await Promise.all(promises)\n\n return config as SanitizedConfig\n}\n"],"names":["en","merge","defaultUserCollection","sanitizeCollection","migrationsCollection","InvalidConfiguration","sanitizeGlobals","getPreferencesCollection","checkDuplicateCollections","isPlainObject","defaults","sanitizeAdminConfig","configToSanitize","sanitizedConfig","admin","user","firstCollectionWithAuth","collections","find","auth","Boolean","slug","push","userCollection","sanitizeConfig","incomingConfig","configWithDefaults","isMergeableObject","serverURL","config","localization","locales","length","firstLocale","localeCodes","map","locale","code","label","rtl","toString","reduce","i18n","fallbackLanguage","supportedLanguages","translations","richTextSanitizationPromises","i","globals","csrf","upload","adapters","Array","from","Set","c","adapter","filter","editor","promises","sanitizeFunction","Promise","all"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AAOrB,eAAO,MAAM,eAAe,6BAa3B,CAAA;;AAED,wBAiKE"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AAOrB,eAAO,MAAM,eAAe,6BAa3B,CAAA;;AAED,wBAkKE"}
@@ -40,6 +40,7 @@ export default joi.object({
40
40
  Dashboard: joi.alternatives().try(component, adminViewSchema)
41
41
  }), joi.object().pattern(joi.string(), component))
42
42
  }),
43
+ custom: joi.object().pattern(joi.string(), joi.any()),
43
44
  dateFormat: joi.string(),
44
45
  disable: joi.bool(),
45
46
  inactivityRoute: joi.string(),
@@ -80,7 +81,7 @@ export default joi.object({
80
81
  populationPromise: joi.func().optional(),
81
82
  validate: joi.func().required()
82
83
  }).unknown(),
83
- email: joi.object(),
84
+ email: joi.alternatives().try(joi.object(), joi.func()),
84
85
  endpoints: endpointsSchema,
85
86
  globals: joi.array(),
86
87
  graphQL: joi.object().keys({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/config/schema.ts"],"sourcesContent":["import joi from 'joi'\n\nimport { adminViewSchema } from './shared/adminViewSchema.js'\nimport { componentSchema, livePreviewSchema } from './shared/componentSchema.js'\n\nconst component = joi.alternatives().try(joi.object().unknown(), joi.func())\n\nexport const endpointsSchema = joi.alternatives().try(\n joi.array().items(\n joi.object({\n custom: joi.object().pattern(joi.string(), joi.any()),\n handler: joi.alternatives().try(joi.array().items(joi.func()), joi.func()),\n method: joi\n .string()\n .valid('get', 'head', 'post', 'put', 'patch', 'delete', 'connect', 'options'),\n path: joi.string(),\n root: joi.bool(),\n }),\n ),\n joi.boolean(),\n)\n\nexport default joi.object({\n admin: joi.object({\n autoLogin: joi.alternatives().try(\n joi.object().keys({\n email: joi.string(),\n password: joi.string(),\n prefillOnly: joi.boolean(),\n }),\n joi.boolean(),\n ),\n avatar: joi.alternatives().try(joi.string(), component),\n buildPath: joi.string(),\n components: joi.object().keys({\n Nav: component,\n actions: joi.array().items(component),\n afterDashboard: joi.array().items(component),\n afterLogin: joi.array().items(component),\n afterNavLinks: joi.array().items(component),\n beforeDashboard: joi.array().items(component),\n beforeLogin: joi.array().items(component),\n beforeNavLinks: joi.array().items(component),\n graphics: joi.object({\n Icon: component,\n Logo: component,\n }),\n logout: joi.object({\n Button: component,\n }),\n providers: joi.array().items(component),\n views: joi.alternatives().try(\n joi.object({\n Account: joi.alternatives().try(component, adminViewSchema),\n Dashboard: joi.alternatives().try(component, adminViewSchema),\n }),\n joi.object().pattern(joi.string(), component),\n ),\n }),\n dateFormat: joi.string(),\n disable: joi.bool(),\n inactivityRoute: joi.string(),\n livePreview: joi.object({\n ...livePreviewSchema,\n collections: joi.array().items(joi.string()),\n globals: joi.array().items(joi.string()),\n }),\n logoutRoute: joi.string(),\n meta: joi.object().keys({\n favicon: joi.string(),\n ogImage: joi.string(),\n titleSuffix: joi.string(),\n }),\n user: joi.string(),\n }),\n bin: joi.array().items(\n joi.object().keys({\n key: joi.string(),\n scriptPath: joi.string(),\n }),\n ),\n collections: joi.array(),\n cookiePrefix: joi.string(),\n cors: [joi.string().valid('*'), joi.array().items(joi.string())],\n csrf: joi.array().items(joi.string().allow('')).sparse(),\n custom: joi.object().pattern(joi.string(), joi.any()),\n db: joi.any(),\n debug: joi.boolean(),\n defaultDepth: joi.number().min(0).max(30),\n defaultMaxTextLength: joi.number(),\n editor: joi\n .object()\n .required()\n .keys({\n CellComponent: componentSchema.optional(),\n FieldComponent: componentSchema.optional(),\n afterReadPromise: joi.func().optional(),\n outputSchema: joi.func().optional(),\n populationPromise: joi.func().optional(),\n validate: joi.func().required(),\n })\n .unknown(),\n email: joi.object(),\n endpoints: endpointsSchema,\n globals: joi.array(),\n graphQL: joi.object().keys({\n disable: joi.boolean(),\n disablePlaygroundInProduction: joi.boolean(),\n maxComplexity: joi.number(),\n mutations: joi.function(),\n queries: joi.function(),\n }),\n hooks: joi.object().keys({\n afterError: joi.func(),\n }),\n i18n: joi.object(),\n indexSortableFields: joi.boolean(),\n local: joi.boolean(),\n localization: joi.alternatives().try(\n joi.object().keys({\n defaultLocale: joi.string(),\n fallback: joi.boolean(),\n localeCodes: joi.array().items(joi.string()),\n locales: joi.alternatives().try(\n joi.array().items(\n joi.object().keys({\n code: joi.string(),\n fallbackLocale: joi.string(),\n label: joi\n .alternatives()\n .try(\n joi.object().pattern(joi.string(), [joi.string()]),\n joi.string(),\n joi.valid(false),\n ),\n rtl: joi.boolean(),\n toString: joi.func(),\n }),\n ),\n joi.array().items(joi.string()),\n ),\n }),\n joi.boolean(),\n ),\n maxDepth: joi.number().min(0).max(100),\n onInit: joi.func(),\n plugins: joi.array().items(joi.func()),\n routes: joi.object({\n admin: joi.string(),\n api: joi.string(),\n graphQL: joi.string(),\n graphQLPlayground: joi.string(),\n }),\n secret: joi.string(),\n serverURL: joi\n .string()\n .uri()\n .allow('')\n .custom((value, helper) => {\n const urlWithoutProtocol = value.split('//')[1]\n\n if (!urlWithoutProtocol) {\n return helper.message({\n custom: 'You need to include either \"https://\" or \"http://\" in your serverURL.',\n })\n }\n\n if (urlWithoutProtocol.indexOf('/') > -1) {\n return helper.message({\n custom:\n 'Your serverURL cannot have a path. It can only contain a protocol, a domain, and an optional port.',\n })\n }\n\n return value\n }),\n sharp: joi.any(),\n telemetry: joi.boolean(),\n typescript: joi.object({\n declare: joi.boolean(),\n outputFile: joi.string(),\n }),\n upload: joi.object(),\n})\n"],"names":["joi","adminViewSchema","componentSchema","livePreviewSchema","component","alternatives","try","object","unknown","func","endpointsSchema","array","items","custom","pattern","string","any","handler","method","valid","path","root","bool","boolean","admin","autoLogin","keys","email","password","prefillOnly","avatar","buildPath","components","Nav","actions","afterDashboard","afterLogin","afterNavLinks","beforeDashboard","beforeLogin","beforeNavLinks","graphics","Icon","Logo","logout","Button","providers","views","Account","Dashboard","dateFormat","disable","inactivityRoute","livePreview","collections","globals","logoutRoute","meta","favicon","ogImage","titleSuffix","user","bin","key","scriptPath","cookiePrefix","cors","csrf","allow","sparse","db","debug","defaultDepth","number","min","max","defaultMaxTextLength","editor","required","CellComponent","optional","FieldComponent","afterReadPromise","outputSchema","populationPromise","validate","endpoints","graphQL","disablePlaygroundInProduction","maxComplexity","mutations","function","queries","hooks","afterError","i18n","indexSortableFields","local","localization","defaultLocale","fallback","localeCodes","locales","code","fallbackLocale","label","rtl","toString","maxDepth","onInit","plugins","routes","api","graphQLPlayground","secret","serverURL","uri","value","helper","urlWithoutProtocol","split","message","indexOf","sharp","telemetry","typescript","declare","outputFile","upload"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../src/config/schema.ts"],"sourcesContent":["import joi from 'joi'\n\nimport { adminViewSchema } from './shared/adminViewSchema.js'\nimport { componentSchema, livePreviewSchema } from './shared/componentSchema.js'\n\nconst component = joi.alternatives().try(joi.object().unknown(), joi.func())\n\nexport const endpointsSchema = joi.alternatives().try(\n joi.array().items(\n joi.object({\n custom: joi.object().pattern(joi.string(), joi.any()),\n handler: joi.alternatives().try(joi.array().items(joi.func()), joi.func()),\n method: joi\n .string()\n .valid('get', 'head', 'post', 'put', 'patch', 'delete', 'connect', 'options'),\n path: joi.string(),\n root: joi.bool(),\n }),\n ),\n joi.boolean(),\n)\n\nexport default joi.object({\n admin: joi.object({\n autoLogin: joi.alternatives().try(\n joi.object().keys({\n email: joi.string(),\n password: joi.string(),\n prefillOnly: joi.boolean(),\n }),\n joi.boolean(),\n ),\n avatar: joi.alternatives().try(joi.string(), component),\n buildPath: joi.string(),\n components: joi.object().keys({\n Nav: component,\n actions: joi.array().items(component),\n afterDashboard: joi.array().items(component),\n afterLogin: joi.array().items(component),\n afterNavLinks: joi.array().items(component),\n beforeDashboard: joi.array().items(component),\n beforeLogin: joi.array().items(component),\n beforeNavLinks: joi.array().items(component),\n graphics: joi.object({\n Icon: component,\n Logo: component,\n }),\n logout: joi.object({\n Button: component,\n }),\n providers: joi.array().items(component),\n views: joi.alternatives().try(\n joi.object({\n Account: joi.alternatives().try(component, adminViewSchema),\n Dashboard: joi.alternatives().try(component, adminViewSchema),\n }),\n joi.object().pattern(joi.string(), component),\n ),\n }),\n custom: joi.object().pattern(joi.string(), joi.any()),\n dateFormat: joi.string(),\n disable: joi.bool(),\n inactivityRoute: joi.string(),\n livePreview: joi.object({\n ...livePreviewSchema,\n collections: joi.array().items(joi.string()),\n globals: joi.array().items(joi.string()),\n }),\n logoutRoute: joi.string(),\n meta: joi.object().keys({\n favicon: joi.string(),\n ogImage: joi.string(),\n titleSuffix: joi.string(),\n }),\n user: joi.string(),\n }),\n bin: joi.array().items(\n joi.object().keys({\n key: joi.string(),\n scriptPath: joi.string(),\n }),\n ),\n collections: joi.array(),\n cookiePrefix: joi.string(),\n cors: [joi.string().valid('*'), joi.array().items(joi.string())],\n csrf: joi.array().items(joi.string().allow('')).sparse(),\n custom: joi.object().pattern(joi.string(), joi.any()),\n db: joi.any(),\n debug: joi.boolean(),\n defaultDepth: joi.number().min(0).max(30),\n defaultMaxTextLength: joi.number(),\n editor: joi\n .object()\n .required()\n .keys({\n CellComponent: componentSchema.optional(),\n FieldComponent: componentSchema.optional(),\n afterReadPromise: joi.func().optional(),\n outputSchema: joi.func().optional(),\n populationPromise: joi.func().optional(),\n validate: joi.func().required(),\n })\n .unknown(),\n email: joi.alternatives().try(joi.object(), joi.func()),\n endpoints: endpointsSchema,\n globals: joi.array(),\n graphQL: joi.object().keys({\n disable: joi.boolean(),\n disablePlaygroundInProduction: joi.boolean(),\n maxComplexity: joi.number(),\n mutations: joi.function(),\n queries: joi.function(),\n }),\n hooks: joi.object().keys({\n afterError: joi.func(),\n }),\n i18n: joi.object(),\n indexSortableFields: joi.boolean(),\n local: joi.boolean(),\n localization: joi.alternatives().try(\n joi.object().keys({\n defaultLocale: joi.string(),\n fallback: joi.boolean(),\n localeCodes: joi.array().items(joi.string()),\n locales: joi.alternatives().try(\n joi.array().items(\n joi.object().keys({\n code: joi.string(),\n fallbackLocale: joi.string(),\n label: joi\n .alternatives()\n .try(\n joi.object().pattern(joi.string(), [joi.string()]),\n joi.string(),\n joi.valid(false),\n ),\n rtl: joi.boolean(),\n toString: joi.func(),\n }),\n ),\n joi.array().items(joi.string()),\n ),\n }),\n joi.boolean(),\n ),\n maxDepth: joi.number().min(0).max(100),\n onInit: joi.func(),\n plugins: joi.array().items(joi.func()),\n routes: joi.object({\n admin: joi.string(),\n api: joi.string(),\n graphQL: joi.string(),\n graphQLPlayground: joi.string(),\n }),\n secret: joi.string(),\n serverURL: joi\n .string()\n .uri()\n .allow('')\n .custom((value, helper) => {\n const urlWithoutProtocol = value.split('//')[1]\n\n if (!urlWithoutProtocol) {\n return helper.message({\n custom: 'You need to include either \"https://\" or \"http://\" in your serverURL.',\n })\n }\n\n if (urlWithoutProtocol.indexOf('/') > -1) {\n return helper.message({\n custom:\n 'Your serverURL cannot have a path. It can only contain a protocol, a domain, and an optional port.',\n })\n }\n\n return value\n }),\n sharp: joi.any(),\n telemetry: joi.boolean(),\n typescript: joi.object({\n declare: joi.boolean(),\n outputFile: joi.string(),\n }),\n upload: joi.object(),\n})\n"],"names":["joi","adminViewSchema","componentSchema","livePreviewSchema","component","alternatives","try","object","unknown","func","endpointsSchema","array","items","custom","pattern","string","any","handler","method","valid","path","root","bool","boolean","admin","autoLogin","keys","email","password","prefillOnly","avatar","buildPath","components","Nav","actions","afterDashboard","afterLogin","afterNavLinks","beforeDashboard","beforeLogin","beforeNavLinks","graphics","Icon","Logo","logout","Button","providers","views","Account","Dashboard","dateFormat","disable","inactivityRoute","livePreview","collections","globals","logoutRoute","meta","favicon","ogImage","titleSuffix","user","bin","key","scriptPath","cookiePrefix","cors","csrf","allow","sparse","db","debug","defaultDepth","number","min","max","defaultMaxTextLength","editor","required","CellComponent","optional","FieldComponent","afterReadPromise","outputSchema","populationPromise","validate","endpoints","graphQL","disablePlaygroundInProduction","maxComplexity","mutations","function","queries","hooks","afterError","i18n","indexSortableFields","local","localization","defaultLocale","fallback","localeCodes","locales","code","fallbackLocale","label","rtl","toString","maxDepth","onInit","plugins","routes","api","graphQLPlayground","secret","serverURL","uri","value","helper","urlWithoutProtocol","split","message","indexOf","sharp","telemetry","typescript","declare","outputFile","upload"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -2,20 +2,20 @@
2
2
  import type { I18nOptions, TFunction } from '@payloadcms/translations';
3
3
  import type { Options as ExpressFileUploadOptions } from 'express-fileupload';
4
4
  import type GraphQL from 'graphql';
5
- import type { Transporter } from 'nodemailer';
6
- import type SMTPConnection from 'nodemailer/lib/smtp-connection';
7
5
  import type { DestinationStream, LoggerOptions } from 'pino';
8
6
  import type React from 'react';
9
7
  import type { default as sharp } from 'sharp';
10
8
  import type { DeepRequired } from 'ts-essentials';
9
+ import type { RichTextAdapterProvider } from '../admin/RichText.js';
11
10
  import type { DocumentTab, RichTextAdapter } from '../admin/types.js';
12
11
  import type { AdminView, ServerSideEditViewProps } from '../admin/views/types.js';
13
12
  import type { User } from '../auth/types.js';
14
13
  import type { AfterErrorHook, Collection, CollectionConfig, SanitizedCollectionConfig } from '../collections/config/types.js';
15
14
  import type { DatabaseAdapterResult } from '../database/types.js';
15
+ import type { EmailAdapter, SendEmailOptions } from '../email/types.js';
16
16
  import type { GlobalConfig, Globals, SanitizedGlobalConfig } from '../globals/config/types.js';
17
17
  import type { Payload } from '../index.js';
18
- import type { PayloadRequest, Where } from '../types/index.js';
18
+ import type { PayloadRequest, PayloadRequestWithData, Where } from '../types/index.js';
19
19
  import type { PayloadLogger } from '../utilities/logger.js';
20
20
  export type BinScriptConfig = {
21
21
  key: string;
@@ -25,11 +25,6 @@ export type BinScript = (config: SanitizedConfig) => Promise<void> | void;
25
25
  type Prettify<T> = {
26
26
  [K in keyof T]: T[K];
27
27
  } & NonNullable<unknown>;
28
- type Email = {
29
- fromAddress: string;
30
- fromName: string;
31
- logMockCredentials?: boolean;
32
- };
33
28
  export type Plugin = (config: Config) => Config | Promise<Config>;
34
29
  export type LivePreviewConfig = {
35
30
  /**
@@ -60,28 +55,10 @@ export type LivePreviewConfig = {
60
55
  export type ServerOnlyLivePreviewProperties = keyof Pick<LivePreviewConfig, 'url'>;
61
56
  type GeneratePreviewURLOptions = {
62
57
  locale: string;
63
- token: string;
58
+ req: PayloadRequestWithData;
59
+ token: null | string;
64
60
  };
65
61
  export type GeneratePreviewURL = (doc: Record<string, unknown>, options: GeneratePreviewURLOptions) => Promise<null | string> | null | string;
66
- export type EmailTransport = Email & {
67
- transport: Transporter;
68
- transportOptions?: SMTPConnection.Options;
69
- };
70
- export type EmailTransportOptions = Email & {
71
- transport?: Transporter;
72
- transportOptions: SMTPConnection.Options;
73
- };
74
- export type EmailOptions = Email | EmailTransport | EmailTransportOptions;
75
- /**
76
- * type guard for EmailOptions
77
- * @param emailConfig
78
- */
79
- export declare function hasTransport(emailConfig: EmailOptions): emailConfig is EmailTransport;
80
- /**
81
- * type guard for EmailOptions
82
- * @param emailConfig
83
- */
84
- export declare function hasTransportOptions(emailConfig: EmailOptions): emailConfig is EmailTransportOptions;
85
62
  export type GraphQLInfo = {
86
63
  Mutation: {
87
64
  fields: Record<string, any>;
@@ -123,12 +100,6 @@ export type InitOptions = {
123
100
  * Disable running of the `onInit` function
124
101
  */
125
102
  disableOnInit?: boolean;
126
- /**
127
- * Configuration for Payload's email functionality
128
- *
129
- * @see https://payloadcms.com/docs/email/overview
130
- */
131
- email?: EmailOptions;
132
103
  /**
133
104
  * A previously instantiated logger instance. Must conform to the PayloadLogger interface which uses Pino
134
105
  * This allows you to bring your own logger instance and let payload use it
@@ -172,7 +143,7 @@ export type AccessArgs<T = any, U = any> = {
172
143
  /** If true, the request is for a static file */
173
144
  isReadingStaticFile?: boolean;
174
145
  /** The original request that requires an access check */
175
- req: PayloadRequest<U>;
146
+ req: PayloadRequestWithData<U>;
176
147
  };
177
148
  /**
178
149
  * Access function runs on the server
@@ -225,7 +196,7 @@ export type EditViewConfig = {
225
196
  Component: EditViewComponent;
226
197
  path: string;
227
198
  } | {
228
- actions?: React.ComponentType<any>[];
199
+ actions?: CustomComponent[];
229
200
  };
230
201
  /**
231
202
  * Override existing views
@@ -235,6 +206,11 @@ export type EditViewConfig = {
235
206
  * i.e. you can change just the label, if desired
236
207
  */
237
208
  export type EditView = EditViewComponent | EditViewConfig;
209
+ export type ServerProps = {
210
+ payload: Payload;
211
+ };
212
+ export declare const serverProps: (keyof ServerProps)[];
213
+ export type CustomComponent<T extends any = any> = React.ComponentType<T & ServerProps>;
238
214
  export type Locale = {
239
215
  /**
240
216
  * value of supported locale
@@ -332,46 +308,46 @@ export type Config = {
332
308
  /**
333
309
  * Replace the navigation with a custom component
334
310
  */
335
- Nav?: React.ComponentType<any>;
311
+ Nav?: CustomComponent;
336
312
  /**
337
313
  * Add custom components to the top right of the Admin Panel
338
314
  */
339
- actions?: React.ComponentType<any>[];
315
+ actions?: CustomComponent[];
340
316
  /**
341
317
  * Add custom components after the collection overview
342
318
  */
343
- afterDashboard?: React.ComponentType<any>[];
319
+ afterDashboard?: CustomComponent[];
344
320
  /**
345
321
  * Add custom components after the email/password field
346
322
  */
347
- afterLogin?: React.ComponentType<any>[];
323
+ afterLogin?: CustomComponent[];
348
324
  /**
349
325
  * Add custom components after the navigation links
350
326
  */
351
- afterNavLinks?: React.ComponentType<any>[];
327
+ afterNavLinks?: CustomComponent[];
352
328
  /**
353
329
  * Add custom components before the collection overview
354
330
  */
355
- beforeDashboard?: React.ComponentType<any>[];
331
+ beforeDashboard?: CustomComponent[];
356
332
  /**
357
333
  * Add custom components before the email/password field
358
334
  */
359
- beforeLogin?: React.ComponentType<any>[];
335
+ beforeLogin?: CustomComponent[];
360
336
  /**
361
337
  * Add custom components before the navigation links
362
338
  */
363
- beforeNavLinks?: React.ComponentType<any>[];
339
+ beforeNavLinks?: CustomComponent[];
364
340
  /** Replace graphical components */
365
341
  graphics?: {
366
342
  /** Replace the icon in the navigation */
367
- Icon?: React.ComponentType<any>;
343
+ Icon?: CustomComponent;
368
344
  /** Replace the logo on the login page */
369
- Logo?: React.ComponentType<any>;
345
+ Logo?: CustomComponent;
370
346
  };
371
347
  /** Replace logout related components */
372
348
  logout?: {
373
349
  /** Replace the logout button */
374
- Button?: React.ComponentType<any>;
350
+ Button?: CustomComponent;
375
351
  };
376
352
  /**
377
353
  * Wrap the admin dashboard in custom context providers
@@ -394,6 +370,8 @@ export type Config = {
394
370
  Dashboard?: AdminView;
395
371
  };
396
372
  };
373
+ /** Extension point to add your custom data. Available in server and client. */
374
+ custom?: Record<string, any>;
397
375
  /** Global date format that will be used for all dates in the Admin panel. Any valid date-fns format pattern can be used. */
398
376
  dateFormat?: string;
399
377
  /** If set to true, the entire Admin panel will be disabled. */
@@ -453,7 +431,7 @@ export type Config = {
453
431
  cors?: '*' | string[];
454
432
  /** A whitelist array of URLs to allow Payload cookies to be accepted from as a form of CSRF protection. */
455
433
  csrf?: string[];
456
- /** Extension point to add your custom data. */
434
+ /** Extension point to add your custom data. Server only. */
457
435
  custom?: Record<string, any>;
458
436
  /** Pass in a database adapter for use on this project. */
459
437
  db: DatabaseAdapterResult;
@@ -474,13 +452,13 @@ export type Config = {
474
452
  */
475
453
  defaultMaxTextLength?: number;
476
454
  /** Default richtext editor to use for richText fields */
477
- editor: RichTextAdapter<any, any, any>;
455
+ editor: RichTextAdapterProvider<any, any, any>;
478
456
  /**
479
- * Email configuration options. This value is overridden by `email` in Payload.init if passed.
457
+ * Email Adapter
480
458
  *
481
459
  * @see https://payloadcms.com/docs/email/overview
482
460
  */
483
- email?: EmailOptions;
461
+ email?: EmailAdapter | Promise<EmailAdapter>;
484
462
  /** Custom REST endpoints */
485
463
  endpoints?: Endpoint[];
486
464
  /**
@@ -584,8 +562,10 @@ export type Config = {
584
562
  */
585
563
  upload?: ExpressFileUploadOptions;
586
564
  };
587
- export type SanitizedConfig = Omit<DeepRequired<Config>, 'collections' | 'endpoint' | 'globals' | 'i18n' | 'localization'> & {
565
+ export type SanitizedConfig = Omit<DeepRequired<Config>, 'collections' | 'editor' | 'endpoint' | 'globals' | 'i18n' | 'localization' | 'upload'> & {
588
566
  collections: SanitizedCollectionConfig[];
567
+ /** Default richtext editor to use for richText fields */
568
+ editor: RichTextAdapter<any, any, any>;
589
569
  endpoints: Endpoint[];
590
570
  globals: SanitizedGlobalConfig[];
591
571
  i18n: Required<I18nOptions>;
@@ -595,6 +575,12 @@ export type SanitizedConfig = Omit<DeepRequired<Config>, 'collections' | 'endpoi
595
575
  configDir: string;
596
576
  rawConfig: string;
597
577
  };
578
+ upload: ExpressFileUploadOptions & {
579
+ /**
580
+ * Deduped list of adapters used in the project
581
+ */
582
+ adapters: string[];
583
+ };
598
584
  };
599
585
  export type EditConfig = ({
600
586
  /**
@@ -616,8 +602,8 @@ export type EditConfig = ({
616
602
  } | {
617
603
  [key: string]: EditViewConfig;
618
604
  }) | EditViewComponent;
619
- export type EntityDescriptionComponent = React.ComponentType<any>;
605
+ export type EntityDescriptionComponent = CustomComponent;
620
606
  export type EntityDescriptionFunction = () => string;
621
607
  export type EntityDescription = EntityDescriptionComponent | EntityDescriptionFunction | Record<string, string> | string;
622
- export {};
608
+ export type { EmailAdapter, SendEmailOptions };
623
609
  //# sourceMappingURL=types.d.ts.map