@strapi/core 0.0.0-experimental.3f7b2587c5e3d548262671895cf11d8bf8c9166e → 0.0.0-experimental.41a9d88b9d4bf02b096b70055a2dc8eab8c316d7

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 (872) hide show
  1. package/LICENSE +18 -3
  2. package/dist/Strapi.d.ts +52 -59
  3. package/dist/Strapi.d.ts.map +1 -1
  4. package/dist/Strapi.js +195 -207
  5. package/dist/Strapi.js.map +1 -1
  6. package/dist/Strapi.mjs +166 -198
  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 +12 -10
  22. package/dist/configuration/index.js.map +1 -1
  23. package/dist/configuration/index.mjs +6 -5
  24. package/dist/configuration/index.mjs.map +1 -1
  25. package/dist/configuration/urls.d.ts +8 -0
  26. package/dist/configuration/urls.d.ts.map +1 -0
  27. package/dist/configuration/urls.js +68 -0
  28. package/dist/configuration/urls.js.map +1 -0
  29. package/dist/configuration/urls.mjs +66 -0
  30. package/dist/configuration/urls.mjs.map +1 -0
  31. package/dist/container.d.ts +2 -2
  32. package/dist/container.d.ts.map +1 -1
  33. package/dist/container.js.map +1 -1
  34. package/dist/container.mjs.map +1 -1
  35. package/dist/core-api/controller/collection-type.d.ts +4 -4
  36. package/dist/core-api/controller/collection-type.d.ts.map +1 -1
  37. package/dist/core-api/controller/collection-type.js +15 -23
  38. package/dist/core-api/controller/collection-type.js.map +1 -1
  39. package/dist/core-api/controller/collection-type.mjs +11 -20
  40. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  41. package/dist/core-api/controller/index.d.ts +3 -3
  42. package/dist/core-api/controller/index.d.ts.map +1 -1
  43. package/dist/core-api/controller/index.js +15 -10
  44. package/dist/core-api/controller/index.js.map +1 -1
  45. package/dist/core-api/controller/index.mjs +14 -9
  46. package/dist/core-api/controller/index.mjs.map +1 -1
  47. package/dist/core-api/controller/single-type.d.ts +4 -4
  48. package/dist/core-api/controller/single-type.d.ts.map +1 -1
  49. package/dist/core-api/controller/single-type.js +9 -13
  50. package/dist/core-api/controller/single-type.js.map +1 -1
  51. package/dist/core-api/controller/single-type.mjs +6 -11
  52. package/dist/core-api/controller/single-type.mjs.map +1 -1
  53. package/dist/core-api/controller/transform.d.ts +10 -18
  54. package/dist/core-api/controller/transform.d.ts.map +1 -1
  55. package/dist/core-api/controller/transform.js +17 -25
  56. package/dist/core-api/controller/transform.js.map +1 -1
  57. package/dist/core-api/controller/transform.mjs +10 -18
  58. package/dist/core-api/controller/transform.mjs.map +1 -1
  59. package/dist/core-api/routes/index.d.ts.map +1 -1
  60. package/dist/core-api/service/collection-type.d.ts +22 -5
  61. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  62. package/dist/core-api/service/collection-type.js +58 -49
  63. package/dist/core-api/service/collection-type.js.map +1 -1
  64. package/dist/core-api/service/collection-type.mjs +58 -50
  65. package/dist/core-api/service/collection-type.mjs.map +1 -1
  66. package/dist/core-api/service/core-service.d.ts +4 -0
  67. package/dist/core-api/service/core-service.d.ts.map +1 -0
  68. package/dist/core-api/service/core-service.js +12 -0
  69. package/dist/core-api/service/core-service.js.map +1 -0
  70. package/dist/core-api/service/core-service.mjs +12 -0
  71. package/dist/core-api/service/core-service.mjs.map +1 -0
  72. package/dist/core-api/service/index.d.ts +3 -3
  73. package/dist/core-api/service/index.d.ts.map +1 -1
  74. package/dist/core-api/service/index.js +2 -2
  75. package/dist/core-api/service/index.js.map +1 -1
  76. package/dist/core-api/service/index.mjs +4 -4
  77. package/dist/core-api/service/index.mjs.map +1 -1
  78. package/dist/core-api/service/pagination.d.ts +4 -15
  79. package/dist/core-api/service/pagination.d.ts.map +1 -1
  80. package/dist/core-api/service/pagination.js +18 -55
  81. package/dist/core-api/service/pagination.js.map +1 -1
  82. package/dist/core-api/service/pagination.mjs +16 -53
  83. package/dist/core-api/service/pagination.mjs.map +1 -1
  84. package/dist/core-api/service/single-type.d.ts +14 -8
  85. package/dist/core-api/service/single-type.d.ts.map +1 -1
  86. package/dist/core-api/service/single-type.js +42 -50
  87. package/dist/core-api/service/single-type.js.map +1 -1
  88. package/dist/core-api/service/single-type.mjs +41 -50
  89. package/dist/core-api/service/single-type.mjs.map +1 -1
  90. package/dist/domain/content-type/index.d.ts +1 -1
  91. package/dist/domain/content-type/index.d.ts.map +1 -1
  92. package/dist/domain/content-type/index.js +7 -4
  93. package/dist/domain/content-type/index.js.map +1 -1
  94. package/dist/domain/content-type/index.mjs +3 -0
  95. package/dist/domain/content-type/index.mjs.map +1 -1
  96. package/dist/domain/content-type/validator.d.ts.map +1 -1
  97. package/dist/domain/content-type/validator.js +1 -1
  98. package/dist/domain/content-type/validator.js.map +1 -1
  99. package/dist/domain/content-type/validator.mjs +2 -2
  100. package/dist/domain/content-type/validator.mjs.map +1 -1
  101. package/dist/domain/module/index.d.ts +24 -23
  102. package/dist/domain/module/index.d.ts.map +1 -1
  103. package/dist/domain/module/index.js +3 -3
  104. package/dist/domain/module/index.js.map +1 -1
  105. package/dist/domain/module/index.mjs +4 -4
  106. package/dist/domain/module/index.mjs.map +1 -1
  107. package/dist/ee/index.d.ts +4 -2
  108. package/dist/ee/index.d.ts.map +1 -1
  109. package/dist/ee/index.js +9 -4
  110. package/dist/ee/index.js.map +1 -1
  111. package/dist/ee/index.mjs +6 -1
  112. package/dist/ee/index.mjs.map +1 -1
  113. package/dist/ee/license.d.ts +2 -2
  114. package/dist/ee/license.d.ts.map +1 -1
  115. package/dist/ee/license.js +2 -1
  116. package/dist/ee/license.js.map +1 -1
  117. package/dist/ee/license.mjs +2 -1
  118. package/dist/ee/license.mjs.map +1 -1
  119. package/dist/factories.d.ts +10 -10
  120. package/dist/factories.d.ts.map +1 -1
  121. package/dist/factories.js +12 -18
  122. package/dist/factories.js.map +1 -1
  123. package/dist/factories.mjs +8 -14
  124. package/dist/factories.mjs.map +1 -1
  125. package/dist/index.d.ts +18 -2
  126. package/dist/index.d.ts.map +1 -1
  127. package/dist/index.js +25 -1
  128. package/dist/index.js.map +1 -1
  129. package/dist/index.mjs +27 -3
  130. package/dist/index.mjs.map +1 -1
  131. package/dist/loaders/admin.d.ts +2 -2
  132. package/dist/loaders/admin.d.ts.map +1 -1
  133. package/dist/loaders/admin.js +0 -1
  134. package/dist/loaders/admin.js.map +1 -1
  135. package/dist/loaders/admin.mjs +0 -1
  136. package/dist/loaders/admin.mjs.map +1 -1
  137. package/dist/loaders/apis.d.ts +2 -2
  138. package/dist/loaders/apis.d.ts.map +1 -1
  139. package/dist/loaders/apis.js +13 -13
  140. package/dist/loaders/apis.js.map +1 -1
  141. package/dist/loaders/apis.mjs +12 -12
  142. package/dist/loaders/apis.mjs.map +1 -1
  143. package/dist/loaders/components.d.ts +2 -2
  144. package/dist/loaders/components.d.ts.map +1 -1
  145. package/dist/loaders/components.js.map +1 -1
  146. package/dist/loaders/components.mjs.map +1 -1
  147. package/dist/loaders/index.d.ts +2 -2
  148. package/dist/loaders/index.d.ts.map +1 -1
  149. package/dist/loaders/index.js +0 -2
  150. package/dist/loaders/index.js.map +1 -1
  151. package/dist/loaders/index.mjs +0 -2
  152. package/dist/loaders/index.mjs.map +1 -1
  153. package/dist/loaders/middlewares.d.ts +2 -2
  154. package/dist/loaders/middlewares.d.ts.map +1 -1
  155. package/dist/loaders/middlewares.js.map +1 -1
  156. package/dist/loaders/middlewares.mjs.map +1 -1
  157. package/dist/loaders/plugins/get-enabled-plugins.d.ts +2 -2
  158. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  159. package/dist/loaders/plugins/get-enabled-plugins.js +48 -18
  160. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  161. package/dist/loaders/plugins/get-enabled-plugins.mjs +19 -11
  162. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  163. package/dist/loaders/plugins/get-user-plugins-config.js +2 -2
  164. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  165. package/dist/loaders/plugins/index.d.ts +2 -2
  166. package/dist/loaders/plugins/index.d.ts.map +1 -1
  167. package/dist/loaders/plugins/index.js +34 -7
  168. package/dist/loaders/plugins/index.js.map +1 -1
  169. package/dist/loaders/plugins/index.mjs +9 -1
  170. package/dist/loaders/plugins/index.mjs.map +1 -1
  171. package/dist/loaders/policies.d.ts +2 -2
  172. package/dist/loaders/policies.d.ts.map +1 -1
  173. package/dist/loaders/policies.js.map +1 -1
  174. package/dist/loaders/policies.mjs.map +1 -1
  175. package/dist/loaders/sanitizers.d.ts +2 -2
  176. package/dist/loaders/sanitizers.d.ts.map +1 -1
  177. package/dist/loaders/sanitizers.js.map +1 -1
  178. package/dist/loaders/sanitizers.mjs.map +1 -1
  179. package/dist/loaders/src-index.d.ts +2 -2
  180. package/dist/loaders/src-index.d.ts.map +1 -1
  181. package/dist/loaders/src-index.js.map +1 -1
  182. package/dist/loaders/src-index.mjs.map +1 -1
  183. package/dist/loaders/validators.d.ts +2 -2
  184. package/dist/loaders/validators.d.ts.map +1 -1
  185. package/dist/loaders/validators.js.map +1 -1
  186. package/dist/loaders/validators.mjs.map +1 -1
  187. package/dist/middlewares/body.d.ts +4 -4
  188. package/dist/middlewares/body.d.ts.map +1 -1
  189. package/dist/middlewares/body.js +6 -6
  190. package/dist/middlewares/body.js.map +1 -1
  191. package/dist/middlewares/body.mjs +4 -4
  192. package/dist/middlewares/body.mjs.map +1 -1
  193. package/dist/middlewares/compression.d.ts +2 -2
  194. package/dist/middlewares/compression.d.ts.map +1 -1
  195. package/dist/middlewares/compression.js.map +1 -1
  196. package/dist/middlewares/compression.mjs.map +1 -1
  197. package/dist/middlewares/cors.d.ts +2 -2
  198. package/dist/middlewares/cors.d.ts.map +1 -1
  199. package/dist/middlewares/cors.js +9 -7
  200. package/dist/middlewares/cors.js.map +1 -1
  201. package/dist/middlewares/cors.mjs +9 -7
  202. package/dist/middlewares/cors.mjs.map +1 -1
  203. package/dist/middlewares/errors.d.ts +2 -2
  204. package/dist/middlewares/errors.d.ts.map +1 -1
  205. package/dist/middlewares/errors.js.map +1 -1
  206. package/dist/middlewares/errors.mjs.map +1 -1
  207. package/dist/middlewares/favicon.d.ts +2 -2
  208. package/dist/middlewares/favicon.d.ts.map +1 -1
  209. package/dist/middlewares/favicon.js.map +1 -1
  210. package/dist/middlewares/favicon.mjs.map +1 -1
  211. package/dist/middlewares/index.d.ts +2 -2
  212. package/dist/middlewares/index.d.ts.map +1 -1
  213. package/dist/middlewares/index.js.map +1 -1
  214. package/dist/middlewares/index.mjs.map +1 -1
  215. package/dist/middlewares/ip.d.ts +2 -2
  216. package/dist/middlewares/ip.d.ts.map +1 -1
  217. package/dist/middlewares/ip.js.map +1 -1
  218. package/dist/middlewares/ip.mjs.map +1 -1
  219. package/dist/middlewares/logger.d.ts +2 -2
  220. package/dist/middlewares/logger.d.ts.map +1 -1
  221. package/dist/middlewares/logger.js.map +1 -1
  222. package/dist/middlewares/logger.mjs.map +1 -1
  223. package/dist/middlewares/powered-by.d.ts +2 -2
  224. package/dist/middlewares/powered-by.d.ts.map +1 -1
  225. package/dist/middlewares/powered-by.js.map +1 -1
  226. package/dist/middlewares/powered-by.mjs.map +1 -1
  227. package/dist/middlewares/public.d.ts +2 -2
  228. package/dist/middlewares/public.d.ts.map +1 -1
  229. package/dist/middlewares/public.js +3 -3
  230. package/dist/middlewares/public.js.map +1 -1
  231. package/dist/middlewares/public.mjs +1 -1
  232. package/dist/middlewares/public.mjs.map +1 -1
  233. package/dist/middlewares/query.d.ts +2 -2
  234. package/dist/middlewares/query.d.ts.map +1 -1
  235. package/dist/middlewares/query.js.map +1 -1
  236. package/dist/middlewares/query.mjs.map +1 -1
  237. package/dist/middlewares/response-time.d.ts +2 -2
  238. package/dist/middlewares/response-time.d.ts.map +1 -1
  239. package/dist/middlewares/response-time.js.map +1 -1
  240. package/dist/middlewares/response-time.mjs.map +1 -1
  241. package/dist/middlewares/responses.d.ts +3 -3
  242. package/dist/middlewares/responses.d.ts.map +1 -1
  243. package/dist/middlewares/responses.js +2 -2
  244. package/dist/middlewares/responses.js.map +1 -1
  245. package/dist/middlewares/responses.mjs.map +1 -1
  246. package/dist/middlewares/security.d.ts +2 -2
  247. package/dist/middlewares/security.d.ts.map +1 -1
  248. package/dist/middlewares/security.js +13 -6
  249. package/dist/middlewares/security.js.map +1 -1
  250. package/dist/middlewares/security.mjs +12 -5
  251. package/dist/middlewares/security.mjs.map +1 -1
  252. package/dist/middlewares/session.d.ts +2 -2
  253. package/dist/middlewares/session.d.ts.map +1 -1
  254. package/dist/middlewares/session.js +2 -2
  255. package/dist/middlewares/session.js.map +1 -1
  256. package/dist/middlewares/session.mjs.map +1 -1
  257. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +33 -0
  258. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -0
  259. package/dist/migrations/database/5.0.0-discard-drafts.js +106 -0
  260. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -0
  261. package/dist/migrations/database/5.0.0-discard-drafts.mjs +106 -0
  262. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -0
  263. package/dist/migrations/draft-publish.d.ts +17 -0
  264. package/dist/migrations/draft-publish.d.ts.map +1 -0
  265. package/dist/migrations/draft-publish.js +42 -0
  266. package/dist/migrations/draft-publish.js.map +1 -0
  267. package/dist/migrations/draft-publish.mjs +42 -0
  268. package/dist/migrations/draft-publish.mjs.map +1 -0
  269. package/dist/migrations/i18n.d.ts +5 -0
  270. package/dist/migrations/i18n.d.ts.map +1 -0
  271. package/dist/migrations/i18n.js +54 -0
  272. package/dist/migrations/i18n.js.map +1 -0
  273. package/dist/migrations/i18n.mjs +54 -0
  274. package/dist/migrations/i18n.mjs.map +1 -0
  275. package/dist/migrations/index.d.ts +5 -0
  276. package/dist/migrations/index.d.ts.map +1 -0
  277. package/dist/migrations/index.js +15 -0
  278. package/dist/migrations/index.js.map +1 -0
  279. package/dist/migrations/index.mjs +15 -0
  280. package/dist/migrations/index.mjs.map +1 -0
  281. package/dist/providers/admin.d.ts +3 -0
  282. package/dist/providers/admin.d.ts.map +1 -0
  283. package/dist/providers/admin.js +20 -0
  284. package/dist/providers/admin.js.map +1 -0
  285. package/dist/providers/admin.mjs +21 -0
  286. package/dist/providers/admin.mjs.map +1 -0
  287. package/dist/providers/coreStore.d.ts +3 -0
  288. package/dist/providers/coreStore.d.ts.map +1 -0
  289. package/dist/providers/coreStore.js +11 -0
  290. package/dist/providers/coreStore.js.map +1 -0
  291. package/dist/providers/coreStore.mjs +12 -0
  292. package/dist/providers/coreStore.mjs.map +1 -0
  293. package/dist/providers/cron.d.ts +3 -0
  294. package/dist/providers/cron.d.ts.map +1 -0
  295. package/dist/providers/cron.js +20 -0
  296. package/dist/providers/cron.js.map +1 -0
  297. package/dist/providers/cron.mjs +21 -0
  298. package/dist/providers/cron.mjs.map +1 -0
  299. package/dist/providers/index.d.ts +3 -0
  300. package/dist/providers/index.d.ts.map +1 -0
  301. package/dist/providers/index.js +11 -0
  302. package/dist/providers/index.js.map +1 -0
  303. package/dist/providers/index.mjs +11 -0
  304. package/dist/providers/index.mjs.map +1 -0
  305. package/dist/providers/provider.d.ts +9 -0
  306. package/dist/providers/provider.d.ts.map +1 -0
  307. package/dist/providers/provider.js +5 -0
  308. package/dist/providers/provider.js.map +1 -0
  309. package/dist/providers/provider.mjs +5 -0
  310. package/dist/providers/provider.mjs.map +1 -0
  311. package/dist/providers/registries.d.ts +3 -0
  312. package/dist/providers/registries.d.ts.map +1 -0
  313. package/dist/providers/registries.js +35 -0
  314. package/dist/providers/registries.js.map +1 -0
  315. package/dist/providers/registries.mjs +36 -0
  316. package/dist/providers/registries.mjs.map +1 -0
  317. package/dist/providers/telemetry.d.ts +3 -0
  318. package/dist/providers/telemetry.d.ts.map +1 -0
  319. package/dist/providers/telemetry.js +19 -0
  320. package/dist/providers/telemetry.js.map +1 -0
  321. package/dist/providers/telemetry.mjs +20 -0
  322. package/dist/providers/telemetry.mjs.map +1 -0
  323. package/dist/providers/webhooks.d.ts +3 -0
  324. package/dist/providers/webhooks.d.ts.map +1 -0
  325. package/dist/providers/webhooks.js +30 -0
  326. package/dist/providers/webhooks.js.map +1 -0
  327. package/dist/providers/webhooks.mjs +31 -0
  328. package/dist/providers/webhooks.mjs.map +1 -0
  329. package/dist/registries/apis.d.ts +2 -2
  330. package/dist/registries/apis.d.ts.map +1 -1
  331. package/dist/registries/apis.js +2 -2
  332. package/dist/registries/apis.js.map +1 -1
  333. package/dist/registries/apis.mjs.map +1 -1
  334. package/dist/registries/components.d.ts +6 -6
  335. package/dist/registries/components.d.ts.map +1 -1
  336. package/dist/registries/components.js +2 -2
  337. package/dist/registries/components.js.map +1 -1
  338. package/dist/registries/components.mjs.map +1 -1
  339. package/dist/registries/content-types.d.ts +5 -5
  340. package/dist/registries/content-types.d.ts.map +1 -1
  341. package/dist/registries/content-types.js +4 -5
  342. package/dist/registries/content-types.js.map +1 -1
  343. package/dist/registries/content-types.mjs +1 -2
  344. package/dist/registries/content-types.mjs.map +1 -1
  345. package/dist/registries/controllers.d.ts +10 -10
  346. package/dist/registries/controllers.d.ts.map +1 -1
  347. package/dist/registries/controllers.js +3 -3
  348. package/dist/registries/controllers.js.map +1 -1
  349. package/dist/registries/controllers.mjs.map +1 -1
  350. package/dist/registries/custom-fields.d.ts +3 -3
  351. package/dist/registries/custom-fields.d.ts.map +1 -1
  352. package/dist/registries/custom-fields.js +4 -4
  353. package/dist/registries/custom-fields.js.map +1 -1
  354. package/dist/registries/custom-fields.mjs.map +1 -1
  355. package/dist/registries/hooks.js +2 -2
  356. package/dist/registries/hooks.js.map +1 -1
  357. package/dist/registries/index.d.ts +0 -1
  358. package/dist/registries/index.d.ts.map +1 -1
  359. package/dist/registries/middlewares.d.ts +6 -6
  360. package/dist/registries/middlewares.d.ts.map +1 -1
  361. package/dist/registries/middlewares.js +3 -3
  362. package/dist/registries/middlewares.js.map +1 -1
  363. package/dist/registries/middlewares.mjs.map +1 -1
  364. package/dist/registries/modules.d.ts +2 -2
  365. package/dist/registries/modules.d.ts.map +1 -1
  366. package/dist/registries/modules.js +3 -3
  367. package/dist/registries/modules.js.map +1 -1
  368. package/dist/registries/modules.mjs.map +1 -1
  369. package/dist/registries/plugins.d.ts +5 -5
  370. package/dist/registries/plugins.d.ts.map +1 -1
  371. package/dist/registries/plugins.js +2 -2
  372. package/dist/registries/plugins.js.map +1 -1
  373. package/dist/registries/plugins.mjs.map +1 -1
  374. package/dist/registries/policies.d.ts +22 -10
  375. package/dist/registries/policies.d.ts.map +1 -1
  376. package/dist/registries/policies.js +66 -20
  377. package/dist/registries/policies.js.map +1 -1
  378. package/dist/registries/policies.mjs +65 -19
  379. package/dist/registries/policies.mjs.map +1 -1
  380. package/dist/registries/services.d.ts +8 -8
  381. package/dist/registries/services.d.ts.map +1 -1
  382. package/dist/registries/services.js +3 -3
  383. package/dist/registries/services.js.map +1 -1
  384. package/dist/registries/services.mjs.map +1 -1
  385. package/dist/services/auth/index.d.ts +4 -4
  386. package/dist/services/auth/index.d.ts.map +1 -1
  387. package/dist/services/auth/index.js +3 -3
  388. package/dist/services/auth/index.js.map +1 -1
  389. package/dist/services/auth/index.mjs.map +1 -1
  390. package/dist/services/config.d.ts +3 -0
  391. package/dist/services/config.d.ts.map +1 -0
  392. package/dist/services/config.js +47 -0
  393. package/dist/services/config.js.map +1 -0
  394. package/dist/services/config.mjs +47 -0
  395. package/dist/services/config.mjs.map +1 -0
  396. package/dist/services/content-api/index.d.ts +31 -15
  397. package/dist/services/content-api/index.d.ts.map +1 -1
  398. package/dist/services/content-api/index.js +28 -2
  399. package/dist/services/content-api/index.js.map +1 -1
  400. package/dist/services/content-api/index.mjs +28 -2
  401. package/dist/services/content-api/index.mjs.map +1 -1
  402. package/dist/services/content-api/permissions/index.d.ts +13 -15
  403. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  404. package/dist/services/content-api/permissions/index.js +1 -1
  405. package/dist/services/content-api/permissions/index.js.map +1 -1
  406. package/dist/services/content-api/permissions/index.mjs +1 -1
  407. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  408. package/dist/services/content-api/permissions/providers/action.d.ts +5 -6
  409. package/dist/services/content-api/permissions/providers/action.d.ts.map +1 -1
  410. package/dist/services/content-api/permissions/providers/condition.d.ts +5 -6
  411. package/dist/services/content-api/permissions/providers/condition.d.ts.map +1 -1
  412. package/dist/services/core-store.d.ts.map +1 -1
  413. package/dist/services/core-store.js +3 -3
  414. package/dist/services/core-store.js.map +1 -1
  415. package/dist/services/cron.d.ts +5 -5
  416. package/dist/services/cron.d.ts.map +1 -1
  417. package/dist/services/cron.js +12 -7
  418. package/dist/services/cron.js.map +1 -1
  419. package/dist/services/cron.mjs +9 -4
  420. package/dist/services/cron.mjs.map +1 -1
  421. package/dist/services/custom-fields.d.ts +2 -2
  422. package/dist/services/custom-fields.d.ts.map +1 -1
  423. package/dist/services/custom-fields.js.map +1 -1
  424. package/dist/services/custom-fields.mjs.map +1 -1
  425. package/dist/services/document-service/attributes/index.d.ts +6 -0
  426. package/dist/services/document-service/attributes/index.d.ts.map +1 -0
  427. package/dist/services/{entity-service → document-service}/attributes/index.js +5 -5
  428. package/dist/services/document-service/attributes/index.js.map +1 -0
  429. package/dist/services/{entity-service → document-service}/attributes/index.mjs +5 -5
  430. package/dist/services/document-service/attributes/index.mjs.map +1 -0
  431. package/dist/services/document-service/attributes/transforms.d.ts +10 -0
  432. package/dist/services/document-service/attributes/transforms.d.ts.map +1 -0
  433. package/dist/services/{entity-service → document-service}/attributes/transforms.js +3 -3
  434. package/dist/services/document-service/attributes/transforms.js.map +1 -0
  435. package/dist/services/document-service/attributes/transforms.mjs.map +1 -0
  436. package/dist/services/document-service/common.d.ts +4 -0
  437. package/dist/services/document-service/common.d.ts.map +1 -0
  438. package/dist/services/document-service/common.js +7 -0
  439. package/dist/services/document-service/common.js.map +1 -0
  440. package/dist/services/document-service/common.mjs +7 -0
  441. package/dist/services/document-service/common.mjs.map +1 -0
  442. package/dist/services/document-service/components.d.ts +25 -1
  443. package/dist/services/document-service/components.d.ts.map +1 -1
  444. package/dist/services/{entity-service → document-service}/components.js +57 -153
  445. package/dist/services/document-service/components.js.map +1 -0
  446. package/dist/services/{entity-service → document-service}/components.mjs +48 -144
  447. package/dist/services/document-service/components.mjs.map +1 -0
  448. package/dist/services/document-service/draft-and-publish.d.ts +10 -0
  449. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -0
  450. package/dist/services/document-service/draft-and-publish.js +69 -0
  451. package/dist/services/document-service/draft-and-publish.js.map +1 -0
  452. package/dist/services/document-service/draft-and-publish.mjs +69 -0
  453. package/dist/services/document-service/draft-and-publish.mjs.map +1 -0
  454. package/dist/services/document-service/entries.d.ts +10 -0
  455. package/dist/services/document-service/entries.d.ts.map +1 -0
  456. package/dist/services/document-service/entries.js +95 -0
  457. package/dist/services/document-service/entries.js.map +1 -0
  458. package/dist/services/document-service/entries.mjs +95 -0
  459. package/dist/services/document-service/entries.mjs.map +1 -0
  460. package/dist/services/document-service/events.d.ts +25 -0
  461. package/dist/services/document-service/events.d.ts.map +1 -0
  462. package/dist/services/document-service/events.js +47 -0
  463. package/dist/services/document-service/events.js.map +1 -0
  464. package/dist/services/document-service/events.mjs +47 -0
  465. package/dist/services/document-service/events.mjs.map +1 -0
  466. package/dist/services/document-service/{document-service.d.ts → index.d.ts} +4 -7
  467. package/dist/services/document-service/index.d.ts.map +1 -0
  468. package/dist/services/document-service/index.js +36 -0
  469. package/dist/services/document-service/index.js.map +1 -0
  470. package/dist/services/document-service/index.mjs +36 -0
  471. package/dist/services/document-service/index.mjs.map +1 -0
  472. package/dist/services/document-service/internationalization.d.ts +8 -0
  473. package/dist/services/document-service/internationalization.d.ts.map +1 -0
  474. package/dist/services/document-service/internationalization.js +63 -0
  475. package/dist/services/document-service/internationalization.js.map +1 -0
  476. package/dist/services/document-service/internationalization.mjs +63 -0
  477. package/dist/services/document-service/internationalization.mjs.map +1 -0
  478. package/dist/services/document-service/middlewares/errors.d.ts +6 -0
  479. package/dist/services/document-service/middlewares/errors.d.ts.map +1 -0
  480. package/dist/services/document-service/middlewares/errors.js +25 -0
  481. package/dist/services/document-service/middlewares/errors.js.map +1 -0
  482. package/dist/services/document-service/middlewares/errors.mjs +25 -0
  483. package/dist/services/document-service/middlewares/errors.mjs.map +1 -0
  484. package/dist/services/document-service/middlewares/index.d.ts +2 -10
  485. package/dist/services/document-service/middlewares/index.d.ts.map +1 -1
  486. package/dist/services/document-service/middlewares/middleware-manager.d.ts +10 -0
  487. package/dist/services/document-service/middlewares/middleware-manager.d.ts.map +1 -0
  488. package/dist/services/document-service/middlewares/middleware-manager.js +49 -0
  489. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -0
  490. package/dist/services/document-service/middlewares/middleware-manager.mjs +49 -0
  491. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -0
  492. package/dist/services/document-service/params.d.ts +3 -1
  493. package/dist/services/document-service/params.d.ts.map +1 -1
  494. package/dist/services/{entity-service → document-service}/params.js +2 -2
  495. package/dist/services/document-service/params.js.map +1 -0
  496. package/dist/services/{entity-service → document-service}/params.mjs +1 -1
  497. package/dist/services/document-service/params.mjs.map +1 -0
  498. package/dist/services/document-service/repository.d.ts +3 -0
  499. package/dist/services/document-service/repository.d.ts.map +1 -0
  500. package/dist/services/document-service/repository.js +329 -0
  501. package/dist/services/document-service/repository.js.map +1 -0
  502. package/dist/services/document-service/repository.mjs +329 -0
  503. package/dist/services/document-service/repository.mjs.map +1 -0
  504. package/dist/services/document-service/transform/data.d.ts +5 -0
  505. package/dist/services/document-service/transform/data.d.ts.map +1 -0
  506. package/dist/services/document-service/transform/data.js +15 -0
  507. package/dist/services/document-service/transform/data.js.map +1 -0
  508. package/dist/services/document-service/transform/data.mjs +15 -0
  509. package/dist/services/document-service/transform/data.mjs.map +1 -0
  510. package/dist/services/document-service/transform/fields.d.ts +5 -0
  511. package/dist/services/document-service/transform/fields.d.ts.map +1 -0
  512. package/dist/services/document-service/transform/fields.js +24 -0
  513. package/dist/services/document-service/transform/fields.js.map +1 -0
  514. package/dist/services/document-service/transform/fields.mjs +24 -0
  515. package/dist/services/document-service/transform/fields.mjs.map +1 -0
  516. package/dist/services/document-service/transform/id-map.d.ts +23 -0
  517. package/dist/services/document-service/transform/id-map.d.ts.map +1 -0
  518. package/dist/services/document-service/transform/id-map.js +87 -0
  519. package/dist/services/document-service/transform/id-map.js.map +1 -0
  520. package/dist/services/document-service/transform/id-map.mjs +87 -0
  521. package/dist/services/document-service/transform/id-map.mjs.map +1 -0
  522. package/dist/services/document-service/transform/id-transform.d.ts +5 -0
  523. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -0
  524. package/dist/services/document-service/transform/id-transform.js +33 -0
  525. package/dist/services/document-service/transform/id-transform.js.map +1 -0
  526. package/dist/services/document-service/transform/id-transform.mjs +33 -0
  527. package/dist/services/document-service/transform/id-transform.mjs.map +1 -0
  528. package/dist/services/document-service/transform/populate.d.ts +6 -0
  529. package/dist/services/document-service/transform/populate.d.ts.map +1 -0
  530. package/dist/services/document-service/transform/populate.js +21 -0
  531. package/dist/services/document-service/transform/populate.js.map +1 -0
  532. package/dist/services/document-service/transform/populate.mjs +21 -0
  533. package/dist/services/document-service/transform/populate.mjs.map +1 -0
  534. package/dist/services/document-service/transform/query.d.ts +5 -0
  535. package/dist/services/document-service/transform/query.d.ts.map +1 -0
  536. package/dist/services/document-service/transform/query.js +9 -0
  537. package/dist/services/document-service/transform/query.js.map +1 -0
  538. package/dist/services/document-service/transform/query.mjs +9 -0
  539. package/dist/services/document-service/transform/query.mjs.map +1 -0
  540. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +14 -0
  541. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -0
  542. package/dist/services/document-service/transform/relations/extract/data-ids.js +57 -0
  543. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -0
  544. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +57 -0
  545. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -0
  546. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts +14 -0
  547. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -0
  548. package/dist/services/document-service/transform/relations/transform/data-ids.js +76 -0
  549. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -0
  550. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +76 -0
  551. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -0
  552. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts +9 -0
  553. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts.map +1 -0
  554. package/dist/services/document-service/transform/relations/transform/default-locale.js +32 -0
  555. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -0
  556. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +32 -0
  557. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -0
  558. package/dist/services/document-service/transform/relations/utils/data.d.ts +4 -0
  559. package/dist/services/document-service/transform/relations/utils/data.d.ts.map +1 -0
  560. package/dist/services/document-service/transform/relations/utils/dp.d.ts +10 -0
  561. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -0
  562. package/dist/services/document-service/transform/relations/utils/dp.js +30 -0
  563. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -0
  564. package/dist/services/document-service/transform/relations/utils/dp.mjs +30 -0
  565. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -0
  566. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +10 -0
  567. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -0
  568. package/dist/services/document-service/transform/relations/utils/i18n.js +25 -0
  569. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -0
  570. package/dist/services/document-service/transform/relations/utils/i18n.mjs +25 -0
  571. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -0
  572. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts +6 -0
  573. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -0
  574. package/dist/services/document-service/transform/relations/utils/map-relation.js +91 -0
  575. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -0
  576. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +91 -0
  577. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -0
  578. package/dist/services/document-service/transform/relations/utils/types.d.ts +21 -0
  579. package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -0
  580. package/dist/services/document-service/transform/types.d.ts +13 -0
  581. package/dist/services/document-service/transform/types.d.ts.map +1 -0
  582. package/dist/services/document-service/utils/populate.d.ts +10 -0
  583. package/dist/services/document-service/utils/populate.d.ts.map +1 -0
  584. package/dist/services/document-service/utils/populate.js +47 -0
  585. package/dist/services/document-service/utils/populate.js.map +1 -0
  586. package/dist/services/document-service/utils/populate.mjs +47 -0
  587. package/dist/services/document-service/utils/populate.mjs.map +1 -0
  588. package/dist/services/document-service/utils/unidirectional-relations.d.ts +36 -0
  589. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -0
  590. package/dist/services/document-service/utils/unidirectional-relations.js +69 -0
  591. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -0
  592. package/dist/services/document-service/utils/unidirectional-relations.mjs +69 -0
  593. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -0
  594. package/dist/services/entity-service/index.d.ts +4 -6
  595. package/dist/services/entity-service/index.d.ts.map +1 -1
  596. package/dist/services/entity-service/index.js +44 -203
  597. package/dist/services/entity-service/index.js.map +1 -1
  598. package/dist/services/entity-service/index.mjs +38 -197
  599. package/dist/services/entity-service/index.mjs.map +1 -1
  600. package/dist/services/entity-validator/blocks-validator.d.ts +1 -2
  601. package/dist/services/entity-validator/blocks-validator.d.ts.map +1 -1
  602. package/dist/services/entity-validator/blocks-validator.js +26 -5
  603. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  604. package/dist/services/entity-validator/blocks-validator.mjs +25 -5
  605. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  606. package/dist/services/entity-validator/index.d.ts +16 -2
  607. package/dist/services/entity-validator/index.d.ts.map +1 -1
  608. package/dist/services/entity-validator/index.js +197 -130
  609. package/dist/services/entity-validator/index.js.map +1 -1
  610. package/dist/services/entity-validator/index.mjs +192 -125
  611. package/dist/services/entity-validator/index.mjs.map +1 -1
  612. package/dist/services/entity-validator/validators.d.ts +36 -25
  613. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  614. package/dist/services/entity-validator/validators.js +153 -34
  615. package/dist/services/entity-validator/validators.js.map +1 -1
  616. package/dist/services/entity-validator/validators.mjs +145 -26
  617. package/dist/services/entity-validator/validators.mjs.map +1 -1
  618. package/dist/services/event-hub.d.ts +1 -0
  619. package/dist/services/event-hub.d.ts.map +1 -1
  620. package/dist/services/event-hub.js +9 -4
  621. package/dist/services/event-hub.js.map +1 -1
  622. package/dist/services/event-hub.mjs +9 -4
  623. package/dist/services/event-hub.mjs.map +1 -1
  624. package/dist/services/features.d.ts +3 -3
  625. package/dist/services/features.d.ts.map +1 -1
  626. package/dist/services/features.js.map +1 -1
  627. package/dist/services/features.mjs.map +1 -1
  628. package/dist/services/fs.d.ts +2 -2
  629. package/dist/services/fs.d.ts.map +1 -1
  630. package/dist/services/fs.js.map +1 -1
  631. package/dist/services/fs.mjs.map +1 -1
  632. package/dist/services/metrics/admin-user-hash.d.ts +2 -2
  633. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  634. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  635. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  636. package/dist/services/metrics/index.d.ts +2 -2
  637. package/dist/services/metrics/index.d.ts.map +1 -1
  638. package/dist/services/metrics/index.js.map +1 -1
  639. package/dist/services/metrics/index.mjs.map +1 -1
  640. package/dist/services/metrics/middleware.d.ts +2 -2
  641. package/dist/services/metrics/middleware.d.ts.map +1 -1
  642. package/dist/services/metrics/middleware.js.map +1 -1
  643. package/dist/services/metrics/middleware.mjs.map +1 -1
  644. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  645. package/dist/services/metrics/rate-limiter.js.map +1 -1
  646. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  647. package/dist/services/metrics/sender.d.ts +3 -3
  648. package/dist/services/metrics/sender.d.ts.map +1 -1
  649. package/dist/services/metrics/sender.js.map +1 -1
  650. package/dist/services/metrics/sender.mjs.map +1 -1
  651. package/dist/services/query-params.d.ts +7 -0
  652. package/dist/services/query-params.d.ts.map +1 -0
  653. package/dist/services/query-params.js +12 -0
  654. package/dist/services/query-params.js.map +1 -0
  655. package/dist/services/query-params.mjs +13 -0
  656. package/dist/services/query-params.mjs.map +1 -0
  657. package/dist/services/reloader.d.ts +7 -0
  658. package/dist/services/reloader.d.ts.map +1 -0
  659. package/dist/services/reloader.js +36 -0
  660. package/dist/services/reloader.js.map +1 -0
  661. package/dist/services/reloader.mjs +36 -0
  662. package/dist/services/reloader.mjs.map +1 -0
  663. package/dist/services/server/admin-api.d.ts +3 -3
  664. package/dist/services/server/admin-api.d.ts.map +1 -1
  665. package/dist/services/server/admin-api.js.map +1 -1
  666. package/dist/services/server/admin-api.mjs.map +1 -1
  667. package/dist/services/server/api.d.ts +3 -3
  668. package/dist/services/server/api.d.ts.map +1 -1
  669. package/dist/services/server/api.js.map +1 -1
  670. package/dist/services/server/api.mjs.map +1 -1
  671. package/dist/services/server/compose-endpoint.d.ts +2 -2
  672. package/dist/services/server/compose-endpoint.d.ts.map +1 -1
  673. package/dist/services/server/compose-endpoint.js +11 -9
  674. package/dist/services/server/compose-endpoint.js.map +1 -1
  675. package/dist/services/server/compose-endpoint.mjs +5 -3
  676. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  677. package/dist/services/server/content-api.d.ts +3 -3
  678. package/dist/services/server/content-api.d.ts.map +1 -1
  679. package/dist/services/server/content-api.js.map +1 -1
  680. package/dist/services/server/content-api.mjs.map +1 -1
  681. package/dist/services/server/http-server.d.ts +2 -2
  682. package/dist/services/server/http-server.d.ts.map +1 -1
  683. package/dist/services/server/http-server.js.map +1 -1
  684. package/dist/services/server/http-server.mjs.map +1 -1
  685. package/dist/services/server/index.d.ts +2 -2
  686. package/dist/services/server/index.d.ts.map +1 -1
  687. package/dist/services/server/index.js +2 -3
  688. package/dist/services/server/index.js.map +1 -1
  689. package/dist/services/server/index.mjs +2 -3
  690. package/dist/services/server/index.mjs.map +1 -1
  691. package/dist/services/server/koa.d.ts.map +1 -1
  692. package/dist/services/server/koa.js +4 -4
  693. package/dist/services/server/koa.js.map +1 -1
  694. package/dist/services/server/koa.mjs +1 -1
  695. package/dist/services/server/koa.mjs.map +1 -1
  696. package/dist/services/server/middleware.d.ts +4 -4
  697. package/dist/services/server/middleware.d.ts.map +1 -1
  698. package/dist/services/server/middleware.js +3 -3
  699. package/dist/services/server/middleware.js.map +1 -1
  700. package/dist/services/server/middleware.mjs.map +1 -1
  701. package/dist/services/server/policy.d.ts +3 -3
  702. package/dist/services/server/policy.d.ts.map +1 -1
  703. package/dist/services/server/policy.js +4 -4
  704. package/dist/services/server/policy.js.map +1 -1
  705. package/dist/services/server/policy.mjs +4 -4
  706. package/dist/services/server/policy.mjs.map +1 -1
  707. package/dist/services/server/register-middlewares.d.ts +2 -2
  708. package/dist/services/server/register-middlewares.d.ts.map +1 -1
  709. package/dist/services/server/register-middlewares.js.map +1 -1
  710. package/dist/services/server/register-middlewares.mjs.map +1 -1
  711. package/dist/services/server/register-routes.d.ts +2 -2
  712. package/dist/services/server/register-routes.d.ts.map +1 -1
  713. package/dist/services/server/register-routes.js +3 -3
  714. package/dist/services/server/register-routes.js.map +1 -1
  715. package/dist/services/server/register-routes.mjs +3 -3
  716. package/dist/services/server/register-routes.mjs.map +1 -1
  717. package/dist/services/server/routing.d.ts +5 -5
  718. package/dist/services/server/routing.d.ts.map +1 -1
  719. package/dist/services/server/routing.js +2 -2
  720. package/dist/services/server/routing.js.map +1 -1
  721. package/dist/services/server/routing.mjs.map +1 -1
  722. package/dist/services/utils/dynamic-zones.d.ts.map +1 -1
  723. package/dist/services/utils/dynamic-zones.js +7 -6
  724. package/dist/services/utils/dynamic-zones.js.map +1 -1
  725. package/dist/services/utils/dynamic-zones.mjs +2 -1
  726. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  727. package/dist/services/webhook-runner.d.ts +2 -1
  728. package/dist/services/webhook-runner.d.ts.map +1 -1
  729. package/dist/services/webhook-runner.js.map +1 -1
  730. package/dist/services/webhook-runner.mjs.map +1 -1
  731. package/dist/services/webhook-store.d.ts +2 -8
  732. package/dist/services/webhook-store.d.ts.map +1 -1
  733. package/dist/services/webhook-store.js +15 -9
  734. package/dist/services/webhook-store.js.map +1 -1
  735. package/dist/services/webhook-store.mjs +15 -9
  736. package/dist/services/webhook-store.mjs.map +1 -1
  737. package/dist/utils/convert-custom-field-type.d.ts +2 -2
  738. package/dist/utils/convert-custom-field-type.d.ts.map +1 -1
  739. package/dist/utils/convert-custom-field-type.js.map +1 -1
  740. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  741. package/dist/utils/cron.js +3 -3
  742. package/dist/utils/cron.js.map +1 -1
  743. package/dist/utils/fetch.d.ts +3 -3
  744. package/dist/utils/fetch.d.ts.map +1 -1
  745. package/dist/utils/fetch.js +4 -3
  746. package/dist/utils/fetch.js.map +1 -1
  747. package/dist/utils/fetch.mjs +4 -3
  748. package/dist/utils/fetch.mjs.map +1 -1
  749. package/dist/utils/filepath-to-prop-path.d.ts +1 -1
  750. package/dist/utils/filepath-to-prop-path.d.ts.map +1 -1
  751. package/dist/utils/filepath-to-prop-path.js +27 -6
  752. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  753. package/dist/utils/filepath-to-prop-path.mjs +25 -5
  754. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  755. package/dist/utils/index.d.ts +2 -1
  756. package/dist/utils/index.d.ts.map +1 -1
  757. package/dist/utils/is-initialized.d.ts +2 -2
  758. package/dist/utils/is-initialized.d.ts.map +1 -1
  759. package/dist/utils/is-initialized.js +4 -4
  760. package/dist/utils/is-initialized.js.map +1 -1
  761. package/dist/utils/is-initialized.mjs +1 -1
  762. package/dist/utils/is-initialized.mjs.map +1 -1
  763. package/dist/utils/load-config-file.js +1 -1
  764. package/dist/utils/load-config-file.js.map +1 -1
  765. package/dist/utils/load-config-file.mjs +2 -2
  766. package/dist/utils/load-config-file.mjs.map +1 -1
  767. package/dist/utils/load-files.d.ts.map +1 -1
  768. package/dist/utils/open-browser.d.ts +2 -2
  769. package/dist/utils/open-browser.d.ts.map +1 -1
  770. package/dist/utils/open-browser.js.map +1 -1
  771. package/dist/utils/open-browser.mjs.map +1 -1
  772. package/dist/utils/resolve-working-dirs.d.ts +19 -0
  773. package/dist/utils/resolve-working-dirs.d.ts.map +1 -0
  774. package/dist/utils/resolve-working-dirs.js +13 -0
  775. package/dist/utils/resolve-working-dirs.js.map +1 -0
  776. package/dist/utils/resolve-working-dirs.mjs +11 -0
  777. package/dist/utils/resolve-working-dirs.mjs.map +1 -0
  778. package/dist/utils/signals.d.ts +2 -2
  779. package/dist/utils/signals.d.ts.map +1 -1
  780. package/dist/utils/signals.js.map +1 -1
  781. package/dist/utils/signals.mjs.map +1 -1
  782. package/dist/utils/startup-logger.d.ts +2 -2
  783. package/dist/utils/startup-logger.d.ts.map +1 -1
  784. package/dist/utils/startup-logger.js +4 -4
  785. package/dist/utils/startup-logger.js.map +1 -1
  786. package/dist/utils/startup-logger.mjs +3 -3
  787. package/dist/utils/startup-logger.mjs.map +1 -1
  788. package/dist/utils/transform-content-types-to-models.d.ts +433 -3
  789. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  790. package/dist/utils/transform-content-types-to-models.js +138 -48
  791. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  792. package/dist/utils/transform-content-types-to-models.mjs +137 -48
  793. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  794. package/dist/utils/update-notifier/index.d.ts +2 -7
  795. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  796. package/dist/utils/update-notifier/index.js +11 -14
  797. package/dist/utils/update-notifier/index.js.map +1 -1
  798. package/dist/utils/update-notifier/index.mjs +11 -14
  799. package/dist/utils/update-notifier/index.mjs.map +1 -1
  800. package/package.json +36 -32
  801. package/dist/core-api/service/get-fetch-params.d.ts +0 -7
  802. package/dist/core-api/service/get-fetch-params.d.ts.map +0 -1
  803. package/dist/core-api/service/get-fetch-params.js +0 -14
  804. package/dist/core-api/service/get-fetch-params.js.map +0 -1
  805. package/dist/core-api/service/get-fetch-params.mjs +0 -14
  806. package/dist/core-api/service/get-fetch-params.mjs.map +0 -1
  807. package/dist/registries/config.d.ts +0 -4
  808. package/dist/registries/config.d.ts.map +0 -1
  809. package/dist/registries/config.js +0 -23
  810. package/dist/registries/config.js.map +0 -1
  811. package/dist/registries/config.mjs +0 -22
  812. package/dist/registries/config.mjs.map +0 -1
  813. package/dist/services/document-service/document-engine.d.ts +0 -8
  814. package/dist/services/document-service/document-engine.d.ts.map +0 -1
  815. package/dist/services/document-service/document-engine.js +0 -200
  816. package/dist/services/document-service/document-engine.js.map +0 -1
  817. package/dist/services/document-service/document-engine.mjs +0 -201
  818. package/dist/services/document-service/document-engine.mjs.map +0 -1
  819. package/dist/services/document-service/document-service.d.ts.map +0 -1
  820. package/dist/services/document-service/document-service.js +0 -132
  821. package/dist/services/document-service/document-service.js.map +0 -1
  822. package/dist/services/document-service/document-service.mjs +0 -132
  823. package/dist/services/document-service/document-service.mjs.map +0 -1
  824. package/dist/services/document-service/middlewares/defaults/draft-and-publish.d.ts +0 -26
  825. package/dist/services/document-service/middlewares/defaults/draft-and-publish.d.ts.map +0 -1
  826. package/dist/services/document-service/middlewares/defaults/draft-and-publish.js +0 -58
  827. package/dist/services/document-service/middlewares/defaults/draft-and-publish.js.map +0 -1
  828. package/dist/services/document-service/middlewares/defaults/draft-and-publish.mjs +0 -58
  829. package/dist/services/document-service/middlewares/defaults/draft-and-publish.mjs.map +0 -1
  830. package/dist/services/document-service/middlewares/defaults/index.d.ts +0 -3
  831. package/dist/services/document-service/middlewares/defaults/index.d.ts.map +0 -1
  832. package/dist/services/document-service/middlewares/defaults/index.js +0 -82
  833. package/dist/services/document-service/middlewares/defaults/index.js.map +0 -1
  834. package/dist/services/document-service/middlewares/defaults/index.mjs +0 -82
  835. package/dist/services/document-service/middlewares/defaults/index.mjs.map +0 -1
  836. package/dist/services/document-service/middlewares/defaults/locales.d.ts +0 -18
  837. package/dist/services/document-service/middlewares/defaults/locales.d.ts.map +0 -1
  838. package/dist/services/document-service/middlewares/defaults/locales.js +0 -50
  839. package/dist/services/document-service/middlewares/defaults/locales.js.map +0 -1
  840. package/dist/services/document-service/middlewares/defaults/locales.mjs +0 -50
  841. package/dist/services/document-service/middlewares/defaults/locales.mjs.map +0 -1
  842. package/dist/services/document-service/middlewares/index.js +0 -59
  843. package/dist/services/document-service/middlewares/index.js.map +0 -1
  844. package/dist/services/document-service/middlewares/index.mjs +0 -59
  845. package/dist/services/document-service/middlewares/index.mjs.map +0 -1
  846. package/dist/services/entity-service/attributes/index.d.ts +0 -6
  847. package/dist/services/entity-service/attributes/index.d.ts.map +0 -1
  848. package/dist/services/entity-service/attributes/index.js.map +0 -1
  849. package/dist/services/entity-service/attributes/index.mjs.map +0 -1
  850. package/dist/services/entity-service/attributes/transforms.d.ts +0 -10
  851. package/dist/services/entity-service/attributes/transforms.d.ts.map +0 -1
  852. package/dist/services/entity-service/attributes/transforms.js.map +0 -1
  853. package/dist/services/entity-service/attributes/transforms.mjs.map +0 -1
  854. package/dist/services/entity-service/components.d.ts +0 -23
  855. package/dist/services/entity-service/components.d.ts.map +0 -1
  856. package/dist/services/entity-service/components.js.map +0 -1
  857. package/dist/services/entity-service/components.mjs.map +0 -1
  858. package/dist/services/entity-service/params.d.ts +0 -8
  859. package/dist/services/entity-service/params.d.ts.map +0 -1
  860. package/dist/services/entity-service/params.js.map +0 -1
  861. package/dist/services/entity-service/params.mjs.map +0 -1
  862. package/dist/services/utils/upload-files.d.ts +0 -8
  863. package/dist/services/utils/upload-files.d.ts.map +0 -1
  864. package/dist/services/utils/upload-files.js +0 -64
  865. package/dist/services/utils/upload-files.js.map +0 -1
  866. package/dist/services/utils/upload-files.mjs +0 -63
  867. package/dist/services/utils/upload-files.mjs.map +0 -1
  868. package/dist/utils/get-dirs.d.ts +0 -9
  869. package/dist/utils/get-dirs.d.ts.map +0 -1
  870. package/dist/utils/get-dirs.js.map +0 -1
  871. package/dist/utils/get-dirs.mjs.map +0 -1
  872. /package/dist/services/{entity-service → document-service}/attributes/transforms.mjs +0 -0
