@strapi/core 0.0.0-next.f6dca5adf05ef6bed9605a1535999ab0bbbf063e → 0.0.0-next.fc9d26d995624dc886b29f563e1de655d47e6609

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 (688) hide show
  1. package/dist/Strapi.d.ts.map +1 -1
  2. package/dist/configuration/index.d.ts.map +1 -1
  3. package/dist/index.js +9954 -27
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.mjs +9932 -29
  6. package/dist/index.mjs.map +1 -1
  7. package/dist/middlewares/body.d.ts.map +1 -1
  8. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +2 -2
  9. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -1
  10. package/dist/migrations/draft-publish.d.ts +1 -1
  11. package/dist/migrations/draft-publish.d.ts.map +1 -1
  12. package/dist/services/document-service/components.d.ts.map +1 -1
  13. package/dist/services/document-service/draft-and-publish.d.ts +1 -1
  14. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  15. package/dist/services/document-service/events.d.ts +1 -1
  16. package/dist/services/document-service/events.d.ts.map +1 -1
  17. package/dist/services/document-service/repository.d.ts.map +1 -1
  18. package/dist/services/document-service/transform/id-map.d.ts +1 -1
  19. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  20. package/dist/services/document-service/transform/id-transform.d.ts +1 -1
  21. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  22. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +1 -1
  23. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  24. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  25. package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
  26. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  27. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +1 -1
  28. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  29. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -1
  30. package/dist/services/document-service/utils/populate.d.ts +1 -1
  31. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  32. package/dist/services/document-service/utils/unidirectional-relations.d.ts +1 -1
  33. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -1
  34. package/dist/services/entity-validator/index.d.ts +1 -1
  35. package/dist/services/entity-validator/index.d.ts.map +1 -1
  36. package/dist/services/metrics/middleware.d.ts.map +1 -1
  37. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  38. package/dist/utils/startup-logger.d.ts.map +1 -1
  39. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  40. package/package.json +23 -24
  41. package/dist/Strapi.js +0 -431
  42. package/dist/Strapi.js.map +0 -1
  43. package/dist/Strapi.mjs +0 -410
  44. package/dist/Strapi.mjs.map +0 -1
  45. package/dist/compile.js +0 -18
  46. package/dist/compile.js.map +0 -1
  47. package/dist/compile.mjs +0 -17
  48. package/dist/compile.mjs.map +0 -1
  49. package/dist/configuration/config-loader.js +0 -106
  50. package/dist/configuration/config-loader.js.map +0 -1
  51. package/dist/configuration/config-loader.mjs +0 -104
  52. package/dist/configuration/config-loader.mjs.map +0 -1
  53. package/dist/configuration/get-dirs.js +0 -31
  54. package/dist/configuration/get-dirs.js.map +0 -1
  55. package/dist/configuration/get-dirs.mjs +0 -31
  56. package/dist/configuration/get-dirs.mjs.map +0 -1
  57. package/dist/configuration/index.js +0 -80
  58. package/dist/configuration/index.js.map +0 -1
  59. package/dist/configuration/index.mjs +0 -75
  60. package/dist/configuration/index.mjs.map +0 -1
  61. package/dist/configuration/urls.js +0 -68
  62. package/dist/configuration/urls.js.map +0 -1
  63. package/dist/configuration/urls.mjs +0 -66
  64. package/dist/configuration/urls.mjs.map +0 -1
  65. package/dist/container.js +0 -30
  66. package/dist/container.js.map +0 -1
  67. package/dist/container.mjs +0 -30
  68. package/dist/container.mjs.map +0 -1
  69. package/dist/core-api/controller/collection-type.js +0 -84
  70. package/dist/core-api/controller/collection-type.js.map +0 -1
  71. package/dist/core-api/controller/collection-type.mjs +0 -84
  72. package/dist/core-api/controller/collection-type.mjs.map +0 -1
  73. package/dist/core-api/controller/index.js +0 -52
  74. package/dist/core-api/controller/index.js.map +0 -1
  75. package/dist/core-api/controller/index.mjs +0 -52
  76. package/dist/core-api/controller/index.mjs.map +0 -1
  77. package/dist/core-api/controller/single-type.js +0 -46
  78. package/dist/core-api/controller/single-type.js.map +0 -1
  79. package/dist/core-api/controller/single-type.mjs +0 -46
  80. package/dist/core-api/controller/single-type.mjs.map +0 -1
  81. package/dist/core-api/controller/transform.js +0 -76
  82. package/dist/core-api/controller/transform.js.map +0 -1
  83. package/dist/core-api/controller/transform.mjs +0 -76
  84. package/dist/core-api/controller/transform.mjs.map +0 -1
  85. package/dist/core-api/routes/index.js +0 -67
  86. package/dist/core-api/routes/index.js.map +0 -1
  87. package/dist/core-api/routes/index.mjs +0 -67
  88. package/dist/core-api/routes/index.mjs.map +0 -1
  89. package/dist/core-api/service/collection-type.js +0 -67
  90. package/dist/core-api/service/collection-type.js.map +0 -1
  91. package/dist/core-api/service/collection-type.mjs +0 -67
  92. package/dist/core-api/service/collection-type.mjs.map +0 -1
  93. package/dist/core-api/service/core-service.js +0 -12
  94. package/dist/core-api/service/core-service.js.map +0 -1
  95. package/dist/core-api/service/core-service.mjs +0 -12
  96. package/dist/core-api/service/core-service.mjs.map +0 -1
  97. package/dist/core-api/service/index.js +0 -16
  98. package/dist/core-api/service/index.js.map +0 -1
  99. package/dist/core-api/service/index.mjs +0 -16
  100. package/dist/core-api/service/index.mjs.map +0 -1
  101. package/dist/core-api/service/pagination.js +0 -52
  102. package/dist/core-api/service/pagination.js.map +0 -1
  103. package/dist/core-api/service/pagination.mjs +0 -52
  104. package/dist/core-api/service/pagination.mjs.map +0 -1
  105. package/dist/core-api/service/single-type.js +0 -46
  106. package/dist/core-api/service/single-type.js.map +0 -1
  107. package/dist/core-api/service/single-type.mjs +0 -46
  108. package/dist/core-api/service/single-type.mjs.map +0 -1
  109. package/dist/domain/content-type/index.js +0 -111
  110. package/dist/domain/content-type/index.js.map +0 -1
  111. package/dist/domain/content-type/index.mjs +0 -109
  112. package/dist/domain/content-type/index.mjs.map +0 -1
  113. package/dist/domain/content-type/validator.js +0 -77
  114. package/dist/domain/content-type/validator.js.map +0 -1
  115. package/dist/domain/content-type/validator.mjs +0 -75
  116. package/dist/domain/content-type/validator.mjs.map +0 -1
  117. package/dist/domain/module/index.js +0 -107
  118. package/dist/domain/module/index.js.map +0 -1
  119. package/dist/domain/module/index.mjs +0 -105
  120. package/dist/domain/module/index.mjs.map +0 -1
  121. package/dist/domain/module/validation.js +0 -25
  122. package/dist/domain/module/validation.js.map +0 -1
  123. package/dist/domain/module/validation.mjs +0 -25
  124. package/dist/domain/module/validation.mjs.map +0 -1
  125. package/dist/ee/index.js +0 -158
  126. package/dist/ee/index.js.map +0 -1
  127. package/dist/ee/index.mjs +0 -159
  128. package/dist/ee/index.mjs.map +0 -1
  129. package/dist/ee/license.js +0 -91
  130. package/dist/ee/license.js.map +0 -1
  131. package/dist/ee/license.mjs +0 -88
  132. package/dist/ee/license.mjs.map +0 -1
  133. package/dist/factories.js +0 -80
  134. package/dist/factories.js.map +0 -1
  135. package/dist/factories.mjs +0 -80
  136. package/dist/factories.mjs.map +0 -1
  137. package/dist/loaders/admin.js +0 -26
  138. package/dist/loaders/admin.js.map +0 -1
  139. package/dist/loaders/admin.mjs +0 -25
  140. package/dist/loaders/admin.mjs.map +0 -1
  141. package/dist/loaders/apis.js +0 -137
  142. package/dist/loaders/apis.js.map +0 -1
  143. package/dist/loaders/apis.mjs +0 -135
  144. package/dist/loaders/apis.mjs.map +0 -1
  145. package/dist/loaders/components.js +0 -38
  146. package/dist/loaders/components.js.map +0 -1
  147. package/dist/loaders/components.mjs +0 -37
  148. package/dist/loaders/components.mjs.map +0 -1
  149. package/dist/loaders/index.js +0 -24
  150. package/dist/loaders/index.js.map +0 -1
  151. package/dist/loaders/index.mjs +0 -24
  152. package/dist/loaders/index.mjs.map +0 -1
  153. package/dist/loaders/middlewares.js +0 -31
  154. package/dist/loaders/middlewares.js.map +0 -1
  155. package/dist/loaders/middlewares.mjs +0 -30
  156. package/dist/loaders/middlewares.mjs.map +0 -1
  157. package/dist/loaders/plugins/get-enabled-plugins.js +0 -141
  158. package/dist/loaders/plugins/get-enabled-plugins.js.map +0 -1
  159. package/dist/loaders/plugins/get-enabled-plugins.mjs +0 -117
  160. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +0 -1
  161. package/dist/loaders/plugins/get-user-plugins-config.js +0 -27
  162. package/dist/loaders/plugins/get-user-plugins-config.js.map +0 -1
  163. package/dist/loaders/plugins/get-user-plugins-config.mjs +0 -25
  164. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +0 -1
  165. package/dist/loaders/plugins/index.js +0 -145
  166. package/dist/loaders/plugins/index.js.map +0 -1
  167. package/dist/loaders/plugins/index.mjs +0 -125
  168. package/dist/loaders/plugins/index.mjs.map +0 -1
  169. package/dist/loaders/policies.js +0 -25
  170. package/dist/loaders/policies.js.map +0 -1
  171. package/dist/loaders/policies.mjs +0 -24
  172. package/dist/loaders/policies.mjs.map +0 -1
  173. package/dist/loaders/sanitizers.js +0 -6
  174. package/dist/loaders/sanitizers.js.map +0 -1
  175. package/dist/loaders/sanitizers.mjs +0 -7
  176. package/dist/loaders/sanitizers.mjs.map +0 -1
  177. package/dist/loaders/src-index.js +0 -33
  178. package/dist/loaders/src-index.js.map +0 -1
  179. package/dist/loaders/src-index.mjs +0 -34
  180. package/dist/loaders/src-index.mjs.map +0 -1
  181. package/dist/loaders/validators.js +0 -6
  182. package/dist/loaders/validators.js.map +0 -1
  183. package/dist/loaders/validators.mjs +0 -7
  184. package/dist/loaders/validators.mjs.map +0 -1
  185. package/dist/middlewares/body.js +0 -65
  186. package/dist/middlewares/body.js.map +0 -1
  187. package/dist/middlewares/body.mjs +0 -61
  188. package/dist/middlewares/body.mjs.map +0 -1
  189. package/dist/middlewares/compression.js +0 -8
  190. package/dist/middlewares/compression.js.map +0 -1
  191. package/dist/middlewares/compression.mjs +0 -6
  192. package/dist/middlewares/compression.mjs.map +0 -1
  193. package/dist/middlewares/cors.js +0 -53
  194. package/dist/middlewares/cors.js.map +0 -1
  195. package/dist/middlewares/cors.mjs +0 -51
  196. package/dist/middlewares/cors.mjs.map +0 -1
  197. package/dist/middlewares/errors.js +0 -33
  198. package/dist/middlewares/errors.js.map +0 -1
  199. package/dist/middlewares/errors.mjs +0 -33
  200. package/dist/middlewares/errors.mjs.map +0 -1
  201. package/dist/middlewares/favicon.js +0 -22
  202. package/dist/middlewares/favicon.js.map +0 -1
  203. package/dist/middlewares/favicon.mjs +0 -20
  204. package/dist/middlewares/favicon.mjs.map +0 -1
  205. package/dist/middlewares/index.js +0 -34
  206. package/dist/middlewares/index.js.map +0 -1
  207. package/dist/middlewares/index.mjs +0 -34
  208. package/dist/middlewares/index.mjs.map +0 -1
  209. package/dist/middlewares/ip.js +0 -8
  210. package/dist/middlewares/ip.js.map +0 -1
  211. package/dist/middlewares/ip.mjs +0 -6
  212. package/dist/middlewares/ip.mjs.map +0 -1
  213. package/dist/middlewares/logger.js +0 -12
  214. package/dist/middlewares/logger.js.map +0 -1
  215. package/dist/middlewares/logger.mjs +0 -12
  216. package/dist/middlewares/logger.mjs.map +0 -1
  217. package/dist/middlewares/powered-by.js +0 -14
  218. package/dist/middlewares/powered-by.js.map +0 -1
  219. package/dist/middlewares/powered-by.mjs +0 -14
  220. package/dist/middlewares/powered-by.mjs.map +0 -1
  221. package/dist/middlewares/public.js +0 -34
  222. package/dist/middlewares/public.js.map +0 -1
  223. package/dist/middlewares/public.mjs +0 -32
  224. package/dist/middlewares/public.mjs.map +0 -1
  225. package/dist/middlewares/query.js +0 -40
  226. package/dist/middlewares/query.js.map +0 -1
  227. package/dist/middlewares/query.mjs +0 -38
  228. package/dist/middlewares/query.mjs.map +0 -1
  229. package/dist/middlewares/response-time.js +0 -12
  230. package/dist/middlewares/response-time.js.map +0 -1
  231. package/dist/middlewares/response-time.mjs +0 -12
  232. package/dist/middlewares/response-time.mjs.map +0 -1
  233. package/dist/middlewares/responses.js +0 -15
  234. package/dist/middlewares/responses.js.map +0 -1
  235. package/dist/middlewares/responses.mjs +0 -15
  236. package/dist/middlewares/responses.mjs.map +0 -1
  237. package/dist/middlewares/security.js +0 -78
  238. package/dist/middlewares/security.js.map +0 -1
  239. package/dist/middlewares/security.mjs +0 -76
  240. package/dist/middlewares/security.mjs.map +0 -1
  241. package/dist/middlewares/session.js +0 -30
  242. package/dist/middlewares/session.js.map +0 -1
  243. package/dist/middlewares/session.mjs +0 -28
  244. package/dist/middlewares/session.mjs.map +0 -1
  245. package/dist/migrations/database/5.0.0-discard-drafts.js +0 -106
  246. package/dist/migrations/database/5.0.0-discard-drafts.js.map +0 -1
  247. package/dist/migrations/database/5.0.0-discard-drafts.mjs +0 -106
  248. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +0 -1
  249. package/dist/migrations/draft-publish.js +0 -42
  250. package/dist/migrations/draft-publish.js.map +0 -1
  251. package/dist/migrations/draft-publish.mjs +0 -42
  252. package/dist/migrations/draft-publish.mjs.map +0 -1
  253. package/dist/migrations/i18n.js +0 -54
  254. package/dist/migrations/i18n.js.map +0 -1
  255. package/dist/migrations/i18n.mjs +0 -54
  256. package/dist/migrations/i18n.mjs.map +0 -1
  257. package/dist/migrations/index.js +0 -15
  258. package/dist/migrations/index.js.map +0 -1
  259. package/dist/migrations/index.mjs +0 -15
  260. package/dist/migrations/index.mjs.map +0 -1
  261. package/dist/providers/admin.js +0 -20
  262. package/dist/providers/admin.js.map +0 -1
  263. package/dist/providers/admin.mjs +0 -21
  264. package/dist/providers/admin.mjs.map +0 -1
  265. package/dist/providers/coreStore.js +0 -11
  266. package/dist/providers/coreStore.js.map +0 -1
  267. package/dist/providers/coreStore.mjs +0 -12
  268. package/dist/providers/coreStore.mjs.map +0 -1
  269. package/dist/providers/cron.js +0 -20
  270. package/dist/providers/cron.js.map +0 -1
  271. package/dist/providers/cron.mjs +0 -21
  272. package/dist/providers/cron.mjs.map +0 -1
  273. package/dist/providers/index.js +0 -11
  274. package/dist/providers/index.js.map +0 -1
  275. package/dist/providers/index.mjs +0 -11
  276. package/dist/providers/index.mjs.map +0 -1
  277. package/dist/providers/provider.js +0 -5
  278. package/dist/providers/provider.js.map +0 -1
  279. package/dist/providers/provider.mjs +0 -5
  280. package/dist/providers/provider.mjs.map +0 -1
  281. package/dist/providers/registries.js +0 -35
  282. package/dist/providers/registries.js.map +0 -1
  283. package/dist/providers/registries.mjs +0 -36
  284. package/dist/providers/registries.mjs.map +0 -1
  285. package/dist/providers/telemetry.js +0 -19
  286. package/dist/providers/telemetry.js.map +0 -1
  287. package/dist/providers/telemetry.mjs +0 -20
  288. package/dist/providers/telemetry.mjs.map +0 -1
  289. package/dist/providers/webhooks.js +0 -30
  290. package/dist/providers/webhooks.js.map +0 -1
  291. package/dist/providers/webhooks.mjs +0 -31
  292. package/dist/providers/webhooks.mjs.map +0 -1
  293. package/dist/registries/apis.js +0 -23
  294. package/dist/registries/apis.js.map +0 -1
  295. package/dist/registries/apis.mjs +0 -24
  296. package/dist/registries/apis.mjs.map +0 -1
  297. package/dist/registries/components.js +0 -45
  298. package/dist/registries/components.js.map +0 -1
  299. package/dist/registries/components.mjs +0 -46
  300. package/dist/registries/components.mjs.map +0 -1
  301. package/dist/registries/content-types.js +0 -70
  302. package/dist/registries/content-types.js.map +0 -1
  303. package/dist/registries/content-types.mjs +0 -71
  304. package/dist/registries/content-types.mjs.map +0 -1
  305. package/dist/registries/controllers.js +0 -80
  306. package/dist/registries/controllers.js.map +0 -1
  307. package/dist/registries/controllers.mjs +0 -81
  308. package/dist/registries/controllers.mjs.map +0 -1
  309. package/dist/registries/custom-fields.js +0 -71
  310. package/dist/registries/custom-fields.js.map +0 -1
  311. package/dist/registries/custom-fields.mjs +0 -72
  312. package/dist/registries/custom-fields.mjs.map +0 -1
  313. package/dist/registries/hooks.js +0 -58
  314. package/dist/registries/hooks.js.map +0 -1
  315. package/dist/registries/hooks.mjs +0 -59
  316. package/dist/registries/hooks.mjs.map +0 -1
  317. package/dist/registries/middlewares.js +0 -60
  318. package/dist/registries/middlewares.js.map +0 -1
  319. package/dist/registries/middlewares.mjs +0 -61
  320. package/dist/registries/middlewares.mjs.map +0 -1
  321. package/dist/registries/models.js +0 -16
  322. package/dist/registries/models.js.map +0 -1
  323. package/dist/registries/models.mjs +0 -16
  324. package/dist/registries/models.mjs.map +0 -1
  325. package/dist/registries/modules.js +0 -39
  326. package/dist/registries/modules.js.map +0 -1
  327. package/dist/registries/modules.mjs +0 -40
  328. package/dist/registries/modules.mjs.map +0 -1
  329. package/dist/registries/namespace.js +0 -27
  330. package/dist/registries/namespace.js.map +0 -1
  331. package/dist/registries/namespace.mjs +0 -27
  332. package/dist/registries/namespace.mjs.map +0 -1
  333. package/dist/registries/plugins.js +0 -23
  334. package/dist/registries/plugins.js.map +0 -1
  335. package/dist/registries/plugins.mjs +0 -24
  336. package/dist/registries/plugins.mjs.map +0 -1
  337. package/dist/registries/policies.js +0 -108
  338. package/dist/registries/policies.js.map +0 -1
  339. package/dist/registries/policies.mjs +0 -109
  340. package/dist/registries/policies.mjs.map +0 -1
  341. package/dist/registries/sanitizers.js +0 -25
  342. package/dist/registries/sanitizers.js.map +0 -1
  343. package/dist/registries/sanitizers.mjs +0 -24
  344. package/dist/registries/sanitizers.mjs.map +0 -1
  345. package/dist/registries/services.js +0 -80
  346. package/dist/registries/services.js.map +0 -1
  347. package/dist/registries/services.mjs +0 -81
  348. package/dist/registries/services.mjs.map +0 -1
  349. package/dist/registries/validators.js +0 -25
  350. package/dist/registries/validators.js.map +0 -1
  351. package/dist/registries/validators.mjs +0 -24
  352. package/dist/registries/validators.mjs.map +0 -1
  353. package/dist/services/auth/index.js +0 -81
  354. package/dist/services/auth/index.js.map +0 -1
  355. package/dist/services/auth/index.mjs +0 -80
  356. package/dist/services/auth/index.mjs.map +0 -1
  357. package/dist/services/config.js +0 -47
  358. package/dist/services/config.js.map +0 -1
  359. package/dist/services/config.mjs +0 -47
  360. package/dist/services/config.mjs.map +0 -1
  361. package/dist/services/content-api/index.js +0 -85
  362. package/dist/services/content-api/index.js.map +0 -1
  363. package/dist/services/content-api/index.mjs +0 -84
  364. package/dist/services/content-api/index.mjs.map +0 -1
  365. package/dist/services/content-api/permissions/engine.js +0 -7
  366. package/dist/services/content-api/permissions/engine.js.map +0 -1
  367. package/dist/services/content-api/permissions/engine.mjs +0 -6
  368. package/dist/services/content-api/permissions/engine.mjs.map +0 -1
  369. package/dist/services/content-api/permissions/index.js +0 -87
  370. package/dist/services/content-api/permissions/index.js.map +0 -1
  371. package/dist/services/content-api/permissions/index.mjs +0 -86
  372. package/dist/services/content-api/permissions/index.mjs.map +0 -1
  373. package/dist/services/content-api/permissions/providers/action.js +0 -16
  374. package/dist/services/content-api/permissions/providers/action.js.map +0 -1
  375. package/dist/services/content-api/permissions/providers/action.mjs +0 -17
  376. package/dist/services/content-api/permissions/providers/action.mjs.map +0 -1
  377. package/dist/services/content-api/permissions/providers/condition.js +0 -16
  378. package/dist/services/content-api/permissions/providers/condition.js.map +0 -1
  379. package/dist/services/content-api/permissions/providers/condition.mjs +0 -17
  380. package/dist/services/content-api/permissions/providers/condition.mjs.map +0 -1
  381. package/dist/services/core-store.js +0 -107
  382. package/dist/services/core-store.js.map +0 -1
  383. package/dist/services/core-store.mjs +0 -107
  384. package/dist/services/core-store.mjs.map +0 -1
  385. package/dist/services/cron.js +0 -68
  386. package/dist/services/cron.js.map +0 -1
  387. package/dist/services/cron.mjs +0 -69
  388. package/dist/services/cron.mjs.map +0 -1
  389. package/dist/services/custom-fields.js +0 -10
  390. package/dist/services/custom-fields.js.map +0 -1
  391. package/dist/services/custom-fields.mjs +0 -11
  392. package/dist/services/custom-fields.mjs.map +0 -1
  393. package/dist/services/document-service/attributes/index.js +0 -22
  394. package/dist/services/document-service/attributes/index.js.map +0 -1
  395. package/dist/services/document-service/attributes/index.mjs +0 -22
  396. package/dist/services/document-service/attributes/index.mjs.map +0 -1
  397. package/dist/services/document-service/attributes/transforms.js +0 -20
  398. package/dist/services/document-service/attributes/transforms.js.map +0 -1
  399. package/dist/services/document-service/attributes/transforms.mjs +0 -19
  400. package/dist/services/document-service/attributes/transforms.mjs.map +0 -1
  401. package/dist/services/document-service/common.js +0 -7
  402. package/dist/services/document-service/common.js.map +0 -1
  403. package/dist/services/document-service/common.mjs +0 -7
  404. package/dist/services/document-service/common.mjs.map +0 -1
  405. package/dist/services/document-service/components.js +0 -288
  406. package/dist/services/document-service/components.js.map +0 -1
  407. package/dist/services/document-service/components.mjs +0 -286
  408. package/dist/services/document-service/components.mjs.map +0 -1
  409. package/dist/services/document-service/draft-and-publish.js +0 -69
  410. package/dist/services/document-service/draft-and-publish.js.map +0 -1
  411. package/dist/services/document-service/draft-and-publish.mjs +0 -69
  412. package/dist/services/document-service/draft-and-publish.mjs.map +0 -1
  413. package/dist/services/document-service/entries.js +0 -95
  414. package/dist/services/document-service/entries.js.map +0 -1
  415. package/dist/services/document-service/entries.mjs +0 -95
  416. package/dist/services/document-service/entries.mjs.map +0 -1
  417. package/dist/services/document-service/events.js +0 -47
  418. package/dist/services/document-service/events.js.map +0 -1
  419. package/dist/services/document-service/events.mjs +0 -47
  420. package/dist/services/document-service/events.mjs.map +0 -1
  421. package/dist/services/document-service/index.js +0 -36
  422. package/dist/services/document-service/index.js.map +0 -1
  423. package/dist/services/document-service/index.mjs +0 -36
  424. package/dist/services/document-service/index.mjs.map +0 -1
  425. package/dist/services/document-service/internationalization.js +0 -63
  426. package/dist/services/document-service/internationalization.js.map +0 -1
  427. package/dist/services/document-service/internationalization.mjs +0 -63
  428. package/dist/services/document-service/internationalization.mjs.map +0 -1
  429. package/dist/services/document-service/middlewares/errors.js +0 -25
  430. package/dist/services/document-service/middlewares/errors.js.map +0 -1
  431. package/dist/services/document-service/middlewares/errors.mjs +0 -25
  432. package/dist/services/document-service/middlewares/errors.mjs.map +0 -1
  433. package/dist/services/document-service/middlewares/middleware-manager.js +0 -49
  434. package/dist/services/document-service/middlewares/middleware-manager.js.map +0 -1
  435. package/dist/services/document-service/middlewares/middleware-manager.mjs +0 -49
  436. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +0 -1
  437. package/dist/services/document-service/params.js +0 -8
  438. package/dist/services/document-service/params.js.map +0 -1
  439. package/dist/services/document-service/params.mjs +0 -8
  440. package/dist/services/document-service/params.mjs.map +0 -1
  441. package/dist/services/document-service/repository.js +0 -329
  442. package/dist/services/document-service/repository.js.map +0 -1
  443. package/dist/services/document-service/repository.mjs +0 -329
  444. package/dist/services/document-service/repository.mjs.map +0 -1
  445. package/dist/services/document-service/transform/data.js +0 -15
  446. package/dist/services/document-service/transform/data.js.map +0 -1
  447. package/dist/services/document-service/transform/data.mjs +0 -15
  448. package/dist/services/document-service/transform/data.mjs.map +0 -1
  449. package/dist/services/document-service/transform/fields.js +0 -24
  450. package/dist/services/document-service/transform/fields.js.map +0 -1
  451. package/dist/services/document-service/transform/fields.mjs +0 -24
  452. package/dist/services/document-service/transform/fields.mjs.map +0 -1
  453. package/dist/services/document-service/transform/id-map.js +0 -87
  454. package/dist/services/document-service/transform/id-map.js.map +0 -1
  455. package/dist/services/document-service/transform/id-map.mjs +0 -87
  456. package/dist/services/document-service/transform/id-map.mjs.map +0 -1
  457. package/dist/services/document-service/transform/id-transform.js +0 -33
  458. package/dist/services/document-service/transform/id-transform.js.map +0 -1
  459. package/dist/services/document-service/transform/id-transform.mjs +0 -33
  460. package/dist/services/document-service/transform/id-transform.mjs.map +0 -1
  461. package/dist/services/document-service/transform/populate.js +0 -21
  462. package/dist/services/document-service/transform/populate.js.map +0 -1
  463. package/dist/services/document-service/transform/populate.mjs +0 -21
  464. package/dist/services/document-service/transform/populate.mjs.map +0 -1
  465. package/dist/services/document-service/transform/query.js +0 -9
  466. package/dist/services/document-service/transform/query.js.map +0 -1
  467. package/dist/services/document-service/transform/query.mjs +0 -9
  468. package/dist/services/document-service/transform/query.mjs.map +0 -1
  469. package/dist/services/document-service/transform/relations/extract/data-ids.js +0 -57
  470. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +0 -1
  471. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +0 -57
  472. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +0 -1
  473. package/dist/services/document-service/transform/relations/transform/data-ids.js +0 -76
  474. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +0 -1
  475. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +0 -76
  476. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +0 -1
  477. package/dist/services/document-service/transform/relations/transform/default-locale.js +0 -32
  478. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +0 -1
  479. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +0 -32
  480. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +0 -1
  481. package/dist/services/document-service/transform/relations/utils/dp.js +0 -30
  482. package/dist/services/document-service/transform/relations/utils/dp.js.map +0 -1
  483. package/dist/services/document-service/transform/relations/utils/dp.mjs +0 -30
  484. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +0 -1
  485. package/dist/services/document-service/transform/relations/utils/i18n.js +0 -25
  486. package/dist/services/document-service/transform/relations/utils/i18n.js.map +0 -1
  487. package/dist/services/document-service/transform/relations/utils/i18n.mjs +0 -25
  488. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +0 -1
  489. package/dist/services/document-service/transform/relations/utils/map-relation.js +0 -91
  490. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +0 -1
  491. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +0 -91
  492. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +0 -1
  493. package/dist/services/document-service/utils/populate.js +0 -47
  494. package/dist/services/document-service/utils/populate.js.map +0 -1
  495. package/dist/services/document-service/utils/populate.mjs +0 -47
  496. package/dist/services/document-service/utils/populate.mjs.map +0 -1
  497. package/dist/services/document-service/utils/unidirectional-relations.js +0 -69
  498. package/dist/services/document-service/utils/unidirectional-relations.js.map +0 -1
  499. package/dist/services/document-service/utils/unidirectional-relations.mjs +0 -69
  500. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +0 -1
  501. package/dist/services/entity-service/index.js +0 -169
  502. package/dist/services/entity-service/index.js.map +0 -1
  503. package/dist/services/entity-service/index.mjs +0 -167
  504. package/dist/services/entity-service/index.mjs.map +0 -1
  505. package/dist/services/entity-validator/blocks-validator.js +0 -128
  506. package/dist/services/entity-validator/blocks-validator.js.map +0 -1
  507. package/dist/services/entity-validator/blocks-validator.mjs +0 -128
  508. package/dist/services/entity-validator/blocks-validator.mjs.map +0 -1
  509. package/dist/services/entity-validator/index.js +0 -389
  510. package/dist/services/entity-validator/index.js.map +0 -1
  511. package/dist/services/entity-validator/index.mjs +0 -388
  512. package/dist/services/entity-validator/index.mjs.map +0 -1
  513. package/dist/services/entity-validator/validators.js +0 -241
  514. package/dist/services/entity-validator/validators.js.map +0 -1
  515. package/dist/services/entity-validator/validators.mjs +0 -239
  516. package/dist/services/entity-validator/validators.mjs.map +0 -1
  517. package/dist/services/errors.js +0 -76
  518. package/dist/services/errors.js.map +0 -1
  519. package/dist/services/errors.mjs +0 -74
  520. package/dist/services/errors.mjs.map +0 -1
  521. package/dist/services/event-hub.js +0 -72
  522. package/dist/services/event-hub.js.map +0 -1
  523. package/dist/services/event-hub.mjs +0 -73
  524. package/dist/services/event-hub.mjs.map +0 -1
  525. package/dist/services/features.js +0 -17
  526. package/dist/services/features.js.map +0 -1
  527. package/dist/services/features.mjs +0 -17
  528. package/dist/services/features.mjs.map +0 -1
  529. package/dist/services/fs.js +0 -51
  530. package/dist/services/fs.js.map +0 -1
  531. package/dist/services/fs.mjs +0 -49
  532. package/dist/services/fs.mjs.map +0 -1
  533. package/dist/services/metrics/admin-user-hash.js +0 -14
  534. package/dist/services/metrics/admin-user-hash.js.map +0 -1
  535. package/dist/services/metrics/admin-user-hash.mjs +0 -12
  536. package/dist/services/metrics/admin-user-hash.mjs.map +0 -1
  537. package/dist/services/metrics/index.js +0 -45
  538. package/dist/services/metrics/index.js.map +0 -1
  539. package/dist/services/metrics/index.mjs +0 -46
  540. package/dist/services/metrics/index.mjs.map +0 -1
  541. package/dist/services/metrics/is-truthy.js +0 -9
  542. package/dist/services/metrics/is-truthy.js.map +0 -1
  543. package/dist/services/metrics/is-truthy.mjs +0 -8
  544. package/dist/services/metrics/is-truthy.mjs.map +0 -1
  545. package/dist/services/metrics/middleware.js +0 -25
  546. package/dist/services/metrics/middleware.js.map +0 -1
  547. package/dist/services/metrics/middleware.mjs +0 -26
  548. package/dist/services/metrics/middleware.mjs.map +0 -1
  549. package/dist/services/metrics/rate-limiter.js +0 -21
  550. package/dist/services/metrics/rate-limiter.js.map +0 -1
  551. package/dist/services/metrics/rate-limiter.mjs +0 -22
  552. package/dist/services/metrics/rate-limiter.mjs.map +0 -1
  553. package/dist/services/metrics/sender.js +0 -76
  554. package/dist/services/metrics/sender.js.map +0 -1
  555. package/dist/services/metrics/sender.mjs +0 -70
  556. package/dist/services/metrics/sender.mjs.map +0 -1
  557. package/dist/services/query-params.js +0 -12
  558. package/dist/services/query-params.js.map +0 -1
  559. package/dist/services/query-params.mjs +0 -13
  560. package/dist/services/query-params.mjs.map +0 -1
  561. package/dist/services/reloader.js +0 -36
  562. package/dist/services/reloader.js.map +0 -1
  563. package/dist/services/reloader.mjs +0 -36
  564. package/dist/services/reloader.mjs.map +0 -1
  565. package/dist/services/request-context.js +0 -13
  566. package/dist/services/request-context.js.map +0 -1
  567. package/dist/services/request-context.mjs +0 -14
  568. package/dist/services/request-context.mjs.map +0 -1
  569. package/dist/services/server/admin-api.js +0 -13
  570. package/dist/services/server/admin-api.js.map +0 -1
  571. package/dist/services/server/admin-api.mjs +0 -13
  572. package/dist/services/server/admin-api.mjs.map +0 -1
  573. package/dist/services/server/api.js +0 -30
  574. package/dist/services/server/api.js.map +0 -1
  575. package/dist/services/server/api.mjs +0 -28
  576. package/dist/services/server/api.mjs.map +0 -1
  577. package/dist/services/server/compose-endpoint.js +0 -117
  578. package/dist/services/server/compose-endpoint.js.map +0 -1
  579. package/dist/services/server/compose-endpoint.mjs +0 -116
  580. package/dist/services/server/compose-endpoint.mjs.map +0 -1
  581. package/dist/services/server/content-api.js +0 -12
  582. package/dist/services/server/content-api.js.map +0 -1
  583. package/dist/services/server/content-api.mjs +0 -12
  584. package/dist/services/server/content-api.mjs.map +0 -1
  585. package/dist/services/server/http-server.js +0 -50
  586. package/dist/services/server/http-server.js.map +0 -1
  587. package/dist/services/server/http-server.mjs +0 -48
  588. package/dist/services/server/http-server.mjs.map +0 -1
  589. package/dist/services/server/index.js +0 -87
  590. package/dist/services/server/index.js.map +0 -1
  591. package/dist/services/server/index.mjs +0 -85
  592. package/dist/services/server/index.mjs.map +0 -1
  593. package/dist/services/server/koa.js +0 -52
  594. package/dist/services/server/koa.js.map +0 -1
  595. package/dist/services/server/koa.mjs +0 -48
  596. package/dist/services/server/koa.mjs.map +0 -1
  597. package/dist/services/server/middleware.js +0 -92
  598. package/dist/services/server/middleware.js.map +0 -1
  599. package/dist/services/server/middleware.mjs +0 -90
  600. package/dist/services/server/middleware.mjs.map +0 -1
  601. package/dist/services/server/policy.js +0 -20
  602. package/dist/services/server/policy.js.map +0 -1
  603. package/dist/services/server/policy.mjs +0 -20
  604. package/dist/services/server/policy.mjs.map +0 -1
  605. package/dist/services/server/register-middlewares.js +0 -72
  606. package/dist/services/server/register-middlewares.js.map +0 -1
  607. package/dist/services/server/register-middlewares.mjs +0 -73
  608. package/dist/services/server/register-middlewares.mjs.map +0 -1
  609. package/dist/services/server/register-routes.js +0 -76
  610. package/dist/services/server/register-routes.js.map +0 -1
  611. package/dist/services/server/register-routes.mjs +0 -75
  612. package/dist/services/server/register-routes.mjs.map +0 -1
  613. package/dist/services/server/routing.js +0 -91
  614. package/dist/services/server/routing.js.map +0 -1
  615. package/dist/services/server/routing.mjs +0 -89
  616. package/dist/services/server/routing.mjs.map +0 -1
  617. package/dist/services/utils/dynamic-zones.js +0 -17
  618. package/dist/services/utils/dynamic-zones.js.map +0 -1
  619. package/dist/services/utils/dynamic-zones.mjs +0 -18
  620. package/dist/services/utils/dynamic-zones.mjs.map +0 -1
  621. package/dist/services/webhook-runner.js +0 -133
  622. package/dist/services/webhook-runner.js.map +0 -1
  623. package/dist/services/webhook-runner.mjs +0 -131
  624. package/dist/services/webhook-runner.mjs.map +0 -1
  625. package/dist/services/webhook-store.js +0 -110
  626. package/dist/services/webhook-store.js.map +0 -1
  627. package/dist/services/webhook-store.mjs +0 -110
  628. package/dist/services/webhook-store.mjs.map +0 -1
  629. package/dist/services/worker-queue.js +0 -56
  630. package/dist/services/worker-queue.js.map +0 -1
  631. package/dist/services/worker-queue.mjs +0 -55
  632. package/dist/services/worker-queue.mjs.map +0 -1
  633. package/dist/utils/convert-custom-field-type.js +0 -24
  634. package/dist/utils/convert-custom-field-type.js.map +0 -1
  635. package/dist/utils/convert-custom-field-type.mjs +0 -24
  636. package/dist/utils/convert-custom-field-type.mjs.map +0 -1
  637. package/dist/utils/cron.js +0 -38
  638. package/dist/utils/cron.js.map +0 -1
  639. package/dist/utils/cron.mjs +0 -38
  640. package/dist/utils/cron.mjs.map +0 -1
  641. package/dist/utils/fetch.js +0 -21
  642. package/dist/utils/fetch.js.map +0 -1
  643. package/dist/utils/fetch.mjs +0 -21
  644. package/dist/utils/fetch.mjs.map +0 -1
  645. package/dist/utils/filepath-to-prop-path.js +0 -33
  646. package/dist/utils/filepath-to-prop-path.js.map +0 -1
  647. package/dist/utils/filepath-to-prop-path.mjs +0 -30
  648. package/dist/utils/filepath-to-prop-path.mjs.map +0 -1
  649. package/dist/utils/is-initialized.js +0 -16
  650. package/dist/utils/is-initialized.js.map +0 -1
  651. package/dist/utils/is-initialized.mjs +0 -16
  652. package/dist/utils/is-initialized.mjs.map +0 -1
  653. package/dist/utils/lifecycles.js +0 -9
  654. package/dist/utils/lifecycles.js.map +0 -1
  655. package/dist/utils/lifecycles.mjs +0 -9
  656. package/dist/utils/lifecycles.mjs.map +0 -1
  657. package/dist/utils/load-config-file.js +0 -45
  658. package/dist/utils/load-config-file.js.map +0 -1
  659. package/dist/utils/load-config-file.mjs +0 -42
  660. package/dist/utils/load-config-file.mjs.map +0 -1
  661. package/dist/utils/load-files.js +0 -39
  662. package/dist/utils/load-files.js.map +0 -1
  663. package/dist/utils/load-files.mjs +0 -35
  664. package/dist/utils/load-files.mjs.map +0 -1
  665. package/dist/utils/open-browser.js +0 -11
  666. package/dist/utils/open-browser.js.map +0 -1
  667. package/dist/utils/open-browser.mjs +0 -9
  668. package/dist/utils/open-browser.mjs.map +0 -1
  669. package/dist/utils/resolve-working-dirs.js +0 -13
  670. package/dist/utils/resolve-working-dirs.js.map +0 -1
  671. package/dist/utils/resolve-working-dirs.mjs +0 -11
  672. package/dist/utils/resolve-working-dirs.mjs.map +0 -1
  673. package/dist/utils/signals.js +0 -17
  674. package/dist/utils/signals.js.map +0 -1
  675. package/dist/utils/signals.mjs +0 -17
  676. package/dist/utils/signals.mjs.map +0 -1
  677. package/dist/utils/startup-logger.js +0 -81
  678. package/dist/utils/startup-logger.js.map +0 -1
  679. package/dist/utils/startup-logger.mjs +0 -77
  680. package/dist/utils/startup-logger.mjs.map +0 -1
  681. package/dist/utils/transform-content-types-to-models.js +0 -288
  682. package/dist/utils/transform-content-types-to-models.js.map +0 -1
  683. package/dist/utils/transform-content-types-to-models.mjs +0 -285
  684. package/dist/utils/transform-content-types-to-models.mjs.map +0 -1
  685. package/dist/utils/update-notifier/index.js +0 -85
  686. package/dist/utils/update-notifier/index.js.map +0 -1
  687. package/dist/utils/update-notifier/index.mjs +0 -78
  688. package/dist/utils/update-notifier/index.mjs.map +0 -1
