@strapi/core 0.0.0-next.c3eb27c3a05a30387b6b44e15d3661201d54787d → 0.0.0-next.c72b48da735f44a3ccafb7a6dc9ba5213f3844db

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 (706) hide show
  1. package/dist/Strapi.d.ts.map +1 -1
  2. package/dist/Strapi.js +427 -403
  3. package/dist/Strapi.js.map +1 -1
  4. package/dist/Strapi.mjs +426 -402
  5. package/dist/Strapi.mjs.map +1 -1
  6. package/dist/compile.js +23 -14
  7. package/dist/compile.js.map +1 -1
  8. package/dist/compile.mjs +22 -14
  9. package/dist/compile.mjs.map +1 -1
  10. package/dist/configuration/config-loader.js +110 -97
  11. package/dist/configuration/config-loader.js.map +1 -1
  12. package/dist/configuration/config-loader.mjs +109 -96
  13. package/dist/configuration/config-loader.mjs.map +1 -1
  14. package/dist/configuration/get-dirs.js +31 -29
  15. package/dist/configuration/get-dirs.js.map +1 -1
  16. package/dist/configuration/get-dirs.mjs +30 -30
  17. package/dist/configuration/get-dirs.mjs.map +1 -1
  18. package/dist/configuration/index.d.ts +1 -0
  19. package/dist/configuration/index.d.ts.map +1 -1
  20. package/dist/configuration/index.js +85 -73
  21. package/dist/configuration/index.js.map +1 -1
  22. package/dist/configuration/index.mjs +84 -69
  23. package/dist/configuration/index.mjs.map +1 -1
  24. package/dist/configuration/urls.d.ts.map +1 -1
  25. package/dist/configuration/urls.js +74 -61
  26. package/dist/configuration/urls.js.map +1 -1
  27. package/dist/configuration/urls.mjs +73 -62
  28. package/dist/configuration/urls.mjs.map +1 -1
  29. package/dist/container.js +27 -23
  30. package/dist/container.js.map +1 -1
  31. package/dist/container.mjs +26 -24
  32. package/dist/container.mjs.map +1 -1
  33. package/dist/core-api/controller/collection-type.js +77 -76
  34. package/dist/core-api/controller/collection-type.js.map +1 -1
  35. package/dist/core-api/controller/collection-type.mjs +76 -77
  36. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  37. package/dist/core-api/controller/index.js +63 -48
  38. package/dist/core-api/controller/index.js.map +1 -1
  39. package/dist/core-api/controller/index.mjs +62 -49
  40. package/dist/core-api/controller/index.mjs.map +1 -1
  41. package/dist/core-api/controller/single-type.js +41 -40
  42. package/dist/core-api/controller/single-type.js.map +1 -1
  43. package/dist/core-api/controller/single-type.mjs +40 -41
  44. package/dist/core-api/controller/single-type.mjs.map +1 -1
  45. package/dist/core-api/controller/transform.js +72 -63
  46. package/dist/core-api/controller/transform.js.map +1 -1
  47. package/dist/core-api/controller/transform.mjs +71 -64
  48. package/dist/core-api/controller/transform.mjs.map +1 -1
  49. package/dist/core-api/routes/index.js +64 -62
  50. package/dist/core-api/routes/index.js.map +1 -1
  51. package/dist/core-api/routes/index.mjs +62 -62
  52. package/dist/core-api/routes/index.mjs.map +1 -1
  53. package/dist/core-api/service/collection-type.js +73 -60
  54. package/dist/core-api/service/collection-type.js.map +1 -1
  55. package/dist/core-api/service/collection-type.mjs +72 -62
  56. package/dist/core-api/service/collection-type.mjs.map +1 -1
  57. package/dist/core-api/service/core-service.js +9 -8
  58. package/dist/core-api/service/core-service.js.map +1 -1
  59. package/dist/core-api/service/core-service.mjs +8 -9
  60. package/dist/core-api/service/core-service.mjs.map +1 -1
  61. package/dist/core-api/service/index.js +13 -13
  62. package/dist/core-api/service/index.js.map +1 -1
  63. package/dist/core-api/service/index.mjs +12 -14
  64. package/dist/core-api/service/index.mjs.map +1 -1
  65. package/dist/core-api/service/pagination.js +69 -43
  66. package/dist/core-api/service/pagination.js.map +1 -1
  67. package/dist/core-api/service/pagination.mjs +68 -47
  68. package/dist/core-api/service/pagination.mjs.map +1 -1
  69. package/dist/core-api/service/single-type.js +43 -39
  70. package/dist/core-api/service/single-type.js.map +1 -1
  71. package/dist/core-api/service/single-type.mjs +42 -41
  72. package/dist/core-api/service/single-type.mjs.map +1 -1
  73. package/dist/domain/content-type/index.js +95 -100
  74. package/dist/domain/content-type/index.js.map +1 -1
  75. package/dist/domain/content-type/index.mjs +94 -100
  76. package/dist/domain/content-type/index.mjs.map +1 -1
  77. package/dist/domain/content-type/validator.js +84 -69
  78. package/dist/domain/content-type/validator.js.map +1 -1
  79. package/dist/domain/content-type/validator.mjs +83 -68
  80. package/dist/domain/content-type/validator.mjs.map +1 -1
  81. package/dist/domain/module/index.js +109 -100
  82. package/dist/domain/module/index.js.map +1 -1
  83. package/dist/domain/module/index.mjs +108 -99
  84. package/dist/domain/module/index.mjs.map +1 -1
  85. package/dist/domain/module/validation.js +25 -20
  86. package/dist/domain/module/validation.js.map +1 -1
  87. package/dist/domain/module/validation.mjs +24 -21
  88. package/dist/domain/module/validation.mjs.map +1 -1
  89. package/dist/ee/index.d.ts +1 -0
  90. package/dist/ee/index.d.ts.map +1 -1
  91. package/dist/ee/index.js +171 -137
  92. package/dist/ee/index.js.map +1 -1
  93. package/dist/ee/index.mjs +170 -139
  94. package/dist/ee/index.mjs.map +1 -1
  95. package/dist/ee/license.d.ts.map +1 -1
  96. package/dist/ee/license.js +100 -75
  97. package/dist/ee/license.js.map +1 -1
  98. package/dist/ee/license.mjs +99 -76
  99. package/dist/ee/license.mjs.map +1 -1
  100. package/dist/factories.js +72 -67
  101. package/dist/factories.js.map +1 -1
  102. package/dist/factories.mjs +71 -71
  103. package/dist/factories.mjs.map +1 -1
  104. package/dist/index.js +29 -26
  105. package/dist/index.js.map +1 -1
  106. package/dist/index.mjs +29 -29
  107. package/dist/index.mjs.map +1 -1
  108. package/dist/loaders/admin.d.ts.map +1 -1
  109. package/dist/loaders/admin.js +21 -20
  110. package/dist/loaders/admin.js.map +1 -1
  111. package/dist/loaders/admin.mjs +20 -20
  112. package/dist/loaders/admin.mjs.map +1 -1
  113. package/dist/loaders/apis.js +143 -120
  114. package/dist/loaders/apis.js.map +1 -1
  115. package/dist/loaders/apis.mjs +142 -119
  116. package/dist/loaders/apis.mjs.map +1 -1
  117. package/dist/loaders/components.js +33 -34
  118. package/dist/loaders/components.js.map +1 -1
  119. package/dist/loaders/components.mjs +32 -34
  120. package/dist/loaders/components.mjs.map +1 -1
  121. package/dist/loaders/index.js +22 -20
  122. package/dist/loaders/index.js.map +1 -1
  123. package/dist/loaders/index.mjs +21 -21
  124. package/dist/loaders/index.mjs.map +1 -1
  125. package/dist/loaders/middlewares.js +29 -25
  126. package/dist/loaders/middlewares.js.map +1 -1
  127. package/dist/loaders/middlewares.mjs +28 -25
  128. package/dist/loaders/middlewares.mjs.map +1 -1
  129. package/dist/loaders/plugins/get-enabled-plugins.js +126 -131
  130. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  131. package/dist/loaders/plugins/get-enabled-plugins.mjs +125 -108
  132. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  133. package/dist/loaders/plugins/get-user-plugins-config.js +25 -24
  134. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  135. package/dist/loaders/plugins/get-user-plugins-config.mjs +24 -23
  136. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -1
  137. package/dist/loaders/plugins/index.js +132 -122
  138. package/dist/loaders/plugins/index.js.map +1 -1
  139. package/dist/loaders/plugins/index.mjs +121 -112
  140. package/dist/loaders/plugins/index.mjs.map +1 -1
  141. package/dist/loaders/policies.js +24 -20
  142. package/dist/loaders/policies.js.map +1 -1
  143. package/dist/loaders/policies.mjs +23 -20
  144. package/dist/loaders/policies.mjs.map +1 -1
  145. package/dist/loaders/sanitizers.js +10 -4
  146. package/dist/loaders/sanitizers.js.map +1 -1
  147. package/dist/loaders/sanitizers.mjs +9 -6
  148. package/dist/loaders/sanitizers.mjs.map +1 -1
  149. package/dist/loaders/src-index.js +35 -27
  150. package/dist/loaders/src-index.js.map +1 -1
  151. package/dist/loaders/src-index.mjs +34 -29
  152. package/dist/loaders/src-index.mjs.map +1 -1
  153. package/dist/loaders/validators.js +9 -4
  154. package/dist/loaders/validators.js.map +1 -1
  155. package/dist/loaders/validators.mjs +8 -6
  156. package/dist/loaders/validators.mjs.map +1 -1
  157. package/dist/middlewares/body.d.ts.map +1 -1
  158. package/dist/middlewares/body.js +58 -54
  159. package/dist/middlewares/body.js.map +1 -1
  160. package/dist/middlewares/body.mjs +57 -51
  161. package/dist/middlewares/body.mjs.map +1 -1
  162. package/dist/middlewares/compression.js +6 -6
  163. package/dist/middlewares/compression.js.map +1 -1
  164. package/dist/middlewares/compression.mjs +5 -5
  165. package/dist/middlewares/compression.mjs.map +1 -1
  166. package/dist/middlewares/cors.js +59 -48
  167. package/dist/middlewares/cors.js.map +1 -1
  168. package/dist/middlewares/cors.mjs +58 -47
  169. package/dist/middlewares/cors.mjs.map +1 -1
  170. package/dist/middlewares/errors.js +32 -30
  171. package/dist/middlewares/errors.js.map +1 -1
  172. package/dist/middlewares/errors.mjs +31 -31
  173. package/dist/middlewares/errors.mjs.map +1 -1
  174. package/dist/middlewares/favicon.js +27 -17
  175. package/dist/middlewares/favicon.js.map +1 -1
  176. package/dist/middlewares/favicon.mjs +26 -16
  177. package/dist/middlewares/favicon.mjs.map +1 -1
  178. package/dist/middlewares/index.js +32 -30
  179. package/dist/middlewares/index.js.map +1 -1
  180. package/dist/middlewares/index.mjs +31 -31
  181. package/dist/middlewares/index.mjs.map +1 -1
  182. package/dist/middlewares/ip.js +6 -6
  183. package/dist/middlewares/ip.js.map +1 -1
  184. package/dist/middlewares/ip.mjs +5 -5
  185. package/dist/middlewares/ip.mjs.map +1 -1
  186. package/dist/middlewares/logger.js +10 -9
  187. package/dist/middlewares/logger.js.map +1 -1
  188. package/dist/middlewares/logger.mjs +9 -10
  189. package/dist/middlewares/logger.mjs.map +1 -1
  190. package/dist/middlewares/powered-by.js +13 -9
  191. package/dist/middlewares/powered-by.js.map +1 -1
  192. package/dist/middlewares/powered-by.mjs +12 -10
  193. package/dist/middlewares/powered-by.mjs.map +1 -1
  194. package/dist/middlewares/public.js +33 -29
  195. package/dist/middlewares/public.js.map +1 -1
  196. package/dist/middlewares/public.mjs +32 -28
  197. package/dist/middlewares/public.mjs.map +1 -1
  198. package/dist/middlewares/query.js +35 -32
  199. package/dist/middlewares/query.js.map +1 -1
  200. package/dist/middlewares/query.mjs +34 -31
  201. package/dist/middlewares/query.mjs.map +1 -1
  202. package/dist/middlewares/response-time.js +10 -9
  203. package/dist/middlewares/response-time.js.map +1 -1
  204. package/dist/middlewares/response-time.mjs +9 -10
  205. package/dist/middlewares/response-time.mjs.map +1 -1
  206. package/dist/middlewares/responses.js +14 -12
  207. package/dist/middlewares/responses.js.map +1 -1
  208. package/dist/middlewares/responses.mjs +13 -13
  209. package/dist/middlewares/responses.mjs.map +1 -1
  210. package/dist/middlewares/security.js +109 -71
  211. package/dist/middlewares/security.js.map +1 -1
  212. package/dist/middlewares/security.mjs +108 -70
  213. package/dist/middlewares/security.mjs.map +1 -1
  214. package/dist/middlewares/session.js +26 -25
  215. package/dist/middlewares/session.js.map +1 -1
  216. package/dist/middlewares/session.mjs +25 -24
  217. package/dist/middlewares/session.mjs.map +1 -1
  218. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +2 -2
  219. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -1
  220. package/dist/migrations/database/5.0.0-discard-drafts.js +152 -90
  221. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -1
  222. package/dist/migrations/database/5.0.0-discard-drafts.mjs +151 -92
  223. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -1
  224. package/dist/migrations/draft-publish.d.ts +1 -1
  225. package/dist/migrations/draft-publish.d.ts.map +1 -1
  226. package/dist/migrations/draft-publish.js +61 -34
  227. package/dist/migrations/draft-publish.js.map +1 -1
  228. package/dist/migrations/draft-publish.mjs +60 -36
  229. package/dist/migrations/draft-publish.mjs.map +1 -1
  230. package/dist/migrations/i18n.js +62 -45
  231. package/dist/migrations/i18n.js.map +1 -1
  232. package/dist/migrations/i18n.mjs +61 -47
  233. package/dist/migrations/i18n.mjs.map +1 -1
  234. package/dist/migrations/index.js +24 -10
  235. package/dist/migrations/index.js.map +1 -1
  236. package/dist/migrations/index.mjs +23 -12
  237. package/dist/migrations/index.mjs.map +1 -1
  238. package/dist/package.json.js +182 -0
  239. package/dist/package.json.js.map +1 -0
  240. package/dist/package.json.mjs +159 -0
  241. package/dist/package.json.mjs.map +1 -0
  242. package/dist/providers/admin.js +27 -17
  243. package/dist/providers/admin.js.map +1 -1
  244. package/dist/providers/admin.mjs +26 -19
  245. package/dist/providers/admin.mjs.map +1 -1
  246. package/dist/providers/coreStore.js +13 -8
  247. package/dist/providers/coreStore.js.map +1 -1
  248. package/dist/providers/coreStore.mjs +12 -10
  249. package/dist/providers/coreStore.mjs.map +1 -1
  250. package/dist/providers/cron.js +19 -16
  251. package/dist/providers/cron.js.map +1 -1
  252. package/dist/providers/cron.mjs +18 -18
  253. package/dist/providers/cron.mjs.map +1 -1
  254. package/dist/providers/index.js +18 -9
  255. package/dist/providers/index.js.map +1 -1
  256. package/dist/providers/index.mjs +17 -10
  257. package/dist/providers/index.mjs.map +1 -1
  258. package/dist/providers/provider.js +4 -3
  259. package/dist/providers/provider.js.map +1 -1
  260. package/dist/providers/provider.mjs +3 -4
  261. package/dist/providers/provider.mjs.map +1 -1
  262. package/dist/providers/registries.js +37 -32
  263. package/dist/providers/registries.js.map +1 -1
  264. package/dist/providers/registries.mjs +36 -34
  265. package/dist/providers/registries.mjs.map +1 -1
  266. package/dist/providers/telemetry.js +19 -16
  267. package/dist/providers/telemetry.js.map +1 -1
  268. package/dist/providers/telemetry.mjs +18 -18
  269. package/dist/providers/telemetry.mjs.map +1 -1
  270. package/dist/providers/webhooks.js +28 -26
  271. package/dist/providers/webhooks.js.map +1 -1
  272. package/dist/providers/webhooks.mjs +27 -28
  273. package/dist/providers/webhooks.mjs.map +1 -1
  274. package/dist/registries/apis.js +23 -20
  275. package/dist/registries/apis.js.map +1 -1
  276. package/dist/registries/apis.mjs +22 -22
  277. package/dist/registries/apis.mjs.map +1 -1
  278. package/dist/registries/components.js +35 -37
  279. package/dist/registries/components.js.map +1 -1
  280. package/dist/registries/components.mjs +34 -39
  281. package/dist/registries/components.mjs.map +1 -1
  282. package/dist/registries/content-types.js +54 -59
  283. package/dist/registries/content-types.js.map +1 -1
  284. package/dist/registries/content-types.mjs +53 -61
  285. package/dist/registries/content-types.mjs.map +1 -1
  286. package/dist/registries/controllers.js +70 -71
  287. package/dist/registries/controllers.js.map +1 -1
  288. package/dist/registries/controllers.mjs +69 -73
  289. package/dist/registries/controllers.mjs.map +1 -1
  290. package/dist/registries/custom-fields.js +75 -65
  291. package/dist/registries/custom-fields.js.map +1 -1
  292. package/dist/registries/custom-fields.mjs +74 -67
  293. package/dist/registries/custom-fields.mjs.map +1 -1
  294. package/dist/registries/hooks.js +46 -49
  295. package/dist/registries/hooks.js.map +1 -1
  296. package/dist/registries/hooks.mjs +45 -51
  297. package/dist/registries/hooks.mjs.map +1 -1
  298. package/dist/registries/middlewares.js +49 -51
  299. package/dist/registries/middlewares.js.map +1 -1
  300. package/dist/registries/middlewares.mjs +48 -53
  301. package/dist/registries/middlewares.mjs.map +1 -1
  302. package/dist/registries/models.js +14 -13
  303. package/dist/registries/models.js.map +1 -1
  304. package/dist/registries/models.mjs +13 -14
  305. package/dist/registries/models.mjs.map +1 -1
  306. package/dist/registries/modules.js +39 -36
  307. package/dist/registries/modules.js.map +1 -1
  308. package/dist/registries/modules.mjs +38 -38
  309. package/dist/registries/modules.mjs.map +1 -1
  310. package/dist/registries/namespace.js +21 -20
  311. package/dist/registries/namespace.js.map +1 -1
  312. package/dist/registries/namespace.mjs +20 -23
  313. package/dist/registries/namespace.mjs.map +1 -1
  314. package/dist/registries/plugins.js +23 -20
  315. package/dist/registries/plugins.js.map +1 -1
  316. package/dist/registries/plugins.mjs +22 -22
  317. package/dist/registries/plugins.mjs.map +1 -1
  318. package/dist/registries/policies.js +103 -96
  319. package/dist/registries/policies.js.map +1 -1
  320. package/dist/registries/policies.mjs +102 -98
  321. package/dist/registries/policies.mjs.map +1 -1
  322. package/dist/registries/sanitizers.js +23 -22
  323. package/dist/registries/sanitizers.js.map +1 -1
  324. package/dist/registries/sanitizers.mjs +22 -22
  325. package/dist/registries/sanitizers.mjs.map +1 -1
  326. package/dist/registries/services.js +71 -71
  327. package/dist/registries/services.js.map +1 -1
  328. package/dist/registries/services.mjs +70 -73
  329. package/dist/registries/services.mjs.map +1 -1
  330. package/dist/registries/validators.js +23 -22
  331. package/dist/registries/validators.js.map +1 -1
  332. package/dist/registries/validators.mjs +22 -22
  333. package/dist/registries/validators.mjs.map +1 -1
  334. package/dist/services/auth/index.js +74 -74
  335. package/dist/services/auth/index.js.map +1 -1
  336. package/dist/services/auth/index.mjs +73 -74
  337. package/dist/services/auth/index.mjs.map +1 -1
  338. package/dist/services/config.js +47 -43
  339. package/dist/services/config.js.map +1 -1
  340. package/dist/services/config.mjs +46 -44
  341. package/dist/services/config.mjs.map +1 -1
  342. package/dist/services/content-api/index.js +80 -79
  343. package/dist/services/content-api/index.js.map +1 -1
  344. package/dist/services/content-api/index.mjs +79 -79
  345. package/dist/services/content-api/index.mjs.map +1 -1
  346. package/dist/services/content-api/permissions/engine.js +8 -5
  347. package/dist/services/content-api/permissions/engine.js.map +1 -1
  348. package/dist/services/content-api/permissions/engine.mjs +7 -5
  349. package/dist/services/content-api/permissions/engine.mjs.map +1 -1
  350. package/dist/services/content-api/permissions/index.js +101 -81
  351. package/dist/services/content-api/permissions/index.js.map +1 -1
  352. package/dist/services/content-api/permissions/index.mjs +100 -81
  353. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  354. package/dist/services/content-api/permissions/providers/action.js +17 -14
  355. package/dist/services/content-api/permissions/providers/action.js.map +1 -1
  356. package/dist/services/content-api/permissions/providers/action.mjs +16 -16
  357. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -1
  358. package/dist/services/content-api/permissions/providers/condition.js +17 -14
  359. package/dist/services/content-api/permissions/providers/condition.js.map +1 -1
  360. package/dist/services/content-api/permissions/providers/condition.mjs +16 -16
  361. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -1
  362. package/dist/services/core-store.js +115 -95
  363. package/dist/services/core-store.js.map +1 -1
  364. package/dist/services/core-store.mjs +114 -97
  365. package/dist/services/core-store.mjs.map +1 -1
  366. package/dist/services/cron.js +74 -65
  367. package/dist/services/cron.js.map +1 -1
  368. package/dist/services/cron.mjs +73 -67
  369. package/dist/services/cron.mjs.map +1 -1
  370. package/dist/services/custom-fields.js +9 -7
  371. package/dist/services/custom-fields.js.map +1 -1
  372. package/dist/services/custom-fields.mjs +8 -9
  373. package/dist/services/custom-fields.mjs.map +1 -1
  374. package/dist/services/document-service/attributes/index.js +23 -18
  375. package/dist/services/document-service/attributes/index.js.map +1 -1
  376. package/dist/services/document-service/attributes/index.mjs +22 -19
  377. package/dist/services/document-service/attributes/index.mjs.map +1 -1
  378. package/dist/services/document-service/attributes/transforms.js +16 -15
  379. package/dist/services/document-service/attributes/transforms.js.map +1 -1
  380. package/dist/services/document-service/attributes/transforms.mjs +15 -15
  381. package/dist/services/document-service/attributes/transforms.mjs.map +1 -1
  382. package/dist/services/document-service/common.js +5 -4
  383. package/dist/services/document-service/common.js.map +1 -1
  384. package/dist/services/document-service/common.mjs +4 -5
  385. package/dist/services/document-service/common.mjs.map +1 -1
  386. package/dist/services/document-service/components.d.ts.map +1 -1
  387. package/dist/services/document-service/components.js +255 -257
  388. package/dist/services/document-service/components.js.map +1 -1
  389. package/dist/services/document-service/components.mjs +254 -262
  390. package/dist/services/document-service/components.mjs.map +1 -1
  391. package/dist/services/document-service/draft-and-publish.d.ts +1 -1
  392. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  393. package/dist/services/document-service/draft-and-publish.js +88 -48
  394. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  395. package/dist/services/document-service/draft-and-publish.mjs +87 -54
  396. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  397. package/dist/services/document-service/entries.js +109 -91
  398. package/dist/services/document-service/entries.js.map +1 -1
  399. package/dist/services/document-service/entries.mjs +108 -92
  400. package/dist/services/document-service/entries.mjs.map +1 -1
  401. package/dist/services/document-service/events.d.ts +1 -1
  402. package/dist/services/document-service/events.d.ts.map +1 -1
  403. package/dist/services/document-service/events.js +52 -40
  404. package/dist/services/document-service/events.js.map +1 -1
  405. package/dist/services/document-service/events.mjs +51 -41
  406. package/dist/services/document-service/events.mjs.map +1 -1
  407. package/dist/services/document-service/index.js +53 -33
  408. package/dist/services/document-service/index.js.map +1 -1
  409. package/dist/services/document-service/index.mjs +52 -34
  410. package/dist/services/document-service/index.mjs.map +1 -1
  411. package/dist/services/document-service/internationalization.js +62 -46
  412. package/dist/services/document-service/internationalization.js.map +1 -1
  413. package/dist/services/document-service/internationalization.mjs +61 -50
  414. package/dist/services/document-service/internationalization.mjs.map +1 -1
  415. package/dist/services/document-service/middlewares/errors.js +23 -19
  416. package/dist/services/document-service/middlewares/errors.js.map +1 -1
  417. package/dist/services/document-service/middlewares/errors.mjs +22 -20
  418. package/dist/services/document-service/middlewares/errors.mjs.map +1 -1
  419. package/dist/services/document-service/middlewares/middleware-manager.js +46 -44
  420. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -1
  421. package/dist/services/document-service/middlewares/middleware-manager.mjs +45 -45
  422. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -1
  423. package/dist/services/document-service/params.js +11 -5
  424. package/dist/services/document-service/params.js.map +1 -1
  425. package/dist/services/document-service/params.mjs +10 -6
  426. package/dist/services/document-service/params.mjs.map +1 -1
  427. package/dist/services/document-service/repository.d.ts.map +1 -1
  428. package/dist/services/document-service/repository.js +354 -319
  429. package/dist/services/document-service/repository.js.map +1 -1
  430. package/dist/services/document-service/repository.mjs +353 -320
  431. package/dist/services/document-service/repository.mjs.map +1 -1
  432. package/dist/services/document-service/transform/data.js +22 -12
  433. package/dist/services/document-service/transform/data.js.map +1 -1
  434. package/dist/services/document-service/transform/data.mjs +21 -13
  435. package/dist/services/document-service/transform/data.mjs.map +1 -1
  436. package/dist/services/document-service/transform/fields.js +26 -17
  437. package/dist/services/document-service/transform/fields.js.map +1 -1
  438. package/dist/services/document-service/transform/fields.mjs +25 -18
  439. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  440. package/dist/services/document-service/transform/id-map.d.ts +1 -1
  441. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  442. package/dist/services/document-service/transform/id-map.js +115 -77
  443. package/dist/services/document-service/transform/id-map.js.map +1 -1
  444. package/dist/services/document-service/transform/id-map.mjs +114 -78
  445. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  446. package/dist/services/document-service/transform/id-transform.d.ts +1 -1
  447. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  448. package/dist/services/document-service/transform/id-transform.js +37 -29
  449. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  450. package/dist/services/document-service/transform/id-transform.mjs +36 -30
  451. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  452. package/dist/services/document-service/transform/populate.js +23 -18
  453. package/dist/services/document-service/transform/populate.js.map +1 -1
  454. package/dist/services/document-service/transform/populate.mjs +22 -19
  455. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  456. package/dist/services/document-service/transform/query.js +11 -6
  457. package/dist/services/document-service/transform/query.js.map +1 -1
  458. package/dist/services/document-service/transform/query.mjs +10 -7
  459. package/dist/services/document-service/transform/query.mjs.map +1 -1
  460. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +1 -1
  461. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  462. package/dist/services/document-service/transform/relations/extract/data-ids.js +71 -48
  463. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  464. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +70 -49
  465. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  466. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  467. package/dist/services/document-service/transform/relations/transform/data-ids.js +97 -63
  468. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  469. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +96 -64
  470. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  471. package/dist/services/document-service/transform/relations/transform/default-locale.js +47 -29
  472. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -1
  473. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +46 -30
  474. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -1
  475. package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
  476. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  477. package/dist/services/document-service/transform/relations/utils/dp.js +52 -26
  478. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -1
  479. package/dist/services/document-service/transform/relations/utils/dp.mjs +51 -27
  480. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -1
  481. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +1 -1
  482. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  483. package/dist/services/document-service/transform/relations/utils/i18n.js +20 -18
  484. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  485. package/dist/services/document-service/transform/relations/utils/i18n.mjs +19 -21
  486. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  487. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -1
  488. package/dist/services/document-service/transform/relations/utils/map-relation.js +116 -77
  489. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -1
  490. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +115 -79
  491. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -1
  492. package/dist/services/document-service/utils/bidirectional-relations.d.ts +95 -0
  493. package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -0
  494. package/dist/services/document-service/utils/bidirectional-relations.js +148 -0
  495. package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -0
  496. package/dist/services/document-service/utils/bidirectional-relations.mjs +145 -0
  497. package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -0
  498. package/dist/services/document-service/utils/populate.d.ts +1 -1
  499. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  500. package/dist/services/document-service/utils/populate.js +66 -42
  501. package/dist/services/document-service/utils/populate.js.map +1 -1
  502. package/dist/services/document-service/utils/populate.mjs +65 -43
  503. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  504. package/dist/services/document-service/utils/unidirectional-relations.d.ts +1 -1
  505. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -1
  506. package/dist/services/document-service/utils/unidirectional-relations.js +109 -62
  507. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -1
  508. package/dist/services/document-service/utils/unidirectional-relations.mjs +108 -64
  509. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -1
  510. package/dist/services/entity-service/index.js +230 -161
  511. package/dist/services/entity-service/index.js.map +1 -1
  512. package/dist/services/entity-service/index.mjs +229 -160
  513. package/dist/services/entity-service/index.mjs.map +1 -1
  514. package/dist/services/entity-validator/blocks-validator.js +135 -103
  515. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  516. package/dist/services/entity-validator/blocks-validator.mjs +134 -104
  517. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  518. package/dist/services/entity-validator/index.d.ts +1 -1
  519. package/dist/services/entity-validator/index.d.ts.map +1 -1
  520. package/dist/services/entity-validator/index.js +362 -367
  521. package/dist/services/entity-validator/index.js.map +1 -1
  522. package/dist/services/entity-validator/index.mjs +358 -364
  523. package/dist/services/entity-validator/index.mjs.map +1 -1
  524. package/dist/services/entity-validator/validators.js +268 -210
  525. package/dist/services/entity-validator/validators.js.map +1 -1
  526. package/dist/services/entity-validator/validators.mjs +267 -216
  527. package/dist/services/entity-validator/validators.mjs.map +1 -1
  528. package/dist/services/errors.js +65 -65
  529. package/dist/services/errors.js.map +1 -1
  530. package/dist/services/errors.mjs +64 -66
  531. package/dist/services/errors.mjs.map +1 -1
  532. package/dist/services/event-hub.js +82 -69
  533. package/dist/services/event-hub.js.map +1 -1
  534. package/dist/services/event-hub.mjs +81 -71
  535. package/dist/services/event-hub.mjs.map +1 -1
  536. package/dist/services/features.js +19 -14
  537. package/dist/services/features.js.map +1 -1
  538. package/dist/services/features.mjs +18 -15
  539. package/dist/services/features.mjs.map +1 -1
  540. package/dist/services/fs.js +41 -40
  541. package/dist/services/fs.js.map +1 -1
  542. package/dist/services/fs.mjs +40 -39
  543. package/dist/services/fs.mjs.map +1 -1
  544. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  545. package/dist/services/metrics/admin-user-hash.js +13 -11
  546. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  547. package/dist/services/metrics/admin-user-hash.mjs +12 -10
  548. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  549. package/dist/services/metrics/index.js +46 -40
  550. package/dist/services/metrics/index.js.map +1 -1
  551. package/dist/services/metrics/index.mjs +45 -42
  552. package/dist/services/metrics/index.mjs.map +1 -1
  553. package/dist/services/metrics/is-truthy.js +13 -6
  554. package/dist/services/metrics/is-truthy.js.map +1 -1
  555. package/dist/services/metrics/is-truthy.mjs +12 -6
  556. package/dist/services/metrics/is-truthy.mjs.map +1 -1
  557. package/dist/services/metrics/middleware.d.ts.map +1 -1
  558. package/dist/services/metrics/middleware.js +37 -22
  559. package/dist/services/metrics/middleware.js.map +1 -1
  560. package/dist/services/metrics/middleware.mjs +36 -24
  561. package/dist/services/metrics/middleware.mjs.map +1 -1
  562. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  563. package/dist/services/metrics/rate-limiter.js +24 -19
  564. package/dist/services/metrics/rate-limiter.js.map +1 -1
  565. package/dist/services/metrics/rate-limiter.mjs +23 -21
  566. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  567. package/dist/services/metrics/sender.d.ts.map +1 -1
  568. package/dist/services/metrics/sender.js +78 -69
  569. package/dist/services/metrics/sender.js.map +1 -1
  570. package/dist/services/metrics/sender.mjs +77 -64
  571. package/dist/services/metrics/sender.mjs.map +1 -1
  572. package/dist/services/query-params.js +13 -10
  573. package/dist/services/query-params.js.map +1 -1
  574. package/dist/services/query-params.mjs +12 -12
  575. package/dist/services/query-params.mjs.map +1 -1
  576. package/dist/services/reloader.js +35 -32
  577. package/dist/services/reloader.js.map +1 -1
  578. package/dist/services/reloader.mjs +34 -33
  579. package/dist/services/reloader.mjs.map +1 -1
  580. package/dist/services/request-context.js +11 -8
  581. package/dist/services/request-context.js.map +1 -1
  582. package/dist/services/request-context.mjs +10 -10
  583. package/dist/services/request-context.mjs.map +1 -1
  584. package/dist/services/server/admin-api.js +11 -10
  585. package/dist/services/server/admin-api.js.map +1 -1
  586. package/dist/services/server/admin-api.mjs +10 -11
  587. package/dist/services/server/admin-api.mjs.map +1 -1
  588. package/dist/services/server/api.js +33 -27
  589. package/dist/services/server/api.js.map +1 -1
  590. package/dist/services/server/api.mjs +32 -26
  591. package/dist/services/server/api.mjs.map +1 -1
  592. package/dist/services/server/compose-endpoint.js +116 -105
  593. package/dist/services/server/compose-endpoint.js.map +1 -1
  594. package/dist/services/server/compose-endpoint.mjs +115 -105
  595. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  596. package/dist/services/server/content-api.js +11 -9
  597. package/dist/services/server/content-api.js.map +1 -1
  598. package/dist/services/server/content-api.mjs +10 -10
  599. package/dist/services/server/content-api.mjs.map +1 -1
  600. package/dist/services/server/http-server.js +48 -44
  601. package/dist/services/server/http-server.js.map +1 -1
  602. package/dist/services/server/http-server.mjs +47 -43
  603. package/dist/services/server/http-server.mjs.map +1 -1
  604. package/dist/services/server/index.js +85 -82
  605. package/dist/services/server/index.js.map +1 -1
  606. package/dist/services/server/index.mjs +84 -81
  607. package/dist/services/server/index.mjs.map +1 -1
  608. package/dist/services/server/koa.js +49 -47
  609. package/dist/services/server/koa.js.map +1 -1
  610. package/dist/services/server/koa.mjs +48 -44
  611. package/dist/services/server/koa.mjs.map +1 -1
  612. package/dist/services/server/middleware.js +86 -82
  613. package/dist/services/server/middleware.js.map +1 -1
  614. package/dist/services/server/middleware.mjs +85 -82
  615. package/dist/services/server/middleware.mjs.map +1 -1
  616. package/dist/services/server/policy.js +24 -17
  617. package/dist/services/server/policy.js.map +1 -1
  618. package/dist/services/server/policy.mjs +23 -18
  619. package/dist/services/server/policy.mjs.map +1 -1
  620. package/dist/services/server/register-middlewares.js +68 -61
  621. package/dist/services/server/register-middlewares.js.map +1 -1
  622. package/dist/services/server/register-middlewares.mjs +67 -63
  623. package/dist/services/server/register-middlewares.mjs.map +1 -1
  624. package/dist/services/server/register-routes.js +90 -67
  625. package/dist/services/server/register-routes.js.map +1 -1
  626. package/dist/services/server/register-routes.mjs +89 -67
  627. package/dist/services/server/register-routes.mjs.map +1 -1
  628. package/dist/services/server/routing.js +94 -81
  629. package/dist/services/server/routing.js.map +1 -1
  630. package/dist/services/server/routing.mjs +93 -81
  631. package/dist/services/server/routing.mjs.map +1 -1
  632. package/dist/services/utils/dynamic-zones.js +13 -14
  633. package/dist/services/utils/dynamic-zones.js.map +1 -1
  634. package/dist/services/utils/dynamic-zones.mjs +12 -16
  635. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  636. package/dist/services/webhook-runner.js +124 -122
  637. package/dist/services/webhook-runner.js.map +1 -1
  638. package/dist/services/webhook-runner.mjs +123 -121
  639. package/dist/services/webhook-runner.mjs.map +1 -1
  640. package/dist/services/webhook-store.js +132 -99
  641. package/dist/services/webhook-store.js.map +1 -1
  642. package/dist/services/webhook-store.mjs +131 -101
  643. package/dist/services/webhook-store.mjs.map +1 -1
  644. package/dist/services/worker-queue.js +44 -49
  645. package/dist/services/worker-queue.js.map +1 -1
  646. package/dist/services/worker-queue.mjs +43 -49
  647. package/dist/services/worker-queue.mjs.map +1 -1
  648. package/dist/utils/convert-custom-field-type.js +17 -20
  649. package/dist/utils/convert-custom-field-type.js.map +1 -1
  650. package/dist/utils/convert-custom-field-type.mjs +16 -21
  651. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  652. package/dist/utils/cron.js +64 -30
  653. package/dist/utils/cron.js.map +1 -1
  654. package/dist/utils/cron.mjs +63 -31
  655. package/dist/utils/cron.mjs.map +1 -1
  656. package/dist/utils/fetch.js +24 -18
  657. package/dist/utils/fetch.js.map +1 -1
  658. package/dist/utils/fetch.mjs +23 -19
  659. package/dist/utils/fetch.mjs.map +1 -1
  660. package/dist/utils/filepath-to-prop-path.js +20 -28
  661. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  662. package/dist/utils/filepath-to-prop-path.mjs +19 -26
  663. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  664. package/dist/utils/is-initialized.js +21 -12
  665. package/dist/utils/is-initialized.js.map +1 -1
  666. package/dist/utils/is-initialized.mjs +20 -13
  667. package/dist/utils/is-initialized.mjs.map +1 -1
  668. package/dist/utils/lifecycles.js +6 -5
  669. package/dist/utils/lifecycles.js.map +1 -1
  670. package/dist/utils/lifecycles.mjs +5 -6
  671. package/dist/utils/lifecycles.mjs.map +1 -1
  672. package/dist/utils/load-config-file.js +40 -38
  673. package/dist/utils/load-config-file.js.map +1 -1
  674. package/dist/utils/load-config-file.mjs +39 -36
  675. package/dist/utils/load-config-file.mjs.map +1 -1
  676. package/dist/utils/load-files.js +40 -35
  677. package/dist/utils/load-files.js.map +1 -1
  678. package/dist/utils/load-files.mjs +39 -32
  679. package/dist/utils/load-files.mjs.map +1 -1
  680. package/dist/utils/open-browser.js +8 -8
  681. package/dist/utils/open-browser.js.map +1 -1
  682. package/dist/utils/open-browser.mjs +7 -7
  683. package/dist/utils/open-browser.mjs.map +1 -1
  684. package/dist/utils/resolve-working-dirs.js +23 -10
  685. package/dist/utils/resolve-working-dirs.js.map +1 -1
  686. package/dist/utils/resolve-working-dirs.mjs +22 -9
  687. package/dist/utils/resolve-working-dirs.mjs.map +1 -1
  688. package/dist/utils/signals.js +20 -14
  689. package/dist/utils/signals.js.map +1 -1
  690. package/dist/utils/signals.mjs +19 -15
  691. package/dist/utils/signals.mjs.map +1 -1
  692. package/dist/utils/startup-logger.d.ts.map +1 -1
  693. package/dist/utils/startup-logger.js +107 -78
  694. package/dist/utils/startup-logger.js.map +1 -1
  695. package/dist/utils/startup-logger.mjs +106 -75
  696. package/dist/utils/startup-logger.mjs.map +1 -1
  697. package/dist/utils/transform-content-types-to-models.js +350 -261
  698. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  699. package/dist/utils/transform-content-types-to-models.mjs +349 -269
  700. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  701. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  702. package/dist/utils/update-notifier/index.js +68 -73
  703. package/dist/utils/update-notifier/index.js.map +1 -1
  704. package/dist/utils/update-notifier/index.mjs +67 -67
  705. package/dist/utils/update-notifier/index.mjs.map +1 -1
  706. package/package.json +25 -26