package/dist/Strapi.mjs CHANGED
@@ -1,155 +1,116 @@
1
+ import * as globalAgent from "global-agent";
1
2
  import path from "path";
2
3
  import _ from "lodash";
3
4
  import { isFunction } from "lodash/fp";
4
5
  import { createLogger } from "@strapi/logger";
5
6
  import { Database } from "@strapi/database";
6
- import { hooks } from "@strapi/utils";
7
- import loadConfiguration from "./configuration/index.mjs";
8
- import * as factories from "./factories.mjs";
7
+ import { loadConfiguration } from "./configuration/index.mjs";
9
8
  import { isCustomController } from "./factories.mjs";
10
- import compile from "./compile.mjs";
11
9
  import { openBrowser } from "./utils/open-browser.mjs";
12
10
  import { isInitialized } from "./utils/is-initialized.mjs";
13
- import { getDirs } from "./utils/get-dirs.mjs";
14
11
  import index from "./ee/index.mjs";
15
- import { createUpdateNotifier } from "./utils/update-notifier/index.mjs";
12
+ import "./utils/update-notifier/index.mjs";
16
13
  import { createStrapiFetch } from "./utils/fetch.mjs";
17
14
  import { convertCustomFieldType } from "./utils/convert-custom-field-type.mjs";
