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
@@ -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
+ */ export const NEXT_PAYLOAD_ROUTE_GROUP = '(payload)';
6
+ export const TANSTACK_PAYLOAD_DIR = '_payload';
7
+
8
+ //# sourceMappingURL=frameworkConventions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/bin/frameworkConventions.ts"],"sourcesContent":["/**\n * Folder-name markers that distinguish the supported framework conventions.\n * Shared between import-map resolution and `payload build` framework detection so\n * the two cannot drift.\n */\nexport const NEXT_PAYLOAD_ROUTE_GROUP = '(payload)'\nexport const TANSTACK_PAYLOAD_DIR = '_payload'\n"],"names":["NEXT_PAYLOAD_ROUTE_GROUP","TANSTACK_PAYLOAD_DIR"],"mappings":"AAAA;;;;CAIC,GACD,OAAO,MAAMA,2BAA2B,YAAW;AACnD,OAAO,MAAMC,uBAAuB,WAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bin/generateImportMap/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAO9E,KAAK,gBAAgB,GAAG,MAAM,CAAA;AAC9B,KAAK,eAAe,GAAG,MAAM,CAAA;AAC7B,KAAK,UAAU,GAAG,MAAM,CAAA;AACxB,KAAK,cAAc,GAAG,MAAM,CAAA;AAE5B;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,CAAC,IAAI,EAAE,cAAc,GAAG,gBAAgB,CAAA;CACzC,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,CAAC,UAAU,EAAE,gBAAgB,GAAG;QAC9B,IAAI,EAAE,UAAU,CAAA;QAChB,SAAS,EAAE,eAAe,CAAA;KAC3B,CAAA;CACF,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,CAAC,IAAI,EAAE,cAAc,GAAG,GAAG,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,KAAK,IAAI,CAAA;AAE/F,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,eAAe,EACvB,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,OAAO,CAAA,CAAC;;;OAGb;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,GAAG,EAAE,OAAO,CAAA;CACb,GACA,OAAO,CAAC,IAAI,CAAC,CA8Ef;AAED,wBAAsB,cAAc,CAAC,EACnC,YAAY,EACZ,KAAK,EACL,SAAS,EACT,iBAAiB,EACjB,GAAG,GACJ,EAAE;IACD,YAAY,EAAE,iBAAiB,CAAA;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,SAAS,EAAE,OAAO,CAAA;IAClB,iBAAiB,EAAE,MAAM,CAAA;IACzB,GAAG,CAAC,EAAE,OAAO,CAAA;CACd,iBAoCA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bin/generateImportMap/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAQ9E,KAAK,gBAAgB,GAAG,MAAM,CAAA;AAC9B,KAAK,eAAe,GAAG,MAAM,CAAA;AAC7B,KAAK,UAAU,GAAG,MAAM,CAAA;AACxB,KAAK,cAAc,GAAG,MAAM,CAAA;AAE5B;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,CAAC,IAAI,EAAE,cAAc,GAAG,gBAAgB,CAAA;CACzC,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,CAAC,UAAU,EAAE,gBAAgB,GAAG;QAC9B,IAAI,EAAE,UAAU,CAAA;QAChB,SAAS,EAAE,eAAe,CAAA;KAC3B,CAAA;CACF,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,CAAC,IAAI,EAAE,cAAc,GAAG,GAAG,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,KAAK,IAAI,CAAA;AAE/F,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,eAAe,EACvB,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,OAAO,CAAA,CAAC;;;OAGb;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,GAAG,EAAE,OAAO,CAAA;CACb,GACA,OAAO,CAAC,IAAI,CAAC,CA+Ef;AAED,wBAAsB,cAAc,CAAC,EACnC,YAAY,EACZ,KAAK,EACL,SAAS,EACT,iBAAiB,EACjB,GAAG,GACJ,EAAE;IACD,YAAY,EAAE,iBAAiB,CAAA;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,SAAS,EAAE,OAAO,CAAA;IAClB,iBAAiB,EAAE,MAAM,CAAA;IACzB,GAAG,CAAC,EAAE,OAAO,CAAA;CACd,iBAqCA"}
@@ -1,13 +1,15 @@
1
- /* eslint-disable no-console */ import fs from 'fs/promises';
1
+ import fs from 'fs/promises';
2
2
  import process from 'node:process';
3
+ import { getLogger } from '../../utilities/logger.js';
3
4
  import { iterateConfig } from './iterateConfig.js';
4
5
  import { addPayloadComponentToImportMap } from './utilities/addPayloadComponentToImportMap.js';
5
6
  import { getImportMapToBaseDirPath } from './utilities/getImportMapToBaseDirPath.js';
6
7
  import { resolveImportMapFilePath } from './utilities/resolveImportMapFilePath.js';
7
8
  export async function generateImportMap(config, options) {
9
+ const logger = getLogger('payload', 'sync');
8
10
  const shouldLog = options?.log ?? true;
9
11
  if (shouldLog) {
10
- console.log('Generating import map');
12
+ logger.info('Generating import map');
11
13
  }
12
14
  const importMap = {};
13
15
  const imports = {};
@@ -35,7 +37,7 @@ export async function generateImportMap(config, options) {
35
37
  return;
36
38
  }
37
39
  if (typeof payloadComponent !== 'object' && typeof payloadComponent !== 'string') {
38
- console.error(payloadComponent);
40
+ logger.error(payloadComponent);
39
41
  throw new Error('addToImportMap > Payload component must be an object or a string');
40
42
  }
41
43
  if (Array.isArray(payloadComponent)) {
@@ -72,6 +74,7 @@ export async function generateImportMap(config, options) {
72
74
  });
73
75
  }
