@strapi/core 0.0.0-experimental.020096d91bef5bab5a6c32b4216da5aeb9383d33 → 0.0.0-experimental.145e7d7ddefd1aef71aaf3d9bb86440d013035bf

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 (794) 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 +198 -211
  5. package/dist/Strapi.js.map +1 -1
  6. package/dist/Strapi.mjs +165 -201
  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 +5 -5
  79. package/dist/domain/content-type/index.js.map +1 -1
  80. package/dist/domain/content-type/index.mjs +1 -1
  81. package/dist/domain/content-type/index.mjs.map +1 -1
  82. package/dist/domain/module/index.d.ts +24 -23
  83. package/dist/domain/module/index.d.ts.map +1 -1
  84. package/dist/domain/module/index.js +2 -1
  85. package/dist/domain/module/index.js.map +1 -1
  86. package/dist/domain/module/index.mjs +3 -2
  87. package/dist/domain/module/index.mjs.map +1 -1
  88. package/dist/ee/index.d.ts +4 -2
  89. package/dist/ee/index.d.ts.map +1 -1
  90. package/dist/ee/index.js +3 -3
  91. package/dist/ee/index.js.map +1 -1
  92. package/dist/ee/index.mjs.map +1 -1
  93. package/dist/ee/license.d.ts +2 -2
  94. package/dist/ee/license.d.ts.map +1 -1
  95. package/dist/ee/license.js +2 -1
  96. package/dist/ee/license.js.map +1 -1
  97. package/dist/ee/license.mjs +2 -1
  98. package/dist/ee/license.mjs.map +1 -1
  99. package/dist/factories.d.ts +10 -10
  100. package/dist/factories.d.ts.map +1 -1
  101. package/dist/factories.js +10 -6
  102. package/dist/factories.js.map +1 -1
  103. package/dist/factories.mjs +6 -2
  104. package/dist/factories.mjs.map +1 -1
  105. package/dist/index.d.ts +18 -2
  106. package/dist/index.d.ts.map +1 -1
  107. package/dist/index.js +25 -1
  108. package/dist/index.js.map +1 -1
  109. package/dist/index.mjs +27 -3
  110. package/dist/index.mjs.map +1 -1
  111. package/dist/loaders/admin.d.ts +2 -2
  112. package/dist/loaders/admin.d.ts.map +1 -1
  113. package/dist/loaders/admin.js +0 -1
  114. package/dist/loaders/admin.js.map +1 -1
  115. package/dist/loaders/admin.mjs +0 -1
  116. package/dist/loaders/admin.mjs.map +1 -1
  117. package/dist/loaders/apis.d.ts +2 -2
  118. package/dist/loaders/apis.d.ts.map +1 -1
  119. package/dist/loaders/apis.js +12 -12
  120. package/dist/loaders/apis.js.map +1 -1
  121. package/dist/loaders/apis.mjs +10 -10
  122. package/dist/loaders/apis.mjs.map +1 -1
  123. package/dist/loaders/components.d.ts +2 -2
  124. package/dist/loaders/components.d.ts.map +1 -1
  125. package/dist/loaders/components.js.map +1 -1
  126. package/dist/loaders/components.mjs.map +1 -1
  127. package/dist/loaders/index.d.ts +2 -2
  128. package/dist/loaders/index.d.ts.map +1 -1
  129. package/dist/loaders/index.js +0 -2
  130. package/dist/loaders/index.js.map +1 -1
  131. package/dist/loaders/index.mjs +0 -2
  132. package/dist/loaders/index.mjs.map +1 -1
  133. package/dist/loaders/middlewares.d.ts +2 -2
  134. package/dist/loaders/middlewares.d.ts.map +1 -1
  135. package/dist/loaders/middlewares.js.map +1 -1
  136. package/dist/loaders/middlewares.mjs.map +1 -1
  137. package/dist/loaders/plugins/get-enabled-plugins.d.ts +2 -2
  138. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  139. package/dist/loaders/plugins/get-enabled-plugins.js +41 -14
  140. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  141. package/dist/loaders/plugins/get-enabled-plugins.mjs +11 -6
  142. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  143. package/dist/loaders/plugins/get-user-plugins-config.js +2 -2
  144. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  145. package/dist/loaders/plugins/index.d.ts +2 -2
  146. package/dist/loaders/plugins/index.d.ts.map +1 -1
  147. package/dist/loaders/plugins/index.js +6 -6
  148. package/dist/loaders/plugins/index.js.map +1 -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 +30 -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 +50 -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 +50 -0
  241. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -0
  242. package/dist/migrations/draft-publish.d.ts +17 -0
  243. package/dist/migrations/draft-publish.d.ts.map +1 -0
  244. package/dist/migrations/draft-publish.js +42 -0
  245. package/dist/migrations/draft-publish.js.map +1 -0
  246. package/dist/migrations/draft-publish.mjs +42 -0
  247. package/dist/migrations/draft-publish.mjs.map +1 -0
  248. package/dist/providers/admin.d.ts +3 -0
  249. package/dist/providers/admin.d.ts.map +1 -0
  250. package/dist/providers/admin.js +20 -0
  251. package/dist/providers/admin.js.map +1 -0
  252. package/dist/providers/admin.mjs +21 -0
  253. package/dist/providers/admin.mjs.map +1 -0
  254. package/dist/providers/coreStore.d.ts +3 -0
  255. package/dist/providers/coreStore.d.ts.map +1 -0
  256. package/dist/providers/coreStore.js +11 -0
  257. package/dist/providers/coreStore.js.map +1 -0
  258. package/dist/providers/coreStore.mjs +12 -0
  259. package/dist/providers/coreStore.mjs.map +1 -0
  260. package/dist/providers/cron.d.ts +3 -0
  261. package/dist/providers/cron.d.ts.map +1 -0
  262. package/dist/providers/cron.js +20 -0
  263. package/dist/providers/cron.js.map +1 -0
  264. package/dist/providers/cron.mjs +21 -0
  265. package/dist/providers/cron.mjs.map +1 -0
  266. package/dist/providers/index.d.ts +3 -0
  267. package/dist/providers/index.d.ts.map +1 -0
  268. package/dist/providers/index.js +11 -0
  269. package/dist/providers/index.js.map +1 -0
  270. package/dist/providers/index.mjs +11 -0
  271. package/dist/providers/index.mjs.map +1 -0
  272. package/dist/providers/provider.d.ts +9 -0
  273. package/dist/providers/provider.d.ts.map +1 -0
  274. package/dist/providers/provider.js +5 -0
  275. package/dist/providers/provider.js.map +1 -0
  276. package/dist/providers/provider.mjs +5 -0
  277. package/dist/providers/provider.mjs.map +1 -0
  278. package/dist/providers/registries.d.ts +3 -0
  279. package/dist/providers/registries.d.ts.map +1 -0
  280. package/dist/providers/registries.js +35 -0
  281. package/dist/providers/registries.js.map +1 -0
  282. package/dist/providers/registries.mjs +36 -0
  283. package/dist/providers/registries.mjs.map +1 -0
  284. package/dist/providers/telemetry.d.ts +3 -0
  285. package/dist/providers/telemetry.d.ts.map +1 -0
  286. package/dist/providers/telemetry.js +19 -0
  287. package/dist/providers/telemetry.js.map +1 -0
  288. package/dist/providers/telemetry.mjs +20 -0
  289. package/dist/providers/telemetry.mjs.map +1 -0
  290. package/dist/providers/webhooks.d.ts +3 -0
  291. package/dist/providers/webhooks.d.ts.map +1 -0
  292. package/dist/providers/webhooks.js +30 -0
  293. package/dist/providers/webhooks.js.map +1 -0
  294. package/dist/providers/webhooks.mjs +31 -0
  295. package/dist/providers/webhooks.mjs.map +1 -0
  296. package/dist/registries/apis.d.ts +2 -2
  297. package/dist/registries/apis.d.ts.map +1 -1
  298. package/dist/registries/apis.js +2 -2
  299. package/dist/registries/apis.js.map +1 -1
  300. package/dist/registries/apis.mjs.map +1 -1
  301. package/dist/registries/components.d.ts +6 -6
  302. package/dist/registries/components.d.ts.map +1 -1
  303. package/dist/registries/components.js +2 -2
  304. package/dist/registries/components.js.map +1 -1
  305. package/dist/registries/components.mjs.map +1 -1
  306. package/dist/registries/content-types.d.ts +5 -5
  307. package/dist/registries/content-types.d.ts.map +1 -1
  308. package/dist/registries/content-types.js +3 -3
  309. package/dist/registries/content-types.js.map +1 -1
  310. package/dist/registries/content-types.mjs.map +1 -1
  311. package/dist/registries/controllers.d.ts +10 -10
  312. package/dist/registries/controllers.d.ts.map +1 -1
  313. package/dist/registries/controllers.js +3 -3
  314. package/dist/registries/controllers.js.map +1 -1
  315. package/dist/registries/controllers.mjs.map +1 -1
  316. package/dist/registries/custom-fields.d.ts +3 -3
  317. package/dist/registries/custom-fields.d.ts.map +1 -1
  318. package/dist/registries/custom-fields.js +4 -4
  319. package/dist/registries/custom-fields.js.map +1 -1
  320. package/dist/registries/custom-fields.mjs.map +1 -1
  321. package/dist/registries/hooks.js +2 -2
  322. package/dist/registries/hooks.js.map +1 -1
  323. package/dist/registries/index.d.ts +0 -1
  324. package/dist/registries/index.d.ts.map +1 -1
  325. package/dist/registries/middlewares.d.ts +6 -6
  326. package/dist/registries/middlewares.d.ts.map +1 -1
  327. package/dist/registries/middlewares.js +3 -3
  328. package/dist/registries/middlewares.js.map +1 -1
  329. package/dist/registries/middlewares.mjs.map +1 -1
  330. package/dist/registries/modules.d.ts +2 -2
  331. package/dist/registries/modules.d.ts.map +1 -1
  332. package/dist/registries/modules.js +3 -3
  333. package/dist/registries/modules.js.map +1 -1
  334. package/dist/registries/modules.mjs.map +1 -1
  335. package/dist/registries/plugins.d.ts +5 -5
  336. package/dist/registries/plugins.d.ts.map +1 -1
  337. package/dist/registries/plugins.js +2 -2
  338. package/dist/registries/plugins.js.map +1 -1
  339. package/dist/registries/plugins.mjs.map +1 -1
  340. package/dist/registries/policies.d.ts +22 -10
  341. package/dist/registries/policies.d.ts.map +1 -1
  342. package/dist/registries/policies.js +66 -20
  343. package/dist/registries/policies.js.map +1 -1
  344. package/dist/registries/policies.mjs +65 -19
  345. package/dist/registries/policies.mjs.map +1 -1
  346. package/dist/registries/services.d.ts +8 -8
  347. package/dist/registries/services.d.ts.map +1 -1
  348. package/dist/registries/services.js +3 -3
  349. package/dist/registries/services.js.map +1 -1
  350. package/dist/registries/services.mjs.map +1 -1
  351. package/dist/services/auth/index.d.ts +4 -4
  352. package/dist/services/auth/index.d.ts.map +1 -1
  353. package/dist/services/auth/index.js +3 -3
  354. package/dist/services/auth/index.js.map +1 -1
  355. package/dist/services/auth/index.mjs.map +1 -1
  356. package/dist/services/config.d.ts +3 -0
  357. package/dist/services/config.d.ts.map +1 -0
  358. package/dist/services/config.js +47 -0
  359. package/dist/services/config.js.map +1 -0
  360. package/dist/services/config.mjs +47 -0
  361. package/dist/services/config.mjs.map +1 -0
  362. package/dist/services/content-api/index.d.ts +27 -15
  363. package/dist/services/content-api/index.d.ts.map +1 -1
  364. package/dist/services/content-api/index.js +28 -2
  365. package/dist/services/content-api/index.js.map +1 -1
  366. package/dist/services/content-api/index.mjs +28 -2
  367. package/dist/services/content-api/index.mjs.map +1 -1
  368. package/dist/services/content-api/permissions/index.d.ts +9 -15
  369. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  370. package/dist/services/content-api/permissions/index.js +1 -1
  371. package/dist/services/content-api/permissions/index.js.map +1 -1
  372. package/dist/services/content-api/permissions/index.mjs +1 -1
  373. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  374. package/dist/services/content-api/permissions/providers/action.d.ts +3 -6
  375. package/dist/services/content-api/permissions/providers/action.d.ts.map +1 -1
  376. package/dist/services/content-api/permissions/providers/condition.d.ts +3 -6
  377. package/dist/services/content-api/permissions/providers/condition.d.ts.map +1 -1
  378. package/dist/services/core-store.d.ts.map +1 -1
  379. package/dist/services/core-store.js +3 -3
  380. package/dist/services/core-store.js.map +1 -1
  381. package/dist/services/cron.d.ts +2 -2
  382. package/dist/services/cron.d.ts.map +1 -1
  383. package/dist/services/cron.js +3 -3
  384. package/dist/services/cron.js.map +1 -1
  385. package/dist/services/cron.mjs.map +1 -1
  386. package/dist/services/custom-fields.d.ts +2 -2
  387. package/dist/services/custom-fields.d.ts.map +1 -1
  388. package/dist/services/custom-fields.js.map +1 -1
  389. package/dist/services/custom-fields.mjs.map +1 -1
  390. package/dist/services/document-service/attributes/index.d.ts +6 -0
  391. package/dist/services/document-service/attributes/index.d.ts.map +1 -0
  392. package/dist/services/{entity-service → document-service}/attributes/index.js +5 -5
  393. package/dist/services/document-service/attributes/index.js.map +1 -0
  394. package/dist/services/{entity-service → document-service}/attributes/index.mjs +5 -5
  395. package/dist/services/document-service/attributes/index.mjs.map +1 -0
  396. package/dist/services/document-service/attributes/transforms.d.ts +10 -0
  397. package/dist/services/document-service/attributes/transforms.d.ts.map +1 -0
  398. package/dist/services/{entity-service → document-service}/attributes/transforms.js +3 -3
  399. package/dist/services/document-service/attributes/transforms.js.map +1 -0
  400. package/dist/services/document-service/attributes/transforms.mjs.map +1 -0
  401. package/dist/services/document-service/common.d.ts +2 -2
  402. package/dist/services/document-service/common.d.ts.map +1 -1
  403. package/dist/services/document-service/common.js.map +1 -1
  404. package/dist/services/document-service/common.mjs.map +1 -1
  405. package/dist/services/document-service/components.d.ts +25 -1
  406. package/dist/services/document-service/components.d.ts.map +1 -1
  407. package/dist/services/{entity-service → document-service}/components.js +52 -148
  408. package/dist/services/document-service/components.js.map +1 -0
  409. package/dist/services/{entity-service → document-service}/components.mjs +42 -138
  410. package/dist/services/document-service/components.mjs.map +1 -0
  411. package/dist/services/document-service/draft-and-publish.d.ts +7 -7
  412. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  413. package/dist/services/document-service/draft-and-publish.js +16 -16
  414. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  415. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  416. package/dist/services/document-service/entries.d.ts +10 -0
  417. package/dist/services/document-service/entries.d.ts.map +1 -0
  418. package/dist/services/document-service/entries.js +96 -0
  419. package/dist/services/document-service/entries.js.map +1 -0
  420. package/dist/services/document-service/entries.mjs +96 -0
  421. package/dist/services/document-service/entries.mjs.map +1 -0
  422. package/dist/services/document-service/events.d.ts +25 -0
  423. package/dist/services/document-service/events.d.ts.map +1 -0
  424. package/dist/services/document-service/events.js +47 -0
  425. package/dist/services/document-service/events.js.map +1 -0
  426. package/dist/services/document-service/events.mjs +47 -0
  427. package/dist/services/document-service/events.mjs.map +1 -0
  428. package/dist/services/document-service/index.d.ts +2 -4
  429. package/dist/services/document-service/index.d.ts.map +1 -1
  430. package/dist/services/document-service/index.js +18 -5
  431. package/dist/services/document-service/index.js.map +1 -1
  432. package/dist/services/document-service/index.mjs +16 -3
  433. package/dist/services/document-service/index.mjs.map +1 -1
  434. package/dist/services/document-service/internationalization.d.ts +5 -5
  435. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  436. package/dist/services/document-service/internationalization.js +21 -12
  437. package/dist/services/document-service/internationalization.js.map +1 -1
  438. package/dist/services/document-service/internationalization.mjs +14 -5
  439. package/dist/services/document-service/internationalization.mjs.map +1 -1
  440. package/dist/services/document-service/middlewares/errors.d.ts +6 -0
  441. package/dist/services/document-service/middlewares/errors.d.ts.map +1 -0
  442. package/dist/services/document-service/middlewares/errors.js +25 -0
  443. package/dist/services/document-service/middlewares/errors.js.map +1 -0
  444. package/dist/services/document-service/middlewares/errors.mjs +25 -0
  445. package/dist/services/document-service/middlewares/errors.mjs.map +1 -0
  446. package/dist/services/document-service/middlewares/index.d.ts +3 -0
  447. package/dist/services/document-service/middlewares/index.d.ts.map +1 -0
  448. package/dist/services/document-service/middlewares/middleware-manager.d.ts +10 -0
  449. package/dist/services/document-service/middlewares/middleware-manager.d.ts.map +1 -0
  450. package/dist/services/document-service/{middlewares.js → middlewares/middleware-manager.js} +9 -6
  451. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -0
  452. package/dist/services/document-service/{middlewares.mjs → middlewares/middleware-manager.mjs} +9 -6
  453. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -0
  454. package/dist/services/document-service/params.d.ts +3 -1
  455. package/dist/services/document-service/params.d.ts.map +1 -1
  456. package/dist/services/{entity-service → document-service}/params.js +2 -2
  457. package/dist/services/document-service/params.js.map +1 -0
  458. package/dist/services/document-service/params.mjs.map +1 -0
  459. package/dist/services/document-service/repository.d.ts.map +1 -1
  460. package/dist/services/document-service/repository.js +159 -185
  461. package/dist/services/document-service/repository.js.map +1 -1
  462. package/dist/services/document-service/repository.mjs +139 -165
  463. package/dist/services/document-service/repository.mjs.map +1 -1
  464. package/dist/services/document-service/transform/data.d.ts.map +1 -1
  465. package/dist/services/document-service/transform/data.js +4 -2
  466. package/dist/services/document-service/transform/data.js.map +1 -1
  467. package/dist/services/document-service/transform/data.mjs +4 -2
  468. package/dist/services/document-service/transform/data.mjs.map +1 -1
  469. package/dist/services/document-service/transform/fields.d.ts +2 -2
  470. package/dist/services/document-service/transform/fields.d.ts.map +1 -1
  471. package/dist/services/document-service/transform/fields.js.map +1 -1
  472. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  473. package/dist/services/document-service/transform/id-map.d.ts +3 -3
  474. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  475. package/dist/services/document-service/transform/id-map.js +1 -1
  476. package/dist/services/document-service/transform/id-map.js.map +1 -1
  477. package/dist/services/document-service/transform/id-map.mjs +1 -1
  478. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  479. package/dist/services/document-service/transform/id-transform.d.ts +2 -2
  480. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  481. package/dist/services/document-service/transform/id-transform.js +2 -2
  482. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  483. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  484. package/dist/services/document-service/transform/populate.d.ts +2 -2
  485. package/dist/services/document-service/transform/populate.d.ts.map +1 -1
  486. package/dist/services/document-service/transform/populate.js +1 -1
  487. package/dist/services/document-service/transform/populate.js.map +1 -1
  488. package/dist/services/document-service/transform/populate.mjs +1 -1
  489. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  490. package/dist/services/document-service/transform/query.d.ts +5 -0
  491. package/dist/services/document-service/transform/query.d.ts.map +1 -0
  492. package/dist/services/document-service/transform/query.js +9 -0
  493. package/dist/services/document-service/transform/query.js.map +1 -0
  494. package/dist/services/document-service/transform/query.mjs +9 -0
  495. package/dist/services/document-service/transform/query.mjs.map +1 -0
  496. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +8 -7
  497. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  498. package/dist/services/document-service/transform/relations/extract/data-ids.js +45 -78
  499. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  500. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +44 -77
  501. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  502. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts +8 -4
  503. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  504. package/dist/services/document-service/transform/relations/transform/data-ids.js +61 -126
  505. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  506. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +61 -126
  507. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  508. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts +9 -0
  509. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts.map +1 -0
  510. package/dist/services/document-service/transform/relations/transform/default-locale.js +32 -0
  511. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -0
  512. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +32 -0
  513. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -0
  514. package/dist/services/document-service/transform/relations/utils/dp.d.ts +3 -3
  515. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  516. package/dist/services/document-service/transform/relations/utils/dp.js +10 -5
  517. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -1
  518. package/dist/services/document-service/transform/relations/utils/dp.mjs +9 -4
  519. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -1
  520. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +6 -6
  521. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  522. package/dist/services/document-service/transform/relations/utils/i18n.js +3 -9
  523. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  524. package/dist/services/document-service/transform/relations/utils/i18n.mjs +3 -9
  525. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  526. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts +6 -0
  527. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -0
  528. package/dist/services/document-service/transform/relations/utils/map-relation.js +91 -0
  529. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -0
  530. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +91 -0
  531. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -0
  532. package/dist/services/document-service/transform/relations/utils/types.d.ts +6 -0
  533. package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -1
  534. package/dist/services/document-service/transform/types.d.ts +3 -3
  535. package/dist/services/document-service/transform/types.d.ts.map +1 -1
  536. package/dist/services/document-service/utils/populate.d.ts +9 -2
  537. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  538. package/dist/services/document-service/utils/populate.js +8 -4
  539. package/dist/services/document-service/utils/populate.js.map +1 -1
  540. package/dist/services/document-service/utils/populate.mjs +8 -4
  541. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  542. package/dist/services/entity-service/index.d.ts +4 -6
  543. package/dist/services/entity-service/index.d.ts.map +1 -1
  544. package/dist/services/entity-service/index.js +44 -203
  545. package/dist/services/entity-service/index.js.map +1 -1
  546. package/dist/services/entity-service/index.mjs +38 -197
  547. package/dist/services/entity-service/index.mjs.map +1 -1
  548. package/dist/services/entity-validator/blocks-validator.d.ts +1 -2
  549. package/dist/services/entity-validator/blocks-validator.d.ts.map +1 -1
  550. package/dist/services/entity-validator/blocks-validator.js +4 -3
  551. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  552. package/dist/services/entity-validator/blocks-validator.mjs +3 -3
  553. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  554. package/dist/services/entity-validator/index.d.ts +16 -2
  555. package/dist/services/entity-validator/index.d.ts.map +1 -1
  556. package/dist/services/entity-validator/index.js +191 -128
  557. package/dist/services/entity-validator/index.js.map +1 -1
  558. package/dist/services/entity-validator/index.mjs +186 -123
  559. package/dist/services/entity-validator/index.mjs.map +1 -1
  560. package/dist/services/entity-validator/validators.d.ts +36 -25
  561. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  562. package/dist/services/entity-validator/validators.js +153 -33
  563. package/dist/services/entity-validator/validators.js.map +1 -1
  564. package/dist/services/entity-validator/validators.mjs +145 -25
  565. package/dist/services/entity-validator/validators.mjs.map +1 -1
  566. package/dist/services/event-hub.d.ts +1 -0
  567. package/dist/services/event-hub.d.ts.map +1 -1
  568. package/dist/services/event-hub.js +9 -4
  569. package/dist/services/event-hub.js.map +1 -1
  570. package/dist/services/event-hub.mjs +9 -4
  571. package/dist/services/event-hub.mjs.map +1 -1
  572. package/dist/services/features.d.ts +3 -3
  573. package/dist/services/features.d.ts.map +1 -1
  574. package/dist/services/features.js.map +1 -1
  575. package/dist/services/features.mjs.map +1 -1
  576. package/dist/services/fs.d.ts +2 -2
  577. package/dist/services/fs.d.ts.map +1 -1
  578. package/dist/services/fs.js.map +1 -1
  579. package/dist/services/fs.mjs.map +1 -1
  580. package/dist/services/metrics/admin-user-hash.d.ts +2 -2
  581. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  582. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  583. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  584. package/dist/services/metrics/index.d.ts +2 -2
  585. package/dist/services/metrics/index.d.ts.map +1 -1
  586. package/dist/services/metrics/index.js.map +1 -1
  587. package/dist/services/metrics/index.mjs.map +1 -1
  588. package/dist/services/metrics/middleware.d.ts +2 -2
  589. package/dist/services/metrics/middleware.d.ts.map +1 -1
  590. package/dist/services/metrics/middleware.js.map +1 -1
  591. package/dist/services/metrics/middleware.mjs.map +1 -1
  592. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  593. package/dist/services/metrics/rate-limiter.js.map +1 -1
  594. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  595. package/dist/services/metrics/sender.d.ts +3 -3
  596. package/dist/services/metrics/sender.d.ts.map +1 -1
  597. package/dist/services/metrics/sender.js.map +1 -1
  598. package/dist/services/metrics/sender.mjs.map +1 -1
  599. package/dist/services/query-params.d.ts +7 -0
  600. package/dist/services/query-params.d.ts.map +1 -0
  601. package/dist/services/query-params.js +12 -0
  602. package/dist/services/query-params.js.map +1 -0
  603. package/dist/services/query-params.mjs +13 -0
  604. package/dist/services/query-params.mjs.map +1 -0
  605. package/dist/services/reloader.d.ts +7 -0
  606. package/dist/services/reloader.d.ts.map +1 -0
  607. package/dist/services/reloader.js +36 -0
  608. package/dist/services/reloader.js.map +1 -0
  609. package/dist/services/reloader.mjs +36 -0
  610. package/dist/services/reloader.mjs.map +1 -0
  611. package/dist/services/server/admin-api.d.ts +3 -3
  612. package/dist/services/server/admin-api.d.ts.map +1 -1
  613. package/dist/services/server/admin-api.js.map +1 -1
  614. package/dist/services/server/admin-api.mjs.map +1 -1
  615. package/dist/services/server/api.d.ts +3 -3
  616. package/dist/services/server/api.d.ts.map +1 -1
  617. package/dist/services/server/api.js.map +1 -1
  618. package/dist/services/server/api.mjs.map +1 -1
  619. package/dist/services/server/compose-endpoint.d.ts +2 -2
  620. package/dist/services/server/compose-endpoint.d.ts.map +1 -1
  621. package/dist/services/server/compose-endpoint.js +8 -9
  622. package/dist/services/server/compose-endpoint.js.map +1 -1
  623. package/dist/services/server/compose-endpoint.mjs +2 -3
  624. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  625. package/dist/services/server/content-api.d.ts +3 -3
  626. package/dist/services/server/content-api.d.ts.map +1 -1
  627. package/dist/services/server/content-api.js.map +1 -1
  628. package/dist/services/server/content-api.mjs.map +1 -1
  629. package/dist/services/server/http-server.d.ts +2 -2
  630. package/dist/services/server/http-server.d.ts.map +1 -1
  631. package/dist/services/server/http-server.js.map +1 -1
  632. package/dist/services/server/http-server.mjs.map +1 -1
  633. package/dist/services/server/index.d.ts +2 -2
  634. package/dist/services/server/index.d.ts.map +1 -1
  635. package/dist/services/server/index.js +2 -3
  636. package/dist/services/server/index.js.map +1 -1
  637. package/dist/services/server/index.mjs +2 -3
  638. package/dist/services/server/index.mjs.map +1 -1
  639. package/dist/services/server/koa.d.ts.map +1 -1
  640. package/dist/services/server/koa.js +4 -4
  641. package/dist/services/server/koa.js.map +1 -1
  642. package/dist/services/server/koa.mjs +1 -1
  643. package/dist/services/server/koa.mjs.map +1 -1
  644. package/dist/services/server/middleware.d.ts +4 -4
  645. package/dist/services/server/middleware.d.ts.map +1 -1
  646. package/dist/services/server/middleware.js +3 -3
  647. package/dist/services/server/middleware.js.map +1 -1
  648. package/dist/services/server/middleware.mjs.map +1 -1
  649. package/dist/services/server/policy.d.ts +3 -3
  650. package/dist/services/server/policy.d.ts.map +1 -1
  651. package/dist/services/server/policy.js +4 -4
  652. package/dist/services/server/policy.js.map +1 -1
  653. package/dist/services/server/policy.mjs +4 -4
  654. package/dist/services/server/policy.mjs.map +1 -1
  655. package/dist/services/server/register-middlewares.d.ts +2 -2
  656. package/dist/services/server/register-middlewares.d.ts.map +1 -1
  657. package/dist/services/server/register-middlewares.js.map +1 -1
  658. package/dist/services/server/register-middlewares.mjs.map +1 -1
  659. package/dist/services/server/register-routes.d.ts +2 -2
  660. package/dist/services/server/register-routes.d.ts.map +1 -1
  661. package/dist/services/server/register-routes.js +3 -3
  662. package/dist/services/server/register-routes.js.map +1 -1
  663. package/dist/services/server/register-routes.mjs +3 -3
  664. package/dist/services/server/register-routes.mjs.map +1 -1
  665. package/dist/services/server/routing.d.ts +5 -5
  666. package/dist/services/server/routing.d.ts.map +1 -1
  667. package/dist/services/server/routing.js +2 -2
  668. package/dist/services/server/routing.js.map +1 -1
  669. package/dist/services/server/routing.mjs.map +1 -1
  670. package/dist/services/utils/dynamic-zones.d.ts.map +1 -1
  671. package/dist/services/utils/dynamic-zones.js +7 -6
  672. package/dist/services/utils/dynamic-zones.js.map +1 -1
  673. package/dist/services/utils/dynamic-zones.mjs +2 -1
  674. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  675. package/dist/services/webhook-runner.d.ts +2 -1
  676. package/dist/services/webhook-runner.d.ts.map +1 -1
  677. package/dist/services/webhook-runner.js.map +1 -1
  678. package/dist/services/webhook-runner.mjs.map +1 -1
  679. package/dist/services/webhook-store.d.ts +2 -8
  680. package/dist/services/webhook-store.d.ts.map +1 -1
  681. package/dist/services/webhook-store.js +14 -8
  682. package/dist/services/webhook-store.js.map +1 -1
  683. package/dist/services/webhook-store.mjs +14 -8
  684. package/dist/services/webhook-store.mjs.map +1 -1
  685. package/dist/utils/convert-custom-field-type.d.ts +2 -2
  686. package/dist/utils/convert-custom-field-type.d.ts.map +1 -1
  687. package/dist/utils/convert-custom-field-type.js.map +1 -1
  688. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  689. package/dist/utils/cron.js +3 -3
  690. package/dist/utils/cron.js.map +1 -1
  691. package/dist/utils/fetch.d.ts +3 -3
  692. package/dist/utils/fetch.d.ts.map +1 -1
  693. package/dist/utils/fetch.js +4 -3
  694. package/dist/utils/fetch.js.map +1 -1
  695. package/dist/utils/fetch.mjs +4 -3
  696. package/dist/utils/fetch.mjs.map +1 -1
  697. package/dist/utils/filepath-to-prop-path.d.ts +1 -1
  698. package/dist/utils/filepath-to-prop-path.d.ts.map +1 -1
  699. package/dist/utils/filepath-to-prop-path.js +27 -6
  700. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  701. package/dist/utils/filepath-to-prop-path.mjs +25 -5
  702. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  703. package/dist/utils/index.d.ts +2 -1
  704. package/dist/utils/index.d.ts.map +1 -1
  705. package/dist/utils/is-initialized.d.ts +2 -2
  706. package/dist/utils/is-initialized.d.ts.map +1 -1
  707. package/dist/utils/is-initialized.js +4 -4
  708. package/dist/utils/is-initialized.js.map +1 -1
  709. package/dist/utils/is-initialized.mjs +1 -1
  710. package/dist/utils/is-initialized.mjs.map +1 -1
  711. package/dist/utils/load-files.d.ts.map +1 -1
  712. package/dist/utils/open-browser.d.ts +2 -2
  713. package/dist/utils/open-browser.d.ts.map +1 -1
  714. package/dist/utils/open-browser.js.map +1 -1
  715. package/dist/utils/open-browser.mjs.map +1 -1
  716. package/dist/utils/resolve-working-dirs.d.ts +19 -0
  717. package/dist/utils/resolve-working-dirs.d.ts.map +1 -0
  718. package/dist/utils/resolve-working-dirs.js +13 -0
  719. package/dist/utils/resolve-working-dirs.js.map +1 -0
  720. package/dist/utils/resolve-working-dirs.mjs +11 -0
  721. package/dist/utils/resolve-working-dirs.mjs.map +1 -0
  722. package/dist/utils/signals.d.ts +2 -2
  723. package/dist/utils/signals.d.ts.map +1 -1
  724. package/dist/utils/signals.js.map +1 -1
  725. package/dist/utils/signals.mjs.map +1 -1
  726. package/dist/utils/startup-logger.d.ts +2 -2
  727. package/dist/utils/startup-logger.d.ts.map +1 -1
  728. package/dist/utils/startup-logger.js +4 -4
  729. package/dist/utils/startup-logger.js.map +1 -1
  730. package/dist/utils/startup-logger.mjs +3 -3
  731. package/dist/utils/startup-logger.mjs.map +1 -1
  732. package/dist/utils/transform-content-types-to-models.d.ts +54 -99
  733. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  734. package/dist/utils/transform-content-types-to-models.js +112 -61
  735. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  736. package/dist/utils/transform-content-types-to-models.mjs +111 -60
  737. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  738. package/dist/utils/update-notifier/index.d.ts +2 -7
  739. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  740. package/dist/utils/update-notifier/index.js +12 -17
  741. package/dist/utils/update-notifier/index.js.map +1 -1
  742. package/dist/utils/update-notifier/index.mjs +12 -16
  743. package/dist/utils/update-notifier/index.mjs.map +1 -1
  744. package/package.json +32 -28
  745. package/dist/registries/config.d.ts +0 -4
  746. package/dist/registries/config.d.ts.map +0 -1
  747. package/dist/registries/config.js +0 -31
  748. package/dist/registries/config.js.map +0 -1
  749. package/dist/registries/config.mjs +0 -32
  750. package/dist/registries/config.mjs.map +0 -1
  751. package/dist/services/document-service/middlewares.d.ts +0 -8
  752. package/dist/services/document-service/middlewares.d.ts.map +0 -1
  753. package/dist/services/document-service/middlewares.js.map +0 -1
  754. package/dist/services/document-service/middlewares.mjs.map +0 -1
  755. package/dist/services/document-service/transform/filters.d.ts +0 -3
  756. package/dist/services/document-service/transform/filters.d.ts.map +0 -1
  757. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts +0 -4
  758. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts.map +0 -1
  759. package/dist/services/document-service/transform/relations/utils/data.js +0 -12
  760. package/dist/services/document-service/transform/relations/utils/data.js.map +0 -1
  761. package/dist/services/document-service/transform/relations/utils/data.mjs +0 -12
  762. package/dist/services/document-service/transform/relations/utils/data.mjs.map +0 -1
  763. package/dist/services/document-service/transform/sort.d.ts +0 -5
  764. package/dist/services/document-service/transform/sort.d.ts.map +0 -1
  765. package/dist/services/document-service/transform/utils.d.ts +0 -9
  766. package/dist/services/document-service/transform/utils.d.ts.map +0 -1
  767. package/dist/services/entity-service/attributes/index.d.ts +0 -6
  768. package/dist/services/entity-service/attributes/index.d.ts.map +0 -1
  769. package/dist/services/entity-service/attributes/index.js.map +0 -1
  770. package/dist/services/entity-service/attributes/index.mjs.map +0 -1
  771. package/dist/services/entity-service/attributes/transforms.d.ts +0 -10
  772. package/dist/services/entity-service/attributes/transforms.d.ts.map +0 -1
  773. package/dist/services/entity-service/attributes/transforms.js.map +0 -1
  774. package/dist/services/entity-service/attributes/transforms.mjs.map +0 -1
  775. package/dist/services/entity-service/components.d.ts +0 -23
  776. package/dist/services/entity-service/components.d.ts.map +0 -1
  777. package/dist/services/entity-service/components.js.map +0 -1
  778. package/dist/services/entity-service/components.mjs.map +0 -1
  779. package/dist/services/entity-service/params.d.ts +0 -8
  780. package/dist/services/entity-service/params.d.ts.map +0 -1
  781. package/dist/services/entity-service/params.js.map +0 -1
  782. package/dist/services/entity-service/params.mjs.map +0 -1
  783. package/dist/services/utils/upload-files.d.ts +0 -8
  784. package/dist/services/utils/upload-files.d.ts.map +0 -1
  785. package/dist/services/utils/upload-files.js +0 -64
  786. package/dist/services/utils/upload-files.js.map +0 -1
  787. package/dist/services/utils/upload-files.mjs +0 -63
  788. package/dist/services/utils/upload-files.mjs.map +0 -1
  789. package/dist/utils/get-dirs.d.ts +0 -9
  790. package/dist/utils/get-dirs.d.ts.map +0 -1
  791. package/dist/utils/get-dirs.js.map +0 -1
  792. package/dist/utils/get-dirs.mjs.map +0 -1
  793. /package/dist/services/{entity-service → document-service}/attributes/transforms.mjs +0 -0
  794. /package/dist/services/{entity-service → document-service}/params.mjs +0 -0
