@strapi/core 0.0.0-experimental.fc1ac2acd58c8a5a858679956b6d102ac5ee4011 → 0.0.0-experimental.fd379e4937e431407d784eaa5fe7f93cf2a53386

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 (810) hide show
  1. package/LICENSE +18 -3
  2. package/dist/Strapi.d.ts +52 -59
  3. package/dist/Strapi.d.ts.map +1 -1
  4. package/dist/Strapi.js +195 -214
  5. package/dist/Strapi.js.map +1 -1
  6. package/dist/Strapi.mjs +165 -204
  7. package/dist/Strapi.mjs.map +1 -1
  8. package/dist/configuration/config-loader.d.ts.map +1 -1
  9. package/dist/configuration/config-loader.js +9 -5
  10. package/dist/configuration/config-loader.js.map +1 -1
  11. package/dist/configuration/config-loader.mjs +9 -5
  12. package/dist/configuration/config-loader.mjs.map +1 -1
  13. package/dist/configuration/get-dirs.d.ts +10 -0
  14. package/dist/configuration/get-dirs.d.ts.map +1 -0
  15. package/dist/{utils → configuration}/get-dirs.js +3 -2
  16. package/dist/configuration/get-dirs.js.map +1 -0
  17. package/dist/{utils → configuration}/get-dirs.mjs +3 -2
  18. package/dist/configuration/get-dirs.mjs.map +1 -0
  19. package/dist/configuration/index.d.ts +4 -7
  20. package/dist/configuration/index.d.ts.map +1 -1
  21. package/dist/configuration/index.js +8 -6
  22. package/dist/configuration/index.js.map +1 -1
  23. package/dist/configuration/index.mjs +5 -4
  24. package/dist/configuration/index.mjs.map +1 -1
  25. package/dist/container.d.ts +2 -2
  26. package/dist/container.d.ts.map +1 -1
  27. package/dist/container.js.map +1 -1
  28. package/dist/container.mjs.map +1 -1
  29. package/dist/core-api/controller/collection-type.d.ts +3 -3
  30. package/dist/core-api/controller/collection-type.d.ts.map +1 -1
  31. package/dist/core-api/controller/collection-type.js +6 -3
  32. package/dist/core-api/controller/collection-type.js.map +1 -1
  33. package/dist/core-api/controller/collection-type.mjs +3 -0
  34. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  35. package/dist/core-api/controller/index.d.ts +3 -3
  36. package/dist/core-api/controller/index.d.ts.map +1 -1
  37. package/dist/core-api/controller/index.js +7 -7
  38. package/dist/core-api/controller/index.js.map +1 -1
  39. package/dist/core-api/controller/index.mjs +6 -6
  40. package/dist/core-api/controller/index.mjs.map +1 -1
  41. package/dist/core-api/controller/single-type.d.ts +3 -3
  42. package/dist/core-api/controller/single-type.d.ts.map +1 -1
  43. package/dist/core-api/controller/single-type.js +3 -2
  44. package/dist/core-api/controller/single-type.js.map +1 -1
  45. package/dist/core-api/controller/single-type.mjs +1 -0
  46. package/dist/core-api/controller/single-type.mjs.map +1 -1
  47. package/dist/core-api/controller/transform.d.ts +2 -2
  48. package/dist/core-api/controller/transform.d.ts.map +1 -1
  49. package/dist/core-api/controller/transform.js +10 -13
  50. package/dist/core-api/controller/transform.js.map +1 -1
  51. package/dist/core-api/controller/transform.mjs +2 -5
  52. package/dist/core-api/controller/transform.mjs.map +1 -1
  53. package/dist/core-api/routes/index.d.ts.map +1 -1
  54. package/dist/core-api/service/collection-type.d.ts +11 -17
  55. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  56. package/dist/core-api/service/collection-type.js +18 -7
  57. package/dist/core-api/service/collection-type.js.map +1 -1
  58. package/dist/core-api/service/collection-type.mjs +19 -8
  59. package/dist/core-api/service/collection-type.mjs.map +1 -1
  60. package/dist/core-api/service/index.d.ts +3 -3
  61. package/dist/core-api/service/index.d.ts.map +1 -1
  62. package/dist/core-api/service/index.js.map +1 -1
  63. package/dist/core-api/service/index.mjs.map +1 -1
  64. package/dist/core-api/service/pagination.d.ts +4 -11
  65. package/dist/core-api/service/pagination.d.ts.map +1 -1
  66. package/dist/core-api/service/pagination.js +18 -44
  67. package/dist/core-api/service/pagination.js.map +1 -1
  68. package/dist/core-api/service/pagination.mjs +16 -42
  69. package/dist/core-api/service/pagination.mjs.map +1 -1
  70. package/dist/core-api/service/single-type.d.ts +4 -4
  71. package/dist/core-api/service/single-type.d.ts.map +1 -1
  72. package/dist/core-api/service/single-type.js +9 -2
  73. package/dist/core-api/service/single-type.js.map +1 -1
  74. package/dist/core-api/service/single-type.mjs +9 -2
  75. package/dist/core-api/service/single-type.mjs.map +1 -1
  76. package/dist/domain/content-type/index.d.ts +1 -1
  77. package/dist/domain/content-type/index.d.ts.map +1 -1
  78. package/dist/domain/content-type/index.js +4 -4
  79. package/dist/domain/content-type/index.js.map +1 -1
  80. package/dist/domain/module/index.d.ts +24 -23
  81. package/dist/domain/module/index.d.ts.map +1 -1
  82. package/dist/domain/module/index.js +2 -1
  83. package/dist/domain/module/index.js.map +1 -1
  84. package/dist/domain/module/index.mjs +3 -2
  85. package/dist/domain/module/index.mjs.map +1 -1
  86. package/dist/ee/index.d.ts +4 -2
  87. package/dist/ee/index.d.ts.map +1 -1
  88. package/dist/ee/index.js +9 -4
  89. package/dist/ee/index.js.map +1 -1
  90. package/dist/ee/index.mjs +6 -1
  91. package/dist/ee/index.mjs.map +1 -1
  92. package/dist/ee/license.d.ts +2 -2
  93. package/dist/ee/license.d.ts.map +1 -1
  94. package/dist/ee/license.js +2 -1
  95. package/dist/ee/license.js.map +1 -1
  96. package/dist/ee/license.mjs +2 -1
  97. package/dist/ee/license.mjs.map +1 -1
  98. package/dist/factories.d.ts +10 -10
  99. package/dist/factories.d.ts.map +1 -1
  100. package/dist/factories.js +10 -6
  101. package/dist/factories.js.map +1 -1
  102. package/dist/factories.mjs +6 -2
  103. package/dist/factories.mjs.map +1 -1
  104. package/dist/index.d.ts +18 -2
  105. package/dist/index.d.ts.map +1 -1
  106. package/dist/index.js +25 -1
  107. package/dist/index.js.map +1 -1
  108. package/dist/index.mjs +27 -3
  109. package/dist/index.mjs.map +1 -1
  110. package/dist/loaders/admin.d.ts +2 -2
  111. package/dist/loaders/admin.d.ts.map +1 -1
  112. package/dist/loaders/admin.js +0 -1
  113. package/dist/loaders/admin.js.map +1 -1
  114. package/dist/loaders/admin.mjs +0 -1
  115. package/dist/loaders/admin.mjs.map +1 -1
  116. package/dist/loaders/apis.d.ts +2 -2
  117. package/dist/loaders/apis.d.ts.map +1 -1
  118. package/dist/loaders/apis.js +12 -12
  119. package/dist/loaders/apis.js.map +1 -1
  120. package/dist/loaders/apis.mjs +10 -10
  121. package/dist/loaders/apis.mjs.map +1 -1
  122. package/dist/loaders/components.d.ts +2 -2
  123. package/dist/loaders/components.d.ts.map +1 -1
  124. package/dist/loaders/components.js.map +1 -1
  125. package/dist/loaders/components.mjs.map +1 -1
  126. package/dist/loaders/index.d.ts +2 -2
  127. package/dist/loaders/index.d.ts.map +1 -1
  128. package/dist/loaders/index.js +0 -2
  129. package/dist/loaders/index.js.map +1 -1
  130. package/dist/loaders/index.mjs +0 -2
  131. package/dist/loaders/index.mjs.map +1 -1
  132. package/dist/loaders/middlewares.d.ts +2 -2
  133. package/dist/loaders/middlewares.d.ts.map +1 -1
  134. package/dist/loaders/middlewares.js.map +1 -1
  135. package/dist/loaders/middlewares.mjs.map +1 -1
  136. package/dist/loaders/plugins/get-enabled-plugins.d.ts +2 -2
  137. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  138. package/dist/loaders/plugins/get-enabled-plugins.js +46 -16
  139. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  140. package/dist/loaders/plugins/get-enabled-plugins.mjs +16 -8
  141. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  142. package/dist/loaders/plugins/get-user-plugins-config.js +2 -2
  143. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  144. package/dist/loaders/plugins/index.d.ts +2 -2
  145. package/dist/loaders/plugins/index.d.ts.map +1 -1
  146. package/dist/loaders/plugins/index.js +34 -7
  147. package/dist/loaders/plugins/index.js.map +1 -1
  148. package/dist/loaders/plugins/index.mjs +9 -1
  149. package/dist/loaders/plugins/index.mjs.map +1 -1
  150. package/dist/loaders/policies.d.ts +2 -2
  151. package/dist/loaders/policies.d.ts.map +1 -1
  152. package/dist/loaders/policies.js.map +1 -1
  153. package/dist/loaders/policies.mjs.map +1 -1
  154. package/dist/loaders/sanitizers.d.ts +2 -2
  155. package/dist/loaders/sanitizers.d.ts.map +1 -1
  156. package/dist/loaders/sanitizers.js.map +1 -1
  157. package/dist/loaders/sanitizers.mjs.map +1 -1
  158. package/dist/loaders/src-index.d.ts +2 -2
  159. package/dist/loaders/src-index.d.ts.map +1 -1
  160. package/dist/loaders/src-index.js.map +1 -1
  161. package/dist/loaders/src-index.mjs.map +1 -1
  162. package/dist/loaders/validators.d.ts +2 -2
  163. package/dist/loaders/validators.d.ts.map +1 -1
  164. package/dist/loaders/validators.js.map +1 -1
  165. package/dist/loaders/validators.mjs.map +1 -1
  166. package/dist/middlewares/body.d.ts +4 -4
  167. package/dist/middlewares/body.d.ts.map +1 -1
  168. package/dist/middlewares/body.js +6 -6
  169. package/dist/middlewares/body.js.map +1 -1
  170. package/dist/middlewares/body.mjs +4 -4
  171. package/dist/middlewares/body.mjs.map +1 -1
  172. package/dist/middlewares/compression.d.ts +2 -2
  173. package/dist/middlewares/compression.d.ts.map +1 -1
  174. package/dist/middlewares/compression.js.map +1 -1
  175. package/dist/middlewares/compression.mjs.map +1 -1
  176. package/dist/middlewares/cors.d.ts +2 -2
  177. package/dist/middlewares/cors.d.ts.map +1 -1
  178. package/dist/middlewares/cors.js +9 -7
  179. package/dist/middlewares/cors.js.map +1 -1
  180. package/dist/middlewares/cors.mjs +9 -7
  181. package/dist/middlewares/cors.mjs.map +1 -1
  182. package/dist/middlewares/errors.d.ts +2 -2
  183. package/dist/middlewares/errors.d.ts.map +1 -1
  184. package/dist/middlewares/errors.js.map +1 -1
  185. package/dist/middlewares/errors.mjs.map +1 -1
  186. package/dist/middlewares/favicon.d.ts +2 -2
  187. package/dist/middlewares/favicon.d.ts.map +1 -1
  188. package/dist/middlewares/favicon.js.map +1 -1
  189. package/dist/middlewares/favicon.mjs.map +1 -1
  190. package/dist/middlewares/index.d.ts +2 -2
  191. package/dist/middlewares/index.d.ts.map +1 -1
  192. package/dist/middlewares/index.js.map +1 -1
  193. package/dist/middlewares/index.mjs.map +1 -1
  194. package/dist/middlewares/ip.d.ts +2 -2
  195. package/dist/middlewares/ip.d.ts.map +1 -1
  196. package/dist/middlewares/ip.js.map +1 -1
  197. package/dist/middlewares/ip.mjs.map +1 -1
  198. package/dist/middlewares/logger.d.ts +2 -2
  199. package/dist/middlewares/logger.d.ts.map +1 -1
  200. package/dist/middlewares/logger.js.map +1 -1
  201. package/dist/middlewares/logger.mjs.map +1 -1
  202. package/dist/middlewares/powered-by.d.ts +2 -2
  203. package/dist/middlewares/powered-by.d.ts.map +1 -1
  204. package/dist/middlewares/powered-by.js.map +1 -1
  205. package/dist/middlewares/powered-by.mjs.map +1 -1
  206. package/dist/middlewares/public.d.ts +2 -2
  207. package/dist/middlewares/public.d.ts.map +1 -1
  208. package/dist/middlewares/public.js +3 -3
  209. package/dist/middlewares/public.js.map +1 -1
  210. package/dist/middlewares/public.mjs +1 -1
  211. package/dist/middlewares/public.mjs.map +1 -1
  212. package/dist/middlewares/query.d.ts +2 -2
  213. package/dist/middlewares/query.d.ts.map +1 -1
  214. package/dist/middlewares/query.js.map +1 -1
  215. package/dist/middlewares/query.mjs.map +1 -1
  216. package/dist/middlewares/response-time.d.ts +2 -2
  217. package/dist/middlewares/response-time.d.ts.map +1 -1
  218. package/dist/middlewares/response-time.js.map +1 -1
  219. package/dist/middlewares/response-time.mjs.map +1 -1
  220. package/dist/middlewares/responses.d.ts +3 -3
  221. package/dist/middlewares/responses.d.ts.map +1 -1
  222. package/dist/middlewares/responses.js +2 -2
  223. package/dist/middlewares/responses.js.map +1 -1
  224. package/dist/middlewares/responses.mjs.map +1 -1
  225. package/dist/middlewares/security.d.ts +2 -2
  226. package/dist/middlewares/security.d.ts.map +1 -1
  227. package/dist/middlewares/security.js +13 -6
  228. package/dist/middlewares/security.js.map +1 -1
  229. package/dist/middlewares/security.mjs +12 -5
  230. package/dist/middlewares/security.mjs.map +1 -1
  231. package/dist/middlewares/session.d.ts +2 -2
  232. package/dist/middlewares/session.d.ts.map +1 -1
  233. package/dist/middlewares/session.js +2 -2
  234. package/dist/middlewares/session.js.map +1 -1
  235. package/dist/middlewares/session.mjs.map +1 -1
  236. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +33 -0
  237. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -0
  238. package/dist/migrations/database/5.0.0-discard-drafts.js +94 -0
  239. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -0
  240. package/dist/migrations/database/5.0.0-discard-drafts.mjs +94 -0
  241. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -0
  242. package/dist/migrations/draft-publish.d.ts +1 -1
  243. package/dist/migrations/draft-publish.d.ts.map +1 -1
  244. package/dist/migrations/draft-publish.js +14 -31
  245. package/dist/migrations/draft-publish.js.map +1 -1
  246. package/dist/migrations/draft-publish.mjs +15 -32
  247. package/dist/migrations/draft-publish.mjs.map +1 -1
  248. package/dist/migrations/i18n.d.ts +5 -0
  249. package/dist/migrations/i18n.d.ts.map +1 -0
  250. package/dist/migrations/i18n.js +54 -0
  251. package/dist/migrations/i18n.js.map +1 -0
  252. package/dist/migrations/i18n.mjs +54 -0
  253. package/dist/migrations/i18n.mjs.map +1 -0
  254. package/dist/migrations/index.d.ts +5 -0
  255. package/dist/migrations/index.d.ts.map +1 -0
  256. package/dist/migrations/index.js +15 -0
  257. package/dist/migrations/index.js.map +1 -0
  258. package/dist/migrations/index.mjs +15 -0
  259. package/dist/migrations/index.mjs.map +1 -0
  260. package/dist/providers/admin.d.ts +3 -0
  261. package/dist/providers/admin.d.ts.map +1 -0
  262. package/dist/providers/admin.js +20 -0
  263. package/dist/providers/admin.js.map +1 -0
  264. package/dist/providers/admin.mjs +21 -0
  265. package/dist/providers/admin.mjs.map +1 -0
  266. package/dist/providers/coreStore.d.ts +3 -0
  267. package/dist/providers/coreStore.d.ts.map +1 -0
  268. package/dist/providers/coreStore.js +11 -0
  269. package/dist/providers/coreStore.js.map +1 -0
  270. package/dist/providers/coreStore.mjs +12 -0
  271. package/dist/providers/coreStore.mjs.map +1 -0
  272. package/dist/providers/cron.d.ts +3 -0
  273. package/dist/providers/cron.d.ts.map +1 -0
  274. package/dist/providers/cron.js +20 -0
  275. package/dist/providers/cron.js.map +1 -0
  276. package/dist/providers/cron.mjs +21 -0
  277. package/dist/providers/cron.mjs.map +1 -0
  278. package/dist/providers/index.d.ts +3 -0
  279. package/dist/providers/index.d.ts.map +1 -0
  280. package/dist/providers/index.js +11 -0
  281. package/dist/providers/index.js.map +1 -0
  282. package/dist/providers/index.mjs +11 -0
  283. package/dist/providers/index.mjs.map +1 -0
  284. package/dist/providers/provider.d.ts +9 -0
  285. package/dist/providers/provider.d.ts.map +1 -0
  286. package/dist/providers/provider.js +5 -0
  287. package/dist/providers/provider.js.map +1 -0
  288. package/dist/providers/provider.mjs +5 -0
  289. package/dist/providers/provider.mjs.map +1 -0
  290. package/dist/providers/registries.d.ts +3 -0
  291. package/dist/providers/registries.d.ts.map +1 -0
  292. package/dist/providers/registries.js +35 -0
  293. package/dist/providers/registries.js.map +1 -0
  294. package/dist/providers/registries.mjs +36 -0
  295. package/dist/providers/registries.mjs.map +1 -0
  296. package/dist/providers/telemetry.d.ts +3 -0
  297. package/dist/providers/telemetry.d.ts.map +1 -0
  298. package/dist/providers/telemetry.js +19 -0
  299. package/dist/providers/telemetry.js.map +1 -0
  300. package/dist/providers/telemetry.mjs +20 -0
  301. package/dist/providers/telemetry.mjs.map +1 -0
  302. package/dist/providers/webhooks.d.ts +3 -0
  303. package/dist/providers/webhooks.d.ts.map +1 -0
  304. package/dist/providers/webhooks.js +30 -0
  305. package/dist/providers/webhooks.js.map +1 -0
  306. package/dist/providers/webhooks.mjs +31 -0
  307. package/dist/providers/webhooks.mjs.map +1 -0
  308. package/dist/registries/apis.d.ts +2 -2
  309. package/dist/registries/apis.d.ts.map +1 -1
  310. package/dist/registries/apis.js +2 -2
  311. package/dist/registries/apis.js.map +1 -1
  312. package/dist/registries/apis.mjs.map +1 -1
  313. package/dist/registries/components.d.ts +6 -6
  314. package/dist/registries/components.d.ts.map +1 -1
  315. package/dist/registries/components.js +2 -2
  316. package/dist/registries/components.js.map +1 -1
  317. package/dist/registries/components.mjs.map +1 -1
  318. package/dist/registries/content-types.d.ts +5 -5
  319. package/dist/registries/content-types.d.ts.map +1 -1
  320. package/dist/registries/content-types.js +3 -3
  321. package/dist/registries/content-types.js.map +1 -1
  322. package/dist/registries/content-types.mjs.map +1 -1
  323. package/dist/registries/controllers.d.ts +10 -10
  324. package/dist/registries/controllers.d.ts.map +1 -1
  325. package/dist/registries/controllers.js +3 -3
  326. package/dist/registries/controllers.js.map +1 -1
  327. package/dist/registries/controllers.mjs.map +1 -1
  328. package/dist/registries/custom-fields.d.ts +3 -3
  329. package/dist/registries/custom-fields.d.ts.map +1 -1
  330. package/dist/registries/custom-fields.js +4 -4
  331. package/dist/registries/custom-fields.js.map +1 -1
  332. package/dist/registries/custom-fields.mjs.map +1 -1
  333. package/dist/registries/hooks.js +2 -2
  334. package/dist/registries/hooks.js.map +1 -1
  335. package/dist/registries/index.d.ts +0 -1
  336. package/dist/registries/index.d.ts.map +1 -1
  337. package/dist/registries/middlewares.d.ts +6 -6
  338. package/dist/registries/middlewares.d.ts.map +1 -1
  339. package/dist/registries/middlewares.js +3 -3
  340. package/dist/registries/middlewares.js.map +1 -1
  341. package/dist/registries/middlewares.mjs.map +1 -1
  342. package/dist/registries/modules.d.ts +2 -2
  343. package/dist/registries/modules.d.ts.map +1 -1
  344. package/dist/registries/modules.js +3 -3
  345. package/dist/registries/modules.js.map +1 -1
  346. package/dist/registries/modules.mjs.map +1 -1
  347. package/dist/registries/plugins.d.ts +5 -5
  348. package/dist/registries/plugins.d.ts.map +1 -1
  349. package/dist/registries/plugins.js +2 -2
  350. package/dist/registries/plugins.js.map +1 -1
  351. package/dist/registries/plugins.mjs.map +1 -1
  352. package/dist/registries/policies.d.ts +22 -10
  353. package/dist/registries/policies.d.ts.map +1 -1
  354. package/dist/registries/policies.js +66 -20
  355. package/dist/registries/policies.js.map +1 -1
  356. package/dist/registries/policies.mjs +65 -19
  357. package/dist/registries/policies.mjs.map +1 -1
  358. package/dist/registries/services.d.ts +8 -8
  359. package/dist/registries/services.d.ts.map +1 -1
  360. package/dist/registries/services.js +3 -3
  361. package/dist/registries/services.js.map +1 -1
  362. package/dist/registries/services.mjs.map +1 -1
  363. package/dist/services/auth/index.d.ts +4 -4
  364. package/dist/services/auth/index.d.ts.map +1 -1
  365. package/dist/services/auth/index.js +3 -3
  366. package/dist/services/auth/index.js.map +1 -1
  367. package/dist/services/auth/index.mjs.map +1 -1
  368. package/dist/services/config.d.ts +3 -0
  369. package/dist/services/config.d.ts.map +1 -0
  370. package/dist/services/config.js +47 -0
  371. package/dist/services/config.js.map +1 -0
  372. package/dist/services/config.mjs +47 -0
  373. package/dist/services/config.mjs.map +1 -0
  374. package/dist/services/content-api/index.d.ts +31 -15
  375. package/dist/services/content-api/index.d.ts.map +1 -1
  376. package/dist/services/content-api/index.js +28 -2
  377. package/dist/services/content-api/index.js.map +1 -1
  378. package/dist/services/content-api/index.mjs +28 -2
  379. package/dist/services/content-api/index.mjs.map +1 -1
  380. package/dist/services/content-api/permissions/index.d.ts +13 -15
  381. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  382. package/dist/services/content-api/permissions/index.js +1 -1
  383. package/dist/services/content-api/permissions/index.js.map +1 -1
  384. package/dist/services/content-api/permissions/index.mjs +1 -1
  385. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  386. package/dist/services/content-api/permissions/providers/action.d.ts +5 -6
  387. package/dist/services/content-api/permissions/providers/action.d.ts.map +1 -1
  388. package/dist/services/content-api/permissions/providers/condition.d.ts +5 -6
  389. package/dist/services/content-api/permissions/providers/condition.d.ts.map +1 -1
  390. package/dist/services/core-store.d.ts.map +1 -1
  391. package/dist/services/core-store.js +3 -3
  392. package/dist/services/core-store.js.map +1 -1
  393. package/dist/services/cron.d.ts +5 -5
  394. package/dist/services/cron.d.ts.map +1 -1
  395. package/dist/services/cron.js +3 -3
  396. package/dist/services/cron.js.map +1 -1
  397. package/dist/services/cron.mjs.map +1 -1
  398. package/dist/services/custom-fields.d.ts +2 -2
  399. package/dist/services/custom-fields.d.ts.map +1 -1
  400. package/dist/services/custom-fields.js.map +1 -1
  401. package/dist/services/custom-fields.mjs.map +1 -1
  402. package/dist/services/document-service/attributes/index.d.ts +6 -0
  403. package/dist/services/document-service/attributes/index.d.ts.map +1 -0
  404. package/dist/services/{entity-service → document-service}/attributes/index.js +5 -5
  405. package/dist/services/document-service/attributes/index.js.map +1 -0
  406. package/dist/services/{entity-service → document-service}/attributes/index.mjs +5 -5
  407. package/dist/services/document-service/attributes/index.mjs.map +1 -0
  408. package/dist/services/document-service/attributes/transforms.d.ts +10 -0
  409. package/dist/services/document-service/attributes/transforms.d.ts.map +1 -0
  410. package/dist/services/{entity-service → document-service}/attributes/transforms.js +3 -3
  411. package/dist/services/document-service/attributes/transforms.js.map +1 -0
  412. package/dist/services/document-service/attributes/transforms.mjs.map +1 -0
  413. package/dist/services/document-service/common.d.ts +2 -2
  414. package/dist/services/document-service/common.d.ts.map +1 -1
  415. package/dist/services/document-service/common.js.map +1 -1
  416. package/dist/services/document-service/common.mjs.map +1 -1
  417. package/dist/services/document-service/components.d.ts +25 -1
  418. package/dist/services/document-service/components.d.ts.map +1 -1
  419. package/dist/services/{entity-service → document-service}/components.js +52 -148
  420. package/dist/services/document-service/components.js.map +1 -0
  421. package/dist/services/{entity-service → document-service}/components.mjs +42 -138
  422. package/dist/services/document-service/components.mjs.map +1 -0
  423. package/dist/services/document-service/draft-and-publish.d.ts +7 -7
  424. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  425. package/dist/services/document-service/draft-and-publish.js +16 -16
  426. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  427. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  428. package/dist/services/document-service/entries.d.ts +10 -0
  429. package/dist/services/document-service/entries.d.ts.map +1 -0
  430. package/dist/services/document-service/entries.js +96 -0
  431. package/dist/services/document-service/entries.js.map +1 -0
  432. package/dist/services/document-service/entries.mjs +96 -0
  433. package/dist/services/document-service/entries.mjs.map +1 -0
  434. package/dist/services/document-service/events.d.ts +25 -0
  435. package/dist/services/document-service/events.d.ts.map +1 -0
  436. package/dist/services/document-service/events.js +47 -0
  437. package/dist/services/document-service/events.js.map +1 -0
  438. package/dist/services/document-service/events.mjs +47 -0
  439. package/dist/services/document-service/events.mjs.map +1 -0
  440. package/dist/services/document-service/index.d.ts +2 -4
  441. package/dist/services/document-service/index.d.ts.map +1 -1
  442. package/dist/services/document-service/index.js +18 -5
  443. package/dist/services/document-service/index.js.map +1 -1
  444. package/dist/services/document-service/index.mjs +16 -3
  445. package/dist/services/document-service/index.mjs.map +1 -1
  446. package/dist/services/document-service/internationalization.d.ts +5 -5
  447. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  448. package/dist/services/document-service/internationalization.js +21 -12
  449. package/dist/services/document-service/internationalization.js.map +1 -1
  450. package/dist/services/document-service/internationalization.mjs +14 -5
  451. package/dist/services/document-service/internationalization.mjs.map +1 -1
  452. package/dist/services/document-service/middlewares/errors.d.ts +6 -0
  453. package/dist/services/document-service/middlewares/errors.d.ts.map +1 -0
  454. package/dist/services/document-service/middlewares/errors.js +25 -0
  455. package/dist/services/document-service/middlewares/errors.js.map +1 -0
  456. package/dist/services/document-service/middlewares/errors.mjs +25 -0
  457. package/dist/services/document-service/middlewares/errors.mjs.map +1 -0
  458. package/dist/services/document-service/middlewares/index.d.ts +3 -0
  459. package/dist/services/document-service/middlewares/index.d.ts.map +1 -0
  460. package/dist/services/document-service/middlewares/middleware-manager.d.ts +10 -0
  461. package/dist/services/document-service/middlewares/middleware-manager.d.ts.map +1 -0
  462. package/dist/services/document-service/{middlewares.js → middlewares/middleware-manager.js} +9 -6
  463. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -0
  464. package/dist/services/document-service/{middlewares.mjs → middlewares/middleware-manager.mjs} +9 -6
  465. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -0
  466. package/dist/services/document-service/params.d.ts +3 -1
  467. package/dist/services/document-service/params.d.ts.map +1 -1
  468. package/dist/services/{entity-service → document-service}/params.js +2 -2
  469. package/dist/services/document-service/params.js.map +1 -0
  470. package/dist/services/document-service/params.mjs.map +1 -0
  471. package/dist/services/document-service/repository.d.ts.map +1 -1
  472. package/dist/services/document-service/repository.js +207 -183
  473. package/dist/services/document-service/repository.js.map +1 -1
  474. package/dist/services/document-service/repository.mjs +187 -163
  475. package/dist/services/document-service/repository.mjs.map +1 -1
  476. package/dist/services/document-service/transform/data.d.ts.map +1 -1
  477. package/dist/services/document-service/transform/data.js +4 -2
  478. package/dist/services/document-service/transform/data.js.map +1 -1
  479. package/dist/services/document-service/transform/data.mjs +4 -2
  480. package/dist/services/document-service/transform/data.mjs.map +1 -1
  481. package/dist/services/document-service/transform/fields.d.ts +2 -2
  482. package/dist/services/document-service/transform/fields.d.ts.map +1 -1
  483. package/dist/services/document-service/transform/fields.js.map +1 -1
  484. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  485. package/dist/services/document-service/transform/id-map.d.ts +3 -3
  486. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  487. package/dist/services/document-service/transform/id-map.js.map +1 -1
  488. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  489. package/dist/services/document-service/transform/id-transform.d.ts +2 -2
  490. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  491. package/dist/services/document-service/transform/id-transform.js +2 -2
  492. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  493. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  494. package/dist/services/document-service/transform/populate.d.ts +2 -2
  495. package/dist/services/document-service/transform/populate.d.ts.map +1 -1
  496. package/dist/services/document-service/transform/populate.js +1 -1
  497. package/dist/services/document-service/transform/populate.js.map +1 -1
  498. package/dist/services/document-service/transform/populate.mjs +1 -1
  499. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  500. package/dist/services/document-service/transform/query.d.ts +5 -0
  501. package/dist/services/document-service/transform/query.d.ts.map +1 -0
  502. package/dist/services/document-service/transform/query.js +9 -0
  503. package/dist/services/document-service/transform/query.js.map +1 -0
  504. package/dist/services/document-service/transform/query.mjs +9 -0
  505. package/dist/services/document-service/transform/query.mjs.map +1 -0
  506. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +8 -7
  507. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  508. package/dist/services/document-service/transform/relations/extract/data-ids.js +45 -78
  509. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  510. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +44 -77
  511. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  512. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts +8 -4
  513. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  514. package/dist/services/document-service/transform/relations/transform/data-ids.js +61 -126
  515. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  516. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +61 -126
  517. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  518. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts +9 -0
  519. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts.map +1 -0
  520. package/dist/services/document-service/transform/relations/transform/default-locale.js +32 -0
  521. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -0
  522. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +32 -0
  523. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -0
  524. package/dist/services/document-service/transform/relations/utils/dp.d.ts +3 -3
  525. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  526. package/dist/services/document-service/transform/relations/utils/dp.js +10 -5
  527. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -1
  528. package/dist/services/document-service/transform/relations/utils/dp.mjs +9 -4
  529. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -1
  530. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +6 -6
  531. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  532. package/dist/services/document-service/transform/relations/utils/i18n.js +3 -9
  533. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  534. package/dist/services/document-service/transform/relations/utils/i18n.mjs +3 -9
  535. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  536. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts +6 -0
  537. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -0
  538. package/dist/services/document-service/transform/relations/utils/map-relation.js +91 -0
  539. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -0
  540. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +91 -0
  541. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -0
  542. package/dist/services/document-service/transform/relations/utils/types.d.ts +6 -0
  543. package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -1
  544. package/dist/services/document-service/transform/types.d.ts +3 -3
  545. package/dist/services/document-service/transform/types.d.ts.map +1 -1
  546. package/dist/services/document-service/utils/populate.d.ts +9 -2
  547. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  548. package/dist/services/document-service/utils/populate.js +11 -5
  549. package/dist/services/document-service/utils/populate.js.map +1 -1
  550. package/dist/services/document-service/utils/populate.mjs +11 -5
  551. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  552. package/dist/services/document-service/utils/unidirectional-relations.d.ts +36 -0
  553. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -0
  554. package/dist/services/document-service/utils/unidirectional-relations.js +69 -0
  555. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -0
  556. package/dist/services/document-service/utils/unidirectional-relations.mjs +69 -0
  557. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -0
  558. package/dist/services/entity-service/index.d.ts +4 -6
  559. package/dist/services/entity-service/index.d.ts.map +1 -1
  560. package/dist/services/entity-service/index.js +44 -203
  561. package/dist/services/entity-service/index.js.map +1 -1
  562. package/dist/services/entity-service/index.mjs +38 -197
  563. package/dist/services/entity-service/index.mjs.map +1 -1
  564. package/dist/services/entity-validator/blocks-validator.d.ts +1 -2
  565. package/dist/services/entity-validator/blocks-validator.d.ts.map +1 -1
  566. package/dist/services/entity-validator/blocks-validator.js +4 -3
  567. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  568. package/dist/services/entity-validator/blocks-validator.mjs +3 -3
  569. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  570. package/dist/services/entity-validator/index.d.ts +16 -2
  571. package/dist/services/entity-validator/index.d.ts.map +1 -1
  572. package/dist/services/entity-validator/index.js +197 -130
  573. package/dist/services/entity-validator/index.js.map +1 -1
  574. package/dist/services/entity-validator/index.mjs +192 -125
  575. package/dist/services/entity-validator/index.mjs.map +1 -1
  576. package/dist/services/entity-validator/validators.d.ts +36 -25
  577. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  578. package/dist/services/entity-validator/validators.js +153 -33
  579. package/dist/services/entity-validator/validators.js.map +1 -1
  580. package/dist/services/entity-validator/validators.mjs +145 -25
  581. package/dist/services/entity-validator/validators.mjs.map +1 -1
  582. package/dist/services/event-hub.d.ts +1 -0
  583. package/dist/services/event-hub.d.ts.map +1 -1
  584. package/dist/services/event-hub.js +9 -4
  585. package/dist/services/event-hub.js.map +1 -1
  586. package/dist/services/event-hub.mjs +9 -4
  587. package/dist/services/event-hub.mjs.map +1 -1
  588. package/dist/services/features.d.ts +3 -3
  589. package/dist/services/features.d.ts.map +1 -1
  590. package/dist/services/features.js.map +1 -1
  591. package/dist/services/features.mjs.map +1 -1
  592. package/dist/services/fs.d.ts +2 -2
  593. package/dist/services/fs.d.ts.map +1 -1
  594. package/dist/services/fs.js.map +1 -1
  595. package/dist/services/fs.mjs.map +1 -1
  596. package/dist/services/metrics/admin-user-hash.d.ts +2 -2
  597. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  598. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  599. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  600. package/dist/services/metrics/index.d.ts +2 -2
  601. package/dist/services/metrics/index.d.ts.map +1 -1
  602. package/dist/services/metrics/index.js.map +1 -1
  603. package/dist/services/metrics/index.mjs.map +1 -1
  604. package/dist/services/metrics/middleware.d.ts +2 -2
  605. package/dist/services/metrics/middleware.d.ts.map +1 -1
  606. package/dist/services/metrics/middleware.js.map +1 -1
  607. package/dist/services/metrics/middleware.mjs.map +1 -1
  608. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  609. package/dist/services/metrics/rate-limiter.js.map +1 -1
  610. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  611. package/dist/services/metrics/sender.d.ts +3 -3
  612. package/dist/services/metrics/sender.d.ts.map +1 -1
  613. package/dist/services/metrics/sender.js.map +1 -1
  614. package/dist/services/metrics/sender.mjs.map +1 -1
  615. package/dist/services/query-params.d.ts +7 -0
  616. package/dist/services/query-params.d.ts.map +1 -0
  617. package/dist/services/query-params.js +12 -0
  618. package/dist/services/query-params.js.map +1 -0
  619. package/dist/services/query-params.mjs +13 -0
  620. package/dist/services/query-params.mjs.map +1 -0
  621. package/dist/services/reloader.d.ts +7 -0
  622. package/dist/services/reloader.d.ts.map +1 -0
  623. package/dist/services/reloader.js +36 -0
  624. package/dist/services/reloader.js.map +1 -0
  625. package/dist/services/reloader.mjs +36 -0
  626. package/dist/services/reloader.mjs.map +1 -0
  627. package/dist/services/server/admin-api.d.ts +3 -3
  628. package/dist/services/server/admin-api.d.ts.map +1 -1
  629. package/dist/services/server/admin-api.js.map +1 -1
  630. package/dist/services/server/admin-api.mjs.map +1 -1
  631. package/dist/services/server/api.d.ts +3 -3
  632. package/dist/services/server/api.d.ts.map +1 -1
  633. package/dist/services/server/api.js.map +1 -1
  634. package/dist/services/server/api.mjs.map +1 -1
  635. package/dist/services/server/compose-endpoint.d.ts +2 -2
  636. package/dist/services/server/compose-endpoint.d.ts.map +1 -1
  637. package/dist/services/server/compose-endpoint.js +8 -9
  638. package/dist/services/server/compose-endpoint.js.map +1 -1
  639. package/dist/services/server/compose-endpoint.mjs +2 -3
  640. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  641. package/dist/services/server/content-api.d.ts +3 -3
  642. package/dist/services/server/content-api.d.ts.map +1 -1
  643. package/dist/services/server/content-api.js.map +1 -1
  644. package/dist/services/server/content-api.mjs.map +1 -1
  645. package/dist/services/server/http-server.d.ts +2 -2
  646. package/dist/services/server/http-server.d.ts.map +1 -1
  647. package/dist/services/server/http-server.js.map +1 -1
  648. package/dist/services/server/http-server.mjs.map +1 -1
  649. package/dist/services/server/index.d.ts +2 -2
  650. package/dist/services/server/index.d.ts.map +1 -1
  651. package/dist/services/server/index.js +2 -3
  652. package/dist/services/server/index.js.map +1 -1
  653. package/dist/services/server/index.mjs +2 -3
  654. package/dist/services/server/index.mjs.map +1 -1
  655. package/dist/services/server/koa.d.ts.map +1 -1
  656. package/dist/services/server/koa.js +4 -4
  657. package/dist/services/server/koa.js.map +1 -1
  658. package/dist/services/server/koa.mjs +1 -1
  659. package/dist/services/server/koa.mjs.map +1 -1
  660. package/dist/services/server/middleware.d.ts +4 -4
  661. package/dist/services/server/middleware.d.ts.map +1 -1
  662. package/dist/services/server/middleware.js +3 -3
  663. package/dist/services/server/middleware.js.map +1 -1
  664. package/dist/services/server/middleware.mjs.map +1 -1
  665. package/dist/services/server/policy.d.ts +3 -3
  666. package/dist/services/server/policy.d.ts.map +1 -1
  667. package/dist/services/server/policy.js +4 -4
  668. package/dist/services/server/policy.js.map +1 -1
  669. package/dist/services/server/policy.mjs +4 -4
  670. package/dist/services/server/policy.mjs.map +1 -1
  671. package/dist/services/server/register-middlewares.d.ts +2 -2
  672. package/dist/services/server/register-middlewares.d.ts.map +1 -1
  673. package/dist/services/server/register-middlewares.js.map +1 -1
  674. package/dist/services/server/register-middlewares.mjs.map +1 -1
  675. package/dist/services/server/register-routes.d.ts +2 -2
  676. package/dist/services/server/register-routes.d.ts.map +1 -1
  677. package/dist/services/server/register-routes.js +3 -3
  678. package/dist/services/server/register-routes.js.map +1 -1
  679. package/dist/services/server/register-routes.mjs +3 -3
  680. package/dist/services/server/register-routes.mjs.map +1 -1
  681. package/dist/services/server/routing.d.ts +5 -5
  682. package/dist/services/server/routing.d.ts.map +1 -1
  683. package/dist/services/server/routing.js +2 -2
  684. package/dist/services/server/routing.js.map +1 -1
  685. package/dist/services/server/routing.mjs.map +1 -1
  686. package/dist/services/utils/dynamic-zones.d.ts.map +1 -1
  687. package/dist/services/utils/dynamic-zones.js +7 -6
  688. package/dist/services/utils/dynamic-zones.js.map +1 -1
  689. package/dist/services/utils/dynamic-zones.mjs +2 -1
  690. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  691. package/dist/services/webhook-runner.d.ts +2 -1
  692. package/dist/services/webhook-runner.d.ts.map +1 -1
  693. package/dist/services/webhook-runner.js.map +1 -1
  694. package/dist/services/webhook-runner.mjs.map +1 -1
  695. package/dist/services/webhook-store.d.ts +2 -8
  696. package/dist/services/webhook-store.d.ts.map +1 -1
  697. package/dist/services/webhook-store.js +14 -8
  698. package/dist/services/webhook-store.js.map +1 -1
  699. package/dist/services/webhook-store.mjs +14 -8
  700. package/dist/services/webhook-store.mjs.map +1 -1
  701. package/dist/utils/convert-custom-field-type.d.ts +2 -2
  702. package/dist/utils/convert-custom-field-type.d.ts.map +1 -1
  703. package/dist/utils/convert-custom-field-type.js.map +1 -1
  704. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  705. package/dist/utils/cron.js +3 -3
  706. package/dist/utils/cron.js.map +1 -1
  707. package/dist/utils/fetch.d.ts +3 -3
  708. package/dist/utils/fetch.d.ts.map +1 -1
  709. package/dist/utils/fetch.js +4 -3
  710. package/dist/utils/fetch.js.map +1 -1
  711. package/dist/utils/fetch.mjs +4 -3
  712. package/dist/utils/fetch.mjs.map +1 -1
  713. package/dist/utils/filepath-to-prop-path.d.ts +1 -1
  714. package/dist/utils/filepath-to-prop-path.d.ts.map +1 -1
  715. package/dist/utils/filepath-to-prop-path.js +27 -6
  716. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  717. package/dist/utils/filepath-to-prop-path.mjs +25 -5
  718. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  719. package/dist/utils/index.d.ts +2 -1
  720. package/dist/utils/index.d.ts.map +1 -1
  721. package/dist/utils/is-initialized.d.ts +2 -2
  722. package/dist/utils/is-initialized.d.ts.map +1 -1
  723. package/dist/utils/is-initialized.js +4 -4
  724. package/dist/utils/is-initialized.js.map +1 -1
  725. package/dist/utils/is-initialized.mjs +1 -1
  726. package/dist/utils/is-initialized.mjs.map +1 -1
  727. package/dist/utils/load-files.d.ts.map +1 -1
  728. package/dist/utils/open-browser.d.ts +2 -2
  729. package/dist/utils/open-browser.d.ts.map +1 -1
  730. package/dist/utils/open-browser.js.map +1 -1
  731. package/dist/utils/open-browser.mjs.map +1 -1
  732. package/dist/utils/resolve-working-dirs.d.ts +19 -0
  733. package/dist/utils/resolve-working-dirs.d.ts.map +1 -0
  734. package/dist/utils/resolve-working-dirs.js +13 -0
  735. package/dist/utils/resolve-working-dirs.js.map +1 -0
  736. package/dist/utils/resolve-working-dirs.mjs +11 -0
  737. package/dist/utils/resolve-working-dirs.mjs.map +1 -0
  738. package/dist/utils/signals.d.ts +2 -2
  739. package/dist/utils/signals.d.ts.map +1 -1
  740. package/dist/utils/signals.js.map +1 -1
  741. package/dist/utils/signals.mjs.map +1 -1
  742. package/dist/utils/startup-logger.d.ts +2 -2
  743. package/dist/utils/startup-logger.d.ts.map +1 -1
  744. package/dist/utils/startup-logger.js +4 -4
  745. package/dist/utils/startup-logger.js.map +1 -1
  746. package/dist/utils/startup-logger.mjs +3 -3
  747. package/dist/utils/startup-logger.mjs.map +1 -1
  748. package/dist/utils/transform-content-types-to-models.d.ts +54 -99
  749. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  750. package/dist/utils/transform-content-types-to-models.js +112 -61
  751. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  752. package/dist/utils/transform-content-types-to-models.mjs +111 -60
  753. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  754. package/dist/utils/update-notifier/index.d.ts +2 -7
  755. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  756. package/dist/utils/update-notifier/index.js +11 -14
  757. package/dist/utils/update-notifier/index.js.map +1 -1
  758. package/dist/utils/update-notifier/index.mjs +11 -14
  759. package/dist/utils/update-notifier/index.mjs.map +1 -1
  760. package/package.json +35 -31
  761. package/dist/registries/config.d.ts +0 -4
  762. package/dist/registries/config.d.ts.map +0 -1
  763. package/dist/registries/config.js +0 -31
  764. package/dist/registries/config.js.map +0 -1
  765. package/dist/registries/config.mjs +0 -32
  766. package/dist/registries/config.mjs.map +0 -1
  767. package/dist/services/document-service/middlewares.d.ts +0 -8
  768. package/dist/services/document-service/middlewares.d.ts.map +0 -1
  769. package/dist/services/document-service/middlewares.js.map +0 -1
  770. package/dist/services/document-service/middlewares.mjs.map +0 -1
  771. package/dist/services/document-service/transform/filters.d.ts +0 -3
  772. package/dist/services/document-service/transform/filters.d.ts.map +0 -1
  773. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts +0 -4
  774. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts.map +0 -1
  775. package/dist/services/document-service/transform/relations/utils/data.js +0 -12
  776. package/dist/services/document-service/transform/relations/utils/data.js.map +0 -1
  777. package/dist/services/document-service/transform/relations/utils/data.mjs +0 -12
  778. package/dist/services/document-service/transform/relations/utils/data.mjs.map +0 -1
  779. package/dist/services/document-service/transform/sort.d.ts +0 -5
  780. package/dist/services/document-service/transform/sort.d.ts.map +0 -1
  781. package/dist/services/document-service/transform/utils.d.ts +0 -9
  782. package/dist/services/document-service/transform/utils.d.ts.map +0 -1
  783. package/dist/services/entity-service/attributes/index.d.ts +0 -6
  784. package/dist/services/entity-service/attributes/index.d.ts.map +0 -1
  785. package/dist/services/entity-service/attributes/index.js.map +0 -1
  786. package/dist/services/entity-service/attributes/index.mjs.map +0 -1
  787. package/dist/services/entity-service/attributes/transforms.d.ts +0 -10
  788. package/dist/services/entity-service/attributes/transforms.d.ts.map +0 -1
  789. package/dist/services/entity-service/attributes/transforms.js.map +0 -1
  790. package/dist/services/entity-service/attributes/transforms.mjs.map +0 -1
  791. package/dist/services/entity-service/components.d.ts +0 -23
  792. package/dist/services/entity-service/components.d.ts.map +0 -1
  793. package/dist/services/entity-service/components.js.map +0 -1
  794. package/dist/services/entity-service/components.mjs.map +0 -1
  795. package/dist/services/entity-service/params.d.ts +0 -8
  796. package/dist/services/entity-service/params.d.ts.map +0 -1
  797. package/dist/services/entity-service/params.js.map +0 -1
  798. package/dist/services/entity-service/params.mjs.map +0 -1
  799. package/dist/services/utils/upload-files.d.ts +0 -8
  800. package/dist/services/utils/upload-files.d.ts.map +0 -1
  801. package/dist/services/utils/upload-files.js +0 -64
  802. package/dist/services/utils/upload-files.js.map +0 -1
  803. package/dist/services/utils/upload-files.mjs +0 -63
  804. package/dist/services/utils/upload-files.mjs.map +0 -1
  805. package/dist/utils/get-dirs.d.ts +0 -9
  806. package/dist/utils/get-dirs.d.ts.map +0 -1
  807. package/dist/utils/get-dirs.js.map +0 -1
  808. package/dist/utils/get-dirs.mjs.map +0 -1
  809. /package/dist/services/{entity-service → document-service}/attributes/transforms.mjs +0 -0
  810. /package/dist/services/{entity-service → document-service}/params.mjs +0 -0
