@strapi/core 0.0.0-experimental.d53e940834bf72ddc725f1d2fd36dac9abec30cb → 0.0.0-experimental.d594270d189417b9207db1acd922f30792487dfe

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.

Potentially problematic release.


This version of @strapi/core might be problematic. Click here for more details.

Files changed (744) hide show
  1. package/LICENSE +18 -3
  2. package/dist/Strapi.d.ts +3 -1
  3. package/dist/Strapi.d.ts.map +1 -1
  4. package/dist/Strapi.js +437 -369
  5. package/dist/Strapi.js.map +1 -1
  6. package/dist/Strapi.mjs +426 -377
  7. package/dist/Strapi.mjs.map +1 -1
  8. package/dist/compile.js +23 -14
  9. package/dist/compile.js.map +1 -1
  10. package/dist/compile.mjs +22 -14
  11. package/dist/compile.mjs.map +1 -1
  12. package/dist/configuration/config-loader.js +110 -97
  13. package/dist/configuration/config-loader.js.map +1 -1
  14. package/dist/configuration/config-loader.mjs +109 -96
  15. package/dist/configuration/config-loader.mjs.map +1 -1
  16. package/dist/configuration/get-dirs.js +31 -29
  17. package/dist/configuration/get-dirs.js.map +1 -1
  18. package/dist/configuration/get-dirs.mjs +30 -30
  19. package/dist/configuration/get-dirs.mjs.map +1 -1
  20. package/dist/configuration/index.d.ts.map +1 -1
  21. package/dist/configuration/index.js +84 -73
  22. package/dist/configuration/index.js.map +1 -1
  23. package/dist/configuration/index.mjs +83 -69
  24. package/dist/configuration/index.mjs.map +1 -1
  25. package/dist/configuration/urls.js +65 -61
  26. package/dist/configuration/urls.js.map +1 -1
  27. package/dist/configuration/urls.mjs +64 -62
  28. package/dist/configuration/urls.mjs.map +1 -1
  29. package/dist/container.js +27 -23
  30. package/dist/container.js.map +1 -1
  31. package/dist/container.mjs +26 -24
  32. package/dist/container.mjs.map +1 -1
  33. package/dist/core-api/controller/collection-type.js +77 -76
  34. package/dist/core-api/controller/collection-type.js.map +1 -1
  35. package/dist/core-api/controller/collection-type.mjs +76 -77
  36. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  37. package/dist/core-api/controller/index.js +63 -48
  38. package/dist/core-api/controller/index.js.map +1 -1
  39. package/dist/core-api/controller/index.mjs +62 -49
  40. package/dist/core-api/controller/index.mjs.map +1 -1
  41. package/dist/core-api/controller/single-type.js +41 -40
  42. package/dist/core-api/controller/single-type.js.map +1 -1
  43. package/dist/core-api/controller/single-type.mjs +40 -41
  44. package/dist/core-api/controller/single-type.mjs.map +1 -1
  45. package/dist/core-api/controller/transform.js +72 -63
  46. package/dist/core-api/controller/transform.js.map +1 -1
  47. package/dist/core-api/controller/transform.mjs +71 -64
  48. package/dist/core-api/controller/transform.mjs.map +1 -1
  49. package/dist/core-api/routes/index.js +64 -62
  50. package/dist/core-api/routes/index.js.map +1 -1
  51. package/dist/core-api/routes/index.mjs +62 -62
  52. package/dist/core-api/routes/index.mjs.map +1 -1
  53. package/dist/core-api/service/collection-type.d.ts +2 -2
  54. package/dist/core-api/service/collection-type.js +73 -60
  55. package/dist/core-api/service/collection-type.js.map +1 -1
  56. package/dist/core-api/service/collection-type.mjs +72 -62
  57. package/dist/core-api/service/collection-type.mjs.map +1 -1
  58. package/dist/core-api/service/core-service.js +9 -8
  59. package/dist/core-api/service/core-service.js.map +1 -1
  60. package/dist/core-api/service/core-service.mjs +8 -9
  61. package/dist/core-api/service/core-service.mjs.map +1 -1
  62. package/dist/core-api/service/index.js +13 -13
  63. package/dist/core-api/service/index.js.map +1 -1
  64. package/dist/core-api/service/index.mjs +12 -14
  65. package/dist/core-api/service/index.mjs.map +1 -1
  66. package/dist/core-api/service/pagination.js +69 -43
  67. package/dist/core-api/service/pagination.js.map +1 -1
  68. package/dist/core-api/service/pagination.mjs +68 -47
  69. package/dist/core-api/service/pagination.mjs.map +1 -1
  70. package/dist/core-api/service/single-type.js +43 -39
  71. package/dist/core-api/service/single-type.js.map +1 -1
  72. package/dist/core-api/service/single-type.mjs +42 -41
  73. package/dist/core-api/service/single-type.mjs.map +1 -1
  74. package/dist/domain/content-type/index.js +95 -100
  75. package/dist/domain/content-type/index.js.map +1 -1
  76. package/dist/domain/content-type/index.mjs +94 -100
  77. package/dist/domain/content-type/index.mjs.map +1 -1
  78. package/dist/domain/content-type/validator.js +84 -69
  79. package/dist/domain/content-type/validator.js.map +1 -1
  80. package/dist/domain/content-type/validator.mjs +83 -68
  81. package/dist/domain/content-type/validator.mjs.map +1 -1
  82. package/dist/domain/module/index.js +109 -100
  83. package/dist/domain/module/index.js.map +1 -1
  84. package/dist/domain/module/index.mjs +108 -99
  85. package/dist/domain/module/index.mjs.map +1 -1
  86. package/dist/domain/module/validation.js +25 -20
  87. package/dist/domain/module/validation.js.map +1 -1
  88. package/dist/domain/module/validation.mjs +24 -21
  89. package/dist/domain/module/validation.mjs.map +1 -1
  90. package/dist/ee/index.d.ts +1 -0
  91. package/dist/ee/index.d.ts.map +1 -1
  92. package/dist/ee/index.js +171 -132
  93. package/dist/ee/index.js.map +1 -1
  94. package/dist/ee/index.mjs +170 -134
  95. package/dist/ee/index.mjs.map +1 -1
  96. package/dist/ee/license.d.ts.map +1 -1
  97. package/dist/ee/license.js +99 -75
  98. package/dist/ee/license.js.map +1 -1
  99. package/dist/ee/license.mjs +98 -76
  100. package/dist/ee/license.mjs.map +1 -1
  101. package/dist/factories.js +72 -67
  102. package/dist/factories.js.map +1 -1
  103. package/dist/factories.mjs +71 -71
  104. package/dist/factories.mjs.map +1 -1
  105. package/dist/index.d.ts +14 -0
  106. package/dist/index.d.ts.map +1 -1
  107. package/dist/index.js +29 -26
  108. package/dist/index.js.map +1 -1
  109. package/dist/index.mjs +29 -29
  110. package/dist/index.mjs.map +1 -1
  111. package/dist/loaders/admin.d.ts.map +1 -1
  112. package/dist/loaders/admin.js +21 -20
  113. package/dist/loaders/admin.js.map +1 -1
  114. package/dist/loaders/admin.mjs +20 -20
  115. package/dist/loaders/admin.mjs.map +1 -1
  116. package/dist/loaders/apis.js +143 -120
  117. package/dist/loaders/apis.js.map +1 -1
  118. package/dist/loaders/apis.mjs +142 -119
  119. package/dist/loaders/apis.mjs.map +1 -1
  120. package/dist/loaders/components.js +33 -34
  121. package/dist/loaders/components.js.map +1 -1
  122. package/dist/loaders/components.mjs +32 -34
  123. package/dist/loaders/components.mjs.map +1 -1
  124. package/dist/loaders/index.js +22 -20
  125. package/dist/loaders/index.js.map +1 -1
  126. package/dist/loaders/index.mjs +21 -21
  127. package/dist/loaders/index.mjs.map +1 -1
  128. package/dist/loaders/middlewares.js +29 -25
  129. package/dist/loaders/middlewares.js.map +1 -1
  130. package/dist/loaders/middlewares.mjs +28 -25
  131. package/dist/loaders/middlewares.mjs.map +1 -1
  132. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  133. package/dist/loaders/plugins/get-enabled-plugins.js +125 -102
  134. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  135. package/dist/loaders/plugins/get-enabled-plugins.mjs +124 -101
  136. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  137. package/dist/loaders/plugins/get-user-plugins-config.js +25 -24
  138. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  139. package/dist/loaders/plugins/get-user-plugins-config.mjs +24 -23
  140. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -1
  141. package/dist/loaders/plugins/index.d.ts.map +1 -1
  142. package/dist/loaders/plugins/index.js +141 -104
  143. package/dist/loaders/plugins/index.js.map +1 -1
  144. package/dist/loaders/plugins/index.mjs +121 -104
  145. package/dist/loaders/plugins/index.mjs.map +1 -1
  146. package/dist/loaders/policies.js +24 -20
  147. package/dist/loaders/policies.js.map +1 -1
  148. package/dist/loaders/policies.mjs +23 -20
  149. package/dist/loaders/policies.mjs.map +1 -1
  150. package/dist/loaders/sanitizers.js +10 -4
  151. package/dist/loaders/sanitizers.js.map +1 -1
  152. package/dist/loaders/sanitizers.mjs +9 -6
  153. package/dist/loaders/sanitizers.mjs.map +1 -1
  154. package/dist/loaders/src-index.js +35 -27
  155. package/dist/loaders/src-index.js.map +1 -1
  156. package/dist/loaders/src-index.mjs +34 -29
  157. package/dist/loaders/src-index.mjs.map +1 -1
  158. package/dist/loaders/validators.js +9 -4
  159. package/dist/loaders/validators.js.map +1 -1
  160. package/dist/loaders/validators.mjs +8 -6
  161. package/dist/loaders/validators.mjs.map +1 -1
  162. package/dist/middlewares/body.d.ts.map +1 -1
  163. package/dist/middlewares/body.js +58 -54
  164. package/dist/middlewares/body.js.map +1 -1
  165. package/dist/middlewares/body.mjs +57 -51
  166. package/dist/middlewares/body.mjs.map +1 -1
  167. package/dist/middlewares/compression.js +6 -6
  168. package/dist/middlewares/compression.js.map +1 -1
  169. package/dist/middlewares/compression.mjs +5 -5
  170. package/dist/middlewares/compression.mjs.map +1 -1
  171. package/dist/middlewares/cors.d.ts.map +1 -1
  172. package/dist/middlewares/cors.js +59 -44
  173. package/dist/middlewares/cors.js.map +1 -1
  174. package/dist/middlewares/cors.mjs +58 -43
  175. package/dist/middlewares/cors.mjs.map +1 -1
  176. package/dist/middlewares/errors.js +32 -30
  177. package/dist/middlewares/errors.js.map +1 -1
  178. package/dist/middlewares/errors.mjs +31 -31
  179. package/dist/middlewares/errors.mjs.map +1 -1
  180. package/dist/middlewares/favicon.js +27 -17
  181. package/dist/middlewares/favicon.js.map +1 -1
  182. package/dist/middlewares/favicon.mjs +26 -16
  183. package/dist/middlewares/favicon.mjs.map +1 -1
  184. package/dist/middlewares/index.js +32 -30
  185. package/dist/middlewares/index.js.map +1 -1
  186. package/dist/middlewares/index.mjs +31 -31
  187. package/dist/middlewares/index.mjs.map +1 -1
  188. package/dist/middlewares/ip.js +6 -6
  189. package/dist/middlewares/ip.js.map +1 -1
  190. package/dist/middlewares/ip.mjs +5 -5
  191. package/dist/middlewares/ip.mjs.map +1 -1
  192. package/dist/middlewares/logger.js +10 -9
  193. package/dist/middlewares/logger.js.map +1 -1
  194. package/dist/middlewares/logger.mjs +9 -10
  195. package/dist/middlewares/logger.mjs.map +1 -1
  196. package/dist/middlewares/powered-by.js +13 -9
  197. package/dist/middlewares/powered-by.js.map +1 -1
  198. package/dist/middlewares/powered-by.mjs +12 -10
  199. package/dist/middlewares/powered-by.mjs.map +1 -1
  200. package/dist/middlewares/public.js +33 -29
  201. package/dist/middlewares/public.js.map +1 -1
  202. package/dist/middlewares/public.mjs +32 -28
  203. package/dist/middlewares/public.mjs.map +1 -1
  204. package/dist/middlewares/query.d.ts.map +1 -1
  205. package/dist/middlewares/query.js +35 -32
  206. package/dist/middlewares/query.js.map +1 -1
  207. package/dist/middlewares/query.mjs +34 -31
  208. package/dist/middlewares/query.mjs.map +1 -1
  209. package/dist/middlewares/response-time.js +10 -9
  210. package/dist/middlewares/response-time.js.map +1 -1
  211. package/dist/middlewares/response-time.mjs +9 -10
  212. package/dist/middlewares/response-time.mjs.map +1 -1
  213. package/dist/middlewares/responses.js +14 -12
  214. package/dist/middlewares/responses.js.map +1 -1
  215. package/dist/middlewares/responses.mjs +13 -13
  216. package/dist/middlewares/responses.mjs.map +1 -1
  217. package/dist/middlewares/security.d.ts.map +1 -1
  218. package/dist/middlewares/security.js +109 -71
  219. package/dist/middlewares/security.js.map +1 -1
  220. package/dist/middlewares/security.mjs +108 -70
  221. package/dist/middlewares/security.mjs.map +1 -1
  222. package/dist/middlewares/session.js +26 -25
  223. package/dist/middlewares/session.js.map +1 -1
  224. package/dist/middlewares/session.mjs +25 -24
  225. package/dist/middlewares/session.mjs.map +1 -1
  226. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +14 -11
  227. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -1
  228. package/dist/migrations/database/5.0.0-discard-drafts.js +153 -35
  229. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -1
  230. package/dist/migrations/database/5.0.0-discard-drafts.mjs +152 -37
  231. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -1
  232. package/dist/migrations/draft-publish.d.ts +2 -2
  233. package/dist/migrations/draft-publish.d.ts.map +1 -1
  234. package/dist/migrations/draft-publish.js +61 -34
  235. package/dist/migrations/draft-publish.js.map +1 -1
  236. package/dist/migrations/draft-publish.mjs +60 -36
  237. package/dist/migrations/draft-publish.mjs.map +1 -1
  238. package/dist/migrations/i18n.d.ts +5 -0
  239. package/dist/migrations/i18n.d.ts.map +1 -0
  240. package/dist/migrations/i18n.js +71 -0
  241. package/dist/migrations/i18n.js.map +1 -0
  242. package/dist/migrations/i18n.mjs +68 -0
  243. package/dist/migrations/i18n.mjs.map +1 -0
  244. package/dist/migrations/index.d.ts +5 -0
  245. package/dist/migrations/index.d.ts.map +1 -0
  246. package/dist/migrations/index.js +29 -0
  247. package/dist/migrations/index.js.map +1 -0
  248. package/dist/migrations/index.mjs +26 -0
  249. package/dist/migrations/index.mjs.map +1 -0
  250. package/dist/package.json.js +182 -0
  251. package/dist/package.json.js.map +1 -0
  252. package/dist/package.json.mjs +159 -0
  253. package/dist/package.json.mjs.map +1 -0
  254. package/dist/providers/admin.d.ts.map +1 -1
  255. package/dist/providers/admin.js +27 -17
  256. package/dist/providers/admin.js.map +1 -1
  257. package/dist/providers/admin.mjs +26 -19
  258. package/dist/providers/admin.mjs.map +1 -1
  259. package/dist/providers/coreStore.js +13 -8
  260. package/dist/providers/coreStore.js.map +1 -1
  261. package/dist/providers/coreStore.mjs +12 -10
  262. package/dist/providers/coreStore.mjs.map +1 -1
  263. package/dist/providers/cron.js +19 -16
  264. package/dist/providers/cron.js.map +1 -1
  265. package/dist/providers/cron.mjs +18 -18
  266. package/dist/providers/cron.mjs.map +1 -1
  267. package/dist/providers/index.js +18 -9
  268. package/dist/providers/index.js.map +1 -1
  269. package/dist/providers/index.mjs +17 -10
  270. package/dist/providers/index.mjs.map +1 -1
  271. package/dist/providers/provider.js +4 -3
  272. package/dist/providers/provider.js.map +1 -1
  273. package/dist/providers/provider.mjs +3 -4
  274. package/dist/providers/provider.mjs.map +1 -1
  275. package/dist/providers/registries.js +37 -32
  276. package/dist/providers/registries.js.map +1 -1
  277. package/dist/providers/registries.mjs +36 -34
  278. package/dist/providers/registries.mjs.map +1 -1
  279. package/dist/providers/telemetry.js +19 -16
  280. package/dist/providers/telemetry.js.map +1 -1
  281. package/dist/providers/telemetry.mjs +18 -18
  282. package/dist/providers/telemetry.mjs.map +1 -1
  283. package/dist/providers/webhooks.js +28 -26
  284. package/dist/providers/webhooks.js.map +1 -1
  285. package/dist/providers/webhooks.mjs +27 -28
  286. package/dist/providers/webhooks.mjs.map +1 -1
  287. package/dist/registries/apis.js +23 -20
  288. package/dist/registries/apis.js.map +1 -1
  289. package/dist/registries/apis.mjs +22 -22
  290. package/dist/registries/apis.mjs.map +1 -1
  291. package/dist/registries/components.js +35 -37
  292. package/dist/registries/components.js.map +1 -1
  293. package/dist/registries/components.mjs +34 -39
  294. package/dist/registries/components.mjs.map +1 -1
  295. package/dist/registries/content-types.js +54 -59
  296. package/dist/registries/content-types.js.map +1 -1
  297. package/dist/registries/content-types.mjs +53 -61
  298. package/dist/registries/content-types.mjs.map +1 -1
  299. package/dist/registries/controllers.js +70 -71
  300. package/dist/registries/controllers.js.map +1 -1
  301. package/dist/registries/controllers.mjs +69 -73
  302. package/dist/registries/controllers.mjs.map +1 -1
  303. package/dist/registries/custom-fields.js +75 -65
  304. package/dist/registries/custom-fields.js.map +1 -1
  305. package/dist/registries/custom-fields.mjs +74 -67
  306. package/dist/registries/custom-fields.mjs.map +1 -1
  307. package/dist/registries/hooks.js +46 -49
  308. package/dist/registries/hooks.js.map +1 -1
  309. package/dist/registries/hooks.mjs +45 -51
  310. package/dist/registries/hooks.mjs.map +1 -1
  311. package/dist/registries/middlewares.js +49 -51
  312. package/dist/registries/middlewares.js.map +1 -1
  313. package/dist/registries/middlewares.mjs +48 -53
  314. package/dist/registries/middlewares.mjs.map +1 -1
  315. package/dist/registries/models.js +14 -13
  316. package/dist/registries/models.js.map +1 -1
  317. package/dist/registries/models.mjs +13 -14
  318. package/dist/registries/models.mjs.map +1 -1
  319. package/dist/registries/modules.js +39 -36
  320. package/dist/registries/modules.js.map +1 -1
  321. package/dist/registries/modules.mjs +38 -38
  322. package/dist/registries/modules.mjs.map +1 -1
  323. package/dist/registries/namespace.js +21 -20
  324. package/dist/registries/namespace.js.map +1 -1
  325. package/dist/registries/namespace.mjs +20 -23
  326. package/dist/registries/namespace.mjs.map +1 -1
  327. package/dist/registries/plugins.js +23 -20
  328. package/dist/registries/plugins.js.map +1 -1
  329. package/dist/registries/plugins.mjs +22 -22
  330. package/dist/registries/plugins.mjs.map +1 -1
  331. package/dist/registries/policies.d.ts +1 -1
  332. package/dist/registries/policies.d.ts.map +1 -1
  333. package/dist/registries/policies.js +103 -96
  334. package/dist/registries/policies.js.map +1 -1
  335. package/dist/registries/policies.mjs +102 -98
  336. package/dist/registries/policies.mjs.map +1 -1
  337. package/dist/registries/sanitizers.js +23 -22
  338. package/dist/registries/sanitizers.js.map +1 -1
  339. package/dist/registries/sanitizers.mjs +22 -22
  340. package/dist/registries/sanitizers.mjs.map +1 -1
  341. package/dist/registries/services.js +71 -71
  342. package/dist/registries/services.js.map +1 -1
  343. package/dist/registries/services.mjs +70 -73
  344. package/dist/registries/services.mjs.map +1 -1
  345. package/dist/registries/validators.js +23 -22
  346. package/dist/registries/validators.js.map +1 -1
  347. package/dist/registries/validators.mjs +22 -22
  348. package/dist/registries/validators.mjs.map +1 -1
  349. package/dist/services/auth/index.js +74 -74
  350. package/dist/services/auth/index.js.map +1 -1
  351. package/dist/services/auth/index.mjs +73 -74
  352. package/dist/services/auth/index.mjs.map +1 -1
  353. package/dist/services/config.js +47 -43
  354. package/dist/services/config.js.map +1 -1
  355. package/dist/services/config.mjs +46 -44
  356. package/dist/services/config.mjs.map +1 -1
  357. package/dist/services/content-api/index.d.ts +10 -12
  358. package/dist/services/content-api/index.d.ts.map +1 -1
  359. package/dist/services/content-api/index.js +80 -79
  360. package/dist/services/content-api/index.js.map +1 -1
  361. package/dist/services/content-api/index.mjs +79 -79
  362. package/dist/services/content-api/index.mjs.map +1 -1
  363. package/dist/services/content-api/permissions/engine.js +8 -5
  364. package/dist/services/content-api/permissions/engine.js.map +1 -1
  365. package/dist/services/content-api/permissions/engine.mjs +7 -5
  366. package/dist/services/content-api/permissions/engine.mjs.map +1 -1
  367. package/dist/services/content-api/permissions/index.d.ts +10 -12
  368. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  369. package/dist/services/content-api/permissions/index.js +101 -81
  370. package/dist/services/content-api/permissions/index.js.map +1 -1
  371. package/dist/services/content-api/permissions/index.mjs +100 -81
  372. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  373. package/dist/services/content-api/permissions/providers/action.d.ts +5 -6
  374. package/dist/services/content-api/permissions/providers/action.d.ts.map +1 -1
  375. package/dist/services/content-api/permissions/providers/action.js +17 -14
  376. package/dist/services/content-api/permissions/providers/action.js.map +1 -1
  377. package/dist/services/content-api/permissions/providers/action.mjs +16 -16
  378. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -1
  379. package/dist/services/content-api/permissions/providers/condition.d.ts +5 -6
  380. package/dist/services/content-api/permissions/providers/condition.d.ts.map +1 -1
  381. package/dist/services/content-api/permissions/providers/condition.js +17 -14
  382. package/dist/services/content-api/permissions/providers/condition.js.map +1 -1
  383. package/dist/services/content-api/permissions/providers/condition.mjs +16 -16
  384. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -1
  385. package/dist/services/core-store.js +115 -95
  386. package/dist/services/core-store.js.map +1 -1
  387. package/dist/services/core-store.mjs +114 -97
  388. package/dist/services/core-store.mjs.map +1 -1
  389. package/dist/services/cron.d.ts +3 -3
  390. package/dist/services/cron.d.ts.map +1 -1
  391. package/dist/services/cron.js +74 -60
  392. package/dist/services/cron.js.map +1 -1
  393. package/dist/services/cron.mjs +73 -62
  394. package/dist/services/cron.mjs.map +1 -1
  395. package/dist/services/custom-fields.js +9 -7
  396. package/dist/services/custom-fields.js.map +1 -1
  397. package/dist/services/custom-fields.mjs +8 -9
  398. package/dist/services/custom-fields.mjs.map +1 -1
  399. package/dist/services/document-service/attributes/index.js +23 -18
  400. package/dist/services/document-service/attributes/index.js.map +1 -1
  401. package/dist/services/document-service/attributes/index.mjs +22 -19
  402. package/dist/services/document-service/attributes/index.mjs.map +1 -1
  403. package/dist/services/document-service/attributes/transforms.js +16 -15
  404. package/dist/services/document-service/attributes/transforms.js.map +1 -1
  405. package/dist/services/document-service/attributes/transforms.mjs +15 -15
  406. package/dist/services/document-service/attributes/transforms.mjs.map +1 -1
  407. package/dist/services/document-service/common.d.ts +1 -1
  408. package/dist/services/document-service/common.d.ts.map +1 -1
  409. package/dist/services/document-service/common.js +5 -4
  410. package/dist/services/document-service/common.js.map +1 -1
  411. package/dist/services/document-service/common.mjs +4 -5
  412. package/dist/services/document-service/common.mjs.map +1 -1
  413. package/dist/services/document-service/components.d.ts.map +1 -1
  414. package/dist/services/document-service/components.js +257 -259
  415. package/dist/services/document-service/components.js.map +1 -1
  416. package/dist/services/document-service/components.mjs +254 -262
  417. package/dist/services/document-service/components.mjs.map +1 -1
  418. package/dist/services/document-service/draft-and-publish.d.ts +1 -1
  419. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  420. package/dist/services/document-service/draft-and-publish.js +94 -54
  421. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  422. package/dist/services/document-service/draft-and-publish.mjs +87 -54
  423. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  424. package/dist/services/document-service/entries.d.ts +2 -2
  425. package/dist/services/document-service/entries.d.ts.map +1 -1
  426. package/dist/services/document-service/entries.js +109 -92
  427. package/dist/services/document-service/entries.js.map +1 -1
  428. package/dist/services/document-service/entries.mjs +108 -93
  429. package/dist/services/document-service/entries.mjs.map +1 -1
  430. package/dist/services/document-service/events.d.ts +1 -1
  431. package/dist/services/document-service/events.d.ts.map +1 -1
  432. package/dist/services/document-service/events.js +52 -40
  433. package/dist/services/document-service/events.js.map +1 -1
  434. package/dist/services/document-service/events.mjs +51 -41
  435. package/dist/services/document-service/events.mjs.map +1 -1
  436. package/dist/services/document-service/index.d.ts +2 -1
  437. package/dist/services/document-service/index.d.ts.map +1 -1
  438. package/dist/services/document-service/index.js +53 -32
  439. package/dist/services/document-service/index.js.map +1 -1
  440. package/dist/services/document-service/index.mjs +52 -33
  441. package/dist/services/document-service/index.mjs.map +1 -1
  442. package/dist/services/document-service/internationalization.js +66 -50
  443. package/dist/services/document-service/internationalization.js.map +1 -1
  444. package/dist/services/document-service/internationalization.mjs +61 -50
  445. package/dist/services/document-service/internationalization.mjs.map +1 -1
  446. package/dist/services/document-service/middlewares/errors.js +23 -19
  447. package/dist/services/document-service/middlewares/errors.js.map +1 -1
  448. package/dist/services/document-service/middlewares/errors.mjs +22 -20
  449. package/dist/services/document-service/middlewares/errors.mjs.map +1 -1
  450. package/dist/services/document-service/middlewares/middleware-manager.js +46 -44
  451. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -1
  452. package/dist/services/document-service/middlewares/middleware-manager.mjs +45 -45
  453. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -1
  454. package/dist/services/document-service/params.js +11 -5
  455. package/dist/services/document-service/params.js.map +1 -1
  456. package/dist/services/document-service/params.mjs +10 -6
  457. package/dist/services/document-service/params.mjs.map +1 -1
  458. package/dist/services/document-service/repository.d.ts.map +1 -1
  459. package/dist/services/document-service/repository.js +355 -269
  460. package/dist/services/document-service/repository.js.map +1 -1
  461. package/dist/services/document-service/repository.mjs +354 -270
  462. package/dist/services/document-service/repository.mjs.map +1 -1
  463. package/dist/services/document-service/transform/data.js +22 -12
  464. package/dist/services/document-service/transform/data.js.map +1 -1
  465. package/dist/services/document-service/transform/data.mjs +21 -13
  466. package/dist/services/document-service/transform/data.mjs.map +1 -1
  467. package/dist/services/document-service/transform/fields.js +26 -17
  468. package/dist/services/document-service/transform/fields.js.map +1 -1
  469. package/dist/services/document-service/transform/fields.mjs +25 -18
  470. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  471. package/dist/services/document-service/transform/id-map.d.ts +1 -1
  472. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  473. package/dist/services/document-service/transform/id-map.js +116 -69
  474. package/dist/services/document-service/transform/id-map.js.map +1 -1
  475. package/dist/services/document-service/transform/id-map.mjs +115 -70
  476. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  477. package/dist/services/document-service/transform/id-transform.d.ts +1 -1
  478. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  479. package/dist/services/document-service/transform/id-transform.js +38 -30
  480. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  481. package/dist/services/document-service/transform/id-transform.mjs +36 -30
  482. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  483. package/dist/services/document-service/transform/populate.js +23 -18
  484. package/dist/services/document-service/transform/populate.js.map +1 -1
  485. package/dist/services/document-service/transform/populate.mjs +22 -19
  486. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  487. package/dist/services/document-service/transform/query.js +11 -6
  488. package/dist/services/document-service/transform/query.js.map +1 -1
  489. package/dist/services/document-service/transform/query.mjs +10 -7
  490. package/dist/services/document-service/transform/query.mjs.map +1 -1
  491. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +1 -1
  492. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  493. package/dist/services/document-service/transform/relations/extract/data-ids.js +71 -48
  494. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  495. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +70 -49
  496. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  497. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  498. package/dist/services/document-service/transform/relations/transform/data-ids.js +97 -63
  499. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  500. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +96 -64
  501. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  502. package/dist/services/document-service/transform/relations/transform/default-locale.js +47 -29
  503. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -1
  504. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +46 -30
  505. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -1
  506. package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
  507. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  508. package/dist/services/document-service/transform/relations/utils/dp.js +52 -26
  509. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -1
  510. package/dist/services/document-service/transform/relations/utils/dp.mjs +51 -27
  511. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -1
  512. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +1 -1
  513. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  514. package/dist/services/document-service/transform/relations/utils/i18n.js +20 -18
  515. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  516. package/dist/services/document-service/transform/relations/utils/i18n.mjs +19 -21
  517. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  518. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -1
  519. package/dist/services/document-service/transform/relations/utils/map-relation.js +118 -79
  520. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -1
  521. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +115 -79
  522. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -1
  523. package/dist/services/document-service/utils/bidirectional-relations.d.ts +95 -0
  524. package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -0
  525. package/dist/services/document-service/utils/bidirectional-relations.js +148 -0
  526. package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -0
  527. package/dist/services/document-service/utils/bidirectional-relations.mjs +145 -0
  528. package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -0
  529. package/dist/services/document-service/utils/populate.d.ts +1 -1
  530. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  531. package/dist/services/document-service/utils/populate.js +67 -37
  532. package/dist/services/document-service/utils/populate.js.map +1 -1
  533. package/dist/services/document-service/utils/populate.mjs +66 -38
  534. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  535. package/dist/services/document-service/utils/unidirectional-relations.d.ts +36 -0
  536. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -0
  537. package/dist/services/document-service/utils/unidirectional-relations.js +116 -0
  538. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -0
  539. package/dist/services/document-service/utils/unidirectional-relations.mjs +113 -0
  540. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -0
  541. package/dist/services/entity-service/index.js +230 -161
  542. package/dist/services/entity-service/index.js.map +1 -1
  543. package/dist/services/entity-service/index.mjs +229 -160
  544. package/dist/services/entity-service/index.mjs.map +1 -1
  545. package/dist/services/entity-validator/blocks-validator.d.ts +1 -2
  546. package/dist/services/entity-validator/blocks-validator.d.ts.map +1 -1
  547. package/dist/services/entity-validator/blocks-validator.js +137 -104
  548. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  549. package/dist/services/entity-validator/blocks-validator.mjs +135 -105
  550. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  551. package/dist/services/entity-validator/index.d.ts +15 -1
  552. package/dist/services/entity-validator/index.d.ts.map +1 -1
  553. package/dist/services/entity-validator/index.js +362 -311
  554. package/dist/services/entity-validator/index.js.map +1 -1
  555. package/dist/services/entity-validator/index.mjs +358 -308
  556. package/dist/services/entity-validator/index.mjs.map +1 -1
  557. package/dist/services/entity-validator/validators.d.ts +36 -25
  558. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  559. package/dist/services/entity-validator/validators.js +283 -110
  560. package/dist/services/entity-validator/validators.js.map +1 -1
  561. package/dist/services/entity-validator/validators.mjs +274 -108
  562. package/dist/services/entity-validator/validators.mjs.map +1 -1
  563. package/dist/services/errors.js +65 -65
  564. package/dist/services/errors.js.map +1 -1
  565. package/dist/services/errors.mjs +64 -66
  566. package/dist/services/errors.mjs.map +1 -1
  567. package/dist/services/event-hub.js +82 -69
  568. package/dist/services/event-hub.js.map +1 -1
  569. package/dist/services/event-hub.mjs +81 -71
  570. package/dist/services/event-hub.mjs.map +1 -1
  571. package/dist/services/features.js +19 -14
  572. package/dist/services/features.js.map +1 -1
  573. package/dist/services/features.mjs +18 -15
  574. package/dist/services/features.mjs.map +1 -1
  575. package/dist/services/fs.js +41 -40
  576. package/dist/services/fs.js.map +1 -1
  577. package/dist/services/fs.mjs +40 -39
  578. package/dist/services/fs.mjs.map +1 -1
  579. package/dist/services/metrics/admin-user-hash.js +13 -11
  580. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  581. package/dist/services/metrics/admin-user-hash.mjs +12 -10
  582. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  583. package/dist/services/metrics/index.js +46 -40
  584. package/dist/services/metrics/index.js.map +1 -1
  585. package/dist/services/metrics/index.mjs +45 -42
  586. package/dist/services/metrics/index.mjs.map +1 -1
  587. package/dist/services/metrics/is-truthy.js +13 -6
  588. package/dist/services/metrics/is-truthy.js.map +1 -1
  589. package/dist/services/metrics/is-truthy.mjs +12 -6
  590. package/dist/services/metrics/is-truthy.mjs.map +1 -1
  591. package/dist/services/metrics/middleware.d.ts.map +1 -1
  592. package/dist/services/metrics/middleware.js +37 -22
  593. package/dist/services/metrics/middleware.js.map +1 -1
  594. package/dist/services/metrics/middleware.mjs +36 -24
  595. package/dist/services/metrics/middleware.mjs.map +1 -1
  596. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  597. package/dist/services/metrics/rate-limiter.js +24 -19
  598. package/dist/services/metrics/rate-limiter.js.map +1 -1
  599. package/dist/services/metrics/rate-limiter.mjs +23 -21
  600. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  601. package/dist/services/metrics/sender.js +78 -69
  602. package/dist/services/metrics/sender.js.map +1 -1
  603. package/dist/services/metrics/sender.mjs +77 -64
  604. package/dist/services/metrics/sender.mjs.map +1 -1
  605. package/dist/services/query-params.js +13 -10
  606. package/dist/services/query-params.js.map +1 -1
  607. package/dist/services/query-params.mjs +12 -12
  608. package/dist/services/query-params.mjs.map +1 -1
  609. package/dist/services/reloader.js +35 -32
  610. package/dist/services/reloader.js.map +1 -1
  611. package/dist/services/reloader.mjs +34 -33
  612. package/dist/services/reloader.mjs.map +1 -1
  613. package/dist/services/request-context.js +11 -8
  614. package/dist/services/request-context.js.map +1 -1
  615. package/dist/services/request-context.mjs +10 -10
  616. package/dist/services/request-context.mjs.map +1 -1
  617. package/dist/services/server/admin-api.js +11 -10
  618. package/dist/services/server/admin-api.js.map +1 -1
  619. package/dist/services/server/admin-api.mjs +10 -11
  620. package/dist/services/server/admin-api.mjs.map +1 -1
  621. package/dist/services/server/api.js +33 -27
  622. package/dist/services/server/api.js.map +1 -1
  623. package/dist/services/server/api.mjs +32 -26
  624. package/dist/services/server/api.mjs.map +1 -1
  625. package/dist/services/server/compose-endpoint.js +116 -105
  626. package/dist/services/server/compose-endpoint.js.map +1 -1
  627. package/dist/services/server/compose-endpoint.mjs +115 -105
  628. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  629. package/dist/services/server/content-api.js +11 -9
  630. package/dist/services/server/content-api.js.map +1 -1
  631. package/dist/services/server/content-api.mjs +10 -10
  632. package/dist/services/server/content-api.mjs.map +1 -1
  633. package/dist/services/server/http-server.js +48 -44
  634. package/dist/services/server/http-server.js.map +1 -1
  635. package/dist/services/server/http-server.mjs +47 -43
  636. package/dist/services/server/http-server.mjs.map +1 -1
  637. package/dist/services/server/index.js +85 -82
  638. package/dist/services/server/index.js.map +1 -1
  639. package/dist/services/server/index.mjs +84 -81
  640. package/dist/services/server/index.mjs.map +1 -1
  641. package/dist/services/server/koa.js +49 -47
  642. package/dist/services/server/koa.js.map +1 -1
  643. package/dist/services/server/koa.mjs +48 -44
  644. package/dist/services/server/koa.mjs.map +1 -1
  645. package/dist/services/server/middleware.js +86 -82
  646. package/dist/services/server/middleware.js.map +1 -1
  647. package/dist/services/server/middleware.mjs +85 -82
  648. package/dist/services/server/middleware.mjs.map +1 -1
  649. package/dist/services/server/policy.js +24 -17
  650. package/dist/services/server/policy.js.map +1 -1
  651. package/dist/services/server/policy.mjs +23 -18
  652. package/dist/services/server/policy.mjs.map +1 -1
  653. package/dist/services/server/register-middlewares.js +68 -61
  654. package/dist/services/server/register-middlewares.js.map +1 -1
  655. package/dist/services/server/register-middlewares.mjs +67 -63
  656. package/dist/services/server/register-middlewares.mjs.map +1 -1
  657. package/dist/services/server/register-routes.js +90 -67
  658. package/dist/services/server/register-routes.js.map +1 -1
  659. package/dist/services/server/register-routes.mjs +89 -67
  660. package/dist/services/server/register-routes.mjs.map +1 -1
  661. package/dist/services/server/routing.js +94 -81
  662. package/dist/services/server/routing.js.map +1 -1
  663. package/dist/services/server/routing.mjs +93 -81
  664. package/dist/services/server/routing.mjs.map +1 -1
  665. package/dist/services/utils/dynamic-zones.js +13 -14
  666. package/dist/services/utils/dynamic-zones.js.map +1 -1
  667. package/dist/services/utils/dynamic-zones.mjs +12 -16
  668. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  669. package/dist/services/webhook-runner.js +124 -122
  670. package/dist/services/webhook-runner.js.map +1 -1
  671. package/dist/services/webhook-runner.mjs +123 -121
  672. package/dist/services/webhook-runner.mjs.map +1 -1
  673. package/dist/services/webhook-store.js +132 -99
  674. package/dist/services/webhook-store.js.map +1 -1
  675. package/dist/services/webhook-store.mjs +131 -101
  676. package/dist/services/webhook-store.mjs.map +1 -1
  677. package/dist/services/worker-queue.js +44 -49
  678. package/dist/services/worker-queue.js.map +1 -1
  679. package/dist/services/worker-queue.mjs +43 -49
  680. package/dist/services/worker-queue.mjs.map +1 -1
  681. package/dist/utils/convert-custom-field-type.js +17 -20
  682. package/dist/utils/convert-custom-field-type.js.map +1 -1
  683. package/dist/utils/convert-custom-field-type.mjs +16 -21
  684. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  685. package/dist/utils/cron.js +64 -30
  686. package/dist/utils/cron.js.map +1 -1
  687. package/dist/utils/cron.mjs +63 -31
  688. package/dist/utils/cron.mjs.map +1 -1
  689. package/dist/utils/fetch.d.ts.map +1 -1
  690. package/dist/utils/fetch.js +24 -17
  691. package/dist/utils/fetch.js.map +1 -1
  692. package/dist/utils/fetch.mjs +23 -18
  693. package/dist/utils/fetch.mjs.map +1 -1
  694. package/dist/utils/filepath-to-prop-path.d.ts +1 -1
  695. package/dist/utils/filepath-to-prop-path.d.ts.map +1 -1
  696. package/dist/utils/filepath-to-prop-path.js +22 -9
  697. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  698. package/dist/utils/filepath-to-prop-path.mjs +20 -7
  699. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  700. package/dist/utils/is-initialized.js +21 -12
  701. package/dist/utils/is-initialized.js.map +1 -1
  702. package/dist/utils/is-initialized.mjs +20 -13
  703. package/dist/utils/is-initialized.mjs.map +1 -1
  704. package/dist/utils/lifecycles.js +6 -5
  705. package/dist/utils/lifecycles.js.map +1 -1
  706. package/dist/utils/lifecycles.mjs +5 -6
  707. package/dist/utils/lifecycles.mjs.map +1 -1
  708. package/dist/utils/load-config-file.js +40 -38
  709. package/dist/utils/load-config-file.js.map +1 -1
  710. package/dist/utils/load-config-file.mjs +39 -36
  711. package/dist/utils/load-config-file.mjs.map +1 -1
  712. package/dist/utils/load-files.js +40 -35
  713. package/dist/utils/load-files.js.map +1 -1
  714. package/dist/utils/load-files.mjs +39 -32
  715. package/dist/utils/load-files.mjs.map +1 -1
  716. package/dist/utils/open-browser.js +8 -8
  717. package/dist/utils/open-browser.js.map +1 -1
  718. package/dist/utils/open-browser.mjs +7 -7
  719. package/dist/utils/open-browser.mjs.map +1 -1
  720. package/dist/utils/resolve-working-dirs.js +23 -10
  721. package/dist/utils/resolve-working-dirs.js.map +1 -1
  722. package/dist/utils/resolve-working-dirs.mjs +22 -9
  723. package/dist/utils/resolve-working-dirs.mjs.map +1 -1
  724. package/dist/utils/signals.js +20 -14
  725. package/dist/utils/signals.js.map +1 -1
  726. package/dist/utils/signals.mjs +19 -15
  727. package/dist/utils/signals.mjs.map +1 -1
  728. package/dist/utils/startup-logger.d.ts.map +1 -1
  729. package/dist/utils/startup-logger.js +107 -78
  730. package/dist/utils/startup-logger.js.map +1 -1
  731. package/dist/utils/startup-logger.mjs +106 -75
  732. package/dist/utils/startup-logger.mjs.map +1 -1
  733. package/dist/utils/transform-content-types-to-models.d.ts +355 -23
  734. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  735. package/dist/utils/transform-content-types-to-models.js +350 -258
  736. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  737. package/dist/utils/transform-content-types-to-models.mjs +349 -266
  738. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  739. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  740. package/dist/utils/update-notifier/index.js +68 -73
  741. package/dist/utils/update-notifier/index.js.map +1 -1
  742. package/dist/utils/update-notifier/index.mjs +67 -67
  743. package/dist/utils/update-notifier/index.mjs.map +1 -1
  744. package/package.json +32 -31