package/dist/Strapi.js CHANGED
@@ -1,162 +1,141 @@
1
1
  "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") {
10
+ for (let key of __getOwnPropNames(from))
11
+ if (!__hasOwnProp.call(to, key) && key !== except)
12
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ }
14
+ return to;
15
+ };
16
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
+ // If the importer is in node compatibility mode or this is not an ESM
18
+ // file that has been converted to a CommonJS file using a Babel-
19
+ // compatible transform (i.e. "__esModule" has not been set), then set
20
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
2
24
  const path = require("path");
3
25
  const _ = require("lodash");
4
- const _$1 = require("lodash/fp");
26
+ const fp = require("lodash/fp");
5
27
  const logger = require("@strapi/logger");
6
28
  const database = require("@strapi/database");
7
- const strapiUtils = require("@strapi/utils");
8
29
  const index = require("./configuration/index.js");
9
30
  const factories = require("./factories.js");
10
- const compile = require("./compile.js");
11
31
  const openBrowser = require("./utils/open-browser.js");
12
32
  const isInitialized = require("./utils/is-initialized.js");
13
- const getDirs = require("./utils/get-dirs.js");
14
- const index$6 = require("./ee/index.js");
15
- const index$5 = require("./utils/update-notifier/index.js");
33
+ const index$2 = require("./ee/index.js");
34
+ require("./utils/update-notifier/index.js");
16
35
  const fetch = require("./utils/fetch.js");