package/dist/index.mjs CHANGED
@@ -1,7 +1,31 @@
1
- import { default as default2 } from "./Strapi.mjs";
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";
2
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
+ };
3
26
  export {
4
- factories,
5
- default2 as strapiFactory
27
+ default2 as compileStrapi,
28
+ createStrapi,
29
+ factories
6
30
  };
7
31
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
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,3 +1,3 @@
1
- import type { Strapi } from '@strapi/types';
2
- export default function loadAdmin(strapi: Strapi): Promise<void>;
1
+ import type { Core } from '@strapi/types';
2
+ export default function loadAdmin(strapi: Core.Strapi): Promise<void>;
3
3
  //# sourceMappingURL=admin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/loaders/admin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAU,MAAM,eAAe,CAAC;AAGpD,wBAA8B,SAAS,CAAC,MAAM,EAAE,MAAM,iBAWrD"}
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"}
@@ -4,7 +4,6 @@ const index = require("../domain/content-type/index.js");
4
4
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
5
5
  const ___default = /* @__PURE__ */ _interopDefault(_);
6
6
  async function loadAdmin(strapi) {
7
- strapi.admin = require("@strapi/admin/strapi-server");
8
7
  strapi.get("services").add(`admin::`, strapi.admin?.services);
9
8
  strapi.get("controllers").add(`admin::`, strapi.admin?.controllers);
10
9
  strapi.get("content-types").add(`admin::`, formatContentTypes(strapi.admin?.contentTypes ?? {}));
@@ -1 +1 @@
1
- {"version":3,"file":"admin.js","sources":["../../src/loaders/admin.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Strapi, Schema } from '@strapi/types';\nimport { getGlobalId } from '../domain/content-type';\n\nexport default async function loadAdmin(strapi: 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: Schema.ContentType }>) => {\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,QAAgB;AAC/C,SAAA,QAAQ,QAAQ,6BAA6B;AAEpD,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,iBAAiE;AAC3F,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.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,7 +1,6 @@
1
1
  import _ from "lodash";
2
2
  import { getGlobalId } from "../domain/content-type/index.mjs";
3
3
  async function loadAdmin(strapi) {
4
- strapi.admin = require("@strapi/admin/strapi-server");
5
4
  strapi.get("services").add(`admin::`, strapi.admin?.services);
6
5
  strapi.get("controllers").add(`admin::`, strapi.admin?.controllers);
7
6
  strapi.get("content-types").add(`admin::`, formatContentTypes(strapi.admin?.contentTypes ?? {}));
@@ -1 +1 @@
1
- {"version":3,"file":"admin.mjs","sources":["../../src/loaders/admin.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Strapi, Schema } from '@strapi/types';\nimport { getGlobalId } from '../domain/content-type';\n\nexport default async function loadAdmin(strapi: 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: Schema.ContentType }>) => {\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,QAAgB;AAC/C,SAAA,QAAQ,QAAQ,6BAA6B;AAEpD,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,iBAAiE;AAC3F,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.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,3 +1,3 @@
1
- import type { Strapi } from '@strapi/types';
2
- export default function loadAPIs(strapi: Strapi): Promise<void>;
1
+ import type { Core } from '@strapi/types';
2
+ export default function loadAPIs(strapi: Core.Strapi): Promise<void>;
3
3
  //# sourceMappingURL=apis.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"apis.d.ts","sourceRoot":"","sources":["../../src/loaders/apis.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAkB,MAAM,eAAe,CAAC;AAgC5D,wBAA8B,QAAQ,CAAC,MAAM,EAAE,MAAM,iBAwBpD"}
1
+ {"version":3,"file":"apis.d.ts","sourceRoot":"","sources":["../../src/loaders/apis.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAU,MAAM,eAAe,CAAC;AAgClD,wBAA8B,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,iBAyBzD"}
@@ -3,7 +3,7 @@ const path = require("path");
3
3
  const fse = require("fs-extra");
4
4
  const _ = require("lodash");
5
5
  const strapiUtils = require("@strapi/utils");
6
- const _$1 = require("lodash/fp");
6
+ const fp = require("lodash/fp");
7
7
  const index = require("../domain/content-type/index.js");
8
8
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
9
9
  const fse__default = /* @__PURE__ */ _interopDefault(fse);
@@ -53,7 +53,7 @@ const validateContentTypesUnicity = (apis) => {
53
53
  });
54
54
  };
55
55
  const loadAPI = async (apiName, dir) => {
56
- const [index2, config, routes, controllers, services, policies, middlewares, contentTypes] = await Promise.all([
56
+ const [index2, config, routes, controllers, services, policies, middlewares, contentTypes] = (await Promise.all([
57
57
  loadIndex(dir),
58
58
  loadDir(path.join(dir, "config")),
59
59
  loadDir(path.join(dir, "routes")),
@@ -62,7 +62,7 @@ const loadAPI = async (apiName, dir) => {
62
62
  loadDir(path.join(dir, "policies")),
63
63
  loadDir(path.join(dir, "middlewares")),
64
64
  loadContentTypes(apiName, path.join(dir, "content-types"))
65
- ]);
65
+ ])).map((result) => result?.result);
66
66
  return {
67
67
  ...index2 || {},
68
68
  config: config || {},
@@ -90,8 +90,8 @@ const loadContentTypes = async (apiName, dir) => {
90
90
  continue;
91
91
  }
92
92
  const contentTypeName = normalizeName(fd.name);
93
- const loadedContentType = await loadDir(path.join(dir, fd.name));
94
- if (_$1.isEmpty(loadedContentType) || _$1.isEmpty(loadedContentType.schema)) {
93
+ const loadedContentType = (await loadDir(path.join(dir, fd.name)))?.result;
94
+ if (fp.isEmpty(loadedContentType) || fp.isEmpty(loadedContentType.schema)) {
95
95
  throw new Error(`Could not load content type found at ${dir}`);
96
96
  }
97
97
  const contentType = {
@@ -105,7 +105,7 @@ const loadContentTypes = async (apiName, dir) => {
105
105
  });
106
106
  contentTypes[normalizeName(contentTypeName)] = contentType;
107
107
  }
108
- return contentTypes;
108
+ return { result: contentTypes };
109
109
  };
110
110
  const loadDir = async (dir) => {
111
111
  if (!await fse__default.default.pathExists(dir)) {
@@ -118,19 +118,19 @@ const loadDir = async (dir) => {
118
118
  continue;
119
119
  }
120
120
  const key = path.basename(fd.name, path.extname(fd.name));
121
- root[normalizeName(key)] = await loadFile(path.join(dir, fd.name));
121
+ root[normalizeName(key)] = (await loadFile(path.join(dir, fd.name))).result;
122
122
  }
123
- return root;
123
+ return { result: root };
124
124
  };
125
- const loadFile = (file) => {
125
+ const loadFile = async (file) => {
126
126
  const ext = path.extname(file);
127
127
  switch (ext) {
128
128
  case ".js":
129
- return strapiUtils.importDefault(file);
129
+ return { result: strapiUtils.importDefault(file) };
130
130
  case ".json":
131
- return fse__default.default.readJSON(file);
131
+ return { result: await fse__default.default.readJSON(file) };
132
132
  default:
133
- return {};
133
+ return { result: {} };
134
134
  }
135
135
  };
136
136
  module.exports = loadAPIs;
@@ -1 +1 @@
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 { Strapi, Common, Schema } 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, Common.Router>;\n controllers: Record<string, Common.Controller>;\n services: Record<string, Common.Service>;\n policies: Record<string, Common.Policy>;\n middlewares: Record<string, Common.Middleware>;\n contentTypes: Record<string, { schema: Schema.ContentType }>;\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: 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 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\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\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));\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 contentTypes;\n};\n\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));\n }\n\n return root;\n};\n\nconst loadFile = (file: string) => {\n const ext = extname(file);\n\n switch (ext) {\n case '.js':\n return importDefault(file);\n case '.json':\n return fse.readJSON(file);\n default:\n return {};\n }\n};\n"],"names":["strings","_","existsSync","fse","join","index","isEmpty","getGlobalId","extname","basename","importDefault"],"mappings":"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"}
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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"}
@@ -49,7 +49,7 @@ const validateContentTypesUnicity = (apis) => {
49
49
  });