@@ -1 +1 @@
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
+ {"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":["symbols","CustomController","Symbol","createCoreController","uid","cfg","strapi","baseController","createController","contentType","userCtrl","methodName","Object","keys","undefined","setPrototypeOf","isCustom","defineProperty","writable","configurable","enumerable","createCoreService","baseService","createService","userService","createCoreRouter","prefix","config","only","except","type","routes","defaultRoutes","createRoutes","forEach","routeName","defaultRoute","assign","selectedRoutes","pipe","omit","pick","values","isCustomController","controller"],"mappings":";;;;;AAOA,MAAMA,OAAU,GAAA;AACdC,IAAAA,gBAAAA,EAAkBC,MAAO,CAAA,4BAAA;AAC3B,CAAA;AAIMC,MAAAA,oBAAAA,GAAuB,CAI3BC,GACAC,EAAAA,GAAAA,GAAAA;AAIA,IAAA,OAAO,CAAC,EACNC,MAAAA,EAAAA,OAAM,EAGP,GAAA;AACC,QAAA,MAAMC,iBAAiBC,gBAAiB,CAAA;YAAEC,WAAaH,EAAAA,OAAAA,CAAOG,WAAW,CAACL,GAAAA;AAAK,SAAA,CAAA;AAE/E,QAAA,MAAMM,QAAW,GAAA,OAAOL,GAAQ,KAAA,UAAA,GAAaA,GAAI,CAAA;YAAEC,MAAAA,EAAAA;AAAO,SAAA,CAAA,GAAMD,OAAQ,EAAC;AAEzE,QAAA,KAAK,MAAMM,UAAAA,IAAcC,MAAOC,CAAAA,IAAI,CAACN,cAAuD,CAAA,CAAA;AAC1F,YAAA,IAAIG,QAAQ,CAACC,UAAW,CAAA,KAAKG,SAAW,EAAA;AACtCJ,gBAAAA,QAAQ,CAACC,UAAAA,CAAW,GAAGJ,cAAc,CAACI,UAAW,CAAA;AACnD;AACF;QAEAC,MAAOG,CAAAA,cAAc,CAACL,QAAUH,EAAAA,cAAAA,CAAAA;QAEhC,MAAMS,QAAAA,GAAW,OAAOX,GAAQ,KAAA,WAAA;AAChC,QAAA,IAAIW,QAAU,EAAA;AACZJ,YAAAA,MAAAA,CAAOK,cAAc,CAACP,QAAUV,EAAAA,OAAAA,CAAQC,gBAAgB,EAAE;gBACxDiB,QAAU,EAAA,KAAA;gBACVC,YAAc,EAAA,KAAA;gBACdC,UAAY,EAAA;AACd,aAAA,CAAA;AACF;QAEA,OAAOV,QAAAA;AACT,KAAA;AACF;AAEA,SAASW,iBAAAA,CAIPjB,GAAS,EACTC,GAAiG,EAAA;AAEjG,IAAA,OAAO,CAAC,EACNC,MAAAA,EAAAA,OAAM,EAGP,GAAA;AACC,QAAA,MAAMgB,cAAcC,aAAc,CAAA;YAAEd,WAAaH,EAAAA,OAAAA,CAAOG,WAAW,CAACL,GAAAA;AAAK,SAAA,CAAA;AAEzE,QAAA,MAAMoB,WAAc,GAAA,OAAOnB,GAAQ,KAAA,UAAA,GAAaA,GAAI,CAAA;YAAEC,MAAAA,EAAAA;AAAO,SAAA,CAAA,GAAMD,OAAQ,EAAC;AAE5E,QAAA,KAAK,MAAMM,UAAAA,IAAcC,MAAOC,CAAAA,IAAI,CAACS,WAAiD,CAAA,CAAA;AACpF,YAAA,IAAIE,WAAW,CAACb,UAAW,CAAA,KAAKG,SAAW,EAAA;AACzCU,gBAAAA,WAAW,CAACb,UAAAA,CAAW,GAAGW,WAAW,CAACX,UAAW,CAAA;AACnD;AACF;QAEAC,MAAOG,CAAAA,cAAc,CAACS,WAAaF,EAAAA,WAAAA,CAAAA;QACnC,OAAOE,WAAAA;AACT,KAAA;AACF;AAEA,SAASC,gBAAAA,CACPrB,GAAM,EACNC,GAAyC,EAAA;AAEzC,IAAA,MAAM,EAAEqB,MAAM,EAAEC,MAAS,GAAA,EAAE,EAAEC,IAAI,EAAEC,MAAM,EAAEC,IAAO,GAAA,aAAa,EAAE,GAAGzB,OAAO,EAAC;IAC5E,IAAI0B,MAAAA;IAEJ,OAAO;AACLD,QAAAA,IAAAA;AACAJ,QAAAA,MAAAA;AACA,QAAA,IAAIK,MAAS,CAAA,GAAA;AACX,YAAA,IAAI,CAACA,MAAQ,EAAA;gBACX,MAAMtB,WAAAA,GAAcH,MAAOG,CAAAA,WAAW,CAACL,GAAAA,CAAAA;AAEvC,gBAAA,MAAM4B,gBAAgBC,YAAa,CAAA;AAAExB,oBAAAA;AAAY,iBAAA,CAAA;gBACjD,MAAMI,IAAAA,GAAOD,MAAOC,CAAAA,IAAI,CAACmB,aAAAA,CAAAA;gBAEzBnB,IAAKqB,CAAAA,OAAO,CAAC,CAACC,SAAAA,GAAAA;oBACZ,MAAMC,YAAAA,GAAeJ,aAAa,CAACG,SAAU,CAAA;oBAE7CvB,MAAOyB,CAAAA,MAAM,CAACD,YAAaT,CAAAA,MAAM,EAAEA,MAAM,CAACQ,SAAU,CAAA,IAAI,EAAC,CAAA;AAC3D,iBAAA,CAAA;AAEA,gBAAA,MAAMG,cAAiBC,GAAAA,IAAAA,CACrB,CAACR,MAAAA,GAAYF,SAASW,IAAKX,CAAAA,MAAAA,EAAQE,MAAUA,CAAAA,GAAAA,MAAAA,EAC7C,CAACA,MAAYH,GAAAA,IAAAA,GAAOa,IAAKb,CAAAA,IAAAA,EAAMG,UAAUA,MACzCC,CAAAA,CAAAA,aAAAA,CAAAA;gBAEFD,MAASnB,GAAAA,MAAAA,CAAO8B,MAAM,CAACJ,cAAAA,CAAAA;AACzB;YAEA,OAAOP,MAAAA;AACT;AACF,KAAA;AACF;AAEA,MAAMY,qBAAqB,CAA4BC,UAAAA,GAAAA;IACrD,OAAO5C,OAAAA,CAAQC,gBAAgB,IAAI2C,UAAAA;AACrC;;;;"}
package/dist/index.js CHANGED
@@ -1,30 +1,33 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const Strapi = require("./Strapi.js");
4
- require("open");
5
- require("lodash/fp");
6
- require("path");
7
- require("./ee/license.js");
8
- const index = require("./utils/update-notifier/index.js");
9
- require("undici");
10
- require("chalk");
11
- require("cli-table3");
12
- require("@paralleldrive/cuid2");
13
- require("node:assert");
14
- const signals = require("./utils/signals.js");
15
- const resolveWorkingDirs = require("./utils/resolve-working-dirs.js");
16
- const compile = require("./compile.js");
17
- const factories = require("./factories.js");
18
- const createStrapi = (options = {}) => {
19
- const strapi = new Strapi({
20
- ...options,
21
- ...resolveWorkingDirs.resolveWorkingDirectories(options)
22
- });
23
- signals.destroyOnSignal(strapi);
24
- index.createUpdateNotifier(strapi);
25
- global.strapi = strapi;
26
- return strapi;
1
+ 'use strict';
2
+
3
+ var Strapi = require('./Strapi.js');
4
+ require('open');
5
+ require('lodash/fp');
6
+ require('path');
7
+ require('./ee/license.js');
8
+ var index = require('./utils/update-notifier/index.js');
9
+ require('undici');
10
+ require('chalk');
11
+ require('cli-table3');
12
+ require('@paralleldrive/cuid2');
13
+ require('node:assert');
14
+ var signals = require('./utils/signals.js');
15
+ var resolveWorkingDirs = require('./utils/resolve-working-dirs.js');
16
+ var compile = require('./compile.js');
17
+ var factories = require('./factories.js');
18
+
19
+ const createStrapi = (options = {})=>{
20
+ const strapi = new Strapi({
21
+ ...options,
22
+ ...resolveWorkingDirs.resolveWorkingDirectories(options)
23
+ });
24
+ signals.destroyOnSignal(strapi);
25
+ index.createUpdateNotifier(strapi);
26
+ // TODO: deprecate and remove in next major
27
+ global.strapi = strapi;
28
+ return strapi;
27
29
  };
30
+
28
31
  exports.compileStrapi = compile;
29
32
  exports.factories = factories;
30
33
  exports.createStrapi = createStrapi;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import * as qs from 'qs';\nimport type { Core } from '@strapi/types';\n\nimport Strapi, { type StrapiOptions } from './Strapi';\nimport { destroyOnSignal, resolveWorkingDirectories, createUpdateNotifier } from './utils';\n\nexport { default as compileStrapi } from './compile';\nexport * as factories from './factories';\n\nexport const createStrapi = (options: Partial<StrapiOptions> = {}): Core.Strapi => {\n const strapi = new Strapi({\n ...options,\n ...resolveWorkingDirectories(options),\n });\n\n destroyOnSignal(strapi);\n createUpdateNotifier(strapi);\n\n // TODO: deprecate and remove in next major\n global.strapi = strapi;\n\n return strapi;\n};\n\n// Augment Koa query type based on Strapi query middleware\n\ndeclare module 'koa' {\n type ParsedQuery = ReturnType<typeof qs.parse>;\n\n export interface BaseRequest {\n _querycache?: ParsedQuery;\n\n get query(): ParsedQuery;\n set query(obj: any);\n }\n\n export interface BaseContext {\n _querycache?: ParsedQuery;\n\n get query(): ParsedQuery;\n set query(obj: any);\n }\n}\n"],"names":["resolveWorkingDirectories","destroyOnSignal","createUpdateNotifier"],"mappings":";;;;;;;;;;;;;;;;;AASO,MAAM,eAAe,CAAC,UAAkC,OAAoB;AAC3E,QAAA,SAAS,IAAI,OAAO;AAAA,IACxB,GAAG;AAAA,IACH,GAAGA,mBAAAA,0BAA0B,OAAO;AAAA,EAAA,CACrC;AAEDC,UAAA,gBAAgB,MAAM;AACtBC,QAAA,qBAAqB,MAAM;AAG3B,SAAO,SAAS;AAET,SAAA;AACT;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import * as qs from 'qs';\nimport type { Core } from '@strapi/types';\n\nimport Strapi, { type StrapiOptions } from './Strapi';\nimport { destroyOnSignal, resolveWorkingDirectories, createUpdateNotifier } from './utils';\n\nexport { default as compileStrapi } from './compile';\nexport * as factories from './factories';\n\nexport const createStrapi = (options: Partial<StrapiOptions> = {}): Core.Strapi => {\n const strapi = new Strapi({\n ...options,\n ...resolveWorkingDirectories(options),\n });\n\n destroyOnSignal(strapi);\n createUpdateNotifier(strapi);\n\n // TODO: deprecate and remove in next major\n global.strapi = strapi;\n\n return strapi;\n};\n\n// Augment Koa query type based on Strapi query middleware\n\ndeclare module 'koa' {\n type ParsedQuery = ReturnType<typeof qs.parse>;\n\n export interface BaseRequest {\n _querycache?: ParsedQuery;\n\n get query(): ParsedQuery;\n set query(obj: any);\n }\n\n export interface BaseContext {\n _querycache?: ParsedQuery;\n\n get query(): ParsedQuery;\n set query(obj: any);\n }\n}\n"],"names":["createStrapi","options","strapi","Strapi","resolveWorkingDirectories","destroyOnSignal","createUpdateNotifier","global"],"mappings":";;;;;;;;;;;;;;;;;;AASaA,MAAAA,YAAAA,GAAe,CAACC,OAAAA,GAAkC,EAAE,GAAA;IAC/D,MAAMC,MAAAA,GAAS,IAAIC,MAAO,CAAA;AACxB,QAAA,GAAGF,OAAO;AACV,QAAA,GAAGG,6CAA0BH,OAAQ;AACvC,KAAA,CAAA;IAEAI,uBAAgBH,CAAAA,MAAAA,CAAAA;IAChBI,0BAAqBJ,CAAAA,MAAAA,CAAAA;;AAGrBK,IAAAA,MAAAA,CAAOL,MAAM,GAAGA,MAAAA;IAEhB,OAAOA,MAAAA;AACT;;;;;;"}
package/dist/index.mjs CHANGED
@@ -1,31 +1,31 @@
1
- import Strapi from "./Strapi.mjs";
2
- import "open";
3
- import "lodash/fp";
4
- import "path";
5
- import "./ee/license.mjs";
6
- import { createUpdateNotifier } from "./utils/update-notifier/index.mjs";
7
- import "undici";
8
- import "chalk";
9
- import "cli-table3";
10
- import "@paralleldrive/cuid2";
11
- import "node:assert";
12
- import { destroyOnSignal } from "./utils/signals.mjs";
13
- import { resolveWorkingDirectories } from "./utils/resolve-working-dirs.mjs";
14
- import { default as default2 } from "./compile.mjs";
15
- import * as factories from "./factories.mjs";
16
- const createStrapi = (options = {}) => {
17
- const strapi = new Strapi({
18
- ...options,
19
- ...resolveWorkingDirectories(options)
20
- });
21
- destroyOnSignal(strapi);
22
- createUpdateNotifier(strapi);
23
- global.strapi = strapi;
24
- return strapi;
25
- };
26
- export {
27
- default2 as compileStrapi,
28
- createStrapi,
29
- factories
1
+ import Strapi from './Strapi.mjs';
2
+ import 'open';
3
+ import 'lodash/fp';
4
+ import 'path';
5
+ import './ee/license.mjs';
6
+ import { createUpdateNotifier } from './utils/update-notifier/index.mjs';
7
+ import 'undici';
8
+ import 'chalk';
9
+ import 'cli-table3';
10
+ import '@paralleldrive/cuid2';
11
+ import 'node:assert';
12
+ import { destroyOnSignal } from './utils/signals.mjs';
13
+ import { resolveWorkingDirectories } from './utils/resolve-working-dirs.mjs';
14
+ export { default as compileStrapi } from './compile.mjs';
15
+ import * as factories from './factories.mjs';
16
+ export { factories };
17
+
18
+ const createStrapi = (options = {})=>{
19
+ const strapi = new Strapi({
20
+ ...options,
21
+ ...resolveWorkingDirectories(options)
22
+ });
23
+ destroyOnSignal(strapi);
24
+ createUpdateNotifier(strapi);
25
+ // TODO: deprecate and remove in next major
26
+ global.strapi = strapi;
27
+ return strapi;
30
28
  };
29
+
30
+ export { createStrapi };
31
31
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/index.ts"],"sourcesContent":["import * as qs from 'qs';\nimport type { Core } from '@strapi/types';\n\nimport Strapi, { type StrapiOptions } from './Strapi';\nimport { destroyOnSignal, resolveWorkingDirectories, createUpdateNotifier } from './utils';\n\nexport { default as compileStrapi } from './compile';\nexport * as factories from './factories';\n\nexport const createStrapi = (options: Partial<StrapiOptions> = {}): Core.Strapi => {\n const strapi = new Strapi({\n ...options,\n ...resolveWorkingDirectories(options),\n });\n\n destroyOnSignal(strapi);\n createUpdateNotifier(strapi);\n\n // TODO: deprecate and remove in next major\n global.strapi = strapi;\n\n return strapi;\n};\n\n// Augment Koa query type based on Strapi query middleware\n\ndeclare module 'koa' {\n type ParsedQuery = ReturnType<typeof qs.parse>;\n\n export interface BaseRequest {\n _querycache?: ParsedQuery;\n\n get query(): ParsedQuery;\n set query(obj: any);\n }\n\n export interface BaseContext {\n _querycache?: ParsedQuery;\n\n get query(): ParsedQuery;\n set query(obj: any);\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AASO,MAAM,eAAe,CAAC,UAAkC,OAAoB;AAC3E,QAAA,SAAS,IAAI,OAAO;AAAA,IACxB,GAAG;AAAA,IACH,GAAG,0BAA0B,OAAO;AAAA,EAAA,CACrC;AAED,kBAAgB,MAAM;AACtB,uBAAqB,MAAM;AAG3B,SAAO,SAAS;AAET,SAAA;AACT;"}
1
+ {"version":3,"file":"index.mjs","sources":["../src/index.ts"],"sourcesContent":["import * as qs from 'qs';\nimport type { Core } from '@strapi/types';\n\nimport Strapi, { type StrapiOptions } from './Strapi';\nimport { destroyOnSignal, resolveWorkingDirectories, createUpdateNotifier } from './utils';\n\nexport { default as compileStrapi } from './compile';\nexport * as factories from './factories';\n\nexport const createStrapi = (options: Partial<StrapiOptions> = {}): Core.Strapi => {\n const strapi = new Strapi({\n ...options,\n ...resolveWorkingDirectories(options),\n });\n\n destroyOnSignal(strapi);\n createUpdateNotifier(strapi);\n\n // TODO: deprecate and remove in next major\n global.strapi = strapi;\n\n return strapi;\n};\n\n// Augment Koa query type based on Strapi query middleware\n\ndeclare module 'koa' {\n type ParsedQuery = ReturnType<typeof qs.parse>;\n\n export interface BaseRequest {\n _querycache?: ParsedQuery;\n\n get query(): ParsedQuery;\n set query(obj: any);\n }\n\n export interface BaseContext {\n _querycache?: ParsedQuery;\n\n get query(): ParsedQuery;\n set query(obj: any);\n }\n}\n"],"names":["createStrapi","options","strapi","Strapi","resolveWorkingDirectories","destroyOnSignal","createUpdateNotifier","global"],"mappings":";;;;;;;;;;;;;;;;;AASaA,MAAAA,YAAAA,GAAe,CAACC,OAAAA,GAAkC,EAAE,GAAA;IAC/D,MAAMC,MAAAA,GAAS,IAAIC,MAAO,CAAA;AACxB,QAAA,GAAGF,OAAO;AACV,QAAA,GAAGG,0BAA0BH,OAAQ;AACvC,KAAA,CAAA;IAEAI,eAAgBH,CAAAA,MAAAA,CAAAA;IAChBI,oBAAqBJ,CAAAA,MAAAA,CAAAA;;AAGrBK,IAAAA,MAAAA,CAAOL,MAAM,GAAGA,MAAAA;IAEhB,OAAOA,MAAAA;AACT;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/loaders/admin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAU,MAAM,eAAe,CAAC;AAGlD,wBAA8B,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,iBAW1D"}
1
+ {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/loaders/admin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAU,MAAM,eAAe,CAAC;AAGlD,wBAA8B,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,iBAS1D"}
@@ -1,26 +1,27 @@
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(_);
1
+ 'use strict';
2
+
3
+ var _ = require('lodash');
4
+ var index = require('../domain/content-type/index.js');
5
+
6
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));
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', _.merge(strapi.admin?.config, userAdminConfig));
14
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")
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
+ });
21
22
  });
