payload 4.0.0-internal.c2b57ce → 4.0.0-internal.ccea85d

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 (825) 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 +3 -11
  6. package/dist/admin/RichText.d.ts.map +1 -1
  7. package/dist/admin/RichText.js.map +1 -1
  8. package/dist/admin/adapters/devReload.d.ts +9 -0
  9. package/dist/admin/adapters/devReload.d.ts.map +1 -0
  10. package/dist/admin/adapters/devReload.js +6 -0
  11. package/dist/admin/adapters/devReload.js.map +1 -0
  12. package/dist/admin/adapters/index.d.ts +3 -0
  13. package/dist/admin/adapters/index.d.ts.map +1 -1
  14. package/dist/admin/adapters/index.js.map +1 -1
  15. package/dist/admin/adapters/render.d.ts +16 -0
  16. package/dist/admin/adapters/render.d.ts.map +1 -0
  17. package/dist/admin/adapters/render.js +7 -0
  18. package/dist/admin/adapters/render.js.map +1 -0
  19. package/dist/admin/adapters/router.d.ts +8 -0
  20. package/dist/admin/adapters/router.d.ts.map +1 -1
  21. package/dist/admin/adapters/router.js.map +1 -1
  22. package/dist/admin/adapters/views.d.ts +36 -0
  23. package/dist/admin/adapters/views.d.ts.map +1 -0
  24. package/dist/admin/adapters/views.js +7 -0
  25. package/dist/admin/adapters/views.js.map +1 -0
  26. package/dist/admin/fields/Row.d.ts +2 -2
  27. package/dist/admin/fields/Row.d.ts.map +1 -1
  28. package/dist/admin/fields/Row.js.map +1 -1
  29. package/dist/admin/forms/Description.d.ts +2 -2
  30. package/dist/admin/forms/Description.d.ts.map +1 -1
  31. package/dist/admin/forms/Description.js.map +1 -1
  32. package/dist/admin/forms/Field.d.ts +10 -5
  33. package/dist/admin/forms/Field.d.ts.map +1 -1
  34. package/dist/admin/forms/Field.js.map +1 -1
  35. package/dist/admin/functions/index.d.ts +10 -1
  36. package/dist/admin/functions/index.d.ts.map +1 -1
  37. package/dist/admin/functions/index.js.map +1 -1
  38. package/dist/admin/types.d.ts +3 -2
  39. package/dist/admin/types.d.ts.map +1 -1
  40. package/dist/admin/types.js.map +1 -1
  41. package/dist/admin/views/dashboard.d.ts +7 -0
  42. package/dist/admin/views/dashboard.d.ts.map +1 -1
  43. package/dist/admin/views/dashboard.js.map +1 -1
  44. package/dist/admin/views/document.d.ts +5 -3
  45. package/dist/admin/views/document.d.ts.map +1 -1
  46. package/dist/admin/views/document.js.map +1 -1
  47. package/dist/admin/views/list.d.ts +10 -1
  48. package/dist/admin/views/list.d.ts.map +1 -1
  49. package/dist/admin/views/list.js.map +1 -1
  50. package/dist/auth/baseFields/apiKey.d.ts +10 -2
  51. package/dist/auth/baseFields/apiKey.d.ts.map +1 -1
  52. package/dist/auth/baseFields/apiKey.js +35 -24
  53. package/dist/auth/baseFields/apiKey.js.map +1 -1
  54. package/dist/auth/cookies.d.ts +2 -2
  55. package/dist/auth/cookies.d.ts.map +1 -1
  56. package/dist/auth/defaultAccess.d.ts +1 -1
  57. package/dist/auth/defaultAccess.d.ts.map +1 -1
  58. package/dist/auth/defaultAccess.js +1 -1
  59. package/dist/auth/defaultAccess.js.map +1 -1
  60. package/dist/auth/defaultUser.d.ts.map +1 -1
  61. package/dist/auth/defaultUser.js +2 -1
  62. package/dist/auth/defaultUser.js.map +1 -1
  63. package/dist/auth/ensureUsernameOrEmail.d.ts.map +1 -1
  64. package/dist/auth/executeAccess.d.ts.map +1 -1
  65. package/dist/auth/executeAuthStrategies.d.ts.map +1 -1
  66. package/dist/auth/extractAccessFromPermission.d.ts.map +1 -1
  67. package/dist/auth/extractJWT.d.ts +1 -1
  68. package/dist/auth/extractJWT.d.ts.map +1 -1
  69. package/dist/auth/getAuthFields.d.ts.map +1 -1
  70. package/dist/auth/getAuthFields.js +2 -2
  71. package/dist/auth/getAuthFields.js.map +1 -1
  72. package/dist/auth/getFieldsToSign.d.ts +1 -1
  73. package/dist/auth/getFieldsToSign.d.ts.map +1 -1
  74. package/dist/auth/getLoginOptions.d.ts +1 -1
  75. package/dist/auth/getLoginOptions.d.ts.map +1 -1
  76. package/dist/auth/isUserLocked.d.ts.map +1 -1
  77. package/dist/auth/jwt.d.ts.map +1 -1
  78. package/dist/auth/operations/access.d.ts.map +1 -1
  79. package/dist/auth/operations/auth.d.ts +2 -2
  80. package/dist/auth/operations/auth.d.ts.map +1 -1
  81. package/dist/auth/operations/auth.js.map +1 -1
  82. package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
  83. package/dist/auth/operations/init.d.ts.map +1 -1
  84. package/dist/auth/operations/local/auth.d.ts.map +1 -1
  85. package/dist/auth/operations/login.d.ts +2 -1
  86. package/dist/auth/operations/login.d.ts.map +1 -1
  87. package/dist/auth/operations/login.js.map +1 -1
  88. package/dist/auth/operations/logout.d.ts.map +1 -1
  89. package/dist/auth/operations/me.d.ts +2 -2
  90. package/dist/auth/operations/me.d.ts.map +1 -1
  91. package/dist/auth/operations/me.js.map +1 -1
  92. package/dist/auth/operations/refresh.d.ts.map +1 -1
  93. package/dist/auth/operations/refresh.js +9 -3
  94. package/dist/auth/operations/refresh.js.map +1 -1
  95. package/dist/auth/operations/registerFirstUser.d.ts.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/operations/unlock.d.ts.map +1 -1
  99. package/dist/auth/operations/verifyEmail.d.ts.map +1 -1
  100. package/dist/auth/sendVerificationEmail.d.ts +2 -2
  101. package/dist/auth/sendVerificationEmail.d.ts.map +1 -1
  102. package/dist/auth/sendVerificationEmail.js +1 -1
  103. package/dist/auth/sendVerificationEmail.js.map +1 -1
  104. package/dist/auth/sessions.d.ts +4 -5
  105. package/dist/auth/sessions.d.ts.map +1 -1
  106. package/dist/auth/sessions.js +5 -3
  107. package/dist/auth/sessions.js.map +1 -1
  108. package/dist/auth/strategies/apiKey.d.ts.map +1 -1
  109. package/dist/auth/strategies/apiKey.js.map +1 -1
  110. package/dist/auth/strategies/local/authenticate.d.ts.map +1 -1
  111. package/dist/auth/strategies/local/generatePasswordSaltHash.d.ts.map +1 -1
  112. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts +2 -2
  113. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts.map +1 -1
  114. package/dist/auth/strategies/local/incrementLoginAttempts.js +1 -1
  115. package/dist/auth/strategies/local/incrementLoginAttempts.js.map +1 -1
  116. package/dist/auth/strategies/local/register.d.ts.map +1 -1
  117. package/dist/auth/strategies/local/resetLoginAttempts.d.ts.map +1 -1
  118. package/dist/auth/types.d.ts +25 -21
  119. package/dist/auth/types.d.ts.map +1 -1
  120. package/dist/auth/types.js.map +1 -1
  121. package/dist/bin/build.d.ts +49 -0
  122. package/dist/bin/build.d.ts.map +1 -0
  123. package/dist/bin/build.js +226 -0
  124. package/dist/bin/build.js.map +1 -0
  125. package/dist/bin/build.spec.js +594 -0
  126. package/dist/bin/build.spec.js.map +1 -0
  127. package/dist/bin/frameworkConventions.d.ts +8 -0
  128. package/dist/bin/frameworkConventions.d.ts.map +1 -0
  129. package/dist/bin/frameworkConventions.js +8 -0
  130. package/dist/bin/frameworkConventions.js.map +1 -0
  131. package/dist/bin/generateImportMap/index.d.ts.map +1 -1
  132. package/dist/bin/generateImportMap/index.js +8 -5
  133. package/dist/bin/generateImportMap/index.js.map +1 -1
  134. package/dist/bin/generateImportMap/iterateCollections.d.ts.map +1 -1
  135. package/dist/bin/generateImportMap/iterateCollections.js +11 -0
  136. package/dist/bin/generateImportMap/iterateCollections.js.map +1 -1
  137. package/dist/bin/generateImportMap/iterateConfig.d.ts.map +1 -1
  138. package/dist/bin/generateImportMap/iterateConfig.js +12 -0
  139. package/dist/bin/generateImportMap/iterateConfig.js.map +1 -1
  140. package/dist/bin/generateImportMap/iterateFields.d.ts.map +1 -1
  141. package/dist/bin/generateImportMap/iterateFields.js +4 -1
  142. package/dist/bin/generateImportMap/iterateFields.js.map +1 -1
  143. package/dist/bin/generateImportMap/utilities/getFromImportMap.d.ts.map +1 -1
  144. package/dist/bin/generateImportMap/utilities/resolveImportMapFilePath.d.ts +5 -1
  145. package/dist/bin/generateImportMap/utilities/resolveImportMapFilePath.d.ts.map +1 -1
  146. package/dist/bin/generateImportMap/utilities/resolveImportMapFilePath.js +33 -18
  147. package/dist/bin/generateImportMap/utilities/resolveImportMapFilePath.js.map +1 -1
  148. package/dist/bin/generateTypes.d.ts +3 -2
  149. package/dist/bin/generateTypes.d.ts.map +1 -1
  150. package/dist/bin/generateTypes.js +11 -1
  151. package/dist/bin/generateTypes.js.map +1 -1
  152. package/dist/bin/index.d.ts.map +1 -1
  153. package/dist/bin/index.js +9 -0
  154. package/dist/bin/index.js.map +1 -1
  155. package/dist/bin/loadEnv.d.ts +3 -1
  156. package/dist/bin/loadEnv.d.ts.map +1 -1
  157. package/dist/bin/loadEnv.js +40 -10
  158. package/dist/bin/loadEnv.js.map +1 -1
  159. package/dist/bin/migrate.d.ts.map +1 -1
  160. package/dist/collections/config/client.d.ts +3 -3
  161. package/dist/collections/config/client.d.ts.map +1 -1
  162. package/dist/collections/config/client.js +1 -0
  163. package/dist/collections/config/client.js.map +1 -1
  164. package/dist/collections/config/defaults.d.ts +0 -4
  165. package/dist/collections/config/defaults.d.ts.map +1 -1
  166. package/dist/collections/config/defaults.js +2 -17
  167. package/dist/collections/config/defaults.js.map +1 -1
  168. package/dist/collections/config/defaults.spec.js +47 -0
  169. package/dist/collections/config/defaults.spec.js.map +1 -0
  170. package/dist/collections/config/sanitize.d.ts.map +1 -1
  171. package/dist/collections/config/sanitize.js +1 -11
  172. package/dist/collections/config/sanitize.js.map +1 -1
  173. package/dist/collections/config/sanitizeCompoundIndexes.d.ts.map +1 -1
  174. package/dist/collections/config/types.d.ts +13 -9
  175. package/dist/collections/config/types.d.ts.map +1 -1
  176. package/dist/collections/config/types.js.map +1 -1
  177. package/dist/collections/config/useAsTitle.d.ts.map +1 -1
  178. package/dist/collections/dataloader.d.ts +1 -1
  179. package/dist/collections/dataloader.d.ts.map +1 -1
  180. package/dist/collections/endpoints/create.d.ts.map +1 -1
  181. package/dist/collections/endpoints/create.js +0 -2
  182. package/dist/collections/endpoints/create.js.map +1 -1
  183. package/dist/collections/endpoints/updateByID.d.ts.map +1 -1
  184. package/dist/collections/endpoints/updateByID.js +1 -2
  185. package/dist/collections/endpoints/updateByID.js.map +1 -1
  186. package/dist/collections/operations/count.d.ts.map +1 -1
  187. package/dist/collections/operations/count.js +1 -0
  188. package/dist/collections/operations/count.js.map +1 -1
  189. package/dist/collections/operations/countVersions.d.ts.map +1 -1
  190. package/dist/collections/operations/create.d.ts +0 -1
  191. package/dist/collections/operations/create.d.ts.map +1 -1
  192. package/dist/collections/operations/create.js +15 -6
  193. package/dist/collections/operations/create.js.map +1 -1
  194. package/dist/collections/operations/delete.d.ts.map +1 -1
  195. package/dist/collections/operations/delete.js +3 -0
  196. package/dist/collections/operations/delete.js.map +1 -1
  197. package/dist/collections/operations/deleteByID.d.ts.map +1 -1
  198. package/dist/collections/operations/duplicate.d.ts.map +1 -1
  199. package/dist/collections/operations/find.d.ts.map +1 -1
  200. package/dist/collections/operations/findByID.d.ts.map +1 -1
  201. package/dist/collections/operations/findDistinct.d.ts.map +1 -1
  202. package/dist/collections/operations/findDistinct.js +1 -0
  203. package/dist/collections/operations/findDistinct.js.map +1 -1
  204. package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
  205. package/dist/collections/operations/findVersions.d.ts.map +1 -1
  206. package/dist/collections/operations/local/count.d.ts +3 -3
  207. package/dist/collections/operations/local/count.d.ts.map +1 -1
  208. package/dist/collections/operations/local/count.js.map +1 -1
  209. package/dist/collections/operations/local/countVersions.d.ts +3 -3
  210. package/dist/collections/operations/local/countVersions.d.ts.map +1 -1
  211. package/dist/collections/operations/local/countVersions.js.map +1 -1
  212. package/dist/collections/operations/local/create.d.ts +3 -3
  213. package/dist/collections/operations/local/create.d.ts.map +1 -1
  214. package/dist/collections/operations/local/create.js.map +1 -1
  215. package/dist/collections/operations/local/delete.d.ts +3 -3
  216. package/dist/collections/operations/local/delete.d.ts.map +1 -1
  217. package/dist/collections/operations/local/delete.js.map +1 -1
  218. package/dist/collections/operations/local/duplicate.d.ts +3 -3
  219. package/dist/collections/operations/local/duplicate.d.ts.map +1 -1
  220. package/dist/collections/operations/local/duplicate.js.map +1 -1
  221. package/dist/collections/operations/local/find.d.ts +3 -3
  222. package/dist/collections/operations/local/find.d.ts.map +1 -1
  223. package/dist/collections/operations/local/find.js.map +1 -1
  224. package/dist/collections/operations/local/findByID.d.ts +3 -3
  225. package/dist/collections/operations/local/findByID.d.ts.map +1 -1
  226. package/dist/collections/operations/local/findByID.js.map +1 -1
  227. package/dist/collections/operations/local/findDistinct.d.ts +2 -2
  228. package/dist/collections/operations/local/findDistinct.d.ts.map +1 -1
  229. package/dist/collections/operations/local/findDistinct.js.map +1 -1
  230. package/dist/collections/operations/local/findVersionByID.d.ts +3 -3
  231. package/dist/collections/operations/local/findVersionByID.d.ts.map +1 -1
  232. package/dist/collections/operations/local/findVersionByID.js.map +1 -1
  233. package/dist/collections/operations/local/findVersions.d.ts +3 -3
  234. package/dist/collections/operations/local/findVersions.d.ts.map +1 -1
  235. package/dist/collections/operations/local/findVersions.js.map +1 -1
  236. package/dist/collections/operations/local/restoreVersion.d.ts +3 -3
  237. package/dist/collections/operations/local/restoreVersion.d.ts.map +1 -1
  238. package/dist/collections/operations/local/restoreVersion.js.map +1 -1
  239. package/dist/collections/operations/local/update.d.ts +7 -11
  240. package/dist/collections/operations/local/update.d.ts.map +1 -1
  241. package/dist/collections/operations/local/update.js +1 -2
  242. package/dist/collections/operations/local/update.js.map +1 -1
  243. package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
  244. package/dist/collections/operations/update.d.ts +0 -1
  245. package/dist/collections/operations/update.d.ts.map +1 -1
  246. package/dist/collections/operations/update.js +8 -4
  247. package/dist/collections/operations/update.js.map +1 -1
  248. package/dist/collections/operations/updateByID.d.ts +0 -1
  249. package/dist/collections/operations/updateByID.d.ts.map +1 -1
  250. package/dist/collections/operations/updateByID.js +1 -5
  251. package/dist/collections/operations/updateByID.js.map +1 -1
  252. package/dist/collections/operations/utilities/buildAfterOperation.d.ts +1 -1
  253. package/dist/collections/operations/utilities/buildAfterOperation.d.ts.map +1 -1
  254. package/dist/collections/operations/utilities/copyDataWithFreshRowIDs.d.ts +9 -0
  255. package/dist/collections/operations/utilities/copyDataWithFreshRowIDs.d.ts.map +1 -0
  256. package/dist/collections/operations/utilities/copyDataWithFreshRowIDs.js +170 -0
  257. package/dist/collections/operations/utilities/copyDataWithFreshRowIDs.js.map +1 -0
  258. package/dist/collections/operations/utilities/sanitizeSortQuery.d.ts.map +1 -1
  259. package/dist/collections/operations/utilities/types.d.ts +20 -29
  260. package/dist/collections/operations/utilities/types.d.ts.map +1 -1
  261. package/dist/collections/operations/utilities/types.js.map +1 -1
  262. package/dist/collections/operations/utilities/update.d.ts +1 -2
  263. package/dist/collections/operations/utilities/update.d.ts.map +1 -1
  264. package/dist/collections/operations/utilities/update.js +64 -65
  265. package/dist/collections/operations/utilities/update.js.map +1 -1
  266. package/dist/config/client.d.ts +2 -2
  267. package/dist/config/client.d.ts.map +1 -1
  268. package/dist/config/client.js.map +1 -1
  269. package/dist/config/defaults.d.ts +0 -4
  270. package/dist/config/defaults.d.ts.map +1 -1
  271. package/dist/config/defaults.js +0 -78
  272. package/dist/config/defaults.js.map +1 -1
  273. package/dist/config/definePlugin.d.ts +10 -10
  274. package/dist/config/definePlugin.d.ts.map +1 -1
  275. package/dist/config/definePlugin.js +7 -11
  276. package/dist/config/definePlugin.js.map +1 -1
  277. package/dist/config/orderable/fractional-indexing.d.ts +23 -23
  278. package/dist/config/orderable/fractional-indexing.d.ts.map +1 -1
  279. package/dist/config/orderable/index.d.ts.map +1 -1
  280. package/dist/config/orderable/index.js +23 -0
  281. package/dist/config/orderable/index.js.map +1 -1
  282. package/dist/config/sanitize.d.ts.map +1 -1
  283. package/dist/config/sanitize.js +137 -13
  284. package/dist/config/sanitize.js.map +1 -1
  285. package/dist/config/types.d.ts +67 -20
  286. package/dist/config/types.d.ts.map +1 -1
  287. package/dist/config/types.js +2 -0
  288. package/dist/config/types.js.map +1 -1
  289. package/dist/database/combineQueries.d.ts.map +1 -1
  290. package/dist/database/getLocalizedPaths.d.ts.map +1 -1
  291. package/dist/database/getLocalizedPaths.js +1 -1
  292. package/dist/database/getLocalizedPaths.js.map +1 -1
  293. package/dist/database/migrations/findMigrationDir.d.ts.map +1 -1
  294. package/dist/database/migrations/getPredefinedMigration.d.ts.map +1 -1
  295. package/dist/database/migrations/migrationsCollection.d.ts.map +1 -1
  296. package/dist/database/migrations/migrationsCollection.js +2 -1
  297. package/dist/database/migrations/migrationsCollection.js.map +1 -1
  298. package/dist/database/migrations/readMigrationFiles.d.ts.map +1 -1
  299. package/dist/database/migrations/writeMigrationIndex.d.ts.map +1 -1
  300. package/dist/database/sanitizeJoinQuery.d.ts.map +1 -1
  301. package/dist/database/sanitizeWhereQuery.d.ts.map +1 -1
  302. package/dist/database/types.d.ts +1 -5
  303. package/dist/database/types.d.ts.map +1 -1
  304. package/dist/database/types.js.map +1 -1
  305. package/dist/duplicateDocument/index.d.ts.map +1 -1
  306. package/dist/email/getStringifiedToAddress.d.ts.map +1 -1
  307. package/dist/errors/APIError.d.ts.map +1 -1
  308. package/dist/errors/AuthenticationError.d.ts.map +1 -1
  309. package/dist/errors/DuplicateCollection.d.ts.map +1 -1
  310. package/dist/errors/DuplicateFieldName.d.ts.map +1 -1
  311. package/dist/errors/DuplicateGlobal.d.ts.map +1 -1
  312. package/dist/errors/ErrorDeletingFile.d.ts.map +1 -1
  313. package/dist/errors/FileRetrievalError.d.ts.map +1 -1
  314. package/dist/errors/FileUploadError.d.ts.map +1 -1
  315. package/dist/errors/Forbidden.d.ts.map +1 -1
  316. package/dist/errors/InvalidConfiguration.d.ts.map +1 -1
  317. package/dist/errors/InvalidFieldJoin.d.ts.map +1 -1
  318. package/dist/errors/InvalidFieldName.d.ts.map +1 -1
  319. package/dist/errors/InvalidFieldRelationship.d.ts.map +1 -1
  320. package/dist/errors/InvalidSchema.d.ts.map +1 -1
  321. package/dist/errors/Locked.d.ts.map +1 -1
  322. package/dist/errors/LockedAuth.d.ts.map +1 -1
  323. package/dist/errors/MissingCollectionLabel.d.ts.map +1 -1
  324. package/dist/errors/MissingEditorProp.d.ts.map +1 -1
  325. package/dist/errors/MissingFieldInputOptions.d.ts.map +1 -1
  326. package/dist/errors/MissingFieldType.d.ts.map +1 -1
  327. package/dist/errors/MissingFile.d.ts.map +1 -1
  328. package/dist/errors/NotFound.d.ts.map +1 -1
  329. package/dist/errors/QueryError.d.ts.map +1 -1
  330. package/dist/errors/ReservedFieldName.d.ts.map +1 -1
  331. package/dist/errors/TimestampsRequired.d.ts.map +1 -1
  332. package/dist/errors/UnauthorizedError.d.ts.map +1 -1
  333. package/dist/errors/UnverifiedEmail.d.ts.map +1 -1
  334. package/dist/errors/ValidationError.d.ts +1 -0
  335. package/dist/errors/ValidationError.d.ts.map +1 -1
  336. package/dist/errors/ValidationError.js.map +1 -1
  337. package/dist/exports/internal.d.ts +2 -0
  338. package/dist/exports/internal.d.ts.map +1 -1
  339. package/dist/exports/internal.js +2 -0
  340. package/dist/exports/internal.js.map +1 -1
  341. package/dist/exports/migrations.d.ts +5 -13
  342. package/dist/exports/migrations.d.ts.map +1 -1
  343. package/dist/exports/migrations.js +5 -13
  344. package/dist/exports/migrations.js.map +1 -1
  345. package/dist/exports/shared.d.ts +23 -2
  346. package/dist/exports/shared.d.ts.map +1 -1
  347. package/dist/exports/shared.js +22 -1
  348. package/dist/exports/shared.js.map +1 -1
  349. package/dist/fields/baseFields/slug/countVersions.d.ts.map +1 -1
  350. package/dist/fields/baseFields/slug/countVersions.js +6 -8
  351. package/dist/fields/baseFields/slug/countVersions.js.map +1 -1
  352. package/dist/fields/baseFields/slug/generateSlug.d.ts +14 -7
  353. package/dist/fields/baseFields/slug/generateSlug.d.ts.map +1 -1
  354. package/dist/fields/baseFields/slug/generateSlug.js +53 -73
  355. package/dist/fields/baseFields/slug/generateSlug.js.map +1 -1
  356. package/dist/fields/baseFields/slug/types.d.ts +14 -0
  357. package/dist/fields/baseFields/slug/types.d.ts.map +1 -0
  358. package/dist/fields/baseFields/slug/types.js +6 -0
  359. package/dist/fields/baseFields/slug/types.js.map +1 -0
  360. package/dist/fields/config/client.d.ts +6 -6
  361. package/dist/fields/config/client.d.ts.map +1 -1
  362. package/dist/fields/config/client.js +14 -14
  363. package/dist/fields/config/client.js.map +1 -1
  364. package/dist/fields/config/sanitize.d.ts.map +1 -1
  365. package/dist/fields/config/sanitize.js +40 -4
  366. package/dist/fields/config/sanitize.js.map +1 -1
  367. package/dist/fields/config/sanitizeJoinField.d.ts.map +1 -1
  368. package/dist/fields/config/types.d.ts +80 -76
  369. package/dist/fields/config/types.d.ts.map +1 -1
  370. package/dist/fields/config/types.js.map +1 -1
  371. package/dist/fields/getDefaultValue.d.ts.map +1 -1
  372. package/dist/fields/hooks/afterChange/index.d.ts.map +1 -1
  373. package/dist/fields/hooks/afterChange/promise.d.ts.map +1 -1
  374. package/dist/fields/hooks/afterChange/promise.js +1 -1
  375. package/dist/fields/hooks/afterChange/promise.js.map +1 -1
  376. package/dist/fields/hooks/afterChange/traverseFields.d.ts.map +1 -1
  377. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
  378. package/dist/fields/hooks/afterRead/promise.js +13 -3
  379. package/dist/fields/hooks/afterRead/promise.js.map +1 -1
  380. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
  381. package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
  382. package/dist/fields/hooks/afterRead/virtualFieldPopulationPromise.d.ts.map +1 -1
  383. package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.d.ts.map +1 -1
  384. package/dist/fields/hooks/beforeChange/getExistingRowDoc.d.ts.map +1 -1
  385. package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
  386. package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
  387. package/dist/fields/hooks/beforeChange/promise.js +3 -3
  388. package/dist/fields/hooks/beforeChange/promise.js.map +1 -1
  389. package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
  390. package/dist/fields/hooks/beforeDuplicate/index.d.ts.map +1 -1
  391. package/dist/fields/hooks/beforeDuplicate/promise.d.ts.map +1 -1
  392. package/dist/fields/hooks/beforeDuplicate/promise.js +2 -2
  393. package/dist/fields/hooks/beforeDuplicate/promise.js.map +1 -1
  394. package/dist/fields/hooks/beforeDuplicate/traverseFields.d.ts.map +1 -1
  395. package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
  396. package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
  397. package/dist/fields/hooks/beforeValidate/promise.js +16 -5
  398. package/dist/fields/hooks/beforeValidate/promise.js.map +1 -1
  399. package/dist/fields/hooks/beforeValidate/stripNullRows.d.ts +10 -0
  400. package/dist/fields/hooks/beforeValidate/stripNullRows.d.ts.map +1 -0
  401. package/dist/fields/hooks/beforeValidate/stripNullRows.js +18 -0
  402. package/dist/fields/hooks/beforeValidate/stripNullRows.js.map +1 -0
  403. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
  404. package/dist/fields/isFieldDisabled.d.ts.map +1 -1
  405. package/dist/fields/mergeBaseFields.d.ts.map +1 -1
  406. package/dist/fields/setDefaultBeforeDuplicate.d.ts.map +1 -1
  407. package/dist/fields/setDefaultBeforeDuplicate.js +1 -0
  408. package/dist/fields/setDefaultBeforeDuplicate.js.map +1 -1
  409. package/dist/fields/sortableFieldTypes.d.ts.map +1 -1
  410. package/dist/fields/sortableFieldTypes.js +1 -0
  411. package/dist/fields/sortableFieldTypes.js.map +1 -1
  412. package/dist/fields/validations.d.ts +4 -1
  413. package/dist/fields/validations.d.ts.map +1 -1
  414. package/dist/fields/validations.js +12 -4
  415. package/dist/fields/validations.js.map +1 -1
  416. package/dist/globals/config/client.d.ts +4 -4
  417. package/dist/globals/config/client.d.ts.map +1 -1
  418. package/dist/globals/config/sanitize.d.ts.map +1 -1
  419. package/dist/globals/config/sanitize.js +2 -6
  420. package/dist/globals/config/sanitize.js.map +1 -1
  421. package/dist/globals/config/sanitize.spec.js +43 -0
  422. package/dist/globals/config/sanitize.spec.js.map +1 -0
  423. package/dist/globals/endpoints/update.d.ts.map +1 -1
  424. package/dist/globals/endpoints/update.js +0 -2
  425. package/dist/globals/endpoints/update.js.map +1 -1
  426. package/dist/globals/operations/countGlobalVersions.d.ts.map +1 -1
  427. package/dist/globals/operations/docAccess.d.ts.map +1 -1
  428. package/dist/globals/operations/findOne.d.ts.map +1 -1
  429. package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
  430. package/dist/globals/operations/findVersions.d.ts.map +1 -1
  431. package/dist/globals/operations/local/countVersions.d.ts +3 -3
  432. package/dist/globals/operations/local/countVersions.d.ts.map +1 -1
  433. package/dist/globals/operations/local/countVersions.js.map +1 -1
  434. package/dist/globals/operations/local/findOne.d.ts +3 -3
  435. package/dist/globals/operations/local/findOne.d.ts.map +1 -1
  436. package/dist/globals/operations/local/findOne.js.map +1 -1
  437. package/dist/globals/operations/local/findVersionByID.d.ts +3 -3
  438. package/dist/globals/operations/local/findVersionByID.d.ts.map +1 -1
  439. package/dist/globals/operations/local/findVersionByID.js.map +1 -1
  440. package/dist/globals/operations/local/findVersions.d.ts +3 -3
  441. package/dist/globals/operations/local/findVersions.d.ts.map +1 -1
  442. package/dist/globals/operations/local/findVersions.js.map +1 -1
  443. package/dist/globals/operations/local/restoreVersion.d.ts +3 -3
  444. package/dist/globals/operations/local/restoreVersion.d.ts.map +1 -1
  445. package/dist/globals/operations/local/restoreVersion.js.map +1 -1
  446. package/dist/globals/operations/local/update.d.ts +7 -9
  447. package/dist/globals/operations/local/update.d.ts.map +1 -1
  448. package/dist/globals/operations/local/update.js +1 -2
  449. package/dist/globals/operations/local/update.js.map +1 -1
  450. package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
  451. package/dist/globals/operations/update.d.ts +0 -1
  452. package/dist/globals/operations/update.d.ts.map +1 -1
  453. package/dist/globals/operations/update.js +52 -58
  454. package/dist/globals/operations/update.js.map +1 -1
  455. package/dist/hierarchy/addHierarchyToCollection.d.ts.map +1 -1
  456. package/dist/hierarchy/buildParentField.d.ts.map +1 -1
  457. package/dist/hierarchy/constants.d.ts.map +1 -1
  458. package/dist/hierarchy/getInitialTreeData.d.ts.map +1 -1
  459. package/dist/hierarchy/hooks/collectionAfterDelete.d.ts.map +1 -1
  460. package/dist/hierarchy/hooks/collectionAfterRead.d.ts.map +1 -1
  461. package/dist/hierarchy/hooks/collectionBeforeChange.d.ts.map +1 -1
  462. package/dist/hierarchy/hooks/collectionBeforeDelete.d.ts.map +1 -1
  463. package/dist/hierarchy/hooks/collectionBeforeOperation.d.ts.map +1 -1
  464. package/dist/hierarchy/hooks/ensureSafeCollectionsChange.d.ts.map +1 -1
  465. package/dist/hierarchy/injectHierarchyButton.d.ts.map +1 -1
  466. package/dist/hierarchy/resolveHierarchyCollections.d.ts.map +1 -1
  467. package/dist/hierarchy/resolveHierarchyCollections.js +1 -1
  468. package/dist/hierarchy/resolveHierarchyCollections.js.map +1 -1
  469. package/dist/hierarchy/sanitizeHierarchyCollection.d.ts.map +1 -1
  470. package/dist/hierarchy/sanitizeHierarchyCollection.js +3 -1
  471. package/dist/hierarchy/sanitizeHierarchyCollection.js.map +1 -1
  472. package/dist/hierarchy/types.d.ts +8 -1
  473. package/dist/hierarchy/types.d.ts.map +1 -1
  474. package/dist/hierarchy/types.js.map +1 -1
  475. package/dist/index.bundled.d.ts +675 -408
  476. package/dist/index.d.ts +79 -34
  477. package/dist/index.d.ts.map +1 -1
  478. package/dist/index.js +54 -37
  479. package/dist/index.js.map +1 -1
  480. package/dist/kv/adapters/DatabaseKVAdapter.d.ts.map +1 -1
  481. package/dist/kv/adapters/DatabaseKVAdapter.js +1 -0
  482. package/dist/kv/adapters/DatabaseKVAdapter.js.map +1 -1
  483. package/dist/kv/adapters/InMemoryKVAdapter.d.ts.map +1 -1
  484. package/dist/locked-documents/config.d.ts.map +1 -1
  485. package/dist/locked-documents/config.js +2 -1
  486. package/dist/locked-documents/config.js.map +1 -1
  487. package/dist/preferences/config.d.ts.map +1 -1
  488. package/dist/preferences/config.js +2 -1
  489. package/dist/preferences/config.js.map +1 -1
  490. package/dist/preferences/deleteUserPreferences.d.ts.map +1 -1
  491. package/dist/preferences/keys.d.ts +8 -4
  492. package/dist/preferences/keys.d.ts.map +1 -1
  493. package/dist/preferences/keys.js +4 -1
  494. package/dist/preferences/keys.js.map +1 -1
  495. package/dist/preferences/types.d.ts +15 -0
  496. package/dist/preferences/types.d.ts.map +1 -1
  497. package/dist/preferences/types.js +3 -1
  498. package/dist/preferences/types.js.map +1 -1
  499. package/dist/query-presets/access.d.ts.map +1 -1
  500. package/dist/query-presets/config.d.ts.map +1 -1
  501. package/dist/query-presets/config.js +77 -37
  502. package/dist/query-presets/config.js.map +1 -1
  503. package/dist/query-presets/constraints.d.ts.map +1 -1
  504. package/dist/query-presets/constraints.js +3 -2
  505. package/dist/query-presets/constraints.js.map +1 -1
  506. package/dist/query-presets/types.d.ts +1 -1
  507. package/dist/query-presets/types.d.ts.map +1 -1
  508. package/dist/queues/config/collection.d.ts.map +1 -1
  509. package/dist/queues/config/collection.js +2 -1
  510. package/dist/queues/config/collection.js.map +1 -1
  511. package/dist/queues/config/generateJobsJSONSchemas.d.ts +1 -1
  512. package/dist/queues/config/generateJobsJSONSchemas.d.ts.map +1 -1
  513. package/dist/queues/config/generateJobsJSONSchemas.js +33 -12
  514. package/dist/queues/config/generateJobsJSONSchemas.js.map +1 -1
  515. package/dist/queues/config/global.d.ts.map +1 -1
  516. package/dist/queues/config/global.js +2 -1
  517. package/dist/queues/config/global.js.map +1 -1
  518. package/dist/queues/endpoints/run.d.ts.map +1 -1
  519. package/dist/queues/errors/index.d.ts.map +1 -1
  520. package/dist/queues/localAPI.d.ts +8 -8
  521. package/dist/queues/localAPI.d.ts.map +1 -1
  522. package/dist/queues/operations/handleSchedules/getQueuesWithSchedules.d.ts.map +1 -1
  523. package/dist/queues/operations/runJobs/index.d.ts.map +1 -1
  524. package/dist/queues/operations/runJobs/runJSONJob/index.d.ts.map +1 -1
  525. package/dist/queues/operations/runJobs/runJob/getRunTaskFunction.d.ts.map +1 -1
  526. package/dist/queues/operations/runJobs/runJob/importHandlerPath.d.ts +1 -1
  527. package/dist/queues/operations/runJobs/runJob/importHandlerPath.d.ts.map +1 -1
  528. package/dist/queues/operations/runJobs/runJob/index.d.ts.map +1 -1
  529. package/dist/queues/utilities/getCurrentDate.d.ts.map +1 -1
  530. package/dist/queues/utilities/getJobTaskStatus.d.ts.map +1 -1
  531. package/dist/translations/getLocalI18n.d.ts.map +1 -1
  532. package/dist/types/constants.d.ts +2 -2
  533. package/dist/types/constants.d.ts.map +1 -1
  534. package/dist/types/index.d.ts +8 -3
  535. package/dist/types/index.d.ts.map +1 -1
  536. package/dist/types/index.js.map +1 -1
  537. package/dist/uploads/checkFileAccess.d.ts.map +1 -1
  538. package/dist/uploads/checkFileRestrictions.d.ts.map +1 -1
  539. package/dist/uploads/cropImage.d.ts.map +1 -1
  540. package/dist/uploads/docWithFilenameExists.d.ts.map +1 -1
  541. package/dist/uploads/fetchAPI-multipart/isEligibleRequest.d.ts.map +1 -1
  542. package/dist/uploads/fetchAPI-multipart/processMultipart.d.ts.map +1 -1
  543. package/dist/uploads/fetchAPI-multipart/processMultipart.js +4 -0
  544. package/dist/uploads/fetchAPI-multipart/processMultipart.js.map +1 -1
  545. package/dist/uploads/fetchAPI-multipart/processNested.d.ts.map +1 -1
  546. package/dist/uploads/fetchAPI-multipart/utilities.d.ts.map +1 -1
  547. package/dist/uploads/fileExists.d.ts.map +1 -1
  548. package/dist/uploads/generateFileData.d.ts +2 -1
  549. package/dist/uploads/generateFileData.d.ts.map +1 -1
  550. package/dist/uploads/generateFileData.js +5 -2
  551. package/dist/uploads/generateFileData.js.map +1 -1
  552. package/dist/uploads/getBaseFields.d.ts.map +1 -1
  553. package/dist/uploads/getExternalFile.d.ts.map +1 -1
  554. package/dist/uploads/getFileByPath.d.ts +1 -1
  555. package/dist/uploads/getFileByPath.d.ts.map +1 -1
  556. package/dist/uploads/getFileTypeFallback.d.ts.map +1 -1
  557. package/dist/uploads/getSafeFilename.d.ts.map +1 -1
  558. package/dist/uploads/image-resizing/createImageSize.d.ts.map +1 -1
  559. package/dist/uploads/image-resizing/generateImageSizeFilename.d.ts.map +1 -1
  560. package/dist/uploads/image-resizing/getImageResizeAction.d.ts +1 -1
  561. package/dist/uploads/image-resizing/getImageResizeAction.d.ts.map +1 -1
  562. package/dist/uploads/image-resizing/parseFilename.d.ts.map +1 -1
  563. package/dist/uploads/image-resizing/sanitizeResizeConfig.d.ts.map +1 -1
  564. package/dist/uploads/matchMimeType.d.ts +8 -0
  565. package/dist/uploads/matchMimeType.d.ts.map +1 -0
  566. package/dist/uploads/matchMimeType.js +19 -0
  567. package/dist/uploads/matchMimeType.js.map +1 -0
  568. package/dist/uploads/matchMimeType.spec.js +66 -0
  569. package/dist/uploads/matchMimeType.spec.js.map +1 -0
  570. package/dist/uploads/mimeTypeValidator.d.ts.map +1 -1
  571. package/dist/uploads/safeFetch.d.ts.map +1 -1
  572. package/dist/uploads/safeFetch.js +11 -5
  573. package/dist/uploads/safeFetch.js.map +1 -1
  574. package/dist/uploads/saveBufferToFile.d.ts.map +1 -1
  575. package/dist/uploads/tempFile.d.ts.map +1 -1
  576. package/dist/uploads/types.d.ts +21 -0
  577. package/dist/uploads/types.d.ts.map +1 -1
  578. package/dist/uploads/types.js.map +1 -1
  579. package/dist/uploads/uploadFiles.d.ts.map +1 -1
  580. package/dist/utilities/addDataAndFileToRequest.d.ts.map +1 -1
  581. package/dist/utilities/addDataAndFileToRequest.js +6 -0
  582. package/dist/utilities/addDataAndFileToRequest.js.map +1 -1
  583. package/dist/utilities/addLocalesToRequest.d.ts.map +1 -1
  584. package/dist/utilities/addSelectGenericsToGeneretedTypes.d.ts.map +1 -1
  585. package/dist/utilities/appendDateTimezoneSelectFields.d.ts.map +1 -1
  586. package/dist/utilities/appendDateTimezoneSelectFields.js +2 -2
  587. package/dist/utilities/appendDateTimezoneSelectFields.js.map +1 -1
  588. package/dist/utilities/appendNonTrashedFilter.d.ts.map +1 -1
  589. package/dist/utilities/appendUploadSelectFields.d.ts.map +1 -1
  590. package/dist/utilities/canAccessAdmin.d.ts.map +1 -1
  591. package/dist/utilities/checkDocumentLockStatus.d.ts.map +1 -1
  592. package/dist/utilities/configToJSONSchema.d.ts +68 -16
  593. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  594. package/dist/utilities/configToJSONSchema.js +312 -117
  595. package/dist/utilities/configToJSONSchema.js.map +1 -1
  596. package/dist/utilities/configToJSONSchema.spec.js +656 -85
  597. package/dist/utilities/configToJSONSchema.spec.js.map +1 -1
  598. package/dist/utilities/createLocalReq.d.ts +2 -2
  599. package/dist/utilities/createLocalReq.d.ts.map +1 -1
  600. package/dist/utilities/createLocalReq.js.map +1 -1
  601. package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
  602. package/dist/utilities/createPayloadRequest.js +1 -0
  603. package/dist/utilities/createPayloadRequest.js.map +1 -1
  604. package/dist/utilities/deepCopyObject.d.ts.map +1 -1
  605. package/dist/utilities/deepCopyObject.js +8 -0
  606. package/dist/utilities/deepCopyObject.js.map +1 -1
  607. package/dist/utilities/dependencies/dependencyChecker.js +1 -1
  608. package/dist/utilities/dependencies/dependencyChecker.js.map +1 -1
  609. package/dist/utilities/dependencies/getDependencies.d.ts.map +1 -1
  610. package/dist/utilities/dependencies/getDependencies.js +5 -5
  611. package/dist/utilities/dependencies/getDependencies.js.map +1 -1
  612. package/dist/utilities/dependencies/resolveFrom.d.ts.map +1 -1
  613. package/dist/utilities/dynamicImport.js +1 -1
  614. package/dist/utilities/dynamicImport.js.map +1 -1
  615. package/dist/utilities/escapeRegExp.d.ts.map +1 -1
  616. package/dist/utilities/extractID.d.ts.map +1 -1
  617. package/dist/utilities/filterDataToSelectedLocales.d.ts.map +1 -1
  618. package/dist/utilities/filterDataToSelectedLocales.js +5 -12
  619. package/dist/utilities/filterDataToSelectedLocales.js.map +1 -1
  620. package/dist/utilities/filterDataToSelectedLocales.spec.js +1 -2
  621. package/dist/utilities/filterDataToSelectedLocales.spec.js.map +1 -1
  622. package/dist/utilities/flattenAllFields.d.ts.map +1 -1
  623. package/dist/utilities/flattenAllFields.js +7 -22
  624. package/dist/utilities/flattenAllFields.js.map +1 -1
  625. package/dist/utilities/formatAdminURL.d.ts.map +1 -1
  626. package/dist/utilities/formatErrors.d.ts.map +1 -1
  627. package/dist/utilities/formatErrors.js +3 -1
  628. package/dist/utilities/formatErrors.js.map +1 -1
  629. package/dist/utilities/formatLabels.d.ts.map +1 -1
  630. package/dist/utilities/getBestFitFromSizes.d.ts.map +1 -1
  631. package/dist/utilities/getBlockSelect.d.ts.map +1 -1
  632. package/dist/utilities/getDataByPath.d.ts.map +1 -1
  633. package/dist/utilities/getEntityPermissions/getEntityPermissions.d.ts.map +1 -1
  634. package/dist/utilities/getEntityPermissions/getEntityPermissions.js +2 -0
  635. package/dist/utilities/getEntityPermissions/getEntityPermissions.js.map +1 -1
  636. package/dist/utilities/getEntityPermissions/populateFieldPermissions.d.ts +7 -1
  637. package/dist/utilities/getEntityPermissions/populateFieldPermissions.d.ts.map +1 -1
  638. package/dist/utilities/getEntityPermissions/populateFieldPermissions.js +24 -7
  639. package/dist/utilities/getEntityPermissions/populateFieldPermissions.js.map +1 -1
  640. package/dist/utilities/getFieldByPath.d.ts.map +1 -1
  641. package/dist/utilities/getFieldByPath.js +1 -1
  642. package/dist/utilities/getFieldByPath.js.map +1 -1
  643. package/dist/utilities/getFieldPermissions.d.ts.map +1 -1
  644. package/dist/utilities/getObjectDotNotation.d.ts.map +1 -1
  645. package/dist/utilities/getRequestEntity.d.ts.map +1 -1
  646. package/dist/utilities/getRequestLanguage.d.ts +2 -2
  647. package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
  648. package/dist/utilities/getRequestLanguage.js.map +1 -1
  649. package/dist/utilities/getRequestOrigin.d.ts +2 -2
  650. package/dist/utilities/getRequestOrigin.d.ts.map +1 -1
  651. package/dist/utilities/getSafeRedirect.d.ts.map +1 -1
  652. package/dist/utilities/getSelectMode.d.ts.map +1 -1
  653. package/dist/utilities/getSiblingData.d.ts.map +1 -1
  654. package/dist/utilities/getTranslatedLabel.d.ts.map +1 -1
  655. package/dist/utilities/getVersionsConfig.d.ts +1 -1
  656. package/dist/utilities/getVersionsConfig.d.ts.map +1 -1
  657. package/dist/utilities/getVersionsConfig.js.map +1 -1
  658. package/dist/utilities/handleEndpoints.d.ts.map +1 -1
  659. package/dist/utilities/handleEndpoints.js +7 -3
  660. package/dist/utilities/handleEndpoints.js.map +1 -1
  661. package/dist/utilities/headersWithCors.d.ts.map +1 -1
  662. package/dist/utilities/isEntityHidden.d.ts +2 -2
  663. package/dist/utilities/isEntityHidden.d.ts.map +1 -1
  664. package/dist/utilities/isURLAllowed.d.ts.map +1 -1
  665. package/dist/utilities/isURLAllowed.js +9 -3
  666. package/dist/utilities/isURLAllowed.js.map +1 -1
  667. package/dist/utilities/isURLAllowed.spec.js +78 -0
  668. package/dist/utilities/isURLAllowed.spec.js.map +1 -0
  669. package/dist/utilities/isValidID.d.ts +1 -1
  670. package/dist/utilities/isValidID.d.ts.map +1 -1
  671. package/dist/utilities/logError.d.ts.map +1 -1
  672. package/dist/utilities/logger.d.ts +1 -1
  673. package/dist/utilities/logger.d.ts.map +1 -1
  674. package/dist/utilities/mergeHeaders.d.ts.map +1 -1
  675. package/dist/utilities/mergeListSearchAndWhere.d.ts.map +1 -1
  676. package/dist/utilities/mergeLocalizedData.d.ts +14 -4
  677. package/dist/utilities/mergeLocalizedData.d.ts.map +1 -1
  678. package/dist/utilities/mergeLocalizedData.js +54 -46
  679. package/dist/utilities/mergeLocalizedData.js.map +1 -1
  680. package/dist/utilities/mergeLocalizedData.spec.js +23 -23
  681. package/dist/utilities/mergeLocalizedData.spec.js.map +1 -1
  682. package/dist/utilities/miniChalk.d.ts.map +1 -1
  683. package/dist/utilities/optionsAreEqual.d.ts.map +1 -1
  684. package/dist/utilities/parseBooleanString.d.ts.map +1 -1
  685. package/dist/utilities/parseCookies.d.ts +1 -1
  686. package/dist/utilities/parseCookies.d.ts.map +1 -1
  687. package/dist/utilities/parseParams/index.d.ts +2 -5
  688. package/dist/utilities/parseParams/index.d.ts.map +1 -1
  689. package/dist/utilities/parseParams/index.js.map +1 -1
  690. package/dist/utilities/parseParams/index.spec.js +0 -9
  691. package/dist/utilities/parseParams/index.spec.js.map +1 -1
  692. package/dist/utilities/profiling.d.ts.map +1 -1
  693. package/dist/utilities/reduceFieldsToValues.d.ts.map +1 -1
  694. package/dist/utilities/resolveSelect.d.ts.map +1 -1
  695. package/dist/utilities/routeError.d.ts.map +1 -1
  696. package/dist/utilities/sanitizeFallbackLocale.d.ts.map +1 -1
  697. package/dist/utilities/sanitizeInternalFields.d.ts.map +1 -1
  698. package/dist/utilities/sanitizeJoinParams.d.ts.map +1 -1
  699. package/dist/utilities/sanitizePopulateParam.d.ts.map +1 -1
  700. package/dist/utilities/sanitizeSelect.d.ts.map +1 -1
  701. package/dist/utilities/sanitizeSelectParam.d.ts.map +1 -1
  702. package/dist/utilities/sanitizeSortParams.d.ts.map +1 -1
  703. package/dist/utilities/setsAreEqual.d.ts.map +1 -1
  704. package/dist/utilities/slugify.d.ts.map +1 -1
  705. package/dist/utilities/stripUnselectedFields.d.ts.map +1 -1
  706. package/dist/utilities/telemetry/conf/index.d.ts.map +1 -1
  707. package/dist/utilities/telemetry/events/adminInit.d.ts.map +1 -1
  708. package/dist/utilities/telemetry/events/adminInit.js +2 -3
  709. package/dist/utilities/telemetry/events/adminInit.js.map +1 -1
  710. package/dist/utilities/telemetry/events/serverInit.d.ts.map +1 -1
  711. package/dist/utilities/telemetry/events/serverInit.js +2 -3
  712. package/dist/utilities/telemetry/events/serverInit.js.map +1 -1
  713. package/dist/utilities/telemetry/index.d.ts +15 -4
  714. package/dist/utilities/telemetry/index.d.ts.map +1 -1
  715. package/dist/utilities/telemetry/index.js +6 -1
  716. package/dist/utilities/telemetry/index.js.map +1 -1
  717. package/dist/utilities/telemetry/index.spec.js +43 -0
  718. package/dist/utilities/telemetry/index.spec.js.map +1 -0
  719. package/dist/utilities/telemetry/oneWayHash.d.ts.map +1 -1
  720. package/dist/utilities/timestamp.d.ts.map +1 -1
  721. package/dist/utilities/toKebabCase.d.ts.map +1 -1
  722. package/dist/utilities/transformColumnPreferences.d.ts.map +1 -1
  723. package/dist/utilities/transformColumnPreferences.js +4 -2
  724. package/dist/utilities/transformColumnPreferences.js.map +1 -1
  725. package/dist/utilities/transformWhereQuery.d.ts.map +1 -1
  726. package/dist/utilities/traverseFields.d.ts.map +1 -1
  727. package/dist/utilities/traverseFields.js +2 -4
  728. package/dist/utilities/traverseFields.js.map +1 -1
  729. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
  730. package/dist/utilities/traverseForLocalizedFields.js +3 -0
  731. package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
  732. package/dist/utilities/unflatten.d.ts.map +1 -1
  733. package/dist/utilities/validateMimeType.d.ts.map +1 -1
  734. package/dist/utilities/validateTimezones.d.ts.map +1 -1
  735. package/dist/utilities/validateWhereQuery.d.ts.map +1 -1
  736. package/dist/utilities/wordBoundariesRegex.d.ts.map +1 -1
  737. package/dist/utilities/wrapInternalEndpoints.d.ts.map +1 -1
  738. package/dist/versions/baseFields.d.ts +1 -2
  739. package/dist/versions/baseFields.d.ts.map +1 -1
  740. package/dist/versions/baseFields.js +0 -13
  741. package/dist/versions/baseFields.js.map +1 -1
  742. package/dist/versions/buildCollectionFields.d.ts.map +1 -1
  743. package/dist/versions/buildCollectionFields.js +0 -2
  744. package/dist/versions/buildCollectionFields.js.map +1 -1
  745. package/dist/versions/buildGlobalFields.d.ts.map +1 -1
  746. package/dist/versions/buildGlobalFields.js +0 -2
  747. package/dist/versions/buildGlobalFields.js.map +1 -1
  748. package/dist/versions/buildSingleLocalePublishData.d.ts +32 -0
  749. package/dist/versions/buildSingleLocalePublishData.d.ts.map +1 -0
  750. package/dist/versions/buildSingleLocalePublishData.js +37 -0
  751. package/dist/versions/buildSingleLocalePublishData.js.map +1 -0
  752. package/dist/versions/buildVersionCompoundIndexes.d.ts.map +1 -1
  753. package/dist/versions/defaults.d.ts.map +1 -1
  754. package/dist/versions/deleteCollectionVersions.d.ts.map +1 -1
  755. package/dist/versions/deleteScheduledPublishJobs.d.ts.map +1 -1
  756. package/dist/versions/drafts/appendVersionToQueryKey.d.ts.map +1 -1
  757. package/dist/versions/drafts/getQueryDraftsSelect.d.ts.map +1 -1
  758. package/dist/versions/drafts/getQueryDraftsSort.d.ts.map +1 -1
  759. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
  760. package/dist/versions/enforceMaxVersions.d.ts.map +1 -1
  761. package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
  762. package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
  763. package/dist/versions/migrations/localizeStatus/shared.d.ts.map +1 -1
  764. package/dist/versions/payloadPackageList.d.ts.map +1 -1
  765. package/dist/versions/payloadPackageList.js +0 -1
  766. package/dist/versions/payloadPackageList.js.map +1 -1
  767. package/dist/versions/saveVersion.d.ts +0 -2
  768. package/dist/versions/saveVersion.d.ts.map +1 -1
  769. package/dist/versions/saveVersion.js +12 -17
  770. package/dist/versions/saveVersion.js.map +1 -1
  771. package/dist/versions/schedule/job.d.ts.map +1 -1
  772. package/dist/versions/schedule/job.js +6 -10
  773. package/dist/versions/schedule/job.js.map +1 -1
  774. package/dist/versions/types.d.ts +2 -15
  775. package/dist/versions/types.d.ts.map +1 -1
  776. package/dist/versions/types.js.map +1 -1
  777. package/package.json +9 -6
  778. package/dist/database/migrations/templates/localizeStatus.d.ts +0 -10
  779. package/dist/database/migrations/templates/localizeStatus.d.ts.map +0 -1
  780. package/dist/database/migrations/templates/localizeStatus.js +0 -54
  781. package/dist/database/migrations/templates/localizeStatus.js.map +0 -1
  782. package/dist/fields/baseFields/slug/index.d.ts +0 -89
  783. package/dist/fields/baseFields/slug/index.d.ts.map +0 -1
  784. package/dist/fields/baseFields/slug/index.js +0 -81
  785. package/dist/fields/baseFields/slug/index.js.map +0 -1
  786. package/dist/versions/migrations/localizeStatus/index.d.ts +0 -12
  787. package/dist/versions/migrations/localizeStatus/index.d.ts.map +0 -1
  788. package/dist/versions/migrations/localizeStatus/index.js +0 -33
  789. package/dist/versions/migrations/localizeStatus/index.js.map +0 -1
  790. package/dist/versions/migrations/localizeStatus/mongo/down.d.ts +0 -9
  791. package/dist/versions/migrations/localizeStatus/mongo/down.d.ts.map +0 -1
  792. package/dist/versions/migrations/localizeStatus/mongo/down.js +0 -112
  793. package/dist/versions/migrations/localizeStatus/mongo/down.js.map +0 -1
  794. package/dist/versions/migrations/localizeStatus/mongo/index.d.ts +0 -8
  795. package/dist/versions/migrations/localizeStatus/mongo/index.d.ts.map +0 -1
  796. package/dist/versions/migrations/localizeStatus/mongo/index.js +0 -8
  797. package/dist/versions/migrations/localizeStatus/mongo/index.js.map +0 -1
  798. package/dist/versions/migrations/localizeStatus/mongo/up.d.ts +0 -9
  799. package/dist/versions/migrations/localizeStatus/mongo/up.d.ts.map +0 -1
  800. package/dist/versions/migrations/localizeStatus/mongo/up.js +0 -220
  801. package/dist/versions/migrations/localizeStatus/mongo/up.js.map +0 -1
  802. package/dist/versions/migrations/localizeStatus/sql/down.d.ts +0 -11
  803. package/dist/versions/migrations/localizeStatus/sql/down.d.ts.map +0 -1
  804. package/dist/versions/migrations/localizeStatus/sql/down.js +0 -213
  805. package/dist/versions/migrations/localizeStatus/sql/down.js.map +0 -1
  806. package/dist/versions/migrations/localizeStatus/sql/index.d.ts +0 -8
  807. package/dist/versions/migrations/localizeStatus/sql/index.d.ts.map +0 -1
  808. package/dist/versions/migrations/localizeStatus/sql/index.js +0 -8
  809. package/dist/versions/migrations/localizeStatus/sql/index.js.map +0 -1
  810. package/dist/versions/migrations/localizeStatus/sql/migrateMainCollection.d.ts +0 -13
  811. package/dist/versions/migrations/localizeStatus/sql/migrateMainCollection.d.ts.map +0 -1
  812. package/dist/versions/migrations/localizeStatus/sql/migrateMainCollection.js +0 -51
  813. package/dist/versions/migrations/localizeStatus/sql/migrateMainCollection.js.map +0 -1
  814. package/dist/versions/migrations/localizeStatus/sql/migrateMainGlobal.d.ts +0 -13
  815. package/dist/versions/migrations/localizeStatus/sql/migrateMainGlobal.d.ts.map +0 -1
  816. package/dist/versions/migrations/localizeStatus/sql/migrateMainGlobal.js +0 -54
  817. package/dist/versions/migrations/localizeStatus/sql/migrateMainGlobal.js.map +0 -1
  818. package/dist/versions/migrations/localizeStatus/sql/up.d.ts +0 -11
  819. package/dist/versions/migrations/localizeStatus/sql/up.d.ts.map +0 -1
  820. package/dist/versions/migrations/localizeStatus/sql/up.js +0 -277
  821. package/dist/versions/migrations/localizeStatus/sql/up.js.map +0 -1
  822. package/dist/versions/saveSnapshot.d.ts +0 -18
  823. package/dist/versions/saveSnapshot.d.ts.map +0 -1
  824. package/dist/versions/saveSnapshot.js +0 -38
  825. package/dist/versions/saveSnapshot.js.map +0 -1