50
50
  };
51
51
  const loadAPI = async (apiName, dir) => {
52
- const [index, config, routes, controllers, services, policies, middlewares, contentTypes] = await Promise.all([
52
+ const [index, config, routes, controllers, services, policies, middlewares, contentTypes] = (await Promise.all([
53
53
  loadIndex(dir),
54
54
  loadDir(join(dir, "config")),
55
55
  loadDir(join(dir, "routes")),
@@ -58,7 +58,7 @@ const loadAPI = async (apiName, dir) => {
58
58
  loadDir(join(dir, "policies")),
59
59
  loadDir(join(dir, "middlewares")),
60
60
  loadContentTypes(apiName, join(dir, "content-types"))
61
- ]);
61
+ ])).map((result) => result?.result);
62
62
  return {
63
63
  ...index || {},
64
64
  config: config || {},
@@ -86,7 +86,7 @@ const loadContentTypes = async (apiName, dir) => {
86
86
  continue;
87
87
  }
88
88
  const contentTypeName = normalizeName(fd.name);
89
- const loadedContentType = await loadDir(join(dir, fd.name));
89
+ const loadedContentType = (await loadDir(join(dir, fd.name)))?.result;
90
90
  if (isEmpty(loadedContentType) || isEmpty(loadedContentType.schema)) {
91
91
  throw new Error(`Could not load content type found at ${dir}`);
92
92
  }
@@ -101,7 +101,7 @@ const loadContentTypes = async (apiName, dir) => {
101
101
  });
102
102
  contentTypes[normalizeName(contentTypeName)] = contentType;
103
103
  }
104
- return contentTypes;
104
+ return { result: contentTypes };
105
105
  };