22
- });
23
- return contentTypes;
23
+ return contentTypes;
24
24
  };
25
+
25
26
  module.exports = loadAdmin;
26
27
  //# sourceMappingURL=admin.js.map
@@ -1 +1 @@
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
+ {"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.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":["loadAdmin","strapi","get","add","admin","services","controllers","formatContentTypes","contentTypes","policies","middlewares","userAdminConfig","config","set","_","merge","Object","values","forEach","definition","schema","assign","plugin","globalId","getGlobalId"],"mappings":";;;;;AAIe,eAAeA,UAAUC,MAAmB,EAAA;IACzDA,MAAOC,CAAAA,GAAG,CAAC,UAAA,CAAA,CAAYC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAEF,MAAOG,CAAAA,KAAK,EAAEC,QAAAA,CAAAA;IACpDJ,MAAOC,CAAAA,GAAG,CAAC,aAAA,CAAA,CAAeC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAEF,MAAOG,CAAAA,KAAK,EAAEE,WAAAA,CAAAA;AACvDL,IAAAA,MAAAA,CAAOC,GAAG,CAAC,eAAiBC,CAAAA,CAAAA,GAAG,CAAC,CAAC,OAAO,CAAC,EAAEI,kBAAmBN,CAAAA,MAAAA,CAAOG,KAAK,EAAEI,gBAAgB,EAAC,CAAA,CAAA;IAC7FP,MAAOC,CAAAA,GAAG,CAAC,UAAA,CAAA,CAAYC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAEF,MAAOG,CAAAA,KAAK,EAAEK,QAAAA,CAAAA;IACpDR,MAAOC,CAAAA,GAAG,CAAC,aAAA,CAAA,CAAeC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAEF,MAAOG,CAAAA,KAAK,EAAEM,WAAAA,CAAAA;AAEvD,IAAA,MAAMC,eAAkBV,GAAAA,MAAAA,CAAOW,MAAM,CAACV,GAAG,CAAC,OAAA,CAAA;AAC1CD,IAAAA,MAAAA,CAAOC,GAAG,CAAC,QAAUW,CAAAA,CAAAA,GAAG,CAAC,OAAA,EAASC,CAAEC,CAAAA,KAAK,CAACd,MAAAA,CAAOG,KAAK,EAAEQ,MAAQD,EAAAA,eAAAA,CAAAA,CAAAA;AAClE;AAEA,MAAMJ,qBAAqB,CAACC,YAAAA,GAAAA;AAC1BQ,IAAAA,MAAAA,CAAOC,MAAM,CAACT,YAAcU,CAAAA,CAAAA,OAAO,CAAC,CAACC,UAAAA,GAAAA;QACnC,MAAM,EAAEC,MAAM,EAAE,GAAGD,UAAAA;QAEnBH,MAAOK,CAAAA,MAAM,CAACD,MAAQ,EAAA;YACpBE,MAAQ,EAAA,OAAA;AACRC,YAAAA,QAAAA,EAAUC,kBAAYJ,MAAQ,EAAA,OAAA;AAChC,SAAA,CAAA;AACF,KAAA,CAAA;IAEA,OAAOZ,YAAAA;AACT,CAAA;;;;"}
@@ -1,25 +1,25 @@
1
- import _ from "lodash";
2
- import { getGlobalId } from "../domain/content-type/index.mjs";
1
+ import _ from 'lodash';
2
+ import { getGlobalId } from '../domain/content-type/index.mjs';
3
+
3
4
  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));