17
36
  const convertCustomFieldType = require("./utils/convert-custom-field-type.js");
18
37
  const startupLogger = require("./utils/startup-logger.js");
19
38
  const transformContentTypesToModels = require("./utils/transform-content-types-to-models.js");
20
- const signals = require("./utils/signals.js");
21
39
  const lifecycles = require("./utils/lifecycles.js");
22
- const contentTypes = require("./registries/content-types.js");
23
- const components = require("./registries/components.js");
24
- const services = require("./registries/services.js");
25
- const policies = require("./registries/policies.js");
26
- const middlewares = require("./registries/middlewares.js");
27
- const hooks = require("./registries/hooks.js");
28
- const controllers = require("./registries/controllers.js");
29
- const modules = require("./registries/modules.js");
30
- const plugins = require("./registries/plugins.js");
31
- const customFields = require("./registries/custom-fields.js");
32
- const config = require("./registries/config.js");
33
- const apis = require("./registries/apis.js");
34
- const sanitizers = require("./registries/sanitizers.js");
35
- const validators = require("./registries/validators.js");
36
- const models = require("./registries/models.js");
37
- const index$7 = require("./loaders/index.js");
40
+ require("node:path");
38
41
  const container = require("./container.js");
39
42
  const fs = require("./services/fs.js");