74
76
  export async function writeImportMap({ componentMap, force, importMap, importMapFilePath, log }) {
77
+ const logger = getLogger('payload', 'sync');
75
78
  const imports = [];
76
79
  for (const [identifier, { path, specifier }] of Object.entries(importMap)){
77
80
  imports.push(`import { ${specifier} as ${identifier} } from '${path}'`);
@@ -92,13 +95,13 @@ ${mapKeys.join(',\n')}
92
95
  const currentImportMap = await fs.readFile(importMapFilePath, 'utf-8');
93
96
  if (currentImportMap?.trim() === importMapOutputFile?.trim()) {
94
97
  if (log) {
95
- console.log('No new imports found, skipping writing import map');
98
+ logger.info('No new imports found, skipping writing import map');
96
99
  }
97
100
  return;
98
101
  }
99
102
  }
100
103
  if (log) {
101
- console.log('Writing import map to', importMapFilePath);
104
+ logger.info(`Writing import map to ${importMapFilePath}`);
102
105
  }
103
106
  await fs.writeFile(importMapFilePath, importMapOutputFile);
104
107
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/bin/generateImportMap/index.ts"],"sourcesContent":["/* eslint-disable no-console */\nimport fs from 'fs/promises'\nimport process from 'node:process'\n\nimport type { PayloadComponent, SanitizedConfig } from '../../config/types.js'\n\nimport { iterateConfig } from './iterateConfig.js'\nimport { addPayloadComponentToImportMap } from './utilities/addPayloadComponentToImportMap.js'\nimport { getImportMapToBaseDirPath } from './utilities/getImportMapToBaseDirPath.js'\nimport { resolveImportMapFilePath } from './utilities/resolveImportMapFilePath.js'\n\ntype ImportIdentifier = string\ntype ImportSpecifier = string\ntype ImportPath = string\ntype UserImportPath = string\n\n/**\n * Import Map before being written to the file. Only contains all paths\n */\nexport type InternalImportMap = {\n [path: UserImportPath]: ImportIdentifier\n}\n\n/**\n * Imports of the import map.\n */\nexport type Imports = {\n [identifier: ImportIdentifier]: {\n path: ImportPath\n specifier: ImportSpecifier\n }\n}\n\n/**\n * Import Map after being imported from the actual import map. Contains all the actual imported components\n */\nexport type ImportMap = {\n [path: UserImportPath]: any\n}\n\nexport type AddToImportMap = (payloadComponent?: PayloadComponent | PayloadComponent[]) => void\n\nexport async function generateImportMap(\n config: SanitizedConfig,\n options?: {\n force?: boolean /**\n * If true, will not throw an error if the import map file path cannot be resolved\n Instead, it will return silently.\n */\n ignoreResolveError?: boolean\n log: boolean\n },\n): Promise<void> {\n const shouldLog = options?.log ?? true\n\n if (shouldLog) {\n console.log('Generating import map')\n }\n\n const importMap: InternalImportMap = {}\n const imports: Imports = {}\n\n // Determine the root directory of the project - usually the directory where the src or app folder is located\n const rootDir = process.env.ROOT_DIR ?? process.cwd()\n\n const baseDir = config.admin.importMap.baseDir ?? process.cwd()\n\n const importMapFilePath = await resolveImportMapFilePath({\n adminRoute: config.routes.admin,\n importMapFile: config?.admin?.importMap?.importMapFile,\n rootDir,\n })\n\n if (importMapFilePath instanceof Error) {\n if (options?.ignoreResolveError) {\n return\n } else {\n throw importMapFilePath\n }\n }\n\n const importMapToBaseDirPath = getImportMapToBaseDirPath({\n baseDir,\n importMapPath: importMapFilePath,\n })\n\n const addToImportMap: AddToImportMap = (payloadComponent) => {\n if (!payloadComponent) {\n return\n }\n\n if (typeof payloadComponent !== 'object' && typeof payloadComponent !== 'string') {\n console.error(payloadComponent)\n throw new Error('addToImportMap > Payload component must be an object or a string')\n }\n\n if (Array.isArray(payloadComponent)) {\n for (const component of payloadComponent) {\n addPayloadComponentToImportMap({\n importMap,\n importMapToBaseDirPath,\n imports,\n payloadComponent: component,\n })\n }\n } else {\n addPayloadComponentToImportMap({\n importMap,\n importMapToBaseDirPath,\n imports,\n payloadComponent,\n })\n }\n }\n\n iterateConfig({\n addToImportMap,\n baseDir: config.admin.importMap.baseDir,\n config,\n importMap,\n imports,\n })\n\n await writeImportMap({\n componentMap: importMap,\n force: options?.force,\n importMap: imports,\n importMapFilePath,\n log: shouldLog,\n })\n}\n\nexport async function writeImportMap({\n componentMap,\n force,\n importMap,\n importMapFilePath,\n log,\n}: {\n componentMap: InternalImportMap\n force?: boolean\n importMap: Imports\n importMapFilePath: string\n log?: boolean\n}) {\n const imports: string[] = []\n for (const [identifier, { path, specifier }] of Object.entries(importMap)) {\n imports.push(`import { ${specifier} as ${identifier} } from '${path}'`)\n }\n\n const mapKeys: string[] = []\n for (const [userPath, identifier] of Object.entries(componentMap)) {\n mapKeys.push(` \"${userPath}\": ${identifier}`)\n }\n\n const importMapOutputFile = `${imports.join('\\n')}\n\n/** @type import('payload').ImportMap */\nexport const importMap = {\n${mapKeys.join(',\\n')}\n}\n`\n\n if (!force) {\n // Read current import map and check in the IMPORTS if there are any new imports. If not, don't write the file.\n const currentImportMap = await fs.readFile(importMapFilePath, 'utf-8')\n\n if (currentImportMap?.trim() === importMapOutputFile?.trim()) {\n if (log) {\n console.log('No new imports found, skipping writing import map')\n }\n return\n }\n }\n\n if (log) {\n console.log('Writing import map to', importMapFilePath)\n }\n\n await fs.writeFile(importMapFilePath, importMapOutputFile)\n}\n"],"names":["fs","process","iterateConfig","addPayloadComponentToImportMap","getImportMapToBaseDirPath","resolveImportMapFilePath","generateImportMap","config","options","shouldLog","log","console","importMap","imports","rootDir","env","ROOT_DIR","cwd","baseDir","admin","importMapFilePath","adminRoute","routes","importMapFile","Error","ignoreResolveError","importMapToBaseDirPath","importMapPath","addToImportMap","payloadComponent","error","Array","isArray","component","writeImportMap","componentMap","force","identifier","path","specifier","Object","entries","push","mapKeys","userPath","importMapOutputFile","join","currentImportMap","readFile","trim","writeFile"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/bin/generateImportMap/index.ts"],"sourcesContent":["import fs from 'fs/promises'\nimport process from 'node:process'\n\nimport type { PayloadComponent, SanitizedConfig } from '../../config/types.js'\n\nimport { getLogger } from '../../utilities/logger.js'\nimport { iterateConfig } from './iterateConfig.js'\nimport { addPayloadComponentToImportMap } from './utilities/addPayloadComponentToImportMap.js'\nimport { getImportMapToBaseDirPath } from './utilities/getImportMapToBaseDirPath.js'\nimport { resolveImportMapFilePath } from './utilities/resolveImportMapFilePath.js'\n\ntype ImportIdentifier = string\ntype ImportSpecifier = string\ntype ImportPath = string\ntype UserImportPath = string\n\n/**\n * Import Map before being written to the file. Only contains all paths\n */\nexport type InternalImportMap = {\n [path: UserImportPath]: ImportIdentifier\n}\n\n/**\n * Imports of the import map.\n */\nexport type Imports = {\n [identifier: ImportIdentifier]: {\n path: ImportPath\n specifier: ImportSpecifier\n }\n}\n\n/**\n * Import Map after being imported from the actual import map. Contains all the actual imported components\n */\nexport type ImportMap = {\n [path: UserImportPath]: any\n}\n\nexport type AddToImportMap = (payloadComponent?: PayloadComponent | PayloadComponent[]) => void\n\nexport async function generateImportMap(\n config: SanitizedConfig,\n options?: {\n force?: boolean /**\n * If true, will not throw an error if the import map file path cannot be resolved\n Instead, it will return silently.\n */\n ignoreResolveError?: boolean\n log: boolean\n },\n): Promise<void> {\n const logger = getLogger('payload', 'sync')\n const shouldLog = options?.log ?? true\n\n if (shouldLog) {\n logger.info('Generating import map')\n }\n\n const importMap: InternalImportMap = {}\n const imports: Imports = {}\n\n // Determine the root directory of the project - usually the directory where the src or app folder is located\n const rootDir = process.env.ROOT_DIR ?? process.cwd()\n\n const baseDir = config.admin.importMap.baseDir ?? process.cwd()\n\n const importMapFilePath = await resolveImportMapFilePath({\n adminRoute: config.routes.admin,\n importMapFile: config?.admin?.importMap?.importMapFile,\n rootDir,\n })\n\n if (importMapFilePath instanceof Error) {\n if (options?.ignoreResolveError) {\n return\n } else {\n throw importMapFilePath\n }\n }\n\n const importMapToBaseDirPath = getImportMapToBaseDirPath({\n baseDir,\n importMapPath: importMapFilePath,\n })\n\n const addToImportMap: AddToImportMap = (payloadComponent) => {\n if (!payloadComponent) {\n return\n }\n\n if (typeof payloadComponent !== 'object' && typeof payloadComponent !== 'string') {\n logger.error(payloadComponent)\n throw new Error('addToImportMap > Payload component must be an object or a string')\n }\n\n if (Array.isArray(payloadComponent)) {\n for (const component of payloadComponent) {\n addPayloadComponentToImportMap({\n importMap,\n importMapToBaseDirPath,\n imports,\n payloadComponent: component,\n })\n }\n } else {\n addPayloadComponentToImportMap({\n importMap,\n importMapToBaseDirPath,\n imports,\n payloadComponent,\n })\n }\n }\n\n iterateConfig({\n addToImportMap,\n baseDir: config.admin.importMap.baseDir,\n config,\n importMap,\n imports,\n })\n\n await writeImportMap({\n componentMap: importMap,\n force: options?.force,\n importMap: imports,\n importMapFilePath,\n log: shouldLog,\n })\n}\n\nexport async function writeImportMap({\n componentMap,\n force,\n importMap,\n importMapFilePath,\n log,\n}: {\n componentMap: InternalImportMap\n force?: boolean\n importMap: Imports\n importMapFilePath: string\n log?: boolean\n}) {\n const logger = getLogger('payload', 'sync')\n const imports: string[] = []\n for (const [identifier, { path, specifier }] of Object.entries(importMap)) {\n imports.push(`import { ${specifier} as ${identifier} } from '${path}'`)\n }\n\n const mapKeys: string[] = []\n for (const [userPath, identifier] of Object.entries(componentMap)) {\n mapKeys.push(` \"${userPath}\": ${identifier}`)\n }\n\n const importMapOutputFile = `${imports.join('\\n')}\n\n/** @type import('payload').ImportMap */\nexport const importMap = {\n${mapKeys.join(',\\n')}\n}\n`\n\n if (!force) {\n // Read current import map and check in the IMPORTS if there are any new imports. If not, don't write the file.\n const currentImportMap = await fs.readFile(importMapFilePath, 'utf-8')\n\n if (currentImportMap?.trim() === importMapOutputFile?.trim()) {\n if (log) {\n logger.info('No new imports found, skipping writing import map')\n }\n return\n }\n }\n\n if (log) {\n logger.info(`Writing import map to ${importMapFilePath}`)\n }\n\n await fs.writeFile(importMapFilePath, importMapOutputFile)\n}\n"],"names":["fs","process","getLogger","iterateConfig","addPayloadComponentToImportMap","getImportMapToBaseDirPath","resolveImportMapFilePath","generateImportMap","config","options","logger","shouldLog","log","info","importMap","imports","rootDir","env","ROOT_DIR","cwd","baseDir","admin","importMapFilePath","adminRoute","routes","importMapFile","Error","ignoreResolveError","importMapToBaseDirPath","importMapPath","addToImportMap","payloadComponent","error","Array","isArray","component","writeImportMap","componentMap","force","identifier","path","specifier","Object","entries","push","mapKeys","userPath","importMapOutputFile","join","currentImportMap","readFile","trim","writeFile"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"iterateCollections.d.ts","sourceRoot":"","sources":["../../../src/bin/generateImportMap/iterateCollections.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAClF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAI5E,wBAAgB,kBAAkB,CAAC,EACjC,cAAc,EACd,OAAO,EACP,WAAW,EACX,MAAM,EACN,SAAS,EACT,OAAO,GACR,EAAE;IACD,cAAc,EAAE,cAAc,CAAA;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,yBAAyB,EAAE,CAAA;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,SAAS,EAAE,iBAAiB,CAAA;IAC5B,OAAO,EAAE,OAAO,CAAA;CACjB,QAiEA"}
1
+ {"version":3,"file":"iterateCollections.d.ts","sourceRoot":"","sources":["../../../src/bin/generateImportMap/iterateCollections.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAClF,OAAO,KAAK,EAAoB,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAI5E,wBAAgB,kBAAkB,CAAC,EACjC,cAAc,EACd,OAAO,EACP,WAAW,EACX,MAAM,EACN,SAAS,EACT,OAAO,GACR,EAAE;IACD,cAAc,EAAE,cAAc,CAAA;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,yBAAyB,EAAE,CAAA;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,SAAS,EAAE,iBAAiB,CAAA;IAC5B,OAAO,EAAE,OAAO,CAAA;CACjB,QAgFA"}
@@ -28,6 +28,16 @@ export function iterateCollections({ addToImportMap, baseDir, collections, confi
28
28
  if (collection.upload?.admin?.components?.controls) {
29
29
  addToImportMap(collection.upload?.admin?.components?.controls);
30
30
  }
31
+ const filePreview = collection.upload?.admin?.components?.filePreview;
32
+ if (filePreview) {
33
+ if (typeof filePreview === 'string' || typeof filePreview === 'object' && 'path' in filePreview) {
34
+ addToImportMap(filePreview);
35
+ } else {
36
+ for (const component of Object.values(filePreview)){
37
+ addToImportMap(component);
38
+ }
39
+ }
40
+ }
31
41
  if (collection.admin?.components?.views?.edit) {
32
42
  for (const editViewConfig of Object.values(collection.admin?.components?.views?.edit)){
33
43
  if ('Component' in editViewConfig) {
@@ -44,6 +54,7 @@ export function iterateCollections({ addToImportMap, baseDir, collections, confi
44
54
  }
45
55
  addToImportMap(collection.admin?.components?.views?.list?.Component);
46
56
  addToImportMap(collection.admin?.components?.views?.list?.actions);
57
+ addToImportMap(collection.admin?.components?.views?.list?.NoResults);
47
58
  // Register custom collection view components (any key other than 'edit' and 'list')
48
59
  if (collection.admin?.components?.views) {
49
60
  for (const [key, view] of Object.entries(collection.admin.components.views)){
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/bin/generateImportMap/iterateCollections.ts"],"sourcesContent":["import type { AdminViewConfig } from '../../admin/views/index.js'\nimport type { SanitizedCollectionConfig } from '../../collections/config/types.js'\nimport type { SanitizedConfig } from '../../config/types.js'\nimport type { AddToImportMap, Imports, InternalImportMap } from './index.js'\n\nimport { genImportMapIterateFields } from './iterateFields.js'\n\nexport function iterateCollections({\n addToImportMap,\n baseDir,\n collections,\n config,\n importMap,\n imports,\n}: {\n addToImportMap: AddToImportMap\n baseDir: string\n collections: SanitizedCollectionConfig[]\n config: SanitizedConfig\n importMap: InternalImportMap\n imports: Imports\n}) {\n for (const collection of collections) {\n genImportMapIterateFields({\n addToImportMap,\n baseDir,\n config,\n fields: collection.fields,\n importMap,\n imports,\n })\n\n addToImportMap(collection.admin?.components?.afterList)\n addToImportMap(collection.admin?.components?.listMenuItems)\n addToImportMap(collection.admin?.components?.afterListTable)\n addToImportMap(collection.admin?.components?.beforeList)\n addToImportMap(collection.admin?.components?.beforeListTable)\n addToImportMap(collection.admin?.components?.Description)\n\n addToImportMap(collection.admin?.components?.edit?.beforeDocumentControls)\n addToImportMap(collection.admin?.components?.edit?.BeforeDocumentMeta)\n addToImportMap(collection.admin?.components?.edit?.editMenuItems)\n addToImportMap(collection.admin?.components?.edit?.PreviewButton)\n addToImportMap(collection.admin?.components?.edit?.PublishButton)\n addToImportMap(collection.admin?.components?.edit?.SaveButton)\n addToImportMap(collection.admin?.components?.edit?.SaveDraftButton)\n addToImportMap(collection.admin?.components?.edit?.Status)\n addToImportMap(collection.admin?.components?.edit?.UnpublishButton)\n addToImportMap(collection.admin?.components?.edit?.Upload)\n\n if (collection.upload?.admin?.components?.controls) {\n addToImportMap(collection.upload?.admin?.components?.controls)\n }\n\n if (collection.admin?.components?.views?.edit) {\n for (const editViewConfig of Object.values(collection.admin?.components?.views?.edit)) {\n if ('Component' in editViewConfig) {\n addToImportMap(editViewConfig?.Component)\n }\n\n if ('actions' in editViewConfig) {\n addToImportMap(editViewConfig?.actions)\n }\n\n if ('tab' in editViewConfig) {\n addToImportMap(editViewConfig?.tab?.Component)\n addToImportMap(editViewConfig?.tab?.Pill)\n }\n }\n }\n\n addToImportMap(collection.admin?.components?.views?.list?.Component)\n addToImportMap(collection.admin?.components?.views?.list?.actions)\n\n // Register custom collection view components (any key other than 'edit' and 'list')\n if (collection.admin?.components?.views) {\n for (const [key, view] of Object.entries(collection.admin.components.views)) {\n if (key === 'edit' || key === 'list') {\n continue\n }\n if (view && typeof view === 'object' && 'Component' in view && 'path' in view) {\n addToImportMap((view as AdminViewConfig).Component)\n }\n }\n }\n }\n}\n"],"names":["genImportMapIterateFields","iterateCollections","addToImportMap","baseDir","collections","config","importMap","imports","collection","fields","admin","components","afterList","listMenuItems","afterListTable","beforeList","beforeListTable","Description","edit","beforeDocumentControls","BeforeDocumentMeta","editMenuItems","PreviewButton","PublishButton","SaveButton","SaveDraftButton","Status","UnpublishButton","Upload","upload","controls","views","editViewConfig","Object","values","Component","actions","tab","Pill","list","key","view","entries"],"mappings":"AAKA,SAASA,yBAAyB,QAAQ,qBAAoB;AAE9D,OAAO,SAASC,mBAAmB,EACjCC,cAAc,EACdC,OAAO,EACPC,WAAW,EACXC,MAAM,EACNC,SAAS,EACTC,OAAO,EAQR;IACC,KAAK,MAAMC,cAAcJ,YAAa;QACpCJ,0BAA0B;YACxBE;YACAC;YACAE;YACAI,QAAQD,WAAWC,MAAM;YACzBH;YACAC;QACF;QAEAL,eAAeM,WAAWE,KAAK,EAAEC,YAAYC;QAC7CV,eAAeM,WAAWE,KAAK,EAAEC,YAAYE;QAC7CX,eAAeM,WAAWE,KAAK,EAAEC,YAAYG;QAC7CZ,eAAeM,WAAWE,KAAK,EAAEC,YAAYI;QAC7Cb,eAAeM,WAAWE,KAAK,EAAEC,YAAYK;QAC7Cd,eAAeM,WAAWE,KAAK,EAAEC,YAAYM;QAE7Cf,eAAeM,WAAWE,KAAK,EAAEC,YAAYO,MAAMC;QACnDjB,eAAeM,WAAWE,KAAK,EAAEC,YAAYO,MAAME;QACnDlB,eAAeM,WAAWE,KAAK,EAAEC,YAAYO,MAAMG;QACnDnB,eAAeM,WAAWE,KAAK,EAAEC,YAAYO,MAAMI;QACnDpB,eAAeM,WAAWE,KAAK,EAAEC,YAAYO,MAAMK;QACnDrB,eAAeM,WAAWE,KAAK,EAAEC,YAAYO,MAAMM;QACnDtB,eAAeM,WAAWE,KAAK,EAAEC,YAAYO,MAAMO;QACnDvB,eAAeM,WAAWE,KAAK,EAAEC,YAAYO,MAAMQ;QACnDxB,eAAeM,WAAWE,KAAK,EAAEC,YAAYO,MAAMS;QACnDzB,eAAeM,WAAWE,KAAK,EAAEC,YAAYO,MAAMU;QAEnD,IAAIpB,WAAWqB,MAAM,EAAEnB,OAAOC,YAAYmB,UAAU;YAClD5B,eAAeM,WAAWqB,MAAM,EAAEnB,OAAOC,YAAYmB;QACvD;QAEA,IAAItB,WAAWE,KAAK,EAAEC,YAAYoB,OAAOb,MAAM;YAC7C,KAAK,MAAMc,kBAAkBC,OAAOC,MAAM,CAAC1B,WAAWE,KAAK,EAAEC,YAAYoB,OAAOb,MAAO;gBACrF,IAAI,eAAec,gBAAgB;oBACjC9B,eAAe8B,gBAAgBG;gBACjC;gBAEA,IAAI,aAAaH,gBAAgB;oBAC/B9B,eAAe8B,gBAAgBI;gBACjC;gBAEA,IAAI,SAASJ,gBAAgB;oBAC3B9B,eAAe8B,gBAAgBK,KAAKF;oBACpCjC,eAAe8B,gBAAgBK,KAAKC;gBACtC;YACF;QACF;QAEApC,eAAeM,WAAWE,KAAK,EAAEC,YAAYoB,OAAOQ,MAAMJ;QAC1DjC,eAAeM,WAAWE,KAAK,EAAEC,YAAYoB,OAAOQ,MAAMH;QAE1D,oFAAoF;QACpF,IAAI5B,WAAWE,KAAK,EAAEC,YAAYoB,OAAO;YACvC,KAAK,MAAM,CAACS,KAAKC,KAAK,IAAIR,OAAOS,OAAO,CAAClC,WAAWE,KAAK,CAACC,UAAU,CAACoB,KAAK,EAAG;gBAC3E,IAAIS,QAAQ,UAAUA,QAAQ,QAAQ;oBACpC;gBACF;gBACA,IAAIC,QAAQ,OAAOA,SAAS,YAAY,eAAeA,QAAQ,UAAUA,MAAM;oBAC7EvC,eAAe,AAACuC,KAAyBN,SAAS;gBACpD;YACF;QACF;IACF;AACF"}
1
+ {"version":3,"sources":["../../../src/bin/generateImportMap/iterateCollections.ts"],"sourcesContent":["import type { AdminViewConfig } from '../../admin/views/index.js'\nimport type { SanitizedCollectionConfig } from '../../collections/config/types.js'\nimport type { PayloadComponent, SanitizedConfig } from '../../config/types.js'\nimport type { AddToImportMap, Imports, InternalImportMap } from './index.js'\n\nimport { genImportMapIterateFields } from './iterateFields.js'\n\nexport function iterateCollections({\n addToImportMap,\n baseDir,\n collections,\n config,\n importMap,\n imports,\n}: {\n addToImportMap: AddToImportMap\n baseDir: string\n collections: SanitizedCollectionConfig[]\n config: SanitizedConfig\n importMap: InternalImportMap\n imports: Imports\n}) {\n for (const collection of collections) {\n genImportMapIterateFields({\n addToImportMap,\n baseDir,\n config,\n fields: collection.fields,\n importMap,\n imports,\n })\n\n addToImportMap(collection.admin?.components?.afterList)\n addToImportMap(collection.admin?.components?.listMenuItems)\n addToImportMap(collection.admin?.components?.afterListTable)\n addToImportMap(collection.admin?.components?.beforeList)\n addToImportMap(collection.admin?.components?.beforeListTable)\n addToImportMap(collection.admin?.components?.Description)\n\n addToImportMap(collection.admin?.components?.edit?.beforeDocumentControls)\n addToImportMap(collection.admin?.components?.edit?.BeforeDocumentMeta)\n addToImportMap(collection.admin?.components?.edit?.editMenuItems)\n addToImportMap(collection.admin?.components?.edit?.PreviewButton)\n addToImportMap(collection.admin?.components?.edit?.PublishButton)\n addToImportMap(collection.admin?.components?.edit?.SaveButton)\n addToImportMap(collection.admin?.components?.edit?.SaveDraftButton)\n addToImportMap(collection.admin?.components?.edit?.Status)\n addToImportMap(collection.admin?.components?.edit?.UnpublishButton)\n addToImportMap(collection.admin?.components?.edit?.Upload)\n\n if (collection.upload?.admin?.components?.controls) {\n addToImportMap(collection.upload?.admin?.components?.controls)\n }\n\n const filePreview = collection.upload?.admin?.components?.filePreview\n if (filePreview) {\n if (\n typeof filePreview === 'string' ||\n (typeof filePreview === 'object' && 'path' in filePreview)\n ) {\n addToImportMap(filePreview as PayloadComponent)\n } else {\n for (const component of Object.values(filePreview as Record<string, PayloadComponent>)) {\n addToImportMap(component)\n }\n }\n }\n\n if (collection.admin?.components?.views?.edit) {\n for (const editViewConfig of Object.values(collection.admin?.components?.views?.edit)) {\n if ('Component' in editViewConfig) {\n addToImportMap(editViewConfig?.Component)\n }\n\n if ('actions' in editViewConfig) {\n addToImportMap(editViewConfig?.actions)\n }\n\n if ('tab' in editViewConfig) {\n addToImportMap(editViewConfig?.tab?.Component)\n addToImportMap(editViewConfig?.tab?.Pill)\n }\n }\n }\n\n addToImportMap(collection.admin?.components?.views?.list?.Component)\n addToImportMap(collection.admin?.components?.views?.list?.actions)\n addToImportMap(collection.admin?.components?.views?.list?.NoResults)\n\n // Register custom collection view components (any key other than 'edit' and 'list')\n if (collection.admin?.components?.views) {\n for (const [key, view] of Object.entries(collection.admin.components.views)) {\n if (key === 'edit' || key === 'list') {\n continue\n }\n if (view && typeof view === 'object' && 'Component' in view && 'path' in view) {\n addToImportMap((view as AdminViewConfig).Component)\n }\n }\n }\n }\n}\n"],"names":["genImportMapIterateFields","iterateCollections","addToImportMap","baseDir","collections","config","importMap","imports","collection","fields","admin","components","afterList","listMenuItems","afterListTable","beforeList","beforeListTable","Description","edit","beforeDocumentControls","BeforeDocumentMeta","editMenuItems","PreviewButton","PublishButton","SaveButton","SaveDraftButton","Status","UnpublishButton","Upload","upload","controls","filePreview","component","Object","values","views","editViewConfig","Component","actions","tab","Pill","list","NoResults","key","view","entries"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"iterateConfig.d.ts","sourceRoot":"","sources":["../../../src/bin/generateImportMap/iterateConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAM5E,wBAAgB,aAAa,CAAC,EAC5B,cAAc,EACd,OAAO,EACP,MAAM,EACN,SAAS,EACT,OAAO,GACR,EAAE;IACD,cAAc,EAAE,cAAc,CAAA;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,eAAe,CAAA;IACvB,SAAS,EAAE,iBAAiB,CAAA;IAC5B,OAAO,EAAE,OAAO,CAAA;CACjB,QA0HA"}
1
+ {"version":3,"file":"iterateConfig.d.ts","sourceRoot":"","sources":["../../../src/bin/generateImportMap/iterateConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAO5E,wBAAgB,aAAa,CAAC,EAC5B,cAAc,EACd,OAAO,EACP,MAAM,EACN,SAAS,EACT,OAAO,GACR,EAAE;IACD,cAAc,EAAE,cAAc,CAAA;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,eAAe,CAAA;IACvB,SAAS,EAAE,iBAAiB,CAAA;IAC5B,OAAO,EAAE,OAAO,CAAA;CACjB,QAqIA"}
@@ -1,3 +1,4 @@
1
+ import { isUserMenuSettingsGroup } from '../../config/types.js';
1
2
  import { iterateCollections } from './iterateCollections.js';
2
3
  import { genImportMapIterateFields } from './iterateFields.js';
3
4
  import { iterateGlobals } from './iterateGlobals.js';
@@ -38,6 +39,17 @@ export function iterateConfig({ addToImportMap, baseDir, config, importMap, impo
38
39
  addToImportMap(config.admin?.components?.header);
39
40
  addToImportMap(config.admin?.components?.logout?.Button);
40
41
  addToImportMap(config.admin?.components?.settingsMenu);
42
+ if (config.admin?.components?.userMenuSettingsItems?.length) {
43
+ for (const userMenuSettingsItem of config.admin.components.userMenuSettingsItems){
44
+ if (isUserMenuSettingsGroup(userMenuSettingsItem)) {
45
+ for (const groupedItem of userMenuSettingsItem.items){
46
+ addToImportMap(groupedItem);
47
+ }
48
+ } else {
49
+ addToImportMap(userMenuSettingsItem);
50
+ }
51
+ }
52
+ }
41
53
  addToImportMap(config.admin?.components?.graphics?.Icon);
42
54
  addToImportMap(config.admin?.components?.graphics?.Logo);
43
55
  addToImportMap(config.admin?.components?.actions);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/bin/generateImportMap/iterateConfig.ts"],"sourcesContent":["import type { SanitizedConfig } from '../../config/types.js'\nimport type { AddToImportMap, Imports, InternalImportMap } from './index.js'\n\nimport { iterateCollections } from './iterateCollections.js'\nimport { genImportMapIterateFields } from './iterateFields.js'\nimport { iterateGlobals } from './iterateGlobals.js'\n\nexport function iterateConfig({\n addToImportMap,\n baseDir,\n config,\n importMap,\n imports,\n}: {\n addToImportMap: AddToImportMap\n baseDir: string\n config: SanitizedConfig\n importMap: InternalImportMap\n imports: Imports\n}) {\n iterateCollections({\n addToImportMap,\n baseDir,\n collections: config.collections,\n config,\n importMap,\n imports,\n })\n\n iterateGlobals({\n addToImportMap,\n baseDir,\n config,\n globals: config.globals,\n importMap,\n imports,\n })\n\n if (config?.blocks) {\n const blocks = Object.values(config.blocks)\n if (blocks?.length) {\n genImportMapIterateFields({\n addToImportMap,\n baseDir,\n config,\n fields: blocks,\n importMap,\n imports,\n })\n }\n }\n\n if (typeof config.admin?.avatar === 'object') {\n addToImportMap(config.admin?.avatar?.Component)\n }\n\n addToImportMap(config.admin?.components?.Nav)\n addToImportMap(config.admin?.components?.header)\n addToImportMap(config.admin?.components?.logout?.Button)\n addToImportMap(config.admin?.components?.settingsMenu)\n addToImportMap(config.admin?.components?.graphics?.Icon)\n addToImportMap(config.admin?.components?.graphics?.Logo)\n\n addToImportMap(config.admin?.components?.actions)\n addToImportMap(config.admin?.components?.afterDashboard)\n addToImportMap(config.admin?.components?.afterLogin)\n addToImportMap(config.admin?.components?.afterNav)\n addToImportMap(config.admin?.components?.afterNavLinks)\n addToImportMap(config.admin?.components?.beforeDashboard)\n addToImportMap(config.admin?.components?.beforeLogin)\n addToImportMap(config.admin?.components?.beforeNav)\n addToImportMap(config.admin?.components?.beforeNavLinks)\n\n addToImportMap(config.admin?.components?.providers)\n\n // Sidebar tabs\n if (config.admin?.components?.sidebar?.tabs?.length) {\n for (const tab of config.admin.components.sidebar.tabs) {\n addToImportMap(tab.components.Icon)\n addToImportMap(tab.components.Content)\n }\n }\n\n if (config.admin?.components?.views) {\n if (Object.keys(config.admin?.components?.views)?.length) {\n for (const key in config.admin?.components?.views) {\n const adminViewConfig = config.admin?.components?.views[key]\n addToImportMap(adminViewConfig?.Component)\n }\n }\n }\n\n if (config.admin?.dashboard?.widgets?.length) {\n for (const dashboardWidget of config.admin.dashboard.widgets) {\n addToImportMap(dashboardWidget.Component)\n if (dashboardWidget.fields?.length) {\n genImportMapIterateFields({\n addToImportMap,\n baseDir,\n config,\n fields: dashboardWidget.fields,\n importMap,\n imports,\n })\n }\n }\n }\n\n if (config?.admin?.importMap?.generators?.length) {\n for (const generator of config.admin.importMap.generators) {\n generator({\n addToImportMap,\n baseDir,\n config,\n importMap,\n imports,\n })\n }\n }\n\n if (config?.admin?.dependencies) {\n for (const dependency of Object.values(config.admin.dependencies)) {\n addToImportMap(dependency.path)\n }\n }\n\n /*\n if (\n config?.editor &&\n typeof config.editor === 'object' &&\n config.editor.generateImportMap &&\n typeof config.editor.generateImportMap === 'function'\n ) {\n config.editor.generateImportMap({\n addToImportMap,\n baseDir,\n componentMap,\n config,\n importMap,\n })\n }*/ // No need to do that here since in the sanitized editor config, this root editor is already added to the field editor - and we already process that in iterateFields\n}\n"],"names":["iterateCollections","genImportMapIterateFields","iterateGlobals","iterateConfig","addToImportMap","baseDir","config","importMap","imports","collections","globals","blocks","Object","values","length","fields","admin","avatar","Component","components","Nav","header","logout","Button","settingsMenu","graphics","Icon","Logo","actions","afterDashboard","afterLogin","afterNav","afterNavLinks","beforeDashboard","beforeLogin","beforeNav","beforeNavLinks","providers","sidebar","tabs","tab","Content","views","keys","key","adminViewConfig","dashboard","widgets","dashboardWidget","generators","generator","dependencies","dependency","path"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/bin/generateImportMap/iterateConfig.ts"],"sourcesContent":["import type { SanitizedConfig } from '../../config/types.js'\nimport type { AddToImportMap, Imports, InternalImportMap } from './index.js'\n\nimport { isUserMenuSettingsGroup } from '../../config/types.js'\nimport { iterateCollections } from './iterateCollections.js'\nimport { genImportMapIterateFields } from './iterateFields.js'\nimport { iterateGlobals } from './iterateGlobals.js'\n\nexport function iterateConfig({\n addToImportMap,\n baseDir,\n config,\n importMap,\n imports,\n}: {\n addToImportMap: AddToImportMap\n baseDir: string\n config: SanitizedConfig\n importMap: InternalImportMap\n imports: Imports\n}) {\n iterateCollections({\n addToImportMap,\n baseDir,\n collections: config.collections,\n config,\n importMap,\n imports,\n })\n\n iterateGlobals({\n addToImportMap,\n baseDir,\n config,\n globals: config.globals,\n importMap,\n imports,\n })\n\n if (config?.blocks) {\n const blocks = Object.values(config.blocks)\n if (blocks?.length) {\n genImportMapIterateFields({\n addToImportMap,\n baseDir,\n config,\n fields: blocks,\n importMap,\n imports,\n })\n }\n }\n\n if (typeof config.admin?.avatar === 'object') {\n addToImportMap(config.admin?.avatar?.Component)\n }\n\n addToImportMap(config.admin?.components?.Nav)\n addToImportMap(config.admin?.components?.header)\n addToImportMap(config.admin?.components?.logout?.Button)\n addToImportMap(config.admin?.components?.settingsMenu)\n if (config.admin?.components?.userMenuSettingsItems?.length) {\n for (const userMenuSettingsItem of config.admin.components.userMenuSettingsItems) {\n if (isUserMenuSettingsGroup(userMenuSettingsItem)) {\n for (const groupedItem of userMenuSettingsItem.items) {\n addToImportMap(groupedItem)\n }\n } else {\n addToImportMap(userMenuSettingsItem)\n }\n }\n }\n addToImportMap(config.admin?.components?.graphics?.Icon)\n addToImportMap(config.admin?.components?.graphics?.Logo)\n\n addToImportMap(config.admin?.components?.actions)\n addToImportMap(config.admin?.components?.afterDashboard)\n addToImportMap(config.admin?.components?.afterLogin)\n addToImportMap(config.admin?.components?.afterNav)\n addToImportMap(config.admin?.components?.afterNavLinks)\n addToImportMap(config.admin?.components?.beforeDashboard)\n addToImportMap(config.admin?.components?.beforeLogin)\n addToImportMap(config.admin?.components?.beforeNav)\n addToImportMap(config.admin?.components?.beforeNavLinks)\n\n addToImportMap(config.admin?.components?.providers)\n\n // Sidebar tabs\n if (config.admin?.components?.sidebar?.tabs?.length) {\n for (const tab of config.admin.components.sidebar.tabs) {\n addToImportMap(tab.components.Icon)\n addToImportMap(tab.components.Content)\n }\n }\n\n if (config.admin?.components?.views) {\n if (Object.keys(config.admin?.components?.views)?.length) {\n for (const key in config.admin?.components?.views) {\n const adminViewConfig = config.admin?.components?.views[key]\n addToImportMap(adminViewConfig?.Component)\n }\n }\n }\n\n if (config.admin?.dashboard?.widgets?.length) {\n for (const dashboardWidget of config.admin.dashboard.widgets) {\n addToImportMap(dashboardWidget.Component)\n if (dashboardWidget.fields?.length) {\n genImportMapIterateFields({\n addToImportMap,\n baseDir,\n config,\n fields: dashboardWidget.fields,\n importMap,\n imports,\n })\n }\n }\n }\n\n if (config?.admin?.importMap?.generators?.length) {\n for (const generator of config.admin.importMap.generators) {\n generator({\n addToImportMap,\n baseDir,\n config,\n importMap,\n imports,\n })\n }\n }\n\n if (config?.admin?.dependencies) {\n for (const dependency of Object.values(config.admin.dependencies)) {\n addToImportMap(dependency.path)\n }\n }\n\n /*\n if (\n config?.editor &&\n typeof config.editor === 'object' &&\n config.editor.generateImportMap &&\n typeof config.editor.generateImportMap === 'function'\n ) {\n config.editor.generateImportMap({\n addToImportMap,\n baseDir,\n componentMap,\n config,\n importMap,\n })\n }*/ // No need to do that here since in the sanitized editor config, this root editor is already added to the field editor - and we already process that in iterateFields\n}\n"],"names":["isUserMenuSettingsGroup","iterateCollections","genImportMapIterateFields","iterateGlobals","iterateConfig","addToImportMap","baseDir","config","importMap","imports","collections","globals","blocks","Object","values","length","fields","admin","avatar","Component","components","Nav","header","logout","Button","settingsMenu","userMenuSettingsItems","userMenuSettingsItem","groupedItem","items","graphics","Icon","Logo","actions","afterDashboard","afterLogin","afterNav","afterNavLinks","beforeDashboard","beforeLogin","beforeNav","beforeNavLinks","providers","sidebar","tabs","tab","Content","views","keys","key","adminViewConfig","dashboard","widgets","dashboardWidget","generators","generator","dependencies","dependency","path"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"iterateFields.d.ts","sourceRoot":"","sources":["../../../src/bin/generateImportMap/iterateFields.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAoB,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC9E,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAe5E,wBAAgB,yBAAyB,CAAC,EACxC,cAAc,EACd,OAAO,EACP,MAAM,EACN,MAAM,EACN,SAAS,EACT,OAAO,GACR,EAAE;IACD,cAAc,EAAE,cAAc,CAAA;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,eAAe,CAAA;IACvB,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,GAAG,GAAG,EAAE,CAAA;IACjC,SAAS,EAAE,iBAAiB,CAAA;IAC5B,OAAO,EAAE,OAAO,CAAA;CACjB,QAmFA"}
1
+ {"version":3,"file":"iterateFields.d.ts","sourceRoot":"","sources":["../../../src/bin/generateImportMap/iterateFields.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAoB,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC9E,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAkB5E,wBAAgB,yBAAyB,CAAC,EACxC,cAAc,EACd,OAAO,EACP,MAAM,EACN,MAAM,EACN,SAAS,EACT,OAAO,GACR,EAAE;IACD,cAAc,EAAE,cAAc,CAAA;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,eAAe,CAAA;IACvB,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,GAAG,GAAG,EAAE,CAAA;IACjC,SAAS,EAAE,iBAAiB,CAAA;IAC5B,OAAO,EAAE,OAAO,CAAA;CACjB,QAmFA"}
@@ -1,4 +1,7 @@
1
- /* eslint-disable @typescript-eslint/no-unused-expressions */ function hasKey(obj, key) {
1
+ /* eslint-disable @typescript-eslint/no-unused-expressions */ // Only checks that `obj` has `key`.
2
+ // Keep this narrow: adding `& T` makes TypeScript expand large field types at every call,
3
+ // and callers already read components from `field` directly and don't need extra type info from this function.
4
+ function hasKey(obj, key) {
2
5
  return obj != null && Object.prototype.hasOwnProperty.call(obj, key);
3
6
  }
4
7
  const defaultUIFieldComponentKeys = [
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/bin/generateImportMap/iterateFields.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-expressions */\nimport type { PayloadComponent, SanitizedConfig } from '../../config/types.js'\nimport type { Block, Field, Tab } from '../../fields/config/types.js'\nimport type { AddToImportMap, Imports, InternalImportMap } from './index.js'\n\nfunction hasKey<T, K extends string>(\n obj: null | T | undefined,\n key: K,\n): obj is { [P in K]: PayloadComponent | PayloadComponent[] } & T {\n return obj != null && Object.prototype.hasOwnProperty.call(obj, key)\n}\n\nconst defaultUIFieldComponentKeys: Array<'Cell' | 'Description' | 'Field' | 'Filter'> = [\n 'Cell',\n 'Description',\n 'Field',\n 'Filter',\n]\nexport function genImportMapIterateFields({\n addToImportMap,\n baseDir,\n config,\n fields,\n importMap,\n imports,\n}: {\n addToImportMap: AddToImportMap\n baseDir: string\n config: SanitizedConfig\n fields: Block[] | Field[] | Tab[]\n importMap: InternalImportMap\n imports: Imports\n}) {\n for (const field of fields) {\n if ('fields' in field) {\n genImportMapIterateFields({\n addToImportMap,\n baseDir,\n config,\n fields: field.fields,\n importMap,\n imports,\n })\n } else if (field.type === 'blocks') {\n genImportMapIterateFields({\n addToImportMap,\n baseDir,\n config,\n fields: field.blocks.filter((block) => typeof block !== 'string'),\n importMap,\n imports,\n })\n } else if (field.type === 'tabs') {\n genImportMapIterateFields({\n addToImportMap,\n baseDir,\n config,\n fields: field.tabs,\n importMap,\n imports,\n })\n } else if (field.type === 'richText') {\n if (\n field?.editor &&\n typeof field.editor === 'object' &&\n field.editor.generateImportMap &&\n typeof field.editor.generateImportMap === 'function'\n ) {\n field.editor.generateImportMap({\n addToImportMap,\n baseDir,\n config,\n importMap,\n imports,\n })\n }\n } else if (field.type === 'ui') {\n if (field?.admin?.components) {\n // Render any extra, untyped components\n for (const key in field.admin.components) {\n if (key in defaultUIFieldComponentKeys) {\n continue\n }\n addToImportMap(field.admin.components[key])\n }\n }\n }\n\n hasKey(field?.admin, 'jsx') && addToImportMap(field.admin.jsx) // For Blocks\n\n hasKey(field?.admin?.components, 'Label') && addToImportMap(field.admin.components.Label)\n\n hasKey(field?.admin?.components, 'Block') && addToImportMap(field.admin.components.Block)\n\n hasKey(field?.admin?.components, 'Cell') && addToImportMap(field?.admin?.components?.Cell)\n\n hasKey(field?.admin?.components, 'Description') &&\n addToImportMap(field?.admin?.components?.Description)\n\n hasKey(field?.admin?.components, 'Field') && addToImportMap(field?.admin?.components?.Field)\n hasKey(field?.admin?.components, 'Filter') && addToImportMap(field?.admin?.components?.Filter)\n\n hasKey(field?.admin?.components, 'Error') && addToImportMap(field?.admin?.components?.Error)\n\n hasKey(field?.admin?.components, 'afterInput') &&\n addToImportMap(field?.admin?.components?.afterInput)\n\n hasKey(field?.admin?.components, 'beforeInput') &&\n addToImportMap(field?.admin?.components?.beforeInput)\n\n hasKey(field?.admin?.components, 'RowLabel') &&\n addToImportMap(field?.admin?.components?.RowLabel)\n\n hasKey(field?.admin?.components, 'Diff') && addToImportMap(field?.admin?.components?.Diff)\n }\n}\n"],"names":["hasKey","obj","key","Object","prototype","hasOwnProperty","call","defaultUIFieldComponentKeys","genImportMapIterateFields","addToImportMap","baseDir","config","fields","importMap","imports","field","type","blocks","filter","block","tabs","editor","generateImportMap","admin","components","jsx","Label","Block","Cell","Description","Field","Filter","Error","afterInput","beforeInput","RowLabel","Diff"],"mappings":"AAAA,2DAA2D,GAK3D,SAASA,OACPC,GAAyB,EACzBC,GAAM;IAEN,OAAOD,OAAO,QAAQE,OAAOC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACL,KAAKC;AAClE;AAEA,MAAMK,8BAAkF;IACtF;IACA;IACA;IACA;CACD;AACD,OAAO,SAASC,0BAA0B,EACxCC,cAAc,EACdC,OAAO,EACPC,MAAM,EACNC,MAAM,EACNC,SAAS,EACTC,OAAO,EAQR;IACC,KAAK,MAAMC,SAASH,OAAQ;QAC1B,IAAI,YAAYG,OAAO;YACrBP,0BAA0B;gBACxBC;gBACAC;gBACAC;gBACAC,QAAQG,MAAMH,MAAM;gBACpBC;gBACAC;YACF;QACF,OAAO,IAAIC,MAAMC,IAAI,KAAK,UAAU;YAClCR,0BAA0B;gBACxBC;gBACAC;gBACAC;gBACAC,QAAQG,MAAME,MAAM,CAACC,MAAM,CAAC,CAACC,QAAU,OAAOA,UAAU;gBACxDN;gBACAC;YACF;QACF,OAAO,IAAIC,MAAMC,IAAI,KAAK,QAAQ;YAChCR,0BAA0B;gBACxBC;gBACAC;gBACAC;gBACAC,QAAQG,MAAMK,IAAI;gBAClBP;gBACAC;YACF;QACF,OAAO,IAAIC,MAAMC,IAAI,KAAK,YAAY;YACpC,IACED,OAAOM,UACP,OAAON,MAAMM,MAAM,KAAK,YACxBN,MAAMM,MAAM,CAACC,iBAAiB,IAC9B,OAAOP,MAAMM,MAAM,CAACC,iBAAiB,KAAK,YAC1C;gBACAP,MAAMM,MAAM,CAACC,iBAAiB,CAAC;oBAC7Bb;oBACAC;oBACAC;oBACAE;oBACAC;gBACF;YACF;QACF,OAAO,IAAIC,MAAMC,IAAI,KAAK,MAAM;YAC9B,IAAID,OAAOQ,OAAOC,YAAY;gBAC5B,uCAAuC;gBACvC,IAAK,MAAMtB,OAAOa,MAAMQ,KAAK,CAACC,UAAU,CAAE;oBACxC,IAAItB,OAAOK,6BAA6B;wBACtC;oBACF;oBACAE,eAAeM,MAAMQ,KAAK,CAACC,UAAU,CAACtB,IAAI;gBAC5C;YACF;QACF;QAEAF,OAAOe,OAAOQ,OAAO,UAAUd,eAAeM,MAAMQ,KAAK,CAACE,GAAG,GAAE,aAAa;QAE5EzB,OAAOe,OAAOQ,OAAOC,YAAY,YAAYf,eAAeM,MAAMQ,KAAK,CAACC,UAAU,CAACE,KAAK;QAExF1B,OAAOe,OAAOQ,OAAOC,YAAY,YAAYf,eAAeM,MAAMQ,KAAK,CAACC,UAAU,CAACG,KAAK;QAExF3B,OAAOe,OAAOQ,OAAOC,YAAY,WAAWf,eAAeM,OAAOQ,OAAOC,YAAYI;QAErF5B,OAAOe,OAAOQ,OAAOC,YAAY,kBAC/Bf,eAAeM,OAAOQ,OAAOC,YAAYK;QAE3C7B,OAAOe,OAAOQ,OAAOC,YAAY,YAAYf,eAAeM,OAAOQ,OAAOC,YAAYM;QACtF9B,OAAOe,OAAOQ,OAAOC,YAAY,aAAaf,eAAeM,OAAOQ,OAAOC,YAAYO;QAEvF/B,OAAOe,OAAOQ,OAAOC,YAAY,YAAYf,eAAeM,OAAOQ,OAAOC,YAAYQ;QAEtFhC,OAAOe,OAAOQ,OAAOC,YAAY,iBAC/Bf,eAAeM,OAAOQ,OAAOC,YAAYS;QAE3CjC,OAAOe,OAAOQ,OAAOC,YAAY,kBAC/Bf,eAAeM,OAAOQ,OAAOC,YAAYU;QAE3ClC,OAAOe,OAAOQ,OAAOC,YAAY,eAC/Bf,eAAeM,OAAOQ,OAAOC,YAAYW;QAE3CnC,OAAOe,OAAOQ,OAAOC,YAAY,WAAWf,eAAeM,OAAOQ,OAAOC,YAAYY;IACvF;AACF"}
1
+ {"version":3,"sources":["../../../src/bin/generateImportMap/iterateFields.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-expressions */\nimport type { PayloadComponent, SanitizedConfig } from '../../config/types.js'\nimport type { Block, Field, Tab } from '../../fields/config/types.js'\nimport type { AddToImportMap, Imports, InternalImportMap } from './index.js'\n\n// Only checks that `obj` has `key`.\n// Keep this narrow: adding `& T` makes TypeScript expand large field types at every call,\n// and callers already read components from `field` directly and don't need extra type info from this function.\nfunction hasKey<K extends string>(\n obj: unknown,\n key: K,\n): obj is { [P in K]: PayloadComponent | PayloadComponent[] } {\n return obj != null && Object.prototype.hasOwnProperty.call(obj, key)\n}\n\nconst defaultUIFieldComponentKeys: Array<'Cell' | 'Description' | 'Field' | 'Filter'> = [\n 'Cell',\n 'Description',\n 'Field',\n 'Filter',\n]\nexport function genImportMapIterateFields({\n addToImportMap,\n baseDir,\n config,\n fields,\n importMap,\n imports,\n}: {\n addToImportMap: AddToImportMap\n baseDir: string\n config: SanitizedConfig\n fields: Block[] | Field[] | Tab[]\n importMap: InternalImportMap\n imports: Imports\n}) {\n for (const field of fields) {\n if ('fields' in field) {\n genImportMapIterateFields({\n addToImportMap,\n baseDir,\n config,\n fields: field.fields,\n importMap,\n imports,\n })\n } else if (field.type === 'blocks') {\n genImportMapIterateFields({\n addToImportMap,\n baseDir,\n config,\n fields: field.blocks.filter((block) => typeof block !== 'string'),\n importMap,\n imports,\n })\n } else if (field.type === 'tabs') {\n genImportMapIterateFields({\n addToImportMap,\n baseDir,\n config,\n fields: field.tabs,\n importMap,\n imports,\n })\n } else if (field.type === 'richText') {\n if (\n field?.editor &&\n typeof field.editor === 'object' &&\n field.editor.generateImportMap &&\n typeof field.editor.generateImportMap === 'function'\n ) {\n field.editor.generateImportMap({\n addToImportMap,\n baseDir,\n config,\n importMap,\n imports,\n })\n }\n } else if (field.type === 'ui') {\n if (field?.admin?.components) {\n // Render any extra, untyped components\n for (const key in field.admin.components) {\n if (key in defaultUIFieldComponentKeys) {\n continue\n }\n addToImportMap(field.admin.components[key])\n }\n }\n }\n\n hasKey(field?.admin, 'jsx') && addToImportMap(field.admin.jsx) // For Blocks\n\n hasKey(field?.admin?.components, 'Label') && addToImportMap(field.admin.components.Label)\n\n hasKey(field?.admin?.components, 'Block') && addToImportMap(field.admin.components.Block)\n\n hasKey(field?.admin?.components, 'Cell') && addToImportMap(field?.admin?.components?.Cell)\n\n hasKey(field?.admin?.components, 'Description') &&\n addToImportMap(field?.admin?.components?.Description)\n\n hasKey(field?.admin?.components, 'Field') && addToImportMap(field?.admin?.components?.Field)\n hasKey(field?.admin?.components, 'Filter') && addToImportMap(field?.admin?.components?.Filter)\n\n hasKey(field?.admin?.components, 'Error') && addToImportMap(field?.admin?.components?.Error)\n\n hasKey(field?.admin?.components, 'afterInput') &&\n addToImportMap(field?.admin?.components?.afterInput)\n\n hasKey(field?.admin?.components, 'beforeInput') &&\n addToImportMap(field?.admin?.components?.beforeInput)\n\n hasKey(field?.admin?.components, 'RowLabel') &&\n addToImportMap(field?.admin?.components?.RowLabel)\n\n hasKey(field?.admin?.components, 'Diff') && addToImportMap(field?.admin?.components?.Diff)\n }\n}\n"],"names":["hasKey","obj","key","Object","prototype","hasOwnProperty","call","defaultUIFieldComponentKeys","genImportMapIterateFields","addToImportMap","baseDir","config","fields","importMap","imports","field","type","blocks","filter","block","tabs","editor","generateImportMap","admin","components","jsx","Label","Block","Cell","Description","Field","Filter","Error","afterInput","beforeInput","RowLabel","Diff"],"mappings":"AAAA,2DAA2D,GAK3D,oCAAoC;AACpC,0FAA0F;AAC1F,+GAA+G;AAC/G,SAASA,OACPC,GAAY,EACZC,GAAM;IAEN,OAAOD,OAAO,QAAQE,OAAOC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACL,KAAKC;AAClE;AAEA,MAAMK,8BAAkF;IACtF;IACA;IACA;IACA;CACD;AACD,OAAO,SAASC,0BAA0B,EACxCC,cAAc,EACdC,OAAO,EACPC,MAAM,EACNC,MAAM,EACNC,SAAS,EACTC,OAAO,EAQR;IACC,KAAK,MAAMC,SAASH,OAAQ;QAC1B,IAAI,YAAYG,OAAO;YACrBP,0BAA0B;gBACxBC;gBACAC;gBACAC;gBACAC,QAAQG,MAAMH,MAAM;gBACpBC;gBACAC;YACF;QACF,OAAO,IAAIC,MAAMC,IAAI,KAAK,UAAU;YAClCR,0BAA0B;gBACxBC;gBACAC;gBACAC;gBACAC,QAAQG,MAAME,MAAM,CAACC,MAAM,CAAC,CAACC,QAAU,OAAOA,UAAU;gBACxDN;gBACAC;YACF;QACF,OAAO,IAAIC,MAAMC,IAAI,KAAK,QAAQ;YAChCR,0BAA0B;gBACxBC;gBACAC;gBACAC;gBACAC,QAAQG,MAAMK,IAAI;gBAClBP;gBACAC;YACF;QACF,OAAO,IAAIC,MAAMC,IAAI,KAAK,YAAY;YACpC,IACED,OAAOM,UACP,OAAON,MAAMM,MAAM,KAAK,YACxBN,MAAMM,MAAM,CAACC,iBAAiB,IAC9B,OAAOP,MAAMM,MAAM,CAACC,iBAAiB,KAAK,YAC1C;gBACAP,MAAMM,MAAM,CAACC,iBAAiB,CAAC;oBAC7Bb;oBACAC;oBACAC;oBACAE;oBACAC;gBACF;YACF;QACF,OAAO,IAAIC,MAAMC,IAAI,KAAK,MAAM;YAC9B,IAAID,OAAOQ,OAAOC,YAAY;gBAC5B,uCAAuC;gBACvC,IAAK,MAAMtB,OAAOa,MAAMQ,KAAK,CAACC,UAAU,CAAE;oBACxC,IAAItB,OAAOK,6BAA6B;wBACtC;oBACF;oBACAE,eAAeM,MAAMQ,KAAK,CAACC,UAAU,CAACtB,IAAI;gBAC5C;YACF;QACF;QAEAF,OAAOe,OAAOQ,OAAO,UAAUd,eAAeM,MAAMQ,KAAK,CAACE,GAAG,GAAE,aAAa;QAE5EzB,OAAOe,OAAOQ,OAAOC,YAAY,YAAYf,eAAeM,MAAMQ,KAAK,CAACC,UAAU,CAACE,KAAK;QAExF1B,OAAOe,OAAOQ,OAAOC,YAAY,YAAYf,eAAeM,MAAMQ,KAAK,CAACC,UAAU,CAACG,KAAK;QAExF3B,OAAOe,OAAOQ,OAAOC,YAAY,WAAWf,eAAeM,OAAOQ,OAAOC,YAAYI;QAErF5B,OAAOe,OAAOQ,OAAOC,YAAY,kBAC/Bf,eAAeM,OAAOQ,OAAOC,YAAYK;QAE3C7B,OAAOe,OAAOQ,OAAOC,YAAY,YAAYf,eAAeM,OAAOQ,OAAOC,YAAYM;QACtF9B,OAAOe,OAAOQ,OAAOC,YAAY,aAAaf,eAAeM,OAAOQ,OAAOC,YAAYO;QAEvF/B,OAAOe,OAAOQ,OAAOC,YAAY,YAAYf,eAAeM,OAAOQ,OAAOC,YAAYQ;QAEtFhC,OAAOe,OAAOQ,OAAOC,YAAY,iBAC/Bf,eAAeM,OAAOQ,OAAOC,YAAYS;QAE3CjC,OAAOe,OAAOQ,OAAOC,YAAY,kBAC/Bf,eAAeM,OAAOQ,OAAOC,YAAYU;QAE3ClC,OAAOe,OAAOQ,OAAOC,YAAY,eAC/Bf,eAAeM,OAAOQ,OAAOC,YAAYW;QAE3CnC,OAAOe,OAAOQ,OAAOC,YAAY,WAAWf,eAAeM,OAAOQ,OAAOC,YAAYY;IACvF;AACF"}
@@ -1,8 +1,12 @@
1
1
  /**
2
2
  * Returns the path to the import map file. If the import map file is not found, it throws an error.
3
+ *
4
+ * @param candidateDirectories - Optional array of directory paths to search for the import map.
5
+ * Defaults to Next.js app directory convention. Framework adapters can provide their own.
3
6
  */
4
- export declare function resolveImportMapFilePath({ adminRoute, importMapFile, rootDir, }: {
7
+ export declare function resolveImportMapFilePath({ adminRoute, candidateDirectories, importMapFile, rootDir, }: {
5
8
  adminRoute?: string;
9
+ candidateDirectories?: string[];
6
10
  importMapFile?: string;
7
11
  rootDir: string;
8
12
  }): Promise<Error | string>;
@@ -1 +1 @@
1
- {"version":3,"file":"resolveImportMapFilePath.d.ts","sourceRoot":"","sources":["../../../../src/bin/generateImportMap/utilities/resolveImportMapFilePath.ts"],"names":[],"mappings":"AAYA;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,EAC7C,UAAqB,EACrB,aAAa,EACb,OAAO,GACR,EAAE;IACD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;CAChB,GAAG,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,CAmC1B"}
1
+ {"version":3,"file":"resolveImportMapFilePath.d.ts","sourceRoot":"","sources":["../../../../src/bin/generateImportMap/utilities/resolveImportMapFilePath.ts"],"names":[],"mappings":"AA+BA;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAAC,EAC7C,UAAqB,EACrB,oBAAoB,EACpB,aAAa,EACb,OAAO,GACR,EAAE;IACD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;CAChB,GAAG,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,CAkC1B"}
@@ -1,5 +1,6 @@
1
1
  import fs from 'fs/promises';
2
2
  import path from 'path';
3
+ import { NEXT_PAYLOAD_ROUTE_GROUP, TANSTACK_PAYLOAD_DIR } from '../../frameworkConventions.js';
3
4
  async function pathOrFileExists(path) {
4
5
  try {
5
6
  await fs.access(path);
@@ -8,9 +9,27 @@ async function pathOrFileExists(path) {
8
9
  return false;
9
10
  }
10
11
  }
12
+ /**
13
+ * Default directory patterns for import map resolution, covering the supported
14
+ * framework conventions. Directories are probed in order and the first existing
15
+ * one wins; the conventions are mutually exclusive in practice, so a Next.js app
16
+ * never matches the TanStack patterns and vice versa.
17
+ *
18
+ * Adapters with a bespoke layout can still bypass this via `candidateDirectories`.
19
+ */ const defaultCandidateDirectories = (rootDir, adminRoute)=>[
20
+ // Next.js App Router: `(payload)` route group nested under the admin route
21
+ path.resolve(rootDir, `app/${NEXT_PAYLOAD_ROUTE_GROUP}${adminRoute}/`),
22
+ path.resolve(rootDir, `src/app/${NEXT_PAYLOAD_ROUTE_GROUP}${adminRoute}/`),
23
+ // TanStack Start: `_payload` pathless route folder at the app root
24
+ path.resolve(rootDir, `app/${TANSTACK_PAYLOAD_DIR}/`),
25
+ path.resolve(rootDir, `src/app/${TANSTACK_PAYLOAD_DIR}/`)
26
+ ];
11
27
  /**
12
28
  * Returns the path to the import map file. If the import map file is not found, it throws an error.
13
- */ export async function resolveImportMapFilePath({ adminRoute = '/admin', importMapFile, rootDir }) {
29
+ *
30
+ * @param candidateDirectories - Optional array of directory paths to search for the import map.
31
+ * Defaults to Next.js app directory convention. Framework adapters can provide their own.
32
+ */ export async function resolveImportMapFilePath({ adminRoute = '/admin', candidateDirectories, importMapFile, rootDir }) {
14
33
  let importMapFilePath = undefined;
15
34
  if (importMapFile?.length) {
16
35
  if (!await pathOrFileExists(importMapFile)) {
@@ -24,24 +43,20 @@ async function pathOrFileExists(path) {
24
43
  }
25
44
  importMapFilePath = importMapFile;
26
45
  } else {
27
- const appLocation = path.resolve(rootDir, `app/(payload)${adminRoute}/`);
28
- const srcAppLocation = path.resolve(rootDir, `src/app/(payload)${adminRoute}/`);
29
- if (appLocation && await pathOrFileExists(appLocation)) {
30
- importMapFilePath = path.resolve(appLocation, 'importMap.js');
31
- if (!await pathOrFileExists(importMapFilePath)) {
32
- await fs.writeFile(importMapFilePath, '', {
33
- flag: 'wx'
34
- });
46
+ const directories = candidateDirectories ?? defaultCandidateDirectories(rootDir, adminRoute);
47
+ for (const dir of directories){
48
+ if (await pathOrFileExists(dir)) {
49
+ importMapFilePath = path.resolve(dir, 'importMap.js');
50
+ if (!await pathOrFileExists(importMapFilePath)) {
51
+ await fs.writeFile(importMapFilePath, '', {
52
+ flag: 'wx'
53
+ });
54
+ }
55
+ break;
35
56
  }
36
- } else if (srcAppLocation && await pathOrFileExists(srcAppLocation)) {
37
- importMapFilePath = path.resolve(srcAppLocation, 'importMap.js');
38
- if (!await pathOrFileExists(importMapFilePath)) {
39
- await fs.writeFile(importMapFilePath, '', {
40
- flag: 'wx'
41
- });
42
- }
43
- } else {
44
- return new Error(`Could not find Payload import map folder. Looked in ${appLocation} and ${srcAppLocation}`);
57
+ }
58
+ if (!importMapFilePath) {
59
+ return new Error(`Could not find Payload import map folder. Looked in ${directories.join(' and ')}`);
45
60
  }
46
61
  }
47
62
  return importMapFilePath;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/bin/generateImportMap/utilities/resolveImportMapFilePath.ts"],"sourcesContent":["import fs from 'fs/promises'\nimport path from 'path'\n\nasync function pathOrFileExists(path: string): Promise<boolean> {\n try {\n await fs.access(path)\n return true\n } catch {\n return false\n }\n}\n\n/**\n * Returns the path to the import map file. If the import map file is not found, it throws an error.\n */\nexport async function resolveImportMapFilePath({\n adminRoute = '/admin',\n importMapFile,\n rootDir,\n}: {\n adminRoute?: string\n importMapFile?: string\n rootDir: string\n}): Promise<Error | string> {\n let importMapFilePath: string | undefined = undefined\n\n if (importMapFile?.length) {\n if (!(await pathOrFileExists(importMapFile))) {\n try {\n await fs.writeFile(importMapFile, '', { flag: 'wx' })\n } catch (err) {\n return new Error(\n `Could not find the import map file at ${importMapFile}${err instanceof Error && err?.message ? `: ${err.message}` : ''}`,\n )\n }\n }\n importMapFilePath = importMapFile\n } else {\n const appLocation = path.resolve(rootDir, `app/(payload)${adminRoute}/`)\n const srcAppLocation = path.resolve(rootDir, `src/app/(payload)${adminRoute}/`)\n\n if (appLocation && (await pathOrFileExists(appLocation))) {\n importMapFilePath = path.resolve(appLocation, 'importMap.js')\n if (!(await pathOrFileExists(importMapFilePath))) {\n await fs.writeFile(importMapFilePath, '', { flag: 'wx' })\n }\n } else if (srcAppLocation && (await pathOrFileExists(srcAppLocation))) {\n importMapFilePath = path.resolve(srcAppLocation, 'importMap.js')\n if (!(await pathOrFileExists(importMapFilePath))) {\n await fs.writeFile(importMapFilePath, '', { flag: 'wx' })\n }\n } else {\n return new Error(\n `Could not find Payload import map folder. Looked in ${appLocation} and ${srcAppLocation}`,\n )\n }\n }\n return importMapFilePath\n}\n"],"names":["fs","path","pathOrFileExists","access","resolveImportMapFilePath","adminRoute","importMapFile","rootDir","importMapFilePath","undefined","length","writeFile","flag","err","Error","message","appLocation","resolve","srcAppLocation"],"mappings":"AAAA,OAAOA,QAAQ,cAAa;AAC5B,OAAOC,UAAU,OAAM;AAEvB,eAAeC,iBAAiBD,IAAY;IAC1C,IAAI;QACF,MAAMD,GAAGG,MAAM,CAACF;QAChB,OAAO;IACT,EAAE,OAAM;QACN,OAAO;IACT;AACF;AAEA;;CAEC,GACD,OAAO,eAAeG,yBAAyB,EAC7CC,aAAa,QAAQ,EACrBC,aAAa,EACbC,OAAO,EAKR;IACC,IAAIC,oBAAwCC;IAE5C,IAAIH,eAAeI,QAAQ;QACzB,IAAI,CAAE,MAAMR,iBAAiBI,gBAAiB;YAC5C,IAAI;gBACF,MAAMN,GAAGW,SAAS,CAACL,eAAe,IAAI;oBAAEM,MAAM;gBAAK;YACrD,EAAE,OAAOC,KAAK;gBACZ,OAAO,IAAIC,MACT,CAAC,sCAAsC,EAAER,gBAAgBO,eAAeC,SAASD,KAAKE,UAAU,CAAC,EAAE,EAAEF,IAAIE,OAAO,EAAE,GAAG,IAAI;YAE7H;QACF;QACAP,oBAAoBF;IACtB,OAAO;QACL,MAAMU,cAAcf,KAAKgB,OAAO,CAACV,SAAS,CAAC,aAAa,EAAEF,WAAW,CAAC,CAAC;QACvE,MAAMa,iBAAiBjB,KAAKgB,OAAO,CAACV,SAAS,CAAC,iBAAiB,EAAEF,WAAW,CAAC,CAAC;QAE9E,IAAIW,eAAgB,MAAMd,iBAAiBc,cAAe;YACxDR,oBAAoBP,KAAKgB,OAAO,CAACD,aAAa;YAC9C,IAAI,CAAE,MAAMd,iBAAiBM,oBAAqB;gBAChD,MAAMR,GAAGW,SAAS,CAACH,mBAAmB,IAAI;oBAAEI,MAAM;gBAAK;YACzD;QACF,OAAO,IAAIM,kBAAmB,MAAMhB,iBAAiBgB,iBAAkB;YACrEV,oBAAoBP,KAAKgB,OAAO,CAACC,gBAAgB;YACjD,IAAI,CAAE,MAAMhB,iBAAiBM,oBAAqB;gBAChD,MAAMR,GAAGW,SAAS,CAACH,mBAAmB,IAAI;oBAAEI,MAAM;gBAAK;YACzD;QACF,OAAO;YACL,OAAO,IAAIE,MACT,CAAC,oDAAoD,EAAEE,YAAY,KAAK,EAAEE,gBAAgB;QAE9F;IACF;IACA,OAAOV;AACT"}
1
+ {"version":3,"sources":["../../../../src/bin/generateImportMap/utilities/resolveImportMapFilePath.ts"],"sourcesContent":["import fs from 'fs/promises'\nimport path from 'path'\n\nimport { NEXT_PAYLOAD_ROUTE_GROUP, TANSTACK_PAYLOAD_DIR } from '../../frameworkConventions.js'\n\nasync function pathOrFileExists(path: string): Promise<boolean> {\n try {\n await fs.access(path)\n return true\n } catch {\n return false\n }\n}\n\n/**\n * Default directory patterns for import map resolution, covering the supported\n * framework conventions. Directories are probed in order and the first existing\n * one wins; the conventions are mutually exclusive in practice, so a Next.js app\n * never matches the TanStack patterns and vice versa.\n *\n * Adapters with a bespoke layout can still bypass this via `candidateDirectories`.\n */\nconst defaultCandidateDirectories = (rootDir: string, adminRoute: string): string[] => [\n // Next.js App Router: `(payload)` route group nested under the admin route\n path.resolve(rootDir, `app/${NEXT_PAYLOAD_ROUTE_GROUP}${adminRoute}/`),\n path.resolve(rootDir, `src/app/${NEXT_PAYLOAD_ROUTE_GROUP}${adminRoute}/`),\n // TanStack Start: `_payload` pathless route folder at the app root\n path.resolve(rootDir, `app/${TANSTACK_PAYLOAD_DIR}/`),\n path.resolve(rootDir, `src/app/${TANSTACK_PAYLOAD_DIR}/`),\n]\n\n/**\n * Returns the path to the import map file. If the import map file is not found, it throws an error.\n *\n * @param candidateDirectories - Optional array of directory paths to search for the import map.\n * Defaults to Next.js app directory convention. Framework adapters can provide their own.\n */\nexport async function resolveImportMapFilePath({\n adminRoute = '/admin',\n candidateDirectories,\n importMapFile,\n rootDir,\n}: {\n adminRoute?: string\n candidateDirectories?: string[]\n importMapFile?: string\n rootDir: string\n}): Promise<Error | string> {\n let importMapFilePath: string | undefined = undefined\n\n if (importMapFile?.length) {\n if (!(await pathOrFileExists(importMapFile))) {\n try {\n await fs.writeFile(importMapFile, '', { flag: 'wx' })\n } catch (err) {\n return new Error(\n `Could not find the import map file at ${importMapFile}${err instanceof Error && err?.message ? `: ${err.message}` : ''}`,\n )\n }\n }\n importMapFilePath = importMapFile\n } else {\n const directories = candidateDirectories ?? defaultCandidateDirectories(rootDir, adminRoute)\n\n for (const dir of directories) {\n if (await pathOrFileExists(dir)) {\n importMapFilePath = path.resolve(dir, 'importMap.js')\n if (!(await pathOrFileExists(importMapFilePath))) {\n await fs.writeFile(importMapFilePath, '', { flag: 'wx' })\n }\n break\n }\n }\n\n if (!importMapFilePath) {\n return new Error(\n `Could not find Payload import map folder. Looked in ${directories.join(' and ')}`,\n )\n }\n }\n return importMapFilePath\n}\n"],"names":["fs","path","NEXT_PAYLOAD_ROUTE_GROUP","TANSTACK_PAYLOAD_DIR","pathOrFileExists","access","defaultCandidateDirectories","rootDir","adminRoute","resolve","resolveImportMapFilePath","candidateDirectories","importMapFile","importMapFilePath","undefined","length","writeFile","flag","err","Error","message","directories","dir","join"],"mappings":"AAAA,OAAOA,QAAQ,cAAa;AAC5B,OAAOC,UAAU,OAAM;AAEvB,SAASC,wBAAwB,EAAEC,oBAAoB,QAAQ,gCAA+B;AAE9F,eAAeC,iBAAiBH,IAAY;IAC1C,IAAI;QACF,MAAMD,GAAGK,MAAM,CAACJ;QAChB,OAAO;IACT,EAAE,OAAM;QACN,OAAO;IACT;AACF;AAEA;;;;;;;CAOC,GACD,MAAMK,8BAA8B,CAACC,SAAiBC,aAAiC;QACrF,2EAA2E;QAC3EP,KAAKQ,OAAO,CAACF,SAAS,CAAC,IAAI,EAAEL,2BAA2BM,WAAW,CAAC,CAAC;QACrEP,KAAKQ,OAAO,CAACF,SAAS,CAAC,QAAQ,EAAEL,2BAA2BM,WAAW,CAAC,CAAC;QACzE,mEAAmE;QACnEP,KAAKQ,OAAO,CAACF,SAAS,CAAC,IAAI,EAAEJ,qBAAqB,CAAC,CAAC;QACpDF,KAAKQ,OAAO,CAACF,SAAS,CAAC,QAAQ,EAAEJ,qBAAqB,CAAC,CAAC;KACzD;AAED;;;;;CAKC,GACD,OAAO,eAAeO,yBAAyB,EAC7CF,aAAa,QAAQ,EACrBG,oBAAoB,EACpBC,aAAa,EACbL,OAAO,EAMR;IACC,IAAIM,oBAAwCC;IAE5C,IAAIF,eAAeG,QAAQ;QACzB,IAAI,CAAE,MAAMX,iBAAiBQ,gBAAiB;YAC5C,IAAI;gBACF,MAAMZ,GAAGgB,SAAS,CAACJ,eAAe,IAAI;oBAAEK,MAAM;gBAAK;YACrD,EAAE,OAAOC,KAAK;gBACZ,OAAO,IAAIC,MACT,CAAC,sCAAsC,EAAEP,gBAAgBM,eAAeC,SAASD,KAAKE,UAAU,CAAC,EAAE,EAAEF,IAAIE,OAAO,EAAE,GAAG,IAAI;YAE7H;QACF;QACAP,oBAAoBD;IACtB,OAAO;QACL,MAAMS,cAAcV,wBAAwBL,4BAA4BC,SAASC;QAEjF,KAAK,MAAMc,OAAOD,YAAa;YAC7B,IAAI,MAAMjB,iBAAiBkB,MAAM;gBAC/BT,oBAAoBZ,KAAKQ,OAAO,CAACa,KAAK;gBACtC,IAAI,CAAE,MAAMlB,iBAAiBS,oBAAqB;oBAChD,MAAMb,GAAGgB,SAAS,CAACH,mBAAmB,IAAI;wBAAEI,MAAM;oBAAK;gBACzD;gBACA;YACF;QACF;QAEA,IAAI,CAACJ,mBAAmB;YACtB,OAAO,IAAIM,MACT,CAAC,oDAAoD,EAAEE,YAAYE,IAAI,CAAC,UAAU;QAEtF;IACF;IACA,OAAOV;AACT"}
@@ -1,5 +1,6 @@
1
1
  import type { SanitizedConfig } from '../config/types.js';
2
2
  export declare function generateTypes(config: SanitizedConfig, options?: {
3
- log: boolean;
4
- }): Promise<void>;
3
+ log?: boolean;
4
+ returnString?: boolean;
5
+ }): Promise<string | void>;
5
6
  //# sourceMappingURL=generateTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateTypes.d.ts","sourceRoot":"","sources":["../../src/bin/generateTypes.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAMzD,wBAAsB,aAAa,CACjC,MAAM,EAAE,eAAe,EACvB,OAAO,CAAC,EAAE;IAAE,GAAG,EAAE,OAAO,CAAA;CAAE,GACzB,OAAO,CAAC,IAAI,CAAC,CAkEf"}
1
+ {"version":3,"file":"generateTypes.d.ts","sourceRoot":"","sources":["../../src/bin/generateTypes.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAMzD,wBAAsB,aAAa,CACjC,MAAM,EAAE,eAAe,EACvB,OAAO,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GAClD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgFxB"}
@@ -18,7 +18,7 @@ export async function generateTypes(config, options) {
18
18
  context: 'api',
19
19
  language
20
20
  });
21
- const jsonSchema = configToJSONSchema(config, config.db.defaultIDType, i18n);
21
+ const { jsonSchema, typeStringDefinitions } = configToJSONSchema(config, config.db.defaultIDType, i18n);
22
22
  const declare = `declare module 'payload' {\n export interface GeneratedTypes extends Config {}\n}`;
23
23
  const declareWithTSIgnoreError = `declare module 'payload' {\n // @ts-ignore \n export interface GeneratedTypes extends Config {}\n}`;
24
24
  let compiled = await compile(jsonSchema, 'Config', {
@@ -36,6 +36,12 @@ export async function generateTypes(config, options) {
36
36
  compiled = addSelectGenericsToGeneratedTypes({
37
37
  compiledGeneratedTypes: compiled
38
38
  });
39
+ if (typeStringDefinitions.size > 0) {
40
+ const block = [
41
+ ...typeStringDefinitions
42
+ ].join('\n\n');
43
+ compiled = `${compiled.trimEnd()}\n\n${block}\n`;
44
+ }
39
45
  if (config.typescript.postProcess?.length) {
40
46
  for (const fn of config.typescript.postProcess){
41
47
  compiled = fn({
@@ -51,6 +57,10 @@ export async function generateTypes(config, options) {
51
57
  compiled += `\n\n${declare}`;
52
58
  }
53
59
  }
60
+ // Return the generated types instead of writing them to disk.
61
+ if (options?.returnString) {
62
+ return compiled;
63
+ }
54
64
  // Diff the compiled types against the existing types file
55
65
  try {
56
66
  const existingTypes = await fs.readFile(outputFile, 'utf-8');
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/bin/generateTypes.ts"],"sourcesContent":["import type { AcceptedLanguages } from '@payloadcms/translations'\n\nimport { initI18n } from '@payloadcms/translations'\nimport fs from 'fs/promises'\nimport { compile } from 'json-schema-to-typescript'\n\nimport type { SanitizedConfig } from '../config/types.js'\n\nimport { addSelectGenericsToGeneratedTypes } from '../utilities/addSelectGenericsToGeneretedTypes.js'\nimport { configToJSONSchema } from '../utilities/configToJSONSchema.js'\nimport { getLogger } from '../utilities/logger.js'\n\nexport async function generateTypes(\n config: SanitizedConfig,\n options?: { log: boolean },\n): Promise<void> {\n const logger = getLogger('payload', 'sync')\n const outputFile = process.env.PAYLOAD_TS_OUTPUT_PATH || config.typescript.outputFile\n\n const shouldLog = options?.log ?? true\n\n if (shouldLog) {\n logger.info('Compiling TS types for Collections and Globals...')\n }\n\n const languages = Object.keys(config.i18n.supportedLanguages) as AcceptedLanguages[]\n\n const language = languages.includes('en') ? 'en' : config.i18n.fallbackLanguage\n\n const i18n = await initI18n({ config: config.i18n, context: 'api', language })\n\n const jsonSchema = configToJSONSchema(config, config.db.defaultIDType, i18n)\n\n const declare = `declare module 'payload' {\\n export interface GeneratedTypes extends Config {}\\n}`\n const declareWithTSIgnoreError = `declare module 'payload' {\\n // @ts-ignore \\n export interface GeneratedTypes extends Config {}\\n}`\n\n let compiled = await compile(jsonSchema, 'Config', {\n bannerComment:\n '/* tslint:disable */\\n/* eslint-disable */\\n/**\\n* This file was automatically generated by Payload.\\n* DO NOT MODIFY IT BY HAND. Instead, modify your source Payload config,\\n* and re-run `payload generate:types` to regenerate this file.\\n*/',\n style: {\n singleQuote: true,\n },\n // Generates code for $defs that aren't referenced by the schema. Reason:\n // If a field defines an interfaceName, it should be included in the generated types\n // even if it's not used by another type. Reason: the user might want to use it in their own code.\n unreachableDefinitions: true,\n // Allow resolving external file references in $ref pointers\n cwd: process.cwd(),\n })\n\n compiled = addSelectGenericsToGeneratedTypes({ compiledGeneratedTypes: compiled })\n\n if (config.typescript.postProcess?.length) {\n for (const fn of config.typescript.postProcess) {\n compiled = fn({ compiledTypes: compiled, config })\n }\n }\n\n if (config.typescript.declare !== false) {\n if (config.typescript.declare?.ignoreTSError) {\n compiled += `\\n\\n${declareWithTSIgnoreError}`\n } else {\n compiled += `\\n\\n${declare}`\n }\n }\n\n // Diff the compiled types against the existing types file\n try {\n const existingTypes = await fs.readFile(outputFile, 'utf-8')\n\n if (compiled === existingTypes) {\n return\n }\n } catch (_) {\n // swallow err\n }\n\n await fs.writeFile(outputFile, compiled)\n if (shouldLog) {\n logger.info(`Types written to ${outputFile}`)\n }\n}\n"],"names":["initI18n","fs","compile","addSelectGenericsToGeneratedTypes","configToJSONSchema","getLogger","generateTypes","config","options","logger","outputFile","process","env","PAYLOAD_TS_OUTPUT_PATH","typescript","shouldLog","log","info","languages","Object","keys","i18n","supportedLanguages","language","includes","fallbackLanguage","context","jsonSchema","db","defaultIDType","declare","declareWithTSIgnoreError","compiled","bannerComment","style","singleQuote","unreachableDefinitions","cwd","compiledGeneratedTypes","postProcess","length","fn","compiledTypes","ignoreTSError","existingTypes","readFile","_","writeFile"],"mappings":"AAEA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,OAAOC,QAAQ,cAAa;AAC5B,SAASC,OAAO,QAAQ,4BAA2B;AAInD,SAASC,iCAAiC,QAAQ,oDAAmD;AACrG,SAASC,kBAAkB,QAAQ,qCAAoC;AACvE,SAASC,SAAS,QAAQ,yBAAwB;AAElD,OAAO,eAAeC,cACpBC,MAAuB,EACvBC,OAA0B;IAE1B,MAAMC,SAASJ,UAAU,WAAW;IACpC,MAAMK,aAAaC,QAAQC,GAAG,CAACC,sBAAsB,IAAIN,OAAOO,UAAU,CAACJ,UAAU;IAErF,MAAMK,YAAYP,SAASQ,OAAO;IAElC,IAAID,WAAW;QACbN,OAAOQ,IAAI,CAAC;IACd;IAEA,MAAMC,YAAYC,OAAOC,IAAI,CAACb,OAAOc,IAAI,CAACC,kBAAkB;IAE5D,MAAMC,WAAWL,UAAUM,QAAQ,CAAC,QAAQ,OAAOjB,OAAOc,IAAI,CAACI,gBAAgB;IAE/E,MAAMJ,OAAO,MAAMrB,SAAS;QAAEO,QAAQA,OAAOc,IAAI;QAAEK,SAAS;QAAOH;IAAS;IAE5E,MAAMI,aAAavB,mBAAmBG,QAAQA,OAAOqB,EAAE,CAACC,aAAa,EAAER;IAEvE,MAAMS,UAAU,CAAC,kFAAkF,CAAC;IACpG,MAAMC,2BAA2B,CAAC,oGAAoG,CAAC;IAEvI,IAAIC,WAAW,MAAM9B,QAAQyB,YAAY,UAAU;QACjDM,eACE;QACFC,OAAO;YACLC,aAAa;QACf;QACA,yEAAyE;QACzE,oFAAoF;QACpF,kGAAkG;QAClGC,wBAAwB;QACxB,4DAA4D;QAC5DC,KAAK1B,QAAQ0B,GAAG;IAClB;IAEAL,WAAW7B,kCAAkC;QAAEmC,wBAAwBN;IAAS;IAEhF,IAAIzB,OAAOO,UAAU,CAACyB,WAAW,EAAEC,QAAQ;QACzC,KAAK,MAAMC,MAAMlC,OAAOO,UAAU,CAACyB,WAAW,CAAE;YAC9CP,WAAWS,GAAG;gBAAEC,eAAeV;gBAAUzB;YAAO;QAClD;IACF;IAEA,IAAIA,OAAOO,UAAU,CAACgB,OAAO,KAAK,OAAO;QACvC,IAAIvB,OAAOO,UAAU,CAACgB,OAAO,EAAEa,eAAe;YAC5CX,YAAY,CAAC,IAAI,EAAED,0BAA0B;QAC/C,OAAO;YACLC,YAAY,CAAC,IAAI,EAAEF,SAAS;QAC9B;IACF;IAEA,0DAA0D;IAC1D,IAAI;QACF,MAAMc,gBAAgB,MAAM3C,GAAG4C,QAAQ,CAACnC,YAAY;QAEpD,IAAIsB,aAAaY,eAAe;YAC9B;QACF;IACF,EAAE,OAAOE,GAAG;IACV,cAAc;IAChB;IAEA,MAAM7C,GAAG8C,SAAS,CAACrC,YAAYsB;IAC/B,IAAIjB,WAAW;QACbN,OAAOQ,IAAI,CAAC,CAAC,iBAAiB,EAAEP,YAAY;IAC9C;AACF"}
1
+ {"version":3,"sources":["../../src/bin/generateTypes.ts"],"sourcesContent":["import type { AcceptedLanguages } from '@payloadcms/translations'\n\nimport { initI18n } from '@payloadcms/translations'\nimport fs from 'fs/promises'\nimport { compile } from 'json-schema-to-typescript'\n\nimport type { SanitizedConfig } from '../config/types.js'\n\nimport { addSelectGenericsToGeneratedTypes } from '../utilities/addSelectGenericsToGeneretedTypes.js'\nimport { configToJSONSchema } from '../utilities/configToJSONSchema.js'\nimport { getLogger } from '../utilities/logger.js'\n\nexport async function generateTypes(\n config: SanitizedConfig,\n options?: { log?: boolean; returnString?: boolean },\n): Promise<string | void> {\n const logger = getLogger('payload', 'sync')\n const outputFile = process.env.PAYLOAD_TS_OUTPUT_PATH || config.typescript.outputFile\n\n const shouldLog = options?.log ?? true\n\n if (shouldLog) {\n logger.info('Compiling TS types for Collections and Globals...')\n }\n\n const languages = Object.keys(config.i18n.supportedLanguages) as AcceptedLanguages[]\n\n const language = languages.includes('en') ? 'en' : config.i18n.fallbackLanguage\n\n const i18n = await initI18n({ config: config.i18n, context: 'api', language })\n\n const { jsonSchema, typeStringDefinitions } = configToJSONSchema(\n config,\n config.db.defaultIDType,\n i18n,\n )\n\n const declare = `declare module 'payload' {\\n export interface GeneratedTypes extends Config {}\\n}`\n const declareWithTSIgnoreError = `declare module 'payload' {\\n // @ts-ignore \\n export interface GeneratedTypes extends Config {}\\n}`\n\n let compiled = await compile(jsonSchema, 'Config', {\n bannerComment:\n '/* tslint:disable */\\n/* eslint-disable */\\n/**\\n* This file was automatically generated by Payload.\\n* DO NOT MODIFY IT BY HAND. Instead, modify your source Payload config,\\n* and re-run `payload generate:types` to regenerate this file.\\n*/',\n style: {\n singleQuote: true,\n },\n // Generates code for $defs that aren't referenced by the schema. Reason:\n // If a field defines an interfaceName, it should be included in the generated types\n // even if it's not used by another type. Reason: the user might want to use it in their own code.\n unreachableDefinitions: true,\n // Allow resolving external file references in $ref pointers\n cwd: process.cwd(),\n })\n\n compiled = addSelectGenericsToGeneratedTypes({ compiledGeneratedTypes: compiled })\n\n if (typeStringDefinitions.size > 0) {\n const block = [...typeStringDefinitions].join('\\n\\n')\n compiled = `${compiled.trimEnd()}\\n\\n${block}\\n`\n }\n\n if (config.typescript.postProcess?.length) {\n for (const fn of config.typescript.postProcess) {\n compiled = fn({ compiledTypes: compiled, config })\n }\n }\n\n if (config.typescript.declare !== false) {\n if (config.typescript.declare?.ignoreTSError) {\n compiled += `\\n\\n${declareWithTSIgnoreError}`\n } else {\n compiled += `\\n\\n${declare}`\n }\n }\n\n // Return the generated types instead of writing them to disk.\n if (options?.returnString) {\n return compiled\n }\n\n // Diff the compiled types against the existing types file\n try {\n const existingTypes = await fs.readFile(outputFile, 'utf-8')\n\n if (compiled === existingTypes) {\n return\n }\n } catch (_) {\n // swallow err\n }\n\n await fs.writeFile(outputFile, compiled)\n if (shouldLog) {\n logger.info(`Types written to ${outputFile}`)\n }\n}\n"],"names":["initI18n","fs","compile","addSelectGenericsToGeneratedTypes","configToJSONSchema","getLogger","generateTypes","config","options","logger","outputFile","process","env","PAYLOAD_TS_OUTPUT_PATH","typescript","shouldLog","log","info","languages","Object","keys","i18n","supportedLanguages","language","includes","fallbackLanguage","context","jsonSchema","typeStringDefinitions","db","defaultIDType","declare","declareWithTSIgnoreError","compiled","bannerComment","style","singleQuote","unreachableDefinitions","cwd","compiledGeneratedTypes","size","block","join","trimEnd","postProcess","length","fn","compiledTypes","ignoreTSError","returnString","existingTypes","readFile","_","writeFile"],"mappings":"AAEA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,OAAOC,QAAQ,cAAa;AAC5B,SAASC,OAAO,QAAQ,4BAA2B;AAInD,SAASC,iCAAiC,QAAQ,oDAAmD;AACrG,SAASC,kBAAkB,QAAQ,qCAAoC;AACvE,SAASC,SAAS,QAAQ,yBAAwB;AAElD,OAAO,eAAeC,cACpBC,MAAuB,EACvBC,OAAmD;IAEnD,MAAMC,SAASJ,UAAU,WAAW;IACpC,MAAMK,aAAaC,QAAQC,GAAG,CAACC,sBAAsB,IAAIN,OAAOO,UAAU,CAACJ,UAAU;IAErF,MAAMK,YAAYP,SAASQ,OAAO;IAElC,IAAID,WAAW;QACbN,OAAOQ,IAAI,CAAC;IACd;IAEA,MAAMC,YAAYC,OAAOC,IAAI,CAACb,OAAOc,IAAI,CAACC,kBAAkB;IAE5D,MAAMC,WAAWL,UAAUM,QAAQ,CAAC,QAAQ,OAAOjB,OAAOc,IAAI,CAACI,gBAAgB;IAE/E,MAAMJ,OAAO,MAAMrB,SAAS;QAAEO,QAAQA,OAAOc,IAAI;QAAEK,SAAS;QAAOH;IAAS;IAE5E,MAAM,EAAEI,UAAU,EAAEC,qBAAqB,EAAE,GAAGxB,mBAC5CG,QACAA,OAAOsB,EAAE,CAACC,aAAa,EACvBT;IAGF,MAAMU,UAAU,CAAC,kFAAkF,CAAC;IACpG,MAAMC,2BAA2B,CAAC,oGAAoG,CAAC;IAEvI,IAAIC,WAAW,MAAM/B,QAAQyB,YAAY,UAAU;QACjDO,eACE;QACFC,OAAO;YACLC,aAAa;QACf;QACA,yEAAyE;QACzE,oFAAoF;QACpF,kGAAkG;QAClGC,wBAAwB;QACxB,4DAA4D;QAC5DC,KAAK3B,QAAQ2B,GAAG;IAClB;IAEAL,WAAW9B,kCAAkC;QAAEoC,wBAAwBN;IAAS;IAEhF,IAAIL,sBAAsBY,IAAI,GAAG,GAAG;QAClC,MAAMC,QAAQ;eAAIb;SAAsB,CAACc,IAAI,CAAC;QAC9CT,WAAW,GAAGA,SAASU,OAAO,GAAG,IAAI,EAAEF,MAAM,EAAE,CAAC;IAClD;IAEA,IAAIlC,OAAOO,UAAU,CAAC8B,WAAW,EAAEC,QAAQ;QACzC,KAAK,MAAMC,MAAMvC,OAAOO,UAAU,CAAC8B,WAAW,CAAE;YAC9CX,WAAWa,GAAG;gBAAEC,eAAed;gBAAU1B;YAAO;QAClD;IACF;IAEA,IAAIA,OAAOO,UAAU,CAACiB,OAAO,KAAK,OAAO;QACvC,IAAIxB,OAAOO,UAAU,CAACiB,OAAO,EAAEiB,eAAe;YAC5Cf,YAAY,CAAC,IAAI,EAAED,0BAA0B;QAC/C,OAAO;YACLC,YAAY,CAAC,IAAI,EAAEF,SAAS;QAC9B;IACF;IAEA,8DAA8D;IAC9D,IAAIvB,SAASyC,cAAc;QACzB,OAAOhB;IACT;IAEA,0DAA0D;IAC1D,IAAI;QACF,MAAMiB,gBAAgB,MAAMjD,GAAGkD,QAAQ,CAACzC,YAAY;QAEpD,IAAIuB,aAAaiB,eAAe;YAC9B;QACF;IACF,EAAE,OAAOE,GAAG;IACV,cAAc;IAChB;IAEA,MAAMnD,GAAGoD,SAAS,CAAC3C,YAAYuB;IAC/B,IAAIlB,WAAW;QACbN,OAAOQ,IAAI,CAAC,CAAC,iBAAiB,EAAEP,YAAY;IAC9C;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bin/index.ts"],"names":[],"mappings":"AA0BA,eAAO,MAAM,GAAG,qBAgCf,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bin/index.ts"],"names":[],"mappings":"AA4BA,eAAO,MAAM,GAAG,qBAgCf,CAAA"}
package/dist/bin/index.js CHANGED
@@ -4,6 +4,7 @@ import { pathToFileURL } from 'node:url';
4
4
  import path from 'path';
5
5
  import { findConfig } from '../config/find.js';
6
6
  import { getPayload } from '../index.js';
7
+ import { build } from './build.js';
7
8
  import { generateImportMap } from './generateImportMap/index.js';
8
9
  import { generateTypes } from './generateTypes.js';
9
10
  import { info } from './info.js';
@@ -11,6 +12,7 @@ import { loadEnv } from './loadEnv.js';
11
12
  import { migrate, availableCommands as migrateCommands } from './migrate.js';
12
13
  // Note: this does not account for any user bin scripts
13
14
  const availableScripts = [
15
+ 'build',
14
16
  'generate:db-schema',
15
17
  'generate:importmap',
16
18
  'generate:types',
@@ -121,6 +123,13 @@ async function runBinScript({ args, script }) {
121
123
  await generateImportMap(config);
122
124
  return {};
123
125
  }
126
+ if (script === 'build') {
127
+ await build({
128
+ config
129
+ });
130
+ return {} // build() awaits next build and owns process exit, propagating its code
131
+ ;
132
+ }
124
133
  if (script === 'jobs:run') {
125
134
  const payload = await getPayload({
126
135
  config