106
106
  const loadDir = async (dir) => {
107
107
  if (!await fse.pathExists(dir)) {
@@ -114,19 +114,19 @@ const loadDir = async (dir) => {
114
114
  continue;
115
115
  }
116
116
  const key = basename(fd.name, extname(fd.name));
117
- root[normalizeName(key)] = await loadFile(join(dir, fd.name));
117
+ root[normalizeName(key)] = (await loadFile(join(dir, fd.name))).result;
118
118
  }
119
- return root;
119
+ return { result: root };
120
120
  };
121
- const loadFile = (file) => {
121
+ const loadFile = async (file) => {
122
122
  const ext = extname(file);
123
123
  switch (ext) {
124
124
  case ".js":
125
- return importDefault(file);
125
+ return { result: importDefault(file) };
126
126
  case ".json":
127
- return fse.readJSON(file);
127
+ return { result: await fse.readJSON(file) };
128
128
  default:
129
- return {};
129
+ return { result: {} };
130
130
  }
131
131
  };
132
132
  export {
@@ -1 +1 @@
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 { Strapi, Common, Schema } 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, Common.Router>;\n controllers: Record<string, Common.Controller>;\n services: Record<string, Common.Service>;\n policies: Record<string, Common.Policy>;\n middlewares: Record<string, Common.Middleware>;\n contentTypes: Record<string, { schema: Schema.ContentType }>;\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: 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 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\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\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));\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 contentTypes;\n};\n\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));\n }\n\n return root;\n};\n\nconst loadFile = (file: string) => {\n const ext = extname(file);\n\n switch (ext) {\n case '.js':\n return importDefault(file);\n case '.json':\n return fse.readJSON(file);\n default:\n return {};\n }\n};\n"],"names":[],"mappings":"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"}
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":";;;;;;AAyBA,MAAM,uBAAuB;AAAA,EAC3B,QAAQ,CAAC;AAAA,EACT,SAAS,CAAC;AAAA,EACV,YAAY,CAAC;AACf;AAGA,MAAM,gBAAgB,CAAC,SAAkB,QAAQ,YAAY,IAAI,IAAI,OAAO,EAAE,UAAU,IAAI;AAE5F,MAAM,cAAc,CAAC,OAAmB,GAAG,YAAY;AACvD,MAAM,YAAY,CAAC,OAAmB,GAAG,KAAK,WAAW,GAAG;AAE5D,eAA8B,SAAS,QAAqB;AAC1D,MAAI,CAAC,WAAW,OAAO,KAAK,KAAK,GAAG,GAAG;AACrC;AAAA,EACF;AAEM,QAAA,UAAU,OAAO,MAAM,IAAI,QAAQ,OAAO,KAAK,KAAK,KAAK,EAAE,eAAe,KAAM,CAAA,GACnF,OAAO,WAAW,EAClB,OAAO,EAAE,OAAO,SAAS,CAAC;AAE7B,QAAM,OAAa,CAAA;AAGnB,aAAW,SAAS,SAAS;AACrB,UAAA,UAAU,cAAc,MAAM,IAAI;AAClC,UAAA,MAAM,MAAM,QAAQ,SAAS,KAAK,OAAO,KAAK,KAAK,KAAK,MAAM,IAAI,CAAC;AAGzE,SAAK,OAAO,IAAI;AAAA,EAClB;AAEA,8BAA4B,IAAI;AAEhC,aAAW,WAAW,OAAO,KAAK,IAAI,GAAG;AACvC,WAAO,IAAI,MAAM,EAAE,IAAI,SAAS,KAAK,OAAO,CAAC;AAAA,EAC/C;AACF;AAEA,MAAM,8BAA8B,CAAC,SAAe;AAClD,QAAM,iBAAiB,OAAO,OAAO,IAAI,EAAE,QAAQ,CAAC,QAAQ,OAAO,OAAO,IAAI,YAAY,CAAC;AAE3F,QAAM,QAAkB,CAAA;AACxB,iBAAe,QAAQ,CAAC,EAAE,aAAa;AACjC,QAAA,OAAO,KAAK,cAAc;AAC5B,YAAM,eAAe,EAAE,UAAU,OAAO,KAAK,YAAY;AACrD,UAAA,MAAM,SAAS,YAAY,GAAG;AAChC,cAAM,IAAI,MAAM,sBAAsB,OAAO,KAAK,YAAY,oBAAoB;AAAA,MACpF;AACA,YAAM,KAAK,YAAY;AAAA,IACzB;AAEI,QAAA,OAAO,KAAK,YAAY;AAC1B,YAAM,aAAa,EAAE,UAAU,OAAO,KAAK,UAAU;AACjD,UAAA,MAAM,SAAS,UAAU,GAAG;AAC9B,cAAM,IAAI,MAAM,oBAAoB,OAAO,KAAK,UAAU,oBAAoB;AAAA,MAChF;AACA,YAAM,KAAK,UAAU;AAAA,IACvB;AAAA,EAAA,CACD;AACH;AAEA,MAAM,UAAU,OAAO,SAAiB,QAAgB;AACtD,QAAM,CAAC,OAAO,QAAQ,QAAQ,aAAa,UAAU,UAAU,aAAa,YAAY,KACtF,MAAM,QAAQ,IAAI;AAAA,IAChB,UAAU,GAAG;AAAA,IACb,QAAQ,KAAK,KAAK,QAAQ,CAAC;AAAA,IAC3B,QAAQ,KAAK,KAAK,QAAQ,CAAC;AAAA,IAC3B,QAAQ,KAAK,KAAK,aAAa,CAAC;AAAA,IAChC,QAAQ,KAAK,KAAK,UAAU,CAAC;AAAA,IAC7B,QAAQ,KAAK,KAAK,UAAU,CAAC;AAAA,IAC7B,QAAQ,KAAK,KAAK,aAAa,CAAC;AAAA,IAChC,iBAAiB,SAAS,KAAK,KAAK,eAAe,CAAC;AAAA,EACrD,CAAA,GACD,IAAI,CAAC,WAAW,QAAQ,MAAM;AAEzB,SAAA;AAAA,IACL,GAAI,SAAS,CAAC;AAAA,IACd,QAAQ,UAAU,CAAC;AAAA,IACnB,QAAQ,UAAU,CAAC;AAAA,IACnB,aAAa,eAAe,CAAC;AAAA,IAC7B,UAAU,YAAY,CAAC;AAAA,IACvB,UAAU,YAAY,CAAC;AAAA,IACvB,aAAa,eAAe,CAAC;AAAA,IAC7B,cAAc,gBAAgB,CAAC;AAAA,EAAA;AAEnC;AAEA,MAAM,YAAY,OAAO,QAAgB;AACvC,MAAI,MAAM,IAAI,WAAW,KAAK,KAAK,UAAU,CAAC,GAAG;AAC/C,WAAO,SAAS,KAAK,KAAK,UAAU,CAAC;AAAA,EACvC;AACF;AAGA,MAAM,mBAAmB,OAAO,SAAiB,QAAgB;AAC/D,MAAI,CAAE,MAAM,IAAI,WAAW,GAAG,GAAI;AAChC;AAAA,EACF;AAEM,QAAA,MAAM,MAAM,IAAI,QAAQ,KAAK,EAAE,eAAe,MAAM;AAC1D,QAAM,eAAoC,CAAA;AAG1C,aAAW,MAAM,KAAK;AAChB,QAAA,GAAG,UAAU;AACf;AAAA,IACF;AAEM,UAAA,kBAAkB,cAAc,GAAG,IAAI;AACvC,UAAA,qBAAqB,MAAM,QAAQ,KAAK,KAAK,GAAG,IAAI,CAAC,IAAI;AAE/D,QAAI,QAAQ,iBAAiB,KAAK,QAAQ,kBAAkB,MAAM,GAAG;AACnE,YAAM,IAAI,MAAM,wCAAwC,GAAG,EAAE;AAAA,IAC/D;AAEA,UAAM,cAAc;AAAA,MAClB,GAAG;AAAA,MACH,GAAG;AAAA,IAAA;AAGE,WAAA,OAAO,YAAY,QAAQ;AAAA,MAChC;AAAA,MACA,gBAAgB,YAAY,OAAO,kBAAkB,YAAY,OAAO,KAAK;AAAA,MAC7E,UAAU,YAAY,YAAY,MAAM;AAAA,IAAA,CACzC;AAEY,iBAAA,cAAc,eAAe,CAAC,IAAI;AAAA,EACjD;AAEO,SAAA,EAAE,QAAQ;AACnB;AAGA,MAAM,UAAU,OAAO,QAAgB;AACrC,MAAI,CAAE,MAAM,IAAI,WAAW,GAAG,GAAI;AAChC;AAAA,EACF;AAEM,QAAA,MAAM,MAAM,IAAI,QAAQ,KAAK,EAAE,eAAe,MAAM;AAE1D,QAAM,OAAgC,CAAA;AACtC,aAAW,MAAM,KAAK;AAChB,QAAA,CAAC,GAAG,OAAO,KAAK,QAAQ,GAAG,IAAI,MAAM,QAAQ;AAC/C;AAAA,IACF;AAEA,UAAM,MAAM,SAAS,GAAG,MAAM,QAAQ,GAAG,IAAI,CAAC;AAEzC,SAAA,cAAc,GAAG,CAAC,KAAK,MAAM,SAAS,KAAK,KAAK,GAAG,IAAI,CAAC,GAAG;AAAA,EAClE;AAEO,SAAA,EAAE,QAAQ;AACnB;AAGA,MAAM,WAAW,OAAO,SAA+C;AAC/D,QAAA,MAAM,QAAQ,IAAI;AAExB,UAAQ,KAAK;AAAA,IACX,KAAK;AACH,aAAO,EAAE,QAAQ,cAAc,IAAI,EAAE;AAAA,IACvC,KAAK;AACH,aAAO,EAAE,QAAQ,MAAM,IAAI,SAAS,IAAI,EAAE;AAAA,IAC5C;AACS,aAAA,EAAE,QAAQ,CAAA;EACrB;AACF;"}
@@ -1,3 +1,3 @@
1
- import type { Strapi } from '@strapi/types';
2
- export default function loadComponents(strapi: Strapi): Promise<{} | undefined>;
1
+ import type { Core } from '@strapi/types';
2
+ export default function loadComponents(strapi: Core.Strapi): Promise<{} | undefined>;
3
3
  //# sourceMappingURL=components.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/loaders/components.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAkB,MAAM,eAAe,CAAC;AAyB5D,wBAA8B,cAAc,CAAC,MAAM,EAAE,MAAM,2BAoC1D"}
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/loaders/components.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAe,MAAM,eAAe,CAAC;AAyBvD,wBAA8B,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,2BAoC/D"}
@@ -1 +1 @@
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 { Strapi, Common, Schema } 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 Common.UID.Component]: Schema.Component;\n};\n\nexport default async function loadComponents(strapi: 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: Common.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,QAAgB;AAC3D,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,MAA4B,GAAG,QAAQ,IAAI,GAAG;AAEpD,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;;"}
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;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"components.mjs","sources":["../../src/loaders/components.ts"],"sourcesContent":["import { join } from 'path';\nimport _ from 'lodash';\nimport { pathExists } from 'fs-extra';\nimport type { Strapi, Common, Schema } 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 Common.UID.Component]: Schema.Component;\n};\n\nexport default async function loadComponents(strapi: 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: Common.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":[],"mappings":";;;;AA4BA,eAA8B,eAAe,QAAgB;AAC3D,MAAI,CAAE,MAAM,WAAW,OAAO,KAAK,KAAK,UAAU,GAAI;AACpD,WAAO;EACT;AAEA,QAAM,MAAM,MAAM,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,WAAW,KAAK,OAAO,KAAK,IAAI,YAAY,UAAU,OAAO,YAAY;AAE/E,eAAO,OAAO;AAAA,UACZ,aAAa,GAAG;AAAA,cAAyD,QAAQ;AAAA,QAAA;AAAA,MAErF;AAEA,YAAM,MAA4B,GAAG,QAAQ,IAAI,GAAG;AAEpD,UAAI,GAAG,IAAI,OAAO,OAAO,QAAQ;AAAA,QAC/B,YAAY,EAAE,UAAU,MAAM;AAAA,QAC9B;AAAA,QACA;AAAA,QACA,WAAW;AAAA,QACX,WAAW;AAAA,QACX,UAAU,OAAO,YAAY,EAAE,WAAW,EAAE,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;"}
1
+ {"version":3,"file":"components.mjs","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":[],"mappings":";;;;AA4BA,eAA8B,eAAe,QAAqB;AAChE,MAAI,CAAE,MAAM,WAAW,OAAO,KAAK,KAAK,UAAU,GAAI;AACpD,WAAO;EACT;AAEA,QAAM,MAAM,MAAM,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,WAAW,KAAK,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,YAAY,EAAE,UAAU,MAAM;AAAA,QAC9B;AAAA,QACA;AAAA,QACA,WAAW;AAAA,QACX,WAAW;AAAA,QACX,UAAU,OAAO,YAAY,EAAE,WAAW,EAAE,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;"}
@@ -1,3 +1,3 @@
1
- import type { Strapi } from '@strapi/types';
2
- export declare function loadApplicationContext(strapi: Strapi): Promise<void>;
1
+ import type { Core } from '@strapi/types';
2
+ export declare function loadApplicationContext(strapi: Core.Strapi): Promise<void>;
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/loaders/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAY5C,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,MAAM,iBAY1D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/loaders/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAW1C,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,iBAW/D"}
@@ -6,7 +6,6 @@ const middlewares = require("./middlewares.js");
6
6
  const components = require("./components.js");
7
7
  const policies = require("./policies.js");
8
8
  const index = require("./plugins/index.js");
9
- const admin = require("./admin.js");
10
9
  const sanitizers = require("./sanitizers.js");
11
10
  const validators = require("./validators.js");
12
11
  async function loadApplicationContext(strapi) {
@@ -15,7 +14,6 @@ async function loadApplicationContext(strapi) {
15
14
  sanitizers(strapi),
16
15
  validators(strapi),
17
16
  index(strapi),
18
- admin(strapi),
19
17
  apis(strapi),
20
18
  components(strapi),
21
19
  middlewares(strapi),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/loaders/index.ts"],"sourcesContent":["import type { Strapi } from '@strapi/types';\n\nimport loadSrcIndex from './src-index';\nimport loadAPIs from './apis';\nimport loadMiddlewares from './middlewares';\nimport loadComponents from './components';\nimport loadPolicies from './policies';\nimport loadPlugins from './plugins';\nimport loadAdmin from './admin';\nimport loadSanitizers from './sanitizers';\nimport loadValidators from './validators';\n\nexport async function loadApplicationContext(strapi: Strapi) {\n await Promise.all([\n loadSrcIndex(strapi),\n loadSanitizers(strapi),\n loadValidators(strapi),\n loadPlugins(strapi),\n loadAdmin(strapi),\n loadAPIs(strapi),\n loadComponents(strapi),\n loadMiddlewares(strapi),\n loadPolicies(strapi),\n ]);\n}\n"],"names":["loadSrcIndex","loadSanitizers","loadValidators","loadPlugins","loadAdmin","loadAPIs","loadComponents","loadMiddlewares","loadPolicies"],"mappings":";;;;;;;;;;;AAYA,eAAsB,uBAAuB,QAAgB;AAC3D,QAAM,QAAQ,IAAI;AAAA,IAChBA,SAAa,MAAM;AAAA,IACnBC,WAAe,MAAM;AAAA,IACrBC,WAAe,MAAM;AAAA,IACrBC,MAAY,MAAM;AAAA,IAClBC,MAAU,MAAM;AAAA,IAChBC,KAAS,MAAM;AAAA,IACfC,WAAe,MAAM;AAAA,IACrBC,YAAgB,MAAM;AAAA,IACtBC,SAAa,MAAM;AAAA,EAAA,CACpB;AACH;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/loaders/index.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nimport loadSrcIndex from './src-index';\nimport loadAPIs from './apis';\nimport loadMiddlewares from './middlewares';\nimport loadComponents from './components';\nimport loadPolicies from './policies';\nimport loadPlugins from './plugins';\nimport loadSanitizers from './sanitizers';\nimport loadValidators from './validators';\n\nexport async function loadApplicationContext(strapi: Core.Strapi) {\n await Promise.all([\n loadSrcIndex(strapi),\n loadSanitizers(strapi),\n loadValidators(strapi),\n loadPlugins(strapi),\n loadAPIs(strapi),\n loadComponents(strapi),\n loadMiddlewares(strapi),\n loadPolicies(strapi),\n ]);\n}\n"],"names":["loadSrcIndex","loadSanitizers","loadValidators","loadPlugins","loadAPIs","loadComponents","loadMiddlewares","loadPolicies"],"mappings":";;;;;;;;;;AAWA,eAAsB,uBAAuB,QAAqB;AAChE,QAAM,QAAQ,IAAI;AAAA,IAChBA,SAAa,MAAM;AAAA,IACnBC,WAAe,MAAM;AAAA,IACrBC,WAAe,MAAM;AAAA,IACrBC,MAAY,MAAM;AAAA,IAClBC,KAAS,MAAM;AAAA,IACfC,WAAe,MAAM;AAAA,IACrBC,YAAgB,MAAM;AAAA,IACtBC,SAAa,MAAM;AAAA,EAAA,CACpB;AACH;;"}
@@ -4,7 +4,6 @@ import loadMiddlewares from "./middlewares.mjs";
4
4
  import loadComponents from "./components.mjs";
5
5
  import loadPolicies from "./policies.mjs";
6
6
  import loadPlugins from "./plugins/index.mjs";
7
- import loadAdmin from "./admin.mjs";
8
7
  import loadSanitizers from "./sanitizers.mjs";
9
8
  import loadValidators from "./validators.mjs";
10
9
  async function loadApplicationContext(strapi) {
@@ -13,7 +12,6 @@ async function loadApplicationContext(strapi) {
13
12
  loadSanitizers(strapi),
14
13
  loadValidators(strapi),
15
14
  loadPlugins(strapi),
16
- loadAdmin(strapi),
17
15
  loadAPIs(strapi),
18
16
  loadComponents(strapi),
19
17
  loadMiddlewares(strapi),
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/loaders/index.ts"],"sourcesContent":["import type { Strapi } from '@strapi/types';\n\nimport loadSrcIndex from './src-index';\nimport loadAPIs from './apis';\nimport loadMiddlewares from './middlewares';\nimport loadComponents from './components';\nimport loadPolicies from './policies';\nimport loadPlugins from './plugins';\nimport loadAdmin from './admin';\nimport loadSanitizers from './sanitizers';\nimport loadValidators from './validators';\n\nexport async function loadApplicationContext(strapi: Strapi) {\n await Promise.all([\n loadSrcIndex(strapi),\n loadSanitizers(strapi),\n loadValidators(strapi),\n loadPlugins(strapi),\n loadAdmin(strapi),\n loadAPIs(strapi),\n loadComponents(strapi),\n loadMiddlewares(strapi),\n loadPolicies(strapi),\n ]);\n}\n"],"names":[],"mappings":";;;;;;;;;AAYA,eAAsB,uBAAuB,QAAgB;AAC3D,QAAM,QAAQ,IAAI;AAAA,IAChB,aAAa,MAAM;AAAA,IACnB,eAAe,MAAM;AAAA,IACrB,eAAe,MAAM;AAAA,IACrB,YAAY,MAAM;AAAA,IAClB,UAAU,MAAM;AAAA,IAChB,SAAS,MAAM;AAAA,IACf,eAAe,MAAM;AAAA,IACrB,gBAAgB,MAAM;AAAA,IACtB,aAAa,MAAM;AAAA,EAAA,CACpB;AACH;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/loaders/index.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nimport loadSrcIndex from './src-index';\nimport loadAPIs from './apis';\nimport loadMiddlewares from './middlewares';\nimport loadComponents from './components';\nimport loadPolicies from './policies';\nimport loadPlugins from './plugins';\nimport loadSanitizers from './sanitizers';\nimport loadValidators from './validators';\n\nexport async function loadApplicationContext(strapi: Core.Strapi) {\n await Promise.all([\n loadSrcIndex(strapi),\n loadSanitizers(strapi),\n loadValidators(strapi),\n loadPlugins(strapi),\n loadAPIs(strapi),\n loadComponents(strapi),\n loadMiddlewares(strapi),\n loadPolicies(strapi),\n ]);\n}\n"],"names":[],"mappings":";;;;;;;;AAWA,eAAsB,uBAAuB,QAAqB;AAChE,QAAM,QAAQ,IAAI;AAAA,IAChB,aAAa,MAAM;AAAA,IACnB,eAAe,MAAM;AAAA,IACrB,eAAe,MAAM;AAAA,IACrB,YAAY,MAAM;AAAA,IAClB,SAAS,MAAM;AAAA,IACf,eAAe,MAAM;AAAA,IACrB,gBAAgB,MAAM;AAAA,IACtB,aAAa,MAAM;AAAA,EAAA,CACpB;AACH;"}
@@ -1,3 +1,3 @@
1
- import type { Strapi } from '@strapi/types';
2
- export default function loadMiddlewares(strapi: Strapi): Promise<void>;
1
+ import type { Core } from '@strapi/types';
2
+ export default function loadMiddlewares(strapi: Core.Strapi): Promise<void>;
3
3
  //# sourceMappingURL=middlewares.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../../src/loaders/middlewares.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAU,MAAM,eAAe,CAAC;AAIpD,wBAA8B,eAAe,CAAC,MAAM,EAAE,MAAM,iBAK3D"}
1
+ {"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../../src/loaders/middlewares.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAI1C,wBAA8B,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,iBAKhE"}
@@ -1 +1 @@
1
- {"version":3,"file":"middlewares.js","sources":["../../src/loaders/middlewares.ts"],"sourcesContent":["import { join, extname, basename } from 'path';\nimport fse from 'fs-extra';\nimport { importDefault } from '@strapi/utils';\nimport type { Strapi, Common } from '@strapi/types';\nimport { middlewares as internalMiddlewares } from '../middlewares';\n\n// TODO:: allow folders with index.js inside for bigger policies\nexport default async function loadMiddlewares(strapi: Strapi) {\n const localMiddlewares = await loadLocalMiddlewares(strapi);\n\n strapi.get('middlewares').add(`global::`, localMiddlewares);\n strapi.get('middlewares').add(`strapi::`, internalMiddlewares);\n}\n\nconst loadLocalMiddlewares = async (strapi: Strapi) => {\n const dir = strapi.dirs.dist.middlewares;\n\n if (!(await fse.pathExists(dir))) {\n return {};\n }\n\n const middlewares: Record<string, Common.MiddlewareFactory> = {};\n const paths = await fse.readdir(dir, { withFileTypes: true });\n\n for (const fd of paths) {\n const { name } = fd;\n const fullPath = join(dir, name);\n\n if (fd.isFile() && extname(name) === '.js') {\n const key = basename(name, '.js');\n middlewares[key] = importDefault(fullPath);\n }\n }\n\n return middlewares;\n};\n"],"names":["internalMiddlewares","fse","join","extname","basename","importDefault"],"mappings":";;;;;;;AAOA,eAA8B,gBAAgB,QAAgB;AACtD,QAAA,mBAAmB,MAAM,qBAAqB,MAAM;AAE1D,SAAO,IAAI,aAAa,EAAE,IAAI,YAAY,gBAAgB;AAC1D,SAAO,IAAI,aAAa,EAAE,IAAI,YAAYA,MAAAA,WAAmB;AAC/D;AAEA,MAAM,uBAAuB,OAAO,WAAmB;AAC/C,QAAA,MAAM,OAAO,KAAK,KAAK;AAE7B,MAAI,CAAE,MAAMC,aAAAA,QAAI,WAAW,GAAG,GAAI;AAChC,WAAO;EACT;AAEA,QAAM,cAAwD,CAAA;AACxD,QAAA,QAAQ,MAAMA,aAAAA,QAAI,QAAQ,KAAK,EAAE,eAAe,MAAM;AAE5D,aAAW,MAAM,OAAO;AAChB,UAAA,EAAE,KAAS,IAAA;AACX,UAAA,WAAWC,KAAAA,KAAK,KAAK,IAAI;AAE/B,QAAI,GAAG,OAAO,KAAKC,KAAQ,QAAA,IAAI,MAAM,OAAO;AACpC,YAAA,MAAMC,KAAAA,SAAS,MAAM,KAAK;AACpB,kBAAA,GAAG,IAAIC,YAAA,cAAc,QAAQ;AAAA,IAC3C;AAAA,EACF;AAEO,SAAA;AACT;;"}
1
+ {"version":3,"file":"middlewares.js","sources":["../../src/loaders/middlewares.ts"],"sourcesContent":["import { join, extname, basename } from 'path';\nimport fse from 'fs-extra';\nimport { importDefault } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\nimport { middlewares as internalMiddlewares } from '../middlewares';\n\n// TODO:: allow folders with index.js inside for bigger policies\nexport default async function loadMiddlewares(strapi: Core.Strapi) {\n const localMiddlewares = await loadLocalMiddlewares(strapi);\n\n strapi.get('middlewares').add(`global::`, localMiddlewares);\n strapi.get('middlewares').add(`strapi::`, internalMiddlewares);\n}\n\nconst loadLocalMiddlewares = async (strapi: Core.Strapi) => {\n const dir = strapi.dirs.dist.middlewares;\n\n if (!(await fse.pathExists(dir))) {\n return {};\n }\n\n const middlewares: Record<string, Core.MiddlewareFactory> = {};\n const paths = await fse.readdir(dir, { withFileTypes: true });\n\n for (const fd of paths) {\n const { name } = fd;\n const fullPath = join(dir, name);\n\n if (fd.isFile() && extname(name) === '.js') {\n const key = basename(name, '.js');\n middlewares[key] = importDefault(fullPath);\n }\n }\n\n return middlewares;\n};\n"],"names":["internalMiddlewares","fse","join","extname","basename","importDefault"],"mappings":";;;;;;;AAOA,eAA8B,gBAAgB,QAAqB;AAC3D,QAAA,mBAAmB,MAAM,qBAAqB,MAAM;AAE1D,SAAO,IAAI,aAAa,EAAE,IAAI,YAAY,gBAAgB;AAC1D,SAAO,IAAI,aAAa,EAAE,IAAI,YAAYA,MAAAA,WAAmB;AAC/D;AAEA,MAAM,uBAAuB,OAAO,WAAwB;AACpD,QAAA,MAAM,OAAO,KAAK,KAAK;AAE7B,MAAI,CAAE,MAAMC,aAAAA,QAAI,WAAW,GAAG,GAAI;AAChC,WAAO;EACT;AAEA,QAAM,cAAsD,CAAA;AACtD,QAAA,QAAQ,MAAMA,aAAAA,QAAI,QAAQ,KAAK,EAAE,eAAe,MAAM;AAE5D,aAAW,MAAM,OAAO;AAChB,UAAA,EAAE,KAAS,IAAA;AACX,UAAA,WAAWC,KAAAA,KAAK,KAAK,IAAI;AAE/B,QAAI,GAAG,OAAO,KAAKC,KAAQ,QAAA,IAAI,MAAM,OAAO;AACpC,YAAA,MAAMC,KAAAA,SAAS,MAAM,KAAK;AACpB,kBAAA,GAAG,IAAIC,YAAA,cAAc,QAAQ;AAAA,IAC3C;AAAA,EACF;AAEO,SAAA;AACT;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"middlewares.mjs","sources":["../../src/loaders/middlewares.ts"],"sourcesContent":["import { join, extname, basename } from 'path';\nimport fse from 'fs-extra';\nimport { importDefault } from '@strapi/utils';\nimport type { Strapi, Common } from '@strapi/types';\nimport { middlewares as internalMiddlewares } from '../middlewares';\n\n// TODO:: allow folders with index.js inside for bigger policies\nexport default async function loadMiddlewares(strapi: Strapi) {\n const localMiddlewares = await loadLocalMiddlewares(strapi);\n\n strapi.get('middlewares').add(`global::`, localMiddlewares);\n strapi.get('middlewares').add(`strapi::`, internalMiddlewares);\n}\n\nconst loadLocalMiddlewares = async (strapi: Strapi) => {\n const dir = strapi.dirs.dist.middlewares;\n\n if (!(await fse.pathExists(dir))) {\n return {};\n }\n\n const middlewares: Record<string, Common.MiddlewareFactory> = {};\n const paths = await fse.readdir(dir, { withFileTypes: true });\n\n for (const fd of paths) {\n const { name } = fd;\n const fullPath = join(dir, name);\n\n if (fd.isFile() && extname(name) === '.js') {\n const key = basename(name, '.js');\n middlewares[key] = importDefault(fullPath);\n }\n }\n\n return middlewares;\n};\n"],"names":["internalMiddlewares","middlewares"],"mappings":";;;;AAOA,eAA8B,gBAAgB,QAAgB;AACtD,QAAA,mBAAmB,MAAM,qBAAqB,MAAM;AAE1D,SAAO,IAAI,aAAa,EAAE,IAAI,YAAY,gBAAgB;AAC1D,SAAO,IAAI,aAAa,EAAE,IAAI,YAAYA,WAAmB;AAC/D;AAEA,MAAM,uBAAuB,OAAO,WAAmB;AAC/C,QAAA,MAAM,OAAO,KAAK,KAAK;AAE7B,MAAI,CAAE,MAAM,IAAI,WAAW,GAAG,GAAI;AAChC,WAAO;EACT;AAEA,QAAMC,eAAwD,CAAA;AACxD,QAAA,QAAQ,MAAM,IAAI,QAAQ,KAAK,EAAE,eAAe,MAAM;AAE5D,aAAW,MAAM,OAAO;AAChB,UAAA,EAAE,KAAS,IAAA;AACX,UAAA,WAAW,KAAK,KAAK,IAAI;AAE/B,QAAI,GAAG,OAAO,KAAK,QAAQ,IAAI,MAAM,OAAO;AACpC,YAAA,MAAM,SAAS,MAAM,KAAK;AACpB,MAAAA,aAAA,GAAG,IAAI,cAAc,QAAQ;AAAA,IAC3C;AAAA,EACF;AAEO,SAAAA;AACT;"}
1
+ {"version":3,"file":"middlewares.mjs","sources":["../../src/loaders/middlewares.ts"],"sourcesContent":["import { join, extname, basename } from 'path';\nimport fse from 'fs-extra';\nimport { importDefault } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\nimport { middlewares as internalMiddlewares } from '../middlewares';\n\n// TODO:: allow folders with index.js inside for bigger policies\nexport default async function loadMiddlewares(strapi: Core.Strapi) {\n const localMiddlewares = await loadLocalMiddlewares(strapi);\n\n strapi.get('middlewares').add(`global::`, localMiddlewares);\n strapi.get('middlewares').add(`strapi::`, internalMiddlewares);\n}\n\nconst loadLocalMiddlewares = async (strapi: Core.Strapi) => {\n const dir = strapi.dirs.dist.middlewares;\n\n if (!(await fse.pathExists(dir))) {\n return {};\n }\n\n const middlewares: Record<string, Core.MiddlewareFactory> = {};\n const paths = await fse.readdir(dir, { withFileTypes: true });\n\n for (const fd of paths) {\n const { name } = fd;\n const fullPath = join(dir, name);\n\n if (fd.isFile() && extname(name) === '.js') {\n const key = basename(name, '.js');\n middlewares[key] = importDefault(fullPath);\n }\n }\n\n return middlewares;\n};\n"],"names":["internalMiddlewares","middlewares"],"mappings":";;;;AAOA,eAA8B,gBAAgB,QAAqB;AAC3D,QAAA,mBAAmB,MAAM,qBAAqB,MAAM;AAE1D,SAAO,IAAI,aAAa,EAAE,IAAI,YAAY,gBAAgB;AAC1D,SAAO,IAAI,aAAa,EAAE,IAAI,YAAYA,WAAmB;AAC/D;AAEA,MAAM,uBAAuB,OAAO,WAAwB;AACpD,QAAA,MAAM,OAAO,KAAK,KAAK;AAE7B,MAAI,CAAE,MAAM,IAAI,WAAW,GAAG,GAAI;AAChC,WAAO;EACT;AAEA,QAAMC,eAAsD,CAAA;AACtD,QAAA,QAAQ,MAAM,IAAI,QAAQ,KAAK,EAAE,eAAe,MAAM;AAE5D,aAAW,MAAM,OAAO;AAChB,UAAA,EAAE,KAAS,IAAA;AACX,UAAA,WAAW,KAAK,KAAK,IAAI;AAE/B,QAAI,GAAG,OAAO,KAAK,QAAQ,IAAI,MAAM,OAAO;AACpC,YAAA,MAAM,SAAS,MAAM,KAAK;AACpB,MAAAA,aAAA,GAAG,IAAI,cAAc,QAAQ;AAAA,IAC3C;AAAA,EACF;AAEO,SAAAA;AACT;"}
@@ -1,5 +1,5 @@
1
- import type { Strapi } from '@strapi/types';
2
- export declare const getEnabledPlugins: (strapi: Strapi, { client }?: {
1
+ import type { Core } from '@strapi/types';
2
+ export declare const getEnabledPlugins: (strapi: Core.Strapi, { client }?: {
3
3
  client: boolean;
4
4
  }) => Promise<any>;
5
5
  //# sourceMappingURL=get-enabled-plugins.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-enabled-plugins.d.ts","sourceRoot":"","sources":["../../../src/loaders/plugins/get-enabled-plugins.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AA4E5C,eAAO,MAAM,iBAAiB,WAAkB,MAAM;;kBA2ErD,CAAC"}
1
+ {"version":3,"file":"get-enabled-plugins.d.ts","sourceRoot":"","sources":["../../../src/loaders/plugins/get-enabled-plugins.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAkF1C,eAAO,MAAM,iBAAiB,WAAkB,KAAK,MAAM;;kBAoF1D,CAAC"}