package/dist/factories.js DELETED
@@ -1,80 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const fp = require("lodash/fp");
4
- const index = require("./core-api/controller/index.js");
5
- const index$1 = require("./core-api/service/index.js");
6
- const index$2 = require("./core-api/routes/index.js");
7
- const symbols = {
8
- CustomController: Symbol("StrapiCustomCoreController")
9
- };
10
- const createCoreController = (uid, cfg) => {
11
- return ({
12
- strapi: strapi2
13
- }) => {
14
- const baseController = index.createController({ contentType: strapi2.contentType(uid) });
15
- const userCtrl = typeof cfg === "function" ? cfg({ strapi: strapi2 }) : cfg ?? {};
16
- for (const methodName of Object.keys(baseController)) {
17
- if (userCtrl[methodName] === void 0) {
18
- userCtrl[methodName] = baseController[methodName];
19
- }
20
- }
21
- Object.setPrototypeOf(userCtrl, baseController);
22
- const isCustom = typeof cfg !== "undefined";
23
- if (isCustom) {
24
- Object.defineProperty(userCtrl, symbols.CustomController, {
25
- writable: false,
26
- configurable: false,
27
- enumerable: false
28
- });
29
- }
30
- return userCtrl;
31
- };
32
- };
33
- function createCoreService(uid, cfg) {
34
- return ({
35
- strapi: strapi2
36
- }) => {
37
- const baseService = index$1.createService({ contentType: strapi2.contentType(uid) });
38
- const userService = typeof cfg === "function" ? cfg({ strapi: strapi2 }) : cfg ?? {};
39
- for (const methodName of Object.keys(baseService)) {
40
- if (userService[methodName] === void 0) {
41
- userService[methodName] = baseService[methodName];
42
- }
43
- }
44
- Object.setPrototypeOf(userService, baseService);
45
- return userService;
46
- };
47
- }
48
- function createCoreRouter(uid, cfg) {
49
- const { prefix, config = {}, only, except, type = "content-api" } = cfg ?? {};
50
- let routes;
51
- return {
52
- type,
53
- prefix,
54
- get routes() {
55
- if (!routes) {
56
- const contentType = strapi.contentType(uid);
57
- const defaultRoutes = index$2.createRoutes({ contentType });
58
- const keys = Object.keys(defaultRoutes);
59
- keys.forEach((routeName) => {
60
- const defaultRoute = defaultRoutes[routeName];
61
- Object.assign(defaultRoute.config, config[routeName] || {});
62
- });
63
- const selectedRoutes = fp.pipe(
64
- (routes2) => except ? fp.omit(except, routes2) : routes2,
65
- (routes2) => only ? fp.pick(only, routes2) : routes2
66
- )(defaultRoutes);
67
- routes = Object.values(selectedRoutes);
68
- }
69
- return routes;
70
- }
71
- };
72
- }
73
- const isCustomController = (controller) => {
74
- return symbols.CustomController in controller;
75
- };
76
- exports.createCoreController = createCoreController;
77
- exports.createCoreRouter = createCoreRouter;
78
- exports.createCoreService = createCoreService;
79
- exports.isCustomController = isCustomController;
80
- //# sourceMappingURL=factories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"factories.js","sources":["../src/factories.ts"],"sourcesContent":["import { pipe, omit, pick } from 'lodash/fp';\nimport type { Core, UID, Utils } from '@strapi/types';\n\nimport { createController } from './core-api/controller';\nimport { createService } from './core-api/service';\nimport { createRoutes } from './core-api/routes';\n\nconst symbols = {\n CustomController: Symbol('StrapiCustomCoreController'),\n} as const;\n\ntype WithStrapiCallback<T> = T | (<S extends { strapi: Core.Strapi }>(params: S) => T);\n\nconst createCoreController = <\n TUID extends UID.ContentType,\n TController extends Core.CoreAPI.Controller.Extendable<TUID>,\n>(\n uid: TUID,\n cfg?: WithStrapiCallback<\n Utils.PartialWithThis<Core.CoreAPI.Controller.Extendable<TUID> & TController>\n >\n) => {\n return ({\n strapi,\n }: {\n strapi: Core.Strapi;\n }): TController & Core.CoreAPI.Controller.ContentType<TUID> => {\n const baseController = createController({ contentType: strapi.contentType(uid) });\n\n const userCtrl = typeof cfg === 'function' ? cfg({ strapi }) : (cfg ?? ({} as any));\n\n for (const methodName of Object.keys(baseController) as Array<keyof typeof baseController>) {\n if (userCtrl[methodName] === undefined) {\n userCtrl[methodName] = baseController[methodName];\n }\n }\n\n Object.setPrototypeOf(userCtrl, baseController);\n\n const isCustom = typeof cfg !== 'undefined';\n if (isCustom) {\n Object.defineProperty(userCtrl, symbols.CustomController, {\n writable: false,\n configurable: false,\n enumerable: false,\n });\n }\n\n return userCtrl;\n };\n};\n\nfunction createCoreService<\n TUID extends UID.ContentType,\n TService extends Core.CoreAPI.Service.Extendable<TUID>,\n>(\n uid: TUID,\n cfg?: WithStrapiCallback<Utils.PartialWithThis<Core.CoreAPI.Service.Extendable<TUID> & TService>>\n) {\n return ({\n strapi,\n }: {\n strapi: Core.Strapi;\n }): TService & Core.CoreAPI.Service.ContentType<TUID> => {\n const baseService = createService({ contentType: strapi.contentType(uid) });\n\n const userService = typeof cfg === 'function' ? cfg({ strapi }) : (cfg ?? ({} as any));\n\n for (const methodName of Object.keys(baseService) as Array<keyof typeof baseService>) {\n if (userService[methodName] === undefined) {\n userService[methodName] = baseService[methodName];\n }\n }\n\n Object.setPrototypeOf(userService, baseService);\n return userService;\n };\n}\n\nfunction createCoreRouter<T extends UID.ContentType>(\n uid: T,\n cfg?: Core.CoreAPI.Router.RouterConfig<T>\n): Core.CoreAPI.Router.Router {\n const { prefix, config = {}, only, except, type = 'content-api' } = cfg ?? {};\n let routes: Core.CoreAPI.Router.Route[];\n\n return {\n type,\n prefix,\n get routes() {\n if (!routes) {\n const contentType = strapi.contentType(uid);\n\n const defaultRoutes = createRoutes({ contentType });\n const keys = Object.keys(defaultRoutes) as Array<keyof typeof defaultRoutes>;\n\n keys.forEach((routeName) => {\n const defaultRoute = defaultRoutes[routeName];\n\n Object.assign(defaultRoute.config, config[routeName] || {});\n });\n\n const selectedRoutes = pipe(\n (routes) => (except ? omit(except, routes) : routes),\n (routes) => (only ? pick(only, routes) : routes)\n )(defaultRoutes);\n\n routes = Object.values(selectedRoutes);\n }\n\n return routes;\n },\n };\n}\n\nconst isCustomController = <T extends Core.Controller>(controller: T): boolean => {\n return symbols.CustomController in controller;\n};\n\nexport { createCoreController, createCoreService, createCoreRouter, isCustomController };\n"],"names":["strapi","createController","createService","createRoutes","pipe","routes","omit","pick"],"mappings":";;;;;;AAOA,MAAM,UAAU;AAAA,EACd,kBAAkB,OAAO,4BAA4B;AACvD;AAIM,MAAA,uBAAuB,CAI3B,KACA,QAGG;AACH,SAAO,CAAC;AAAA,IACN,QAAAA;AAAAA,EAAA,MAG6D;AACvD,UAAA,iBAAiBC,uBAAiB,EAAE,aAAaD,QAAO,YAAY,GAAG,GAAG;AAE1E,UAAA,WAAW,OAAO,QAAQ,aAAa,IAAI,EAAE,QAAAA,QAAQ,CAAA,IAAK,OAAQ;AAExE,eAAW,cAAc,OAAO,KAAK,cAAc,GAAyC;AACtF,UAAA,SAAS,UAAU,MAAM,QAAW;AAC7B,iBAAA,UAAU,IAAI,eAAe,UAAU;AAAA,MAClD;AAAA,IACF;AAEO,WAAA,eAAe,UAAU,cAAc;AAExC,UAAA,WAAW,OAAO,QAAQ;AAChC,QAAI,UAAU;AACL,aAAA,eAAe,UAAU,QAAQ,kBAAkB;AAAA,QACxD,UAAU;AAAA,QACV,cAAc;AAAA,QACd,YAAY;AAAA,MAAA,CACb;AAAA,IACH;AAEO,WAAA;AAAA,EAAA;AAEX;AAEA,SAAS,kBAIP,KACA,KACA;AACA,SAAO,CAAC;AAAA,IACN,QAAAA;AAAAA,EAAA,MAGuD;AACjD,UAAA,cAAcE,sBAAc,EAAE,aAAaF,QAAO,YAAY,GAAG,GAAG;AAEpE,UAAA,cAAc,OAAO,QAAQ,aAAa,IAAI,EAAE,QAAAA,QAAQ,CAAA,IAAK,OAAQ;AAE3E,eAAW,cAAc,OAAO,KAAK,WAAW,GAAsC;AAChF,UAAA,YAAY,UAAU,MAAM,QAAW;AAC7B,oBAAA,UAAU,IAAI,YAAY,UAAU;AAAA,MAClD;AAAA,IACF;AAEO,WAAA,eAAe,aAAa,WAAW;AACvC,WAAA;AAAA,EAAA;AAEX;AAEA,SAAS,iBACP,KACA,KAC4B;AACtB,QAAA,EAAE,QAAQ,SAAS,CAAA,GAAI,MAAM,QAAQ,OAAO,cAAA,IAAkB,OAAO;AACvE,MAAA;AAEG,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA,IAAI,SAAS;AACX,UAAI,CAAC,QAAQ;AACL,cAAA,cAAc,OAAO,YAAY,GAAG;AAE1C,cAAM,gBAAgBG,QAAAA,aAAa,EAAE,YAAa,CAAA;AAC5C,cAAA,OAAO,OAAO,KAAK,aAAa;AAEjC,aAAA,QAAQ,CAAC,cAAc;AACpB,gBAAA,eAAe,cAAc,SAAS;AAE5C,iBAAO,OAAO,aAAa,QAAQ,OAAO,SAAS,KAAK,CAAA,CAAE;AAAA,QAAA,CAC3D;AAED,cAAM,iBAAiBC,GAAA;AAAA,UACrB,CAACC,YAAY,SAASC,GAAAA,KAAK,QAAQD,OAAM,IAAIA;AAAAA,UAC7C,CAACA,YAAY,OAAOE,GAAAA,KAAK,MAAMF,OAAM,IAAIA;AAAAA,UACzC,aAAa;AAEN,iBAAA,OAAO,OAAO,cAAc;AAAA,MACvC;AAEO,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;AAEM,MAAA,qBAAqB,CAA4B,eAA2B;AAChF,SAAO,QAAQ,oBAAoB;AACrC;;;;;"}
@@ -1,80 +0,0 @@
1
- import { pipe, omit, pick } from "lodash/fp";
2
- import { createController } from "./core-api/controller/index.mjs";
3
- import { createService } from "./core-api/service/index.mjs";
4
- import { createRoutes } from "./core-api/routes/index.mjs";
5
- const symbols = {
6
- CustomController: Symbol("StrapiCustomCoreController")
7
- };
8
- const createCoreController = (uid, cfg) => {
9
- return ({
10
- strapi: strapi2
11
- }) => {
12
- const baseController = createController({ contentType: strapi2.contentType(uid) });
13
- const userCtrl = typeof cfg === "function" ? cfg({ strapi: strapi2 }) : cfg ?? {};
14
- for (const methodName of Object.keys(baseController)) {
15
- if (userCtrl[methodName] === void 0) {
16
- userCtrl[methodName] = baseController[methodName];
17
- }
18
- }
19
- Object.setPrototypeOf(userCtrl, baseController);
20
- const isCustom = typeof cfg !== "undefined";
21
- if (isCustom) {
22
- Object.defineProperty(userCtrl, symbols.CustomController, {
23
- writable: false,
24
- configurable: false,
25
- enumerable: false
26
- });
27
- }
28
- return userCtrl;
29
- };
30
- };
31
- function createCoreService(uid, cfg) {
32
- return ({
33
- strapi: strapi2
34
- }) => {
35
- const baseService = createService({ contentType: strapi2.contentType(uid) });
36
- const userService = typeof cfg === "function" ? cfg({ strapi: strapi2 }) : cfg ?? {};
37
- for (const methodName of Object.keys(baseService)) {
38
- if (userService[methodName] === void 0) {
39
- userService[methodName] = baseService[methodName];
40
- }
41
- }
42
- Object.setPrototypeOf(userService, baseService);
43
- return userService;
44
- };
45
- }
46
- function createCoreRouter(uid, cfg) {
47
- const { prefix, config = {}, only, except, type = "content-api" } = cfg ?? {};
48
- let routes;
49
- return {
50
- type,
51
- prefix,
52
- get routes() {
53
- if (!routes) {
54
- const contentType = strapi.contentType(uid);
55
- const defaultRoutes = createRoutes({ contentType });
56
- const keys = Object.keys(defaultRoutes);
57
- keys.forEach((routeName) => {
58
- const defaultRoute = defaultRoutes[routeName];
59
- Object.assign(defaultRoute.config, config[routeName] || {});
60
- });
61
- const selectedRoutes = pipe(
62
- (routes2) => except ? omit(except, routes2) : routes2,
63
- (routes2) => only ? pick(only, routes2) : routes2
64
- )(defaultRoutes);
65
- routes = Object.values(selectedRoutes);
66
- }
67
- return routes;
68
- }
69
- };
70
- }
71
- const isCustomController = (controller) => {
72
- return symbols.CustomController in controller;
73
- };
74
- export {
75
- createCoreController,
76
- createCoreRouter,
77
- createCoreService,
78
- isCustomController
79
- };
80
- //# sourceMappingURL=factories.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"factories.mjs","sources":["../src/factories.ts"],"sourcesContent":["import { pipe, omit, pick } from 'lodash/fp';\nimport type { Core, UID, Utils } from '@strapi/types';\n\nimport { createController } from './core-api/controller';\nimport { createService } from './core-api/service';\nimport { createRoutes } from './core-api/routes';\n\nconst symbols = {\n CustomController: Symbol('StrapiCustomCoreController'),\n} as const;\n\ntype WithStrapiCallback<T> = T | (<S extends { strapi: Core.Strapi }>(params: S) => T);\n\nconst createCoreController = <\n TUID extends UID.ContentType,\n TController extends Core.CoreAPI.Controller.Extendable<TUID>,\n>(\n uid: TUID,\n cfg?: WithStrapiCallback<\n Utils.PartialWithThis<Core.CoreAPI.Controller.Extendable<TUID> & TController>\n >\n) => {\n return ({\n strapi,\n }: {\n strapi: Core.Strapi;\n }): TController & Core.CoreAPI.Controller.ContentType<TUID> => {\n const baseController = createController({ contentType: strapi.contentType(uid) });\n\n const userCtrl = typeof cfg === 'function' ? cfg({ strapi }) : (cfg ?? ({} as any));\n\n for (const methodName of Object.keys(baseController) as Array<keyof typeof baseController>) {\n if (userCtrl[methodName] === undefined) {\n userCtrl[methodName] = baseController[methodName];\n }\n }\n\n Object.setPrototypeOf(userCtrl, baseController);\n\n const isCustom = typeof cfg !== 'undefined';\n if (isCustom) {\n Object.defineProperty(userCtrl, symbols.CustomController, {\n writable: false,\n configurable: false,\n enumerable: false,\n });\n }\n\n return userCtrl;\n };\n};\n\nfunction createCoreService<\n TUID extends UID.ContentType,\n TService extends Core.CoreAPI.Service.Extendable<TUID>,\n>(\n uid: TUID,\n cfg?: WithStrapiCallback<Utils.PartialWithThis<Core.CoreAPI.Service.Extendable<TUID> & TService>>\n) {\n return ({\n strapi,\n }: {\n strapi: Core.Strapi;\n }): TService & Core.CoreAPI.Service.ContentType<TUID> => {\n const baseService = createService({ contentType: strapi.contentType(uid) });\n\n const userService = typeof cfg === 'function' ? cfg({ strapi }) : (cfg ?? ({} as any));\n\n for (const methodName of Object.keys(baseService) as Array<keyof typeof baseService>) {\n if (userService[methodName] === undefined) {\n userService[methodName] = baseService[methodName];\n }\n }\n\n Object.setPrototypeOf(userService, baseService);\n return userService;\n };\n}\n\nfunction createCoreRouter<T extends UID.ContentType>(\n uid: T,\n cfg?: Core.CoreAPI.Router.RouterConfig<T>\n): Core.CoreAPI.Router.Router {\n const { prefix, config = {}, only, except, type = 'content-api' } = cfg ?? {};\n let routes: Core.CoreAPI.Router.Route[];\n\n return {\n type,\n prefix,\n get routes() {\n if (!routes) {\n const contentType = strapi.contentType(uid);\n\n const defaultRoutes = createRoutes({ contentType });\n const keys = Object.keys(defaultRoutes) as Array<keyof typeof defaultRoutes>;\n\n keys.forEach((routeName) => {\n const defaultRoute = defaultRoutes[routeName];\n\n Object.assign(defaultRoute.config, config[routeName] || {});\n });\n\n const selectedRoutes = pipe(\n (routes) => (except ? omit(except, routes) : routes),\n (routes) => (only ? pick(only, routes) : routes)\n )(defaultRoutes);\n\n routes = Object.values(selectedRoutes);\n }\n\n return routes;\n },\n };\n}\n\nconst isCustomController = <T extends Core.Controller>(controller: T): boolean => {\n return symbols.CustomController in controller;\n};\n\nexport { createCoreController, createCoreService, createCoreRouter, isCustomController };\n"],"names":["strapi","routes"],"mappings":";;;;AAOA,MAAM,UAAU;AAAA,EACd,kBAAkB,OAAO,4BAA4B;AACvD;AAIM,MAAA,uBAAuB,CAI3B,KACA,QAGG;AACH,SAAO,CAAC;AAAA,IACN,QAAAA;AAAAA,EAAA,MAG6D;AACvD,UAAA,iBAAiB,iBAAiB,EAAE,aAAaA,QAAO,YAAY,GAAG,GAAG;AAE1E,UAAA,WAAW,OAAO,QAAQ,aAAa,IAAI,EAAE,QAAAA,QAAQ,CAAA,IAAK,OAAQ;AAExE,eAAW,cAAc,OAAO,KAAK,cAAc,GAAyC;AACtF,UAAA,SAAS,UAAU,MAAM,QAAW;AAC7B,iBAAA,UAAU,IAAI,eAAe,UAAU;AAAA,MAClD;AAAA,IACF;AAEO,WAAA,eAAe,UAAU,cAAc;AAExC,UAAA,WAAW,OAAO,QAAQ;AAChC,QAAI,UAAU;AACL,aAAA,eAAe,UAAU,QAAQ,kBAAkB;AAAA,QACxD,UAAU;AAAA,QACV,cAAc;AAAA,QACd,YAAY;AAAA,MAAA,CACb;AAAA,IACH;AAEO,WAAA;AAAA,EAAA;AAEX;AAEA,SAAS,kBAIP,KACA,KACA;AACA,SAAO,CAAC;AAAA,IACN,QAAAA;AAAAA,EAAA,MAGuD;AACjD,UAAA,cAAc,cAAc,EAAE,aAAaA,QAAO,YAAY,GAAG,GAAG;AAEpE,UAAA,cAAc,OAAO,QAAQ,aAAa,IAAI,EAAE,QAAAA,QAAQ,CAAA,IAAK,OAAQ;AAE3E,eAAW,cAAc,OAAO,KAAK,WAAW,GAAsC;AAChF,UAAA,YAAY,UAAU,MAAM,QAAW;AAC7B,oBAAA,UAAU,IAAI,YAAY,UAAU;AAAA,MAClD;AAAA,IACF;AAEO,WAAA,eAAe,aAAa,WAAW;AACvC,WAAA;AAAA,EAAA;AAEX;AAEA,SAAS,iBACP,KACA,KAC4B;AACtB,QAAA,EAAE,QAAQ,SAAS,CAAA,GAAI,MAAM,QAAQ,OAAO,cAAA,IAAkB,OAAO;AACvE,MAAA;AAEG,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA,IAAI,SAAS;AACX,UAAI,CAAC,QAAQ;AACL,cAAA,cAAc,OAAO,YAAY,GAAG;AAE1C,cAAM,gBAAgB,aAAa,EAAE,YAAa,CAAA;AAC5C,cAAA,OAAO,OAAO,KAAK,aAAa;AAEjC,aAAA,QAAQ,CAAC,cAAc;AACpB,gBAAA,eAAe,cAAc,SAAS;AAE5C,iBAAO,OAAO,aAAa,QAAQ,OAAO,SAAS,KAAK,CAAA,CAAE;AAAA,QAAA,CAC3D;AAED,cAAM,iBAAiB;AAAA,UACrB,CAACC,YAAY,SAAS,KAAK,QAAQA,OAAM,IAAIA;AAAAA,UAC7C,CAACA,YAAY,OAAO,KAAK,MAAMA,OAAM,IAAIA;AAAAA,UACzC,aAAa;AAEN,iBAAA,OAAO,OAAO,cAAc;AAAA,MACvC;AAEO,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;AAEM,MAAA,qBAAqB,CAA4B,eAA2B;AAChF,SAAO,QAAQ,oBAAoB;AACrC;"}
@@ -1,26 +0,0 @@
1
- "use strict";
2
- const _ = require("lodash");
3
- const index = require("../domain/content-type/index.js");
4
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
5
- const ___default = /* @__PURE__ */ _interopDefault(_);
6
- async function loadAdmin(strapi) {
7
- strapi.get("services").add(`admin::`, strapi.admin?.services);
8
- strapi.get("controllers").add(`admin::`, strapi.admin?.controllers);
9
- strapi.get("content-types").add(`admin::`, formatContentTypes(strapi.admin?.contentTypes ?? {}));
10
- strapi.get("policies").add(`admin::`, strapi.admin?.policies);
11
- strapi.get("middlewares").add(`admin::`, strapi.admin?.middlewares);
12
- const userAdminConfig = strapi.config.get("admin");
13
- strapi.get("config").set("admin", ___default.default.merge(strapi.admin?.config, userAdminConfig));
14
- }
15
- const formatContentTypes = (contentTypes) => {
16
- Object.values(contentTypes).forEach((definition) => {
17
- const { schema } = definition;
18
- Object.assign(schema, {
19
- plugin: "admin",
20
- globalId: index.getGlobalId(schema, "admin")
21
- });
22
- });
23
- return contentTypes;
24
- };
25
- module.exports = loadAdmin;
26
- //# sourceMappingURL=admin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin.js","sources":["../../src/loaders/admin.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Core, Struct } from '@strapi/types';\nimport { getGlobalId } from '../domain/content-type';\n\nexport default async function loadAdmin(strapi: Core.Strapi) {\n // strapi.admin = require('@strapi/admin/strapi-server');\n\n strapi.get('services').add(`admin::`, strapi.admin?.services);\n strapi.get('controllers').add(`admin::`, strapi.admin?.controllers);\n strapi.get('content-types').add(`admin::`, formatContentTypes(strapi.admin?.contentTypes ?? {}));\n strapi.get('policies').add(`admin::`, strapi.admin?.policies);\n strapi.get('middlewares').add(`admin::`, strapi.admin?.middlewares);\n\n const userAdminConfig = strapi.config.get('admin');\n strapi.get('config').set('admin', _.merge(strapi.admin?.config, userAdminConfig));\n}\n\nconst formatContentTypes = (contentTypes: Record<string, { schema: Struct.ContentTypeSchema }>) => {\n Object.values(contentTypes).forEach((definition) => {\n const { schema } = definition;\n\n Object.assign(schema, {\n plugin: 'admin',\n globalId: getGlobalId(schema, 'admin'),\n });\n });\n\n return contentTypes;\n};\n"],"names":["_","getGlobalId"],"mappings":";;;;;AAIA,eAA8B,UAAU,QAAqB;AAG3D,SAAO,IAAI,UAAU,EAAE,IAAI,WAAW,OAAO,OAAO,QAAQ;AAC5D,SAAO,IAAI,aAAa,EAAE,IAAI,WAAW,OAAO,OAAO,WAAW;AAC3D,SAAA,IAAI,eAAe,EAAE,IAAI,WAAW,mBAAmB,OAAO,OAAO,gBAAgB,CAAA,CAAE,CAAC;AAC/F,SAAO,IAAI,UAAU,EAAE,IAAI,WAAW,OAAO,OAAO,QAAQ;AAC5D,SAAO,IAAI,aAAa,EAAE,IAAI,WAAW,OAAO,OAAO,WAAW;AAElE,QAAM,kBAAkB,OAAO,OAAO,IAAI,OAAO;AAC1C,SAAA,IAAI,QAAQ,EAAE,IAAI,SAASA,WAAAA,QAAE,MAAM,OAAO,OAAO,QAAQ,eAAe,CAAC;AAClF;AAEA,MAAM,qBAAqB,CAAC,iBAAuE;AACjG,SAAO,OAAO,YAAY,EAAE,QAAQ,CAAC,eAAe;AAC5C,UAAA,EAAE,OAAW,IAAA;AAEnB,WAAO,OAAO,QAAQ;AAAA,MACpB,QAAQ;AAAA,MACR,UAAUC,MAAAA,YAAY,QAAQ,OAAO;AAAA,IAAA,CACtC;AAAA,EAAA,CACF;AAEM,SAAA;AACT;;"}
@@ -1,25 +0,0 @@
1
- import _ from "lodash";
2
- import { getGlobalId } from "../domain/content-type/index.mjs";
3
- async function loadAdmin(strapi) {
4
- strapi.get("services").add(`admin::`, strapi.admin?.services);
5
- strapi.get("controllers").add(`admin::`, strapi.admin?.controllers);
6
- strapi.get("content-types").add(`admin::`, formatContentTypes(strapi.admin?.contentTypes ?? {}));
7
- strapi.get("policies").add(`admin::`, strapi.admin?.policies);
8
- strapi.get("middlewares").add(`admin::`, strapi.admin?.middlewares);
9
- const userAdminConfig = strapi.config.get("admin");
10
- strapi.get("config").set("admin", _.merge(strapi.admin?.config, userAdminConfig));
11
- }
12
- const formatContentTypes = (contentTypes) => {
13
- Object.values(contentTypes).forEach((definition) => {
14
- const { schema } = definition;
15
- Object.assign(schema, {
16
- plugin: "admin",
17
- globalId: getGlobalId(schema, "admin")
18
- });
19
- });
20
- return contentTypes;
21
- };
22
- export {
23
- loadAdmin as default
24
- };
25
- //# sourceMappingURL=admin.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin.mjs","sources":["../../src/loaders/admin.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Core, Struct } from '@strapi/types';\nimport { getGlobalId } from '../domain/content-type';\n\nexport default async function loadAdmin(strapi: Core.Strapi) {\n // strapi.admin = require('@strapi/admin/strapi-server');\n\n strapi.get('services').add(`admin::`, strapi.admin?.services);\n strapi.get('controllers').add(`admin::`, strapi.admin?.controllers);\n strapi.get('content-types').add(`admin::`, formatContentTypes(strapi.admin?.contentTypes ?? {}));\n strapi.get('policies').add(`admin::`, strapi.admin?.policies);\n strapi.get('middlewares').add(`admin::`, strapi.admin?.middlewares);\n\n const userAdminConfig = strapi.config.get('admin');\n strapi.get('config').set('admin', _.merge(strapi.admin?.config, userAdminConfig));\n}\n\nconst formatContentTypes = (contentTypes: Record<string, { schema: Struct.ContentTypeSchema }>) => {\n Object.values(contentTypes).forEach((definition) => {\n const { schema } = definition;\n\n Object.assign(schema, {\n plugin: 'admin',\n globalId: getGlobalId(schema, 'admin'),\n });\n });\n\n return contentTypes;\n};\n"],"names":[],"mappings":";;AAIA,eAA8B,UAAU,QAAqB;AAG3D,SAAO,IAAI,UAAU,EAAE,IAAI,WAAW,OAAO,OAAO,QAAQ;AAC5D,SAAO,IAAI,aAAa,EAAE,IAAI,WAAW,OAAO,OAAO,WAAW;AAC3D,SAAA,IAAI,eAAe,EAAE,IAAI,WAAW,mBAAmB,OAAO,OAAO,gBAAgB,CAAA,CAAE,CAAC;AAC/F,SAAO,IAAI,UAAU,EAAE,IAAI,WAAW,OAAO,OAAO,QAAQ;AAC5D,SAAO,IAAI,aAAa,EAAE,IAAI,WAAW,OAAO,OAAO,WAAW;AAElE,QAAM,kBAAkB,OAAO,OAAO,IAAI,OAAO;AAC1C,SAAA,IAAI,QAAQ,EAAE,IAAI,SAAS,EAAE,MAAM,OAAO,OAAO,QAAQ,eAAe,CAAC;AAClF;AAEA,MAAM,qBAAqB,CAAC,iBAAuE;AACjG,SAAO,OAAO,YAAY,EAAE,QAAQ,CAAC,eAAe;AAC5C,UAAA,EAAE,OAAW,IAAA;AAEnB,WAAO,OAAO,QAAQ;AAAA,MACpB,QAAQ;AAAA,MACR,UAAU,YAAY,QAAQ,OAAO;AAAA,IAAA,CACtC;AAAA,EAAA,CACF;AAEM,SAAA;AACT;"}
@@ -1,137 +0,0 @@
1
- "use strict";
2
- const path = require("path");
3
- const fse = require("fs-extra");
4
- const _ = require("lodash");
5
- const strapiUtils = require("@strapi/utils");
6
- const fp = require("lodash/fp");
7
- const index = require("../domain/content-type/index.js");
8
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
9
- const fse__default = /* @__PURE__ */ _interopDefault(fse);
10
- const ___default = /* @__PURE__ */ _interopDefault(_);
11
- const DEFAULT_CONTENT_TYPE = {
12
- schema: {},
13
- actions: {},
14
- lifecycles: {}
15
- };
16
- const normalizeName = (name) => strapiUtils.strings.isKebabCase(name) ? name : ___default.default.kebabCase(name);
17
- const isDirectory = (fd) => fd.isDirectory();
18
- const isDotFile = (fd) => fd.name.startsWith(".");
19
- async function loadAPIs(strapi) {
20
- if (!fse.existsSync(strapi.dirs.dist.api)) {
21
- return;
22
- }
23
- const apisFDs = await (await fse__default.default.readdir(strapi.dirs.dist.api, { withFileTypes: true })).filter(isDirectory).filter(___default.default.negate(isDotFile));
24
- const apis = {};
25
- for (const apiFD of apisFDs) {
26
- const apiName = normalizeName(apiFD.name);
27
- const api = await loadAPI(apiName, path.join(strapi.dirs.dist.api, apiFD.name));
28
- apis[apiName] = api;
29
- }
30
- validateContentTypesUnicity(apis);
31
- for (const apiName of Object.keys(apis)) {
32
- strapi.get("apis").add(apiName, apis[apiName]);
33
- }
34
- }
35
- const validateContentTypesUnicity = (apis) => {
36
- const allApisSchemas = Object.values(apis).flatMap((api) => Object.values(api.contentTypes));
37
- const names = [];
38
- allApisSchemas.forEach(({ schema }) => {
39
- if (schema.info.singularName) {
40
- const singularName = ___default.default.kebabCase(schema.info.singularName);
41
- if (names.includes(singularName)) {
42
- throw new Error(`The singular name "${schema.info.singularName}" should be unique`);
43
- }
44
- names.push(singularName);
45
- }
46
- if (schema.info.pluralName) {
47
- const pluralName = ___default.default.kebabCase(schema.info.pluralName);
48
- if (names.includes(pluralName)) {
49
- throw new Error(`The plural name "${schema.info.pluralName}" should be unique`);
50
- }
51
- names.push(pluralName);
52
- }
53
- });
54
- };
55
- const loadAPI = async (apiName, dir) => {
56
- const [index2, config, routes, controllers, services, policies, middlewares, contentTypes] = (await Promise.all([
57
- loadIndex(dir),
58
- loadDir(path.join(dir, "config")),
59
- loadDir(path.join(dir, "routes")),
60
- loadDir(path.join(dir, "controllers")),
61
- loadDir(path.join(dir, "services")),
62
- loadDir(path.join(dir, "policies")),
63
- loadDir(path.join(dir, "middlewares")),
64
- loadContentTypes(apiName, path.join(dir, "content-types"))
65
- ])).map((result) => result?.result);
66
- return {
67
- ...index2 || {},
68
- config: config || {},
69
- routes: routes || [],
70
- controllers: controllers || {},
71
- services: services || {},
72
- policies: policies || {},
73
- middlewares: middlewares || {},
74
- contentTypes: contentTypes || {}
75
- };
76
- };
77
- const loadIndex = async (dir) => {
78
- if (await fse__default.default.pathExists(path.join(dir, "index.js"))) {
79
- return loadFile(path.join(dir, "index.js"));
80
- }
81
- };
82
- const loadContentTypes = async (apiName, dir) => {
83
- if (!await fse__default.default.pathExists(dir)) {
84
- return;
85
- }
86
- const fds = await fse__default.default.readdir(dir, { withFileTypes: true });
87
- const contentTypes = {};
88
- for (const fd of fds) {
89
- if (fd.isFile()) {
90
- continue;
91
- }
92
- const contentTypeName = normalizeName(fd.name);
93
- const loadedContentType = (await loadDir(path.join(dir, fd.name)))?.result;
94
- if (fp.isEmpty(loadedContentType) || fp.isEmpty(loadedContentType.schema)) {
95
- throw new Error(`Could not load content type found at ${dir}`);
96
- }
97
- const contentType = {
98
- ...DEFAULT_CONTENT_TYPE,
99
- ...loadedContentType
100
- };
101
- Object.assign(contentType.schema, {
102
- apiName,
103
- collectionName: contentType.schema.collectionName || contentType.schema.info.singularName,
104
- globalId: index.getGlobalId(contentType.schema)
105
- });
106
- contentTypes[normalizeName(contentTypeName)] = contentType;
107
- }
108
- return { result: contentTypes };
109
- };
110
- const loadDir = async (dir) => {
111
- if (!await fse__default.default.pathExists(dir)) {
112
- return;
113
- }
114
- const fds = await fse__default.default.readdir(dir, { withFileTypes: true });
115
- const root = {};
116
- for (const fd of fds) {
117
- if (!fd.isFile() || path.extname(fd.name) === ".map") {
118
- continue;
119
- }
120
- const key = path.basename(fd.name, path.extname(fd.name));
121
- root[normalizeName(key)] = (await loadFile(path.join(dir, fd.name))).result;
122
- }
123
- return { result: root };
124
- };
125
- const loadFile = async (file) => {
126
- const ext = path.extname(file);
127
- switch (ext) {
128
- case ".js":
129
- return { result: strapiUtils.importDefault(file) };
130
- case ".json":
131
- return { result: await fse__default.default.readJSON(file) };
132
- default:
133
- return { result: {} };
134
- }
135
- };
136
- module.exports = loadAPIs;
137
- //# sourceMappingURL=apis.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apis.js","sources":["../../src/loaders/apis.ts"],"sourcesContent":["import { join, extname, basename } from 'path';\nimport fse, { existsSync } from 'fs-extra';\nimport _ from 'lodash';\nimport { strings, importDefault } from '@strapi/utils';\nimport { isEmpty } from 'lodash/fp';\nimport type { Core, Struct } from '@strapi/types';\nimport { getGlobalId, type ContentTypeDefinition } from '../domain/content-type';\n\ninterface API {\n bootstrap: () => void | Promise<void>;\n destroy: () => void | Promise<void>;\n register: () => void | Promise<void>;\n config: Record<string, unknown>;\n routes: Record<string, Core.Router>;\n controllers: Record<string, Core.Controller>;\n services: Record<string, Core.Service>;\n policies: Record<string, Core.Policy>;\n middlewares: Record<string, Core.Middleware>;\n contentTypes: Record<string, { schema: Struct.ContentTypeSchema }>;\n}\n\ninterface APIs {\n [key: string]: API;\n}\n\nconst DEFAULT_CONTENT_TYPE = {\n schema: {},\n actions: {},\n lifecycles: {},\n};\n\n// to handle names with numbers in it we first check if it is already in kebabCase\nconst normalizeName = (name: string) => (strings.isKebabCase(name) ? name : _.kebabCase(name));\n\nconst isDirectory = (fd: fse.Dirent) => fd.isDirectory();\nconst isDotFile = (fd: fse.Dirent) => fd.name.startsWith('.');\n\nexport default async function loadAPIs(strapi: Core.Strapi) {\n if (!existsSync(strapi.dirs.dist.api)) {\n return;\n }\n\n const apisFDs = await (await fse.readdir(strapi.dirs.dist.api, { withFileTypes: true }))\n .filter(isDirectory)\n .filter(_.negate(isDotFile));\n\n const apis: APIs = {};\n\n // only load folders\n for (const apiFD of apisFDs) {\n const apiName = normalizeName(apiFD.name);\n const api = await loadAPI(apiName, join(strapi.dirs.dist.api, apiFD.name));\n\n // @ts-expect-error TODO verify that it's a valid api, not missing bootstrap, register, and destroy\n apis[apiName] = api;\n }\n\n validateContentTypesUnicity(apis);\n\n for (const apiName of Object.keys(apis)) {\n strapi.get('apis').add(apiName, apis[apiName]);\n }\n}\n\nconst validateContentTypesUnicity = (apis: APIs) => {\n const allApisSchemas = Object.values(apis).flatMap((api) => Object.values(api.contentTypes));\n\n const names: string[] = [];\n allApisSchemas.forEach(({ schema }) => {\n if (schema.info.singularName) {\n const singularName = _.kebabCase(schema.info.singularName);\n if (names.includes(singularName)) {\n throw new Error(`The singular name \"${schema.info.singularName}\" should be unique`);\n }\n names.push(singularName);\n }\n\n if (schema.info.pluralName) {\n const pluralName = _.kebabCase(schema.info.pluralName);\n if (names.includes(pluralName)) {\n throw new Error(`The plural name \"${schema.info.pluralName}\" should be unique`);\n }\n names.push(pluralName);\n }\n });\n};\n\nconst loadAPI = async (apiName: string, dir: string) => {\n const [index, config, routes, controllers, services, policies, middlewares, contentTypes] = (\n await Promise.all([\n loadIndex(dir),\n loadDir(join(dir, 'config')),\n loadDir(join(dir, 'routes')),\n loadDir(join(dir, 'controllers')),\n loadDir(join(dir, 'services')),\n loadDir(join(dir, 'policies')),\n loadDir(join(dir, 'middlewares')),\n loadContentTypes(apiName, join(dir, 'content-types')),\n ])\n ).map((result) => result?.result);\n\n return {\n ...(index || {}),\n config: config || {},\n routes: routes || [],\n controllers: controllers || {},\n services: services || {},\n policies: policies || {},\n middlewares: middlewares || {},\n contentTypes: contentTypes || {},\n };\n};\n\nconst loadIndex = async (dir: string) => {\n if (await fse.pathExists(join(dir, 'index.js'))) {\n return loadFile(join(dir, 'index.js'));\n }\n};\n\n// because this is async and its contents are dynamic, we must return it within an object to avoid a property called `then` being interpreted as a Promise\nconst loadContentTypes = async (apiName: string, dir: string) => {\n if (!(await fse.pathExists(dir))) {\n return;\n }\n\n const fds = await fse.readdir(dir, { withFileTypes: true });\n const contentTypes: API['contentTypes'] = {};\n\n // only load folders\n for (const fd of fds) {\n if (fd.isFile()) {\n continue;\n }\n\n const contentTypeName = normalizeName(fd.name);\n const loadedContentType = (await loadDir(join(dir, fd.name)))?.result;\n\n if (isEmpty(loadedContentType) || isEmpty(loadedContentType.schema)) {\n throw new Error(`Could not load content type found at ${dir}`);\n }\n\n const contentType = {\n ...DEFAULT_CONTENT_TYPE,\n ...loadedContentType,\n } as ContentTypeDefinition;\n\n Object.assign(contentType.schema, {\n apiName,\n collectionName: contentType.schema.collectionName || contentType.schema.info.singularName,\n globalId: getGlobalId(contentType.schema),\n });\n\n contentTypes[normalizeName(contentTypeName)] = contentType;\n }\n\n return { result: contentTypes };\n};\n\n// because this is async and its contents are dynamic, we must return it within an object to avoid a property called `then` being interpreted as a Promise\nconst loadDir = async (dir: string) => {\n if (!(await fse.pathExists(dir))) {\n return;\n }\n\n const fds = await fse.readdir(dir, { withFileTypes: true });\n\n const root: Record<string, unknown> = {};\n for (const fd of fds) {\n if (!fd.isFile() || extname(fd.name) === '.map') {\n continue;\n }\n\n const key = basename(fd.name, extname(fd.name));\n\n root[normalizeName(key)] = (await loadFile(join(dir, fd.name))).result;\n }\n\n return { result: root };\n};\n\n// because this is async and its contents are dynamic, we must return it as an array to avoid a property called `then` being interpreted as a Promise\nconst loadFile = async (file: string): Promise<{ result: unknown }> => {\n const ext = extname(file);\n\n switch (ext) {\n case '.js':\n return { result: importDefault(file) };\n case '.json':\n return { result: await fse.readJSON(file) };\n default:\n return { result: {} };\n }\n};\n"],"names":["strings","_","existsSync","fse","join","index","isEmpty","getGlobalId","extname","basename","importDefault"],"mappings":"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"}
@@ -1,135 +0,0 @@
1
- import { join, extname, basename } from "path";
2
- import fse, { existsSync } from "fs-extra";
3
- import _ from "lodash";
4
- import { strings, importDefault } from "@strapi/utils";
5
- import { isEmpty } from "lodash/fp";
6
- import { getGlobalId } from "../domain/content-type/index.mjs";
7
- const DEFAULT_CONTENT_TYPE = {
8
- schema: {},
9
- actions: {},
10
- lifecycles: {}
11
- };
12
- const normalizeName = (name) => strings.isKebabCase(name) ? name : _.kebabCase(name);
13
- const isDirectory = (fd) => fd.isDirectory();
14
- const isDotFile = (fd) => fd.name.startsWith(".");
15
- async function loadAPIs(strapi) {
16
- if (!existsSync(strapi.dirs.dist.api)) {
17
- return;
18
- }
19
- const apisFDs = await (await fse.readdir(strapi.dirs.dist.api, { withFileTypes: true })).filter(isDirectory).filter(_.negate(isDotFile));
20
- const apis = {};
21
- for (const apiFD of apisFDs) {
22
- const apiName = normalizeName(apiFD.name);
23
- const api = await loadAPI(apiName, join(strapi.dirs.dist.api, apiFD.name));
24
- apis[apiName] = api;
25
- }
26
- validateContentTypesUnicity(apis);
27
- for (const apiName of Object.keys(apis)) {
28
- strapi.get("apis").add(apiName, apis[apiName]);
29
- }
30
- }
31
- const validateContentTypesUnicity = (apis) => {
32
- const allApisSchemas = Object.values(apis).flatMap((api) => Object.values(api.contentTypes));
33
- const names = [];
34
- allApisSchemas.forEach(({ schema }) => {
35
- if (schema.info.singularName) {
36
- const singularName = _.kebabCase(schema.info.singularName);
37
- if (names.includes(singularName)) {
38
- throw new Error(`The singular name "${schema.info.singularName}" should be unique`);
39
- }
40
- names.push(singularName);
41
- }
42
- if (schema.info.pluralName) {
43
- const pluralName = _.kebabCase(schema.info.pluralName);
44
- if (names.includes(pluralName)) {
45
- throw new Error(`The plural name "${schema.info.pluralName}" should be unique`);
46
- }
47
- names.push(pluralName);
48
- }
49
- });
50
- };
51
- const loadAPI = async (apiName, dir) => {
52
- const [index, config, routes, controllers, services, policies, middlewares, contentTypes] = (await Promise.all([
53
- loadIndex(dir),
54
- loadDir(join(dir, "config")),
55
- loadDir(join(dir, "routes")),
56
- loadDir(join(dir, "controllers")),
57
- loadDir(join(dir, "services")),
58
- loadDir(join(dir, "policies")),
59
- loadDir(join(dir, "middlewares")),
60
- loadContentTypes(apiName, join(dir, "content-types"))
61
- ])).map((result) => result?.result);
62
- return {
63
- ...index || {},
64
- config: config || {},
65
- routes: routes || [],
66
- controllers: controllers || {},
67
- services: services || {},
68
- policies: policies || {},
69
- middlewares: middlewares || {},
70
- contentTypes: contentTypes || {}
71
- };
72
- };
73
- const loadIndex = async (dir) => {
74
- if (await fse.pathExists(join(dir, "index.js"))) {
75
- return loadFile(join(dir, "index.js"));
76
- }
77
- };
78
- const loadContentTypes = async (apiName, dir) => {
79
- if (!await fse.pathExists(dir)) {
80
- return;
81
- }
82
- const fds = await fse.readdir(dir, { withFileTypes: true });
83
- const contentTypes = {};
84
- for (const fd of fds) {
85
- if (fd.isFile()) {
86
- continue;
87
- }
88
- const contentTypeName = normalizeName(fd.name);
89
- const loadedContentType = (await loadDir(join(dir, fd.name)))?.result;
90
- if (isEmpty(loadedContentType) || isEmpty(loadedContentType.schema)) {
91
- throw new Error(`Could not load content type found at ${dir}`);
92
- }
93
- const contentType = {
94
- ...DEFAULT_CONTENT_TYPE,
95
- ...loadedContentType
96
- };
97
- Object.assign(contentType.schema, {
98
- apiName,
99
- collectionName: contentType.schema.collectionName || contentType.schema.info.singularName,
100
- globalId: getGlobalId(contentType.schema)
101
- });
102
- contentTypes[normalizeName(contentTypeName)] = contentType;
103
- }
104
- return { result: contentTypes };
105
- };
106
- const loadDir = async (dir) => {
107
- if (!await fse.pathExists(dir)) {
108
- return;
109
- }
110
- const fds = await fse.readdir(dir, { withFileTypes: true });
111
- const root = {};
112
- for (const fd of fds) {
113
- if (!fd.isFile() || extname(fd.name) === ".map") {
114
- continue;
115
- }
116
- const key = basename(fd.name, extname(fd.name));
117
- root[normalizeName(key)] = (await loadFile(join(dir, fd.name))).result;
118
- }
119
- return { result: root };
120
- };
121
- const loadFile = async (file) => {
122
- const ext = extname(file);
123
- switch (ext) {
124
- case ".js":
125
- return { result: importDefault(file) };
126
- case ".json":
127
- return { result: await fse.readJSON(file) };
128
- default:
129
- return { result: {} };
130
- }
131
- };
132
- export {
133
- loadAPIs as default
134
- };
135
- //# sourceMappingURL=apis.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apis.mjs","sources":["../../src/loaders/apis.ts"],"sourcesContent":["import { join, extname, basename } from 'path';\nimport fse, { existsSync } from 'fs-extra';\nimport _ from 'lodash';\nimport { strings, importDefault } from '@strapi/utils';\nimport { isEmpty } from 'lodash/fp';\nimport type { Core, Struct } from '@strapi/types';\nimport { getGlobalId, type ContentTypeDefinition } from '../domain/content-type';\n\ninterface API {\n bootstrap: () => void | Promise<void>;\n destroy: () => void | Promise<void>;\n register: () => void | Promise<void>;\n config: Record<string, unknown>;\n routes: Record<string, Core.Router>;\n controllers: Record<string, Core.Controller>;\n services: Record<string, Core.Service>;\n policies: Record<string, Core.Policy>;\n middlewares: Record<string, Core.Middleware>;\n contentTypes: Record<string, { schema: Struct.ContentTypeSchema }>;\n}\n\ninterface APIs {\n [key: string]: API;\n}\n\nconst DEFAULT_CONTENT_TYPE = {\n schema: {},\n actions: {},\n lifecycles: {},\n};\n\n// to handle names with numbers in it we first check if it is already in kebabCase\nconst normalizeName = (name: string) => (strings.isKebabCase(name) ? name : _.kebabCase(name));\n\nconst isDirectory = (fd: fse.Dirent) => fd.isDirectory();\nconst isDotFile = (fd: fse.Dirent) => fd.name.startsWith('.');\n\nexport default async function loadAPIs(strapi: Core.Strapi) {\n if (!existsSync(strapi.dirs.dist.api)) {\n return;\n }\n\n const apisFDs = await (await fse.readdir(strapi.dirs.dist.api, { withFileTypes: true }))\n .filter(isDirectory)\n .filter(_.negate(isDotFile));\n\n const apis: APIs = {};\n\n // only load folders\n for (const apiFD of apisFDs) {\n const apiName = normalizeName(apiFD.name);\n const api = await loadAPI(apiName, join(strapi.dirs.dist.api, apiFD.name));\n\n // @ts-expect-error TODO verify that it's a valid api, not missing bootstrap, register, and destroy\n apis[apiName] = api;\n }\n\n validateContentTypesUnicity(apis);\n\n for (const apiName of Object.keys(apis)) {\n strapi.get('apis').add(apiName, apis[apiName]);\n }\n}\n\nconst validateContentTypesUnicity = (apis: APIs) => {\n const allApisSchemas = Object.values(apis).flatMap((api) => Object.values(api.contentTypes));\n\n const names: string[] = [];\n allApisSchemas.forEach(({ schema }) => {\n if (schema.info.singularName) {\n const singularName = _.kebabCase(schema.info.singularName);\n if (names.includes(singularName)) {\n throw new Error(`The singular name \"${schema.info.singularName}\" should be unique`);\n }\n names.push(singularName);\n }\n\n if (schema.info.pluralName) {\n const pluralName = _.kebabCase(schema.info.pluralName);\n if (names.includes(pluralName)) {\n throw new Error(`The plural name \"${schema.info.pluralName}\" should be unique`);\n }\n names.push(pluralName);\n }\n });\n};\n\nconst loadAPI = async (apiName: string, dir: string) => {\n const [index, config, routes, controllers, services, policies, middlewares, contentTypes] = (\n await Promise.all([\n loadIndex(dir),\n loadDir(join(dir, 'config')),\n loadDir(join(dir, 'routes')),\n loadDir(join(dir, 'controllers')),\n loadDir(join(dir, 'services')),\n loadDir(join(dir, 'policies')),\n loadDir(join(dir, 'middlewares')),\n loadContentTypes(apiName, join(dir, 'content-types')),\n ])\n ).map((result) => result?.result);\n\n return {\n ...(index || {}),\n config: config || {},\n routes: routes || [],\n controllers: controllers || {},\n services: services || {},\n policies: policies || {},\n middlewares: middlewares || {},\n contentTypes: contentTypes || {},\n };\n};\n\nconst loadIndex = async (dir: string) => {\n if (await fse.pathExists(join(dir, 'index.js'))) {\n return loadFile(join(dir, 'index.js'));\n }\n};\n\n// because this is async and its contents are dynamic, we must return it within an object to avoid a property called `then` being interpreted as a Promise\nconst loadContentTypes = async (apiName: string, dir: string) => {\n if (!(await fse.pathExists(dir))) {\n return;\n }\n\n const fds = await fse.readdir(dir, { withFileTypes: true });\n const contentTypes: API['contentTypes'] = {};\n\n // only load folders\n for (const fd of fds) {\n if (fd.isFile()) {\n continue;\n }\n\n const contentTypeName = normalizeName(fd.name);\n const loadedContentType = (await loadDir(join(dir, fd.name)))?.result;\n\n if (isEmpty(loadedContentType) || isEmpty(loadedContentType.schema)) {\n throw new Error(`Could not load content type found at ${dir}`);\n }\n\n const contentType = {\n ...DEFAULT_CONTENT_TYPE,\n ...loadedContentType,\n } as ContentTypeDefinition;\n\n Object.assign(contentType.schema, {\n apiName,\n collectionName: contentType.schema.collectionName || contentType.schema.info.singularName,\n globalId: getGlobalId(contentType.schema),\n });\n\n contentTypes[normalizeName(contentTypeName)] = contentType;\n }\n\n return { result: contentTypes };\n};\n\n// because this is async and its contents are dynamic, we must return it within an object to avoid a property called `then` being interpreted as a Promise\nconst loadDir = async (dir: string) => {\n if (!(await fse.pathExists(dir))) {\n return;\n }\n\n const fds = await fse.readdir(dir, { withFileTypes: true });\n\n const root: Record<string, unknown> = {};\n for (const fd of fds) {\n if (!fd.isFile() || extname(fd.name) === '.map') {\n continue;\n }\n\n const key = basename(fd.name, extname(fd.name));\n\n root[normalizeName(key)] = (await loadFile(join(dir, fd.name))).result;\n }\n\n return { result: root };\n};\n\n// because this is async and its contents are dynamic, we must return it as an array to avoid a property called `then` being interpreted as a Promise\nconst loadFile = async (file: string): Promise<{ result: unknown }> => {\n const ext = extname(file);\n\n switch (ext) {\n case '.js':\n return { result: importDefault(file) };\n case '.json':\n return { result: await fse.readJSON(file) };\n default:\n return { result: {} };\n }\n};\n"],"names":[],"mappings":"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"}
@@ -1,38 +0,0 @@
1
- "use strict";
2
- const path = require("path");
3
- const _ = require("lodash");
4
- const fse = require("fs-extra");
5
- const loadFiles = require("../utils/load-files.js");
6
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
7
- const ___default = /* @__PURE__ */ _interopDefault(_);
8
- async function loadComponents(strapi) {
9
- if (!await fse.pathExists(strapi.dirs.dist.components)) {
10
- return {};
11
- }
12
- const map = await loadFiles.loadFiles(strapi.dirs.dist.components, "*/*.*(js|json)");
13
- const components = Object.keys(map).reduce((acc, category) => {
14
- Object.keys(map[category]).forEach((key) => {
15
- const schema = map[category][key];
16
- if (!schema.collectionName) {
17
- const filePath = path.join(strapi.dirs.app.components, category, schema.__filename__);
18
- return strapi.stopWithError(
19
- `Component ${key} is missing a "collectionName" property.
20
- Verify file ${filePath}.`
21
- );
22
- }
23
- const uid = `${category}.${key}`;
24
- acc[uid] = Object.assign(schema, {
25
- __schema__: ___default.default.cloneDeep(schema),
26
- uid,
27
- category,
28
- modelType: "component",
29
- modelName: key,
30
- globalId: schema.globalId || ___default.default.upperFirst(___default.default.camelCase(`component_${uid}`))
31
- });
32
- });
33
- return acc;
34
- }, {});
35
- strapi.get("components").add(components);
36
- }
37
- module.exports = loadComponents;
38
- //# sourceMappingURL=components.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"components.js","sources":["../../src/loaders/components.ts"],"sourcesContent":["import { join } from 'path';\nimport _ from 'lodash';\nimport { pathExists } from 'fs-extra';\nimport type { Core, Struct, UID } from '@strapi/types';\nimport { loadFiles } from '../utils/load-files';\n\ntype LoadedComponent = {\n collectionName: string;\n __filename__: string;\n __schema__: LoadedComponent;\n uid: string;\n category: string;\n modelName: string;\n globalId: string;\n info: any;\n attributes: any;\n};\n\ntype LoadedComponents = {\n [category: string]: {\n [key: string]: LoadedComponent;\n };\n};\n\ntype ComponentMap = {\n [uid in UID.Component]: Struct.ComponentSchema;\n};\n\nexport default async function loadComponents(strapi: Core.Strapi) {\n if (!(await pathExists(strapi.dirs.dist.components))) {\n return {};\n }\n\n const map = await loadFiles<LoadedComponents>(strapi.dirs.dist.components, '*/*.*(js|json)');\n\n const components = Object.keys(map).reduce((acc, category) => {\n Object.keys(map[category]).forEach((key) => {\n const schema = map[category][key];\n\n if (!schema.collectionName) {\n // NOTE: We're using the filepath from the app directory instead of the dist for information purpose\n const filePath = join(strapi.dirs.app.components, category, schema.__filename__);\n\n return strapi.stopWithError(\n `Component ${key} is missing a \"collectionName\" property.\\nVerify file ${filePath}.`\n );\n }\n\n const uid: UID.Component = `${category}.${key}`;\n\n acc[uid] = Object.assign(schema, {\n __schema__: _.cloneDeep(schema),\n uid,\n category,\n modelType: 'component' as const,\n modelName: key,\n globalId: schema.globalId || _.upperFirst(_.camelCase(`component_${uid}`)),\n });\n });\n\n return acc;\n }, {} as ComponentMap);\n\n strapi.get('components').add(components);\n}\n"],"names":["pathExists","loadFiles","join","_"],"mappings":";;;;;;;AA4BA,eAA8B,eAAe,QAAqB;AAChE,MAAI,CAAE,MAAMA,IAAAA,WAAW,OAAO,KAAK,KAAK,UAAU,GAAI;AACpD,WAAO;EACT;AAEA,QAAM,MAAM,MAAMC,UAAAA,UAA4B,OAAO,KAAK,KAAK,YAAY,gBAAgB;AAErF,QAAA,aAAa,OAAO,KAAK,GAAG,EAAE,OAAO,CAAC,KAAK,aAAa;AAC5D,WAAO,KAAK,IAAI,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ;AAC1C,YAAM,SAAS,IAAI,QAAQ,EAAE,GAAG;AAE5B,UAAA,CAAC,OAAO,gBAAgB;AAEpB,cAAA,WAAWC,UAAK,OAAO,KAAK,IAAI,YAAY,UAAU,OAAO,YAAY;AAE/E,eAAO,OAAO;AAAA,UACZ,aAAa,GAAG;AAAA,cAAyD,QAAQ;AAAA,QAAA;AAAA,MAErF;AAEA,YAAM,MAAqB,GAAG,QAAQ,IAAI,GAAG;AAE7C,UAAI,GAAG,IAAI,OAAO,OAAO,QAAQ;AAAA,QAC/B,YAAYC,WAAAA,QAAE,UAAU,MAAM;AAAA,QAC9B;AAAA,QACA;AAAA,QACA,WAAW;AAAA,QACX,WAAW;AAAA,QACX,UAAU,OAAO,YAAYA,WAAAA,QAAE,WAAWA,mBAAE,UAAU,aAAa,GAAG,EAAE,CAAC;AAAA,MAAA,CAC1E;AAAA,IAAA,CACF;AAEM,WAAA;AAAA,EACT,GAAG,CAAkB,CAAA;AAErB,SAAO,IAAI,YAAY,EAAE,IAAI,UAAU;AACzC;;"}