payload 3.0.0-beta.7 → 3.0.0-beta.70

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 (1065) hide show
  1. package/bin.js +6 -3
  2. package/dist/admin/LanguageOptions.d.ts +6 -0
  3. package/dist/admin/LanguageOptions.d.ts.map +1 -0
  4. package/dist/admin/LanguageOptions.js +3 -0
  5. package/dist/admin/LanguageOptions.js.map +1 -0
  6. package/dist/admin/RichText.d.ts +143 -28
  7. package/dist/admin/RichText.d.ts.map +1 -1
  8. package/dist/admin/RichText.js.map +1 -1
  9. package/dist/admin/elements/Cell.d.ts +3 -9
  10. package/dist/admin/elements/Cell.d.ts.map +1 -1
  11. package/dist/admin/elements/Cell.js.map +1 -1
  12. package/dist/admin/elements/DatePicker.d.ts +7 -7
  13. package/dist/admin/elements/DatePicker.d.ts.map +1 -1
  14. package/dist/admin/elements/DatePicker.js.map +1 -1
  15. package/dist/admin/elements/PreviewButton.js.map +1 -1
  16. package/dist/admin/elements/PublishButton.js.map +1 -1
  17. package/dist/admin/elements/SaveButton.js.map +1 -1
  18. package/dist/admin/elements/SaveDraftButton.js.map +1 -1
  19. package/dist/admin/elements/Tab.d.ts +3 -0
  20. package/dist/admin/elements/Tab.d.ts.map +1 -1
  21. package/dist/admin/elements/Tab.js.map +1 -1
  22. package/dist/admin/elements/Upload.d.ts +3 -0
  23. package/dist/admin/elements/Upload.d.ts.map +1 -0
  24. package/dist/admin/elements/Upload.js +3 -0
  25. package/dist/admin/elements/Upload.js.map +1 -0
  26. package/dist/admin/elements/WithServerSideProps.d.ts +6 -2
  27. package/dist/admin/elements/WithServerSideProps.d.ts.map +1 -1
  28. package/dist/admin/elements/WithServerSideProps.js.map +1 -1
  29. package/dist/admin/forms/Error.js.map +1 -1
  30. package/dist/admin/forms/FieldDescription.d.ts +1 -1
  31. package/dist/admin/forms/FieldDescription.d.ts.map +1 -1
  32. package/dist/admin/forms/FieldDescription.js.map +1 -1
  33. package/dist/admin/forms/FieldTypes.js.map +1 -1
  34. package/dist/admin/forms/Form.js.map +1 -1
  35. package/dist/admin/forms/Label.d.ts +3 -2
  36. package/dist/admin/forms/Label.d.ts.map +1 -1
  37. package/dist/admin/forms/Label.js.map +1 -1
  38. package/dist/admin/forms/RowLabel.d.ts +1 -1
  39. package/dist/admin/forms/RowLabel.d.ts.map +1 -1
  40. package/dist/admin/forms/RowLabel.js.map +1 -1
  41. package/dist/admin/types.d.ts +5 -3
  42. package/dist/admin/types.d.ts.map +1 -1
  43. package/dist/admin/types.js.map +1 -1
  44. package/dist/admin/views/types.d.ts +5 -3
  45. package/dist/admin/views/types.d.ts.map +1 -1
  46. package/dist/admin/views/types.js.map +1 -1
  47. package/dist/assets/assets.d.js.map +1 -1
  48. package/dist/auth/baseFields/accountLock.d.ts +1 -2
  49. package/dist/auth/baseFields/accountLock.d.ts.map +1 -1
  50. package/dist/auth/baseFields/accountLock.js +1 -1
  51. package/dist/auth/baseFields/accountLock.js.map +1 -1
  52. package/dist/auth/baseFields/apiKey.d.ts +1 -2
  53. package/dist/auth/baseFields/apiKey.d.ts.map +1 -1
  54. package/dist/auth/baseFields/apiKey.js +7 -6
  55. package/dist/auth/baseFields/apiKey.js.map +1 -1
  56. package/dist/auth/baseFields/auth.d.ts +1 -2
  57. package/dist/auth/baseFields/auth.d.ts.map +1 -1
  58. package/dist/auth/baseFields/auth.js +1 -16
  59. package/dist/auth/baseFields/auth.js.map +1 -1
  60. package/dist/auth/baseFields/email.d.ts +5 -0
  61. package/dist/auth/baseFields/email.d.ts.map +1 -0
  62. package/dist/auth/baseFields/email.js +25 -0
  63. package/dist/auth/baseFields/email.js.map +1 -0
  64. package/dist/auth/baseFields/username.d.ts +3 -0
  65. package/dist/auth/baseFields/username.d.ts.map +1 -0
  66. package/dist/auth/baseFields/username.js +25 -0
  67. package/dist/auth/baseFields/username.js.map +1 -0
  68. package/dist/auth/baseFields/verification.d.ts +1 -2
  69. package/dist/auth/baseFields/verification.d.ts.map +1 -1
  70. package/dist/auth/baseFields/verification.js +1 -1
  71. package/dist/auth/baseFields/verification.js.map +1 -1
  72. package/dist/auth/cookies.d.ts +17 -5
  73. package/dist/auth/cookies.d.ts.map +1 -1
  74. package/dist/auth/cookies.js +45 -14
  75. package/dist/auth/cookies.js.map +1 -1
  76. package/dist/auth/crypto.js.map +1 -1
  77. package/dist/auth/defaultAccess.js.map +1 -1
  78. package/dist/auth/defaultUser.js.map +1 -1
  79. package/dist/auth/executeAccess.d.ts.map +1 -1
  80. package/dist/auth/executeAccess.js.map +1 -1
  81. package/dist/auth/executeAuthStrategies.d.ts +2 -3
  82. package/dist/auth/executeAuthStrategies.d.ts.map +1 -1
  83. package/dist/auth/executeAuthStrategies.js +6 -4
  84. package/dist/auth/executeAuthStrategies.js.map +1 -1
  85. package/dist/auth/extractJWT.d.ts +1 -1
  86. package/dist/auth/extractJWT.d.ts.map +1 -1
  87. package/dist/auth/extractJWT.js.map +1 -1
  88. package/dist/auth/getAccessResults.js +1 -1
  89. package/dist/auth/getAccessResults.js.map +1 -1
  90. package/dist/auth/getAuthFields.d.ts +4 -0
  91. package/dist/auth/getAuthFields.d.ts.map +1 -0
  92. package/dist/auth/getAuthFields.js +35 -0
  93. package/dist/auth/getAuthFields.js.map +1 -0
  94. package/dist/auth/getFieldsToSign.d.ts +1 -1
  95. package/dist/auth/getFieldsToSign.d.ts.map +1 -1
  96. package/dist/auth/getFieldsToSign.js +1 -1
  97. package/dist/auth/getFieldsToSign.js.map +1 -1
  98. package/dist/auth/index.d.ts +2 -2
  99. package/dist/auth/index.d.ts.map +1 -1
  100. package/dist/auth/index.js +2 -2
  101. package/dist/auth/index.js.map +1 -1
  102. package/dist/auth/isLocked.d.ts.map +1 -1
  103. package/dist/auth/isLocked.js +4 -1
  104. package/dist/auth/isLocked.js.map +1 -1
  105. package/dist/auth/operations/access.d.ts.map +1 -1
  106. package/dist/auth/operations/access.js.map +1 -1
  107. package/dist/auth/operations/auth.d.ts +3 -3
  108. package/dist/auth/operations/auth.d.ts.map +1 -1
  109. package/dist/auth/operations/auth.js +3 -5
  110. package/dist/auth/operations/auth.js.map +1 -1
  111. package/dist/auth/operations/forgotPassword.d.ts +5 -5
  112. package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
  113. package/dist/auth/operations/forgotPassword.js +34 -20
  114. package/dist/auth/operations/forgotPassword.js.map +1 -1
  115. package/dist/auth/operations/init.d.ts.map +1 -1
  116. package/dist/auth/operations/init.js.map +1 -1
  117. package/dist/auth/operations/local/auth.d.ts.map +1 -1
  118. package/dist/auth/operations/local/auth.js.map +1 -1
  119. package/dist/auth/operations/local/forgotPassword.d.ts +3 -3
  120. package/dist/auth/operations/local/forgotPassword.d.ts.map +1 -1
  121. package/dist/auth/operations/local/forgotPassword.js.map +1 -1
  122. package/dist/auth/operations/local/index.js.map +1 -1
  123. package/dist/auth/operations/local/login.d.ts +6 -10
  124. package/dist/auth/operations/local/login.d.ts.map +1 -1
  125. package/dist/auth/operations/local/login.js.map +1 -1
  126. package/dist/auth/operations/local/resetPassword.d.ts +3 -4
  127. package/dist/auth/operations/local/resetPassword.d.ts.map +1 -1
  128. package/dist/auth/operations/local/resetPassword.js.map +1 -1
  129. package/dist/auth/operations/local/unlock.d.ts +5 -8
  130. package/dist/auth/operations/local/unlock.d.ts.map +1 -1
  131. package/dist/auth/operations/local/unlock.js.map +1 -1
  132. package/dist/auth/operations/local/verifyEmail.d.ts +3 -4
  133. package/dist/auth/operations/local/verifyEmail.d.ts.map +1 -1
  134. package/dist/auth/operations/local/verifyEmail.js.map +1 -1
  135. package/dist/auth/operations/login.d.ts +7 -10
  136. package/dist/auth/operations/login.d.ts.map +1 -1
  137. package/dist/auth/operations/login.js +108 -11
  138. package/dist/auth/operations/login.js.map +1 -1
  139. package/dist/auth/operations/logout.d.ts.map +1 -1
  140. package/dist/auth/operations/logout.js.map +1 -1
  141. package/dist/auth/operations/me.d.ts +2 -1
  142. package/dist/auth/operations/me.d.ts.map +1 -1
  143. package/dist/auth/operations/me.js +25 -9
  144. package/dist/auth/operations/me.js.map +1 -1
  145. package/dist/auth/operations/refresh.d.ts +3 -3
  146. package/dist/auth/operations/refresh.d.ts.map +1 -1
  147. package/dist/auth/operations/refresh.js +35 -17
  148. package/dist/auth/operations/refresh.js.map +1 -1
  149. package/dist/auth/operations/registerFirstUser.d.ts +7 -13
  150. package/dist/auth/operations/registerFirstUser.d.ts.map +1 -1
  151. package/dist/auth/operations/registerFirstUser.js.map +1 -1
  152. package/dist/auth/operations/resetPassword.d.ts +0 -1
  153. package/dist/auth/operations/resetPassword.d.ts.map +1 -1
  154. package/dist/auth/operations/resetPassword.js +2 -2
  155. package/dist/auth/operations/resetPassword.js.map +1 -1
  156. package/dist/auth/operations/unlock.d.ts +5 -7
  157. package/dist/auth/operations/unlock.d.ts.map +1 -1
  158. package/dist/auth/operations/unlock.js +22 -15
  159. package/dist/auth/operations/unlock.js.map +1 -1
  160. package/dist/auth/operations/verifyEmail.d.ts.map +1 -1
  161. package/dist/auth/operations/verifyEmail.js.map +1 -1
  162. package/dist/auth/sendVerificationEmail.d.ts +5 -6
  163. package/dist/auth/sendVerificationEmail.d.ts.map +1 -1
  164. package/dist/auth/sendVerificationEmail.js +7 -8
  165. package/dist/auth/sendVerificationEmail.js.map +1 -1
  166. package/dist/auth/strategies/apiKey.d.ts.map +1 -1
  167. package/dist/auth/strategies/apiKey.js +9 -3
  168. package/dist/auth/strategies/apiKey.js.map +1 -1
  169. package/dist/auth/strategies/jwt.d.ts.map +1 -1
  170. package/dist/auth/strategies/jwt.js +38 -3
  171. package/dist/auth/strategies/jwt.js.map +1 -1
  172. package/dist/auth/strategies/local/authenticate.d.ts +1 -1
  173. package/dist/auth/strategies/local/authenticate.d.ts.map +1 -1
  174. package/dist/auth/strategies/local/authenticate.js.map +1 -1
  175. package/dist/auth/strategies/local/generatePasswordSaltHash.d.ts +3 -1
  176. package/dist/auth/strategies/local/generatePasswordSaltHash.d.ts.map +1 -1
  177. package/dist/auth/strategies/local/generatePasswordSaltHash.js +10 -7
  178. package/dist/auth/strategies/local/generatePasswordSaltHash.js.map +1 -1
  179. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts +1 -1
  180. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts.map +1 -1
  181. package/dist/auth/strategies/local/incrementLoginAttempts.js +1 -1
  182. package/dist/auth/strategies/local/incrementLoginAttempts.js.map +1 -1
  183. package/dist/auth/strategies/local/register.d.ts +2 -2
  184. package/dist/auth/strategies/local/register.d.ts.map +1 -1
  185. package/dist/auth/strategies/local/register.js +19 -7
  186. package/dist/auth/strategies/local/register.js.map +1 -1
  187. package/dist/auth/strategies/local/resetLoginAttempts.d.ts +1 -1
  188. package/dist/auth/strategies/local/resetLoginAttempts.d.ts.map +1 -1
  189. package/dist/auth/strategies/local/resetLoginAttempts.js.map +1 -1
  190. package/dist/auth/types.d.ts +23 -13
  191. package/dist/auth/types.d.ts.map +1 -1
  192. package/dist/auth/types.js.map +1 -1
  193. package/dist/bin/generateTypes.d.ts +3 -1
  194. package/dist/bin/generateTypes.d.ts.map +1 -1
  195. package/dist/bin/generateTypes.js +25 -11
  196. package/dist/bin/generateTypes.js.map +1 -1
  197. package/dist/bin/index.js.map +1 -1
  198. package/dist/bin/loadEnv.d.ts +2 -2
  199. package/dist/bin/loadEnv.d.ts.map +1 -1
  200. package/dist/bin/loadEnv.js +18 -17
  201. package/dist/bin/loadEnv.js.map +1 -1
  202. package/dist/bin/loader/clientExtensions.js.map +1 -1
  203. package/dist/bin/loader/compile.d.ts +2 -2
  204. package/dist/bin/loader/compile.d.ts.map +1 -1
  205. package/dist/bin/loader/compile.js.map +1 -1
  206. package/dist/bin/loader/ignores.d.ts +2 -0
  207. package/dist/bin/loader/ignores.d.ts.map +1 -0
  208. package/dist/bin/loader/ignores.js +5 -0
  209. package/dist/bin/loader/ignores.js.map +1 -0
  210. package/dist/bin/loader/index.d.ts.map +1 -1
  211. package/dist/bin/loader/index.js +14 -15
  212. package/dist/bin/loader/index.js.map +1 -1
  213. package/dist/bin/loader/read-default-tsconfig.d.ts +25 -0
  214. package/dist/bin/loader/read-default-tsconfig.d.ts.map +1 -1
  215. package/dist/bin/loader/read-default-tsconfig.js +25 -1
  216. package/dist/bin/loader/read-default-tsconfig.js.map +1 -1
  217. package/dist/bin/loader/resolveOriginalPath.d.ts +10 -0
  218. package/dist/bin/loader/resolveOriginalPath.d.ts.map +1 -0
  219. package/dist/bin/loader/resolveOriginalPath.js +36 -0
  220. package/dist/bin/loader/resolveOriginalPath.js.map +1 -0
  221. package/dist/bin/migrate.d.ts.map +1 -1
  222. package/dist/bin/migrate.js.map +1 -1
  223. package/dist/collections/config/build.js.map +1 -1
  224. package/dist/collections/config/client.d.ts +155 -156
  225. package/dist/collections/config/client.d.ts.map +1 -1
  226. package/dist/collections/config/client.js +4 -1
  227. package/dist/collections/config/client.js.map +1 -1
  228. package/dist/collections/config/defaults.d.ts +5 -64
  229. package/dist/collections/config/defaults.d.ts.map +1 -1
  230. package/dist/collections/config/defaults.js +9 -1
  231. package/dist/collections/config/defaults.js.map +1 -1
  232. package/dist/collections/config/reservedFieldNames.d.ts +15 -0
  233. package/dist/collections/config/reservedFieldNames.d.ts.map +1 -0
  234. package/dist/collections/config/reservedFieldNames.js +104 -0
  235. package/dist/collections/config/reservedFieldNames.js.map +1 -0
  236. package/dist/collections/config/reservedFieldNames.spec.js +148 -0
  237. package/dist/collections/config/reservedFieldNames.spec.js.map +1 -0
  238. package/dist/collections/config/sanitize.d.ts +2 -3
  239. package/dist/collections/config/sanitize.d.ts.map +1 -1
  240. package/dist/collections/config/sanitize.js +39 -40
  241. package/dist/collections/config/sanitize.js.map +1 -1
  242. package/dist/collections/config/types.d.ts +71 -17
  243. package/dist/collections/config/types.d.ts.map +1 -1
  244. package/dist/collections/config/types.js.map +1 -1
  245. package/dist/collections/dataloader.d.ts +14 -0
  246. package/dist/collections/dataloader.d.ts.map +1 -1
  247. package/dist/collections/dataloader.js +27 -12
  248. package/dist/collections/dataloader.js.map +1 -1
  249. package/dist/collections/operations/count.d.ts +14 -0
  250. package/dist/collections/operations/count.d.ts.map +1 -0
  251. package/dist/collections/operations/count.js +75 -0
  252. package/dist/collections/operations/count.js.map +1 -0
  253. package/dist/collections/operations/create.d.ts +5 -9
  254. package/dist/collections/operations/create.d.ts.map +1 -1
  255. package/dist/collections/operations/create.js +8 -17
  256. package/dist/collections/operations/create.js.map +1 -1
  257. package/dist/collections/operations/delete.d.ts +5 -5
  258. package/dist/collections/operations/delete.d.ts.map +1 -1
  259. package/dist/collections/operations/delete.js +2 -1
  260. package/dist/collections/operations/delete.js.map +1 -1
  261. package/dist/collections/operations/deleteByID.d.ts +4 -3
  262. package/dist/collections/operations/deleteByID.d.ts.map +1 -1
  263. package/dist/collections/operations/deleteByID.js +1 -0
  264. package/dist/collections/operations/deleteByID.js.map +1 -1
  265. package/dist/collections/operations/docAccess.js.map +1 -1
  266. package/dist/collections/operations/duplicate.d.ts +3 -3
  267. package/dist/collections/operations/duplicate.d.ts.map +1 -1
  268. package/dist/collections/operations/duplicate.js +3 -1
  269. package/dist/collections/operations/duplicate.js.map +1 -1
  270. package/dist/collections/operations/find.d.ts +3 -2
  271. package/dist/collections/operations/find.d.ts.map +1 -1
  272. package/dist/collections/operations/find.js +1 -0
  273. package/dist/collections/operations/find.js.map +1 -1
  274. package/dist/collections/operations/findByID.d.ts +3 -2
  275. package/dist/collections/operations/findByID.d.ts.map +1 -1
  276. package/dist/collections/operations/findByID.js +4 -4
  277. package/dist/collections/operations/findByID.js.map +1 -1
  278. package/dist/collections/operations/findVersionByID.d.ts +1 -1
  279. package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
  280. package/dist/collections/operations/findVersionByID.js +2 -1
  281. package/dist/collections/operations/findVersionByID.js.map +1 -1
  282. package/dist/collections/operations/findVersions.d.ts +1 -1
  283. package/dist/collections/operations/findVersions.d.ts.map +1 -1
  284. package/dist/collections/operations/findVersions.js +1 -0
  285. package/dist/collections/operations/findVersions.js.map +1 -1
  286. package/dist/collections/operations/local/count.d.ts +20 -0
  287. package/dist/collections/operations/local/count.d.ts.map +1 -0
  288. package/dist/collections/operations/local/count.js +19 -0
  289. package/dist/collections/operations/local/count.js.map +1 -0
  290. package/dist/collections/operations/local/create.d.ts +7 -8
  291. package/dist/collections/operations/local/create.d.ts.map +1 -1
  292. package/dist/collections/operations/local/create.js.map +1 -1
  293. package/dist/collections/operations/local/delete.d.ts +15 -17
  294. package/dist/collections/operations/local/delete.d.ts.map +1 -1
  295. package/dist/collections/operations/local/delete.js.map +1 -1
  296. package/dist/collections/operations/local/duplicate.d.ts +6 -5
  297. package/dist/collections/operations/local/duplicate.d.ts.map +1 -1
  298. package/dist/collections/operations/local/duplicate.js.map +1 -1
  299. package/dist/collections/operations/local/find.d.ts +7 -6
  300. package/dist/collections/operations/local/find.d.ts.map +1 -1
  301. package/dist/collections/operations/local/find.js +1 -1
  302. package/dist/collections/operations/local/find.js.map +1 -1
  303. package/dist/collections/operations/local/findByID.d.ts +7 -6
  304. package/dist/collections/operations/local/findByID.d.ts.map +1 -1
  305. package/dist/collections/operations/local/findByID.js.map +1 -1
  306. package/dist/collections/operations/local/findVersionByID.d.ts +7 -6
  307. package/dist/collections/operations/local/findVersionByID.d.ts.map +1 -1
  308. package/dist/collections/operations/local/findVersionByID.js.map +1 -1
  309. package/dist/collections/operations/local/findVersions.d.ts +7 -6
  310. package/dist/collections/operations/local/findVersions.d.ts.map +1 -1
  311. package/dist/collections/operations/local/findVersions.js.map +1 -1
  312. package/dist/collections/operations/local/index.d.ts +4 -2
  313. package/dist/collections/operations/local/index.d.ts.map +1 -1
  314. package/dist/collections/operations/local/index.js +4 -2
  315. package/dist/collections/operations/local/index.js.map +1 -1
  316. package/dist/collections/operations/local/restoreVersion.d.ts +7 -6
  317. package/dist/collections/operations/local/restoreVersion.d.ts.map +1 -1
  318. package/dist/collections/operations/local/restoreVersion.js.map +1 -1
  319. package/dist/collections/operations/local/update.d.ts +14 -14
  320. package/dist/collections/operations/local/update.d.ts.map +1 -1
  321. package/dist/collections/operations/local/update.js.map +1 -1
  322. package/dist/collections/operations/restoreVersion.d.ts +1 -1
  323. package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
  324. package/dist/collections/operations/restoreVersion.js +3 -1
  325. package/dist/collections/operations/restoreVersion.js.map +1 -1
  326. package/dist/collections/operations/update.d.ts +5 -6
  327. package/dist/collections/operations/update.d.ts.map +1 -1
  328. package/dist/collections/operations/update.js +6 -3
  329. package/dist/collections/operations/update.js.map +1 -1
  330. package/dist/collections/operations/updateByID.d.ts +5 -7
  331. package/dist/collections/operations/updateByID.d.ts.map +1 -1
  332. package/dist/collections/operations/updateByID.js +6 -2
  333. package/dist/collections/operations/updateByID.js.map +1 -1
  334. package/dist/collections/operations/utils.d.ts +42 -33
  335. package/dist/collections/operations/utils.d.ts.map +1 -1
  336. package/dist/collections/operations/utils.js +0 -1
  337. package/dist/collections/operations/utils.js.map +1 -1
  338. package/dist/config/build.d.ts.map +1 -1
  339. package/dist/config/build.js +3 -4
  340. package/dist/config/build.js.map +1 -1
  341. package/dist/config/client.d.ts +6 -5
  342. package/dist/config/client.d.ts.map +1 -1
  343. package/dist/config/client.js +26 -24
  344. package/dist/config/client.js.map +1 -1
  345. package/dist/config/defaults.d.ts.map +1 -1
  346. package/dist/config/defaults.js +17 -4
  347. package/dist/config/defaults.js.map +1 -1
  348. package/dist/config/find.d.ts.map +1 -1
  349. package/dist/config/find.js +20 -23
  350. package/dist/config/find.js.map +1 -1
  351. package/dist/config/sanitize.d.ts +1 -1
  352. package/dist/config/sanitize.d.ts.map +1 -1
  353. package/dist/config/sanitize.js +53 -15
  354. package/dist/config/sanitize.js.map +1 -1
  355. package/dist/config/types.d.ts +183 -93
  356. package/dist/config/types.d.ts.map +1 -1
  357. package/dist/config/types.js +7 -13
  358. package/dist/config/types.js.map +1 -1
  359. package/dist/database/combineQueries.js.map +1 -1
  360. package/dist/database/createDatabaseAdapter.d.ts.map +1 -1
  361. package/dist/database/createDatabaseAdapter.js +1 -1
  362. package/dist/database/createDatabaseAdapter.js.map +1 -1
  363. package/dist/database/flattenWhereToOperators.js.map +1 -1
  364. package/dist/database/getLocalizedPaths.d.ts.map +1 -1
  365. package/dist/database/getLocalizedPaths.js +0 -1
  366. package/dist/database/getLocalizedPaths.js.map +1 -1
  367. package/dist/database/migrations/createMigration.d.ts.map +1 -1
  368. package/dist/database/migrations/createMigration.js +1 -1
  369. package/dist/database/migrations/createMigration.js.map +1 -1
  370. package/dist/database/migrations/getMigrations.js.map +1 -1
  371. package/dist/database/migrations/getPredefinedMigration.d.ts +12 -0
  372. package/dist/database/migrations/getPredefinedMigration.d.ts.map +1 -0
  373. package/dist/database/migrations/getPredefinedMigration.js +41 -0
  374. package/dist/database/migrations/getPredefinedMigration.js.map +1 -0
  375. package/dist/database/migrations/migrate.d.ts.map +1 -1
  376. package/dist/database/migrations/migrate.js +2 -2
  377. package/dist/database/migrations/migrate.js.map +1 -1
  378. package/dist/database/migrations/migrateDown.d.ts.map +1 -1
  379. package/dist/database/migrations/migrateDown.js +1 -1
  380. package/dist/database/migrations/migrateDown.js.map +1 -1
  381. package/dist/database/migrations/migrateRefresh.d.ts.map +1 -1
  382. package/dist/database/migrations/migrateRefresh.js +1 -1
  383. package/dist/database/migrations/migrateRefresh.js.map +1 -1
  384. package/dist/database/migrations/migrateReset.d.ts.map +1 -1
  385. package/dist/database/migrations/migrateReset.js +1 -1
  386. package/dist/database/migrations/migrateReset.js.map +1 -1
  387. package/dist/database/migrations/migrateStatus.js +0 -1
  388. package/dist/database/migrations/migrateStatus.js.map +1 -1
  389. package/dist/database/migrations/migrationTemplate.js.map +1 -1
  390. package/dist/database/migrations/migrationsCollection.js.map +1 -1
  391. package/dist/database/migrations/readMigrationFiles.d.ts.map +1 -1
  392. package/dist/database/migrations/readMigrationFiles.js.map +1 -1
  393. package/dist/database/queryValidation/types.js.map +1 -1
  394. package/dist/database/queryValidation/validateQueryPaths.d.ts.map +1 -1
  395. package/dist/database/queryValidation/validateQueryPaths.js +4 -4
  396. package/dist/database/queryValidation/validateQueryPaths.js.map +1 -1
  397. package/dist/database/queryValidation/validateSearchParams.d.ts.map +1 -1
  398. package/dist/database/queryValidation/validateSearchParams.js +0 -3
  399. package/dist/database/queryValidation/validateSearchParams.js.map +1 -1
  400. package/dist/database/types.d.ts +28 -14
  401. package/dist/database/types.d.ts.map +1 -1
  402. package/dist/database/types.js.map +1 -1
  403. package/dist/email/consoleEmailAdapter.d.ts +3 -0
  404. package/dist/email/consoleEmailAdapter.d.ts.map +1 -0
  405. package/dist/email/consoleEmailAdapter.js +17 -0
  406. package/dist/email/consoleEmailAdapter.js.map +1 -0
  407. package/dist/email/defaults.d.ts +2 -2
  408. package/dist/email/defaults.d.ts.map +1 -1
  409. package/dist/email/defaults.js +3 -3
  410. package/dist/email/defaults.js.map +1 -1
  411. package/dist/email/getStringifiedToAddress.d.ts +3 -0
  412. package/dist/email/getStringifiedToAddress.d.ts.map +1 -0
  413. package/dist/email/getStringifiedToAddress.js +20 -0
  414. package/dist/email/getStringifiedToAddress.js.map +1 -0
  415. package/dist/email/sendEmail.d.ts +3 -2
  416. package/dist/email/sendEmail.d.ts.map +1 -1
  417. package/dist/email/sendEmail.js +8 -4
  418. package/dist/email/sendEmail.js.map +1 -1
  419. package/dist/email/types.d.ts +26 -18
  420. package/dist/email/types.d.ts.map +1 -1
  421. package/dist/email/types.js +5 -1
  422. package/dist/email/types.js.map +1 -1
  423. package/dist/errors/APIError.d.ts +3 -2
  424. package/dist/errors/APIError.d.ts.map +1 -1
  425. package/dist/errors/APIError.js +9 -4
  426. package/dist/errors/APIError.js.map +1 -1
  427. package/dist/errors/AuthenticationError.d.ts +3 -4
  428. package/dist/errors/AuthenticationError.d.ts.map +1 -1
  429. package/dist/errors/AuthenticationError.js +4 -5
  430. package/dist/errors/AuthenticationError.js.map +1 -1
  431. package/dist/errors/DuplicateCollection.d.ts +2 -3
  432. package/dist/errors/DuplicateCollection.d.ts.map +1 -1
  433. package/dist/errors/DuplicateCollection.js +2 -3
  434. package/dist/errors/DuplicateCollection.js.map +1 -1
  435. package/dist/errors/DuplicateFieldName.d.ts +2 -3
  436. package/dist/errors/DuplicateFieldName.d.ts.map +1 -1
  437. package/dist/errors/DuplicateFieldName.js +2 -3
  438. package/dist/errors/DuplicateFieldName.js.map +1 -1
  439. package/dist/errors/DuplicateGlobal.d.ts +2 -3
  440. package/dist/errors/DuplicateGlobal.d.ts.map +1 -1
  441. package/dist/errors/DuplicateGlobal.js +2 -3
  442. package/dist/errors/DuplicateGlobal.js.map +1 -1
  443. package/dist/errors/ErrorDeletingFile.d.ts +2 -3
  444. package/dist/errors/ErrorDeletingFile.d.ts.map +1 -1
  445. package/dist/errors/ErrorDeletingFile.js +2 -3
  446. package/dist/errors/ErrorDeletingFile.js.map +1 -1
  447. package/dist/errors/FileRetrievalError.d.ts +6 -0
  448. package/dist/errors/FileRetrievalError.d.ts.map +1 -0
  449. package/dist/errors/FileRetrievalError.js +13 -0
  450. package/dist/errors/FileRetrievalError.js.map +1 -0
  451. package/dist/errors/FileUploadError.d.ts +2 -3
  452. package/dist/errors/FileUploadError.d.ts.map +1 -1
  453. package/dist/errors/FileUploadError.js +2 -3
  454. package/dist/errors/FileUploadError.js.map +1 -1
  455. package/dist/errors/Forbidden.d.ts +2 -3
  456. package/dist/errors/Forbidden.d.ts.map +1 -1
  457. package/dist/errors/Forbidden.js +2 -3
  458. package/dist/errors/Forbidden.js.map +1 -1
  459. package/dist/errors/InvalidConfiguration.d.ts +2 -3
  460. package/dist/errors/InvalidConfiguration.d.ts.map +1 -1
  461. package/dist/errors/InvalidConfiguration.js +2 -3
  462. package/dist/errors/InvalidConfiguration.js.map +1 -1
  463. package/dist/errors/InvalidFieldName.d.ts +2 -3
  464. package/dist/errors/InvalidFieldName.d.ts.map +1 -1
  465. package/dist/errors/InvalidFieldName.js +2 -3
  466. package/dist/errors/InvalidFieldName.js.map +1 -1
  467. package/dist/errors/InvalidFieldRelationship.d.ts +2 -3
  468. package/dist/errors/InvalidFieldRelationship.d.ts.map +1 -1
  469. package/dist/errors/InvalidFieldRelationship.js +2 -3
  470. package/dist/errors/InvalidFieldRelationship.js.map +1 -1
  471. package/dist/errors/InvalidSchema.d.ts +2 -3
  472. package/dist/errors/InvalidSchema.d.ts.map +1 -1
  473. package/dist/errors/InvalidSchema.js +2 -3
  474. package/dist/errors/InvalidSchema.js.map +1 -1
  475. package/dist/errors/LockedAuth.d.ts +2 -3
  476. package/dist/errors/LockedAuth.d.ts.map +1 -1
  477. package/dist/errors/LockedAuth.js +2 -3
  478. package/dist/errors/LockedAuth.js.map +1 -1
  479. package/dist/errors/MissingCollectionLabel.d.ts +2 -3
  480. package/dist/errors/MissingCollectionLabel.d.ts.map +1 -1
  481. package/dist/errors/MissingCollectionLabel.js +2 -3
  482. package/dist/errors/MissingCollectionLabel.js.map +1 -1
  483. package/dist/errors/MissingEditorProp.d.ts +2 -3
  484. package/dist/errors/MissingEditorProp.d.ts.map +1 -1
  485. package/dist/errors/MissingEditorProp.js +3 -4
  486. package/dist/errors/MissingEditorProp.js.map +1 -1
  487. package/dist/errors/MissingFieldInputOptions.d.ts +2 -3
  488. package/dist/errors/MissingFieldInputOptions.d.ts.map +1 -1
  489. package/dist/errors/MissingFieldInputOptions.js +2 -3
  490. package/dist/errors/MissingFieldInputOptions.js.map +1 -1
  491. package/dist/errors/MissingFieldType.d.ts +2 -3
  492. package/dist/errors/MissingFieldType.d.ts.map +1 -1
  493. package/dist/errors/MissingFieldType.js +2 -3
  494. package/dist/errors/MissingFieldType.js.map +1 -1
  495. package/dist/errors/MissingFile.d.ts +2 -3
  496. package/dist/errors/MissingFile.d.ts.map +1 -1
  497. package/dist/errors/MissingFile.js +2 -3
  498. package/dist/errors/MissingFile.js.map +1 -1
  499. package/dist/errors/NotFound.d.ts +2 -3
  500. package/dist/errors/NotFound.d.ts.map +1 -1
  501. package/dist/errors/NotFound.js +2 -3
  502. package/dist/errors/NotFound.js.map +1 -1
  503. package/dist/errors/QueryError.d.ts +2 -3
  504. package/dist/errors/QueryError.d.ts.map +1 -1
  505. package/dist/errors/QueryError.js +2 -3
  506. package/dist/errors/QueryError.js.map +1 -1
  507. package/dist/errors/ReservedFieldName.d.ts +6 -0
  508. package/dist/errors/ReservedFieldName.d.ts.map +1 -0
  509. package/dist/errors/ReservedFieldName.js +8 -0
  510. package/dist/errors/ReservedFieldName.js.map +1 -0
  511. package/dist/errors/TimestampsRequired.d.ts +2 -3
  512. package/dist/errors/TimestampsRequired.d.ts.map +1 -1
  513. package/dist/errors/TimestampsRequired.js +2 -3
  514. package/dist/errors/TimestampsRequired.js.map +1 -1
  515. package/dist/errors/UnathorizedError.d.ts +2 -3
  516. package/dist/errors/UnathorizedError.d.ts.map +1 -1
  517. package/dist/errors/UnathorizedError.js +2 -3
  518. package/dist/errors/UnathorizedError.js.map +1 -1
  519. package/dist/errors/ValidationError.d.ts +16 -8
  520. package/dist/errors/ValidationError.d.ts.map +1 -1
  521. package/dist/errors/ValidationError.js +8 -6
  522. package/dist/errors/ValidationError.js.map +1 -1
  523. package/dist/errors/index.d.ts +22 -19
  524. package/dist/errors/index.d.ts.map +1 -1
  525. package/dist/errors/index.js +22 -19
  526. package/dist/errors/index.js.map +1 -1
  527. package/dist/errors/types.js.map +1 -1
  528. package/dist/exports/components/utilities.js.map +1 -1
  529. package/dist/exports/i18n/ar.js.map +1 -1
  530. package/dist/exports/i18n/az.js.map +1 -1
  531. package/dist/exports/i18n/bg.js.map +1 -1
  532. package/dist/exports/i18n/cs.js.map +1 -1
  533. package/dist/exports/i18n/de.js.map +1 -1
  534. package/dist/exports/i18n/en.js.map +1 -1
  535. package/dist/exports/i18n/es.js.map +1 -1
  536. package/dist/exports/i18n/fa.js.map +1 -1
  537. package/dist/exports/i18n/fr.js.map +1 -1
  538. package/dist/exports/i18n/he.d.ts +2 -0
  539. package/dist/exports/i18n/he.d.ts.map +1 -0
  540. package/dist/exports/i18n/he.js +3 -0
  541. package/dist/exports/i18n/he.js.map +1 -0
  542. package/dist/exports/i18n/hr.js.map +1 -1
  543. package/dist/exports/i18n/hu.js.map +1 -1
  544. package/dist/exports/i18n/it.js.map +1 -1
  545. package/dist/exports/i18n/ja.js.map +1 -1
  546. package/dist/exports/i18n/ko.js.map +1 -1
  547. package/dist/exports/i18n/my.js.map +1 -1
  548. package/dist/exports/i18n/nb.js.map +1 -1
  549. package/dist/exports/i18n/nl.js.map +1 -1
  550. package/dist/exports/i18n/pl.js.map +1 -1
  551. package/dist/exports/i18n/pt.js.map +1 -1
  552. package/dist/exports/i18n/ro.js.map +1 -1
  553. package/dist/exports/i18n/rs.js.map +1 -1
  554. package/dist/exports/i18n/rsLatin.js.map +1 -1
  555. package/dist/exports/i18n/ru.js.map +1 -1
  556. package/dist/exports/i18n/sv.js.map +1 -1
  557. package/dist/exports/i18n/th.js.map +1 -1
  558. package/dist/exports/i18n/tr.js.map +1 -1
  559. package/dist/exports/i18n/uk.js.map +1 -1
  560. package/dist/exports/i18n/vi.js.map +1 -1
  561. package/dist/exports/i18n/zh.js.map +1 -1
  562. package/dist/exports/i18n/zhTw.js.map +1 -1
  563. package/dist/exports/node.d.ts +5 -0
  564. package/dist/exports/node.d.ts.map +1 -1
  565. package/dist/exports/node.js +5 -1
  566. package/dist/exports/node.js.map +1 -1
  567. package/dist/exports/shared.d.ts +23 -0
  568. package/dist/exports/shared.d.ts.map +1 -0
  569. package/dist/exports/shared.js +24 -0
  570. package/dist/exports/shared.js.map +1 -0
  571. package/dist/fields/baseFields/baseBlockFields.js.map +1 -1
  572. package/dist/fields/baseFields/baseIDField.js.map +1 -1
  573. package/dist/fields/config/client.d.ts +939 -702
  574. package/dist/fields/config/client.d.ts.map +1 -1
  575. package/dist/fields/config/client.js +5 -1
  576. package/dist/fields/config/client.js.map +1 -1
  577. package/dist/fields/config/sanitize.d.ts +9 -2
  578. package/dist/fields/config/sanitize.d.ts.map +1 -1
  579. package/dist/fields/config/sanitize.js +57 -36
  580. package/dist/fields/config/sanitize.js.map +1 -1
  581. package/dist/fields/config/sanitize.spec.js +130 -139
  582. package/dist/fields/config/sanitize.spec.js.map +1 -1
  583. package/dist/fields/config/types.d.ts +239 -134
  584. package/dist/fields/config/types.d.ts.map +1 -1
  585. package/dist/fields/config/types.js +1 -1
  586. package/dist/fields/config/types.js.map +1 -1
  587. package/dist/fields/getDefaultValue.d.ts +5 -5
  588. package/dist/fields/getDefaultValue.d.ts.map +1 -1
  589. package/dist/fields/getDefaultValue.js +4 -6
  590. package/dist/fields/getDefaultValue.js.map +1 -1
  591. package/dist/fields/getFieldPaths.d.ts +10 -0
  592. package/dist/fields/getFieldPaths.d.ts.map +1 -0
  593. package/dist/fields/getFieldPaths.js +45 -0
  594. package/dist/fields/getFieldPaths.js.map +1 -0
  595. package/dist/fields/hooks/afterChange/index.d.ts +12 -6
  596. package/dist/fields/hooks/afterChange/index.d.ts.map +1 -1
  597. package/dist/fields/hooks/afterChange/index.js +4 -2
  598. package/dist/fields/hooks/afterChange/index.js.map +1 -1
  599. package/dist/fields/hooks/afterChange/promise.d.ts +16 -8
  600. package/dist/fields/hooks/afterChange/promise.d.ts.map +1 -1
  601. package/dist/fields/hooks/afterChange/promise.js +67 -3
  602. package/dist/fields/hooks/afterChange/promise.js.map +1 -1
  603. package/dist/fields/hooks/afterChange/traverseFields.d.ts +10 -8
  604. package/dist/fields/hooks/afterChange/traverseFields.d.ts.map +1 -1
  605. package/dist/fields/hooks/afterChange/traverseFields.js +3 -1
  606. package/dist/fields/hooks/afterChange/traverseFields.js.map +1 -1
  607. package/dist/fields/hooks/afterRead/index.d.ts +6 -5
  608. package/dist/fields/hooks/afterRead/index.d.ts.map +1 -1
  609. package/dist/fields/hooks/afterRead/index.js +7 -4
  610. package/dist/fields/hooks/afterRead/index.js.map +1 -1
  611. package/dist/fields/hooks/afterRead/promise.d.ts +16 -4
  612. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
  613. package/dist/fields/hooks/afterRead/promise.js +148 -37
  614. package/dist/fields/hooks/afterRead/promise.js.map +1 -1
  615. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts +2 -1
  616. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
  617. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +16 -10
  618. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js.map +1 -1
  619. package/dist/fields/hooks/afterRead/traverseFields.d.ts +10 -4
  620. package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
  621. package/dist/fields/hooks/afterRead/traverseFields.js +4 -1
  622. package/dist/fields/hooks/afterRead/traverseFields.js.map +1 -1
  623. package/dist/fields/hooks/beforeChange/beforeDuplicate.js.map +1 -1
  624. package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.d.ts +2 -1
  625. package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.d.ts.map +1 -1
  626. package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.js.map +1 -1
  627. package/dist/fields/hooks/beforeChange/getExistingRowDoc.d.ts +2 -1
  628. package/dist/fields/hooks/beforeChange/getExistingRowDoc.d.ts.map +1 -1
  629. package/dist/fields/hooks/beforeChange/getExistingRowDoc.js.map +1 -1
  630. package/dist/fields/hooks/beforeChange/index.d.ts +7 -7
  631. package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
  632. package/dist/fields/hooks/beforeChange/index.js +10 -5
  633. package/dist/fields/hooks/beforeChange/index.js.map +1 -1
  634. package/dist/fields/hooks/beforeChange/promise.d.ts +16 -9
  635. package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
  636. package/dist/fields/hooks/beforeChange/promise.js +83 -18
  637. package/dist/fields/hooks/beforeChange/promise.js.map +1 -1
  638. package/dist/fields/hooks/beforeChange/traverseFields.d.ts +23 -10
  639. package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
  640. package/dist/fields/hooks/beforeChange/traverseFields.js +4 -3
  641. package/dist/fields/hooks/beforeChange/traverseFields.js.map +1 -1
  642. package/dist/fields/hooks/beforeValidate/index.d.ts +5 -5
  643. package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
  644. package/dist/fields/hooks/beforeValidate/index.js +4 -2
  645. package/dist/fields/hooks/beforeValidate/index.js.map +1 -1
  646. package/dist/fields/hooks/beforeValidate/promise.d.ts +12 -4
  647. package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
  648. package/dist/fields/hooks/beforeValidate/promise.js +73 -6
  649. package/dist/fields/hooks/beforeValidate/promise.js.map +1 -1
  650. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts +12 -4
  651. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
  652. package/dist/fields/hooks/beforeValidate/traverseFields.js +3 -1
  653. package/dist/fields/hooks/beforeValidate/traverseFields.js.map +1 -1
  654. package/dist/fields/mergeBaseFields.d.ts.map +1 -1
  655. package/dist/fields/mergeBaseFields.js +2 -2
  656. package/dist/fields/mergeBaseFields.js.map +1 -1
  657. package/dist/fields/setDefaultBeforeDuplicate.js.map +1 -1
  658. package/dist/fields/sortableFieldTypes.js.map +1 -1
  659. package/dist/fields/validations.d.ts +26 -16
  660. package/dist/fields/validations.d.ts.map +1 -1
  661. package/dist/fields/validations.js +80 -9
  662. package/dist/fields/validations.js.map +1 -1
  663. package/dist/fields/validations.spec.js +16 -15
  664. package/dist/fields/validations.spec.js.map +1 -1
  665. package/dist/globals/config/client.d.ts +7 -7
  666. package/dist/globals/config/client.d.ts.map +1 -1
  667. package/dist/globals/config/client.js +2 -1
  668. package/dist/globals/config/client.js.map +1 -1
  669. package/dist/globals/config/sanitize.d.ts +2 -3
  670. package/dist/globals/config/sanitize.d.ts.map +1 -1
  671. package/dist/globals/config/sanitize.js +48 -41
  672. package/dist/globals/config/sanitize.js.map +1 -1
  673. package/dist/globals/config/types.d.ts +12 -7
  674. package/dist/globals/config/types.d.ts.map +1 -1
  675. package/dist/globals/config/types.js.map +1 -1
  676. package/dist/globals/operations/docAccess.d.ts.map +1 -1
  677. package/dist/globals/operations/docAccess.js.map +1 -1
  678. package/dist/globals/operations/findOne.d.ts.map +1 -1
  679. package/dist/globals/operations/findOne.js +1 -0
  680. package/dist/globals/operations/findOne.js.map +1 -1
  681. package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
  682. package/dist/globals/operations/findVersionByID.js +4 -2
  683. package/dist/globals/operations/findVersionByID.js.map +1 -1
  684. package/dist/globals/operations/findVersions.d.ts.map +1 -1
  685. package/dist/globals/operations/findVersions.js +1 -0
  686. package/dist/globals/operations/findVersions.js.map +1 -1
  687. package/dist/globals/operations/local/findOne.d.ts +7 -6
  688. package/dist/globals/operations/local/findOne.d.ts.map +1 -1
  689. package/dist/globals/operations/local/findOne.js.map +1 -1
  690. package/dist/globals/operations/local/findVersionByID.d.ts +7 -6
  691. package/dist/globals/operations/local/findVersionByID.d.ts.map +1 -1
  692. package/dist/globals/operations/local/findVersionByID.js.map +1 -1
  693. package/dist/globals/operations/local/findVersions.d.ts +7 -6
  694. package/dist/globals/operations/local/findVersions.d.ts.map +1 -1
  695. package/dist/globals/operations/local/findVersions.js.map +1 -1
  696. package/dist/globals/operations/local/index.js.map +1 -1
  697. package/dist/globals/operations/local/restoreVersion.d.ts +7 -6
  698. package/dist/globals/operations/local/restoreVersion.d.ts.map +1 -1
  699. package/dist/globals/operations/local/restoreVersion.js.map +1 -1
  700. package/dist/globals/operations/local/update.d.ts +7 -6
  701. package/dist/globals/operations/local/update.d.ts.map +1 -1
  702. package/dist/globals/operations/local/update.js.map +1 -1
  703. package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
  704. package/dist/globals/operations/restoreVersion.js +1 -0
  705. package/dist/globals/operations/restoreVersion.js.map +1 -1
  706. package/dist/globals/operations/update.d.ts +5 -7
  707. package/dist/globals/operations/update.d.ts.map +1 -1
  708. package/dist/globals/operations/update.js +5 -2
  709. package/dist/globals/operations/update.js.map +1 -1
  710. package/dist/index.d.ts +220 -53
  711. package/dist/index.d.ts.map +1 -1
  712. package/dist/index.js +219 -22
  713. package/dist/index.js.map +1 -1
  714. package/dist/preferences/deleteUserPreferences.js.map +1 -1
  715. package/dist/preferences/operations/delete.js +2 -2
  716. package/dist/preferences/operations/delete.js.map +1 -1
  717. package/dist/preferences/operations/findOne.d.ts +2 -2
  718. package/dist/preferences/operations/findOne.d.ts.map +1 -1
  719. package/dist/preferences/operations/findOne.js.map +1 -1
  720. package/dist/preferences/operations/update.js +1 -1
  721. package/dist/preferences/operations/update.js.map +1 -1
  722. package/dist/preferences/preferencesCollection.js.map +1 -1
  723. package/dist/preferences/requestHandlers/delete.d.ts.map +1 -1
  724. package/dist/preferences/requestHandlers/delete.js +18 -5
  725. package/dist/preferences/requestHandlers/delete.js.map +1 -1
  726. package/dist/preferences/requestHandlers/findOne.d.ts.map +1 -1
  727. package/dist/preferences/requestHandlers/findOne.js +18 -5
  728. package/dist/preferences/requestHandlers/findOne.js.map +1 -1
  729. package/dist/preferences/requestHandlers/update.d.ts.map +1 -1
  730. package/dist/preferences/requestHandlers/update.js +19 -7
  731. package/dist/preferences/requestHandlers/update.js.map +1 -1
  732. package/dist/preferences/types.d.ts +2 -2
  733. package/dist/preferences/types.d.ts.map +1 -1
  734. package/dist/preferences/types.js.map +1 -1
  735. package/dist/translations/getLocalI18n.d.ts +1 -1
  736. package/dist/translations/getLocalI18n.d.ts.map +1 -1
  737. package/dist/translations/getLocalI18n.js +1 -1
  738. package/dist/translations/getLocalI18n.js.map +1 -1
  739. package/dist/types/constants.js.map +1 -1
  740. package/dist/types/index.d.ts +42 -33
  741. package/dist/types/index.d.ts.map +1 -1
  742. package/dist/types/index.js.map +1 -1
  743. package/dist/uploads/canResizeImage.d.ts +1 -1
  744. package/dist/uploads/canResizeImage.d.ts.map +1 -1
  745. package/dist/uploads/canResizeImage.js +1 -1
  746. package/dist/uploads/canResizeImage.js.map +1 -1
  747. package/dist/uploads/cropImage.d.ts +22 -6
  748. package/dist/uploads/cropImage.d.ts.map +1 -1
  749. package/dist/uploads/cropImage.js +18 -5
  750. package/dist/uploads/cropImage.js.map +1 -1
  751. package/dist/uploads/deleteAssociatedFiles.d.ts.map +1 -1
  752. package/dist/uploads/deleteAssociatedFiles.js +0 -2
  753. package/dist/uploads/deleteAssociatedFiles.js.map +1 -1
  754. package/dist/uploads/docWithFilenameExists.d.ts.map +1 -1
  755. package/dist/uploads/docWithFilenameExists.js.map +1 -1
  756. package/dist/uploads/fileExists.d.ts.map +1 -1
  757. package/dist/uploads/fileExists.js.map +1 -1
  758. package/dist/uploads/formatFilesize.js.map +1 -1
  759. package/dist/uploads/generateFileData.d.ts +3 -1
  760. package/dist/uploads/generateFileData.d.ts.map +1 -1
  761. package/dist/uploads/generateFileData.js +97 -36
  762. package/dist/uploads/generateFileData.js.map +1 -1
  763. package/dist/uploads/getBaseFields.d.ts.map +1 -1
  764. package/dist/uploads/getBaseFields.js +23 -4
  765. package/dist/uploads/getBaseFields.js.map +1 -1
  766. package/dist/uploads/getExternalFile.d.ts +4 -3
  767. package/dist/uploads/getExternalFile.d.ts.map +1 -1
  768. package/dist/uploads/getExternalFile.js +10 -6
  769. package/dist/uploads/getExternalFile.js.map +1 -1
  770. package/dist/uploads/getFileByPath.d.ts +2 -2
  771. package/dist/uploads/getFileByPath.d.ts.map +1 -1
  772. package/dist/uploads/getFileByPath.js +2 -3
  773. package/dist/uploads/getFileByPath.js.map +1 -1
  774. package/dist/uploads/getImageSize.d.ts +1 -1
  775. package/dist/uploads/getImageSize.d.ts.map +1 -1
  776. package/dist/uploads/getImageSize.js +19 -5
  777. package/dist/uploads/getImageSize.js.map +1 -1
  778. package/dist/uploads/getSafeFilename.d.ts +2 -2
  779. package/dist/uploads/getSafeFilename.d.ts.map +1 -1
  780. package/dist/uploads/getSafeFilename.js +1 -3
  781. package/dist/uploads/getSafeFilename.js.map +1 -1
  782. package/dist/uploads/imageResizer.d.ts +11 -11
  783. package/dist/uploads/imageResizer.d.ts.map +1 -1
  784. package/dist/uploads/imageResizer.js +181 -120
  785. package/dist/uploads/imageResizer.js.map +1 -1
  786. package/dist/uploads/isImage.d.ts +1 -1
  787. package/dist/uploads/isImage.d.ts.map +1 -1
  788. package/dist/uploads/isImage.js +1 -1
  789. package/dist/uploads/isImage.js.map +1 -1
  790. package/dist/uploads/mimeTypeValidator.js.map +1 -1
  791. package/dist/uploads/mimeTypeValidator.spec.js.map +1 -1
  792. package/dist/uploads/optionallyAppendMetadata.d.ts +12 -0
  793. package/dist/uploads/optionallyAppendMetadata.d.ts.map +1 -0
  794. package/dist/uploads/optionallyAppendMetadata.js +15 -0
  795. package/dist/uploads/optionallyAppendMetadata.js.map +1 -0
  796. package/dist/uploads/saveBufferToFile.d.ts +0 -1
  797. package/dist/uploads/saveBufferToFile.d.ts.map +1 -1
  798. package/dist/uploads/saveBufferToFile.js.map +1 -1
  799. package/dist/uploads/tempFile.d.ts +7 -0
  800. package/dist/uploads/tempFile.d.ts.map +1 -0
  801. package/dist/uploads/tempFile.js +39 -0
  802. package/dist/uploads/tempFile.js.map +1 -0
  803. package/dist/uploads/types.d.ts +120 -12
  804. package/dist/uploads/types.d.ts.map +1 -1
  805. package/dist/uploads/types.js.map +1 -1
  806. package/dist/uploads/unlinkTempFiles.js.map +1 -1
  807. package/dist/uploads/uploadFiles.d.ts.map +1 -1
  808. package/dist/uploads/uploadFiles.js.map +1 -1
  809. package/dist/utilities/checkDuplicateCollections.js +1 -1
  810. package/dist/utilities/checkDuplicateCollections.js.map +1 -1
  811. package/dist/utilities/commitTransaction.js.map +1 -1
  812. package/dist/utilities/configToJSONSchema.d.ts +1 -0
  813. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  814. package/dist/utilities/configToJSONSchema.js +211 -5
  815. package/dist/utilities/configToJSONSchema.js.map +1 -1
  816. package/dist/utilities/configToJSONSchema.spec.js +165 -11
  817. package/dist/utilities/configToJSONSchema.spec.js.map +1 -1
  818. package/dist/utilities/createArrayFromCommaDelineated.js.map +1 -1
  819. package/dist/utilities/createLocalReq.d.ts.map +1 -1
  820. package/dist/utilities/createLocalReq.js +10 -6
  821. package/dist/utilities/createLocalReq.js.map +1 -1
  822. package/dist/utilities/deepCopyObject.d.ts +18 -1
  823. package/dist/utilities/deepCopyObject.d.ts.map +1 -1
  824. package/dist/utilities/deepCopyObject.js +147 -16
  825. package/dist/utilities/deepCopyObject.js.map +1 -1
  826. package/dist/utilities/deepMerge.d.ts +18 -1
  827. package/dist/utilities/deepMerge.d.ts.map +1 -1
  828. package/dist/utilities/deepMerge.js +38 -13
  829. package/dist/utilities/deepMerge.js.map +1 -1
  830. package/dist/utilities/dependencies/getDependencies.d.ts +9 -0
  831. package/dist/utilities/dependencies/getDependencies.d.ts.map +1 -0
  832. package/dist/utilities/dependencies/getDependencies.js +71 -0
  833. package/dist/utilities/dependencies/getDependencies.js.map +1 -0
  834. package/dist/utilities/dependencies/isError.d.ts +5 -0
  835. package/dist/utilities/dependencies/isError.d.ts.map +1 -0
  836. package/dist/utilities/dependencies/isError.js +19 -0
  837. package/dist/utilities/dependencies/isError.js.map +1 -0
  838. package/dist/utilities/dependencies/realPath.d.ts +3 -0
  839. package/dist/utilities/dependencies/realPath.d.ts.map +1 -0
  840. package/dist/utilities/dependencies/realPath.js +23 -0
  841. package/dist/utilities/dependencies/realPath.js.map +1 -0
  842. package/dist/utilities/dependencies/resolveFrom.d.ts +2 -0
  843. package/dist/utilities/dependencies/resolveFrom.d.ts.map +1 -0
  844. package/dist/utilities/dependencies/resolveFrom.js +58 -0
  845. package/dist/utilities/dependencies/resolveFrom.js.map +1 -0
  846. package/dist/utilities/fieldSchemaToJSON.d.ts.map +1 -1
  847. package/dist/utilities/fieldSchemaToJSON.js.map +1 -1
  848. package/dist/utilities/flattenTopLevelFields.js.map +1 -1
  849. package/dist/utilities/formatLabels.js.map +1 -1
  850. package/dist/utilities/formatLabels.spec.js.map +1 -1
  851. package/dist/utilities/getCollectionIDFieldTypes.js.map +1 -1
  852. package/dist/utilities/getDataByPath.d.ts +3 -0
  853. package/dist/utilities/getDataByPath.d.ts.map +1 -0
  854. package/dist/utilities/getDataByPath.js +18 -0
  855. package/dist/utilities/getDataByPath.js.map +1 -0
  856. package/dist/utilities/getEntityPolicies.js.map +1 -1
  857. package/dist/utilities/getObjectDotNotation.d.ts.map +1 -1
  858. package/dist/utilities/getObjectDotNotation.js.map +1 -1
  859. package/dist/utilities/getSiblingData.d.ts +3 -0
  860. package/dist/utilities/getSiblingData.d.ts.map +1 -0
  861. package/dist/utilities/getSiblingData.js +33 -0
  862. package/dist/utilities/getSiblingData.js.map +1 -0
  863. package/dist/utilities/getUniqueListBy.d.ts +1 -1
  864. package/dist/utilities/getUniqueListBy.d.ts.map +1 -1
  865. package/dist/utilities/getUniqueListBy.js +1 -1
  866. package/dist/utilities/getUniqueListBy.js.map +1 -1
  867. package/dist/utilities/importWithoutClientFiles.d.ts.map +1 -1
  868. package/dist/utilities/importWithoutClientFiles.js +10 -4
  869. package/dist/utilities/importWithoutClientFiles.js.map +1 -1
  870. package/dist/utilities/initTransaction.d.ts.map +1 -1
  871. package/dist/utilities/initTransaction.js +9 -9
  872. package/dist/utilities/initTransaction.js.map +1 -1
  873. package/dist/utilities/isEntityHidden.d.ts +3 -3
  874. package/dist/utilities/isEntityHidden.d.ts.map +1 -1
  875. package/dist/utilities/isEntityHidden.js.map +1 -1
  876. package/dist/utilities/isNumber.js.map +1 -1
  877. package/dist/utilities/isPlainObject.d.ts +1 -1
  878. package/dist/utilities/isPlainObject.d.ts.map +1 -1
  879. package/dist/utilities/isPlainObject.js +4 -18
  880. package/dist/utilities/isPlainObject.js.map +1 -1
  881. package/dist/utilities/isReactComponent.d.ts +2 -3
  882. package/dist/utilities/isReactComponent.d.ts.map +1 -1
  883. package/dist/utilities/isReactComponent.js +17 -11
  884. package/dist/utilities/isReactComponent.js.map +1 -1
  885. package/dist/utilities/isValidID.d.ts +1 -1
  886. package/dist/utilities/isValidID.js.map +1 -1
  887. package/dist/utilities/isolateObjectProperty.d.ts +1 -1
  888. package/dist/utilities/isolateObjectProperty.d.ts.map +1 -1
  889. package/dist/utilities/isolateObjectProperty.js +14 -5
  890. package/dist/utilities/isolateObjectProperty.js.map +1 -1
  891. package/dist/utilities/killTransaction.js +1 -1
  892. package/dist/utilities/killTransaction.js.map +1 -1
  893. package/dist/utilities/logger.d.ts +5 -7
  894. package/dist/utilities/logger.d.ts.map +1 -1
  895. package/dist/utilities/logger.js +4 -7
  896. package/dist/utilities/logger.js.map +1 -1
  897. package/dist/utilities/mapAsync.js.map +1 -1
  898. package/dist/utilities/mergeListSearchAndWhere.js.map +1 -1
  899. package/dist/utilities/parseCookies.d.ts +1 -1
  900. package/dist/utilities/parseCookies.d.ts.map +1 -1
  901. package/dist/utilities/parseCookies.js +1 -1
  902. package/dist/utilities/parseCookies.js.map +1 -1
  903. package/dist/utilities/reduceFieldsToValues.d.ts +10 -0
  904. package/dist/utilities/reduceFieldsToValues.d.ts.map +1 -0
  905. package/dist/utilities/reduceFieldsToValues.js +22 -0
  906. package/dist/utilities/reduceFieldsToValues.js.map +1 -0
  907. package/dist/utilities/sanitizeInternalFields.d.ts.map +1 -1
  908. package/dist/utilities/sanitizeInternalFields.js.map +1 -1
  909. package/dist/utilities/setsAreEqual.d.ts.map +1 -1
  910. package/dist/utilities/setsAreEqual.js.map +1 -1
  911. package/dist/utilities/telemetry/conf/envPaths.d.ts +23 -0
  912. package/dist/utilities/telemetry/conf/envPaths.d.ts.map +1 -0
  913. package/dist/utilities/telemetry/conf/envPaths.js +70 -0
  914. package/dist/utilities/telemetry/conf/envPaths.js.map +1 -0
  915. package/dist/utilities/telemetry/conf/index.d.ts +84 -0
  916. package/dist/utilities/telemetry/conf/index.d.ts.map +1 -0
  917. package/dist/utilities/telemetry/conf/index.js +144 -0
  918. package/dist/utilities/telemetry/conf/index.js.map +1 -0
  919. package/dist/utilities/telemetry/events/adminInit.d.ts.map +1 -1
  920. package/dist/utilities/telemetry/events/adminInit.js.map +1 -1
  921. package/dist/utilities/telemetry/events/serverInit.d.ts.map +1 -1
  922. package/dist/utilities/telemetry/events/serverInit.js.map +1 -1
  923. package/dist/utilities/telemetry/index.d.ts +9 -0
  924. package/dist/utilities/telemetry/index.d.ts.map +1 -1
  925. package/dist/utilities/telemetry/index.js +64 -17
  926. package/dist/utilities/telemetry/index.js.map +1 -1
  927. package/dist/utilities/telemetry/oneWayHash.d.ts +0 -1
  928. package/dist/utilities/telemetry/oneWayHash.d.ts.map +1 -1
  929. package/dist/utilities/telemetry/oneWayHash.js.map +1 -1
  930. package/dist/utilities/timestamp.js.map +1 -1
  931. package/dist/utilities/toKebabCase.js.map +1 -1
  932. package/dist/utilities/unflatten.d.ts +9 -0
  933. package/dist/utilities/unflatten.d.ts.map +1 -0
  934. package/dist/utilities/unflatten.js +64 -0
  935. package/dist/utilities/unflatten.js.map +1 -0
  936. package/dist/utilities/wait.js.map +1 -1
  937. package/dist/utilities/wordBoundariesRegex.js.map +1 -1
  938. package/dist/versions/baseFields.d.ts.map +1 -1
  939. package/dist/versions/baseFields.js +1 -0
  940. package/dist/versions/baseFields.js.map +1 -1
  941. package/dist/versions/buildCollectionFields.js.map +1 -1
  942. package/dist/versions/buildGlobalFields.js.map +1 -1
  943. package/dist/versions/defaults.d.ts +4 -0
  944. package/dist/versions/defaults.d.ts.map +1 -0
  945. package/dist/versions/defaults.js +5 -0
  946. package/dist/versions/defaults.js.map +1 -0
  947. package/dist/versions/deleteCollectionVersions.d.ts.map +1 -1
  948. package/dist/versions/deleteCollectionVersions.js.map +1 -1
  949. package/dist/versions/drafts/appendVersionToQueryKey.js.map +1 -1
  950. package/dist/versions/drafts/getQueryDraftsSort.js.map +1 -1
  951. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
  952. package/dist/versions/drafts/replaceWithDraftIfAvailable.js +2 -1
  953. package/dist/versions/drafts/replaceWithDraftIfAvailable.js.map +1 -1
  954. package/dist/versions/enforceMaxVersions.d.ts.map +1 -1
  955. package/dist/versions/enforceMaxVersions.js +3 -1
  956. package/dist/versions/enforceMaxVersions.js.map +1 -1
  957. package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
  958. package/dist/versions/getLatestCollectionVersion.js.map +1 -1
  959. package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
  960. package/dist/versions/getLatestGlobalVersion.js +0 -1
  961. package/dist/versions/getLatestGlobalVersion.js.map +1 -1
  962. package/dist/versions/saveVersion.d.ts.map +1 -1
  963. package/dist/versions/saveVersion.js +4 -3
  964. package/dist/versions/saveVersion.js.map +1 -1
  965. package/dist/versions/types.d.ts +2 -0
  966. package/dist/versions/types.d.ts.map +1 -1
  967. package/dist/versions/types.js.map +1 -1
  968. package/package.json +95 -121
  969. package/dist/collections/config/schema.d.ts +0 -4
  970. package/dist/collections/config/schema.d.ts.map +0 -1
  971. package/dist/collections/config/schema.js +0 -176
  972. package/dist/collections/config/schema.js.map +0 -1
  973. package/dist/config/schema.d.ts +0 -5
  974. package/dist/config/schema.d.ts.map +0 -1
  975. package/dist/config/schema.js +0 -146
  976. package/dist/config/schema.js.map +0 -1
  977. package/dist/config/shared/adminViewSchema.d.ts +0 -3
  978. package/dist/config/shared/adminViewSchema.d.ts.map +0 -1
  979. package/dist/config/shared/adminViewSchema.js +0 -11
  980. package/dist/config/shared/adminViewSchema.js.map +0 -1
  981. package/dist/config/shared/componentSchema.d.ts +0 -16
  982. package/dist/config/shared/componentSchema.d.ts.map +0 -1
  983. package/dist/config/shared/componentSchema.js +0 -27
  984. package/dist/config/shared/componentSchema.js.map +0 -1
  985. package/dist/config/validate.d.ts +0 -4
  986. package/dist/config/validate.d.ts.map +0 -1
  987. package/dist/config/validate.js +0 -89
  988. package/dist/config/validate.js.map +0 -1
  989. package/dist/email/build.d.ts +0 -5
  990. package/dist/email/build.d.ts.map +0 -1
  991. package/dist/email/build.js +0 -63
  992. package/dist/email/build.js.map +0 -1
  993. package/dist/email/mockHandler.d.ts +0 -5
  994. package/dist/email/mockHandler.d.ts.map +0 -1
  995. package/dist/email/mockHandler.js +0 -24
  996. package/dist/email/mockHandler.js.map +0 -1
  997. package/dist/exports/auth.d.ts +0 -6
  998. package/dist/exports/auth.d.ts.map +0 -1
  999. package/dist/exports/auth.js +0 -6
  1000. package/dist/exports/auth.js.map +0 -1
  1001. package/dist/exports/config.d.ts +0 -14
  1002. package/dist/exports/config.d.ts.map +0 -1
  1003. package/dist/exports/config.js +0 -14
  1004. package/dist/exports/config.js.map +0 -1
  1005. package/dist/exports/database.d.ts +0 -23
  1006. package/dist/exports/database.d.ts.map +0 -1
  1007. package/dist/exports/database.js +0 -22
  1008. package/dist/exports/database.js.map +0 -1
  1009. package/dist/exports/errors.d.ts +0 -2
  1010. package/dist/exports/errors.d.ts.map +0 -1
  1011. package/dist/exports/errors.js +0 -3
  1012. package/dist/exports/errors.js.map +0 -1
  1013. package/dist/exports/fields/index.d.ts +0 -3
  1014. package/dist/exports/fields/index.d.ts.map +0 -1
  1015. package/dist/exports/fields/index.js +0 -4
  1016. package/dist/exports/fields/index.js.map +0 -1
  1017. package/dist/exports/fields/validations.d.ts +0 -2
  1018. package/dist/exports/fields/validations.d.ts.map +0 -1
  1019. package/dist/exports/fields/validations.js +0 -3
  1020. package/dist/exports/fields/validations.js.map +0 -1
  1021. package/dist/exports/operations.d.ts +0 -30
  1022. package/dist/exports/operations.d.ts.map +0 -1
  1023. package/dist/exports/operations.js +0 -31
  1024. package/dist/exports/operations.js.map +0 -1
  1025. package/dist/exports/types.d.ts +0 -17
  1026. package/dist/exports/types.d.ts.map +0 -1
  1027. package/dist/exports/types.js +0 -5
  1028. package/dist/exports/types.js.map +0 -1
  1029. package/dist/exports/uploads.d.ts +0 -2
  1030. package/dist/exports/uploads.d.ts.map +0 -1
  1031. package/dist/exports/uploads.js +0 -3
  1032. package/dist/exports/uploads.js.map +0 -1
  1033. package/dist/exports/utilities.d.ts +0 -31
  1034. package/dist/exports/utilities.d.ts.map +0 -1
  1035. package/dist/exports/utilities.js +0 -32
  1036. package/dist/exports/utilities.js.map +0 -1
  1037. package/dist/exports/versions.d.ts +0 -9
  1038. package/dist/exports/versions.d.ts.map +0 -1
  1039. package/dist/exports/versions.js +0 -9
  1040. package/dist/exports/versions.js.map +0 -1
  1041. package/dist/fields/config/schema.d.ts +0 -29
  1042. package/dist/fields/config/schema.d.ts.map +0 -1
  1043. package/dist/fields/config/schema.js +0 -477
  1044. package/dist/fields/config/schema.js.map +0 -1
  1045. package/dist/globals/config/schema.d.ts +0 -4
  1046. package/dist/globals/config/schema.d.ts.map +0 -1
  1047. package/dist/globals/config/schema.js +0 -69
  1048. package/dist/globals/config/schema.js.map +0 -1
  1049. package/dist/utilities/combineMerge.d.ts +0 -2
  1050. package/dist/utilities/combineMerge.d.ts.map +0 -1
  1051. package/dist/utilities/combineMerge.js +0 -16
  1052. package/dist/utilities/combineMerge.js.map +0 -1
  1053. package/dist/utilities/convertData.d.ts +0 -5
  1054. package/dist/utilities/convertData.d.ts.map +0 -1
  1055. package/dist/utilities/convertData.js +0 -16
  1056. package/dist/utilities/convertData.js.map +0 -1
  1057. package/dist/utilities/getCSSVariable.d.ts +0 -3
  1058. package/dist/utilities/getCSSVariable.d.ts.map +0 -1
  1059. package/dist/utilities/getCSSVariable.js +0 -3
  1060. package/dist/utilities/getCSSVariable.js.map +0 -1
  1061. package/dist/utilities/overwriteMerge.d.ts +0 -3
  1062. package/dist/utilities/overwriteMerge.d.ts.map +0 -1
  1063. package/dist/utilities/overwriteMerge.js +0 -4
  1064. package/dist/utilities/overwriteMerge.js.map +0 -1
  1065. package/src/index.ts +0 -499