18
15
  import { createStartupLogger } from "./utils/startup-logger.mjs";
19
16
  import { transformContentTypesToModels } from "./utils/transform-content-types-to-models.mjs";
20
- import { destroyOnSignal } from "./utils/signals.mjs";
21
17
  import { LIFECYCLES } from "./utils/lifecycles.mjs";
22
- import contentTypesRegistry from "./registries/content-types.mjs";
23
- import componentsRegistry from "./registries/components.mjs";
24
- import servicesRegistry from "./registries/services.mjs";
25
- import policiesRegistry from "./registries/policies.mjs";
26
- import middlewaresRegistry from "./registries/middlewares.mjs";
27
- import hooksRegistry from "./registries/hooks.mjs";
28
- import controllersRegistry from "./registries/controllers.mjs";
29
- import modulesRegistry from "./registries/modules.mjs";
30
- import pluginsRegistry from "./registries/plugins.mjs";
31
- import customFieldsRegistry from "./registries/custom-fields.mjs";
32
- import config from "./registries/config.mjs";
33
- import apisRegistry from "./registries/apis.mjs";
34
- import sanitizersRegistry from "./registries/sanitizers.mjs";
35
- import validatorsRegistry from "./registries/validators.mjs";
36
- import { registry } from "./registries/models.mjs";
37
- import { loadApplicationContext } from "./loaders/index.mjs";
18
+ import "node:path";
38
19
  import { Container } from "./container.mjs";