5
+ strapi.get('services').add(`admin::`, strapi.admin?.services);
6
+ strapi.get('controllers').add(`admin::`, strapi.admin?.controllers);
7
+ strapi.get('content-types').add(`admin::`, formatContentTypes(strapi.admin?.contentTypes ?? {}));
8
+ strapi.get('policies').add(`admin::`, strapi.admin?.policies);
9
+ strapi.get('middlewares').add(`admin::`, strapi.admin?.middlewares);
10
+ const userAdminConfig = strapi.config.get('admin');
11
+ strapi.get('config').set('admin', _.merge(strapi.admin?.config, userAdminConfig));
11
12
  }
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")
13
+ const formatContentTypes = (contentTypes)=>{
14
+ Object.values(contentTypes).forEach((definition)=>{
15
+ const { schema } = definition;
16
+ Object.assign(schema, {
17
+ plugin: 'admin',
18
+ globalId: getGlobalId(schema, 'admin')
19
+ });
18
20
  });
19
- });
20
- return contentTypes;
21
- };
22
- export {
23
- loadAdmin as default
21
+ return contentTypes;
24
22
  };
23
+
24
+ export { loadAdmin as default };
25
25
  //# sourceMappingURL=admin.mjs.map
@@ -1 +1 @@
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
+ {"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.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":["loadAdmin","strapi","get","add","admin","services","controllers","formatContentTypes","contentTypes","policies","middlewares","userAdminConfig","config","set","_","merge","Object","values","forEach","definition","schema","assign","plugin","globalId","getGlobalId"],"mappings":";;;AAIe,eAAeA,UAAUC,MAAmB,EAAA;IACzDA,MAAOC,CAAAA,GAAG,CAAC,UAAA,CAAA,CAAYC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAEF,MAAOG,CAAAA,KAAK,EAAEC,QAAAA,CAAAA;IACpDJ,MAAOC,CAAAA,GAAG,CAAC,aAAA,CAAA,CAAeC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAEF,MAAOG,CAAAA,KAAK,EAAEE,WAAAA,CAAAA;AACvDL,IAAAA,MAAAA,CAAOC,GAAG,CAAC,eAAiBC,CAAAA,CAAAA,GAAG,CAAC,CAAC,OAAO,CAAC,EAAEI,kBAAmBN,CAAAA,MAAAA,CAAOG,KAAK,EAAEI,gBAAgB,EAAC,CAAA,CAAA;IAC7FP,MAAOC,CAAAA,GAAG,CAAC,UAAA,CAAA,CAAYC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAEF,MAAOG,CAAAA,KAAK,EAAEK,QAAAA,CAAAA;IACpDR,MAAOC,CAAAA,GAAG,CAAC,aAAA,CAAA,CAAeC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAEF,MAAOG,CAAAA,KAAK,EAAEM,WAAAA,CAAAA;AAEvD,IAAA,MAAMC,eAAkBV,GAAAA,MAAAA,CAAOW,MAAM,CAACV,GAAG,CAAC,OAAA,CAAA;AAC1CD,IAAAA,MAAAA,CAAOC,GAAG,CAAC,QAAUW,CAAAA,CAAAA,GAAG,CAAC,OAAA,EAASC,CAAEC,CAAAA,KAAK,CAACd,MAAAA,CAAOG,KAAK,EAAEQ,MAAQD,EAAAA,eAAAA,CAAAA,CAAAA;AAClE;AAEA,MAAMJ,qBAAqB,CAACC,YAAAA,GAAAA;AAC1BQ,IAAAA,MAAAA,CAAOC,MAAM,CAACT,YAAcU,CAAAA,CAAAA,OAAO,CAAC,CAACC,UAAAA,GAAAA;QACnC,MAAM,EAAEC,MAAM,EAAE,GAAGD,UAAAA;QAEnBH,MAAOK,CAAAA,MAAM,CAACD,MAAQ,EAAA;YACpBE,MAAQ,EAAA,OAAA;AACRC,YAAAA,QAAAA,EAAUC,YAAYJ,MAAQ,EAAA,OAAA;AAChC,SAAA,CAAA;AACF,KAAA,CAAA;IAEA,OAAOZ,YAAAA;AACT,CAAA;;;;"}
@@ -1,137 +1,160 @@
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(_);
1
+ 'use strict';
2
+
3
+ var path = require('path');
4
+ var fse = require('fs-extra');
5
+ var _ = require('lodash');
6
+ var strapiUtils = require('@strapi/utils');
7
+ var fp = require('lodash/fp');
8
+ var index = require('../domain/content-type/index.js');
9
+
11
10
  const DEFAULT_CONTENT_TYPE = {
12
- schema: {},
13
- actions: {},
14
- lifecycles: {}
11
+ schema: {},
12
+ actions: {},
13
+ lifecycles: {}
15
14
  };
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(".");
15
+ // to handle names with numbers in it we first check if it is already in kebabCase
16
+ const normalizeName = (name)=>strapiUtils.strings.isKebabCase(name) ? name : _.kebabCase(name);
17
+ const isDirectory = (fd)=>fd.isDirectory();
18
+ const isDotFile = (fd)=>fd.name.startsWith('.');
19
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);
20
+ if (!fse.existsSync(strapi.dirs.dist.api)) {
21
+ return;
22
+ }
23
+ const apisFDs = await (await fse.readdir(strapi.dirs.dist.api, {
24
+ withFileTypes: true
25
+ })).filter(isDirectory).filter(_.negate(isDotFile));
26
+ const apis = {};
27
+ // only load folders
28
+ for (const apiFD of apisFDs){
29
+ const apiName = normalizeName(apiFD.name);
30
+ const api = await loadAPI(apiName, path.join(strapi.dirs.dist.api, apiFD.name));
31
+ // @ts-expect-error TODO verify that it's a valid api, not missing bootstrap, register, and destroy
32
+ apis[apiName] = api;
45
33
  }
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);
34
+ validateContentTypesUnicity(apis);
35
+ for (const apiName of Object.keys(apis)){
36
+ strapi.get('apis').add(apiName, apis[apiName]);
52
37
  }
