payload 4.0.0-internal.e16cf59 → 4.0.0-internal.e55ccef

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 (678) hide show
  1. package/LICENSE.md +1 -1
  2. package/bin.js +11 -0
  3. package/dist/__testing__/predefinedMigration.d.ts +4 -3
  4. package/dist/__testing__/predefinedMigration.d.ts.map +1 -1
  5. package/dist/admin/RichText.d.ts +4 -17
  6. package/dist/admin/RichText.d.ts.map +1 -1
  7. package/dist/admin/RichText.js.map +1 -1
  8. package/dist/admin/adapters/cookies.d.ts +21 -0
  9. package/dist/admin/adapters/cookies.d.ts.map +1 -0
  10. package/dist/admin/adapters/cookies.js +3 -0
  11. package/dist/admin/adapters/cookies.js.map +1 -0
  12. package/dist/admin/adapters/devReload.d.ts +9 -0
  13. package/dist/admin/adapters/devReload.d.ts.map +1 -0
  14. package/dist/admin/adapters/devReload.js +6 -0
  15. package/dist/admin/adapters/devReload.js.map +1 -0
  16. package/dist/admin/adapters/index.d.ts +7 -0
  17. package/dist/admin/adapters/index.d.ts.map +1 -0
  18. package/dist/admin/adapters/index.js +3 -0
  19. package/dist/admin/adapters/index.js.map +1 -0
  20. package/dist/admin/adapters/render.d.ts +16 -0
  21. package/dist/admin/adapters/render.d.ts.map +1 -0
  22. package/dist/admin/adapters/render.js +7 -0
  23. package/dist/admin/adapters/render.js.map +1 -0
  24. package/dist/admin/adapters/router.d.ts +64 -0
  25. package/dist/admin/adapters/router.d.ts.map +1 -0
  26. package/dist/admin/adapters/router.js +3 -0
  27. package/dist/admin/adapters/router.js.map +1 -0
  28. package/dist/admin/adapters/server.d.ts +23 -0
  29. package/dist/admin/adapters/server.d.ts.map +1 -0
  30. package/dist/admin/adapters/server.js +6 -0
  31. package/dist/admin/adapters/server.js.map +1 -0
  32. package/dist/admin/adapters/views.d.ts +36 -0
  33. package/dist/admin/adapters/views.d.ts.map +1 -0
  34. package/dist/admin/adapters/views.js +7 -0
  35. package/dist/admin/adapters/views.js.map +1 -0
  36. package/dist/admin/elements/Table.d.ts +1 -0
  37. package/dist/admin/elements/Table.d.ts.map +1 -1
  38. package/dist/admin/elements/Table.js.map +1 -1
  39. package/dist/admin/fields/Row.d.ts +2 -2
  40. package/dist/admin/fields/Row.d.ts.map +1 -1
  41. package/dist/admin/fields/Row.js.map +1 -1
  42. package/dist/admin/forms/Description.d.ts +2 -2
  43. package/dist/admin/forms/Description.d.ts.map +1 -1
  44. package/dist/admin/forms/Description.js.map +1 -1
  45. package/dist/admin/forms/Field.d.ts +10 -5
  46. package/dist/admin/forms/Field.d.ts.map +1 -1
  47. package/dist/admin/forms/Field.js.map +1 -1
  48. package/dist/admin/functions/index.d.ts +10 -1
  49. package/dist/admin/functions/index.d.ts.map +1 -1
  50. package/dist/admin/functions/index.js.map +1 -1
  51. package/dist/admin/types.d.ts +3 -2
  52. package/dist/admin/types.d.ts.map +1 -1
  53. package/dist/admin/types.js.map +1 -1
  54. package/dist/admin/views/dashboard.d.ts +7 -0
  55. package/dist/admin/views/dashboard.d.ts.map +1 -1
  56. package/dist/admin/views/dashboard.js.map +1 -1
  57. package/dist/admin/views/document.d.ts +5 -3
  58. package/dist/admin/views/document.d.ts.map +1 -1
  59. package/dist/admin/views/document.js.map +1 -1
  60. package/dist/admin/views/hierarchyList.d.ts +1 -0
  61. package/dist/admin/views/hierarchyList.d.ts.map +1 -1
  62. package/dist/admin/views/hierarchyList.js.map +1 -1
  63. package/dist/admin/views/list.d.ts +10 -1
  64. package/dist/admin/views/list.d.ts.map +1 -1
  65. package/dist/admin/views/list.js.map +1 -1
  66. package/dist/auth/baseFields/apiKey.d.ts +10 -2
  67. package/dist/auth/baseFields/apiKey.d.ts.map +1 -1
  68. package/dist/auth/baseFields/apiKey.js +35 -24
  69. package/dist/auth/baseFields/apiKey.js.map +1 -1
  70. package/dist/auth/cookies.d.ts +2 -2
  71. package/dist/auth/cookies.d.ts.map +1 -1
  72. package/dist/auth/defaultAccess.d.ts +1 -1
  73. package/dist/auth/defaultAccess.d.ts.map +1 -1
  74. package/dist/auth/defaultAccess.js +1 -1
  75. package/dist/auth/defaultAccess.js.map +1 -1
  76. package/dist/auth/defaultUser.d.ts.map +1 -1
  77. package/dist/auth/defaultUser.js +2 -1
  78. package/dist/auth/defaultUser.js.map +1 -1
  79. package/dist/auth/extractJWT.d.ts +1 -1
  80. package/dist/auth/getAuthFields.js +2 -2
  81. package/dist/auth/getAuthFields.js.map +1 -1
  82. package/dist/auth/getFieldsToSign.d.ts +1 -1
  83. package/dist/auth/getLoginOptions.d.ts +1 -1
  84. package/dist/auth/operations/auth.d.ts +2 -2
  85. package/dist/auth/operations/auth.d.ts.map +1 -1
  86. package/dist/auth/operations/auth.js.map +1 -1
  87. package/dist/auth/operations/login.d.ts +2 -1
  88. package/dist/auth/operations/login.d.ts.map +1 -1
  89. package/dist/auth/operations/login.js.map +1 -1
  90. package/dist/auth/operations/me.d.ts +2 -2
  91. package/dist/auth/operations/me.d.ts.map +1 -1
  92. package/dist/auth/operations/me.js.map +1 -1
  93. package/dist/auth/operations/refresh.d.ts.map +1 -1
  94. package/dist/auth/operations/refresh.js +9 -3
  95. package/dist/auth/operations/refresh.js.map +1 -1
  96. package/dist/auth/operations/resetPassword.d.ts.map +1 -1
  97. package/dist/auth/operations/resetPassword.js.map +1 -1
  98. package/dist/auth/sendVerificationEmail.d.ts +2 -2
  99. package/dist/auth/sendVerificationEmail.d.ts.map +1 -1
  100. package/dist/auth/sendVerificationEmail.js +1 -1
  101. package/dist/auth/sendVerificationEmail.js.map +1 -1
  102. package/dist/auth/sessions.d.ts +4 -5
  103. package/dist/auth/sessions.d.ts.map +1 -1
  104. package/dist/auth/sessions.js +5 -3
  105. package/dist/auth/sessions.js.map +1 -1
  106. package/dist/auth/strategies/apiKey.d.ts.map +1 -1
  107. package/dist/auth/strategies/apiKey.js +6 -17
  108. package/dist/auth/strategies/apiKey.js.map +1 -1
  109. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts +2 -2
  110. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts.map +1 -1
  111. package/dist/auth/strategies/local/incrementLoginAttempts.js +1 -1
  112. package/dist/auth/strategies/local/incrementLoginAttempts.js.map +1 -1
  113. package/dist/auth/types.d.ts +25 -21
  114. package/dist/auth/types.d.ts.map +1 -1
  115. package/dist/auth/types.js.map +1 -1
  116. package/dist/bin/build.d.ts +49 -0
  117. package/dist/bin/build.d.ts.map +1 -0
  118. package/dist/bin/build.js +226 -0
  119. package/dist/bin/build.js.map +1 -0
  120. package/dist/bin/build.spec.js +594 -0
  121. package/dist/bin/build.spec.js.map +1 -0
  122. package/dist/bin/frameworkConventions.d.ts +8 -0
  123. package/dist/bin/frameworkConventions.d.ts.map +1 -0
  124. package/dist/bin/frameworkConventions.js +8 -0
  125. package/dist/bin/frameworkConventions.js.map +1 -0
  126. package/dist/bin/generateImportMap/index.d.ts.map +1 -1
  127. package/dist/bin/generateImportMap/index.js +8 -5
  128. package/dist/bin/generateImportMap/index.js.map +1 -1
  129. package/dist/bin/generateImportMap/iterateCollections.d.ts.map +1 -1
  130. package/dist/bin/generateImportMap/iterateCollections.js +11 -0
  131. package/dist/bin/generateImportMap/iterateCollections.js.map +1 -1
  132. package/dist/bin/generateImportMap/iterateConfig.d.ts.map +1 -1
  133. package/dist/bin/generateImportMap/iterateConfig.js +12 -0
  134. package/dist/bin/generateImportMap/iterateConfig.js.map +1 -1
  135. package/dist/bin/generateImportMap/iterateFields.d.ts.map +1 -1
  136. package/dist/bin/generateImportMap/iterateFields.js +4 -1
  137. package/dist/bin/generateImportMap/iterateFields.js.map +1 -1
  138. package/dist/bin/generateImportMap/utilities/resolveImportMapFilePath.d.ts +5 -1
  139. package/dist/bin/generateImportMap/utilities/resolveImportMapFilePath.d.ts.map +1 -1
  140. package/dist/bin/generateImportMap/utilities/resolveImportMapFilePath.js +33 -18
  141. package/dist/bin/generateImportMap/utilities/resolveImportMapFilePath.js.map +1 -1
  142. package/dist/bin/generateTypes.d.ts +3 -2
  143. package/dist/bin/generateTypes.d.ts.map +1 -1
  144. package/dist/bin/generateTypes.js +11 -1
  145. package/dist/bin/generateTypes.js.map +1 -1
  146. package/dist/bin/index.d.ts.map +1 -1
  147. package/dist/bin/index.js +9 -0
  148. package/dist/bin/index.js.map +1 -1
  149. package/dist/bin/loadEnv.d.ts +3 -1
  150. package/dist/bin/loadEnv.d.ts.map +1 -1
  151. package/dist/bin/loadEnv.js +40 -10
  152. package/dist/bin/loadEnv.js.map +1 -1
  153. package/dist/collections/config/client.d.ts +3 -3
  154. package/dist/collections/config/client.d.ts.map +1 -1
  155. package/dist/collections/config/client.js +1 -0
  156. package/dist/collections/config/client.js.map +1 -1
  157. package/dist/collections/config/defaults.d.ts +0 -4
  158. package/dist/collections/config/defaults.d.ts.map +1 -1
  159. package/dist/collections/config/defaults.js +2 -17
  160. package/dist/collections/config/defaults.js.map +1 -1
  161. package/dist/collections/config/defaults.spec.js +47 -0
  162. package/dist/collections/config/defaults.spec.js.map +1 -0
  163. package/dist/collections/config/sanitize.d.ts +10 -1
  164. package/dist/collections/config/sanitize.d.ts.map +1 -1
  165. package/dist/collections/config/sanitize.js +1 -11
  166. package/dist/collections/config/sanitize.js.map +1 -1
  167. package/dist/collections/config/types.d.ts +13 -9
  168. package/dist/collections/config/types.d.ts.map +1 -1
  169. package/dist/collections/config/types.js.map +1 -1
  170. package/dist/collections/dataloader.d.ts +1 -1
  171. package/dist/collections/endpoints/create.d.ts.map +1 -1
  172. package/dist/collections/endpoints/create.js +0 -2
  173. package/dist/collections/endpoints/create.js.map +1 -1
  174. package/dist/collections/endpoints/updateByID.d.ts.map +1 -1
  175. package/dist/collections/endpoints/updateByID.js +1 -2
  176. package/dist/collections/endpoints/updateByID.js.map +1 -1
  177. package/dist/collections/operations/count.d.ts.map +1 -1
  178. package/dist/collections/operations/count.js +1 -0
  179. package/dist/collections/operations/count.js.map +1 -1
  180. package/dist/collections/operations/create.d.ts +0 -1
  181. package/dist/collections/operations/create.d.ts.map +1 -1
  182. package/dist/collections/operations/create.js +15 -6
  183. package/dist/collections/operations/create.js.map +1 -1
  184. package/dist/collections/operations/delete.d.ts.map +1 -1
  185. package/dist/collections/operations/delete.js +3 -0
  186. package/dist/collections/operations/delete.js.map +1 -1
  187. package/dist/collections/operations/findDistinct.d.ts.map +1 -1
  188. package/dist/collections/operations/findDistinct.js +1 -0
  189. package/dist/collections/operations/findDistinct.js.map +1 -1
  190. package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
  191. package/dist/collections/operations/local/count.d.ts +3 -3
  192. package/dist/collections/operations/local/count.d.ts.map +1 -1
  193. package/dist/collections/operations/local/count.js.map +1 -1
  194. package/dist/collections/operations/local/countVersions.d.ts +3 -3
  195. package/dist/collections/operations/local/countVersions.d.ts.map +1 -1
  196. package/dist/collections/operations/local/countVersions.js.map +1 -1
  197. package/dist/collections/operations/local/create.d.ts +3 -3
  198. package/dist/collections/operations/local/create.d.ts.map +1 -1
  199. package/dist/collections/operations/local/create.js.map +1 -1
  200. package/dist/collections/operations/local/delete.d.ts +3 -3
  201. package/dist/collections/operations/local/delete.d.ts.map +1 -1
  202. package/dist/collections/operations/local/delete.js.map +1 -1
  203. package/dist/collections/operations/local/duplicate.d.ts +3 -3
  204. package/dist/collections/operations/local/duplicate.d.ts.map +1 -1
  205. package/dist/collections/operations/local/duplicate.js.map +1 -1
  206. package/dist/collections/operations/local/find.d.ts +3 -3
  207. package/dist/collections/operations/local/find.d.ts.map +1 -1
  208. package/dist/collections/operations/local/find.js.map +1 -1
  209. package/dist/collections/operations/local/findByID.d.ts +3 -3
  210. package/dist/collections/operations/local/findByID.d.ts.map +1 -1
  211. package/dist/collections/operations/local/findByID.js.map +1 -1
  212. package/dist/collections/operations/local/findDistinct.d.ts +2 -2
  213. package/dist/collections/operations/local/findDistinct.d.ts.map +1 -1
  214. package/dist/collections/operations/local/findDistinct.js.map +1 -1
  215. package/dist/collections/operations/local/findVersionByID.d.ts +3 -3
  216. package/dist/collections/operations/local/findVersionByID.d.ts.map +1 -1
  217. package/dist/collections/operations/local/findVersionByID.js.map +1 -1
  218. package/dist/collections/operations/local/findVersions.d.ts +3 -3
  219. package/dist/collections/operations/local/findVersions.d.ts.map +1 -1
  220. package/dist/collections/operations/local/findVersions.js.map +1 -1
  221. package/dist/collections/operations/local/restoreVersion.d.ts +3 -3
  222. package/dist/collections/operations/local/restoreVersion.d.ts.map +1 -1
  223. package/dist/collections/operations/local/restoreVersion.js.map +1 -1
  224. package/dist/collections/operations/local/update.d.ts +7 -11
  225. package/dist/collections/operations/local/update.d.ts.map +1 -1
  226. package/dist/collections/operations/local/update.js +1 -2
  227. package/dist/collections/operations/local/update.js.map +1 -1
  228. package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
  229. package/dist/collections/operations/update.d.ts +0 -1
  230. package/dist/collections/operations/update.d.ts.map +1 -1
  231. package/dist/collections/operations/update.js +8 -4
  232. package/dist/collections/operations/update.js.map +1 -1
  233. package/dist/collections/operations/updateByID.d.ts +0 -1
  234. package/dist/collections/operations/updateByID.d.ts.map +1 -1
  235. package/dist/collections/operations/updateByID.js +1 -5
  236. package/dist/collections/operations/updateByID.js.map +1 -1
  237. package/dist/collections/operations/utilities/buildAfterOperation.d.ts +1 -1
  238. package/dist/collections/operations/utilities/buildAfterOperation.d.ts.map +1 -1
  239. package/dist/collections/operations/utilities/copyDataWithFreshRowIDs.d.ts +9 -0
  240. package/dist/collections/operations/utilities/copyDataWithFreshRowIDs.d.ts.map +1 -0
  241. package/dist/collections/operations/utilities/copyDataWithFreshRowIDs.js +170 -0
  242. package/dist/collections/operations/utilities/copyDataWithFreshRowIDs.js.map +1 -0
  243. package/dist/collections/operations/utilities/types.d.ts +20 -29
  244. package/dist/collections/operations/utilities/types.d.ts.map +1 -1
  245. package/dist/collections/operations/utilities/types.js.map +1 -1
  246. package/dist/collections/operations/utilities/update.d.ts +1 -2
  247. package/dist/collections/operations/utilities/update.d.ts.map +1 -1
  248. package/dist/collections/operations/utilities/update.js +64 -65
  249. package/dist/collections/operations/utilities/update.js.map +1 -1
  250. package/dist/config/build.d.ts.map +1 -1
  251. package/dist/config/build.js +8 -0
  252. package/dist/config/build.js.map +1 -1
  253. package/dist/config/client.d.ts +3 -3
  254. package/dist/config/client.d.ts.map +1 -1
  255. package/dist/config/client.js +2 -1
  256. package/dist/config/client.js.map +1 -1
  257. package/dist/config/defaults.d.ts +0 -4
  258. package/dist/config/defaults.d.ts.map +1 -1
  259. package/dist/config/defaults.js +0 -78
  260. package/dist/config/defaults.js.map +1 -1
  261. package/dist/config/definePlugin.d.ts +10 -10
  262. package/dist/config/definePlugin.d.ts.map +1 -1
  263. package/dist/config/definePlugin.js +7 -11
  264. package/dist/config/definePlugin.js.map +1 -1
  265. package/dist/config/orderable/fractional-indexing.d.ts +23 -23
  266. package/dist/config/orderable/fractional-indexing.d.ts.map +1 -1
  267. package/dist/config/orderable/index.d.ts.map +1 -1
  268. package/dist/config/orderable/index.js +23 -0
  269. package/dist/config/orderable/index.js.map +1 -1
  270. package/dist/config/sanitize.d.ts.map +1 -1
  271. package/dist/config/sanitize.js +139 -27
  272. package/dist/config/sanitize.js.map +1 -1
  273. package/dist/config/types.d.ts +126 -38
  274. package/dist/config/types.d.ts.map +1 -1
  275. package/dist/config/types.js +2 -0
  276. package/dist/config/types.js.map +1 -1
  277. package/dist/database/getLocalizedPaths.d.ts.map +1 -1
  278. package/dist/database/getLocalizedPaths.js +1 -1
  279. package/dist/database/getLocalizedPaths.js.map +1 -1
  280. package/dist/database/migrations/migrationsCollection.d.ts.map +1 -1
  281. package/dist/database/migrations/migrationsCollection.js +2 -1
  282. package/dist/database/migrations/migrationsCollection.js.map +1 -1
  283. package/dist/database/types.d.ts +1 -5
  284. package/dist/database/types.d.ts.map +1 -1
  285. package/dist/database/types.js.map +1 -1
  286. package/dist/errors/APIError.d.ts.map +1 -1
  287. package/dist/errors/AuthenticationError.d.ts.map +1 -1
  288. package/dist/errors/DuplicateCollection.d.ts.map +1 -1
  289. package/dist/errors/DuplicateFieldName.d.ts.map +1 -1
  290. package/dist/errors/DuplicateGlobal.d.ts.map +1 -1
  291. package/dist/errors/ErrorDeletingFile.d.ts.map +1 -1
  292. package/dist/errors/FileRetrievalError.d.ts.map +1 -1
  293. package/dist/errors/FileUploadError.d.ts.map +1 -1
  294. package/dist/errors/Forbidden.d.ts.map +1 -1
  295. package/dist/errors/InvalidConfiguration.d.ts.map +1 -1
  296. package/dist/errors/InvalidFieldJoin.d.ts.map +1 -1
  297. package/dist/errors/InvalidFieldName.d.ts.map +1 -1
  298. package/dist/errors/InvalidFieldRelationship.d.ts.map +1 -1
  299. package/dist/errors/InvalidSchema.d.ts.map +1 -1
  300. package/dist/errors/Locked.d.ts.map +1 -1
  301. package/dist/errors/LockedAuth.d.ts.map +1 -1
  302. package/dist/errors/MissingCollectionLabel.d.ts.map +1 -1
  303. package/dist/errors/MissingEditorProp.d.ts.map +1 -1
  304. package/dist/errors/MissingFieldInputOptions.d.ts.map +1 -1
  305. package/dist/errors/MissingFieldType.d.ts.map +1 -1
  306. package/dist/errors/MissingFile.d.ts.map +1 -1
  307. package/dist/errors/NotFound.d.ts.map +1 -1
  308. package/dist/errors/QueryError.d.ts.map +1 -1
  309. package/dist/errors/ReservedFieldName.d.ts.map +1 -1
  310. package/dist/errors/TimestampsRequired.d.ts.map +1 -1
  311. package/dist/errors/UnauthorizedError.d.ts.map +1 -1
  312. package/dist/errors/UnverifiedEmail.d.ts.map +1 -1
  313. package/dist/errors/ValidationError.d.ts +1 -0
  314. package/dist/errors/ValidationError.d.ts.map +1 -1
  315. package/dist/errors/ValidationError.js.map +1 -1
  316. package/dist/exports/internal.d.ts +2 -0
  317. package/dist/exports/internal.d.ts.map +1 -1
  318. package/dist/exports/internal.js +2 -0
  319. package/dist/exports/internal.js.map +1 -1
  320. package/dist/exports/migrations.d.ts +5 -13
  321. package/dist/exports/migrations.d.ts.map +1 -1
  322. package/dist/exports/migrations.js +5 -13
  323. package/dist/exports/migrations.js.map +1 -1
  324. package/dist/exports/shared.d.ts +24 -2
  325. package/dist/exports/shared.d.ts.map +1 -1
  326. package/dist/exports/shared.js +23 -1
  327. package/dist/exports/shared.js.map +1 -1
  328. package/dist/fields/baseFields/slug/countVersions.d.ts.map +1 -1
  329. package/dist/fields/baseFields/slug/countVersions.js +6 -8
  330. package/dist/fields/baseFields/slug/countVersions.js.map +1 -1
  331. package/dist/fields/baseFields/slug/generateSlug.d.ts +14 -7
  332. package/dist/fields/baseFields/slug/generateSlug.d.ts.map +1 -1
  333. package/dist/fields/baseFields/slug/generateSlug.js +53 -73
  334. package/dist/fields/baseFields/slug/generateSlug.js.map +1 -1
  335. package/dist/fields/baseFields/slug/types.d.ts +14 -0
  336. package/dist/fields/baseFields/slug/types.d.ts.map +1 -0
  337. package/dist/fields/baseFields/slug/types.js +6 -0
  338. package/dist/fields/baseFields/slug/types.js.map +1 -0
  339. package/dist/fields/config/client.d.ts +6 -6
  340. package/dist/fields/config/client.d.ts.map +1 -1
  341. package/dist/fields/config/client.js +14 -14
  342. package/dist/fields/config/client.js.map +1 -1
  343. package/dist/fields/config/sanitize.d.ts.map +1 -1
  344. package/dist/fields/config/sanitize.js +41 -14
  345. package/dist/fields/config/sanitize.js.map +1 -1
  346. package/dist/fields/config/types.d.ts +80 -76
  347. package/dist/fields/config/types.d.ts.map +1 -1
  348. package/dist/fields/config/types.js +1 -1
  349. package/dist/fields/config/types.js.map +1 -1
  350. package/dist/fields/hooks/afterChange/promise.js +1 -1
  351. package/dist/fields/hooks/afterChange/promise.js.map +1 -1
  352. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
  353. package/dist/fields/hooks/afterRead/promise.js +13 -3
  354. package/dist/fields/hooks/afterRead/promise.js.map +1 -1
  355. package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
  356. package/dist/fields/hooks/beforeChange/promise.js +3 -3
  357. package/dist/fields/hooks/beforeChange/promise.js.map +1 -1
  358. package/dist/fields/hooks/beforeDuplicate/promise.js +2 -2
  359. package/dist/fields/hooks/beforeDuplicate/promise.js.map +1 -1
  360. package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
  361. package/dist/fields/hooks/beforeValidate/promise.js +16 -5
  362. package/dist/fields/hooks/beforeValidate/promise.js.map +1 -1
  363. package/dist/fields/hooks/beforeValidate/stripNullRows.d.ts +10 -0
  364. package/dist/fields/hooks/beforeValidate/stripNullRows.d.ts.map +1 -0
  365. package/dist/fields/hooks/beforeValidate/stripNullRows.js +18 -0
  366. package/dist/fields/hooks/beforeValidate/stripNullRows.js.map +1 -0
  367. package/dist/fields/setDefaultBeforeDuplicate.js +1 -0
  368. package/dist/fields/setDefaultBeforeDuplicate.js.map +1 -1
  369. package/dist/fields/sortableFieldTypes.d.ts.map +1 -1
  370. package/dist/fields/sortableFieldTypes.js +1 -0
  371. package/dist/fields/sortableFieldTypes.js.map +1 -1
  372. package/dist/fields/validations.d.ts +4 -1
  373. package/dist/fields/validations.d.ts.map +1 -1
  374. package/dist/fields/validations.js +12 -4
  375. package/dist/fields/validations.js.map +1 -1
  376. package/dist/globals/config/client.d.ts +4 -4
  377. package/dist/globals/config/sanitize.d.ts +6 -1
  378. package/dist/globals/config/sanitize.d.ts.map +1 -1
  379. package/dist/globals/config/sanitize.js +2 -6
  380. package/dist/globals/config/sanitize.js.map +1 -1
  381. package/dist/globals/config/sanitize.spec.js +43 -0
  382. package/dist/globals/config/sanitize.spec.js.map +1 -0
  383. package/dist/globals/endpoints/update.d.ts.map +1 -1
  384. package/dist/globals/endpoints/update.js +0 -2
  385. package/dist/globals/endpoints/update.js.map +1 -1
  386. package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
  387. package/dist/globals/operations/local/countVersions.d.ts +3 -3
  388. package/dist/globals/operations/local/countVersions.d.ts.map +1 -1
  389. package/dist/globals/operations/local/countVersions.js.map +1 -1
  390. package/dist/globals/operations/local/findOne.d.ts +3 -3
  391. package/dist/globals/operations/local/findOne.d.ts.map +1 -1
  392. package/dist/globals/operations/local/findOne.js.map +1 -1
  393. package/dist/globals/operations/local/findVersionByID.d.ts +3 -3
  394. package/dist/globals/operations/local/findVersionByID.d.ts.map +1 -1
  395. package/dist/globals/operations/local/findVersionByID.js.map +1 -1
  396. package/dist/globals/operations/local/findVersions.d.ts +3 -3
  397. package/dist/globals/operations/local/findVersions.d.ts.map +1 -1
  398. package/dist/globals/operations/local/findVersions.js.map +1 -1
  399. package/dist/globals/operations/local/restoreVersion.d.ts +3 -3
  400. package/dist/globals/operations/local/restoreVersion.d.ts.map +1 -1
  401. package/dist/globals/operations/local/restoreVersion.js.map +1 -1
  402. package/dist/globals/operations/local/update.d.ts +7 -9
  403. package/dist/globals/operations/local/update.d.ts.map +1 -1
  404. package/dist/globals/operations/local/update.js +1 -2
  405. package/dist/globals/operations/local/update.js.map +1 -1
  406. package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
  407. package/dist/globals/operations/update.d.ts +0 -1
  408. package/dist/globals/operations/update.d.ts.map +1 -1
  409. package/dist/globals/operations/update.js +52 -58
  410. package/dist/globals/operations/update.js.map +1 -1
  411. package/dist/hierarchy/resolveHierarchyCollections.js +1 -1
  412. package/dist/hierarchy/resolveHierarchyCollections.js.map +1 -1
  413. package/dist/hierarchy/sanitizeHierarchyCollection.d.ts.map +1 -1
  414. package/dist/hierarchy/sanitizeHierarchyCollection.js +3 -1
  415. package/dist/hierarchy/sanitizeHierarchyCollection.js.map +1 -1
  416. package/dist/hierarchy/types.d.ts +8 -1
  417. package/dist/hierarchy/types.d.ts.map +1 -1
  418. package/dist/hierarchy/types.js.map +1 -1
  419. package/dist/index.bundled.d.ts +864 -468
  420. package/dist/index.d.ts +82 -35
  421. package/dist/index.d.ts.map +1 -1
  422. package/dist/index.js +55 -37
  423. package/dist/index.js.map +1 -1
  424. package/dist/kv/adapters/DatabaseKVAdapter.d.ts.map +1 -1
  425. package/dist/kv/adapters/DatabaseKVAdapter.js +1 -0
  426. package/dist/kv/adapters/DatabaseKVAdapter.js.map +1 -1
  427. package/dist/kv/adapters/InMemoryKVAdapter.d.ts.map +1 -1
  428. package/dist/locked-documents/config.d.ts.map +1 -1
  429. package/dist/locked-documents/config.js +2 -1
  430. package/dist/locked-documents/config.js.map +1 -1
  431. package/dist/preferences/config.d.ts.map +1 -1
  432. package/dist/preferences/config.js +2 -1
  433. package/dist/preferences/config.js.map +1 -1
  434. package/dist/preferences/keys.d.ts +8 -4
  435. package/dist/preferences/keys.d.ts.map +1 -1
  436. package/dist/preferences/keys.js +4 -1
  437. package/dist/preferences/keys.js.map +1 -1
  438. package/dist/preferences/types.d.ts +15 -0
  439. package/dist/preferences/types.d.ts.map +1 -1
  440. package/dist/preferences/types.js +3 -1
  441. package/dist/preferences/types.js.map +1 -1
  442. package/dist/query-presets/config.d.ts.map +1 -1
  443. package/dist/query-presets/config.js +77 -37
  444. package/dist/query-presets/config.js.map +1 -1
  445. package/dist/query-presets/constraints.d.ts.map +1 -1
  446. package/dist/query-presets/constraints.js +3 -2
  447. package/dist/query-presets/constraints.js.map +1 -1
  448. package/dist/query-presets/types.d.ts +1 -1
  449. package/dist/query-presets/types.d.ts.map +1 -1
  450. package/dist/queues/config/collection.d.ts.map +1 -1
  451. package/dist/queues/config/collection.js +2 -1
  452. package/dist/queues/config/collection.js.map +1 -1
  453. package/dist/queues/config/generateJobsJSONSchemas.d.ts +1 -1
  454. package/dist/queues/config/generateJobsJSONSchemas.d.ts.map +1 -1
  455. package/dist/queues/config/generateJobsJSONSchemas.js +33 -12
  456. package/dist/queues/config/generateJobsJSONSchemas.js.map +1 -1
  457. package/dist/queues/config/global.d.ts.map +1 -1
  458. package/dist/queues/config/global.js +2 -1
  459. package/dist/queues/config/global.js.map +1 -1
  460. package/dist/queues/errors/index.d.ts.map +1 -1
  461. package/dist/queues/localAPI.d.ts +8 -8
  462. package/dist/queues/localAPI.d.ts.map +1 -1
  463. package/dist/queues/operations/runJobs/runJob/importHandlerPath.d.ts +1 -1
  464. package/dist/queues/operations/runJobs/runJob/importHandlerPath.d.ts.map +1 -1
  465. package/dist/queues/utilities/getCurrentDate.d.ts.map +1 -1
  466. package/dist/types/constants.d.ts +2 -2
  467. package/dist/types/constants.d.ts.map +1 -1
  468. package/dist/types/index.d.ts +18 -8
  469. package/dist/types/index.d.ts.map +1 -1
  470. package/dist/types/index.js.map +1 -1
  471. package/dist/uploads/cropImage.d.ts.map +1 -1
  472. package/dist/uploads/endpoints/getFileFromURL.d.ts.map +1 -1
  473. package/dist/uploads/endpoints/getFileFromURL.js +9 -5
  474. package/dist/uploads/endpoints/getFileFromURL.js.map +1 -1
  475. package/dist/uploads/fetchAPI-multipart/processMultipart.d.ts.map +1 -1
  476. package/dist/uploads/fetchAPI-multipart/processMultipart.js +4 -0
  477. package/dist/uploads/fetchAPI-multipart/processMultipart.js.map +1 -1
  478. package/dist/uploads/generateFileData.d.ts +2 -1
  479. package/dist/uploads/generateFileData.d.ts.map +1 -1
  480. package/dist/uploads/generateFileData.js +5 -2
  481. package/dist/uploads/generateFileData.js.map +1 -1
  482. package/dist/uploads/getBaseFields.d.ts.map +1 -1
  483. package/dist/uploads/getBaseFields.js +7 -19
  484. package/dist/uploads/getBaseFields.js.map +1 -1
  485. package/dist/uploads/getFileByPath.d.ts +1 -1
  486. package/dist/uploads/image-resizing/getImageResizeAction.d.ts +1 -1
  487. package/dist/uploads/matchMimeType.d.ts +8 -0
  488. package/dist/uploads/matchMimeType.d.ts.map +1 -0
  489. package/dist/uploads/matchMimeType.js +19 -0
  490. package/dist/uploads/matchMimeType.js.map +1 -0
  491. package/dist/uploads/matchMimeType.spec.js +66 -0
  492. package/dist/uploads/matchMimeType.spec.js.map +1 -0
  493. package/dist/uploads/safeFetch.d.ts +1 -1
  494. package/dist/uploads/safeFetch.d.ts.map +1 -1
  495. package/dist/uploads/safeFetch.js +11 -5
  496. package/dist/uploads/safeFetch.js.map +1 -1
  497. package/dist/uploads/types.d.ts +33 -29
  498. package/dist/uploads/types.d.ts.map +1 -1
  499. package/dist/uploads/types.js.map +1 -1
  500. package/dist/utilities/addDataAndFileToRequest.d.ts.map +1 -1
  501. package/dist/utilities/addDataAndFileToRequest.js +6 -0
  502. package/dist/utilities/addDataAndFileToRequest.js.map +1 -1
  503. package/dist/utilities/appendDateTimezoneSelectFields.js +2 -2
  504. package/dist/utilities/appendDateTimezoneSelectFields.js.map +1 -1
  505. package/dist/utilities/configToJSONSchema.d.ts +68 -16
  506. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  507. package/dist/utilities/configToJSONSchema.js +312 -117
  508. package/dist/utilities/configToJSONSchema.js.map +1 -1
  509. package/dist/utilities/configToJSONSchema.spec.js +656 -85
  510. package/dist/utilities/configToJSONSchema.spec.js.map +1 -1
  511. package/dist/utilities/createLocalReq.d.ts +2 -2
  512. package/dist/utilities/createLocalReq.d.ts.map +1 -1
  513. package/dist/utilities/createLocalReq.js.map +1 -1
  514. package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
  515. package/dist/utilities/createPayloadRequest.js +1 -0
  516. package/dist/utilities/createPayloadRequest.js.map +1 -1
  517. package/dist/utilities/deepCopyObject.d.ts.map +1 -1
  518. package/dist/utilities/deepCopyObject.js +8 -0
  519. package/dist/utilities/deepCopyObject.js.map +1 -1
  520. package/dist/utilities/dependencies/dependencyChecker.js +1 -1
  521. package/dist/utilities/dependencies/dependencyChecker.js.map +1 -1
  522. package/dist/utilities/dependencies/getDependencies.d.ts.map +1 -1
  523. package/dist/utilities/dependencies/getDependencies.js +5 -5
  524. package/dist/utilities/dependencies/getDependencies.js.map +1 -1
  525. package/dist/utilities/dynamicImport.js +1 -1
  526. package/dist/utilities/dynamicImport.js.map +1 -1
  527. package/dist/utilities/filterDataToSelectedLocales.d.ts.map +1 -1
  528. package/dist/utilities/filterDataToSelectedLocales.js +5 -12
  529. package/dist/utilities/filterDataToSelectedLocales.js.map +1 -1
  530. package/dist/utilities/filterDataToSelectedLocales.spec.js +1 -2
  531. package/dist/utilities/filterDataToSelectedLocales.spec.js.map +1 -1
  532. package/dist/utilities/flattenAllFields.d.ts.map +1 -1
  533. package/dist/utilities/flattenAllFields.js +7 -22
  534. package/dist/utilities/flattenAllFields.js.map +1 -1
  535. package/dist/utilities/formatErrors.d.ts.map +1 -1
  536. package/dist/utilities/formatErrors.js +3 -1
  537. package/dist/utilities/formatErrors.js.map +1 -1
  538. package/dist/utilities/getDataByPath.d.ts.map +1 -1
  539. package/dist/utilities/getEntityPermissions/getEntityPermissions.d.ts.map +1 -1
  540. package/dist/utilities/getEntityPermissions/getEntityPermissions.js +2 -0
  541. package/dist/utilities/getEntityPermissions/getEntityPermissions.js.map +1 -1
  542. package/dist/utilities/getEntityPermissions/populateFieldPermissions.d.ts +7 -1
  543. package/dist/utilities/getEntityPermissions/populateFieldPermissions.d.ts.map +1 -1
  544. package/dist/utilities/getEntityPermissions/populateFieldPermissions.js +24 -7
  545. package/dist/utilities/getEntityPermissions/populateFieldPermissions.js.map +1 -1
  546. package/dist/utilities/getFieldByPath.d.ts.map +1 -1
  547. package/dist/utilities/getFieldByPath.js +1 -1
  548. package/dist/utilities/getFieldByPath.js.map +1 -1
  549. package/dist/utilities/getRequestLanguage.d.ts +2 -2
  550. package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
  551. package/dist/utilities/getRequestLanguage.js.map +1 -1
  552. package/dist/utilities/getRequestOrigin.d.ts +2 -2
  553. package/dist/utilities/getVersionsConfig.d.ts +1 -1
  554. package/dist/utilities/getVersionsConfig.js.map +1 -1
  555. package/dist/utilities/handleEndpoints.d.ts.map +1 -1
  556. package/dist/utilities/handleEndpoints.js +7 -4
  557. package/dist/utilities/handleEndpoints.js.map +1 -1
  558. package/dist/utilities/isEntityHidden.d.ts +2 -2
  559. package/dist/utilities/isURLAllowed.d.ts.map +1 -1
  560. package/dist/utilities/isURLAllowed.js +9 -3
  561. package/dist/utilities/isURLAllowed.js.map +1 -1
  562. package/dist/utilities/isURLAllowed.spec.js +78 -0
  563. package/dist/utilities/isURLAllowed.spec.js.map +1 -0
  564. package/dist/utilities/isValidID.d.ts +1 -1
  565. package/dist/utilities/logger.d.ts +1 -1
  566. package/dist/utilities/mergeLocalizedData.d.ts +14 -4
  567. package/dist/utilities/mergeLocalizedData.d.ts.map +1 -1
  568. package/dist/utilities/mergeLocalizedData.js +54 -46
  569. package/dist/utilities/mergeLocalizedData.js.map +1 -1
  570. package/dist/utilities/mergeLocalizedData.spec.js +23 -23
  571. package/dist/utilities/mergeLocalizedData.spec.js.map +1 -1
  572. package/dist/utilities/miniChalk.d.ts.map +1 -1
  573. package/dist/utilities/parseCookies.d.ts +1 -1
  574. package/dist/utilities/parseParams/index.d.ts +2 -5
  575. package/dist/utilities/parseParams/index.d.ts.map +1 -1
  576. package/dist/utilities/parseParams/index.js.map +1 -1
  577. package/dist/utilities/parseParams/index.spec.js +0 -9
  578. package/dist/utilities/parseParams/index.spec.js.map +1 -1
  579. package/dist/utilities/resolveSelect.d.ts.map +1 -1
  580. package/dist/utilities/telemetry/conf/index.d.ts.map +1 -1
  581. package/dist/utilities/telemetry/events/adminInit.d.ts.map +1 -1
  582. package/dist/utilities/telemetry/events/adminInit.js +2 -3
  583. package/dist/utilities/telemetry/events/adminInit.js.map +1 -1
  584. package/dist/utilities/telemetry/events/serverInit.d.ts.map +1 -1
  585. package/dist/utilities/telemetry/events/serverInit.js +2 -3
  586. package/dist/utilities/telemetry/events/serverInit.js.map +1 -1
  587. package/dist/utilities/telemetry/index.d.ts +15 -4
  588. package/dist/utilities/telemetry/index.d.ts.map +1 -1
  589. package/dist/utilities/telemetry/index.js +6 -1
  590. package/dist/utilities/telemetry/index.js.map +1 -1
  591. package/dist/utilities/telemetry/index.spec.js +43 -0
  592. package/dist/utilities/telemetry/index.spec.js.map +1 -0
  593. package/dist/utilities/transformColumnPreferences.js +4 -2
  594. package/dist/utilities/transformColumnPreferences.js.map +1 -1
  595. package/dist/utilities/traverseFields.d.ts.map +1 -1
  596. package/dist/utilities/traverseFields.js +2 -4
  597. package/dist/utilities/traverseFields.js.map +1 -1
  598. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
  599. package/dist/utilities/traverseForLocalizedFields.js +3 -0
  600. package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
  601. package/dist/versions/baseFields.d.ts +1 -2
  602. package/dist/versions/baseFields.d.ts.map +1 -1
  603. package/dist/versions/baseFields.js +0 -13
  604. package/dist/versions/baseFields.js.map +1 -1
  605. package/dist/versions/buildCollectionFields.d.ts.map +1 -1
  606. package/dist/versions/buildCollectionFields.js +0 -2
  607. package/dist/versions/buildCollectionFields.js.map +1 -1
  608. package/dist/versions/buildGlobalFields.d.ts.map +1 -1
  609. package/dist/versions/buildGlobalFields.js +0 -2
  610. package/dist/versions/buildGlobalFields.js.map +1 -1
  611. package/dist/versions/buildSingleLocalePublishData.d.ts +32 -0
  612. package/dist/versions/buildSingleLocalePublishData.d.ts.map +1 -0
  613. package/dist/versions/buildSingleLocalePublishData.js +37 -0
  614. package/dist/versions/buildSingleLocalePublishData.js.map +1 -0
  615. package/dist/versions/defaults.d.ts.map +1 -1
  616. package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
  617. package/dist/versions/payloadPackageList.d.ts.map +1 -1
  618. package/dist/versions/payloadPackageList.js +0 -1
  619. package/dist/versions/payloadPackageList.js.map +1 -1
  620. package/dist/versions/saveVersion.d.ts +0 -2
  621. package/dist/versions/saveVersion.d.ts.map +1 -1
  622. package/dist/versions/saveVersion.js +12 -17
  623. package/dist/versions/saveVersion.js.map +1 -1
  624. package/dist/versions/schedule/job.d.ts.map +1 -1
  625. package/dist/versions/schedule/job.js +6 -10
  626. package/dist/versions/schedule/job.js.map +1 -1
  627. package/dist/versions/types.d.ts +2 -15
  628. package/dist/versions/types.d.ts.map +1 -1
  629. package/dist/versions/types.js.map +1 -1
  630. package/package.json +23 -20
  631. package/dist/database/migrations/templates/localizeStatus.d.ts +0 -10
  632. package/dist/database/migrations/templates/localizeStatus.d.ts.map +0 -1
  633. package/dist/database/migrations/templates/localizeStatus.js +0 -54
  634. package/dist/database/migrations/templates/localizeStatus.js.map +0 -1
  635. package/dist/fields/baseFields/slug/index.d.ts +0 -89
  636. package/dist/fields/baseFields/slug/index.d.ts.map +0 -1
  637. package/dist/fields/baseFields/slug/index.js +0 -81
  638. package/dist/fields/baseFields/slug/index.js.map +0 -1
  639. package/dist/versions/migrations/localizeStatus/index.d.ts +0 -12
  640. package/dist/versions/migrations/localizeStatus/index.d.ts.map +0 -1
  641. package/dist/versions/migrations/localizeStatus/index.js +0 -33
  642. package/dist/versions/migrations/localizeStatus/index.js.map +0 -1
  643. package/dist/versions/migrations/localizeStatus/mongo/down.d.ts +0 -9
  644. package/dist/versions/migrations/localizeStatus/mongo/down.d.ts.map +0 -1
  645. package/dist/versions/migrations/localizeStatus/mongo/down.js +0 -112
  646. package/dist/versions/migrations/localizeStatus/mongo/down.js.map +0 -1
  647. package/dist/versions/migrations/localizeStatus/mongo/index.d.ts +0 -8
  648. package/dist/versions/migrations/localizeStatus/mongo/index.d.ts.map +0 -1
  649. package/dist/versions/migrations/localizeStatus/mongo/index.js +0 -8
  650. package/dist/versions/migrations/localizeStatus/mongo/index.js.map +0 -1
  651. package/dist/versions/migrations/localizeStatus/mongo/up.d.ts +0 -9
  652. package/dist/versions/migrations/localizeStatus/mongo/up.d.ts.map +0 -1
  653. package/dist/versions/migrations/localizeStatus/mongo/up.js +0 -220
  654. package/dist/versions/migrations/localizeStatus/mongo/up.js.map +0 -1
  655. package/dist/versions/migrations/localizeStatus/sql/down.d.ts +0 -11
  656. package/dist/versions/migrations/localizeStatus/sql/down.d.ts.map +0 -1
  657. package/dist/versions/migrations/localizeStatus/sql/down.js +0 -213
  658. package/dist/versions/migrations/localizeStatus/sql/down.js.map +0 -1
  659. package/dist/versions/migrations/localizeStatus/sql/index.d.ts +0 -8
  660. package/dist/versions/migrations/localizeStatus/sql/index.d.ts.map +0 -1
  661. package/dist/versions/migrations/localizeStatus/sql/index.js +0 -8
  662. package/dist/versions/migrations/localizeStatus/sql/index.js.map +0 -1
  663. package/dist/versions/migrations/localizeStatus/sql/migrateMainCollection.d.ts +0 -13
  664. package/dist/versions/migrations/localizeStatus/sql/migrateMainCollection.d.ts.map +0 -1
  665. package/dist/versions/migrations/localizeStatus/sql/migrateMainCollection.js +0 -51
  666. package/dist/versions/migrations/localizeStatus/sql/migrateMainCollection.js.map +0 -1
  667. package/dist/versions/migrations/localizeStatus/sql/migrateMainGlobal.d.ts +0 -13
  668. package/dist/versions/migrations/localizeStatus/sql/migrateMainGlobal.d.ts.map +0 -1
  669. package/dist/versions/migrations/localizeStatus/sql/migrateMainGlobal.js +0 -54
  670. package/dist/versions/migrations/localizeStatus/sql/migrateMainGlobal.js.map +0 -1
  671. package/dist/versions/migrations/localizeStatus/sql/up.d.ts +0 -11
  672. package/dist/versions/migrations/localizeStatus/sql/up.d.ts.map +0 -1
  673. package/dist/versions/migrations/localizeStatus/sql/up.js +0 -277
  674. package/dist/versions/migrations/localizeStatus/sql/up.js.map +0 -1
  675. package/dist/versions/saveSnapshot.d.ts +0 -18
  676. package/dist/versions/saveSnapshot.d.ts.map +0 -1
  677. package/dist/versions/saveSnapshot.js +0 -38
  678. package/dist/versions/saveSnapshot.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/bin/index.ts"],"sourcesContent":["/* eslint-disable no-console */\nimport { Cron } from 'croner'\nimport minimist from 'minimist'\nimport { pathToFileURL } from 'node:url'\nimport path from 'path'\n\nimport { findConfig } from '../config/find.js'\nimport { getPayload, type Payload } from '../index.js'\nimport { generateImportMap } from './generateImportMap/index.js'\nimport { generateTypes } from './generateTypes.js'\nimport { info } from './info.js'\nimport { loadEnv } from './loadEnv.js'\nimport { migrate, availableCommands as migrateCommands } from './migrate.js'\n\n// Note: this does not account for any user bin scripts\nconst availableScripts = [\n 'generate:db-schema',\n 'generate:importmap',\n 'generate:types',\n 'info',\n 'jobs:run',\n 'jobs:handle-schedules',\n 'run',\n ...migrateCommands,\n] as const\n\nexport const bin = async () => {\n loadEnv()\n process.env.DISABLE_PAYLOAD_HMR = 'true'\n\n const args = minimist(process.argv.slice(2))\n const script = (typeof args._[0] === 'string' ? args._[0] : '').toLowerCase()\n\n if (args.cron) {\n new Cron(\n args.cron,\n async () => {\n // If the bin script initializes payload (getPayload), this will only happen once, as getPayload\n // caches the payload instance on the module scope => no need to manually cache and manage getPayload initialization\n // outside the Cron here.\n await runBinScript({ args, script })\n },\n {\n // Do not run consecutive crons if previous crons still ongoing\n protect: true,\n },\n )\n\n process.stdin.resume() // Keep the process alive\n\n return\n } else {\n const { payload } = await runBinScript({ args, script })\n if (payload) {\n await payload.destroy() // close database connections after running jobs so process can exit cleanly\n }\n process.exit(0)\n }\n}\n\nasync function runBinScript({\n args,\n script,\n}: {\n args: minimist.ParsedArgs\n script: string\n}): Promise<{\n /**\n * Scripts can return a payload instance if it exists. The bin script runner can then safely\n * shut off the instance, depending on if it's running in a cron job or not.\n */\n payload?: Payload\n}> {\n if (script === 'info') {\n await info()\n return {}\n }\n\n if (script === 'run') {\n const scriptPath = args._[1]\n if (!scriptPath) {\n console.error('Please provide a script path to run.')\n process.exit(1)\n }\n\n const absoluteScriptPath = path.resolve(process.cwd(), scriptPath)\n\n // Modify process.argv to remove 'run' and the script path\n const originalArgv = process.argv\n process.argv = [process.argv[0]!, process.argv[1]!, ...args._.slice(2)]\n\n try {\n await import(pathToFileURL(absoluteScriptPath).toString())\n } catch (error) {\n console.error(`Error running script: ${absoluteScriptPath}`)\n console.error(error)\n process.exit(1)\n } finally {\n // Restore original process.argv\n process.argv = originalArgv\n }\n return {}\n }\n\n const configPath = findConfig()\n const configPromise = await import(pathToFileURL(configPath).toString())\n let config = await configPromise\n if (config.default) {\n config = await config.default\n }\n\n const userBinScript = Array.isArray(config.bin)\n ? config.bin.find(({ key }: { key: string }) => key === script)\n : false\n\n if (userBinScript) {\n try {\n const module = await import(pathToFileURL(userBinScript.scriptPath).toString())\n\n if (!module.script || typeof module.script !== 'function') {\n console.error(\n `Could not find \"script\" function export for script ${userBinScript.key} in ${userBinScript.scriptPath}`,\n )\n } else {\n await module.script(config).catch((err: unknown) => {\n console.log(`Script ${userBinScript.key} failed, details:`)\n console.error(err)\n })\n }\n } catch (err) {\n console.log(`Could not find associated bin script for the ${userBinScript.key} command`)\n console.error(err)\n }\n\n return {}\n }\n\n if (script.startsWith('migrate')) {\n await migrate({ config, parsedArgs: args })\n return {}\n }\n\n if (script === 'generate:types') {\n await generateTypes(config)\n return {}\n }\n\n if (script === 'generate:importmap') {\n await generateImportMap(config)\n return {}\n }\n\n if (script === 'jobs:run') {\n const payload = await getPayload({ config }) // Do not setup crons here - this bin script can set up its own crons\n const limit = args.limit ? parseInt(args.limit, 10) : undefined\n const queue = args.queue ? args.queue : undefined\n const allQueues = !!args['all-queues']\n const handleSchedules = !!args['handle-schedules']\n\n if (handleSchedules) {\n await payload.jobs.handleSchedules({\n allQueues,\n queue,\n })\n }\n\n await payload.jobs.run({\n allQueues,\n limit,\n queue,\n })\n\n return { payload }\n }\n\n if (script === 'jobs:handle-schedules') {\n const payload = await getPayload({ config }) // Do not setup crons here - this bin script can set up its own crons\n const queue = args.queue ? args.queue : undefined\n const allQueues = !!args['all-queues']\n\n await payload.jobs.handleSchedules({\n allQueues,\n queue,\n })\n\n return { payload }\n }\n\n if (script === 'generate:db-schema') {\n // Barebones instance to access database adapter, without connecting to the DB\n const payload = await getPayload({ config, disableDBConnect: true, disableOnInit: true }) // Do not setup crons here\n\n if (typeof payload.db.generateSchema !== 'function') {\n payload.logger.error({\n msg: `${payload.db.packageName} does not support database schema generation`,\n })\n\n await payload.destroy()\n process.exit(1)\n }\n\n await payload.db.generateSchema({\n log: args.log === 'false' ? false : true,\n prettify: args.prettify === 'false' ? false : true,\n })\n\n return { payload }\n }\n\n console.error(script ? `Unknown command: \"${script}\"` : 'Please provide a command to run')\n console.log(`\\nAvailable commands:\\n${availableScripts.map((c) => ` - ${c}`).join('\\n')}`)\n\n process.exit(1)\n}\n"],"names":["Cron","minimist","pathToFileURL","path","findConfig","getPayload","generateImportMap","generateTypes","info","loadEnv","migrate","availableCommands","migrateCommands","availableScripts","bin","process","env","DISABLE_PAYLOAD_HMR","args","argv","slice","script","_","toLowerCase","cron","runBinScript","protect","stdin","resume","payload","destroy","exit","scriptPath","console","error","absoluteScriptPath","resolve","cwd","originalArgv","toString","configPath","configPromise","config","default","userBinScript","Array","isArray","find","key","module","catch","err","log","startsWith","parsedArgs","limit","parseInt","undefined","queue","allQueues","handleSchedules","jobs","run","disableDBConnect","disableOnInit","db","generateSchema","logger","msg","packageName","prettify","map","c","join"],"mappings":"AAAA,6BAA6B,GAC7B,SAASA,IAAI,QAAQ,SAAQ;AAC7B,OAAOC,cAAc,WAAU;AAC/B,SAASC,aAAa,QAAQ,WAAU;AACxC,OAAOC,UAAU,OAAM;AAEvB,SAASC,UAAU,QAAQ,oBAAmB;AAC9C,SAASC,UAAU,QAAsB,cAAa;AACtD,SAASC,iBAAiB,QAAQ,+BAA8B;AAChE,SAASC,aAAa,QAAQ,qBAAoB;AAClD,SAASC,IAAI,QAAQ,YAAW;AAChC,SAASC,OAAO,QAAQ,eAAc;AACtC,SAASC,OAAO,EAAEC,qBAAqBC,eAAe,QAAQ,eAAc;AAE5E,uDAAuD;AACvD,MAAMC,mBAAmB;IACvB;IACA;IACA;IACA;IACA;IACA;IACA;OACGD;CACJ;AAED,OAAO,MAAME,MAAM;IACjBL;IACAM,QAAQC,GAAG,CAACC,mBAAmB,GAAG;IAElC,MAAMC,OAAOjB,SAASc,QAAQI,IAAI,CAACC,KAAK,CAAC;IACzC,MAAMC,SAAS,AAAC,CAAA,OAAOH,KAAKI,CAAC,CAAC,EAAE,KAAK,WAAWJ,KAAKI,CAAC,CAAC,EAAE,GAAG,EAAC,EAAGC,WAAW;IAE3E,IAAIL,KAAKM,IAAI,EAAE;QACb,IAAIxB,KACFkB,KAAKM,IAAI,EACT;YACE,gGAAgG;YAChG,oHAAoH;YACpH,yBAAyB;YACzB,MAAMC,aAAa;gBAAEP;gBAAMG;YAAO;QACpC,GACA;YACE,+DAA+D;YAC/DK,SAAS;QACX;QAGFX,QAAQY,KAAK,CAACC,MAAM,IAAG,yBAAyB;QAEhD;IACF,OAAO;QACL,MAAM,EAAEC,OAAO,EAAE,GAAG,MAAMJ,aAAa;YAAEP;YAAMG;QAAO;QACtD,IAAIQ,SAAS;YACX,MAAMA,QAAQC,OAAO,IAAG,4EAA4E;QACtG;QACAf,QAAQgB,IAAI,CAAC;IACf;AACF,EAAC;AAED,eAAeN,aAAa,EAC1BP,IAAI,EACJG,MAAM,EAIP;IAOC,IAAIA,WAAW,QAAQ;QACrB,MAAMb;QACN,OAAO,CAAC;IACV;IAEA,IAAIa,WAAW,OAAO;QACpB,MAAMW,aAAad,KAAKI,CAAC,CAAC,EAAE;QAC5B,IAAI,CAACU,YAAY;YACfC,QAAQC,KAAK,CAAC;YACdnB,QAAQgB,IAAI,CAAC;QACf;QAEA,MAAMI,qBAAqBhC,KAAKiC,OAAO,CAACrB,QAAQsB,GAAG,IAAIL;QAEvD,0DAA0D;QAC1D,MAAMM,eAAevB,QAAQI,IAAI;QACjCJ,QAAQI,IAAI,GAAG;YAACJ,QAAQI,IAAI,CAAC,EAAE;YAAGJ,QAAQI,IAAI,CAAC,EAAE;eAAMD,KAAKI,CAAC,CAACF,KAAK,CAAC;SAAG;QAEvE,IAAI;YACF,MAAM,MAAM,CAAClB,cAAciC,oBAAoBI,QAAQ;QACzD,EAAE,OAAOL,OAAO;YACdD,QAAQC,KAAK,CAAC,CAAC,sBAAsB,EAAEC,oBAAoB;YAC3DF,QAAQC,KAAK,CAACA;YACdnB,QAAQgB,IAAI,CAAC;QACf,SAAU;YACR,gCAAgC;YAChChB,QAAQI,IAAI,GAAGmB;QACjB;QACA,OAAO,CAAC;IACV;IAEA,MAAME,aAAapC;IACnB,MAAMqC,gBAAgB,MAAM,MAAM,CAACvC,cAAcsC,YAAYD,QAAQ;IACrE,IAAIG,SAAS,MAAMD;IACnB,IAAIC,OAAOC,OAAO,EAAE;QAClBD,SAAS,MAAMA,OAAOC,OAAO;IAC/B;IAEA,MAAMC,gBAAgBC,MAAMC,OAAO,CAACJ,OAAO5B,GAAG,IAC1C4B,OAAO5B,GAAG,CAACiC,IAAI,CAAC,CAAC,EAAEC,GAAG,EAAmB,GAAKA,QAAQ3B,UACtD;IAEJ,IAAIuB,eAAe;QACjB,IAAI;YACF,MAAMK,SAAS,MAAM,MAAM,CAAC/C,cAAc0C,cAAcZ,UAAU,EAAEO,QAAQ;YAE5E,IAAI,CAACU,OAAO5B,MAAM,IAAI,OAAO4B,OAAO5B,MAAM,KAAK,YAAY;gBACzDY,QAAQC,KAAK,CACX,CAAC,mDAAmD,EAAEU,cAAcI,GAAG,CAAC,IAAI,EAAEJ,cAAcZ,UAAU,EAAE;YAE5G,OAAO;gBACL,MAAMiB,OAAO5B,MAAM,CAACqB,QAAQQ,KAAK,CAAC,CAACC;oBACjClB,QAAQmB,GAAG,CAAC,CAAC,OAAO,EAAER,cAAcI,GAAG,CAAC,iBAAiB,CAAC;oBAC1Df,QAAQC,KAAK,CAACiB;gBAChB;YACF;QACF,EAAE,OAAOA,KAAK;YACZlB,QAAQmB,GAAG,CAAC,CAAC,6CAA6C,EAAER,cAAcI,GAAG,CAAC,QAAQ,CAAC;YACvFf,QAAQC,KAAK,CAACiB;QAChB;QAEA,OAAO,CAAC;IACV;IAEA,IAAI9B,OAAOgC,UAAU,CAAC,YAAY;QAChC,MAAM3C,QAAQ;YAAEgC;YAAQY,YAAYpC;QAAK;QACzC,OAAO,CAAC;IACV;IAEA,IAAIG,WAAW,kBAAkB;QAC/B,MAAMd,cAAcmC;QACpB,OAAO,CAAC;IACV;IAEA,IAAIrB,WAAW,sBAAsB;QACnC,MAAMf,kBAAkBoC;QACxB,OAAO,CAAC;IACV;IAEA,IAAIrB,WAAW,YAAY;QACzB,MAAMQ,UAAU,MAAMxB,WAAW;YAAEqC;QAAO,GAAG,qEAAqE;;QAClH,MAAMa,QAAQrC,KAAKqC,KAAK,GAAGC,SAAStC,KAAKqC,KAAK,EAAE,MAAME;QACtD,MAAMC,QAAQxC,KAAKwC,KAAK,GAAGxC,KAAKwC,KAAK,GAAGD;QACxC,MAAME,YAAY,CAAC,CAACzC,IAAI,CAAC,aAAa;QACtC,MAAM0C,kBAAkB,CAAC,CAAC1C,IAAI,CAAC,mBAAmB;QAElD,IAAI0C,iBAAiB;YACnB,MAAM/B,QAAQgC,IAAI,CAACD,eAAe,CAAC;gBACjCD;gBACAD;YACF;QACF;QAEA,MAAM7B,QAAQgC,IAAI,CAACC,GAAG,CAAC;YACrBH;YACAJ;YACAG;QACF;QAEA,OAAO;YAAE7B;QAAQ;IACnB;IAEA,IAAIR,WAAW,yBAAyB;QACtC,MAAMQ,UAAU,MAAMxB,WAAW;YAAEqC;QAAO,GAAG,qEAAqE;;QAClH,MAAMgB,QAAQxC,KAAKwC,KAAK,GAAGxC,KAAKwC,KAAK,GAAGD;QACxC,MAAME,YAAY,CAAC,CAACzC,IAAI,CAAC,aAAa;QAEtC,MAAMW,QAAQgC,IAAI,CAACD,eAAe,CAAC;YACjCD;YACAD;QACF;QAEA,OAAO;YAAE7B;QAAQ;IACnB;IAEA,IAAIR,WAAW,sBAAsB;QACnC,8EAA8E;QAC9E,MAAMQ,UAAU,MAAMxB,WAAW;YAAEqC;YAAQqB,kBAAkB;YAAMC,eAAe;QAAK,GAAG,0BAA0B;;QAEpH,IAAI,OAAOnC,QAAQoC,EAAE,CAACC,cAAc,KAAK,YAAY;YACnDrC,QAAQsC,MAAM,CAACjC,KAAK,CAAC;gBACnBkC,KAAK,GAAGvC,QAAQoC,EAAE,CAACI,WAAW,CAAC,4CAA4C,CAAC;YAC9E;YAEA,MAAMxC,QAAQC,OAAO;YACrBf,QAAQgB,IAAI,CAAC;QACf;QAEA,MAAMF,QAAQoC,EAAE,CAACC,cAAc,CAAC;YAC9Bd,KAAKlC,KAAKkC,GAAG,KAAK,UAAU,QAAQ;YACpCkB,UAAUpD,KAAKoD,QAAQ,KAAK,UAAU,QAAQ;QAChD;QAEA,OAAO;YAAEzC;QAAQ;IACnB;IAEAI,QAAQC,KAAK,CAACb,SAAS,CAAC,kBAAkB,EAAEA,OAAO,CAAC,CAAC,GAAG;IACxDY,QAAQmB,GAAG,CAAC,CAAC,uBAAuB,EAAEvC,iBAAiB0D,GAAG,CAAC,CAACC,IAAM,CAAC,IAAI,EAAEA,GAAG,EAAEC,IAAI,CAAC,OAAO;IAE1F1D,QAAQgB,IAAI,CAAC;AACf"}