39
20
  import createStrapiFs from "./services/fs.mjs";
40
21
  import createEventHub from "./services/event-hub.mjs";
41
22
  import { createServer } from "./services/server/index.mjs";
42
- import createWebhookRunner from "./services/webhook-runner.mjs";
43
- import { webhookModel, createWebhookStore } from "./services/webhook-store.mjs";
44
- import { coreStoreModel, createCoreStore } from "./services/core-store.mjs";
23
+ import { createReloader } from "./services/reloader.mjs";
24
+ import { providers } from "./providers/index.mjs";
45
25
  import createEntityService from "./services/entity-service/index.mjs";
46
- import createCronService from "./services/cron.mjs";
26
+ import createQueryParamService from "./services/query-params.mjs";
47
27
  import entityValidator from "./services/entity-validator/index.mjs";
48
- import createTelemetryInstance from "./services/metrics/index.mjs";
49
28
  import requestCtx from "./services/request-context.mjs";
50
29
  import createAuthentication from "./services/auth/index.mjs";
51
30
  import createCustomFields from "./services/custom-fields.mjs";
52
31
  import createContentAPI from "./services/content-api/index.mjs";
53
32
  import getNumberOfDynamicZones from "./services/utils/dynamic-zones.mjs";
54
33
  import { createFeaturesService } from "./services/features.mjs";