package/dist/Strapi.js CHANGED
@@ -1,387 +1,455 @@
1
- "use strict";
2
- const path = require("path");
3
- const _ = require("lodash");
4
- const _$1 = require("lodash/fp");
5
- const logger = require("@strapi/logger");
6
- const database = require("@strapi/database");
7
- const index = require("./configuration/index.js");
8
- const factories = require("./factories.js");
9
- const openBrowser = require("./utils/open-browser.js");
10
- const isInitialized = require("./utils/is-initialized.js");
11
- const index$2 = require("./ee/index.js");
12
- require("./utils/update-notifier/index.js");
13
- const fetch = require("./utils/fetch.js");
14
- const convertCustomFieldType = require("./utils/convert-custom-field-type.js");
15
- const startupLogger = require("./utils/startup-logger.js");
16
- const transformContentTypesToModels = require("./utils/transform-content-types-to-models.js");
17
- const lifecycles = require("./utils/lifecycles.js");
18
- require("node:path");
19
- const container = require("./container.js");
20
- const fs = require("./services/fs.js");
21
- const eventHub = require("./services/event-hub.js");
22
- const index$5 = require("./services/server/index.js");
23
- const reloader = require("./services/reloader.js");
24
- const index$1 = require("./providers/index.js");
25
- const index$7 = require("./services/entity-service/index.js");
26
- const queryParams = require("./services/query-params.js");
27
- const index$6 = require("./services/entity-validator/index.js");
28
- const requestContext = require("./services/request-context.js");
29
- const index$4 = require("./services/auth/index.js");
30
- const customFields = require("./services/custom-fields.js");
31
- const index$3 = require("./services/content-api/index.js");
32
- const dynamicZones = require("./services/utils/dynamic-zones.js");
33
- const features = require("./services/features.js");
34
- const index$8 = require("./services/document-service/index.js");
35
- const coreStore = require("./services/core-store.js");
36
- const config = require("./services/config.js");
37
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
38
- const path__default = /* @__PURE__ */ _interopDefault(path);
39
- const ___default = /* @__PURE__ */ _interopDefault(_);
1
+ 'use strict';
2
+
3
+ var globalAgent = require('global-agent');
4
+ var path = require('path');
5
+ var _ = require('lodash');
6
+ var fp = require('lodash/fp');
7
+ var logger = require('@strapi/logger');
8
+ var database = require('@strapi/database');
9
+ var tsUtils = require('@strapi/typescript-utils');
10
+ var index$8 = require('./configuration/index.js');
11
+ var factories = require('./factories.js');
12
+ var openBrowser = require('./utils/open-browser.js');
13
+ var isInitialized = require('./utils/is-initialized.js');
14
+ var index = require('./ee/index.js');
15
+ require('package-json');
16
+ require('configstore');
17
+ require('semver');
18
+ require('boxen');
19
+ require('chalk');
20
+ require('@strapi/utils');
21
+ var fetch = require('./utils/fetch.js');
22
+ var convertCustomFieldType = require('./utils/convert-custom-field-type.js');
23
+ var startupLogger = require('./utils/startup-logger.js');
24
+ var transformContentTypesToModels = require('./utils/transform-content-types-to-models.js');
25
+ var lifecycles = require('./utils/lifecycles.js');
26
+ require('node:path');
27
+ var container = require('./container.js');
28
+ var fs = require('./services/fs.js');
29
+ var eventHub = require('./services/event-hub.js');
30
+ var index$3 = require('./services/server/index.js');
31
+ var reloader = require('./services/reloader.js');
32
+ var index$7 = require('./providers/index.js');
33
+ var index$5 = require('./services/entity-service/index.js');
34
+ var queryParams = require('./services/query-params.js');
35
+ var index$4 = require('./services/entity-validator/index.js');
36
+ var requestContext = require('./services/request-context.js');
37
+ var index$2 = require('./services/auth/index.js');
38
+ var customFields = require('./services/custom-fields.js');
39
+ var index$1 = require('./services/content-api/index.js');
40
+ var dynamicZones = require('./services/utils/dynamic-zones.js');
41
+ var features = require('./services/features.js');
42
+ var index$6 = require('./services/document-service/index.js');
43
+ var coreStore = require('./services/core-store.js');
44
+ var config = require('./services/config.js');
45
+
46
+ function _interopNamespaceDefault(e) {
47
+ var n = Object.create(null);
48
+ if (e) {
49
+ Object.keys(e).forEach(function (k) {
50
+ if (k !== 'default') {
51
+ var d = Object.getOwnPropertyDescriptor(e, k);
52
+ Object.defineProperty(n, k, d.get ? d : {
53
+ enumerable: true,
54
+ get: function () { return e[k]; }
55
+ });
56
+ }
57
+ });
58
+ }
59
+ n.default = e;
60
+ return Object.freeze(n);
61
+ }
62
+
63
+ var globalAgent__namespace = /*#__PURE__*/_interopNamespaceDefault(globalAgent);
64
+
40
65
  class Strapi extends container.Container {
41
- app;
42
- isLoaded = false;
43
- internal_config = {};
44
- constructor(opts) {
45
- super();
46
- this.internal_config = index.loadConfiguration(opts);
47
- this.registerInternalServices();
48
- for (const provider of index$1.providers) {
49
- provider.init?.(this);
66
+ get admin() {
67
+ return this.get('admin');
50
68
  }
51
- }
52
- get admin() {
53
- return this.get("admin");
54
- }
55
- get EE() {
56
- return index$2.isEE;
57
- }
58
- get ee() {
59
- return index$2;
60
- }
61
- get dirs() {
62
- return this.config.get("dirs");
63
- }
64
- get reload() {
65
- return this.get("reload");
66
- }
67
- get db() {
68
- return this.get("db");
69
- }
70
- get requestContext() {
71
- return this.get("requestContext");
72
- }
73
- get customFields() {
74
- return this.get("customFields");
75
- }
76
- get entityValidator() {
77
- return this.get("entityValidator");
78
- }
79
- /**
69
+ get EE() {
70
+ return index.isEE;
71
+ }
72
+ get ee() {
73
+ return index;
74
+ }
75
+ get dirs() {
76
+ return this.config.get('dirs');
77
+ }
78
+ get reload() {
79
+ return this.get('reload');
80
+ }
81
+ get db() {
82
+ return this.get('db');
83
+ }
84
+ get requestContext() {
85
+ return this.get('requestContext');
86
+ }
87
+ get customFields() {
88
+ return this.get('customFields');
89
+ }
90
+ get entityValidator() {
91
+ return this.get('entityValidator');
92
+ }
93
+ /**
80
94
  * @deprecated `strapi.entityService` will be removed in the next major version
81
- */
82
- get entityService() {
83
- return this.get("entityService");
84
- }
85
- get documents() {
86
- return this.get("documents");
87
- }
88
- get features() {
89
- return this.get("features");
90
- }
91
- get fetch() {
92
- return this.get("fetch");
93
- }
94
- get cron() {
95
- return this.get("cron");
96
- }
97
- get log() {
98
- return this.get("logger");
99
- }
100
- get startupLogger() {
101
- return this.get("startupLogger");
102
- }
103
- get eventHub() {
104
- return this.get("eventHub");
105
- }
106
- get fs() {
107
- return this.get("fs");
108
- }
109
- get server() {
110
- return this.get("server");
111
- }
112
- get telemetry() {
113
- return this.get("telemetry");
114
- }
115
- get store() {
116
- return this.get("coreStore");
117
- }
118
- get config() {
119
- return this.get("config");
120
- }
121
- get services() {
122
- return this.get("services").getAll();
123
- }
124
- service(uid) {
125
- return this.get("services").get(uid);
126
- }
127
- get controllers() {
128
- return this.get("controllers").getAll();
129
- }
130
- controller(uid) {
131
- return this.get("controllers").get(uid);
132
- }
133
- get contentTypes() {
134
- return this.get("content-types").getAll();
135
- }
136
- contentType(name) {
137
- return this.get("content-types").get(name);
138
- }
139
- get components() {
140
- return this.get("components").getAll();
141
- }
142
- get policies() {
143
- return this.get("policies").getAll();
144
- }
145
- policy(name) {
146
- return this.get("policies").get(name);
147
- }
148
- get middlewares() {
149
- return this.get("middlewares").getAll();
150
- }
151
- middleware(name) {
152
- return this.get("middlewares").get(name);
153
- }
154
- get plugins() {
155
- return this.get("plugins").getAll();
156
- }
157
- plugin(name) {
158
- return this.get("plugins").get(name);
159
- }
160
- get hooks() {
161
- return this.get("hooks").getAll();
162
- }
163
- hook(name) {
164
- return this.get("hooks").get(name);
165
- }
166
- get apis() {
167
- return this.get("apis").getAll();
168
- }
169
- api(name) {
170
- return this.get("apis").get(name);
171
- }
172
- get auth() {
173
- return this.get("auth");
174
- }
175
- get contentAPI() {
176
- return this.get("content-api");
177
- }
178
- get sanitizers() {
179
- return this.get("sanitizers");
180
- }
181
- get validators() {
182
- return this.get("validators");
183
- }
184
- async start() {
185
- try {
186
- if (!this.isLoaded) {
187
- await this.load();
188
- }
189
- await this.listen();
190
- return this;
191
- } catch (error) {
192
- return this.stopWithError(error);
95
+ */ get entityService() {
96
+ return this.get('entityService');
193
97
  }
194
- }
195
- // TODO: split into more providers
196
- registerInternalServices() {
197
- this.add("config", () => config.createConfigProvider(this.internal_config, this)).add("query-params", queryParams(this)).add("content-api", index$3(this)).add("auth", index$4()).add("server", () => index$5.createServer(this)).add("fs", () => fs(this)).add("eventHub", () => eventHub()).add("startupLogger", () => startupLogger.createStartupLogger(this)).add("logger", () => {
198
- return logger.createLogger({
199
- level: "http",
200
- // Strapi defaults to level 'http'
201
- ...this.config.get("logger"),
202
- // DEPRECATED
203
- ...this.config.get("server.logger.config")
204
- });
205
- }).add("fetch", () => fetch.createStrapiFetch(this)).add("features", () => features.createFeaturesService(this)).add("requestContext", requestContext).add("customFields", customFields(this)).add("entityValidator", index$6).add("entityService", () => index$7({ strapi: this, db: this.db })).add("documents", () => index$8.createDocumentService(this)).add(
206
- "db",
207
- () => new database.Database(
208
- ___default.default.merge(this.config.get("database"), {
209
- settings: {
210
- migrations: {
211
- dir: path__default.default.join(this.dirs.app.root, "database/migrations")
212
- }
213
- }
214
- })
215
- )
216
- ).add("reload", () => reloader.createReloader(this));
217
- }
218
- sendStartupTelemetry() {
219
- this.telemetry.send("didStartServer", {
220
- groupProperties: {
221
- database: this.config.get("database.connection.client"),
222
- plugins: Object.keys(this.plugins),
223
- numberOfAllContentTypes: ___default.default.size(this.contentTypes),
224
- // TODO: V5: This event should be renamed numberOfContentTypes in V5 as the name is already taken to describe the number of content types using i18n.
225
- numberOfComponents: ___default.default.size(this.components),
226
- numberOfDynamicZones: dynamicZones(),
227
- numberOfCustomControllers: Object.values(this.controllers).filter(
228
- // TODO: Fix this at the content API loader level to prevent future types issues
229
- (controller) => controller !== void 0 && factories.isCustomController(controller)
230
- ).length,
231
- environment: this.config.environment
232
- // TODO: to add back
233
- // providers: this.config.installedProviders,
234
- }
235
- }).catch(this.log.error);
236
- }
237
- async openAdmin({ isInitialized: isInitialized2 }) {
238
- const shouldOpenAdmin = this.config.get("environment") === "development" && this.config.get("admin.autoOpen", true) !== false;
239
- if (shouldOpenAdmin && !isInitialized2) {
240
- try {
241
- await openBrowser.openBrowser(this.config);
242
- this.telemetry.send("didOpenTab");
243
- } catch (e) {
244
- this.telemetry.send("didNotOpenTab");
245
- }
98
+ get documents() {
99
+ return this.get('documents');
246
100
  }
247
- }
248
- async postListen() {
249
- const isInitialized$1 = await isInitialized.isInitialized(this);
250
- this.startupLogger.logStartupMessage({ isInitialized: isInitialized$1 });
251
- this.log.info("Strapi started successfully");
252
- this.sendStartupTelemetry();
253
- this.openAdmin({ isInitialized: isInitialized$1 });
254
- }
255
- /**
256
- * Add behaviors to the server
257
- */
258
- async listen() {
259
- return new Promise((resolve, reject) => {
260
- const onListen = async () => {
101
+ get features() {
102
+ return this.get('features');
103
+ }
104
+ get fetch() {
105
+ return this.get('fetch');
106
+ }
107
+ get cron() {
108
+ return this.get('cron');
109
+ }
110
+ get log() {
111
+ return this.get('logger');
112
+ }
113
+ get startupLogger() {
114
+ return this.get('startupLogger');
115
+ }
116
+ get eventHub() {
117
+ return this.get('eventHub');
118
+ }
119
+ get fs() {
120
+ return this.get('fs');
121
+ }
122
+ get server() {
123
+ return this.get('server');
124
+ }
125
+ get telemetry() {
126
+ return this.get('telemetry');
127
+ }
128
+ get store() {
129
+ return this.get('coreStore');
130
+ }
131
+ get config() {
132
+ return this.get('config');
133
+ }
134
+ get services() {
135
+ return this.get('services').getAll();
136
+ }
137
+ service(uid) {
138
+ return this.get('services').get(uid);
139
+ }
140
+ get controllers() {
141
+ return this.get('controllers').getAll();
142
+ }
143
+ controller(uid) {
144
+ return this.get('controllers').get(uid);
145
+ }
146
+ get contentTypes() {
147
+ return this.get('content-types').getAll();
148
+ }
149
+ contentType(name) {
150
+ return this.get('content-types').get(name);
151
+ }
152
+ get components() {
153
+ return this.get('components').getAll();
154
+ }
155
+ get policies() {
156
+ return this.get('policies').getAll();
157
+ }
158
+ policy(name) {
159
+ return this.get('policies').get(name);
160
+ }
161
+ get middlewares() {
162
+ return this.get('middlewares').getAll();
163
+ }
164
+ middleware(name) {
165
+ return this.get('middlewares').get(name);
166
+ }
167
+ get plugins() {
168
+ return this.get('plugins').getAll();
169
+ }
170
+ plugin(name) {
171
+ return this.get('plugins').get(name);
172
+ }
173
+ get hooks() {
174
+ return this.get('hooks').getAll();
175
+ }
176
+ hook(name) {
177
+ return this.get('hooks').get(name);
178
+ }
179
+ get apis() {
180
+ return this.get('apis').getAll();
181
+ }
182
+ api(name) {
183
+ return this.get('apis').get(name);
184
+ }
185
+ get auth() {
186
+ return this.get('auth');
187
+ }
188
+ get contentAPI() {
189
+ return this.get('content-api');
190
+ }
191
+ get sanitizers() {
192
+ return this.get('sanitizers');
193
+ }
194
+ get validators() {
195
+ return this.get('validators');
196
+ }
197
+ async start() {
261
198
  try {
262
- await this.postListen();
263
- resolve();
199
+ if (!this.isLoaded) {
200
+ await this.load();
201
+ }
202
+ await this.listen();
203
+ return this;
264
204
  } catch (error) {
265
- reject(error);
205
+ return this.stopWithError(error);
266
206
  }
267
- };
268
- const listenSocket = this.config.get("server.socket");
269
- if (listenSocket) {
270
- this.server.listen(listenSocket, onListen);
271
- } else {
272
- const { host, port } = this.config.get("server");
273
- this.server.listen(port, host, onListen);
274
- }
275
- });
276
- }
277
- stopWithError(err, customMessage) {
278
- this.log.debug(`⛔️ Server wasn't able to start properly.`);
279
- if (customMessage) {
280
- this.log.error(customMessage);
281
207
  }
282
- this.log.error(err);
283
- return this.stop();
284
- }
285
- stop(exitCode = 1) {
286
- this.destroy();
287
- if (this.config.get("autoReload")) {
288
- process.send?.("stop");
208
+ // TODO: split into more providers
209
+ registerInternalServices() {
210
+ const config$1 = config.createConfigProvider(this.internal_config, this);
211
+ const logger$1 = logger.createLogger({
212
+ level: 'http',
213
+ ...config$1.get('logger'),
214
+ ...config$1.get('server.logger.config')
215
+ });
216
+ // Instantiate the Strapi container
217
+ this.add('config', ()=>config$1).add('query-params', queryParams(this)).add('content-api', index$1(this)).add('auth', index$2()).add('server', ()=>index$3.createServer(this)).add('fs', ()=>fs(this)).add('eventHub', ()=>eventHub()).add('startupLogger', ()=>startupLogger.createStartupLogger(this)).add('logger', ()=>logger$1).add('fetch', ()=>fetch.createStrapiFetch(this)).add('features', ()=>features.createFeaturesService(this)).add('requestContext', requestContext).add('customFields', customFields(this)).add('entityValidator', index$4).add('entityService', ()=>index$5({
218
+ strapi: this,
219
+ db: this.db
220
+ })).add('documents', ()=>index$6.createDocumentService(this)).add('db', ()=>{
221
+ const tsDir = tsUtils.resolveOutDirSync(this.dirs.app.root);
222
+ const tsMigrationsEnabled = this.config.get('database.settings.useTypescriptMigrations') === true && tsDir;
223
+ const projectDir = tsMigrationsEnabled ? tsDir : this.dirs.app.root;
224
+ return new database.Database(_.merge(this.config.get('database'), {
225
+ logger: logger$1,
226
+ settings: {
227
+ migrations: {
228
+ dir: path.join(projectDir, 'database/migrations')
229
+ }
230
+ }
231
+ }));
232
+ }).add('reload', ()=>reloader.createReloader(this));
289
233
  }
290
- process.exit(exitCode);
291
- }
292
- async load() {
293
- await this.register();
294
- await this.bootstrap();
295
- this.isLoaded = true;
296
- return this;
297
- }
298
- async register() {
299
- this.ee.init(this.dirs.app.root, this.log);
300
- for (const provider of index$1.providers) {
301
- await provider.register?.(this);
302
- }
303
- await this.runLifecyclesFunctions(lifecycles.LIFECYCLES.REGISTER);
304
- convertCustomFieldType.convertCustomFieldType(this);
305
- return this;
306
- }
307
- async bootstrap() {
308
- const models = [
309
- ...transformContentTypesToModels.transformContentTypesToModels(
310
- [...Object.values(this.contentTypes), ...Object.values(this.components)],
311
- this.db.metadata.identifiers
312
- ),
313
- ...this.get("models").get()
314
- ];
315
- await this.db.init({ models });
316
- let oldContentTypes;
317
- if (await this.db.getSchemaConnection().hasTable(coreStore.coreStoreModel.tableName)) {
318
- oldContentTypes = await this.store.get({
319
- type: "strapi",
320
- name: "content_types",
321
- key: "schema"
322
- });
323
- }
324
- await this.hook("strapi::content-types.beforeSync").call({
325
- oldContentTypes,
326
- contentTypes: this.contentTypes
327
- });
328
- await this.db.schema.sync();
329
- if (this.EE) {
330
- await index$2.checkLicense({ strapi: this });
234
+ sendStartupTelemetry() {
235
+ // Emit started event.
236
+ // do not await to avoid slower startup
237
+ // This event is anonymous
238
+ this.telemetry.send('didStartServer', {
239
+ groupProperties: {
240
+ database: this.config.get('database.connection.client'),
241
+ plugins: Object.keys(this.plugins),
242
+ numberOfAllContentTypes: _.size(this.contentTypes),
243
+ numberOfComponents: _.size(this.components),
244
+ numberOfDynamicZones: dynamicZones(),
245
+ numberOfCustomControllers: Object.values(this.controllers).filter(// TODO: Fix this at the content API loader level to prevent future types issues
246
+ (controller)=>controller !== undefined && factories.isCustomController(controller)).length,
247
+ environment: this.config.environment
248
+ }
249
+ }).catch(this.log.error);
331
250
  }
332
- await this.hook("strapi::content-types.afterSync").call({
333
- oldContentTypes,
334
- contentTypes: this.contentTypes
335
- });
336
- await this.store.set({
337
- type: "strapi",
338
- name: "content_types",
339
- key: "schema",
340
- value: this.contentTypes
341
- });
342
- await this.server.initMiddlewares();
343
- this.server.initRouting();
344
- await this.contentAPI.permissions.registerActions();
345
- await this.runLifecyclesFunctions(lifecycles.LIFECYCLES.BOOTSTRAP);
346
- for (const provider of index$1.providers) {
347
- await provider.bootstrap?.(this);
348
- }
349
- return this;
350
- }
351
- async destroy() {
352
- this.log.info("Shutting down Strapi");
353
- await this.runLifecyclesFunctions(lifecycles.LIFECYCLES.DESTROY);
354
- for (const provider of index$1.providers) {
355
- await provider.destroy?.(this);
356
- }
357
- await this.server.destroy();
358
- this.eventHub.destroy();
359
- await this.db?.destroy();
360
- process.removeAllListeners();
361
- delete global.strapi;
362
- this.log.info("Strapi has been shut down");
363
- }
364
- async runLifecyclesFunctions(lifecycleName) {
365
- await this.get("modules")[lifecycleName]();
366
- const userLifecycleFunction = this.app && this.app[lifecycleName];
367
- if (_$1.isFunction(userLifecycleFunction)) {
368
- await userLifecycleFunction({ strapi: this });
251
+ async openAdmin({ isInitialized }) {
252
+ const shouldOpenAdmin = this.config.get('environment') === 'development' && this.config.get('admin.autoOpen', true) !== false;
253
+ if (shouldOpenAdmin && !isInitialized) {
254
+ try {
255
+ await openBrowser.openBrowser(this.config);
256
+ this.telemetry.send('didOpenTab');
257
+ } catch (e) {
258
+ this.telemetry.send('didNotOpenTab');
259
+ }
260
+ }
369
261
  }
370
- }
371
- getModel(uid) {
372
- if (uid in this.contentTypes) {
373
- return this.contentTypes[uid];
262
+ async postListen() {
263
+ const isInitialized$1 = await isInitialized.isInitialized(this);
264
+ this.startupLogger.logStartupMessage({
265
+ isInitialized: isInitialized$1
266
+ });
267
+ this.log.info('Strapi started successfully');
268
+ this.sendStartupTelemetry();
269
+ this.openAdmin({
270
+ isInitialized: isInitialized$1
271
+ });
374
272
  }
375
- if (uid in this.components) {
376
- return this.components[uid];
273
+ /**
274
+ * Add behaviors to the server
275
+ */ async listen() {
276
+ return new Promise((resolve, reject)=>{
277
+ const onListen = async ()=>{
278
+ try {
279
+ await this.postListen();
280
+ resolve();
281
+ } catch (error) {
282
+ reject(error);
283
+ }
284
+ };
285
+ const listenSocket = this.config.get('server.socket');
286
+ if (listenSocket) {
287
+ this.server.listen(listenSocket, onListen);
288
+ } else {
289
+ const { host, port } = this.config.get('server');
290
+ this.server.listen(port, host, onListen);
291
+ }
292
+ });
377
293
  }
378
- }
379
- /**
294
+ stopWithError(err, customMessage) {
295
+ this.log.debug(`⛔️ Server wasn't able to start properly.`);
296
+ if (customMessage) {
297
+ this.log.error(customMessage);
298
+ }
299
+ this.log.error(err);
300
+ return this.stop();
301
+ }
302
+ stop(exitCode = 1) {
303
+ this.destroy();
304
+ if (this.config.get('autoReload')) {
305
+ process.send?.('stop');
306
+ }
307
+ // Kill process
308
+ process.exit(exitCode);
309
+ }
310
+ async load() {
311
+ await this.register();
312
+ await this.bootstrap();
313
+ this.isLoaded = true;
314
+ return this;
315
+ }
316
+ async register() {
317
+ // @ts-expect-error: init is internal
318
+ this.ee.init(this.dirs.app.root, this.log);
319
+ for (const provider of index$7.providers){
320
+ await provider.register?.(this);
321
+ }
322
+ await this.runPluginsLifecycles(lifecycles.LIFECYCLES.REGISTER);
323
+ await this.runUserLifecycles(lifecycles.LIFECYCLES.REGISTER);
324
+ // NOTE: Swap type customField for underlying data type
325
+ convertCustomFieldType.convertCustomFieldType(this);
326
+ return this;
327
+ }
328
+ async bootstrap() {
329
+ this.configureGlobalProxy();
330
+ const models = [
331
+ ...transformContentTypesToModels.transformContentTypesToModels([
332
+ ...Object.values(this.contentTypes),
333
+ ...Object.values(this.components)
334
+ ], this.db.metadata.identifiers),
335
+ ...this.get('models').get()
336
+ ];
337
+ await this.db.init({
338
+ models
339
+ });
340
+ let oldContentTypes;
341
+ if (await this.db.getSchemaConnection().hasTable(coreStore.coreStoreModel.tableName)) {
342
+ oldContentTypes = await this.store.get({
343
+ type: 'strapi',
344
+ name: 'content_types',
345
+ key: 'schema'
346
+ });
347
+ }
348
+ await this.hook('strapi::content-types.beforeSync').call({
349
+ oldContentTypes,
350
+ contentTypes: this.contentTypes
351
+ });
352
+ const status = await this.db.schema.sync();
353
+ // if schemas have changed, run repairs
354
+ if (status === 'CHANGED') {
355
+ await this.db.repair.removeOrphanMorphType({
356
+ pivot: 'component_type'
357
+ });
358
+ }
359
+ if (this.EE) {
360
+ await index.checkLicense({
361
+ strapi: this
362
+ });
363
+ }
364
+ await this.hook('strapi::content-types.afterSync').call({
365
+ oldContentTypes,
366
+ contentTypes: this.contentTypes
367
+ });
368
+ await this.store.set({
369
+ type: 'strapi',
370
+ name: 'content_types',
371
+ key: 'schema',
372
+ value: this.contentTypes
373
+ });
374
+ await this.server.initMiddlewares();
375
+ this.server.initRouting();
376
+ await this.contentAPI.permissions.registerActions();
377
+ await this.runPluginsLifecycles(lifecycles.LIFECYCLES.BOOTSTRAP);
378
+ for (const provider of index$7.providers){
379
+ await provider.bootstrap?.(this);
380
+ }
381
+ await this.runUserLifecycles(lifecycles.LIFECYCLES.BOOTSTRAP);
382
+ return this;
383
+ }
384
+ configureGlobalProxy() {
385
+ const globalProxy = this.config.get('server.proxy.global');
386
+ const httpProxy = this.config.get('server.proxy.http') || globalProxy;
387
+ const httpsProxy = this.config.get('server.proxy.https') || globalProxy;
388
+ if (!httpProxy && !httpsProxy) {
389
+ return;
390
+ }
391
+ globalAgent__namespace.bootstrap();
392
+ if (httpProxy) {
393
+ this.log.info(`Using HTTP proxy: ${httpProxy}`);
394
+ global.GLOBAL_AGENT.HTTP_PROXY = httpProxy;
395
+ }
396
+ if (httpsProxy) {
397
+ this.log.info(`Using HTTPS proxy: ${httpsProxy}`);
398
+ global.GLOBAL_AGENT.HTTPS_PROXY = httpsProxy;
399
+ }
400
+ }
401
+ async destroy() {
402
+ this.log.info('Shutting down Strapi');
403
+ await this.runPluginsLifecycles(lifecycles.LIFECYCLES.DESTROY);
404
+ for (const provider of index$7.providers){
405
+ await provider.destroy?.(this);
406
+ }
407
+ await this.runUserLifecycles(lifecycles.LIFECYCLES.DESTROY);
408
+ await this.server.destroy();
409
+ this.eventHub.destroy();
410
+ await this.db?.destroy();
411
+ process.removeAllListeners();
412
+ // @ts-expect-error: Allow clean delete of global.strapi to allow re-instanciation
413
+ delete global.strapi;
414
+ this.log.info('Strapi has been shut down');
415
+ }
416
+ async runPluginsLifecycles(lifecycleName) {
417
+ // plugins
418
+ await this.get('modules')[lifecycleName]();
419
+ }
420
+ async runUserLifecycles(lifecycleName) {
421
+ // user
422
+ const userLifecycleFunction = this.app && this.app[lifecycleName];
423
+ if (fp.isFunction(userLifecycleFunction)) {
424
+ await userLifecycleFunction({
425
+ strapi: this
426
+ });
427
+ }
428
+ }
429
+ getModel(uid) {
430
+ if (uid in this.contentTypes) {
431
+ return this.contentTypes[uid];
432
+ }
433
+ if (uid in this.components) {
434
+ return this.components[uid];
435
+ }
436
+ }
437
+ /**
380
438
  * @deprecated Use `strapi.db.query` instead
381
- */
382
- query(uid) {
383
- return this.db.query(uid);
384
- }
439
+ */ query(uid) {
440
+ return this.db.query(uid);
441
+ }
442
+ constructor(opts){
443
+ super();
444
+ this.isLoaded = false;
445
+ this.internal_config = {};
446
+ this.internal_config = index$8.loadConfiguration(opts);
447
+ this.registerInternalServices();
448
+ for (const provider of index$7.providers){
449
+ provider.init?.(this);
450
+ }
451
+ }
385
452
  }
453
+
386
454
  module.exports = Strapi;
387
455
  //# sourceMappingURL=Strapi.js.map