@@ -0,0 +1,594 @@
1
+ import { existsSync, mkdirSync, mkdtempSync, realpathSync, rmSync, writeFileSync } from 'node:fs';
2
+ import os from 'node:os';
3
+ import path from 'node:path';
4
+ import { describe, expect, it, vi, beforeEach, afterEach } from 'vitest';
5
+ // Default fake child auto-fires `exit(0)` synchronously so ordering/generation
6
+ // tests resolve. Specific tests override via `mockReturnValueOnce` to drive the
7
+ // exit/error handlers manually.
8
+ const spawnMock = vi.fn(()=>({
9
+ on (event, cb) {
10
+ if (event === 'exit') {
11
+ cb(0);
12
+ }
13
+ return this;
14
+ }
15
+ }));
16
+ const generateImportMapMock = vi.fn(async ()=>{});
17
+ const generateTypesMock = vi.fn(async ()=>{});
18
+ vi.mock('node:child_process', ()=>({
19
+ spawn: spawnMock
20
+ }));
21
+ vi.mock('./generateImportMap/index.js', ()=>({
22
+ generateImportMap: generateImportMapMock
23
+ }));
24
+ vi.mock('./generateTypes.js', ()=>({
25
+ generateTypes: generateTypesMock
26
+ }));
27
+ // Imported after mocks are registered
28
+ const { build, detectFramework, getForwardedArgs, resolveBuildCommand, resolveNextBin, resolveViteBin } = await import('./build.js');
29
+ const fakeConfig = {};
30
+ describe('getForwardedArgs', ()=>{
31
+ it('returns args after the build token and strips --no-types', ()=>{
32
+ expect(getForwardedArgs([
33
+ 'build',
34
+ '--turbopack',
35
+ '--no-types',
36
+ 'foo'
37
+ ])).toEqual([
38
+ '--turbopack',
39
+ 'foo'
40
+ ]);
41
+ });
42
+ it('returns empty array when only build is present', ()=>{
43
+ expect(getForwardedArgs([
44
+ 'build'
45
+ ])).toEqual([]);
46
+ });
47
+ });
48
+ describe('resolveNextBin', ()=>{
49
+ it('resolves next bin from the current project', ()=>{
50
+ // next is installed at the repo root; resolving from cwd must succeed
51
+ const binPath = resolveNextBin(process.cwd());
52
+ expect(binPath).toMatch(/next[\\/].*bin[\\/]next$/);
53
+ expect(existsSync(binPath)).toBe(true);
54
+ });
55
+ it('throws a clear error when next cannot be resolved', ()=>{
56
+ expect(()=>resolveNextBin('/nonexistent-project-root')).toThrow(/next/i);
57
+ });
58
+ });
59
+ describe('resolveViteBin', ()=>{
60
+ it('resolves the vite bin from the current project', ()=>{
61
+ // vite is installed at the repo root; resolving from cwd must succeed
62
+ const binPath = resolveViteBin(process.cwd());
63
+ expect(binPath).toMatch(/vite[\\/].*bin[\\/]vite\.js$/);
64
+ expect(existsSync(binPath)).toBe(true);
65
+ });
66
+ it('throws a clear error when vite cannot be resolved', async ()=>{
67
+ // Vitest injects its own transitive `vite` dep onto NODE_PATH, so resolving
68
+ // "vite" from any cwd would otherwise succeed in this test process even
69
+ // when the project under test has no vite installed. Mock module
70
+ // resolution itself to simulate a real "vite not installed" project.
71
+ vi.resetModules();
72
+ vi.doMock('node:module', async (importOriginal)=>{
73
+ const actual = await importOriginal();
74
+ return {
75
+ ...actual,
76
+ createRequire: ()=>({
77
+ resolve: ()=>{
78
+ throw new Error('Cannot find module');
79
+ }
80
+ })
81
+ };
82
+ });
83
+ const { resolveViteBin: resolveViteBinWithoutVite } = await import('./build.js');
84
+ expect(()=>resolveViteBinWithoutVite('/nonexistent-project-root')).toThrow(/vite/i);
85
+ vi.doUnmock('node:module');
86
+ vi.resetModules();
87
+ });
88
+ });
89
+ describe('resolveBuildCommand', ()=>{
90
+ it('maps next to the next bin and build args', ()=>{
91
+ const { args, bin } = resolveBuildCommand({
92
+ cwd: process.cwd(),
93
+ forwardedArgs: [
94
+ '--turbopack'
95
+ ],
96
+ framework: 'next'
97
+ });
98
+ expect(bin).toMatch(/next[\\/].*bin[\\/]next$/);
99
+ expect(args).toEqual([
100
+ 'build',
101
+ '--turbopack'
102
+ ]);
103
+ });
104
+ it('maps tanstack-start to the vite bin and build args', ()=>{
105
+ const { args, bin } = resolveBuildCommand({
106
+ cwd: process.cwd(),
107
+ forwardedArgs: [
108
+ '--mode',
109
+ 'staging'
110
+ ],
111
+ framework: 'tanstack-start'
112
+ });
113
+ expect(bin).toMatch(/vite[\\/].*bin[\\/]vite\.js$/);
114
+ expect(args).toEqual([
115
+ 'build',
116
+ '--mode',
117
+ 'staging'
118
+ ]);
119
+ });
120
+ });
121
+ // Resolution against isolated fixture projects, complementing the cwd/real-install
122
+ // checks above. Installing a fake package into a real temp node_modules proves
123
+ // `createRequire` walks the consumer's node_modules rather than repo hoisting or
124
+ // vitest's ambient NODE_PATH, and exercises bin-field shapes the real installs don't.
125
+ describe('bin resolution walks the consumer project node_modules', ()=>{
126
+ const binFixtureDirs = [];
127
+ /**
128
+ * Build a throwaway project with a fake installed package whose package.json
129
+ * carries the given `bin` field. Returns the project root to pass as `cwd`. The
130
+ * bin target file is created so existsSync assertions are meaningful.
131
+ */ const makeProjectWithPackage = ({ binField, binRelPath, packageName })=>{
132
+ // realpath so exact path comparisons hold on macOS, where /var symlinks to
133
+ // /private/var and require.resolve returns the resolved path.
134
+ const root = realpathSync(mkdtempSync(path.join(os.tmpdir(), 'payload-build-bin-')));
135
+ binFixtureDirs.push(root);
136
+ writeFileSync(path.join(root, 'package.json'), JSON.stringify({
137
+ name: 'fixture-app'
138
+ }));
139
+ const pkgDir = path.join(root, 'node_modules', packageName);
140
+ mkdirSync(pkgDir, {
141
+ recursive: true
142
+ });
143
+ writeFileSync(path.join(pkgDir, 'package.json'), JSON.stringify({
144
+ bin: binField,
145
+ name: packageName,
146
+ version: '0.0.0'
147
+ }));
148
+ if (binRelPath) {
149
+ const binFull = path.join(pkgDir, binRelPath);
150
+ mkdirSync(path.dirname(binFull), {
151
+ recursive: true
152
+ });
153
+ writeFileSync(binFull, '');
154
+ }
155
+ return root;
156
+ };
157
+ afterEach(()=>{
158
+ for (const dir of binFixtureDirs){
159
+ rmSync(dir, {
160
+ force: true,
161
+ recursive: true
162
+ });
163
+ }
164
+ binFixtureDirs.length = 0;
165
+ });
166
+ it('resolves the next bin from an isolated project using the object-form bin field', ()=>{
167
+ const root = makeProjectWithPackage({
168
+ binField: {
169
+ next: './dist/bin/next'
170
+ },
171
+ binRelPath: 'dist/bin/next',
172
+ packageName: 'next'
173
+ });
174
+ const binPath = resolveNextBin(root);
175
+ expect(binPath).toBe(path.join(root, 'node_modules', 'next', 'dist', 'bin', 'next'));
176
+ expect(existsSync(binPath)).toBe(true);
177
+ });
178
+ it('resolves the vite bin from an isolated project using the object-form bin field', ()=>{
179
+ const root = makeProjectWithPackage({
180
+ binField: {
181
+ vite: 'bin/vite.js'
182
+ },
183
+ binRelPath: 'bin/vite.js',
184
+ packageName: 'vite'
185
+ });
186
+ const binPath = resolveViteBin(root);
187
+ expect(binPath).toBe(path.join(root, 'node_modules', 'vite', 'bin', 'vite.js'));
188
+ expect(existsSync(binPath)).toBe(true);
189
+ });
190
+ it('resolves a string-form bin field', ()=>{
191
+ const root = makeProjectWithPackage({
192
+ binField: './cli.js',
193
+ binRelPath: 'cli.js',
194
+ packageName: 'vite'
195
+ });
196
+ const binPath = resolveViteBin(root);
197
+ expect(binPath).toBe(path.join(root, 'node_modules', 'vite', 'cli.js'));
198
+ expect(existsSync(binPath)).toBe(true);
199
+ });
200
+ it('throws a clear error when the package declares no bin field', ()=>{
201
+ const root = makeProjectWithPackage({
202
+ binField: undefined,
203
+ packageName: 'vite'
204
+ });
205
+ expect(()=>resolveViteBin(root)).toThrow(/binary path/i);
206
+ });
207
+ });
208
+ describe('build', ()=>{
209
+ let exitMock;
210
+ let originalArgv;
211
+ let originalFrameworkEnv;
212
+ let cwdSpy;
213
+ const buildTempDirs = [];
214
+ beforeEach(()=>{
215
+ spawnMock.mockClear();
216
+ generateImportMapMock.mockClear();
217
+ generateTypesMock.mockClear();
218
+ originalArgv = process.argv;
219
+ process.argv = [
220
+ 'node',
221
+ 'payload',
222
+ 'build'
223
+ ];
224
+ exitMock = vi.spyOn(process, 'exit').mockImplementation(()=>undefined);
225
+ originalFrameworkEnv = process.env.PAYLOAD_FRAMEWORK;
226
+ // Force next for the legacy tests so they don't depend on the repo-root
227
+ // package.json's ambient `next` dependency for auto-detection.
228
+ process.env.PAYLOAD_FRAMEWORK = 'next';
229
+ });
230
+ afterEach(()=>{
231
+ process.argv = originalArgv;
232
+ exitMock.mockRestore();
233
+ if (originalFrameworkEnv === undefined) {
234
+ delete process.env.PAYLOAD_FRAMEWORK;
235
+ } else {
236
+ process.env.PAYLOAD_FRAMEWORK = originalFrameworkEnv;
237
+ }
238
+ if (cwdSpy) {
239
+ cwdSpy.mockRestore();
240
+ cwdSpy = undefined;
241
+ }
242
+ for (const dir of buildTempDirs){
243
+ rmSync(dir, {
244
+ force: true,
245
+ recursive: true
246
+ });
247
+ }
248
+ buildTempDirs.length = 0;
249
+ });
250
+ it('generates the import map before spawning, and generates types by default', async ()=>{
251
+ await build({
252
+ config: fakeConfig
253
+ });
254
+ expect(generateImportMapMock).toHaveBeenCalledTimes(1);
255
+ expect(generateTypesMock).toHaveBeenCalledTimes(1);
256
+ expect(spawnMock).toHaveBeenCalledTimes(1);
257
+ expect(generateImportMapMock.mock.invocationCallOrder[0]).toBeLessThan(spawnMock.mock.invocationCallOrder[0]);
258
+ });
259
+ it('skips type generation with --no-types', async ()=>{
260
+ process.argv = [
261
+ 'node',
262
+ 'payload',
263
+ 'build',
264
+ '--no-types'
265
+ ];
266
+ await build({
267
+ config: fakeConfig
268
+ });
269
+ expect(generateImportMapMock).toHaveBeenCalledTimes(1);
270
+ expect(generateTypesMock).not.toHaveBeenCalled();
271
+ expect(spawnMock).toHaveBeenCalledTimes(1);
272
+ });
273
+ it('exits 1 and does not spawn when generation fails', async ()=>{
274
+ generateImportMapMock.mockRejectedValueOnce(new Error('boom'));
275
+ await build({
276
+ config: fakeConfig
277
+ });
278
+ expect(exitMock).toHaveBeenCalledWith(1);
279
+ expect(spawnMock).not.toHaveBeenCalled();
280
+ });
281
+ it('spawns next build with forwarded args and propagates the child exit code', async ()=>{
282
+ process.argv = [
283
+ 'node',
284
+ 'payload',
285
+ 'build',
286
+ '--turbopack'
287
+ ];
288
+ let exitCb;
289
+ spawnMock.mockReturnValueOnce({
290
+ on (event, cb) {
291
+ if (event === 'exit') {
292
+ exitCb = cb;
293
+ }
294
+ return this;
295
+ }
296
+ });
297
+ const buildPromise = build({
298
+ config: fakeConfig
299
+ });
300
+ // generation awaits before spawn; let those microtasks settle
301
+ await vi.waitFor(()=>expect(spawnMock).toHaveBeenCalledTimes(1));
302
+ const [execPath, spawnArgs, opts] = spawnMock.mock.calls[0];
303
+ expect(execPath).toBe(process.execPath);
304
+ expect(spawnArgs[1]).toBe('build');
305
+ expect(spawnArgs).toContain('--turbopack');
306
+ expect(opts).toEqual({
307
+ stdio: 'inherit'
308
+ });
309
+ // Simulate the child exiting with a non-zero code
310
+ exitCb?.(2);
311
+ await buildPromise;
312
+ expect(exitMock).toHaveBeenCalledWith(2);
313
+ });
314
+ it('does not exit until the spawned child exits, then propagates its code', async ()=>{
315
+ let exitCb;
316
+ spawnMock.mockReturnValueOnce({
317
+ on (event, cb) {
318
+ if (event === 'exit') {
319
+ exitCb = cb;
320
+ }
321
+ return this;
322
+ }
323
+ });
324
+ let resolved = false;
325
+ const buildPromise = build({
326
+ config: fakeConfig
327
+ }).then(()=>{
328
+ resolved = true;
329
+ });
330
+ // Wait for generation to settle and the child to be spawned. build() must
331
+ // still be pending because the child has not exited yet.
332
+ await vi.waitFor(()=>expect(exitCb).toBeDefined());
333
+ // Flush all pending microtasks; the OLD (buggy) build() resolved here
334
+ // without awaiting the child, so this assertion catches the race.
335
+ await new Promise((r)=>setTimeout(r, 0));
336
+ expect(resolved).toBe(false);
337
+ expect(exitMock).not.toHaveBeenCalled();
338
+ // Child exits non-zero -> build() must exit with that exact code
339
+ exitCb?.(3);
340
+ await buildPromise;
341
+ expect(resolved).toBe(true);
342
+ expect(exitMock).toHaveBeenCalledWith(3);
343
+ });
344
+ it('spawns vite build for a detected tanstack project', async ()=>{
345
+ delete process.env.PAYLOAD_FRAMEWORK;
346
+ process.argv = [
347
+ 'node',
348
+ 'payload',
349
+ 'build',
350
+ '--mode',
351
+ 'staging'
352
+ ];
353
+ const tanstackDir = mkdtempSync(path.join(os.tmpdir(), 'payload-build-ts-'));
354
+ buildTempDirs.push(tanstackDir);
355
+ writeFileSync(path.join(tanstackDir, 'package.json'), JSON.stringify({
356
+ dependencies: {
357
+ '@tanstack/react-start': '1.168.26'
358
+ }
359
+ }));
360
+ cwdSpy = vi.spyOn(process, 'cwd').mockReturnValue(tanstackDir);
361
+ await build({
362
+ config: fakeConfig
363
+ });
364
+ expect(spawnMock).toHaveBeenCalledTimes(1);
365
+ const [, spawnArgs] = spawnMock.mock.calls[0];
366
+ expect(spawnArgs[0]).toMatch(/vite[\\/].*bin[\\/]vite\.js$/);
367
+ expect(spawnArgs.slice(1)).toEqual([
368
+ 'build',
369
+ '--mode',
370
+ 'staging'
371
+ ]);
372
+ });
373
+ it('exits 1 and does not spawn when the framework cannot be detected', async ()=>{
374
+ delete process.env.PAYLOAD_FRAMEWORK;
375
+ const emptyDir = mkdtempSync(path.join(os.tmpdir(), 'payload-build-empty-'));
376
+ buildTempDirs.push(emptyDir);
377
+ writeFileSync(path.join(emptyDir, 'package.json'), JSON.stringify({}));
378
+ cwdSpy = vi.spyOn(process, 'cwd').mockReturnValue(emptyDir);
379
+ await build({
380
+ config: fakeConfig
381
+ });
382
+ expect(exitMock).toHaveBeenCalledWith(1);
383
+ expect(spawnMock).not.toHaveBeenCalled();
384
+ });
385
+ });
386
+ describe('detectFramework', ()=>{
387
+ const createdDirs = [];
388
+ let originalFrameworkEnv;
389
+ const makeProject = (files)=>{
390
+ const dir = mkdtempSync(path.join(os.tmpdir(), 'payload-build-'));
391
+ createdDirs.push(dir);
392
+ for (const file of files){
393
+ const full = path.join(dir, file.path);
394
+ mkdirSync(path.dirname(full), {
395
+ recursive: true
396
+ });
397
+ writeFileSync(full, file.contents ?? '');
398
+ }
399
+ return dir;
400
+ };
401
+ const pkg = (deps)=>JSON.stringify({
402
+ dependencies: deps
403
+ });
404
+ beforeEach(()=>{
405
+ originalFrameworkEnv = process.env.PAYLOAD_FRAMEWORK;
406
+ delete process.env.PAYLOAD_FRAMEWORK;
407
+ });
408
+ afterEach(()=>{
409
+ if (originalFrameworkEnv === undefined) {
410
+ delete process.env.PAYLOAD_FRAMEWORK;
411
+ } else {
412
+ process.env.PAYLOAD_FRAMEWORK = originalFrameworkEnv;
413
+ }
414
+ for (const dir of createdDirs){
415
+ rmSync(dir, {
416
+ force: true,
417
+ recursive: true
418
+ });
419
+ }
420
+ createdDirs.length = 0;
421
+ });
422
+ it('honors PAYLOAD_FRAMEWORK=tanstack-start over auto-detection', ()=>{
423
+ process.env.PAYLOAD_FRAMEWORK = 'tanstack-start';
424
+ const dir = makeProject([
425
+ {
426
+ contents: pkg({
427
+ next: '15.0.0'
428
+ }),
429
+ path: 'package.json'
430
+ }
431
+ ]);
432
+ expect(detectFramework(dir)).toBe('tanstack-start');
433
+ });
434
+ it('honors PAYLOAD_FRAMEWORK=next over auto-detection', ()=>{
435
+ process.env.PAYLOAD_FRAMEWORK = 'next';
436
+ const dir = makeProject([
437
+ {
438
+ contents: pkg({
439
+ '@tanstack/react-start': '1.168.26'
440
+ }),
441
+ path: 'package.json'
442
+ }
443
+ ]);
444
+ expect(detectFramework(dir)).toBe('next');
445
+ });
446
+ it('throws when PAYLOAD_FRAMEWORK is an unsupported value', ()=>{
447
+ process.env.PAYLOAD_FRAMEWORK = 'svelte';
448
+ const dir = makeProject([
449
+ {
450
+ contents: pkg({
451
+ next: '15.0.0'
452
+ }),
453
+ path: 'package.json'
454
+ }
455
+ ]);
456
+ expect(()=>detectFramework(dir)).toThrow(/PAYLOAD_FRAMEWORK/);
457
+ });
458
+ it('detects next from the next dependency', ()=>{
459
+ const dir = makeProject([
460
+ {
461
+ contents: pkg({
462
+ next: '15.0.0'
463
+ }),
464
+ path: 'package.json'
465
+ }
466
+ ]);
467
+ expect(detectFramework(dir)).toBe('next');
468
+ });
469
+ it('detects tanstack-start from the @tanstack/react-start dependency', ()=>{
470
+ const dir = makeProject([
471
+ {
472
+ contents: pkg({
473
+ '@tanstack/react-start': '1.168.26'
474
+ }),
475
+ path: 'package.json'
476
+ }
477
+ ]);
478
+ expect(detectFramework(dir)).toBe('tanstack-start');
479
+ });
480
+ it('falls back to next.config when deps are inconclusive', ()=>{
481
+ const dir = makeProject([
482
+ {
483
+ contents: pkg({}),
484
+ path: 'package.json'
485
+ },
486
+ {
487
+ path: 'next.config.ts'
488
+ }
489
+ ]);
490
+ expect(detectFramework(dir)).toBe('next');
491
+ });
492
+ it('falls back to vite.config when deps are inconclusive', ()=>{
493
+ const dir = makeProject([
494
+ {
495
+ contents: pkg({}),
496
+ path: 'package.json'
497
+ },
498
+ {
499
+ path: 'vite.config.ts'
500
+ }
501
+ ]);
502
+ expect(detectFramework(dir)).toBe('tanstack-start');
503
+ });
504
+ it('falls back to the (payload) folder convention', ()=>{
505
+ const dir = makeProject([
506
+ {
507
+ path: 'app/(payload)/admin/page.tsx'
508
+ }
509
+ ]);
510
+ expect(detectFramework(dir)).toBe('next');
511
+ });
512
+ it('falls back to the _payload folder convention', ()=>{
513
+ const dir = makeProject([
514
+ {
515
+ path: 'app/_payload/route.tsx'
516
+ }
517
+ ]);
518
+ expect(detectFramework(dir)).toBe('tanstack-start');
519
+ });
520
+ it('resolves ambiguous deps using the config-file layer', ()=>{
521
+ const dir = makeProject([
522
+ {
523
+ contents: pkg({
524
+ '@tanstack/react-start': '1.168.26',
525
+ next: '15.0.0'
526
+ }),
527
+ path: 'package.json'
528
+ },
529
+ {
530
+ path: 'next.config.ts'
531
+ }
532
+ ]);
533
+ expect(detectFramework(dir)).toBe('next');
534
+ });
535
+ it('resolves ambiguous deps to tanstack-start via the config-file layer', ()=>{
536
+ const dir = makeProject([
537
+ {
538
+ contents: pkg({
539
+ '@tanstack/react-start': '1.168.26',
540
+ next: '15.0.0'
541
+ }),
542
+ path: 'package.json'
543
+ },
544
+ {
545
+ path: 'vite.config.ts'
546
+ }
547
+ ]);
548
+ expect(detectFramework(dir)).toBe('tanstack-start');
549
+ });
550
+ it('resolves ambiguous deps and configs via the folder-convention layer', ()=>{
551
+ const dir = makeProject([
552
+ {
553
+ contents: pkg({
554
+ '@tanstack/react-start': '1.168.26',
555
+ next: '15.0.0'
556
+ }),
557
+ path: 'package.json'
558
+ },
559
+ {
560
+ path: 'app/_payload/route.tsx'
561
+ }
562
+ ]);
563
+ expect(detectFramework(dir)).toBe('tanstack-start');
564
+ });
565
+ it('throws a no-framework error when nothing is detected', ()=>{
566
+ const dir = makeProject([
567
+ {
568
+ contents: pkg({}),
569
+ path: 'package.json'
570
+ }
571
+ ]);
572
+ expect(()=>detectFramework(dir)).toThrow(/Could not determine your framework/);
573
+ });
574
+ it('throws a conflict error when signals stay ambiguous', ()=>{
575
+ const dir = makeProject([
576
+ {
577
+ contents: pkg({
578
+ '@tanstack/react-start': '1.168.26',
579
+ next: '15.0.0'
580
+ }),
581
+ path: 'package.json'
582
+ },
583
+ {
584
+ path: 'next.config.ts'
585
+ },
586
+ {
587
+ path: 'vite.config.ts'
588
+ }
589
+ ]);
590
+ expect(()=>detectFramework(dir)).toThrow(/conflicting signals/);
591
+ });
592
+ });
593
+
594
+ //# sourceMappingURL=build.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/bin/build.spec.ts"],"sourcesContent":["import { existsSync, mkdirSync, mkdtempSync, realpathSync, rmSync, writeFileSync } from 'node:fs'\nimport os from 'node:os'\nimport path from 'node:path'\n\nimport { describe, expect, it, vi, beforeEach, afterEach } from 'vitest'\n\n// Default fake child auto-fires `exit(0)` synchronously so ordering/generation\n// tests resolve. Specific tests override via `mockReturnValueOnce` to drive the\n// exit/error handlers manually.\nconst spawnMock = vi.fn(() => ({\n on(event: string, cb: (arg?: never) => void) {\n if (event === 'exit') {\n cb(0 as never)\n }\n return this\n },\n}))\nconst generateImportMapMock = vi.fn(async () => {})\nconst generateTypesMock = vi.fn(async () => {})\n\nvi.mock('node:child_process', () => ({ spawn: spawnMock }))\nvi.mock('./generateImportMap/index.js', () => ({ generateImportMap: generateImportMapMock }))\nvi.mock('./generateTypes.js', () => ({ generateTypes: generateTypesMock }))\n\n// Imported after mocks are registered\nconst {\n build,\n detectFramework,\n getForwardedArgs,\n resolveBuildCommand,\n resolveNextBin,\n resolveViteBin,\n} = await import('./build.js')\n\nconst fakeConfig = {} as never\n\ndescribe('getForwardedArgs', () => {\n it('returns args after the build token and strips --no-types', () => {\n expect(getForwardedArgs(['build', '--turbopack', '--no-types', 'foo'])).toEqual([\n '--turbopack',\n 'foo',\n ])\n })\n\n it('returns empty array when only build is present', () => {\n expect(getForwardedArgs(['build'])).toEqual([])\n })\n})\n\ndescribe('resolveNextBin', () => {\n it('resolves next bin from the current project', () => {\n // next is installed at the repo root; resolving from cwd must succeed\n const binPath = resolveNextBin(process.cwd())\n expect(binPath).toMatch(/next[\\\\/].*bin[\\\\/]next$/)\n expect(existsSync(binPath)).toBe(true)\n })\n\n it('throws a clear error when next cannot be resolved', () => {\n expect(() => resolveNextBin('/nonexistent-project-root')).toThrow(/next/i)\n })\n})\n\ndescribe('resolveViteBin', () => {\n it('resolves the vite bin from the current project', () => {\n // vite is installed at the repo root; resolving from cwd must succeed\n const binPath = resolveViteBin(process.cwd())\n expect(binPath).toMatch(/vite[\\\\/].*bin[\\\\/]vite\\.js$/)\n expect(existsSync(binPath)).toBe(true)\n })\n\n it('throws a clear error when vite cannot be resolved', async () => {\n // Vitest injects its own transitive `vite` dep onto NODE_PATH, so resolving\n // \"vite\" from any cwd would otherwise succeed in this test process even\n // when the project under test has no vite installed. Mock module\n // resolution itself to simulate a real \"vite not installed\" project.\n vi.resetModules()\n vi.doMock('node:module', async (importOriginal) => {\n const actual = await importOriginal<typeof import('node:module')>()\n return {\n ...actual,\n createRequire: () => ({\n resolve: () => {\n throw new Error('Cannot find module')\n },\n }),\n }\n })\n\n const { resolveViteBin: resolveViteBinWithoutVite } = await import('./build.js')\n expect(() => resolveViteBinWithoutVite('/nonexistent-project-root')).toThrow(/vite/i)\n\n vi.doUnmock('node:module')\n vi.resetModules()\n })\n})\n\ndescribe('resolveBuildCommand', () => {\n it('maps next to the next bin and build args', () => {\n const { args, bin } = resolveBuildCommand({\n cwd: process.cwd(),\n forwardedArgs: ['--turbopack'],\n framework: 'next',\n })\n expect(bin).toMatch(/next[\\\\/].*bin[\\\\/]next$/)\n expect(args).toEqual(['build', '--turbopack'])\n })\n\n it('maps tanstack-start to the vite bin and build args', () => {\n const { args, bin } = resolveBuildCommand({\n cwd: process.cwd(),\n forwardedArgs: ['--mode', 'staging'],\n framework: 'tanstack-start',\n })\n expect(bin).toMatch(/vite[\\\\/].*bin[\\\\/]vite\\.js$/)\n expect(args).toEqual(['build', '--mode', 'staging'])\n })\n})\n\n// Resolution against isolated fixture projects, complementing the cwd/real-install\n// checks above. Installing a fake package into a real temp node_modules proves\n// `createRequire` walks the consumer's node_modules rather than repo hoisting or\n// vitest's ambient NODE_PATH, and exercises bin-field shapes the real installs don't.\ndescribe('bin resolution walks the consumer project node_modules', () => {\n const binFixtureDirs: string[] = []\n\n /**\n * Build a throwaway project with a fake installed package whose package.json\n * carries the given `bin` field. Returns the project root to pass as `cwd`. The\n * bin target file is created so existsSync assertions are meaningful.\n */\n const makeProjectWithPackage = ({\n binField,\n binRelPath,\n packageName,\n }: {\n binField: unknown\n binRelPath?: string\n packageName: string\n }): string => {\n // realpath so exact path comparisons hold on macOS, where /var symlinks to\n // /private/var and require.resolve returns the resolved path.\n const root = realpathSync(mkdtempSync(path.join(os.tmpdir(), 'payload-build-bin-')))\n binFixtureDirs.push(root)\n writeFileSync(path.join(root, 'package.json'), JSON.stringify({ name: 'fixture-app' }))\n\n const pkgDir = path.join(root, 'node_modules', packageName)\n mkdirSync(pkgDir, { recursive: true })\n writeFileSync(\n path.join(pkgDir, 'package.json'),\n JSON.stringify({ bin: binField, name: packageName, version: '0.0.0' }),\n )\n\n if (binRelPath) {\n const binFull = path.join(pkgDir, binRelPath)\n mkdirSync(path.dirname(binFull), { recursive: true })\n writeFileSync(binFull, '')\n }\n\n return root\n }\n\n afterEach(() => {\n for (const dir of binFixtureDirs) {\n rmSync(dir, { force: true, recursive: true })\n }\n binFixtureDirs.length = 0\n })\n\n it('resolves the next bin from an isolated project using the object-form bin field', () => {\n const root = makeProjectWithPackage({\n binField: { next: './dist/bin/next' },\n binRelPath: 'dist/bin/next',\n packageName: 'next',\n })\n\n const binPath = resolveNextBin(root)\n\n expect(binPath).toBe(path.join(root, 'node_modules', 'next', 'dist', 'bin', 'next'))\n expect(existsSync(binPath)).toBe(true)\n })\n\n it('resolves the vite bin from an isolated project using the object-form bin field', () => {\n const root = makeProjectWithPackage({\n binField: { vite: 'bin/vite.js' },\n binRelPath: 'bin/vite.js',\n packageName: 'vite',\n })\n\n const binPath = resolveViteBin(root)\n\n expect(binPath).toBe(path.join(root, 'node_modules', 'vite', 'bin', 'vite.js'))\n expect(existsSync(binPath)).toBe(true)\n })\n\n it('resolves a string-form bin field', () => {\n const root = makeProjectWithPackage({\n binField: './cli.js',\n binRelPath: 'cli.js',\n packageName: 'vite',\n })\n\n const binPath = resolveViteBin(root)\n\n expect(binPath).toBe(path.join(root, 'node_modules', 'vite', 'cli.js'))\n expect(existsSync(binPath)).toBe(true)\n })\n\n it('throws a clear error when the package declares no bin field', () => {\n const root = makeProjectWithPackage({ binField: undefined, packageName: 'vite' })\n\n expect(() => resolveViteBin(root)).toThrow(/binary path/i)\n })\n})\n\ndescribe('build', () => {\n let exitMock: ReturnType<typeof vi.spyOn>\n let originalArgv: string[]\n let originalFrameworkEnv: string | undefined\n let cwdSpy: ReturnType<typeof vi.spyOn> | undefined\n const buildTempDirs: string[] = []\n\n beforeEach(() => {\n spawnMock.mockClear()\n generateImportMapMock.mockClear()\n generateTypesMock.mockClear()\n originalArgv = process.argv\n process.argv = ['node', 'payload', 'build']\n exitMock = vi.spyOn(process, 'exit').mockImplementation((() => undefined) as never)\n originalFrameworkEnv = process.env.PAYLOAD_FRAMEWORK\n // Force next for the legacy tests so they don't depend on the repo-root\n // package.json's ambient `next` dependency for auto-detection.\n process.env.PAYLOAD_FRAMEWORK = 'next'\n })\n\n afterEach(() => {\n process.argv = originalArgv\n exitMock.mockRestore()\n if (originalFrameworkEnv === undefined) {\n delete process.env.PAYLOAD_FRAMEWORK\n } else {\n process.env.PAYLOAD_FRAMEWORK = originalFrameworkEnv\n }\n if (cwdSpy) {\n cwdSpy.mockRestore()\n cwdSpy = undefined\n }\n for (const dir of buildTempDirs) {\n rmSync(dir, { force: true, recursive: true })\n }\n buildTempDirs.length = 0\n })\n\n it('generates the import map before spawning, and generates types by default', async () => {\n await build({ config: fakeConfig })\n\n expect(generateImportMapMock).toHaveBeenCalledTimes(1)\n expect(generateTypesMock).toHaveBeenCalledTimes(1)\n expect(spawnMock).toHaveBeenCalledTimes(1)\n expect(generateImportMapMock.mock.invocationCallOrder[0]).toBeLessThan(\n spawnMock.mock.invocationCallOrder[0],\n )\n })\n\n it('skips type generation with --no-types', async () => {\n process.argv = ['node', 'payload', 'build', '--no-types']\n\n await build({ config: fakeConfig })\n\n expect(generateImportMapMock).toHaveBeenCalledTimes(1)\n expect(generateTypesMock).not.toHaveBeenCalled()\n expect(spawnMock).toHaveBeenCalledTimes(1)\n })\n\n it('exits 1 and does not spawn when generation fails', async () => {\n generateImportMapMock.mockRejectedValueOnce(new Error('boom'))\n\n await build({ config: fakeConfig })\n\n expect(exitMock).toHaveBeenCalledWith(1)\n expect(spawnMock).not.toHaveBeenCalled()\n })\n\n it('spawns next build with forwarded args and propagates the child exit code', async () => {\n process.argv = ['node', 'payload', 'build', '--turbopack']\n let exitCb: ((code: number | null) => void) | undefined\n spawnMock.mockReturnValueOnce({\n on(event: string, cb: (code: number | null) => void) {\n if (event === 'exit') {\n exitCb = cb\n }\n return this\n },\n })\n\n const buildPromise = build({ config: fakeConfig })\n\n // generation awaits before spawn; let those microtasks settle\n await vi.waitFor(() => expect(spawnMock).toHaveBeenCalledTimes(1))\n const [execPath, spawnArgs, opts] = spawnMock.mock.calls[0]\n expect(execPath).toBe(process.execPath)\n expect(spawnArgs[1]).toBe('build')\n expect(spawnArgs).toContain('--turbopack')\n expect(opts).toEqual({ stdio: 'inherit' })\n\n // Simulate the child exiting with a non-zero code\n exitCb?.(2)\n await buildPromise\n expect(exitMock).toHaveBeenCalledWith(2)\n })\n\n it('does not exit until the spawned child exits, then propagates its code', async () => {\n let exitCb: ((code: number | null) => void) | undefined\n spawnMock.mockReturnValueOnce({\n on(event: string, cb: (code: number | null) => void) {\n if (event === 'exit') {\n exitCb = cb\n }\n return this\n },\n })\n\n let resolved = false\n const buildPromise = build({ config: fakeConfig }).then(() => {\n resolved = true\n })\n\n // Wait for generation to settle and the child to be spawned. build() must\n // still be pending because the child has not exited yet.\n await vi.waitFor(() => expect(exitCb).toBeDefined())\n // Flush all pending microtasks; the OLD (buggy) build() resolved here\n // without awaiting the child, so this assertion catches the race.\n await new Promise((r) => setTimeout(r, 0))\n expect(resolved).toBe(false)\n expect(exitMock).not.toHaveBeenCalled()\n\n // Child exits non-zero -> build() must exit with that exact code\n exitCb?.(3)\n await buildPromise\n expect(resolved).toBe(true)\n expect(exitMock).toHaveBeenCalledWith(3)\n })\n\n it('spawns vite build for a detected tanstack project', async () => {\n delete process.env.PAYLOAD_FRAMEWORK\n process.argv = ['node', 'payload', 'build', '--mode', 'staging']\n const tanstackDir = mkdtempSync(path.join(os.tmpdir(), 'payload-build-ts-'))\n buildTempDirs.push(tanstackDir)\n writeFileSync(\n path.join(tanstackDir, 'package.json'),\n JSON.stringify({ dependencies: { '@tanstack/react-start': '1.168.26' } }),\n )\n cwdSpy = vi.spyOn(process, 'cwd').mockReturnValue(tanstackDir)\n\n await build({ config: fakeConfig })\n\n expect(spawnMock).toHaveBeenCalledTimes(1)\n const [, spawnArgs] = spawnMock.mock.calls[0]\n expect(spawnArgs[0]).toMatch(/vite[\\\\/].*bin[\\\\/]vite\\.js$/)\n expect(spawnArgs.slice(1)).toEqual(['build', '--mode', 'staging'])\n })\n\n it('exits 1 and does not spawn when the framework cannot be detected', async () => {\n delete process.env.PAYLOAD_FRAMEWORK\n const emptyDir = mkdtempSync(path.join(os.tmpdir(), 'payload-build-empty-'))\n buildTempDirs.push(emptyDir)\n writeFileSync(path.join(emptyDir, 'package.json'), JSON.stringify({}))\n cwdSpy = vi.spyOn(process, 'cwd').mockReturnValue(emptyDir)\n\n await build({ config: fakeConfig })\n\n expect(exitMock).toHaveBeenCalledWith(1)\n expect(spawnMock).not.toHaveBeenCalled()\n })\n})\n\ndescribe('detectFramework', () => {\n const createdDirs: string[] = []\n let originalFrameworkEnv: string | undefined\n\n const makeProject = (files: { contents?: string; path: string }[]): string => {\n const dir = mkdtempSync(path.join(os.tmpdir(), 'payload-build-'))\n createdDirs.push(dir)\n for (const file of files) {\n const full = path.join(dir, file.path)\n mkdirSync(path.dirname(full), { recursive: true })\n writeFileSync(full, file.contents ?? '')\n }\n return dir\n }\n\n const pkg = (deps: Record<string, string>): string => JSON.stringify({ dependencies: deps })\n\n beforeEach(() => {\n originalFrameworkEnv = process.env.PAYLOAD_FRAMEWORK\n delete process.env.PAYLOAD_FRAMEWORK\n })\n\n afterEach(() => {\n if (originalFrameworkEnv === undefined) {\n delete process.env.PAYLOAD_FRAMEWORK\n } else {\n process.env.PAYLOAD_FRAMEWORK = originalFrameworkEnv\n }\n for (const dir of createdDirs) {\n rmSync(dir, { force: true, recursive: true })\n }\n createdDirs.length = 0\n })\n\n it('honors PAYLOAD_FRAMEWORK=tanstack-start over auto-detection', () => {\n process.env.PAYLOAD_FRAMEWORK = 'tanstack-start'\n const dir = makeProject([{ contents: pkg({ next: '15.0.0' }), path: 'package.json' }])\n expect(detectFramework(dir)).toBe('tanstack-start')\n })\n\n it('honors PAYLOAD_FRAMEWORK=next over auto-detection', () => {\n process.env.PAYLOAD_FRAMEWORK = 'next'\n const dir = makeProject([\n { contents: pkg({ '@tanstack/react-start': '1.168.26' }), path: 'package.json' },\n ])\n expect(detectFramework(dir)).toBe('next')\n })\n\n it('throws when PAYLOAD_FRAMEWORK is an unsupported value', () => {\n process.env.PAYLOAD_FRAMEWORK = 'svelte'\n const dir = makeProject([{ contents: pkg({ next: '15.0.0' }), path: 'package.json' }])\n expect(() => detectFramework(dir)).toThrow(/PAYLOAD_FRAMEWORK/)\n })\n\n it('detects next from the next dependency', () => {\n const dir = makeProject([{ contents: pkg({ next: '15.0.0' }), path: 'package.json' }])\n expect(detectFramework(dir)).toBe('next')\n })\n\n it('detects tanstack-start from the @tanstack/react-start dependency', () => {\n const dir = makeProject([\n { contents: pkg({ '@tanstack/react-start': '1.168.26' }), path: 'package.json' },\n ])\n expect(detectFramework(dir)).toBe('tanstack-start')\n })\n\n it('falls back to next.config when deps are inconclusive', () => {\n const dir = makeProject([\n { contents: pkg({}), path: 'package.json' },\n { path: 'next.config.ts' },\n ])\n expect(detectFramework(dir)).toBe('next')\n })\n\n it('falls back to vite.config when deps are inconclusive', () => {\n const dir = makeProject([\n { contents: pkg({}), path: 'package.json' },\n { path: 'vite.config.ts' },\n ])\n expect(detectFramework(dir)).toBe('tanstack-start')\n })\n\n it('falls back to the (payload) folder convention', () => {\n const dir = makeProject([{ path: 'app/(payload)/admin/page.tsx' }])\n expect(detectFramework(dir)).toBe('next')\n })\n\n it('falls back to the _payload folder convention', () => {\n const dir = makeProject([{ path: 'app/_payload/route.tsx' }])\n expect(detectFramework(dir)).toBe('tanstack-start')\n })\n\n it('resolves ambiguous deps using the config-file layer', () => {\n const dir = makeProject([\n {\n contents: pkg({ '@tanstack/react-start': '1.168.26', next: '15.0.0' }),\n path: 'package.json',\n },\n { path: 'next.config.ts' },\n ])\n expect(detectFramework(dir)).toBe('next')\n })\n\n it('resolves ambiguous deps to tanstack-start via the config-file layer', () => {\n const dir = makeProject([\n {\n contents: pkg({ '@tanstack/react-start': '1.168.26', next: '15.0.0' }),\n path: 'package.json',\n },\n { path: 'vite.config.ts' },\n ])\n expect(detectFramework(dir)).toBe('tanstack-start')\n })\n\n it('resolves ambiguous deps and configs via the folder-convention layer', () => {\n const dir = makeProject([\n {\n contents: pkg({ '@tanstack/react-start': '1.168.26', next: '15.0.0' }),\n path: 'package.json',\n },\n { path: 'app/_payload/route.tsx' },\n ])\n expect(detectFramework(dir)).toBe('tanstack-start')\n })\n\n it('throws a no-framework error when nothing is detected', () => {\n const dir = makeProject([{ contents: pkg({}), path: 'package.json' }])\n expect(() => detectFramework(dir)).toThrow(/Could not determine your framework/)\n })\n\n it('throws a conflict error when signals stay ambiguous', () => {\n const dir = makeProject([\n {\n contents: pkg({ '@tanstack/react-start': '1.168.26', next: '15.0.0' }),\n path: 'package.json',\n },\n { path: 'next.config.ts' },\n { path: 'vite.config.ts' },\n ])\n expect(() => detectFramework(dir)).toThrow(/conflicting signals/)\n })\n})\n"],"names":["existsSync","mkdirSync","mkdtempSync","realpathSync","rmSync","writeFileSync","os","path","describe","expect","it","vi","beforeEach","afterEach","spawnMock","fn","on","event","cb","generateImportMapMock","generateTypesMock","mock","spawn","generateImportMap","generateTypes","build","detectFramework","getForwardedArgs","resolveBuildCommand","resolveNextBin","resolveViteBin","fakeConfig","toEqual","binPath","process","cwd","toMatch","toBe","toThrow","resetModules","doMock","importOriginal","actual","createRequire","resolve","Error","resolveViteBinWithoutVite","doUnmock","args","bin","forwardedArgs","framework","binFixtureDirs","makeProjectWithPackage","binField","binRelPath","packageName","root","join","tmpdir","push","JSON","stringify","name","pkgDir","recursive","version","binFull","dirname","dir","force","length","next","vite","undefined","exitMock","originalArgv","originalFrameworkEnv","cwdSpy","buildTempDirs","mockClear","argv","spyOn","mockImplementation","env","PAYLOAD_FRAMEWORK","mockRestore","config","toHaveBeenCalledTimes","invocationCallOrder","toBeLessThan","not","toHaveBeenCalled","mockRejectedValueOnce","toHaveBeenCalledWith","exitCb","mockReturnValueOnce","buildPromise","waitFor","execPath","spawnArgs","opts","calls","toContain","stdio","resolved","then","toBeDefined","Promise","r","setTimeout","tanstackDir","dependencies","mockReturnValue","slice","emptyDir","createdDirs","makeProject","files","file","full","contents","pkg","deps"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Folder-name markers that distinguish the supported framework conventions.
3
+ * Shared between import-map resolution and `payload build` framework detection so
4
+ * the two cannot drift.
5
+ */
6
+ export declare const NEXT_PAYLOAD_ROUTE_GROUP = "(payload)";
7
+ export declare const TANSTACK_PAYLOAD_DIR = "_payload";
8
+ //# sourceMappingURL=frameworkConventions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frameworkConventions.d.ts","sourceRoot":"","sources":["../../src/bin/frameworkConventions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,cAAc,CAAA;AACnD,eAAO,MAAM,oBAAoB,aAAa,CAAA"}