@@ -1,11 +1,25 @@
1
1
  import fs from 'fs';
2
- import probeImageSize from 'probe-image-size';
3
- export function getImageSize(file) {
2
+ import sizeOfImport from 'image-size';
3
+ import { promisify } from 'util';
4
+ import { temporaryFileTask } from './tempFile.js';
5
+ const { imageSize } = sizeOfImport;
6
+ const imageSizePromise = promisify(imageSize);
7
+ export async function getImageSize(file) {
4
8
  if (file.tempFilePath) {
5
- const data = fs.readFileSync(file.tempFilePath);
6
- return probeImageSize.sync(data);
9
+ return imageSizePromise(file.tempFilePath);
7
10
  }
8
- return probeImageSize.sync(file.data);
11
+ // Tiff file do not support buffers or streams, so we must write to file first
12
+ // then retrieve dimensions. https://github.com/image-size/image-size/issues/103
13
+ if (file.mimetype === 'image/tiff') {
14
+ const dimensions = await temporaryFileTask(async (filepath)=>{
15
+ fs.writeFileSync(filepath, file.data);
16
+ return imageSizePromise(filepath);
17
+ }, {
18
+ extension: 'tiff'
19
+ });
20
+ return dimensions;
21
+ }
22
+ return imageSize(file.data);
9
23
  }
10
24
 
11
25
  //# sourceMappingURL=getImageSize.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/uploads/getImageSize.ts"],"sourcesContent":["import fs from 'fs'\nimport probeImageSize from 'probe-image-size'\n\nimport type { PayloadRequest } from '../types/index.js'\nimport type { ProbedImageSize } from './types.js'\n\nexport function getImageSize(file: PayloadRequest['file']): ProbedImageSize {\n if (file.tempFilePath) {\n const data = fs.readFileSync(file.tempFilePath)\n return probeImageSize.sync(data)\n }\n\n return probeImageSize.sync(file.data)\n}\n"],"names":["fs","probeImageSize","getImageSize","file","tempFilePath","data","readFileSync","sync"],"rangeMappings":";;;;;;;;","mappings":"AAAA,OAAOA,QAAQ,KAAI;AACnB,OAAOC,oBAAoB,mBAAkB;AAK7C,OAAO,SAASC,aAAaC,IAA4B;IACvD,IAAIA,KAAKC,YAAY,EAAE;QACrB,MAAMC,OAAOL,GAAGM,YAAY,CAACH,KAAKC,YAAY;QAC9C,OAAOH,eAAeM,IAAI,CAACF;IAC7B;IAEA,OAAOJ,eAAeM,IAAI,CAACJ,KAAKE,IAAI;AACtC"}
1
+ {"version":3,"sources":["../../src/uploads/getImageSize.ts"],"sourcesContent":["import fs from 'fs'\nimport sizeOfImport from 'image-size'\nimport { promisify } from 'util'\n\nimport type { PayloadRequest } from '../types/index.js'\nimport type { ProbedImageSize } from './types.js'\n\nimport { temporaryFileTask } from './tempFile.js'\n\nconst { imageSize } = sizeOfImport\nconst imageSizePromise = promisify(imageSize)\n\nexport async function getImageSize(file: PayloadRequest['file']): Promise<ProbedImageSize> {\n if (file.tempFilePath) {\n return imageSizePromise(file.tempFilePath)\n }\n\n // Tiff file do not support buffers or streams, so we must write to file first\n // then retrieve dimensions. https://github.com/image-size/image-size/issues/103\n if (file.mimetype === 'image/tiff') {\n const dimensions = await temporaryFileTask(\n async (filepath: string) => {\n fs.writeFileSync(filepath, file.data)\n return imageSizePromise(filepath)\n },\n { extension: 'tiff' },\n )\n return dimensions\n }\n\n return imageSize(file.data)\n}\n"],"names":["fs","sizeOfImport","promisify","temporaryFileTask","imageSize","imageSizePromise","getImageSize","file","tempFilePath","mimetype","dimensions","filepath","writeFileSync","data","extension"],"mappings":"AAAA,OAAOA,QAAQ,KAAI;AACnB,OAAOC,kBAAkB,aAAY;AACrC,SAASC,SAAS,QAAQ,OAAM;AAKhC,SAASC,iBAAiB,QAAQ,gBAAe;AAEjD,MAAM,EAAEC,SAAS,EAAE,GAAGH;AACtB,MAAMI,mBAAmBH,UAAUE;AAEnC,OAAO,eAAeE,aAAaC,IAA4B;IAC7D,IAAIA,KAAKC,YAAY,EAAE;QACrB,OAAOH,iBAAiBE,KAAKC,YAAY;IAC3C;IAEA,8EAA8E;IAC9E,gFAAgF;IAChF,IAAID,KAAKE,QAAQ,KAAK,cAAc;QAClC,MAAMC,aAAa,MAAMP,kBACvB,OAAOQ;YACLX,GAAGY,aAAa,CAACD,UAAUJ,KAAKM,IAAI;YACpC,OAAOR,iBAAiBM;QAC1B,GACA;YAAEG,WAAW;QAAO;QAEtB,OAAOJ;IACT;IAEA,OAAON,UAAUG,KAAKM,IAAI;AAC5B"}
@@ -5,6 +5,6 @@ type Args = {
5
5
  req: PayloadRequest;
6
6
  staticPath: string;
7
7
  };
8
- declare function getSafeFileName({ collectionSlug, desiredFilename, req, staticPath, }: Args): Promise<string>;
9
- export default getSafeFileName;
8
+ export declare function getSafeFileName({ collectionSlug, desiredFilename, req, staticPath, }: Args): Promise<string>;
9
+ export {};
10
10
  //# sourceMappingURL=getSafeFilename.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getSafeFilename.d.ts","sourceRoot":"","sources":["../../src/uploads/getSafeFilename.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAsBvD,KAAK,IAAI,GAAG;IACV,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,GAAG,EAAE,cAAc,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,iBAAe,eAAe,CAAC,EAC7B,cAAc,EACd,eAAe,EACf,GAAG,EACH,UAAU,GACX,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAgBxB;AAED,eAAe,eAAe,CAAA"}
1
+ {"version":3,"file":"getSafeFilename.d.ts","sourceRoot":"","sources":["../../src/uploads/getSafeFilename.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAsBvD,KAAK,IAAI,GAAG;IACV,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,GAAG,EAAE,cAAc,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,wBAAsB,eAAe,CAAC,EACpC,cAAc,EACd,eAAe,EACf,GAAG,EACH,UAAU,GACX,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAexB"}
@@ -17,9 +17,8 @@ const incrementName = (name)=>{
17
17
  }
18
18
  return `${incrementedName}.${extension}`;
19
19
  };
20
- async function getSafeFileName({ collectionSlug, desiredFilename, req, staticPath }) {
20
+ export async function getSafeFileName({ collectionSlug, desiredFilename, req, staticPath }) {
21
21
  let modifiedFilename = desiredFilename;
22
- // eslint-disable-next-line no-await-in-loop
23
22
  while(await docWithFilenameExists({
24
23
  collectionSlug,
25
24
  filename: modifiedFilename,
@@ -30,6 +29,5 @@ async function getSafeFileName({ collectionSlug, desiredFilename, req, staticPat
30
29
  }
31
30
  return modifiedFilename;
32
31
  }
33
- export default getSafeFileName;
34
32
 
35
33
  //# sourceMappingURL=getSafeFilename.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/uploads/getSafeFilename.ts"],"sourcesContent":["import sanitize from 'sanitize-filename'\n\nimport type { PayloadRequest } from '../types/index.js'\n\nimport docWithFilenameExists from './docWithFilenameExists.js'\nimport fileExists from './fileExists.js'\n\nconst incrementName = (name: string) => {\n const extension = name.split('.').pop()\n const baseFilename = sanitize(name.substring(0, name.lastIndexOf('.')) || name)\n let incrementedName = baseFilename\n const regex = /(.*)-(\\d+)$/\n const found = baseFilename.match(regex)\n if (found === null) {\n incrementedName += '-1'\n } else {\n const matchedName = found[1]\n const matchedNumber = found[2]\n const incremented = Number(matchedNumber) + 1\n incrementedName = `${matchedName}-${incremented}`\n }\n return `${incrementedName}.${extension}`\n}\n\ntype Args = {\n collectionSlug: string\n desiredFilename: string\n req: PayloadRequest\n staticPath: string\n}\n\nasync function getSafeFileName({\n collectionSlug,\n desiredFilename,\n req,\n staticPath,\n}: Args): Promise<string> {\n let modifiedFilename = desiredFilename\n\n // eslint-disable-next-line no-await-in-loop\n while (\n (await docWithFilenameExists({\n collectionSlug,\n filename: modifiedFilename,\n path: staticPath,\n req,\n })) ||\n (await fileExists(`${staticPath}/${modifiedFilename}`))\n ) {\n modifiedFilename = incrementName(modifiedFilename)\n }\n return modifiedFilename\n}\n\nexport default getSafeFileName\n"],"names":["sanitize","docWithFilenameExists","fileExists","incrementName","name","extension","split","pop","baseFilename","substring","lastIndexOf","incrementedName","regex","found","match","matchedName","matchedNumber","incremented","Number","getSafeFileName","collectionSlug","desiredFilename","req","staticPath","modifiedFilename","filename","path"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,cAAc,oBAAmB;AAIxC,OAAOC,2BAA2B,6BAA4B;AAC9D,OAAOC,gBAAgB,kBAAiB;AAExC,MAAMC,gBAAgB,CAACC;IACrB,MAAMC,YAAYD,KAAKE,KAAK,CAAC,KAAKC,GAAG;IACrC,MAAMC,eAAeR,SAASI,KAAKK,SAAS,CAAC,GAAGL,KAAKM,WAAW,CAAC,SAASN;IAC1E,IAAIO,kBAAkBH;IACtB,MAAMI,QAAQ;IACd,MAAMC,QAAQL,aAAaM,KAAK,CAACF;IACjC,IAAIC,UAAU,MAAM;QAClBF,mBAAmB;IACrB,OAAO;QACL,MAAMI,cAAcF,KAAK,CAAC,EAAE;QAC5B,MAAMG,gBAAgBH,KAAK,CAAC,EAAE;QAC9B,MAAMI,cAAcC,OAAOF,iBAAiB;QAC5CL,kBAAkB,CAAC,EAAEI,YAAY,CAAC,EAAEE,YAAY,CAAC;IACnD;IACA,OAAO,CAAC,EAAEN,gBAAgB,CAAC,EAAEN,UAAU,CAAC;AAC1C;AASA,eAAec,gBAAgB,EAC7BC,cAAc,EACdC,eAAe,EACfC,GAAG,EACHC,UAAU,EACL;IACL,IAAIC,mBAAmBH;IAEvB,4CAA4C;IAC5C,MACE,AAAC,MAAMpB,sBAAsB;QAC3BmB;QACAK,UAAUD;QACVE,MAAMH;QACND;IACF,MACC,MAAMpB,WAAW,CAAC,EAAEqB,WAAW,CAAC,EAAEC,iBAAiB,CAAC,EACrD;QACAA,mBAAmBrB,cAAcqB;IACnC;IACA,OAAOA;AACT;AAEA,eAAeL,gBAAe"}
1
+ {"version":3,"sources":["../../src/uploads/getSafeFilename.ts"],"sourcesContent":["import sanitize from 'sanitize-filename'\n\nimport type { PayloadRequest } from '../types/index.js'\n\nimport docWithFilenameExists from './docWithFilenameExists.js'\nimport fileExists from './fileExists.js'\n\nconst incrementName = (name: string) => {\n const extension = name.split('.').pop()\n const baseFilename = sanitize(name.substring(0, name.lastIndexOf('.')) || name)\n let incrementedName = baseFilename\n const regex = /(.*)-(\\d+)$/\n const found = baseFilename.match(regex)\n if (found === null) {\n incrementedName += '-1'\n } else {\n const matchedName = found[1]\n const matchedNumber = found[2]\n const incremented = Number(matchedNumber) + 1\n incrementedName = `${matchedName}-${incremented}`\n }\n return `${incrementedName}.${extension}`\n}\n\ntype Args = {\n collectionSlug: string\n desiredFilename: string\n req: PayloadRequest\n staticPath: string\n}\n\nexport async function getSafeFileName({\n collectionSlug,\n desiredFilename,\n req,\n staticPath,\n}: Args): Promise<string> {\n let modifiedFilename = desiredFilename\n\n while (\n (await docWithFilenameExists({\n collectionSlug,\n filename: modifiedFilename,\n path: staticPath,\n req,\n })) ||\n (await fileExists(`${staticPath}/${modifiedFilename}`))\n ) {\n modifiedFilename = incrementName(modifiedFilename)\n }\n return modifiedFilename\n}\n"],"names":["sanitize","docWithFilenameExists","fileExists","incrementName","name","extension","split","pop","baseFilename","substring","lastIndexOf","incrementedName","regex","found","match","matchedName","matchedNumber","incremented","Number","getSafeFileName","collectionSlug","desiredFilename","req","staticPath","modifiedFilename","filename","path"],"mappings":"AAAA,OAAOA,cAAc,oBAAmB;AAIxC,OAAOC,2BAA2B,6BAA4B;AAC9D,OAAOC,gBAAgB,kBAAiB;AAExC,MAAMC,gBAAgB,CAACC;IACrB,MAAMC,YAAYD,KAAKE,KAAK,CAAC,KAAKC,GAAG;IACrC,MAAMC,eAAeR,SAASI,KAAKK,SAAS,CAAC,GAAGL,KAAKM,WAAW,CAAC,SAASN;IAC1E,IAAIO,kBAAkBH;IACtB,MAAMI,QAAQ;IACd,MAAMC,QAAQL,aAAaM,KAAK,CAACF;IACjC,IAAIC,UAAU,MAAM;QAClBF,mBAAmB;IACrB,OAAO;QACL,MAAMI,cAAcF,KAAK,CAAC,EAAE;QAC5B,MAAMG,gBAAgBH,KAAK,CAAC,EAAE;QAC9B,MAAMI,cAAcC,OAAOF,iBAAiB;QAC5CL,kBAAkB,CAAC,EAAEI,YAAY,CAAC,EAAEE,YAAY,CAAC;IACnD;IACA,OAAO,CAAC,EAAEN,gBAAgB,CAAC,EAAEN,UAAU,CAAC;AAC1C;AASA,OAAO,eAAec,gBAAgB,EACpCC,cAAc,EACdC,eAAe,EACfC,GAAG,EACHC,UAAU,EACL;IACL,IAAIC,mBAAmBH;IAEvB,MACE,AAAC,MAAMpB,sBAAsB;QAC3BmB;QACAK,UAAUD;QACVE,MAAMH;QACND;IACF,MACC,MAAMpB,WAAW,CAAC,EAAEqB,WAAW,CAAC,EAAEC,iBAAiB,CAAC,EACrD;QACAA,mBAAmBrB,cAAcqB;IACnC;IACA,OAAOA;AACT"}
@@ -1,23 +1,23 @@
1
1
  import type { SanitizedCollectionConfig } from '../collections/config/types.js';
2
2
  import type { SharpDependency } from '../config/types.js';
3
- import type { CustomPayloadRequest, PayloadRequest, UploadEdits } from '../types/index.js';
4
- import type { FileSizes, FileToSave, ProbedImageSize } from './types.js';
3
+ import type { PayloadRequest } from '../types/index.js';
4
+ import type { WithMetadata } from './optionallyAppendMetadata.js';
5
+ import type { FileSizes, FileToSave, ProbedImageSize, UploadEdits } from './types.js';
5
6
  type ResizeArgs = {
6
7
  config: SanitizedCollectionConfig;
7
8
  dimensions: ProbedImageSize;
8
- file: CustomPayloadRequest['file'];
9
+ file: PayloadRequest['file'];
9
10
  mimeType: string;
10
- req: PayloadRequest & {
11
- query?: {
12
- uploadEdits?: UploadEdits;
13
- };
14
- };
11
+ req: PayloadRequest;
15
12
  savedFilename: string;
16
- sharp: SharpDependency;
13
+ sharp?: SharpDependency;
17
14
  staticPath: string;
15
+ uploadEdits?: UploadEdits;
16
+ withMetadata?: WithMetadata;
18
17
  };
19
18
  /** Result from resizing and transforming the requested image sizes */
20
19
  type ImageSizesResult = {
20
+ focalPoint?: UploadEdits['focalPoint'];
21
21
  sizeData: FileSizes;
22
22
  sizesToSave: FileToSave[];
23
23
  };
@@ -29,12 +29,12 @@ type ImageSizesResult = {
29
29
  *
30
30
  * The image will be resized according to the provided
31
31
  * resize config. If no image sizes are requested, the resolved data will be empty.
32
- * For every image that dos not need to be resized, an result object with `null`
32
+ * For every image that does not need to be resized, a result object with `null`
33
33
  * parameters will be returned.
34
34
  *
35
35
  * @param resizeConfig - the resize config
36
36
  * @returns the result of the resize operation(s)
37
37
  */
38
- export default function resizeAndTransformImageSizes({ config, dimensions, file, mimeType, req, savedFilename, sharp, staticPath, }: ResizeArgs): Promise<ImageSizesResult>;
38
+ export declare function resizeAndTransformImageSizes({ config, dimensions, file, mimeType, req, savedFilename, sharp, staticPath, uploadEdits, withMetadata, }: ResizeArgs): Promise<ImageSizesResult>;
39
39
  export {};
40
40
  //# sourceMappingURL=imageResizer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"imageResizer.d.ts","sourceRoot":"","sources":["../../src/uploads/imageResizer.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC1F,OAAO,KAAK,EAAY,SAAS,EAAE,UAAU,EAAa,eAAe,EAAE,MAAM,YAAY,CAAA;AAK7F,KAAK,UAAU,GAAG;IAChB,MAAM,EAAE,yBAAyB,CAAA;IACjC,UAAU,EAAE,eAAe,CAAA;IAC3B,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,cAAc,GAAG;QACpB,KAAK,CAAC,EAAE;YACN,WAAW,CAAC,EAAE,WAAW,CAAA;SAC1B,CAAA;KACF,CAAA;IACD,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,eAAe,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,sEAAsE;AACtE,KAAK,gBAAgB,GAAG;IACtB,QAAQ,EAAE,SAAS,CAAA;IACnB,WAAW,EAAE,UAAU,EAAE,CAAA;CAC1B,CAAA;AAiKD;;;;;;;;;;;;;GAaG;AACH,wBAA8B,4BAA4B,CAAC,EACzD,MAAM,EACN,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,GAAG,EACH,aAAa,EACb,KAAK,EACL,UAAU,GACX,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAkIxC"}
1
+ {"version":3,"file":"imageResizer.d.ts","sourceRoot":"","sources":["../../src/uploads/imageResizer.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,KAAK,EAEV,SAAS,EACT,UAAU,EAEV,eAAe,EACf,WAAW,EACZ,MAAM,YAAY,CAAA;AAMnB,KAAK,UAAU,GAAG;IAChB,MAAM,EAAE,yBAAyB,CAAA;IACjC,UAAU,EAAE,eAAe,CAAA;IAC3B,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,cAAc,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,CAAA;AAED,sEAAsE;AACtE,KAAK,gBAAgB,GAAG;IACtB,UAAU,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAA;IACtC,QAAQ,EAAE,SAAS,CAAA;IACnB,WAAW,EAAE,UAAU,EAAE,CAAA;CAC1B,CAAA;AAyLD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,4BAA4B,CAAC,EACjD,MAAM,EACN,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,GAAG,EACH,aAAa,EACb,KAAK,EACL,UAAU,EACV,WAAW,EACX,YAAY,GACb,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAyMxC"}
@@ -1,9 +1,9 @@
1
- import fileType from 'file-type';
2
- const { fromBuffer } = fileType;
1
+ import { fileTypeFromBuffer } from 'file-type';
3
2
  import fs from 'fs';
4
3
  import sanitize from 'sanitize-filename';
5
4
  import { isNumber } from '../utilities/isNumber.js';
6
5
  import fileExists from './fileExists.js';
6
+ import { optionallyAppendMetadata } from './optionallyAppendMetadata.js';
7
7
  /**
8
8
  * Sanitize the image name and extract the extension from the source image
9
9
  *
@@ -17,19 +17,9 @@ import fileExists from './fileExists.js';
17
17
  ext: extension
18
18
  };
19
19
  };
20
- /**
21
- * Create a new image name based on the output image name, the dimensions and
22
- * the extension.
23
- *
24
- * Ignore the fact that duplicate names could happen if the there is one
25
- * size with `width AND height` and one with only `height OR width`. Because
26
- * space is expensive, we will reuse the same image for both sizes.
27
- *
28
- * @param outputImageName - the sanitized image name
29
- * @param bufferInfo - the buffer info
30
- * @param extension - the extension to use
31
- * @returns the new image name that is not taken
32
- */ const createImageName = (outputImageName, { height, width }, extension)=>`${outputImageName}-${width}x${height}.${extension}`;
20
+ const createImageName = ({ extension, height, outputImageName, width })=>{
21
+ return `${outputImageName}-${width}x${height}.${extension}`;
22
+ };
33
23
  /**
34
24
  * Create the result object for the image resize operation based on the
35
25
  * provided parameters. If the name is not provided, an empty result object
@@ -43,7 +33,8 @@ import fileExists from './fileExists.js';
43
33
  * @param mimeType - the mime type of the image
44
34
  * @param sizesToSave - the sizes to save
45
35
  * @returns the result object
46
- */ const createResult = (name, filename = null, width = null, height = null, filesize = null, mimeType = null, sizesToSave = [])=>({
36
+ */ const createResult = ({ name, filename = null, filesize = null, height = null, mimeType = null, sizesToSave = [], width = null })=>{
37
+ return {
47
38
  sizeData: {
48
39
  [name]: {
49
40
  filename,
@@ -54,62 +45,43 @@ import fileExists from './fileExists.js';
54
45
  }
55
46
  },
56
47
  sizesToSave
57
- });
58
- /**
59
- * Check if the image needs to be resized according to the requested dimensions
60
- * and the original image size. If the resize options withoutEnlargement or withoutReduction are provided,
61
- * the image will be resized regardless of the requested dimensions, given that the
62
- * width or height to be resized is provided.
63
- *
64
- * @param resizeConfig - object containing the requested dimensions and resize options
65
- * @param original - the original image size
66
- * @returns true if resizing is not needed, false otherwise
67
- */ const preventResize = ({ height: desiredHeight, width: desiredWidth, withoutEnlargement, withoutReduction }, original)=>{
68
- // default is to allow reduction
69
- if (withoutReduction !== undefined) {
70
- return false // needs resize
71
- ;
72
- }
73
- // default is to prevent enlargement
74
- if (withoutEnlargement !== undefined) {
75
- return false // needs resize
76
- ;
77
- }
78
- const isWidthOrHeightNotDefined = !desiredHeight || !desiredWidth;
79
- if (isWidthOrHeightNotDefined) {
80
- // If width and height are not defined, it means there is a format conversion
81
- // and the image needs to be "resized" (transformed).
82
- return false // needs resize
83
- ;
84
- }
85
- const hasInsufficientWidth = desiredWidth > original.width;
86
- const hasInsufficientHeight = desiredHeight > original.height;
87
- if (hasInsufficientWidth && hasInsufficientHeight) {
88
- // doesn't need resize - prevent enlargement. This should only happen if both width and height are insufficient.
89
- // if only one dimension is insufficient and the other is sufficient, resizing needs to happen, as the image
90
- // should be resized to the sufficient dimension.
91
- return true // do not create a new size
92
- ;
93
- }
94
- return false // needs resize
95
- ;
48
+ };
96
49
  };
97
50
  /**
98
- * Check if the image should be passed directly to sharp without payload adjusting properties.
51
+ * Determine whether or not to resize the image.
52
+ * - resize using image config
53
+ * - resize using image config with focal adjustments
54
+ * - do not resize at all
99
55
  *
100
- * @param resizeConfig - object containing the requested dimensions and resize options
101
- * @param original - the original image size
102
- * @returns true if the image should passed directly to sharp
103
- */ const applyPayloadAdjustments = ({ fit, height, width, withoutEnlargement, withoutReduction }, original)=>{
104
- if (fit === 'contain' || fit === 'inside') return false;
105
- if (!isNumber(height) && !isNumber(width)) return false;
106
- const targetAspectRatio = width / height;
107
- const originalAspectRatio = original.width / original.height;
108
- if (originalAspectRatio === targetAspectRatio) return false;
109
- const skipEnlargement = withoutEnlargement && (original.height < height || original.width < width);
110
- const skipReduction = withoutReduction && (original.height > height || original.width > width);
111
- if (skipEnlargement || skipReduction) return false;
112
- return true;
56
+ * `imageResizeConfig.withoutEnlargement`:
57
+ * - undefined [default]: uploading images with smaller width AND height than the image size will return null
58
+ * - false: always enlarge images to the image size
59
+ * - true: if the image is smaller than the image size, return the original image
60
+ *
61
+ * `imageResizeConfig.withoutReduction`:
62
+ * - false [default]: always enlarge images to the image size
63
+ * - true: if the image is smaller than the image size, return the original image
64
+ *
65
+ * @return 'omit' | 'resize' | 'resizeWithFocalPoint'
66
+ */ const getImageResizeAction = ({ dimensions: originalImage, hasFocalPoint, imageResizeConfig })=>{
67
+ const { fit, height: targetHeight, width: targetWidth, withoutEnlargement, withoutReduction } = imageResizeConfig;
68
+ // prevent upscaling by default when x and y are both smaller than target image size
69
+ if (targetHeight && targetWidth) {
70
+ const originalImageIsSmallerXAndY = originalImage.width < targetWidth && originalImage.height < targetHeight;
71
+ if (withoutEnlargement === undefined && originalImageIsSmallerXAndY) {
72
+ return 'omit' // prevent image size from being enlarged
73
+ ;
74
+ }
75
+ }
76
+ const originalImageIsSmallerXOrY = originalImage.width < targetWidth || originalImage.height < targetHeight;
77
+ if (fit === 'contain' || fit === 'inside') return 'resize';
78
+ if (!isNumber(targetHeight) && !isNumber(targetWidth)) return 'resize';
79
+ const targetAspectRatio = targetWidth / targetHeight;
80
+ const originalAspectRatio = originalImage.width / originalImage.height;
81
+ if (originalAspectRatio === targetAspectRatio) return 'resize';
82
+ if (withoutEnlargement && originalImageIsSmallerXOrY) return 'resize';
83
+ if (withoutReduction && !originalImageIsSmallerXOrY) return 'resize';
84
+ return hasFocalPoint ? 'resizeWithFocalPoint' : 'resize';
113
85
  };
114
86
  /**
115
87
  * Sanitize the resize config. If the resize config has the `withoutReduction`
@@ -129,6 +101,17 @@ import fileExists from './fileExists.js';
129
101
  }
130
102
  return resizeConfig;
131
103
  };
104
+ /**
105
+ * Used to extract height from images, animated or not.
106
+ *
107
+ * @param sharpMetadata - the sharp metadata
108
+ * @returns the height of the image
109
+ */ function extractHeightFromImage(sharpMetadata) {
110
+ if (sharpMetadata?.pages) {
111
+ return sharpMetadata.height / sharpMetadata.pages;
112
+ }
113
+ return sharpMetadata.height;
114
+ }
132
115
  /**
133
116
  * For the provided image sizes, handle the resizing and the transforms
134
117
  * (format, trim, etc.) of each requested image size and return the result object.
@@ -137,62 +120,118 @@ import fileExists from './fileExists.js';
137
120
  *
138
121
  * The image will be resized according to the provided
139
122
  * resize config. If no image sizes are requested, the resolved data will be empty.
140
- * For every image that dos not need to be resized, an result object with `null`
123
+ * For every image that does not need to be resized, a result object with `null`
141
124
  * parameters will be returned.
142
125
  *
143
126
  * @param resizeConfig - the resize config
144
127
  * @returns the result of the resize operation(s)
145
- */ export default async function resizeAndTransformImageSizes({ config, dimensions, file, mimeType, req, savedFilename, sharp, staticPath }) {
146
- const { imageSizes } = config.upload;
147
- // Noting to resize here so return as early as possible
148
- if (!imageSizes) return {
128
+ */ export async function resizeAndTransformImageSizes({ config, dimensions, file, mimeType, req, savedFilename, sharp, staticPath, uploadEdits, withMetadata }) {
129
+ const { focalPoint: focalPointEnabled = true, imageSizes } = config.upload;
130
+ // Focal point adjustments
131
+ const incomingFocalPoint = uploadEdits.focalPoint ? {
132
+ x: isNumber(uploadEdits.focalPoint.x) ? Math.round(uploadEdits.focalPoint.x) : 50,
133
+ y: isNumber(uploadEdits.focalPoint.y) ? Math.round(uploadEdits.focalPoint.y) : 50
134
+ } : undefined;
135
+ const defaultResult = {
136
+ ...focalPointEnabled && incomingFocalPoint && {
137
+ focalPoint: incomingFocalPoint
138
+ },
149
139
  sizeData: {},
150
140
  sizesToSave: []
151
141
  };
152
- const sharpBase = sharp(file.tempFilePath || file.data).rotate() // pass rotate() to auto-rotate based on EXIF data. https://github.com/payloadcms/payload/pull/3081
142
+ if (!imageSizes || !sharp) {
143
+ return defaultResult;
144
+ }
145
+ // Determine if the file is animated
146
+ const fileIsAnimatedType = [
147
+ 'image/avif',
148
+ 'image/gif',
149
+ 'image/webp'
150
+ ].includes(file.mimetype);
151
+ const sharpOptions = {};
152
+ if (fileIsAnimatedType) sharpOptions.animated = true;
153
+ const sharpBase = sharp(file.tempFilePath || file.data, sharpOptions).rotate() // pass rotate() to auto-rotate based on EXIF data. https://github.com/payloadcms/payload/pull/3081
153
154
  ;
155
+ const originalImageMeta = await sharpBase.metadata();
156
+ const resizeImageMeta = {
157
+ height: extractHeightFromImage(originalImageMeta),
158
+ width: originalImageMeta.width
159
+ };
154
160
  const results = await Promise.all(imageSizes.map(async (imageResizeConfig)=>{
155
161
  imageResizeConfig = sanitizeResizeConfig(imageResizeConfig);
156
- // This checks if a resize should happen. If not, the resized image will be
157
- // skipped COMPLETELY and thus will not be included in the resulting images.
158
- // All further format/trim options will thus be skipped as well.
159
- if (preventResize(imageResizeConfig, dimensions)) {
160
- return createResult(imageResizeConfig.name);
161
- }
162
+ const resizeAction = getImageResizeAction({
163
+ dimensions,
164
+ hasFocalPoint: Boolean(incomingFocalPoint),
165
+ imageResizeConfig
166
+ });
167
+ if (resizeAction === 'omit') return createResult({
168
+ name: imageResizeConfig.name
169
+ });
162
170
  const imageToResize = sharpBase.clone();
163
171
  let resized = imageToResize;
164
- if (req.query?.uploadEdits?.focalPoint && applyPayloadAdjustments(imageResizeConfig, dimensions)) {
165
- const { height: resizeHeight, width: resizeWidth } = imageResizeConfig;
166
- const resizeAspectRatio = resizeWidth / resizeHeight;
172
+ if (resizeAction === 'resizeWithFocalPoint') {
173
+ let { height: resizeHeight, width: resizeWidth } = imageResizeConfig;
167
174
  const originalAspectRatio = dimensions.width / dimensions.height;
175
+ // Calculate resizeWidth based on original aspect ratio if it's undefined
176
+ if (resizeHeight && !resizeWidth) {
177
+ resizeWidth = Math.round(resizeHeight * originalAspectRatio);
178
+ }
179
+ // Calculate resizeHeight based on original aspect ratio if it's undefined
180
+ if (resizeWidth && !resizeHeight) {
181
+ resizeHeight = Math.round(resizeWidth / originalAspectRatio);
182
+ }
183
+ if (!resizeHeight) resizeHeight = resizeImageMeta.height;
184
+ if (!resizeWidth) resizeWidth = resizeImageMeta.width;
185
+ const resizeAspectRatio = resizeWidth / resizeHeight;
168
186
  const prioritizeHeight = resizeAspectRatio < originalAspectRatio;
169
- // Scale the image up or down to fit the resize dimensions
170
- const scaledImage = imageToResize.resize({
171
- height: prioritizeHeight ? resizeHeight : null,
172
- width: prioritizeHeight ? null : resizeWidth
187
+ // Scales the image before extracting from it
188
+ resized = imageToResize.resize({
189
+ height: prioritizeHeight ? resizeHeight : undefined,
190
+ width: prioritizeHeight ? undefined : resizeWidth
191
+ });
192
+ const metadataAppendedFile = await optionallyAppendMetadata({
193
+ req,
194
+ sharpFile: resized,
195
+ withMetadata
173
196
  });
174
- const { info: scaledImageInfo } = await scaledImage.toBuffer({
197
+ // Must read from buffer, resized.metadata will return the original image metadata
198
+ const { info } = await metadataAppendedFile.toBuffer({
175
199
  resolveWithObject: true
176
200
  });
177
- // Focal point adjustments
178
- const focalPoint = {
179
- x: isNumber(req.query.uploadEdits.focalPoint?.x) ? req.query.uploadEdits.focalPoint.x : 50,
180
- y: isNumber(req.query.uploadEdits.focalPoint?.y) ? req.query.uploadEdits.focalPoint.y : 50
181
- };
182
- const safeResizeWidth = resizeWidth ?? scaledImageInfo.width;
183
- const maxOffsetX = scaledImageInfo.width - safeResizeWidth;
184
- const leftFocalEdge = Math.round(scaledImageInfo.width * (focalPoint.x / 100) - safeResizeWidth / 2);
185
- const safeOffsetX = Math.min(Math.max(0, leftFocalEdge), maxOffsetX);
186
- const safeResizeHeight = resizeHeight ?? scaledImageInfo.height;
187
- const maxOffsetY = scaledImageInfo.height - safeResizeHeight;
188
- const topFocalEdge = Math.round(scaledImageInfo.height * (focalPoint.y / 100) - safeResizeHeight / 2);
189
- const safeOffsetY = Math.min(Math.max(0, topFocalEdge), maxOffsetY);
190
- // extract the focal area from the scaled image
191
- resized = scaledImage.extract({
192
- height: safeResizeHeight,
193
- left: safeOffsetX,
194
- top: safeOffsetY,
195
- width: safeResizeWidth
201
+ resizeImageMeta.height = extractHeightFromImage({
202
+ ...originalImageMeta,
203
+ height: info.height
204
+ });
205
+ resizeImageMeta.width = info.width;
206
+ const halfResizeX = resizeWidth / 2;
207
+ const xFocalCenter = resizeImageMeta.width * (incomingFocalPoint.x / 100);
208
+ const calculatedRightPixelBound = xFocalCenter + halfResizeX;
209
+ let leftBound = xFocalCenter - halfResizeX;
210
+ // if the right bound is greater than the image width, adjust the left bound
211
+ // keeping focus on the right
212
+ if (calculatedRightPixelBound > resizeImageMeta.width) {
213
+ leftBound = resizeImageMeta.width - resizeWidth;
214
+ }
215
+ // if the left bound is less than 0, adjust the left bound to 0
216
+ // keeping the focus on the left
217
+ if (leftBound < 0) leftBound = 0;
218
+ const halfResizeY = resizeHeight / 2;
219
+ const yFocalCenter = resizeImageMeta.height * (incomingFocalPoint.y / 100);
220
+ const calculatedBottomPixelBound = yFocalCenter + halfResizeY;
221
+ let topBound = yFocalCenter - halfResizeY;
222
+ // if the bottom bound is greater than the image height, adjust the top bound
223
+ // keeping the image as far right as possible
224
+ if (calculatedBottomPixelBound > resizeImageMeta.height) {
225
+ topBound = resizeImageMeta.height - resizeHeight;
226
+ }
227
+ // if the top bound is less than 0, adjust the top bound to 0
228
+ // keeping the image focus near the top
229
+ if (topBound < 0) topBound = 0;
230
+ resized = resized.extract({
231
+ height: resizeHeight,
232
+ left: Math.floor(leftBound),
233
+ top: Math.floor(topBound),
234
+ width: resizeWidth
196
235
  });
197
236
  } else {
198
237
  resized = imageToResize.resize(imageResizeConfig);
@@ -203,13 +242,28 @@ import fileExists from './fileExists.js';
203
242
  if (imageResizeConfig.trimOptions) {
204
243
  resized = resized.trim(imageResizeConfig.trimOptions);
205
244
  }
206
- const { data: bufferData, info: bufferInfo } = await resized.toBuffer({
245
+ const metadataAppendedFile = await optionallyAppendMetadata({
246
+ req,
247
+ sharpFile: resized,
248
+ withMetadata
249
+ });
250
+ const { data: bufferData, info: bufferInfo } = await metadataAppendedFile.toBuffer({
207
251
  resolveWithObject: true
208
252
  });
209
253
  const sanitizedImage = getSanitizedImageData(savedFilename);
210
- req.payloadUploadSizes[imageResizeConfig.name] = bufferData;
211
- const mimeInfo = await fromBuffer(bufferData);
212
- const imageNameWithDimensions = createImageName(sanitizedImage.name, bufferInfo, mimeInfo?.ext || sanitizedImage.ext);
254
+ if (req.payloadUploadSizes) {
255
+ req.payloadUploadSizes[imageResizeConfig.name] = bufferData;
256
+ }
257
+ const mimeInfo = await fileTypeFromBuffer(bufferData);
258
+ const imageNameWithDimensions = createImageName({
259
+ extension: mimeInfo?.ext || sanitizedImage.ext,
260
+ height: extractHeightFromImage({
261
+ ...originalImageMeta,
262
+ height: bufferInfo.height
263
+ }),
264
+ outputImageName: sanitizedImage.name,
265
+ width: bufferInfo.width
266
+ });
213
267
  const imagePath = `${staticPath}/${imageNameWithDimensions}`;
214
268
  if (await fileExists(imagePath)) {
215
269
  try {
@@ -219,20 +273,27 @@ import fileExists from './fileExists.js';
219
273
  }
220
274
  }
221
275
  const { height, size, width } = bufferInfo;
222
- return createResult(imageResizeConfig.name, imageNameWithDimensions, width, height, size, mimeInfo?.mime || mimeType, [
223
- {
224
- buffer: bufferData,
225
- path: imagePath
226
- }
227
- ]);
276
+ return createResult({
277
+ name: imageResizeConfig.name,
278
+ filename: imageNameWithDimensions,
279
+ filesize: size,
280
+ height: fileIsAnimatedType && originalImageMeta.pages ? height / originalImageMeta.pages : height,
281
+ mimeType: mimeInfo?.mime || mimeType,
282
+ sizesToSave: [
283
+ {
284
+ buffer: bufferData,
285
+ path: imagePath
286
+ }
287
+ ],
288
+ width
289
+ });
228
290
  }));
229
291
  return results.reduce((acc, result)=>{
230
292
  Object.assign(acc.sizeData, result.sizeData);
231
293
  acc.sizesToSave.push(...result.sizesToSave);
232
294
  return acc;
233
295
  }, {
234
- sizeData: {},
235
- sizesToSave: []
296
+ ...defaultResult
236
297
  });
237
298
  }
238
299