1
+ {"version":3,"sources":["../../src/bin/index.ts"],"sourcesContent":["/* eslint-disable no-console */\nimport { Cron } from 'croner'\nimport minimist from 'minimist'\nimport { pathToFileURL } from 'node:url'\nimport path from 'path'\n\nimport { findConfig } from '../config/find.js'\nimport { getPayload, type Payload } from '../index.js'\nimport { build } from './build.js'\nimport { generateImportMap } from './generateImportMap/index.js'\nimport { generateTypes } from './generateTypes.js'\nimport { info } from './info.js'\nimport { loadEnv } from './loadEnv.js'\nimport { migrate, availableCommands as migrateCommands } from './migrate.js'\n\n// Note: this does not account for any user bin scripts\nconst availableScripts = [\n 'build',\n 'generate:db-schema',\n 'generate:importmap',\n 'generate:types',\n 'info',\n 'jobs:run',\n 'jobs:handle-schedules',\n 'run',\n ...migrateCommands,\n] as const\n\nexport const bin = async () => {\n loadEnv()\n process.env.DISABLE_PAYLOAD_HMR = 'true'\n\n const args = minimist(process.argv.slice(2))\n const script = (typeof args._[0] === 'string' ? args._[0] : '').toLowerCase()\n\n if (args.cron) {\n new Cron(\n args.cron,\n async () => {\n // If the bin script initializes payload (getPayload), this will only happen once, as getPayload\n // caches the payload instance on the module scope => no need to manually cache and manage getPayload initialization\n // outside the Cron here.\n await runBinScript({ args, script })\n },\n {\n // Do not run consecutive crons if previous crons still ongoing\n protect: true,\n },\n )\n\n process.stdin.resume() // Keep the process alive\n\n return\n } else {\n const { payload } = await runBinScript({ args, script })\n if (payload) {\n await payload.destroy() // close database connections after running jobs so process can exit cleanly\n }\n process.exit(0)\n }\n}\n\nasync function runBinScript({\n args,\n script,\n}: {\n args: minimist.ParsedArgs\n script: string\n}): Promise<{\n /**\n * Scripts can return a payload instance if it exists. The bin script runner can then safely\n * shut off the instance, depending on if it's running in a cron job or not.\n */\n payload?: Payload\n}> {\n if (script === 'info') {\n await info()\n return {}\n }\n\n if (script === 'run') {\n const scriptPath = args._[1]\n if (!scriptPath) {\n console.error('Please provide a script path to run.')\n process.exit(1)\n }\n\n const absoluteScriptPath = path.resolve(process.cwd(), scriptPath)\n\n // Modify process.argv to remove 'run' and the script path\n const originalArgv = process.argv\n process.argv = [process.argv[0]!, process.argv[1]!, ...args._.slice(2)]\n\n try {\n await import(pathToFileURL(absoluteScriptPath).toString())\n } catch (error) {\n console.error(`Error running script: ${absoluteScriptPath}`)\n console.error(error)\n process.exit(1)\n } finally {\n // Restore original process.argv\n process.argv = originalArgv\n }\n return {}\n }\n\n const configPath = findConfig()\n const configPromise = await import(pathToFileURL(configPath).toString())\n let config = await configPromise\n if (config.default) {\n config = await config.default\n }\n\n const userBinScript = Array.isArray(config.bin)\n ? config.bin.find(({ key }: { key: string }) => key === script)\n : false\n\n if (userBinScript) {\n try {\n const module = await import(pathToFileURL(userBinScript.scriptPath).toString())\n\n if (!module.script || typeof module.script !== 'function') {\n console.error(\n `Could not find \"script\" function export for script ${userBinScript.key} in ${userBinScript.scriptPath}`,\n )\n } else {\n await module.script(config).catch((err: unknown) => {\n console.log(`Script ${userBinScript.key} failed, details:`)\n console.error(err)\n })\n }\n } catch (err) {\n console.log(`Could not find associated bin script for the ${userBinScript.key} command`)\n console.error(err)\n }\n\n return {}\n }\n\n if (script.startsWith('migrate')) {\n await migrate({ config, parsedArgs: args })\n return {}\n }\n\n if (script === 'generate:types') {\n await generateTypes(config)\n return {}\n }\n\n if (script === 'generate:importmap') {\n await generateImportMap(config)\n return {}\n }\n\n if (script === 'build') {\n await build({ config })\n return {} // build() awaits next build and owns process exit, propagating its code\n }\n\n if (script === 'jobs:run') {\n const payload = await getPayload({ config }) // Do not setup crons here - this bin script can set up its own crons\n const limit = args.limit ? parseInt(args.limit, 10) : undefined\n const queue = args.queue ? args.queue : undefined\n const allQueues = !!args['all-queues']\n const handleSchedules = !!args['handle-schedules']\n\n if (handleSchedules) {\n await payload.jobs.handleSchedules({\n allQueues,\n queue,\n })\n }\n\n await payload.jobs.run({\n allQueues,\n limit,\n queue,\n })\n\n return { payload }\n }\n\n if (script === 'jobs:handle-schedules') {\n const payload = await getPayload({ config }) // Do not setup crons here - this bin script can set up its own crons\n const queue = args.queue ? args.queue : undefined\n const allQueues = !!args['all-queues']\n\n await payload.jobs.handleSchedules({\n allQueues,\n queue,\n })\n\n return { payload }\n }\n\n if (script === 'generate:db-schema') {\n // Barebones instance to access database adapter, without connecting to the DB\n const payload = await getPayload({ config, disableDBConnect: true, disableOnInit: true }) // Do not setup crons here\n\n if (typeof payload.db.generateSchema !== 'function') {\n payload.logger.error({\n msg: `${payload.db.packageName} does not support database schema generation`,\n })\n\n await payload.destroy()\n process.exit(1)\n }\n\n await payload.db.generateSchema({\n log: args.log === 'false' ? false : true,\n prettify: args.prettify === 'false' ? false : true,\n })\n\n return { payload }\n }\n\n console.error(script ? `Unknown command: \"${script}\"` : 'Please provide a command to run')\n console.log(`\\nAvailable commands:\\n${availableScripts.map((c) => ` - ${c}`).join('\\n')}`)\n\n process.exit(1)\n}\n"],"names":["Cron","minimist","pathToFileURL","path","findConfig","getPayload","build","generateImportMap","generateTypes","info","loadEnv","migrate","availableCommands","migrateCommands","availableScripts","bin","process","env","DISABLE_PAYLOAD_HMR","args","argv","slice","script","_","toLowerCase","cron","runBinScript","protect","stdin","resume","payload","destroy","exit","scriptPath","console","error","absoluteScriptPath","resolve","cwd","originalArgv","toString","configPath","configPromise","config","default","userBinScript","Array","isArray","find","key","module","catch","err","log","startsWith","parsedArgs","limit","parseInt","undefined","queue","allQueues","handleSchedules","jobs","run","disableDBConnect","disableOnInit","db","generateSchema","logger","msg","packageName","prettify","map","c","join"],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  /**
2
- * Try to find user's env files and load it. Uses the same algorithm next.js uses to parse env files, meaning this also supports .env.local, .env.development, .env.production, etc.
2
+ * Try to find user's env files and load them.
3
+ * Supports .env, .env.local, .env.development, .env.production, etc.
4
+ * (same file priority as Next.js)
3
5
  */
4
6
  export declare function loadEnv(path?: string): void;
5
7
  //# sourceMappingURL=loadEnv.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loadEnv.d.ts","sourceRoot":"","sources":["../../src/bin/loadEnv.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,QAsBpC"}
1
+ {"version":3,"file":"loadEnv.d.ts","sourceRoot":"","sources":["../../src/bin/loadEnv.ts"],"names":[],"mappings":"AAoCA;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,QAqBpC"}
@@ -1,22 +1,52 @@
1
- import nextEnvImport from '@next/env';
1
+ import dotenv from 'dotenv';
2
+ import dotenvExpand from 'dotenv-expand';
3
+ import { existsSync } from 'fs';
4
+ import nodePath from 'path';
2
5
  import { findUpSync } from '../utilities/findUp.js';
3
- const { loadEnvConfig } = nextEnvImport;
4
6
  /**
5
- * Try to find user's env files and load it. Uses the same algorithm next.js uses to parse env files, meaning this also supports .env.local, .env.development, .env.production, etc.
7
+ * Loads env files in priority order (same as Next.js convention):
8
+ * .env.${NODE_ENV}.local, .env.local (not for test), .env.${NODE_ENV}, .env
9
+ */ function loadEnvFiles(dir, isDev) {
10
+ const nodeEnv = process.env.NODE_ENV || (isDev ? 'development' : 'production');
11
+ const envFiles = [
12
+ `.env.${nodeEnv}.local`,
13
+ ...nodeEnv !== 'test' ? [
14
+ '.env.local'
15
+ ] : [],
16
+ `.env.${nodeEnv}`,
17
+ '.env'
18
+ ];
19
+ let loaded = false;
20
+ for (const envFile of envFiles){
21
+ const filePath = nodePath.resolve(dir, envFile);
22
+ if (existsSync(filePath)) {
23
+ const result = dotenv.config({
24
+ path: filePath
25
+ });
26
+ if (result.parsed) {
27
+ dotenvExpand.expand(result);
28
+ loaded = true;
29
+ }
30
+ }
31
+ }
32
+ return loaded;
33
+ }
34
+ /**
35
+ * Try to find user's env files and load them.
36
+ * Supports .env, .env.local, .env.development, .env.production, etc.
37
+ * (same file priority as Next.js)
6
38
  */ export function loadEnv(path) {
39
+ const isDev = process.env.NODE_ENV !== 'production';
7
40
  if (path?.length) {
8
- loadEnvConfig(path, true);
41
+ loadEnvFiles(path, isDev);
9
42
  return;
10
43
  }
11
- const dev = process.env.NODE_ENV !== 'production';
12
- const { loadedEnvFiles } = loadEnvConfig(process.cwd(), dev);
13
- if (!loadedEnvFiles?.length) {
14
- // use findUp to find the env file. So, run loadEnvConfig for every directory upwards
44
+ const loaded = loadEnvFiles(process.cwd(), isDev);
45
+ if (!loaded) {
15
46
  findUpSync({
16
47
  // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve
17
48
  condition: (dir)=>{
18
- const { loadedEnvFiles } = loadEnvConfig(dir, true);
19
- if (loadedEnvFiles?.length) {
49
+ if (loadEnvFiles(dir, isDev)) {
20
50
  return true;
21
51
  }
22
52
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/bin/loadEnv.ts"],"sourcesContent":["import nextEnvImport from '@next/env'\n\nimport { findUpSync } from '../utilities/findUp.js'\nconst { loadEnvConfig } = nextEnvImport\n\n/**\n * Try to find user's env files and load it. Uses the same algorithm next.js uses to parse env files, meaning this also supports .env.local, .env.development, .env.production, etc.\n */\nexport function loadEnv(path?: string) {\n if (path?.length) {\n loadEnvConfig(path, true)\n return\n }\n\n const dev = process.env.NODE_ENV !== 'production'\n const { loadedEnvFiles } = loadEnvConfig(process.cwd(), dev)\n\n if (!loadedEnvFiles?.length) {\n // use findUp to find the env file. So, run loadEnvConfig for every directory upwards\n findUpSync({\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n condition: (dir) => {\n const { loadedEnvFiles } = loadEnvConfig(dir, true)\n if (loadedEnvFiles?.length) {\n return true\n }\n },\n dir: process.cwd(),\n })\n }\n}\n"],"names":["nextEnvImport","findUpSync","loadEnvConfig","loadEnv","path","length","dev","process","env","NODE_ENV","loadedEnvFiles","cwd","condition","dir"],"mappings":"AAAA,OAAOA,mBAAmB,YAAW;AAErC,SAASC,UAAU,QAAQ,yBAAwB;AACnD,MAAM,EAAEC,aAAa,EAAE,GAAGF;AAE1B;;CAEC,GACD,OAAO,SAASG,QAAQC,IAAa;IACnC,IAAIA,MAAMC,QAAQ;QAChBH,cAAcE,MAAM;QACpB;IACF;IAEA,MAAME,MAAMC,QAAQC,GAAG,CAACC,QAAQ,KAAK;IACrC,MAAM,EAAEC,cAAc,EAAE,GAAGR,cAAcK,QAAQI,GAAG,IAAIL;IAExD,IAAI,CAACI,gBAAgBL,QAAQ;QAC3B,qFAAqF;QACrFJ,WAAW;YACT,oFAAoF;YACpFW,WAAW,CAACC;gBACV,MAAM,EAAEH,cAAc,EAAE,GAAGR,cAAcW,KAAK;gBAC9C,IAAIH,gBAAgBL,QAAQ;oBAC1B,OAAO;gBACT;YACF;YACAQ,KAAKN,QAAQI,GAAG;QAClB;IACF;AACF"}
1
+ {"version":3,"sources":["../../src/bin/loadEnv.ts"],"sourcesContent":["import dotenv from 'dotenv'\nimport dotenvExpand from 'dotenv-expand'\nimport { existsSync } from 'fs'\nimport nodePath from 'path'\n\nimport { findUpSync } from '../utilities/findUp.js'\n\n/**\n * Loads env files in priority order (same as Next.js convention):\n * .env.${NODE_ENV}.local, .env.local (not for test), .env.${NODE_ENV}, .env\n */\nfunction loadEnvFiles(dir: string, isDev: boolean): boolean {\n const nodeEnv = process.env.NODE_ENV || (isDev ? 'development' : 'production')\n const envFiles = [\n `.env.${nodeEnv}.local`,\n ...(nodeEnv !== 'test' ? ['.env.local'] : []),\n `.env.${nodeEnv}`,\n '.env',\n ]\n\n let loaded = false\n\n for (const envFile of envFiles) {\n const filePath = nodePath.resolve(dir, envFile)\n if (existsSync(filePath)) {\n const result = dotenv.config({ path: filePath })\n if (result.parsed) {\n dotenvExpand.expand(result)\n loaded = true\n }\n }\n }\n\n return loaded\n}\n\n/**\n * Try to find user's env files and load them.\n * Supports .env, .env.local, .env.development, .env.production, etc.\n * (same file priority as Next.js)\n */\nexport function loadEnv(path?: string) {\n const isDev = process.env.NODE_ENV !== 'production'\n\n if (path?.length) {\n loadEnvFiles(path, isDev)\n return\n }\n\n const loaded = loadEnvFiles(process.cwd(), isDev)\n\n if (!loaded) {\n findUpSync({\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n condition: (dir) => {\n if (loadEnvFiles(dir, isDev)) {\n return true\n }\n },\n dir: process.cwd(),\n })\n }\n}\n"],"names":["dotenv","dotenvExpand","existsSync","nodePath","findUpSync","loadEnvFiles","dir","isDev","nodeEnv","process","env","NODE_ENV","envFiles","loaded","envFile","filePath","resolve","result","config","path","parsed","expand","loadEnv","length","cwd","condition"],"mappings":"AAAA,OAAOA,YAAY,SAAQ;AAC3B,OAAOC,kBAAkB,gBAAe;AACxC,SAASC,UAAU,QAAQ,KAAI;AAC/B,OAAOC,cAAc,OAAM;AAE3B,SAASC,UAAU,QAAQ,yBAAwB;AAEnD;;;CAGC,GACD,SAASC,aAAaC,GAAW,EAAEC,KAAc;IAC/C,MAAMC,UAAUC,QAAQC,GAAG,CAACC,QAAQ,IAAKJ,CAAAA,QAAQ,gBAAgB,YAAW;IAC5E,MAAMK,WAAW;QACf,CAAC,KAAK,EAAEJ,QAAQ,MAAM,CAAC;WACnBA,YAAY,SAAS;YAAC;SAAa,GAAG,EAAE;QAC5C,CAAC,KAAK,EAAEA,SAAS;QACjB;KACD;IAED,IAAIK,SAAS;IAEb,KAAK,MAAMC,WAAWF,SAAU;QAC9B,MAAMG,WAAWZ,SAASa,OAAO,CAACV,KAAKQ;QACvC,IAAIZ,WAAWa,WAAW;YACxB,MAAME,SAASjB,OAAOkB,MAAM,CAAC;gBAAEC,MAAMJ;YAAS;YAC9C,IAAIE,OAAOG,MAAM,EAAE;gBACjBnB,aAAaoB,MAAM,CAACJ;gBACpBJ,SAAS;YACX;QACF;IACF;IAEA,OAAOA;AACT;AAEA;;;;CAIC,GACD,OAAO,SAASS,QAAQH,IAAa;IACnC,MAAMZ,QAAQE,QAAQC,GAAG,CAACC,QAAQ,KAAK;IAEvC,IAAIQ,MAAMI,QAAQ;QAChBlB,aAAac,MAAMZ;QACnB;IACF;IAEA,MAAMM,SAASR,aAAaI,QAAQe,GAAG,IAAIjB;IAE3C,IAAI,CAACM,QAAQ;QACXT,WAAW;YACT,oFAAoF;YACpFqB,WAAW,CAACnB;gBACV,IAAID,aAAaC,KAAKC,QAAQ;oBAC5B,OAAO;gBACT;YACF;YACAD,KAAKG,QAAQe,GAAG;QAClB;IACF;AACF"}
@@ -8,7 +8,7 @@ import type { Payload } from '../../types/index.js';
8
8
  import type { SanitizedCollectionConfig } from './types.js';
9
9
  export type ServerOnlyCollectionProperties = keyof Pick<SanitizedCollectionConfig, 'access' | 'custom' | 'endpoints' | 'flattenedFields' | 'hooks' | 'indexes' | 'joins' | 'polymorphicJoins' | 'sanitizedIndexes' | 'select'>;
10
10
  export type ServerOnlyCollectionAdminProperties = keyof Pick<SanitizedCollectionConfig['admin'], 'baseFilter' | 'baseListFilter' | 'components' | 'formatDocURL' | 'hidden'>;
11
- export type ServerOnlyUploadProperties = keyof Pick<SanitizedCollectionConfig['upload'], 'adminThumbnail' | 'externalFileHeaderFilter' | 'handlers' | 'modifyResponseHeaders' | 'withMetadata'>;
11
+ export type ServerOnlyUploadProperties = keyof Pick<SanitizedCollectionConfig['upload'], 'admin' | 'adminThumbnail' | 'externalFileHeaderFilter' | 'handlers' | 'modifyResponseHeaders' | 'withMetadata'>;
12
12
  export type ClientCollectionConfig = {
13
13
  admin: {
14
14
  description?: StaticDescription;
@@ -27,13 +27,13 @@ export type ClientCollectionConfig = {
27
27
  } & Omit<SanitizedCollectionConfig, 'admin' | 'auth' | 'fields' | 'hierarchy' | 'labels' | ServerOnlyCollectionProperties>;
28
28
  export declare const createClientCollectionConfig: ({ collection, defaultIDType, i18n, importMap, }: {
29
29
  collection: SanitizedCollectionConfig;
30
- defaultIDType: Payload["config"]["db"]["defaultIDType"];
30
+ defaultIDType: Payload['config']['db']['defaultIDType'];
31
31
  i18n: I18nClient;
32
32
  importMap: ImportMap;
33
33
  }) => ClientCollectionConfig;
34
34
  export declare const createClientCollectionConfigs: ({ collections, defaultIDType, i18n, importMap, }: {
35
35
  collections: SanitizedCollectionConfig[];
36
- defaultIDType: Payload["config"]["db"]["defaultIDType"];
36
+ defaultIDType: Payload['config']['db']['defaultIDType'];
37
37
  i18n: I18nClient;
38
38
  importMap: ImportMap;
39
39
  }) => ClientCollectionConfig[];
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/collections/config/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAa,MAAM,0BAA0B,CAAA;AAErE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAA;AACrE,OAAO,KAAK,EACV,iBAAiB,EACjB,+BAA+B,EAC/B,WAAW,EACZ,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAEnD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAI3D,MAAM,MAAM,8BAA8B,GAAG,MAAM,IAAI,CACrD,yBAAyB,EACvB,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,iBAAiB,GACjB,OAAO,GACP,SAAS,GACT,OAAO,GACP,kBAAkB,GAClB,kBAAkB,GAClB,QAAQ,CACX,CAAA;AAED,MAAM,MAAM,mCAAmC,GAAG,MAAM,IAAI,CAC1D,yBAAyB,CAAC,OAAO,CAAC,EAClC,YAAY,GAAG,gBAAgB,GAAG,YAAY,GAAG,cAAc,GAAG,QAAQ,CAC3E,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG,MAAM,IAAI,CACjD,yBAAyB,CAAC,QAAQ,CAAC,EACjC,gBAAgB,GAChB,0BAA0B,GAC1B,UAAU,GACV,uBAAuB,GACvB,cAAc,CACjB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE;QACL,WAAW,CAAC,EAAE,iBAAiB,CAAA;QAC/B,WAAW,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,+BAA+B,CAAC,CAAA;QACtE,OAAO,CAAC,EAAE,OAAO,CAAA;KAClB,GAAG,IAAI,CACN,yBAAyB,CAAC,OAAO,CAAC,EAChC,YAAY,GACZ,aAAa,GACb,cAAc,GACd,OAAO,GACP,aAAa,GACb,SAAS,GACT,mCAAmC,CACtC,CAAA;IACD,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,IAAI,CAAA;KAAE,GAAG,IAAI,CAC7B,yBAAyB,CAAC,MAAM,CAAC,EACjC,gBAAgB,GAAG,YAAY,GAAG,QAAQ,CAC3C,CAAA;IACD,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,SAAS,CAAC,EAAE,qBAAqB,GAAG,KAAK,CAAA;IACzC,MAAM,EAAE;QACN,MAAM,EAAE,WAAW,CAAA;QACnB,QAAQ,EAAE,WAAW,CAAA;KACtB,CAAA;CACF,GAAG,IAAI,CACN,yBAAyB,EACzB,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,8BAA8B,CACtF,CAAA;AAoCD,eAAO,MAAM,4BAA4B,oDAKtC;IACD,UAAU,EAAE,yBAAyB,CAAA;IACrC,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAA;IACvD,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;CACrB,KAAG,sBA0LH,CAAA;AAED,eAAO,MAAM,6BAA6B,qDAKvC;IACD,WAAW,EAAE,yBAAyB,EAAE,CAAA;IACxC,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAA;IACvD,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;CACrB,KAAG,sBAAsB,EAezB,CAAA"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/collections/config/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAa,MAAM,0BAA0B,CAAA;AAErE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAA;AACrE,OAAO,KAAK,EACV,iBAAiB,EACjB,+BAA+B,EAC/B,WAAW,EACZ,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAEnD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAI3D,MAAM,MAAM,8BAA8B,GAAG,MAAM,IAAI,CACrD,yBAAyB,EACvB,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,iBAAiB,GACjB,OAAO,GACP,SAAS,GACT,OAAO,GACP,kBAAkB,GAClB,kBAAkB,GAClB,QAAQ,CACX,CAAA;AAED,MAAM,MAAM,mCAAmC,GAAG,MAAM,IAAI,CAC1D,yBAAyB,CAAC,OAAO,CAAC,EAClC,YAAY,GAAG,gBAAgB,GAAG,YAAY,GAAG,cAAc,GAAG,QAAQ,CAC3E,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG,MAAM,IAAI,CACjD,yBAAyB,CAAC,QAAQ,CAAC,EACjC,OAAO,GACP,gBAAgB,GAChB,0BAA0B,GAC1B,UAAU,GACV,uBAAuB,GACvB,cAAc,CACjB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE;QACL,WAAW,CAAC,EAAE,iBAAiB,CAAA;QAC/B,WAAW,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,+BAA+B,CAAC,CAAA;QACtE,OAAO,CAAC,EAAE,OAAO,CAAA;KAClB,GAAG,IAAI,CACN,yBAAyB,CAAC,OAAO,CAAC,EAChC,YAAY,GACZ,aAAa,GACb,cAAc,GACd,OAAO,GACP,aAAa,GACb,SAAS,GACT,mCAAmC,CACtC,CAAA;IACD,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,IAAI,CAAA;KAAE,GAAG,IAAI,CAC7B,yBAAyB,CAAC,MAAM,CAAC,EACjC,gBAAgB,GAAG,YAAY,GAAG,QAAQ,CAC3C,CAAA;IACD,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,SAAS,CAAC,EAAE,qBAAqB,GAAG,KAAK,CAAA;IACzC,MAAM,EAAE;QACN,MAAM,EAAE,WAAW,CAAA;QACnB,QAAQ,EAAE,WAAW,CAAA;KACtB,CAAA;CACF,GAAG,IAAI,CACN,yBAAyB,EACzB,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,8BAA8B,CACtF,CAAA;AAqCD,eAAO,MAAM,4BAA4B,oDAKtC;IACD,UAAU,EAAE,yBAAyB,CAAA;IACrC,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAA;IACvD,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;CACrB,KAAG,sBA0LH,CAAA;AAED,eAAO,MAAM,6BAA6B,qDAKvC;IACD,WAAW,EAAE,yBAAyB,EAAE,CAAA;IACxC,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAA;IACvD,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;CACrB,KAAG,sBAAsB,EAezB,CAAA"}
@@ -12,6 +12,7 @@ const serverOnlyCollectionProperties = [
12
12
  'select'
13
13
  ];
14
14
  const serverOnlyUploadProperties = [
15
+ 'admin',
15
16
  'adminThumbnail',
16
17
  'externalFileHeaderFilter',
17
18
  'handlers',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/config/client.ts"],"sourcesContent":["import type { I18nClient, TFunction } from '@payloadcms/translations'\n\nimport type { StaticDescription } from '../../admin/types.js'\nimport type { ImportMap } from '../../bin/generateImportMap/index.js'\nimport type {\n LivePreviewConfig,\n ServerOnlyLivePreviewProperties,\n StaticLabel,\n} from '../../config/types.js'\nimport type { ClientField } from '../../fields/config/client.js'\nimport type { ClientHierarchyConfig } from '../../hierarchy/types.js'\nimport type { Payload } from '../../types/index.js'\nimport type { SanitizedUploadConfig } from '../../uploads/types.js'\nimport type { SanitizedCollectionConfig } from './types.js'\n\nimport { createClientFields } from '../../fields/config/client.js'\n\nexport type ServerOnlyCollectionProperties = keyof Pick<\n SanitizedCollectionConfig,\n | 'access'\n | 'custom'\n | 'endpoints'\n | 'flattenedFields'\n | 'hooks'\n | 'indexes'\n | 'joins'\n | 'polymorphicJoins'\n | 'sanitizedIndexes'\n | 'select'\n>\n\nexport type ServerOnlyCollectionAdminProperties = keyof Pick<\n SanitizedCollectionConfig['admin'],\n 'baseFilter' | 'baseListFilter' | 'components' | 'formatDocURL' | 'hidden'\n>\n\nexport type ServerOnlyUploadProperties = keyof Pick<\n SanitizedCollectionConfig['upload'],\n | 'adminThumbnail'\n | 'externalFileHeaderFilter'\n | 'handlers'\n | 'modifyResponseHeaders'\n | 'withMetadata'\n>\n\nexport type ClientCollectionConfig = {\n admin: {\n description?: StaticDescription\n livePreview?: Omit<LivePreviewConfig, ServerOnlyLivePreviewProperties>\n preview?: boolean\n } & Omit<\n SanitizedCollectionConfig['admin'],\n | 'components'\n | 'description'\n | 'formatDocURL'\n | 'joins'\n | 'livePreview'\n | 'preview'\n | ServerOnlyCollectionAdminProperties\n >\n auth?: { verify?: true } & Omit<\n SanitizedCollectionConfig['auth'],\n 'forgotPassword' | 'strategies' | 'verify'\n >\n fields: ClientField[]\n hierarchy?: ClientHierarchyConfig | false\n labels: {\n plural: StaticLabel\n singular: StaticLabel\n }\n} & Omit<\n SanitizedCollectionConfig,\n 'admin' | 'auth' | 'fields' | 'hierarchy' | 'labels' | ServerOnlyCollectionProperties\n>\n\nconst serverOnlyCollectionProperties: Partial<ServerOnlyCollectionProperties>[] = [\n 'hooks',\n 'access',\n 'endpoints',\n 'custom',\n 'joins',\n 'polymorphicJoins',\n 'flattenedFields',\n 'indexes',\n 'sanitizedIndexes',\n 'select',\n // `upload`\n // `admin`\n // are all handled separately\n]\n\nconst serverOnlyUploadProperties: Partial<ServerOnlyUploadProperties>[] = [\n 'adminThumbnail',\n 'externalFileHeaderFilter',\n 'handlers',\n 'modifyResponseHeaders',\n 'withMetadata',\n]\n\nconst serverOnlyCollectionAdminProperties: Partial<ServerOnlyCollectionAdminProperties>[] = [\n 'hidden',\n 'baseFilter',\n 'baseListFilter',\n 'components',\n 'formatDocURL',\n // 'preview' is handled separately\n // `livePreview` is handled separately\n]\n\nexport const createClientCollectionConfig = ({\n collection,\n defaultIDType,\n i18n,\n importMap,\n}: {\n collection: SanitizedCollectionConfig\n defaultIDType: Payload['config']['db']['defaultIDType']\n i18n: I18nClient\n importMap: ImportMap\n}): ClientCollectionConfig => {\n const clientCollection = {} as Partial<ClientCollectionConfig>\n\n for (const key in collection) {\n if (serverOnlyCollectionProperties.includes(key as any)) {\n continue\n }\n switch (key) {\n case 'admin':\n if (!collection.admin) {\n break\n }\n\n clientCollection.admin = {} as ClientCollectionConfig['admin']\n\n for (const adminKey in collection.admin) {\n if (serverOnlyCollectionAdminProperties.includes(adminKey as any)) {\n continue\n }\n\n switch (adminKey) {\n case 'description':\n if (\n typeof collection.admin.description === 'string' ||\n typeof collection.admin.description === 'object'\n ) {\n if (collection.admin.description) {\n clientCollection.admin.description = collection.admin.description\n }\n } else if (typeof collection.admin.description === 'function') {\n const description = collection.admin.description({ t: i18n.t as TFunction })\n\n if (description) {\n clientCollection.admin.description = description\n }\n }\n break\n\n case 'livePreview':\n clientCollection.admin.livePreview = {}\n\n if (collection.admin.livePreview?.breakpoints) {\n clientCollection.admin.livePreview.breakpoints =\n collection.admin.livePreview.breakpoints\n }\n\n break\n\n case 'preview':\n if (collection.admin.preview) {\n clientCollection.admin.preview = true\n }\n\n break\n\n default:\n ;(clientCollection as any).admin[adminKey] =\n collection.admin[adminKey as keyof SanitizedCollectionConfig['admin']]\n }\n }\n\n break\n\n case 'auth':\n if (!collection.auth) {\n break\n }\n\n clientCollection.auth = {} as { verify?: true } & SanitizedCollectionConfig['auth']\n\n if (collection.auth.cookies) {\n clientCollection.auth.cookies = collection.auth.cookies\n }\n\n if (collection.auth.depth !== undefined) {\n // Check for undefined as it can be a number (0)\n clientCollection.auth.depth = collection.auth.depth\n }\n\n if (collection.auth.disableLocalStrategy) {\n clientCollection.auth.disableLocalStrategy = collection.auth.disableLocalStrategy\n }\n\n if (collection.auth.lockTime !== undefined) {\n // Check for undefined as it can be a number (0)\n clientCollection.auth.lockTime = collection.auth.lockTime\n }\n\n if (collection.auth.loginWithUsername) {\n clientCollection.auth.loginWithUsername = collection.auth.loginWithUsername\n }\n\n if (collection.auth.maxLoginAttempts !== undefined) {\n // Check for undefined as it can be a number (0)\n clientCollection.auth.maxLoginAttempts = collection.auth.maxLoginAttempts\n }\n\n if (collection.auth.removeTokenFromResponses) {\n clientCollection.auth.removeTokenFromResponses = collection.auth.removeTokenFromResponses\n }\n\n if (collection.auth.useAPIKey) {\n clientCollection.auth.useAPIKey = collection.auth.useAPIKey\n }\n\n if (collection.auth.tokenExpiration) {\n clientCollection.auth.tokenExpiration = collection.auth.tokenExpiration\n }\n\n if (collection.auth.verify) {\n clientCollection.auth.verify = true\n }\n\n break\n\n case 'fields':\n clientCollection.fields = createClientFields({\n defaultIDType,\n fields: collection.fields,\n i18n,\n importMap,\n })\n\n break\n\n case 'hierarchy': {\n if (!collection.hierarchy || typeof collection.hierarchy !== 'object') {\n clientCollection.hierarchy = false\n break\n }\n\n // Strip slugify function as it can't cross server-client boundary\n const { slugify: _slugify, ...clientHierarchy } = collection.hierarchy\n clientCollection.hierarchy = clientHierarchy as ClientHierarchyConfig\n\n break\n }\n\n case 'labels':\n clientCollection.labels = {\n plural:\n typeof collection.labels.plural === 'function'\n ? collection.labels.plural({ i18n, t: i18n.t as TFunction })\n : collection.labels.plural,\n singular:\n typeof collection.labels.singular === 'function'\n ? collection.labels.singular({ i18n, t: i18n.t as TFunction })\n : collection.labels.singular,\n }\n\n break\n\n case 'upload':\n if (!collection.upload) {\n break\n }\n\n clientCollection.upload = {} as SanitizedUploadConfig\n\n for (const uploadKey in collection.upload) {\n if (serverOnlyUploadProperties.includes(uploadKey as any)) {\n continue\n }\n\n if (uploadKey === 'imageSizes') {\n clientCollection.upload.imageSizes = collection.upload.imageSizes?.map((size) => {\n const sanitizedSize = { ...size }\n if ('generateImageName' in sanitizedSize) {\n delete sanitizedSize.generateImageName\n }\n return sanitizedSize\n })\n } else {\n ;(clientCollection.upload as any)[uploadKey] =\n collection.upload[uploadKey as keyof SanitizedUploadConfig]\n }\n }\n\n break\n\n default:\n ;(clientCollection as any)[key] = collection[key as keyof SanitizedCollectionConfig]\n }\n }\n\n return clientCollection as ClientCollectionConfig\n}\n\nexport const createClientCollectionConfigs = ({\n collections,\n defaultIDType,\n i18n,\n importMap,\n}: {\n collections: SanitizedCollectionConfig[]\n defaultIDType: Payload['config']['db']['defaultIDType']\n i18n: I18nClient\n importMap: ImportMap\n}): ClientCollectionConfig[] => {\n const clientCollections = new Array(collections.length)\n\n for (let i = 0; i < collections.length; i++) {\n const collection = collections[i]!\n\n clientCollections[i] = createClientCollectionConfig({\n collection,\n defaultIDType,\n i18n,\n importMap,\n })\n }\n\n return clientCollections\n}\n"],"names":["createClientFields","serverOnlyCollectionProperties","serverOnlyUploadProperties","serverOnlyCollectionAdminProperties","createClientCollectionConfig","collection","defaultIDType","i18n","importMap","clientCollection","key","includes","admin","adminKey","description","t","livePreview","breakpoints","preview","auth","cookies","depth","undefined","disableLocalStrategy","lockTime","loginWithUsername","maxLoginAttempts","removeTokenFromResponses","useAPIKey","tokenExpiration","verify","fields","hierarchy","slugify","_slugify","clientHierarchy","labels","plural","singular","upload","uploadKey","imageSizes","map","size","sanitizedSize","generateImageName","createClientCollectionConfigs","collections","clientCollections","Array","length","i"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/collections/config/client.ts"],"sourcesContent":["import type { I18nClient, TFunction } from '@payloadcms/translations'\n\nimport type { StaticDescription } from '../../admin/types.js'\nimport type { ImportMap } from '../../bin/generateImportMap/index.js'\nimport type {\n LivePreviewConfig,\n ServerOnlyLivePreviewProperties,\n StaticLabel,\n} from '../../config/types.js'\nimport type { ClientField } from '../../fields/config/client.js'\nimport type { ClientHierarchyConfig } from '../../hierarchy/types.js'\nimport type { Payload } from '../../types/index.js'\nimport type { SanitizedUploadConfig } from '../../uploads/types.js'\nimport type { SanitizedCollectionConfig } from './types.js'\n\nimport { createClientFields } from '../../fields/config/client.js'\n\nexport type ServerOnlyCollectionProperties = keyof Pick<\n SanitizedCollectionConfig,\n | 'access'\n | 'custom'\n | 'endpoints'\n | 'flattenedFields'\n | 'hooks'\n | 'indexes'\n | 'joins'\n | 'polymorphicJoins'\n | 'sanitizedIndexes'\n | 'select'\n>\n\nexport type ServerOnlyCollectionAdminProperties = keyof Pick<\n SanitizedCollectionConfig['admin'],\n 'baseFilter' | 'baseListFilter' | 'components' | 'formatDocURL' | 'hidden'\n>\n\nexport type ServerOnlyUploadProperties = keyof Pick<\n SanitizedCollectionConfig['upload'],\n | 'admin'\n | 'adminThumbnail'\n | 'externalFileHeaderFilter'\n | 'handlers'\n | 'modifyResponseHeaders'\n | 'withMetadata'\n>\n\nexport type ClientCollectionConfig = {\n admin: {\n description?: StaticDescription\n livePreview?: Omit<LivePreviewConfig, ServerOnlyLivePreviewProperties>\n preview?: boolean\n } & Omit<\n SanitizedCollectionConfig['admin'],\n | 'components'\n | 'description'\n | 'formatDocURL'\n | 'joins'\n | 'livePreview'\n | 'preview'\n | ServerOnlyCollectionAdminProperties\n >\n auth?: { verify?: true } & Omit<\n SanitizedCollectionConfig['auth'],\n 'forgotPassword' | 'strategies' | 'verify'\n >\n fields: ClientField[]\n hierarchy?: ClientHierarchyConfig | false\n labels: {\n plural: StaticLabel\n singular: StaticLabel\n }\n} & Omit<\n SanitizedCollectionConfig,\n 'admin' | 'auth' | 'fields' | 'hierarchy' | 'labels' | ServerOnlyCollectionProperties\n>\n\nconst serverOnlyCollectionProperties: Partial<ServerOnlyCollectionProperties>[] = [\n 'hooks',\n 'access',\n 'endpoints',\n 'custom',\n 'joins',\n 'polymorphicJoins',\n 'flattenedFields',\n 'indexes',\n 'sanitizedIndexes',\n 'select',\n // `upload`\n // `admin`\n // are all handled separately\n]\n\nconst serverOnlyUploadProperties: Partial<ServerOnlyUploadProperties>[] = [\n 'admin',\n 'adminThumbnail',\n 'externalFileHeaderFilter',\n 'handlers',\n 'modifyResponseHeaders',\n 'withMetadata',\n]\n\nconst serverOnlyCollectionAdminProperties: Partial<ServerOnlyCollectionAdminProperties>[] = [\n 'hidden',\n 'baseFilter',\n 'baseListFilter',\n 'components',\n 'formatDocURL',\n // 'preview' is handled separately\n // `livePreview` is handled separately\n]\n\nexport const createClientCollectionConfig = ({\n collection,\n defaultIDType,\n i18n,\n importMap,\n}: {\n collection: SanitizedCollectionConfig\n defaultIDType: Payload['config']['db']['defaultIDType']\n i18n: I18nClient\n importMap: ImportMap\n}): ClientCollectionConfig => {\n const clientCollection = {} as Partial<ClientCollectionConfig>\n\n for (const key in collection) {\n if (serverOnlyCollectionProperties.includes(key as any)) {\n continue\n }\n switch (key) {\n case 'admin':\n if (!collection.admin) {\n break\n }\n\n clientCollection.admin = {} as ClientCollectionConfig['admin']\n\n for (const adminKey in collection.admin) {\n if (serverOnlyCollectionAdminProperties.includes(adminKey as any)) {\n continue\n }\n\n switch (adminKey) {\n case 'description':\n if (\n typeof collection.admin.description === 'string' ||\n typeof collection.admin.description === 'object'\n ) {\n if (collection.admin.description) {\n clientCollection.admin.description = collection.admin.description\n }\n } else if (typeof collection.admin.description === 'function') {\n const description = collection.admin.description({ t: i18n.t as TFunction })\n\n if (description) {\n clientCollection.admin.description = description\n }\n }\n break\n\n case 'livePreview':\n clientCollection.admin.livePreview = {}\n\n if (collection.admin.livePreview?.breakpoints) {\n clientCollection.admin.livePreview.breakpoints =\n collection.admin.livePreview.breakpoints\n }\n\n break\n\n case 'preview':\n if (collection.admin.preview) {\n clientCollection.admin.preview = true\n }\n\n break\n\n default:\n ;(clientCollection as any).admin[adminKey] =\n collection.admin[adminKey as keyof SanitizedCollectionConfig['admin']]\n }\n }\n\n break\n\n case 'auth':\n if (!collection.auth) {\n break\n }\n\n clientCollection.auth = {} as { verify?: true } & SanitizedCollectionConfig['auth']\n\n if (collection.auth.cookies) {\n clientCollection.auth.cookies = collection.auth.cookies\n }\n\n if (collection.auth.depth !== undefined) {\n // Check for undefined as it can be a number (0)\n clientCollection.auth.depth = collection.auth.depth\n }\n\n if (collection.auth.disableLocalStrategy) {\n clientCollection.auth.disableLocalStrategy = collection.auth.disableLocalStrategy\n }\n\n if (collection.auth.lockTime !== undefined) {\n // Check for undefined as it can be a number (0)\n clientCollection.auth.lockTime = collection.auth.lockTime\n }\n\n if (collection.auth.loginWithUsername) {\n clientCollection.auth.loginWithUsername = collection.auth.loginWithUsername\n }\n\n if (collection.auth.maxLoginAttempts !== undefined) {\n // Check for undefined as it can be a number (0)\n clientCollection.auth.maxLoginAttempts = collection.auth.maxLoginAttempts\n }\n\n if (collection.auth.removeTokenFromResponses) {\n clientCollection.auth.removeTokenFromResponses = collection.auth.removeTokenFromResponses\n }\n\n if (collection.auth.useAPIKey) {\n clientCollection.auth.useAPIKey = collection.auth.useAPIKey\n }\n\n if (collection.auth.tokenExpiration) {\n clientCollection.auth.tokenExpiration = collection.auth.tokenExpiration\n }\n\n if (collection.auth.verify) {\n clientCollection.auth.verify = true\n }\n\n break\n\n case 'fields':\n clientCollection.fields = createClientFields({\n defaultIDType,\n fields: collection.fields,\n i18n,\n importMap,\n })\n\n break\n\n case 'hierarchy': {\n if (!collection.hierarchy || typeof collection.hierarchy !== 'object') {\n clientCollection.hierarchy = false\n break\n }\n\n // Strip slugify function as it can't cross server-client boundary\n const { slugify: _slugify, ...clientHierarchy } = collection.hierarchy\n clientCollection.hierarchy = clientHierarchy as ClientHierarchyConfig\n\n break\n }\n\n case 'labels':\n clientCollection.labels = {\n plural:\n typeof collection.labels.plural === 'function'\n ? collection.labels.plural({ i18n, t: i18n.t as TFunction })\n : collection.labels.plural,\n singular:\n typeof collection.labels.singular === 'function'\n ? collection.labels.singular({ i18n, t: i18n.t as TFunction })\n : collection.labels.singular,\n }\n\n break\n\n case 'upload':\n if (!collection.upload) {\n break\n }\n\n clientCollection.upload = {} as SanitizedUploadConfig\n\n for (const uploadKey in collection.upload) {\n if (serverOnlyUploadProperties.includes(uploadKey as any)) {\n continue\n }\n\n if (uploadKey === 'imageSizes') {\n clientCollection.upload.imageSizes = collection.upload.imageSizes?.map((size) => {\n const sanitizedSize = { ...size }\n if ('generateImageName' in sanitizedSize) {\n delete sanitizedSize.generateImageName\n }\n return sanitizedSize\n })\n } else {\n ;(clientCollection.upload as any)[uploadKey] =\n collection.upload[uploadKey as keyof SanitizedUploadConfig]\n }\n }\n\n break\n\n default:\n ;(clientCollection as any)[key] = collection[key as keyof SanitizedCollectionConfig]\n }\n }\n\n return clientCollection as ClientCollectionConfig\n}\n\nexport const createClientCollectionConfigs = ({\n collections,\n defaultIDType,\n i18n,\n importMap,\n}: {\n collections: SanitizedCollectionConfig[]\n defaultIDType: Payload['config']['db']['defaultIDType']\n i18n: I18nClient\n importMap: ImportMap\n}): ClientCollectionConfig[] => {\n const clientCollections = new Array(collections.length)\n\n for (let i = 0; i < collections.length; i++) {\n const collection = collections[i]!\n\n clientCollections[i] = createClientCollectionConfig({\n collection,\n defaultIDType,\n i18n,\n importMap,\n })\n }\n\n return clientCollections\n}\n"],"names":["createClientFields","serverOnlyCollectionProperties","serverOnlyUploadProperties","serverOnlyCollectionAdminProperties","createClientCollectionConfig","collection","defaultIDType","i18n","importMap","clientCollection","key","includes","admin","adminKey","description","t","livePreview","breakpoints","preview","auth","cookies","depth","undefined","disableLocalStrategy","lockTime","loginWithUsername","maxLoginAttempts","removeTokenFromResponses","useAPIKey","tokenExpiration","verify","fields","hierarchy","slugify","_slugify","clientHierarchy","labels","plural","singular","upload","uploadKey","imageSizes","map","size","sanitizedSize","generateImageName","createClientCollectionConfigs","collections","clientCollections","Array","length","i"],"mappings":"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"}
@@ -5,10 +5,6 @@ import type { CollectionConfig } from './types.js';
5
5
  */
6
6
  export declare const defaults: Partial<CollectionConfig>;
7
7
  export declare const addDefaultsToCollectionConfig: (collection: CollectionConfig) => CollectionConfig;
8
- /**
9
- * @deprecated - remove in 4.0. This is error-prone, as mutating this object will affect any objects that use the defaults as a base.
10
- */
11
- export declare const authDefaults: IncomingAuthType;
12
8
  export declare const addDefaultsToAuthConfig: (auth: IncomingAuthType) => IncomingAuthType;
13
9
  /**
14
10
  * @deprecated - remove in 4.0. This is error-prone, as mutating this object will affect any objects that use the defaults as a base.
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/collections/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AACrF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAIlD;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,OAAO,CAAC,gBAAgB,CA8C9C,CAAA;AAED,eAAO,MAAM,6BAA6B,eAAgB,gBAAgB,KAAG,gBA0D5E,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,gBAY1B,CAAA;AAED,eAAO,MAAM,uBAAuB,SAAU,gBAAgB,KAAG,gBAqBhE,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,wBAIvC,CAAA;AAED,eAAO,MAAM,oCAAoC,sBAC5B,wBAAwB,KAC1C,wBAM6B,CAAA"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/collections/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AACrF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAIlD;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,OAAO,CAAC,gBAAgB,CA8C9C,CAAA;AAED,eAAO,MAAM,6BAA6B,eAAgB,gBAAgB,KAAG,gBA0D5E,CAAA;AAED,eAAO,MAAM,uBAAuB,SAAU,gBAAgB,KAAG,gBAqBhE,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,wBAIvC,CAAA;AAED,eAAO,MAAM,oCAAoC,sBAC5B,wBAAwB,KAC1C,wBAM6B,CAAA"}
@@ -52,7 +52,7 @@ import { defaultAccess } from '../../auth/defaultAccess.js';
52
52
  indexes: [],
53
53
  timestamps: true,
54
54
  upload: false,
55
- versions: false
55
+ versions: true
56
56
  };
57
57
  export const addDefaultsToCollectionConfig = (collection)=>{
58
58
  collection.access = {
@@ -109,25 +109,10 @@ export const addDefaultsToCollectionConfig = (collection)=>{
109
109
  };
110
110
  collection.timestamps = collection.timestamps ?? true;
111
111
  collection.upload = collection.upload ?? false;
112
- collection.versions = collection.versions ?? false;
112
+ collection.versions = collection.versions ?? true;
113
113
  collection.indexes = collection.indexes ?? [];
114
114
  return collection;
115
115
  };
116
- /**
117
- * @deprecated - remove in 4.0. This is error-prone, as mutating this object will affect any objects that use the defaults as a base.
118
- */ export const authDefaults = {
119
- cookies: {
120
- sameSite: 'Lax',
121
- secure: false
122
- },
123
- forgotPassword: {},
124
- lockTime: 600000,
125
- loginWithUsername: false,
126
- maxLoginAttempts: 5,
127
- tokenExpiration: 7200,
128
- useSessions: true,
129
- verify: false
130
- };
131
116
  export const addDefaultsToAuthConfig = (auth)=>{
132
117
  auth.cookies = {
133
118
  sameSite: 'Lax',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/config/defaults.ts"],"sourcesContent":["import type { IncomingAuthType, LoginWithUsernameOptions } from '../../auth/types.js'\nimport type { CollectionConfig } from './types.js'\n\nimport { defaultAccess } from '../../auth/defaultAccess.js'\n\n/**\n * @deprecated - remove in 4.0. This is error-prone, as mutating this object will affect any objects that use the defaults as a base.\n */\nexport const defaults: Partial<CollectionConfig> = {\n access: {\n create: defaultAccess,\n delete: defaultAccess,\n read: defaultAccess,\n unlock: defaultAccess,\n update: defaultAccess,\n },\n admin: {\n components: {},\n custom: {},\n enableRichTextLink: true,\n enableRichTextRelationship: true,\n pagination: {\n defaultLimit: 10,\n limits: [5, 10, 25, 50, 100],\n },\n useAsTitle: 'id',\n },\n auth: false,\n custom: {},\n endpoints: [],\n fields: [],\n hooks: {\n afterChange: [],\n afterDelete: [],\n afterForgotPassword: [],\n afterLogin: [],\n afterLogout: [],\n afterMe: [],\n afterOperation: [],\n afterRead: [],\n afterRefresh: [],\n beforeChange: [],\n beforeDelete: [],\n beforeLogin: [],\n beforeOperation: [],\n beforeRead: [],\n beforeValidate: [],\n me: [],\n refresh: [],\n },\n indexes: [],\n timestamps: true,\n upload: false,\n versions: false,\n}\n\nexport const addDefaultsToCollectionConfig = (collection: CollectionConfig): CollectionConfig => {\n collection.access = {\n create: defaultAccess,\n delete: defaultAccess,\n read: defaultAccess,\n unlock: defaultAccess,\n update: defaultAccess,\n ...(collection.access || {}),\n }\n\n collection.admin = {\n components: {},\n custom: {},\n enableRichTextLink: true,\n enableRichTextRelationship: true,\n useAsTitle: 'id',\n ...(collection.admin || {}),\n pagination: {\n defaultLimit: 10,\n limits: [5, 10, 25, 50, 100],\n ...(collection.admin?.pagination || {}),\n },\n }\n\n collection.auth = collection.auth ?? false\n collection.custom = collection.custom ?? {}\n collection.endpoints = collection.endpoints ?? []\n collection.fields = collection.fields ?? []\n collection.hierarchy = collection.hierarchy ?? false\n\n collection.hooks = {\n afterChange: [],\n afterDelete: [],\n afterForgotPassword: [],\n afterLogin: [],\n afterLogout: [],\n afterMe: [],\n afterOperation: [],\n afterRead: [],\n afterRefresh: [],\n beforeChange: [],\n beforeDelete: [],\n beforeLogin: [],\n beforeOperation: [],\n beforeRead: [],\n beforeValidate: [],\n me: [],\n refresh: [],\n ...(collection.hooks || {}),\n }\n\n collection.timestamps = collection.timestamps ?? true\n collection.upload = collection.upload ?? false\n collection.versions = collection.versions ?? false\n\n collection.indexes = collection.indexes ?? []\n\n return collection\n}\n\n/**\n * @deprecated - remove in 4.0. This is error-prone, as mutating this object will affect any objects that use the defaults as a base.\n */\nexport const authDefaults: IncomingAuthType = {\n cookies: {\n sameSite: 'Lax',\n secure: false,\n },\n forgotPassword: {},\n lockTime: 600000, // 10 minutes\n loginWithUsername: false,\n maxLoginAttempts: 5,\n tokenExpiration: 7200,\n useSessions: true,\n verify: false,\n}\n\nexport const addDefaultsToAuthConfig = (auth: IncomingAuthType): IncomingAuthType => {\n auth.cookies = {\n sameSite: 'Lax',\n secure: false,\n ...(auth.cookies || {}),\n }\n\n auth.forgotPassword = auth.forgotPassword ?? {}\n auth.lockTime = auth.lockTime ?? 600000 // 10 minutes\n auth.loginWithUsername = auth.loginWithUsername ?? false\n auth.maxLoginAttempts = auth.maxLoginAttempts ?? 5\n auth.tokenExpiration = auth.tokenExpiration ?? 7200\n auth.useSessions = auth.useSessions ?? true\n auth.verify = auth.verify ?? false\n auth.strategies = auth.strategies ?? []\n\n if (!auth.disableLocalStrategy && auth.verify === true) {\n auth.verify = {}\n }\n\n return auth\n}\n\n/**\n * @deprecated - remove in 4.0. This is error-prone, as mutating this object will affect any objects that use the defaults as a base.\n */\nexport const loginWithUsernameDefaults: LoginWithUsernameOptions = {\n allowEmailLogin: false,\n requireEmail: false,\n requireUsername: true,\n}\n\nexport const addDefaultsToLoginWithUsernameConfig = (\n loginWithUsername: LoginWithUsernameOptions,\n): LoginWithUsernameOptions =>\n ({\n allowEmailLogin: false,\n requireEmail: false,\n requireUsername: true,\n ...(loginWithUsername || {}),\n }) as LoginWithUsernameOptions\n"],"names":["defaultAccess","defaults","access","create","delete","read","unlock","update","admin","components","custom","enableRichTextLink","enableRichTextRelationship","pagination","defaultLimit","limits","useAsTitle","auth","endpoints","fields","hooks","afterChange","afterDelete","afterForgotPassword","afterLogin","afterLogout","afterMe","afterOperation","afterRead","afterRefresh","beforeChange","beforeDelete","beforeLogin","beforeOperation","beforeRead","beforeValidate","me","refresh","indexes","timestamps","upload","versions","addDefaultsToCollectionConfig","collection","hierarchy","authDefaults","cookies","sameSite","secure","forgotPassword","lockTime","loginWithUsername","maxLoginAttempts","tokenExpiration","useSessions","verify","addDefaultsToAuthConfig","strategies","disableLocalStrategy","loginWithUsernameDefaults","allowEmailLogin","requireEmail","requireUsername","addDefaultsToLoginWithUsernameConfig"],"mappings":"AAGA,SAASA,aAAa,QAAQ,8BAA6B;AAE3D;;CAEC,GACD,OAAO,MAAMC,WAAsC;IACjDC,QAAQ;QACNC,QAAQH;QACRI,QAAQJ;QACRK,MAAML;QACNM,QAAQN;QACRO,QAAQP;IACV;IACAQ,OAAO;QACLC,YAAY,CAAC;QACbC,QAAQ,CAAC;QACTC,oBAAoB;QACpBC,4BAA4B;QAC5BC,YAAY;YACVC,cAAc;YACdC,QAAQ;gBAAC;gBAAG;gBAAI;gBAAI;gBAAI;aAAI;QAC9B;QACAC,YAAY;IACd;IACAC,MAAM;IACNP,QAAQ,CAAC;IACTQ,WAAW,EAAE;IACbC,QAAQ,EAAE;IACVC,OAAO;QACLC,aAAa,EAAE;QACfC,aAAa,EAAE;QACfC,qBAAqB,EAAE;QACvBC,YAAY,EAAE;QACdC,aAAa,EAAE;QACfC,SAAS,EAAE;QACXC,gBAAgB,EAAE;QAClBC,WAAW,EAAE;QACbC,cAAc,EAAE;QAChBC,cAAc,EAAE;QAChBC,cAAc,EAAE;QAChBC,aAAa,EAAE;QACfC,iBAAiB,EAAE;QACnBC,YAAY,EAAE;QACdC,gBAAgB,EAAE;QAClBC,IAAI,EAAE;QACNC,SAAS,EAAE;IACb;IACAC,SAAS,EAAE;IACXC,YAAY;IACZC,QAAQ;IACRC,UAAU;AACZ,EAAC;AAED,OAAO,MAAMC,gCAAgC,CAACC;IAC5CA,WAAWzC,MAAM,GAAG;QAClBC,QAAQH;QACRI,QAAQJ;QACRK,MAAML;QACNM,QAAQN;QACRO,QAAQP;QACR,GAAI2C,WAAWzC,MAAM,IAAI,CAAC,CAAC;IAC7B;IAEAyC,WAAWnC,KAAK,GAAG;QACjBC,YAAY,CAAC;QACbC,QAAQ,CAAC;QACTC,oBAAoB;QACpBC,4BAA4B;QAC5BI,YAAY;QACZ,GAAI2B,WAAWnC,KAAK,IAAI,CAAC,CAAC;QAC1BK,YAAY;YACVC,cAAc;YACdC,QAAQ;gBAAC;gBAAG;gBAAI;gBAAI;gBAAI;aAAI;YAC5B,GAAI4B,WAAWnC,KAAK,EAAEK,cAAc,CAAC,CAAC;QACxC;IACF;IAEA8B,WAAW1B,IAAI,GAAG0B,WAAW1B,IAAI,IAAI;IACrC0B,WAAWjC,MAAM,GAAGiC,WAAWjC,MAAM,IAAI,CAAC;IAC1CiC,WAAWzB,SAAS,GAAGyB,WAAWzB,SAAS,IAAI,EAAE;IACjDyB,WAAWxB,MAAM,GAAGwB,WAAWxB,MAAM,IAAI,EAAE;IAC3CwB,WAAWC,SAAS,GAAGD,WAAWC,SAAS,IAAI;IAE/CD,WAAWvB,KAAK,GAAG;QACjBC,aAAa,EAAE;QACfC,aAAa,EAAE;QACfC,qBAAqB,EAAE;QACvBC,YAAY,EAAE;QACdC,aAAa,EAAE;QACfC,SAAS,EAAE;QACXC,gBAAgB,EAAE;QAClBC,WAAW,EAAE;QACbC,cAAc,EAAE;QAChBC,cAAc,EAAE;QAChBC,cAAc,EAAE;QAChBC,aAAa,EAAE;QACfC,iBAAiB,EAAE;QACnBC,YAAY,EAAE;QACdC,gBAAgB,EAAE;QAClBC,IAAI,EAAE;QACNC,SAAS,EAAE;QACX,GAAIM,WAAWvB,KAAK,IAAI,CAAC,CAAC;IAC5B;IAEAuB,WAAWJ,UAAU,GAAGI,WAAWJ,UAAU,IAAI;IACjDI,WAAWH,MAAM,GAAGG,WAAWH,MAAM,IAAI;IACzCG,WAAWF,QAAQ,GAAGE,WAAWF,QAAQ,IAAI;IAE7CE,WAAWL,OAAO,GAAGK,WAAWL,OAAO,IAAI,EAAE;IAE7C,OAAOK;AACT,EAAC;AAED;;CAEC,GACD,OAAO,MAAME,eAAiC;IAC5CC,SAAS;QACPC,UAAU;QACVC,QAAQ;IACV;IACAC,gBAAgB,CAAC;IACjBC,UAAU;IACVC,mBAAmB;IACnBC,kBAAkB;IAClBC,iBAAiB;IACjBC,aAAa;IACbC,QAAQ;AACV,EAAC;AAED,OAAO,MAAMC,0BAA0B,CAACvC;IACtCA,KAAK6B,OAAO,GAAG;QACbC,UAAU;QACVC,QAAQ;QACR,GAAI/B,KAAK6B,OAAO,IAAI,CAAC,CAAC;IACxB;IAEA7B,KAAKgC,cAAc,GAAGhC,KAAKgC,cAAc,IAAI,CAAC;IAC9ChC,KAAKiC,QAAQ,GAAGjC,KAAKiC,QAAQ,IAAI,QAAO,aAAa;IACrDjC,KAAKkC,iBAAiB,GAAGlC,KAAKkC,iBAAiB,IAAI;IACnDlC,KAAKmC,gBAAgB,GAAGnC,KAAKmC,gBAAgB,IAAI;IACjDnC,KAAKoC,eAAe,GAAGpC,KAAKoC,eAAe,IAAI;IAC/CpC,KAAKqC,WAAW,GAAGrC,KAAKqC,WAAW,IAAI;IACvCrC,KAAKsC,MAAM,GAAGtC,KAAKsC,MAAM,IAAI;IAC7BtC,KAAKwC,UAAU,GAAGxC,KAAKwC,UAAU,IAAI,EAAE;IAEvC,IAAI,CAACxC,KAAKyC,oBAAoB,IAAIzC,KAAKsC,MAAM,KAAK,MAAM;QACtDtC,KAAKsC,MAAM,GAAG,CAAC;IACjB;IAEA,OAAOtC;AACT,EAAC;AAED;;CAEC,GACD,OAAO,MAAM0C,4BAAsD;IACjEC,iBAAiB;IACjBC,cAAc;IACdC,iBAAiB;AACnB,EAAC;AAED,OAAO,MAAMC,uCAAuC,CAClDZ,oBAEC,CAAA;QACCS,iBAAiB;QACjBC,cAAc;QACdC,iBAAiB;QACjB,GAAIX,qBAAqB,CAAC,CAAC;IAC7B,CAAA,EAA8B"}
1
+ {"version":3,"sources":["../../../src/collections/config/defaults.ts"],"sourcesContent":["import type { IncomingAuthType, LoginWithUsernameOptions } from '../../auth/types.js'\nimport type { CollectionConfig } from './types.js'\n\nimport { defaultAccess } from '../../auth/defaultAccess.js'\n\n/**\n * @deprecated - remove in 4.0. This is error-prone, as mutating this object will affect any objects that use the defaults as a base.\n */\nexport const defaults: Partial<CollectionConfig> = {\n access: {\n create: defaultAccess,\n delete: defaultAccess,\n read: defaultAccess,\n unlock: defaultAccess,\n update: defaultAccess,\n },\n admin: {\n components: {},\n custom: {},\n enableRichTextLink: true,\n enableRichTextRelationship: true,\n pagination: {\n defaultLimit: 10,\n limits: [5, 10, 25, 50, 100],\n },\n useAsTitle: 'id',\n },\n auth: false,\n custom: {},\n endpoints: [],\n fields: [],\n hooks: {\n afterChange: [],\n afterDelete: [],\n afterForgotPassword: [],\n afterLogin: [],\n afterLogout: [],\n afterMe: [],\n afterOperation: [],\n afterRead: [],\n afterRefresh: [],\n beforeChange: [],\n beforeDelete: [],\n beforeLogin: [],\n beforeOperation: [],\n beforeRead: [],\n beforeValidate: [],\n me: [],\n refresh: [],\n },\n indexes: [],\n timestamps: true,\n upload: false,\n versions: true,\n}\n\nexport const addDefaultsToCollectionConfig = (collection: CollectionConfig): CollectionConfig => {\n collection.access = {\n create: defaultAccess,\n delete: defaultAccess,\n read: defaultAccess,\n unlock: defaultAccess,\n update: defaultAccess,\n ...(collection.access || {}),\n }\n\n collection.admin = {\n components: {},\n custom: {},\n enableRichTextLink: true,\n enableRichTextRelationship: true,\n useAsTitle: 'id',\n ...(collection.admin || {}),\n pagination: {\n defaultLimit: 10,\n limits: [5, 10, 25, 50, 100],\n ...(collection.admin?.pagination || {}),\n },\n }\n\n collection.auth = collection.auth ?? false\n collection.custom = collection.custom ?? {}\n collection.endpoints = collection.endpoints ?? []\n collection.fields = collection.fields ?? []\n collection.hierarchy = collection.hierarchy ?? false\n\n collection.hooks = {\n afterChange: [],\n afterDelete: [],\n afterForgotPassword: [],\n afterLogin: [],\n afterLogout: [],\n afterMe: [],\n afterOperation: [],\n afterRead: [],\n afterRefresh: [],\n beforeChange: [],\n beforeDelete: [],\n beforeLogin: [],\n beforeOperation: [],\n beforeRead: [],\n beforeValidate: [],\n me: [],\n refresh: [],\n ...(collection.hooks || {}),\n }\n\n collection.timestamps = collection.timestamps ?? true\n collection.upload = collection.upload ?? false\n collection.versions = collection.versions ?? true\n\n collection.indexes = collection.indexes ?? []\n\n return collection\n}\n\nexport const addDefaultsToAuthConfig = (auth: IncomingAuthType): IncomingAuthType => {\n auth.cookies = {\n sameSite: 'Lax',\n secure: false,\n ...(auth.cookies || {}),\n }\n\n auth.forgotPassword = auth.forgotPassword ?? {}\n auth.lockTime = auth.lockTime ?? 600000 // 10 minutes\n auth.loginWithUsername = auth.loginWithUsername ?? false\n auth.maxLoginAttempts = auth.maxLoginAttempts ?? 5\n auth.tokenExpiration = auth.tokenExpiration ?? 7200\n auth.useSessions = auth.useSessions ?? true\n auth.verify = auth.verify ?? false\n auth.strategies = auth.strategies ?? []\n\n if (!auth.disableLocalStrategy && auth.verify === true) {\n auth.verify = {}\n }\n\n return auth\n}\n\n/**\n * @deprecated - remove in 4.0. This is error-prone, as mutating this object will affect any objects that use the defaults as a base.\n */\nexport const loginWithUsernameDefaults: LoginWithUsernameOptions = {\n allowEmailLogin: false,\n requireEmail: false,\n requireUsername: true,\n}\n\nexport const addDefaultsToLoginWithUsernameConfig = (\n loginWithUsername: LoginWithUsernameOptions,\n): LoginWithUsernameOptions =>\n ({\n allowEmailLogin: false,\n requireEmail: false,\n requireUsername: true,\n ...(loginWithUsername || {}),\n }) as LoginWithUsernameOptions\n"],"names":["defaultAccess","defaults","access","create","delete","read","unlock","update","admin","components","custom","enableRichTextLink","enableRichTextRelationship","pagination","defaultLimit","limits","useAsTitle","auth","endpoints","fields","hooks","afterChange","afterDelete","afterForgotPassword","afterLogin","afterLogout","afterMe","afterOperation","afterRead","afterRefresh","beforeChange","beforeDelete","beforeLogin","beforeOperation","beforeRead","beforeValidate","me","refresh","indexes","timestamps","upload","versions","addDefaultsToCollectionConfig","collection","hierarchy","addDefaultsToAuthConfig","cookies","sameSite","secure","forgotPassword","lockTime","loginWithUsername","maxLoginAttempts","tokenExpiration","useSessions","verify","strategies","disableLocalStrategy","loginWithUsernameDefaults","allowEmailLogin","requireEmail","requireUsername","addDefaultsToLoginWithUsernameConfig"],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { addDefaultsToCollectionConfig } from './defaults.js';
3
+ describe('addDefaultsToCollectionConfig', ()=>{
4
+ it('should default versions to true when not specified', ()=>{
5
+ const collection = {
6
+ slug: 'posts',
7
+ fields: []
8
+ };
9
+ const result = addDefaultsToCollectionConfig(collection);
10
+ expect(result.versions).toBe(true);
11
+ });
12
+ it('should preserve explicit versions: false', ()=>{
13
+ const collection = {
14
+ slug: 'users',
15
+ fields: [],
16
+ versions: false
17
+ };
18
+ const result = addDefaultsToCollectionConfig(collection);
19
+ expect(result.versions).toBe(false);
20
+ });
21
+ it('should preserve explicit versions object config', ()=>{
22
+ const collection = {
23
+ slug: 'posts',
24
+ fields: [],
25
+ versions: {
26
+ drafts: true,
27
+ maxPerDoc: 50
28
+ }
29
+ };
30
+ const result = addDefaultsToCollectionConfig(collection);
31
+ expect(result.versions).toEqual({
32
+ drafts: true,
33
+ maxPerDoc: 50
34
+ });
35
+ });
36
+ it('should preserve explicit versions: true', ()=>{
37
+ const collection = {
38
+ slug: 'posts',
39
+ fields: [],
40
+ versions: true
41
+ };
42
+ const result = addDefaultsToCollectionConfig(collection);
43
+ expect(result.versions).toBe(true);
44
+ });
45
+ });
46
+
47
+ //# sourceMappingURL=defaults.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/collections/config/defaults.spec.ts"],"sourcesContent":["import type { CollectionConfig } from './types.js'\n\nimport { describe, expect, it } from 'vitest'\n\nimport { addDefaultsToCollectionConfig } from './defaults.js'\n\ndescribe('addDefaultsToCollectionConfig', () => {\n it('should default versions to true when not specified', () => {\n const collection: CollectionConfig = {\n slug: 'posts',\n fields: [],\n }\n\n const result = addDefaultsToCollectionConfig(collection)\n\n expect(result.versions).toBe(true)\n })\n\n it('should preserve explicit versions: false', () => {\n const collection: CollectionConfig = {\n slug: 'users',\n fields: [],\n versions: false,\n }\n\n const result = addDefaultsToCollectionConfig(collection)\n\n expect(result.versions).toBe(false)\n })\n\n it('should preserve explicit versions object config', () => {\n const collection: CollectionConfig = {\n slug: 'posts',\n fields: [],\n versions: { drafts: true, maxPerDoc: 50 },\n }\n\n const result = addDefaultsToCollectionConfig(collection)\n\n expect(result.versions).toEqual({ drafts: true, maxPerDoc: 50 })\n })\n\n it('should preserve explicit versions: true', () => {\n const collection: CollectionConfig = {\n slug: 'posts',\n fields: [],\n versions: true,\n }\n\n const result = addDefaultsToCollectionConfig(collection)\n\n expect(result.versions).toBe(true)\n })\n})\n"],"names":["describe","expect","it","addDefaultsToCollectionConfig","collection","slug","fields","result","versions","toBe","drafts","maxPerDoc","toEqual"],"mappings":"AAEA,SAASA,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,SAAQ;AAE7C,SAASC,6BAA6B,QAAQ,gBAAe;AAE7DH,SAAS,iCAAiC;IACxCE,GAAG,sDAAsD;QACvD,MAAME,aAA+B;YACnCC,MAAM;YACNC,QAAQ,EAAE;QACZ;QAEA,MAAMC,SAASJ,8BAA8BC;QAE7CH,OAAOM,OAAOC,QAAQ,EAAEC,IAAI,CAAC;IAC/B;IAEAP,GAAG,4CAA4C;QAC7C,MAAME,aAA+B;YACnCC,MAAM;YACNC,QAAQ,EAAE;YACVE,UAAU;QACZ;QAEA,MAAMD,SAASJ,8BAA8BC;QAE7CH,OAAOM,OAAOC,QAAQ,EAAEC,IAAI,CAAC;IAC/B;IAEAP,GAAG,mDAAmD;QACpD,MAAME,aAA+B;YACnCC,MAAM;YACNC,QAAQ,EAAE;YACVE,UAAU;gBAAEE,QAAQ;gBAAMC,WAAW;YAAG;QAC1C;QAEA,MAAMJ,SAASJ,8BAA8BC;QAE7CH,OAAOM,OAAOC,QAAQ,EAAEI,OAAO,CAAC;YAAEF,QAAQ;YAAMC,WAAW;QAAG;IAChE;IAEAT,GAAG,2CAA2C;QAC5C,MAAME,aAA+B;YACnCC,MAAM;YACNC,QAAQ,EAAE;YACVE,UAAU;QACZ;QAEA,MAAMD,SAASJ,8BAA8BC;QAE7CH,OAAOM,OAAOC,QAAQ,EAAEC,IAAI,CAAC;IAC/B;AACF"}
@@ -6,5 +6,14 @@ import type { CollectionConfig, SanitizedCollectionConfig } from './types.js';
6
6
  * Views without `path` will never be matched by the router and are silently ignored.
7
7
  */
8
8
  export declare const warnOnInvalidCustomViews: (collection: CollectionConfig) => void;
9
- export declare const sanitizeCollection: (config: Config, collection: CollectionConfig, richTextSanitizationPromises?: Array<(config: SanitizedConfig) => Promise<void>>, _validRelationships?: string[], orderableJoins?: OrderableJoinInfo[]) => Promise<SanitizedCollectionConfig>;
9
+ export declare const sanitizeCollection: (config: Config, collection: CollectionConfig,
10
+ /**
11
+ * If this property is set, RichText fields won't be sanitized immediately. Instead, they will be added to this array as promises
12
+ * so that you can sanitize them together, after the config has been sanitized.
13
+ */
14
+ richTextSanitizationPromises?: Array<(config: SanitizedConfig) => Promise<void>>, _validRelationships?: string[],
15
+ /**
16
+ * Tracker for orderable join fields - populated during sanitization
17
+ */
18
+ orderableJoins?: OrderableJoinInfo[]) => Promise<SanitizedCollectionConfig>;
10
19
  //# sourceMappingURL=sanitize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../../src/collections/config/sanitize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAA;AACjF,OAAO,KAAK,EACV,gBAAgB,EAChB,yBAAyB,EAG1B,MAAM,YAAY,CAAA;AA2BnB;;;GAGG;AACH,eAAO,MAAM,wBAAwB,eAAgB,gBAAgB,KAAG,IAuBvE,CAAA;AAED,eAAO,MAAM,kBAAkB,WACrB,MAAM,cACF,gBAAgB,iCAKG,KAAK,CAAC,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,wBAC1D,MAAM,EAAE,mBAIb,iBAAiB,EAAE,KACnC,OAAO,CAAC,yBAAyB,CA0TnC,CAAA"}
1
+ {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../../src/collections/config/sanitize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAA;AAEjF,OAAO,KAAK,EACV,gBAAgB,EAChB,yBAAyB,EAG1B,MAAM,YAAY,CAAA;AA0BnB;;;GAGG;AACH,eAAO,MAAM,wBAAwB,eAAgB,gBAAgB,KAAG,IAuBvE,CAAA;AAED,eAAO,MAAM,kBAAkB,WACrB,MAAM,cACF,gBAAgB;AAC5B;;;GAGG;+BAC4B,KAAK,CAAC,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,wBAC1D,MAAM,EAAE;AAC9B;;GAEG;iBACc,iBAAiB,EAAE,KACnC,OAAO,CAAC,yBAAyB,CA+SnC,CAAA"}
@@ -10,7 +10,6 @@ import { uploadCollectionEndpoints } from '../../uploads/endpoints/index.js';
10
10
  import { getBaseUploadFields } from '../../uploads/getBaseFields.js';
11
11
  import { flattenAllFields } from '../../utilities/flattenAllFields.js';
12
12
  import { formatLabels } from '../../utilities/formatLabels.js';
13
- import { miniChalk } from '../../utilities/miniChalk.js';
14
13
  import { traverseForLocalizedFields } from '../../utilities/traverseForLocalizedFields.js';
15
14
  import { baseVersionFields } from '../../versions/baseFields.js';
16
15
  import { versionDefaults } from '../../versions/defaults.js';
@@ -214,16 +213,7 @@ export const sanitizeCollection = async (config, collection, /**
214
213
  };
215
214
  }
216
215
  const hasLocalizedFields = traverseForLocalizedFields(sanitized.fields);
217
- if (config.localization) {
218
- if (hasLocalizedFields && sanitized.versions.drafts.localizeStatus === undefined) {
219
- sanitized.versions.drafts.localizeStatus = false;
220
- }
221
- }
222
- // TODO v4: remove this sanitization check, should not need to enable the experimental flag
223
- if (sanitized.versions.drafts.localizeStatus && !config.experimental?.localizeStatus) {
224
- sanitized.versions.drafts.localizeStatus = false;
225
- console.log(miniChalk.yellowBold(`Warning: "localizeStatus" for drafts is an experimental feature. To enable, set "experimental.localizeStatus" to true in your Payload config.`));
226
- }
216
+ sanitized.versions.drafts.localizeStatus = !!(config.localization && hasLocalizedFields);
227
217
  if (sanitized.versions.drafts.autosave === true) {
228
218
  sanitized.versions.drafts.autosave = {
229
219
  interval: versionDefaults.autosaveInterval