55
- import { createDocumentService } from "./services/document-service/document-service.mjs";
56
- const resolveWorkingDirectories = (opts) => {
57
- const cwd = process.cwd();
58
- const appDir = opts.appDir ? path.resolve(cwd, opts.appDir) : cwd;
59
- const distDir = opts.distDir ? path.resolve(cwd, opts.distDir) : appDir;
60
- return { app: appDir, dist: distDir };
61
- };
62
- const reloader = (strapi) => {
63
- const state = {
64
- shouldReload: 0,
65
- isWatching: true
66
- };
67
- function reload() {
68
- if (state.shouldReload > 0) {
69
- state.shouldReload -= 1;
70
- reload.isReloading = false;
71
- return;
72
- }
73
- if (strapi.config.get("autoReload")) {
74
- process.send?.("reload");
75
- }
76
- }
77
- Object.defineProperty(reload, "isWatching", {
78
- configurable: true,
79
- enumerable: true,
80
- set(value) {
81
- if (state.isWatching === false && value === true) {
82
- state.shouldReload += 1;
83
- }
84
- state.isWatching = value;
85
- },
86
- get() {
87
- return state.isWatching;
88
- }
89
- });
90
- reload.isReloading = false;
91
- reload.isWatching = true;
92
- return reload;
93
- };
34
+ import { createDocumentService } from "./services/document-service/index.mjs";
35
+ import { coreStoreModel } from "./services/core-store.mjs";
36
+ import { createConfigProvider } from "./services/config.mjs";
94
37
  class Strapi extends Container {
95
- server;
96
- log;
97
- fs;
98
- eventHub;
99
- startupLogger;
100
- cron;
101
- webhookRunner;
102
- webhookStore;
103
- store;
104
- entityValidator;
105
- entityService;
106
- documents;
107
- telemetry;
108
- requestContext;
109
- customFields;
110
- fetch;
111
- dirs;
112
- admin;
113
- isLoaded;
114
- db;
115
38
  app;
116
- EE;
117
- reload;
118
- features;
119
- // @ts-expect-error - Assigned in constructor
120
- ee;
121
- constructor(opts = {}) {
39
+ isLoaded = false;
40
+ internal_config = {};
41
+ constructor(opts) {
122
42
  super();
123
- destroyOnSignal(this);
124
- const rootDirs = resolveWorkingDirectories(opts);
125
- const appConfig = loadConfiguration(rootDirs, opts);
126
- this.add("config", config(appConfig)).add("content-types", contentTypesRegistry()).add("components", componentsRegistry()).add("services", servicesRegistry(this)).add("policies", policiesRegistry()).add("middlewares", middlewaresRegistry()).add("hooks", hooksRegistry()).add("controllers", controllersRegistry(this)).add("modules", modulesRegistry(this)).add("plugins", pluginsRegistry(this)).add("custom-fields", customFieldsRegistry(this)).add("apis", apisRegistry(this)).add("sanitizers", sanitizersRegistry()).add("validators", validatorsRegistry()).add("content-api", createContentAPI(this)).add("auth", createAuthentication()).add("models", registry());
127
- this.dirs = getDirs(rootDirs, { strapi: this });
128
- this.isLoaded = false;
129
- this.reload = reloader(this);
130
- this.server = createServer(this);
131
- this.fs = createStrapiFs(this);
132
- this.eventHub = createEventHub();
133
- this.startupLogger = createStartupLogger(this);
134
- this.log = createLogger(this.config.get("logger", { level: "info" }));
135
- this.cron = createCronService();
136
- this.telemetry = createTelemetryInstance(this);
137
- this.requestContext = requestCtx;
138
- this.customFields = createCustomFields(this);
139
- this.fetch = createStrapiFetch(this);
140
- this.features = createFeaturesService(this);
141
- createUpdateNotifier(this).notify();
142
- Object.defineProperty(this, "EE", {
143
- get: () => {
144
- index.init(this.dirs.app.root, this.log);
145
- return index.isEE;
146
- },
147
- configurable: false
148
- });
149
- Object.defineProperty(this, "ee", {
150
- get: () => index,
151
- configurable: false
152
- });
43
+ this.internal_config = loadConfiguration(opts);
44
+ this.registerInternalServices();
45
+ for (const provider of providers) {
46
+ provider.init?.(this);
47
+ }
48
+ }
49
+ get admin() {
50
+ return this.get("admin");
51
+ }
52
+ get EE() {
53
+ return index.isEE;
54
+ }
55
+ get ee() {
56
+ return index;
57
+ }
58
+ get dirs() {
59
+ return this.config.get("dirs");
60
+ }
61
+ get reload() {
62
+ return this.get("reload");
63
+ }
64
+ get db() {
65
+ return this.get("db");
66
+ }
67
+ get requestContext() {
68
+ return this.get("requestContext");
69
+ }
70
+ get customFields() {
71
+ return this.get("customFields");
72
+ }
73
+ get entityValidator() {
74
+ return this.get("entityValidator");
75
+ }
76
+ /**
77
+ * @deprecated `strapi.entityService` will be removed in the next major version
78
+ */
79
+ get entityService() {
80
+ return this.get("entityService");
81
+ }
82
+ get documents() {
83
+ return this.get("documents");
84
+ }
85
+ get features() {
86
+ return this.get("features");
87
+ }
88
+ get fetch() {
89
+ return this.get("fetch");
90
+ }
91
+ get cron() {
92
+ return this.get("cron");
93
+ }
94
+ get log() {
95
+ return this.get("logger");
96
+ }
97
+ get startupLogger() {
98
+ return this.get("startupLogger");
99
+ }
100
+ get eventHub() {
101
+ return this.get("eventHub");
102
+ }
103
+ get fs() {
104
+ return this.get("fs");
105
+ }
106
+ get server() {
107
+ return this.get("server");
108
+ }
109
+ get telemetry() {
110
+ return this.get("telemetry");
111
+ }
112
+ get store() {
113
+ return this.get("coreStore");
153
114
  }
154
115
  get config() {
155
116
  return this.get("config");
@@ -199,12 +160,12 @@ class Strapi extends Container {
199
160
  hook(name) {
200
161
  return this.get("hooks").get(name);
201
162
  }
202
- // api(name) {
203
- // return this.get('apis').get(name);
204
- // }
205
- get api() {
163
+ get apis() {
206
164
  return this.get("apis").getAll();
207
165
  }
166
+ api(name) {
167
+ return this.get("apis").get(name);
168
+ }
208
169
  get auth() {
209
170
  return this.get("auth");
210
171
  }
@@ -228,15 +189,29 @@ class Strapi extends Container {
228
189
  return this.stopWithError(error);
229
190
  }
230
191
  }
231
- async destroy() {
232
- await this.server.destroy();
233
- await this.runLifecyclesFunctions(LIFECYCLES.DESTROY);
234
- this.eventHub.destroy();
235
- await this.db?.destroy();
236
- this.telemetry.destroy();
237
- this.cron.destroy();
238
- process.removeAllListeners();
239
- delete global.strapi;
192
+ // TODO: split into more providers
193
+ registerInternalServices() {
194
+ const config = createConfigProvider(this.internal_config, this);
195
+ const logger = createLogger({
196
+ level: "http",
197
+ // Strapi defaults to level 'http'
198
+ ...config.get("logger"),
199
+ // DEPRECATED
200
+ ...config.get("server.logger.config")
201
+ });
202
+ this.add("config", () => config).add("query-params", createQueryParamService(this)).add("content-api", createContentAPI(this)).add("auth", createAuthentication()).add("server", () => createServer(this)).add("fs", () => createStrapiFs(this)).add("eventHub", () => createEventHub()).add("startupLogger", () => createStartupLogger(this)).add("logger", () => logger).add("fetch", () => createStrapiFetch(this)).add("features", () => createFeaturesService(this)).add("requestContext", requestCtx).add("customFields", createCustomFields(this)).add("entityValidator", entityValidator).add("entityService", () => createEntityService({ strapi: this, db: this.db })).add("documents", () => createDocumentService(this)).add(
203
+ "db",
204
+ () => new Database(
205
+ _.merge(this.config.get("database"), {
206
+ logger,
207
+ settings: {
208
+ migrations: {
209
+ dir: path.join(this.dirs.app.root, "database/migrations")
210
+ }
211
+ }
212
+ })
213
+ )
214
+ ).add("reload", () => createReloader(this));
240
215
  }
241
216
  sendStartupTelemetry() {
242
217
  this.telemetry.send("didStartServer", {
@@ -271,6 +246,7 @@ class Strapi extends Container {
271
246
  async postListen() {
272
247
  const isInitialized$1 = await isInitialized(this);
273
248
  this.startupLogger.logStartupMessage({ isInitialized: isInitialized$1 });
249
+ this.log.info("Strapi started successfully");
274
250
  this.sendStartupTelemetry();
275
251
  this.openAdmin({ isInitialized: isInitialized$1 });
276
252
  }
@@ -311,49 +287,32 @@ class Strapi extends Container {
311
287
  }
312
288
  process.exit(exitCode);
313
289
  }
314
- registerInternalHooks() {
315
- this.get("hooks").set("strapi::content-types.beforeSync", hooks.createAsyncParallelHook());
316
- this.get("hooks").set("strapi::content-types.afterSync", hooks.createAsyncParallelHook());
290
+ async load() {
291
+ await this.register();
292
+ await this.bootstrap();
293
+ this.isLoaded = true;
294
+ return this;
317
295
  }
318
296
  async register() {
319
- await loadApplicationContext(this);
320
- this.get("models").add(coreStoreModel).add(webhookModel);
321
- this.webhookRunner = createWebhookRunner({
322
- eventHub: this.eventHub,
323
- logger: this.log,
324
- configuration: this.config.get("server.webhooks", {}),
325
- fetch: this.fetch
326
- });
327
- this.registerInternalHooks();
328
- this.telemetry.register();
329
- await this.runLifecyclesFunctions(LIFECYCLES.REGISTER);
297
+ this.ee.init(this.dirs.app.root, this.log);
298
+ for (const provider of providers) {
299
+ await provider.register?.(this);
300
+ }
301
+ await this.runPluginsLifecycles(LIFECYCLES.REGISTER);
302
+ await this.runUserLifecycles(LIFECYCLES.REGISTER);
330
303
  convertCustomFieldType(this);
331
304
  return this;
332
305
  }
333
306
  async bootstrap() {
307
+ this.configureGlobalProxy();
334
308
  const models = [
335
- ...transformContentTypesToModels([
336
- ...Object.values(this.contentTypes),
337
- ...Object.values(this.components)
338
- ]),
309
+ ...transformContentTypesToModels(
310
+ [...Object.values(this.contentTypes), ...Object.values(this.components)],
311
+ this.db.metadata.identifiers
312
+ ),
339
313
  ...this.get("models").get()
340
314
  ];
341
- this.db = await Database.init({ ...this.config.get("database"), models });
342
- this.store = createCoreStore({ db: this.db });
343
- this.webhookStore = createWebhookStore({ db: this.db });
344
- this.entityValidator = entityValidator;
345
- this.entityService = createEntityService({
346
- strapi: this,
347
- db: this.db,
348
- eventHub: this.eventHub,
349
- entityValidator: this.entityValidator
350
- });
351
- this.documents = createDocumentService(this);
352
- if (this.config.get("server.cron.enabled", true)) {
353
- const cronTasks = this.config.get("server.cron.tasks", {});
354
- this.cron.add(cronTasks);
355
- }
356
- this.telemetry.bootstrap();
315
+ await this.db.init({ models });
357
316
  let oldContentTypes;
358
317
  if (await this.db.getSchemaConnection().hasTable(coreStoreModel.tableName)) {
359
318
  oldContentTypes = await this.store.get({
@@ -380,35 +339,51 @@ class Strapi extends Container {
380
339
  key: "schema",
381
340
  value: this.contentTypes
382
341
  });
383
- await this.startWebhooks();
384
342
  await this.server.initMiddlewares();
385
343
  this.server.initRouting();
386
344
  await this.contentAPI.permissions.registerActions();
387
- await this.runLifecyclesFunctions(LIFECYCLES.BOOTSTRAP);
388
- this.cron.start();
389
- return this;
390
- }
391
- async load() {
392
- await this.register();
393
- await this.bootstrap();
394
- this.isLoaded = true;
345
+ await this.runPluginsLifecycles(LIFECYCLES.BOOTSTRAP);
346
+ for (const provider of providers) {
347
+ await provider.bootstrap?.(this);
348
+ }
349
+ await this.runUserLifecycles(LIFECYCLES.BOOTSTRAP);
395
350
  return this;
396
351
  }
397
- async startWebhooks() {
398
- const webhooks = await this.webhookStore?.findWebhooks();
399
- if (!webhooks) {
352
+ configureGlobalProxy() {
353
+ const globalProxy = this.config.get("server.proxy.global");
354
+ const httpProxy = this.config.get("server.proxy.http") || globalProxy;
355
+ const httpsProxy = this.config.get("server.proxy.https") || globalProxy;
356
+ if (!httpProxy && !httpsProxy) {
400
357
  return;
401
358
  }
402
- for (const webhook of webhooks) {
403
- this.webhookRunner?.add(webhook);
359
+ globalAgent.bootstrap();
360
+ if (httpProxy) {
361
+ this.log.info(`Using HTTP proxy: ${httpProxy}`);
362
+ global.GLOBAL_AGENT.HTTP_PROXY = httpProxy;
363
+ }
364
+ if (httpsProxy) {
365
+ this.log.info(`Using HTTPS proxy: ${httpsProxy}`);
366
+ global.GLOBAL_AGENT.HTTPS_PROXY = httpsProxy;
404
367
  }
405
368
  }
406
- async runLifecyclesFunctions(lifecycleName) {
407
- await this.get("modules")[lifecycleName]();
408
- const adminLifecycleFunction = this.admin && this.admin[lifecycleName];
409
- if (isFunction(adminLifecycleFunction)) {
410
- await adminLifecycleFunction({ strapi: this });
369
+ async destroy() {
370
+ this.log.info("Shutting down Strapi");
371
+ await this.runPluginsLifecycles(LIFECYCLES.DESTROY);
372
+ for (const provider of providers) {
373
+ await provider.destroy?.(this);
411
374
  }
375
+ await this.runUserLifecycles(LIFECYCLES.DESTROY);
376
+ await this.server.destroy();
377
+ this.eventHub.destroy();
378
+ await this.db?.destroy();
379
+ process.removeAllListeners();
380
+ delete global.strapi;
381
+ this.log.info("Strapi has been shut down");
382
+ }
383
+ async runPluginsLifecycles(lifecycleName) {
384
+ await this.get("modules")[lifecycleName]();
385
+ }
386
+ async runUserLifecycles(lifecycleName) {
412
387
  const userLifecycleFunction = this.app && this.app[lifecycleName];
413
388
  if (isFunction(userLifecycleFunction)) {
414
389
  await userLifecycleFunction({ strapi: this });
@@ -423,20 +398,13 @@ class Strapi extends Container {
423
398
  }
424
399
  }
425
400
  /**
426
- * Binds queries with a specific model
427
- * @param {string} uid
401
+ * @deprecated Use `strapi.db.query` instead
428
402
  */
429
403
  query(uid) {
430
404
  return this.db.query(uid);
431
405
  }
432
406
  }
433
- const initFn = (options = {}) => {
434
- const strapi = new Strapi(options);
435
- global.strapi = strapi;
436
- return strapi;
437
- };
438
- const init = Object.assign(initFn, { factories, compile });
439
407
  export {
440
- init as default
408
+ Strapi as default
441
409
  };
442
410
  //# sourceMappingURL=Strapi.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Strapi.mjs","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/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))\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 this.log = createLogger(this.config.get('logger', { level: 'info' }));\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":["utils.destroyOnSignal","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","createAuth","registries.models","utils.getDirs","utils.createStartupLogger","createTelemetry","requestContext","utils.createStrapiFetch","utils.createUpdateNotifier","utils.ee","utils.LIFECYCLES","factories.isCustomController","isInitialized","utils.openBrowser","utils.isInitialized","loaders.loadApplicationContext","utils.convertCustomFieldType","utils.transformContentTypesToModels"],"mappings":"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"}
1
+ {"version":3,"file":"Strapi.mjs","sources":["../src/Strapi.ts"],"sourcesContent":["import * as globalAgent from 'global-agent';\nimport 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 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 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\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":["utils.ee","createAuth","utils.createStartupLogger","utils.createStrapiFetch","requestContext","factories.isCustomController","isInitialized","utils.openBrowser","utils.isInitialized","utils.LIFECYCLES","utils.convertCustomFieldType","utils.transformContentTypesToModels"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/configuration/config-loader.ts"],"names":[],"mappings":"8BA0DqB,MAAM;AAA3B,wBAiFE"}
1
+ {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/configuration/config-loader.ts"],"names":[],"mappings":"8BA2DqB,MAAM;AAA3B,wBAoFE"}
@@ -31,6 +31,7 @@ const RESTRICTED_FILENAMES = [
31
31
  "packageJsonStrapi",
32
32
  "info",
33
33
  "autoReload",
34
+ "dirs",
34
35
  // probably mistaken/typo filenames
35
36
  ...Object.keys(MISTAKEN_FILENAMES)
36
37
  ];
@@ -92,11 +93,14 @@ const loadConfigDir = (dir) => {
92
93
  acc.push(file);
93
94
  return acc;
94
95
  }, []);
95
- return configFiles.reduce((acc, file) => {
96
- const key = path__default.default.basename(file.name, path__default.default.extname(file.name));
97
- acc[key] = loadConfigFile.loadConfigFile(path__default.default.resolve(dir, file.name));
98
- return acc;
99
- }, {});
96
+ return configFiles.reduce(
97
+ (acc, file) => {
98
+ const key = path__default.default.basename(file.name, path__default.default.extname(file.name));
99
+ acc[key] = loadConfigFile.loadConfigFile(path__default.default.resolve(dir, file.name));
100
+ return acc;
101
+ },
102
+ {}
103
+ );
100
104
  };
101
105
  module.exports = loadConfigDir;
102
106
  //# sourceMappingURL=config-loader.js.map