40
43
  const eventHub = require("./services/event-hub.js");
41
- const index$3 = require("./services/server/index.js");
42
- const webhookRunner = require("./services/webhook-runner.js");
43
- const webhookStore = require("./services/webhook-store.js");
44
- const coreStore = require("./services/core-store.js");
45
- const index$9 = require("./services/entity-service/index.js");
46
- const cron = require("./services/cron.js");
47
- const index$8 = require("./services/entity-validator/index.js");
48
- const index$4 = require("./services/metrics/index.js");
44
+ const index$5 = require("./services/server/index.js");
45
+ const reloader = require("./services/reloader.js");
46
+ const index$1 = require("./providers/index.js");
47
+ const index$7 = require("./services/entity-service/index.js");
48
+ const queryParams = require("./services/query-params.js");
49
+ const index$6 = require("./services/entity-validator/index.js");
49
50
  const requestContext = require("./services/request-context.js");
50
- const index$2 = require("./services/auth/index.js");
51
- const customFields$1 = require("./services/custom-fields.js");
52
- const index$1 = require("./services/content-api/index.js");
51
+ const index$4 = require("./services/auth/index.js");
52
+ const customFields = require("./services/custom-fields.js");
53
+ const index$3 = require("./services/content-api/index.js");
53
54
  const dynamicZones = require("./services/utils/dynamic-zones.js");
54
55
  const features = require("./services/features.js");
55
- const index$a = require("./services/document-service/index.js");
56
+ const index$8 = require("./services/document-service/index.js");
57
+ const coreStore = require("./services/core-store.js");
58
+ const config = require("./services/config.js");
56
59
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
57
60
  const path__default = /* @__PURE__ */ _interopDefault(path);
58
61
  const ___default = /* @__PURE__ */ _interopDefault(_);