53
- });
38
+ }
39
+ const validateContentTypesUnicity = (apis)=>{
40
+ const allApisSchemas = Object.values(apis).flatMap((api)=>Object.values(api.contentTypes));
41
+ const names = [];
42
+ allApisSchemas.forEach(({ schema })=>{
43
+ if (schema.info.singularName) {
44
+ const singularName = _.kebabCase(schema.info.singularName);
45
+ if (names.includes(singularName)) {
46
+ throw new Error(`The singular name "${schema.info.singularName}" should be unique`);
47
+ }
48
+ names.push(singularName);
49
+ }
50
+ if (schema.info.pluralName) {
51
+ const pluralName = _.kebabCase(schema.info.pluralName);
52
+ if (names.includes(pluralName)) {
53
+ throw new Error(`The plural name "${schema.info.pluralName}" should be unique`);
54
+ }
55
+ names.push(pluralName);
56
+ }
57
+ });
54
58
  };
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
- };
59
+ const loadAPI = async (apiName, dir)=>{
60
+ const [index, config, routes, controllers, services, policies, middlewares, contentTypes] = (await Promise.all([
61
+ loadIndex(dir),
62
+ loadDir(path.join(dir, 'config')),
63
+ loadDir(path.join(dir, 'routes')),
64
+ loadDir(path.join(dir, 'controllers')),
65
+ loadDir(path.join(dir, 'services')),
66
+ loadDir(path.join(dir, 'policies')),
67
+ loadDir(path.join(dir, 'middlewares')),
68
+ loadContentTypes(apiName, path.join(dir, 'content-types'))
69
+ ])).map((result)=>result?.result);
70
+ return {
71
+ ...index || {},
72
+ config: config || {},
73
+ routes: routes || [],
74
+ controllers: controllers || {},
75
+ services: services || {},
76
+ policies: policies || {},
77
+ middlewares: middlewares || {},
78
+ contentTypes: contentTypes || {}
79
+ };
76
80
  };
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
+ const loadIndex = async (dir)=>{
82
+ if (await fse.pathExists(path.join(dir, 'index.js'))) {
83
+ return loadFile(path.join(dir, 'index.js'));
84
+ }
81
85
  };
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;
86
+ // 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
87
+ const loadContentTypes = async (apiName, dir)=>{
88
+ if (!await fse.pathExists(dir)) {
89
+ return;
91
90
  }
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}`);
91
+ const fds = await fse.readdir(dir, {
92
+ withFileTypes: true
93
+ });
94
+ const contentTypes = {};
95
+ // only load folders
96
+ for (const fd of fds){
97
+ if (fd.isFile()) {
98
+ continue;
99
+ }
100
+ const contentTypeName = normalizeName(fd.name);
101
+ const loadedContentType = (await loadDir(path.join(dir, fd.name)))?.result;
102
+ if (fp.isEmpty(loadedContentType) || fp.isEmpty(loadedContentType.schema)) {
103
+ throw new Error(`Could not load content type found at ${dir}`);
104
+ }
105
+ const contentType = {
106
+ ...DEFAULT_CONTENT_TYPE,
107
+ ...loadedContentType
108
+ };
109
+ Object.assign(contentType.schema, {
110
+ apiName,
111
+ collectionName: contentType.schema.collectionName || contentType.schema.info.singularName,
112
+ globalId: index.getGlobalId(contentType.schema)
113
+ });
114
+ contentTypes[normalizeName(contentTypeName)] = contentType;
96
115
  }
97
- const contentType = {
98
- ...DEFAULT_CONTENT_TYPE,
99
- ...loadedContentType
116
+ return {
117
+ result: contentTypes
100
118
  };
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
119
  };
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;
120
+ // 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
121
+ const loadDir = async (dir)=>{
122
+ if (!await fse.pathExists(dir)) {
123
+ return;
124
+ }
125
+ const fds = await fse.readdir(dir, {
126
+ withFileTypes: true
127
+ });
128
+ const root = {};
129
+ for (const fd of fds){
130
+ if (!fd.isFile() || path.extname(fd.name) === '.map') {
131
+ continue;
132
+ }
133
+ const key = path.basename(fd.name, path.extname(fd.name));
134
+ root[normalizeName(key)] = (await loadFile(path.join(dir, fd.name))).result;
119
135
  }
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 };
136
+ return {
137
+ result: root
138
+ };
124
139
  };
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
- }
140
+ // 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
141
+ const loadFile = async (file)=>{
142
+ const ext = path.extname(file);
143
+ switch(ext){
144
+ case '.js':
145
+ return {
146
+ result: strapiUtils.importDefault(file)
147
+ };
148
+ case '.json':
149
+ return {
150
+ result: await fse.readJSON(file)
151
+ };
152
+ default:
153
+ return {
154
+ result: {}
155
+ };
156
+ }
135
157
  };
158
+
136
159
  module.exports = loadAPIs;
137
160
  //# sourceMappingURL=apis.js.map