59
- const resolveWorkingDirectories = (opts) => {
60
- const cwd = process.cwd();
61
- const appDir = opts.appDir ? path__default.default.resolve(cwd, opts.appDir) : cwd;
62
- const distDir = opts.distDir ? path__default.default.resolve(cwd, opts.distDir) : appDir;
63
- return { app: appDir, dist: distDir };
64
- };
65
- const reloader = (strapi) => {
66
- const state = {
67
- shouldReload: 0,
68
- isWatching: true
69
- };
70
- function reload() {
71
- if (state.shouldReload > 0) {
72
- state.shouldReload -= 1;
73
- reload.isReloading = false;
74
- return;
75
- }
76
- if (strapi.config.get("autoReload")) {
77
- process.send?.("reload");
78
- }
79
- }
80
- Object.defineProperty(reload, "isWatching", {
81
- configurable: true,
82
- enumerable: true,
83
- set(value) {
84
- if (state.isWatching === false && value === true) {
85
- state.shouldReload += 1;
86
- }
87
- state.isWatching = value;
88
- },
89
- get() {
90
- return state.isWatching;
91
- }
92
- });
93
- reload.isReloading = false;
94
- reload.isWatching = true;
95
- return reload;
96
- };
97
62
  class Strapi extends container.Container {
98
- server;
99
- log;
100
- fs;
101
- eventHub;
102
- startupLogger;
103
- cron;
104
- webhookRunner;
105
- webhookStore;
106
- store;
107
- entityValidator;
108
- entityService;
109
- documents;
110
- telemetry;
111
- requestContext;
112
- customFields;
113
- fetch;
114
- dirs;
115
- admin;
116
- isLoaded;
117
- db;
118
63
  app;
119
- EE;
120
- reload;
121
- features;
122
- // @ts-expect-error - Assigned in constructor
123
- ee;
124
- constructor(opts = {}) {
64
+ isLoaded = false;
65
+ internal_config = {};
66
+ constructor(opts) {
125
67
  super();
126
- signals.destroyOnSignal(this);
127
- const rootDirs = resolveWorkingDirectories(opts);
128
- const appConfig = index(rootDirs, opts);
129
- this.add("config", config(appConfig, this)).add("content-types", contentTypes()).add("components", components()).add("services", services(this)).add("policies", policies()).add("middlewares", middlewares()).add("hooks", hooks()).add("controllers", controllers(this)).add("modules", modules(this)).add("plugins", plugins(this)).add("custom-fields", customFields(this)).add("apis", apis(this)).add("sanitizers", sanitizers()).add("validators", validators()).add("content-api", index$1(this)).add("auth", index$2()).add("models", models.registry());
130
- this.dirs = getDirs.getDirs(rootDirs, { strapi: this });
131
- this.isLoaded = false;
132
- this.reload = reloader(this);
133
- this.server = index$3.createServer(this);
134
- this.fs = fs(this);
135
- this.eventHub = eventHub();
136
- this.startupLogger = startupLogger.createStartupLogger(this);
137
- const logLevel = this.config.get(
138
- "server.logger.config",
139
- this.config.get("logger", { level: "info" })
140
- );
141
- this.log = logger.createLogger(logLevel);
142
- this.cron = cron();
143
- this.telemetry = index$4(this);
144
- this.requestContext = requestContext;
145
- this.customFields = customFields$1(this);
146
- this.fetch = fetch.createStrapiFetch(this);
147
- this.features = features.createFeaturesService(this);
148
- index$5.createUpdateNotifier(this).notify();
149
- Object.defineProperty(this, "EE", {
150
- get: () => {
151
- index$6.init(this.dirs.app.root, this.log);
152
- return index$6.isEE;
153
- },
154
- configurable: false
155
- });
156
- Object.defineProperty(this, "ee", {
157
- get: () => index$6,
158
- configurable: false
159
- });
68
+ this.internal_config = index.loadConfiguration(opts);
69
+ this.registerInternalServices();
70
+ for (const provider of index$1.providers) {
71
+ provider.init?.(this);
72
+ }
73
+ }
74
+ get admin() {
75
+ return this.get("admin");
76
+ }
77
+ get EE() {
78
+ return index$2.isEE;
79
+ }
80
+ get ee() {
81
+ return index$2;
82
+ }
83
+ get dirs() {
84
+ return this.config.get("dirs");
85
+ }
86
+ get reload() {
87
+ return this.get("reload");
88
+ }
89
+ get db() {
90
+ return this.get("db");
91
+ }
92
+ get requestContext() {
93
+ return this.get("requestContext");
94
+ }
95
+ get customFields() {
96
+ return this.get("customFields");
97
+ }
98
+ get entityValidator() {
99
+ return this.get("entityValidator");
100
+ }
101
+ /**
102
+ * @deprecated `strapi.entityService` will be removed in the next major version
103
+ */
104
+ get entityService() {
105
+ return this.get("entityService");
106
+ }
107
+ get documents() {
108
+ return this.get("documents");
109
+ }
110
+ get features() {
111
+ return this.get("features");
112
+ }
113
+ get fetch() {
114
+ return this.get("fetch");
115
+ }
116
+ get cron() {
117
+ return this.get("cron");
118
+ }
119
+ get log() {
120
+ return this.get("logger");
121
+ }
122
+ get startupLogger() {
123
+ return this.get("startupLogger");
124
+ }
125
+ get eventHub() {
126
+ return this.get("eventHub");
127
+ }
128
+ get fs() {
129
+ return this.get("fs");
130
+ }
131
+ get server() {
132
+ return this.get("server");
133
+ }
134
+ get telemetry() {
135
+ return this.get("telemetry");
136
+ }
137
+ get store() {
138
+ return this.get("coreStore");
160
139
  }
161
140
  get config() {
162
141
  return this.get("config");
@@ -206,12 +185,12 @@ class Strapi extends container.Container {
206
185
  hook(name) {
207
186
  return this.get("hooks").get(name);
208
187
  }
209
- // api(name) {
210
- // return this.get('apis').get(name);
211
- // }
212
- get api() {
188
+ get apis() {
213
189
  return this.get("apis").getAll();
214
190
  }
191
+ api(name) {
192
+ return this.get("apis").get(name);
193
+ }
215
194
  get auth() {
216
195
  return this.get("auth");
217
196
  }
@@ -235,15 +214,29 @@ class Strapi extends container.Container {
235
214
  return this.stopWithError(error);
236
215
  }
237
216
  }
238
- async destroy() {
239
- await this.server.destroy();
240
- await this.runLifecyclesFunctions(lifecycles.LIFECYCLES.DESTROY);
241
- this.eventHub.destroy();
242
- await this.db?.destroy();
243
- this.telemetry.destroy();
244
- this.cron.destroy();
245
- process.removeAllListeners();
246
- delete global.strapi;
217
+ // TODO: split into more providers
218
+ registerInternalServices() {
219
+ const config$1 = config.createConfigProvider(this.internal_config, this);
220
+ const logger$1 = logger.createLogger({
221
+ level: "http",
222
+ // Strapi defaults to level 'http'
223
+ ...config$1.get("logger"),
224
+ // DEPRECATED
225
+ ...config$1.get("server.logger.config")
226
+ });
227
+ this.add("config", () => config$1).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", () => logger$1).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(
228
+ "db",
229
+ () => new database.Database(
230
+ ___default.default.merge(this.config.get("database"), {
231
+ logger: logger$1,
232
+ settings: {
233
+ migrations: {
234
+ dir: path__default.default.join(this.dirs.app.root, "database/migrations")
235
+ }
236
+ }
237
+ })
238
+ )
239
+ ).add("reload", () => reloader.createReloader(this));
247
240
  }
248
241
  sendStartupTelemetry() {
249
242
  this.telemetry.send("didStartServer", {
@@ -278,6 +271,7 @@ class Strapi extends container.Container {
278
271
  async postListen() {
279
272
  const isInitialized$1 = await isInitialized.isInitialized(this);
280
273
  this.startupLogger.logStartupMessage({ isInitialized: isInitialized$1 });
274
+ this.log.info("Strapi started successfully");
281
275
  this.sendStartupTelemetry();
282
276
  this.openAdmin({ isInitialized: isInitialized$1 });
283
277
  }
@@ -318,49 +312,32 @@ class Strapi extends container.Container {
318
312
  }
319
313
  process.exit(exitCode);
320
314
  }
321
- registerInternalHooks() {
322
- this.get("hooks").set("strapi::content-types.beforeSync", strapiUtils.hooks.createAsyncParallelHook());
323
- this.get("hooks").set("strapi::content-types.afterSync", strapiUtils.hooks.createAsyncParallelHook());
315
+ async load() {
316
+ await this.register();
317
+ await this.bootstrap();
318
+ this.isLoaded = true;
319
+ return this;
324
320
  }
325
321
  async register() {
326
- await index$7.loadApplicationContext(this);
327
- this.get("models").add(coreStore.coreStoreModel).add(webhookStore.webhookModel);
328
- this.webhookRunner = webhookRunner({
329
- eventHub: this.eventHub,
330
- logger: this.log,
331
- configuration: this.config.get("server.webhooks", {}),
332
- fetch: this.fetch
333
- });
334
- this.registerInternalHooks();
335
- this.telemetry.register();
336
- await this.runLifecyclesFunctions(lifecycles.LIFECYCLES.REGISTER);
322
+ this.ee.init(this.dirs.app.root, this.log);
323
+ for (const provider of index$1.providers) {
324
+ await provider.register?.(this);
325
+ }
326
+ await this.runPluginsLifecycles(lifecycles.LIFECYCLES.REGISTER);
327
+ await this.runUserLifecycles(lifecycles.LIFECYCLES.REGISTER);
337
328
  convertCustomFieldType.convertCustomFieldType(this);
338
329
  return this;
339
330
  }
340
331
  async bootstrap() {
341
- const models2 = [
342
- ...transformContentTypesToModels.transformContentTypesToModels([
343
- ...Object.values(this.contentTypes),
344
- ...Object.values(this.components)
345
- ]),
332
+ await this.configureGlobalProxy();
333
+ const models = [
334
+ ...transformContentTypesToModels.transformContentTypesToModels(
335
+ [...Object.values(this.contentTypes), ...Object.values(this.components)],
336
+ this.db.metadata.identifiers
337
+ ),
346
338
  ...this.get("models").get()
347
339
  ];
348
- this.db = await database.Database.init({ ...this.config.get("database"), models: models2 });
349
- this.store = coreStore.createCoreStore({ db: this.db });
350
- this.webhookStore = webhookStore.createWebhookStore({ db: this.db });
351
- this.entityValidator = index$8;
352
- this.entityService = index$9({
353
- strapi: this,
354
- db: this.db,
355
- eventHub: this.eventHub,
356
- entityValidator: this.entityValidator
357
- });
358
- this.documents = index$a.createDocumentService(this);
359
- if (this.config.get("server.cron.enabled", true)) {
360
- const cronTasks = this.config.get("server.cron.tasks", {});
361
- this.cron.add(cronTasks);
362
- }
363
- this.telemetry.bootstrap();
340
+ await this.db.init({ models });
364
341
  let oldContentTypes;
365
342
  if (await this.db.getSchemaConnection().hasTable(coreStore.coreStoreModel.tableName)) {
366
343
  oldContentTypes = await this.store.get({
@@ -375,7 +352,7 @@ class Strapi extends container.Container {
375
352
  });
376
353
  await this.db.schema.sync();
377
354
  if (this.EE) {
378
- await index$6.checkLicense({ strapi: this });
355
+ await index$2.checkLicense({ strapi: this });
379
356
  }
380
357
  await this.hook("strapi::content-types.afterSync").call({
381
358
  oldContentTypes,
@@ -387,37 +364,54 @@ class Strapi extends container.Container {
387
364
  key: "schema",
388
365
  value: this.contentTypes
389
366
  });
390
- await this.startWebhooks();
391
367
  await this.server.initMiddlewares();
392
368
  this.server.initRouting();
393
369
  await this.contentAPI.permissions.registerActions();
394
- await this.runLifecyclesFunctions(lifecycles.LIFECYCLES.BOOTSTRAP);
395
- this.cron.start();
396
- return this;
397
- }
398
- async load() {
399
- await this.register();
400
- await this.bootstrap();
401
- this.isLoaded = true;
370
+ await this.runPluginsLifecycles(lifecycles.LIFECYCLES.BOOTSTRAP);
371
+ for (const provider of index$1.providers) {
372
+ await provider.bootstrap?.(this);
373
+ }
374
+ await this.runUserLifecycles(lifecycles.LIFECYCLES.BOOTSTRAP);
402
375
  return this;
403
376
  }
404
- async startWebhooks() {
405
- const webhooks = await this.webhookStore?.findWebhooks();
406
- if (!webhooks) {
377
+ async configureGlobalProxy() {
378
+ const globalProxy = this.config.get("server.proxy.global");
379
+ const httpProxy = this.config.get("server.proxy.http") || globalProxy;
380
+ const httpsProxy = this.config.get("server.proxy.https") || globalProxy;
381
+ if (!httpProxy && !httpsProxy) {
407
382
  return;
408
383
  }
409
- for (const webhook of webhooks) {
410
- this.webhookRunner?.add(webhook);
384
+ const globalAgent = await import("global-agent");
385
+ globalAgent.bootstrap();
386
+ if (httpProxy) {
387
+ this.log.info(`Using HTTP proxy: ${httpProxy}`);
388
+ global.GLOBAL_AGENT.HTTP_PROXY = httpProxy;
389
+ }
390
+ if (httpsProxy) {
391
+ this.log.info(`Using HTTPS proxy: ${httpsProxy}`);
392
+ global.GLOBAL_AGENT.HTTPS_PROXY = httpsProxy;
411
393
  }
412
394
  }
413
- async runLifecyclesFunctions(lifecycleName) {
414
- await this.get("modules")[lifecycleName]();
415
- const adminLifecycleFunction = this.admin && this.admin[lifecycleName];
416
- if (_$1.isFunction(adminLifecycleFunction)) {
417
- await adminLifecycleFunction({ strapi: this });
395
+ async destroy() {
396
+ this.log.info("Shutting down Strapi");
397
+ await this.runPluginsLifecycles(lifecycles.LIFECYCLES.DESTROY);
398
+ for (const provider of index$1.providers) {
399
+ await provider.destroy?.(this);
418
400
  }
401
+ await this.runUserLifecycles(lifecycles.LIFECYCLES.DESTROY);
402
+ await this.server.destroy();
403
+ this.eventHub.destroy();
404
+ await this.db?.destroy();
405
+ process.removeAllListeners();
406
+ delete global.strapi;
407
+ this.log.info("Strapi has been shut down");
408
+ }
409
+ async runPluginsLifecycles(lifecycleName) {
410
+ await this.get("modules")[lifecycleName]();
411
+ }
412
+ async runUserLifecycles(lifecycleName) {
419
413
  const userLifecycleFunction = this.app && this.app[lifecycleName];
420
- if (_$1.isFunction(userLifecycleFunction)) {
414
+ if (fp.isFunction(userLifecycleFunction)) {
421
415
  await userLifecycleFunction({ strapi: this });
422
416
  }
423
417
  }
@@ -430,18 +424,11 @@ class Strapi extends container.Container {
430
424
  }
431
425
  }
432
426
  /**
433
- * Binds queries with a specific model
434
- * @param {string} uid
427
+ * @deprecated Use `strapi.db.query` instead
435
428
  */
436
429
  query(uid) {
437
430
  return this.db.query(uid);
438
431
  }
439
432
  }
440
- const initFn = (options = {}) => {
441
- const strapi = new Strapi(options);
442
- global.strapi = strapi;
443
- return strapi;
444
- };
445
- const init = Object.assign(initFn, { factories, compile });
446
- module.exports = init;
433
+ module.exports = Strapi;
447
434
  //# sourceMappingURL=Strapi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Strapi.js","sources":["../src/Strapi.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-namespace */\n/* eslint-disable vars-on-top */\n/* eslint-disable no-var */\nimport path from 'path';\nimport _ from 'lodash';\nimport { isFunction } from 'lodash/fp';\nimport { Logger, createLogger } from '@strapi/logger';\nimport { Database } from '@strapi/database';\nimport { hooks } from '@strapi/utils';\nimport type {\n Strapi as StrapiI,\n Server,\n EntityService,\n Documents,\n EventHub,\n StartupLogger,\n CronService,\n WebhookStore,\n CoreStore,\n TelemetryService,\n RequestContext,\n CustomFields,\n Fetch,\n StrapiFS,\n StrapiDirectories,\n Reloader,\n EntityValidator,\n Common,\n Shared,\n Schema,\n} from '@strapi/types';\n\nimport loadConfiguration from './configuration';\n\nimport * as factories from './factories';\nimport compile from './compile';\n\nimport * as utils from './utils';\nimport * as registries from './registries';\nimport * as loaders from './loaders';\nimport { Container } from './container';\nimport createStrapiFs from './services/fs';\nimport createEventHub from './services/event-hub';\nimport { createServer } from './services/server';\nimport createWebhookRunner, { WebhookRunner } from './services/webhook-runner';\nimport { webhookModel, createWebhookStore } from './services/webhook-store';\nimport { createCoreStore, coreStoreModel } from './services/core-store';\nimport createEntityService from './services/entity-service';\n\nimport createCronService from './services/cron';\nimport entityValidator from './services/entity-validator';\nimport createTelemetry from './services/metrics';\nimport requestContext from './services/request-context';\nimport createAuth from './services/auth';\nimport createCustomFields from './services/custom-fields';\nimport createContentAPI from './services/content-api';\nimport getNumberOfDynamicZones from './services/utils/dynamic-zones';\nimport { FeaturesService, createFeaturesService } from './services/features';\nimport { createDocumentService } from './services/document-service';\n\n/**\n * Resolve the working directories based on the instance options.\n *\n * Behavior:\n * - `appDir` is the directory where Strapi will write every file (schemas, generated APIs, controllers or services)\n * - `distDir` is the directory where Strapi will read configurations, schemas and any compiled code\n *\n * Default values:\n * - If `appDir` is `undefined`, it'll be set to `process.cwd()`\n * - If `distDir` is `undefined`, it'll be set to `appDir`\n */\nconst resolveWorkingDirectories = (opts: { appDir?: string; distDir?: string }) => {\n const cwd = process.cwd();\n\n const appDir = opts.appDir ? path.resolve(cwd, opts.appDir) : cwd;\n const distDir = opts.distDir ? path.resolve(cwd, opts.distDir) : appDir;\n\n return { app: appDir, dist: distDir };\n};\n\nconst reloader = (strapi: Strapi) => {\n const state = {\n shouldReload: 0,\n isWatching: true,\n };\n\n function reload() {\n if (state.shouldReload > 0) {\n // Reset the reloading state\n state.shouldReload -= 1;\n reload.isReloading = false;\n return;\n }\n\n if (strapi.config.get('autoReload')) {\n process.send?.('reload');\n }\n }\n\n Object.defineProperty(reload, 'isWatching', {\n configurable: true,\n enumerable: true,\n set(value) {\n // Special state when the reloader is disabled temporarly (see GraphQL plugin example).\n if (state.isWatching === false && value === true) {\n state.shouldReload += 1;\n }\n state.isWatching = value;\n },\n get() {\n return state.isWatching;\n },\n });\n\n reload.isReloading = false;\n reload.isWatching = true;\n\n return reload;\n};\n\nexport type LoadedStrapi = Required<Strapi>;\n\nclass Strapi extends Container implements StrapiI {\n server: Server;\n\n log: Logger;\n\n fs: StrapiFS;\n\n eventHub: EventHub;\n\n startupLogger: StartupLogger;\n\n cron: CronService;\n\n webhookRunner?: WebhookRunner;\n\n webhookStore?: WebhookStore;\n\n store?: CoreStore;\n\n entityValidator?: EntityValidator;\n\n entityService?: EntityService.EntityService;\n\n documents?: Documents.Service;\n\n telemetry: TelemetryService;\n\n requestContext: RequestContext;\n\n customFields: CustomFields.CustomFields;\n\n fetch: Fetch;\n\n dirs: StrapiDirectories;\n\n admin?: Common.Module;\n\n isLoaded: boolean;\n\n db?: Database;\n\n app: any;\n\n EE?: boolean;\n\n reload: Reloader;\n\n features: FeaturesService;\n\n // @ts-expect-error - Assigned in constructor\n ee: StrapiI['ee'];\n\n constructor(opts: StrapiOptions = {}) {\n super();\n\n utils.destroyOnSignal(this);\n\n const rootDirs = resolveWorkingDirectories(opts);\n\n // Load the app configuration from the dist directory\n const appConfig = loadConfiguration(rootDirs, opts);\n\n // Instantiate the Strapi container\n this.add('config', registries.config(appConfig, this))\n .add('content-types', registries.contentTypes())\n .add('components', registries.components())\n .add('services', registries.services(this))\n .add('policies', registries.policies())\n .add('middlewares', registries.middlewares())\n .add('hooks', registries.hooks())\n .add('controllers', registries.controllers(this))\n .add('modules', registries.modules(this))\n .add('plugins', registries.plugins(this))\n .add('custom-fields', registries.customFields(this))\n .add('apis', registries.apis(this))\n .add('sanitizers', registries.sanitizers())\n .add('validators', registries.validators())\n .add('content-api', createContentAPI(this))\n .add('auth', createAuth())\n .add('models', registries.models());\n\n // Create a mapping of every useful directory (for the app, dist and static directories)\n this.dirs = utils.getDirs(rootDirs, { strapi: this });\n\n // Strapi state management variables\n this.isLoaded = false;\n this.reload = reloader(this);\n\n // Instantiate the Koa app & the HTTP server\n this.server = createServer(this);\n\n // Strapi utils instantiation\n this.fs = createStrapiFs(this);\n this.eventHub = createEventHub();\n this.startupLogger = utils.createStartupLogger(this);\n\n // We will continue to support 'logger' to prevent unnecessary deprecations but prioritize server.logger.config\n // So we find: server.logger.config || logger || 'info'\n const logLevel = this.config.get(\n 'server.logger.config',\n this.config.get('logger', { level: 'info' })\n );\n this.log = createLogger(logLevel);\n this.cron = createCronService();\n this.telemetry = createTelemetry(this);\n this.requestContext = requestContext;\n this.customFields = createCustomFields(this);\n this.fetch = utils.createStrapiFetch(this);\n this.features = createFeaturesService(this);\n\n utils.createUpdateNotifier(this).notify();\n\n Object.defineProperty<Strapi>(this, 'EE', {\n get: () => {\n utils.ee.init(this.dirs.app.root, this.log);\n return utils.ee.isEE;\n },\n configurable: false,\n });\n\n Object.defineProperty<Strapi>(this, 'ee', {\n get: () => utils.ee,\n configurable: false,\n });\n }\n\n get config() {\n return this.get('config');\n }\n\n get services() {\n return this.get('services').getAll();\n }\n\n service(uid: Common.UID.Service) {\n return this.get('services').get(uid);\n }\n\n get controllers() {\n return this.get('controllers').getAll();\n }\n\n controller(uid: Common.UID.Controller) {\n return this.get('controllers').get(uid);\n }\n\n get contentTypes(): Shared.ContentTypes {\n return this.get('content-types').getAll();\n }\n\n contentType(name: Common.UID.ContentType) {\n return this.get('content-types').get(name);\n }\n\n get components(): Shared.Components {\n return this.get('components').getAll();\n }\n\n get policies() {\n return this.get('policies').getAll();\n }\n\n policy(name: string) {\n return this.get('policies').get(name);\n }\n\n get middlewares() {\n return this.get('middlewares').getAll();\n }\n\n middleware(name: string) {\n return this.get('middlewares').get(name);\n }\n\n get plugins(): Record<string, Common.Plugin> {\n return this.get('plugins').getAll();\n }\n\n plugin(name: string): Common.Plugin {\n return this.get('plugins').get(name);\n }\n\n get hooks() {\n return this.get('hooks').getAll();\n }\n\n hook(name: string) {\n return this.get('hooks').get(name);\n }\n\n // api(name) {\n // return this.get('apis').get(name);\n // }\n\n get api(): Record<string, Common.Module> {\n return this.get('apis').getAll();\n }\n\n get auth() {\n return this.get('auth');\n }\n\n get contentAPI() {\n return this.get('content-api');\n }\n\n get sanitizers() {\n return this.get('sanitizers');\n }\n\n get validators() {\n return this.get('validators');\n }\n\n async start() {\n try {\n if (!this.isLoaded) {\n await this.load();\n }\n\n await this.listen();\n\n return this;\n } catch (error) {\n return this.stopWithError(error);\n }\n }\n\n async destroy() {\n await this.server.destroy();\n await this.runLifecyclesFunctions(utils.LIFECYCLES.DESTROY);\n\n this.eventHub.destroy();\n\n await this.db?.destroy();\n\n this.telemetry.destroy();\n this.cron.destroy();\n\n process.removeAllListeners();\n\n // @ts-expect-error: Allow clean delete of global.strapi to allow re-instanciation\n delete global.strapi;\n }\n\n sendStartupTelemetry() {\n // Emit started event.\n // do not await to avoid slower startup\n // This event is anonymous\n this.telemetry\n .send('didStartServer', {\n groupProperties: {\n database: this.config.get('database.connection.client'),\n plugins: Object.keys(this.plugins),\n numberOfAllContentTypes: _.size(this.contentTypes), // 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.\n numberOfComponents: _.size(this.components),\n numberOfDynamicZones: getNumberOfDynamicZones(),\n numberOfCustomControllers: Object.values<Common.Controller>(this.controllers).filter(\n // TODO: Fix this at the content API loader level to prevent future types issues\n (controller) => controller !== undefined && factories.isCustomController(controller)\n ).length,\n environment: this.config.environment,\n // TODO: to add back\n // providers: this.config.installedProviders,\n },\n })\n .catch(this.log.error);\n }\n\n async openAdmin({ isInitialized }: { isInitialized: boolean }) {\n const shouldOpenAdmin =\n this.config.get('environment') === 'development' &&\n this.config.get('admin.autoOpen', true) !== false;\n\n if (shouldOpenAdmin && !isInitialized) {\n try {\n await utils.openBrowser(this.config);\n this.telemetry.send('didOpenTab');\n } catch (e) {\n this.telemetry.send('didNotOpenTab');\n }\n }\n }\n\n async postListen() {\n const isInitialized = await utils.isInitialized(this);\n\n this.startupLogger.logStartupMessage({ isInitialized });\n\n this.sendStartupTelemetry();\n this.openAdmin({ isInitialized });\n }\n\n /**\n * Add behaviors to the server\n */\n async listen() {\n return new Promise<void>((resolve, reject) => {\n const onListen = async () => {\n try {\n await this.postListen();\n\n resolve();\n } catch (error) {\n reject(error);\n }\n };\n\n const listenSocket = this.config.get('server.socket');\n\n if (listenSocket) {\n this.server.listen(listenSocket, onListen);\n } else {\n const { host, port } = this.config.get('server');\n\n this.server.listen(port, host, onListen);\n }\n });\n }\n\n stopWithError(err: unknown, customMessage?: string): never {\n this.log.debug(`⛔️ Server wasn't able to start properly.`);\n if (customMessage) {\n this.log.error(customMessage);\n }\n\n this.log.error(err);\n return this.stop();\n }\n\n stop(exitCode = 1): never {\n this.destroy();\n\n if (this.config.get('autoReload')) {\n process.send?.('stop');\n }\n\n // Kill process\n process.exit(exitCode);\n }\n\n registerInternalHooks() {\n this.get('hooks').set('strapi::content-types.beforeSync', hooks.createAsyncParallelHook());\n this.get('hooks').set('strapi::content-types.afterSync', hooks.createAsyncParallelHook());\n }\n\n async register() {\n await loaders.loadApplicationContext(this);\n\n this.get('models').add(coreStoreModel).add(webhookModel);\n\n // init webhook runner\n this.webhookRunner = createWebhookRunner({\n eventHub: this.eventHub,\n logger: this.log,\n configuration: this.config.get('server.webhooks', {}),\n fetch: this.fetch,\n });\n\n this.registerInternalHooks();\n\n this.telemetry.register();\n\n await this.runLifecyclesFunctions(utils.LIFECYCLES.REGISTER);\n // NOTE: Swap type customField for underlying data type\n utils.convertCustomFieldType(this);\n\n return this;\n }\n\n async bootstrap() {\n const models = [\n ...utils.transformContentTypesToModels([\n ...Object.values(this.contentTypes),\n ...Object.values(this.components),\n ]),\n ...this.get('models').get(),\n ];\n\n this.db = await Database.init({ ...this.config.get('database'), models });\n\n this.store = createCoreStore({ db: this.db });\n this.webhookStore = createWebhookStore({ db: this.db });\n\n this.entityValidator = entityValidator;\n this.entityService = createEntityService({\n strapi: this,\n db: this.db,\n eventHub: this.eventHub,\n entityValidator: this.entityValidator,\n });\n\n this.documents = createDocumentService(this);\n\n if (this.config.get('server.cron.enabled', true)) {\n const cronTasks = this.config.get('server.cron.tasks', {});\n this.cron.add(cronTasks);\n }\n\n this.telemetry.bootstrap();\n\n let oldContentTypes;\n if (await this.db.getSchemaConnection().hasTable(coreStoreModel.tableName)) {\n oldContentTypes = await this.store.get({\n type: 'strapi',\n name: 'content_types',\n key: 'schema',\n });\n }\n\n await this.hook('strapi::content-types.beforeSync').call({\n oldContentTypes,\n contentTypes: this.contentTypes,\n });\n\n await this.db.schema.sync();\n\n if (this.EE) {\n await utils.ee.checkLicense({ strapi: this });\n }\n\n await this.hook('strapi::content-types.afterSync').call({\n oldContentTypes,\n contentTypes: this.contentTypes,\n });\n\n await this.store.set({\n type: 'strapi',\n name: 'content_types',\n key: 'schema',\n value: this.contentTypes,\n });\n\n await this.startWebhooks();\n\n await this.server.initMiddlewares();\n this.server.initRouting();\n\n await this.contentAPI.permissions.registerActions();\n\n await this.runLifecyclesFunctions(utils.LIFECYCLES.BOOTSTRAP);\n\n this.cron.start();\n\n return this;\n }\n\n async load() {\n await this.register();\n await this.bootstrap();\n\n this.isLoaded = true;\n\n return this as this & Required<StrapiI>;\n }\n\n async startWebhooks() {\n const webhooks = await this.webhookStore?.findWebhooks();\n if (!webhooks) {\n return;\n }\n\n for (const webhook of webhooks) {\n this.webhookRunner?.add(webhook);\n }\n }\n\n async runLifecyclesFunctions(lifecycleName: 'register' | 'bootstrap' | 'destroy') {\n // plugins\n await this.get('modules')[lifecycleName]();\n\n // admin\n const adminLifecycleFunction = this.admin && this.admin[lifecycleName];\n if (isFunction(adminLifecycleFunction)) {\n await adminLifecycleFunction({ strapi: this });\n }\n\n // user\n const userLifecycleFunction = this.app && this.app[lifecycleName];\n if (isFunction(userLifecycleFunction)) {\n await userLifecycleFunction({ strapi: this });\n }\n }\n\n getModel(uid: Common.UID.ContentType): Schema.ContentType;\n getModel(uid: Common.UID.Component): Schema.Component;\n getModel<TUID extends Common.UID.Schema>(\n uid: TUID\n ): Schema.ContentType | Schema.Component | undefined {\n if (uid in this.contentTypes) {\n return this.contentTypes[uid as Common.UID.ContentType];\n }\n\n if (uid in this.components) {\n return this.components[uid as Common.UID.Component];\n }\n }\n\n /**\n * Binds queries with a specific model\n * @param {string} uid\n */\n query(uid: Common.UID.Schema) {\n return this.db!.query(uid);\n }\n}\n\ninterface StrapiOptions {\n appDir?: string;\n distDir?: string;\n autoReload?: boolean;\n serveAdminPanel?: boolean;\n}\n\ninterface Init {\n (options?: StrapiOptions): StrapiI;\n factories: typeof factories;\n compile: typeof compile;\n}\n\nconst initFn = (options: StrapiOptions = {}): StrapiI => {\n const strapi = new Strapi(options);\n global.strapi = strapi as LoadedStrapi;\n return strapi;\n};\n\nconst init: Init = Object.assign(initFn, { factories, compile });\n\nexport default init;\n"],"names":["path","Container","utils.destroyOnSignal","loadConfiguration","registries.config","registries.contentTypes","registries.components","registries.services","registries.policies","registries.middlewares","registries.hooks","registries.controllers","registries.modules","registries.plugins","registries.customFields","registries.apis","registries.sanitizers","registries.validators","createContentAPI","createAuth","registries.models","utils.getDirs","createServer","createStrapiFs","createEventHub","utils.createStartupLogger","createLogger","createCronService","createTelemetry","createCustomFields","utils.createStrapiFetch","createFeaturesService","utils.createUpdateNotifier","utils.ee","utils.LIFECYCLES","_","getNumberOfDynamicZones","factories.isCustomController","isInitialized","utils.openBrowser","utils.isInitialized","hooks","loaders.loadApplicationContext","coreStoreModel","webhookModel","createWebhookRunner","utils.convertCustomFieldType","models","utils.transformContentTypesToModels","Database","createCoreStore","createWebhookStore","entityValidator","createEntityService","createDocumentService","isFunction"],"mappings":"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"}
1
+ {"version":3,"file":"Strapi.js","sources":["../src/Strapi.ts"],"sourcesContent":["import path from 'path';\nimport _ from 'lodash';\nimport { isFunction } from 'lodash/fp';\nimport { Logger, createLogger } from '@strapi/logger';\nimport { Database } from '@strapi/database';\n\nimport type { Core, Modules, UID, Schema } from '@strapi/types';\n\nimport { loadConfiguration } from './configuration';\n\nimport * as factories from './factories';\n\nimport * as utils from './utils';\nimport { Container } from './container';\nimport createStrapiFs from './services/fs';\nimport createEventHub from './services/event-hub';\nimport { createServer } from './services/server';\nimport { createReloader } from './services/reloader';\n\nimport { providers } from './providers';\nimport createEntityService from './services/entity-service';\nimport createQueryParamService from './services/query-params';\n\nimport entityValidator from './services/entity-validator';\nimport requestContext from './services/request-context';\nimport createAuth from './services/auth';\nimport createCustomFields from './services/custom-fields';\nimport createContentAPI from './services/content-api';\nimport getNumberOfDynamicZones from './services/utils/dynamic-zones';\nimport { FeaturesService, createFeaturesService } from './services/features';\nimport { createDocumentService } from './services/document-service';\n\nimport { coreStoreModel } from './services/core-store';\nimport { createConfigProvider } from './services/config';\n\nclass Strapi extends Container implements Core.Strapi {\n app: any;\n\n isLoaded: boolean = false;\n\n internal_config: Record<string, unknown> = {};\n\n constructor(opts: StrapiOptions) {\n super();\n\n this.internal_config = loadConfiguration(opts);\n\n this.registerInternalServices();\n\n for (const provider of providers) {\n provider.init?.(this);\n }\n }\n\n get admin(): Core.Module {\n return this.get('admin');\n }\n\n get EE(): boolean {\n return utils.ee.isEE;\n }\n\n get ee(): Core.Strapi['ee'] {\n return utils.ee;\n }\n\n get dirs(): Core.StrapiDirectories {\n return this.config.get('dirs');\n }\n\n get reload(): Core.Reloader {\n return this.get('reload');\n }\n\n get db(): Database {\n return this.get('db');\n }\n\n get requestContext(): Modules.RequestContext.RequestContext {\n return this.get('requestContext');\n }\n\n get customFields(): Modules.CustomFields.CustomFields {\n return this.get('customFields');\n }\n\n get entityValidator(): Modules.EntityValidator.EntityValidator {\n return this.get('entityValidator');\n }\n\n /**\n * @deprecated `strapi.entityService` will be removed in the next major version\n */\n get entityService(): Modules.EntityService.EntityService {\n return this.get('entityService');\n }\n\n get documents(): Modules.Documents.Service {\n return this.get('documents');\n }\n\n get features(): FeaturesService {\n return this.get('features');\n }\n\n get fetch(): Modules.Fetch.Fetch {\n return this.get('fetch');\n }\n\n get cron(): Modules.Cron.CronService {\n return this.get('cron');\n }\n\n get log(): Logger {\n return this.get('logger');\n }\n\n get startupLogger(): Core.StartupLogger {\n return this.get('startupLogger');\n }\n\n get eventHub(): Modules.EventHub.EventHub {\n return this.get('eventHub');\n }\n\n get fs(): Core.StrapiFS {\n return this.get('fs');\n }\n\n get server(): Modules.Server.Server {\n return this.get('server');\n }\n\n get telemetry(): Modules.Metrics.TelemetryService {\n return this.get('telemetry');\n }\n\n get store(): Modules.CoreStore.CoreStore {\n return this.get('coreStore');\n }\n\n get config() {\n return this.get('config');\n }\n\n get services() {\n return this.get('services').getAll();\n }\n\n service(uid: UID.Service) {\n return this.get('services').get(uid);\n }\n\n get controllers() {\n return this.get('controllers').getAll();\n }\n\n controller(uid: UID.Controller) {\n return this.get('controllers').get(uid);\n }\n\n get contentTypes(): Schema.ContentTypes {\n return this.get('content-types').getAll();\n }\n\n contentType(name: UID.ContentType) {\n return this.get('content-types').get(name);\n }\n\n get components(): Schema.Components {\n return this.get('components').getAll();\n }\n\n get policies() {\n return this.get('policies').getAll();\n }\n\n policy(name: string) {\n return this.get('policies').get(name);\n }\n\n get middlewares() {\n return this.get('middlewares').getAll();\n }\n\n middleware(name: string) {\n return this.get('middlewares').get(name);\n }\n\n get plugins(): Record<string, Core.Plugin> {\n return this.get('plugins').getAll();\n }\n\n plugin(name: string): Core.Plugin {\n return this.get('plugins').get(name);\n }\n\n get hooks() {\n return this.get('hooks').getAll();\n }\n\n hook(name: string) {\n return this.get('hooks').get(name);\n }\n\n get apis() {\n return this.get('apis').getAll();\n }\n\n api(name: string): Core.Module {\n return this.get('apis').get(name);\n }\n\n get auth() {\n return this.get('auth');\n }\n\n get contentAPI() {\n return this.get('content-api');\n }\n\n get sanitizers() {\n return this.get('sanitizers');\n }\n\n get validators() {\n return this.get('validators');\n }\n\n async start() {\n try {\n if (!this.isLoaded) {\n await this.load();\n }\n\n await this.listen();\n\n return this;\n } catch (error) {\n return this.stopWithError(error);\n }\n }\n\n // TODO: split into more providers\n registerInternalServices() {\n const config = createConfigProvider(this.internal_config, this);\n\n const logger = createLogger({\n level: 'http', // Strapi defaults to level 'http'\n ...config.get('logger'), // DEPRECATED\n ...config.get('server.logger.config'),\n });\n\n // Instantiate the Strapi container\n this.add('config', () => config)\n .add('query-params', createQueryParamService(this))\n .add('content-api', createContentAPI(this))\n .add('auth', createAuth())\n .add('server', () => createServer(this))\n .add('fs', () => createStrapiFs(this))\n .add('eventHub', () => createEventHub())\n .add('startupLogger', () => utils.createStartupLogger(this))\n .add('logger', () => logger)\n .add('fetch', () => utils.createStrapiFetch(this))\n .add('features', () => createFeaturesService(this))\n .add('requestContext', requestContext)\n .add('customFields', createCustomFields(this))\n .add('entityValidator', entityValidator)\n .add('entityService', () => createEntityService({ strapi: this, db: this.db }))\n .add('documents', () => createDocumentService(this))\n .add(\n 'db',\n () =>\n new Database(\n _.merge(this.config.get('database'), {\n logger,\n settings: {\n migrations: {\n dir: path.join(this.dirs.app.root, 'database/migrations'),\n },\n },\n })\n )\n )\n .add('reload', () => createReloader(this));\n }\n\n sendStartupTelemetry() {\n // Emit started event.\n // do not await to avoid slower startup\n // This event is anonymous\n this.telemetry\n .send('didStartServer', {\n groupProperties: {\n database: this.config.get('database.connection.client'),\n plugins: Object.keys(this.plugins),\n numberOfAllContentTypes: _.size(this.contentTypes), // 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.\n numberOfComponents: _.size(this.components),\n numberOfDynamicZones: getNumberOfDynamicZones(),\n numberOfCustomControllers: Object.values<Core.Controller>(this.controllers).filter(\n // TODO: Fix this at the content API loader level to prevent future types issues\n (controller) => controller !== undefined && factories.isCustomController(controller)\n ).length,\n environment: this.config.environment,\n // TODO: to add back\n // providers: this.config.installedProviders,\n },\n })\n .catch(this.log.error);\n }\n\n async openAdmin({ isInitialized }: { isInitialized: boolean }) {\n const shouldOpenAdmin =\n this.config.get('environment') === 'development' &&\n this.config.get('admin.autoOpen', true) !== false;\n\n if (shouldOpenAdmin && !isInitialized) {\n try {\n await utils.openBrowser(this.config);\n this.telemetry.send('didOpenTab');\n } catch (e) {\n this.telemetry.send('didNotOpenTab');\n }\n }\n }\n\n async postListen() {\n const isInitialized = await utils.isInitialized(this);\n\n this.startupLogger.logStartupMessage({ isInitialized });\n\n this.log.info('Strapi started successfully');\n this.sendStartupTelemetry();\n this.openAdmin({ isInitialized });\n }\n\n /**\n * Add behaviors to the server\n */\n async listen() {\n return new Promise<void>((resolve, reject) => {\n const onListen = async () => {\n try {\n await this.postListen();\n\n resolve();\n } catch (error) {\n reject(error);\n }\n };\n\n const listenSocket = this.config.get('server.socket');\n\n if (listenSocket) {\n this.server.listen(listenSocket, onListen);\n } else {\n const { host, port } = this.config.get('server');\n\n this.server.listen(port, host, onListen);\n }\n });\n }\n\n stopWithError(err: unknown, customMessage?: string): never {\n this.log.debug(`⛔️ Server wasn't able to start properly.`);\n if (customMessage) {\n this.log.error(customMessage);\n }\n\n this.log.error(err);\n return this.stop();\n }\n\n stop(exitCode = 1): never {\n this.destroy();\n\n if (this.config.get('autoReload')) {\n process.send?.('stop');\n }\n\n // Kill process\n process.exit(exitCode);\n }\n\n async load() {\n await this.register();\n await this.bootstrap();\n\n this.isLoaded = true;\n\n return this;\n }\n\n async register() {\n // @ts-expect-error: init is internal\n this.ee.init(this.dirs.app.root, this.log);\n\n for (const provider of providers) {\n await provider.register?.(this);\n }\n\n await this.runPluginsLifecycles(utils.LIFECYCLES.REGISTER);\n await this.runUserLifecycles(utils.LIFECYCLES.REGISTER);\n\n // NOTE: Swap type customField for underlying data type\n utils.convertCustomFieldType(this);\n\n return this;\n }\n\n async bootstrap() {\n await this.configureGlobalProxy();\n\n const models = [\n ...utils.transformContentTypesToModels(\n [...Object.values(this.contentTypes), ...Object.values(this.components)],\n this.db.metadata.identifiers\n ),\n ...this.get('models').get(),\n ];\n\n await this.db.init({ models });\n\n let oldContentTypes;\n if (await this.db.getSchemaConnection().hasTable(coreStoreModel.tableName)) {\n oldContentTypes = await this.store.get({\n type: 'strapi',\n name: 'content_types',\n key: 'schema',\n });\n }\n\n await this.hook('strapi::content-types.beforeSync').call({\n oldContentTypes,\n contentTypes: this.contentTypes,\n });\n\n await this.db.schema.sync();\n\n if (this.EE) {\n await utils.ee.checkLicense({ strapi: this });\n }\n\n await this.hook('strapi::content-types.afterSync').call({\n oldContentTypes,\n contentTypes: this.contentTypes,\n });\n\n await this.store.set({\n type: 'strapi',\n name: 'content_types',\n key: 'schema',\n value: this.contentTypes,\n });\n\n await this.server.initMiddlewares();\n this.server.initRouting();\n\n await this.contentAPI.permissions.registerActions();\n\n await this.runPluginsLifecycles(utils.LIFECYCLES.BOOTSTRAP);\n\n for (const provider of providers) {\n await provider.bootstrap?.(this);\n }\n\n await this.runUserLifecycles(utils.LIFECYCLES.BOOTSTRAP);\n\n return this;\n }\n\n async configureGlobalProxy() {\n const globalProxy = this.config.get('server.proxy.global');\n const httpProxy = this.config.get('server.proxy.http') || globalProxy;\n const httpsProxy = this.config.get('server.proxy.https') || globalProxy;\n\n if (!httpProxy && !httpsProxy) {\n return;\n }\n const globalAgent = await import('global-agent');\n\n globalAgent.bootstrap();\n\n if (httpProxy) {\n this.log.info(`Using HTTP proxy: ${httpProxy}`);\n (global as any).GLOBAL_AGENT.HTTP_PROXY = httpProxy;\n }\n\n if (httpsProxy) {\n this.log.info(`Using HTTPS proxy: ${httpsProxy}`);\n (global as any).GLOBAL_AGENT.HTTPS_PROXY = httpsProxy;\n }\n }\n\n async destroy() {\n this.log.info('Shutting down Strapi');\n await this.runPluginsLifecycles(utils.LIFECYCLES.DESTROY);\n\n for (const provider of providers) {\n await provider.destroy?.(this);\n }\n\n await this.runUserLifecycles(utils.LIFECYCLES.DESTROY);\n\n await this.server.destroy();\n\n this.eventHub.destroy();\n\n await this.db?.destroy();\n\n process.removeAllListeners();\n\n // @ts-expect-error: Allow clean delete of global.strapi to allow re-instanciation\n delete global.strapi;\n\n this.log.info('Strapi has been shut down');\n }\n\n async runPluginsLifecycles(lifecycleName: 'register' | 'bootstrap' | 'destroy') {\n // plugins\n await this.get('modules')[lifecycleName]();\n }\n\n async runUserLifecycles(lifecycleName: 'register' | 'bootstrap' | 'destroy') {\n // user\n const userLifecycleFunction = this.app && this.app[lifecycleName];\n if (isFunction(userLifecycleFunction)) {\n await userLifecycleFunction({ strapi: this });\n }\n }\n\n getModel(uid: UID.ContentType): Schema.ContentType;\n getModel(uid: UID.Component): Schema.Component;\n getModel<TUID extends UID.Schema>(uid: TUID): Schema.ContentType | Schema.Component | undefined {\n if (uid in this.contentTypes) {\n return this.contentTypes[uid as UID.ContentType];\n }\n\n if (uid in this.components) {\n return this.components[uid as UID.Component];\n }\n }\n\n /**\n * @deprecated Use `strapi.db.query` instead\n */\n query(uid: UID.Schema) {\n return this.db.query(uid);\n }\n}\n\nexport interface StrapiOptions {\n appDir: string;\n distDir: string;\n autoReload?: boolean;\n serveAdminPanel?: boolean;\n}\n\nexport default Strapi;\n"],"names":["Container","loadConfiguration","providers","utils.ee","config","createConfigProvider","logger","createLogger","createQueryParamService","createContentAPI","createAuth","createServer","createStrapiFs","createEventHub","utils.createStartupLogger","utils.createStrapiFetch","createFeaturesService","createCustomFields","entityValidator","createEntityService","createDocumentService","Database","_","path","createReloader","getNumberOfDynamicZones","factories.isCustomController","isInitialized","utils.openBrowser","utils.isInitialized","utils.LIFECYCLES","utils.convertCustomFieldType","utils.transformContentTypesToModels","coreStoreModel","isFunction"],"mappings":"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"}