@strapi/core 5.0.0-beta.1 → 5.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (306) hide show
  1. package/dist/Strapi.d.ts +34 -45
  2. package/dist/Strapi.d.ts.map +1 -1
  3. package/dist/Strapi.js +143 -222
  4. package/dist/Strapi.js.map +1 -1
  5. package/dist/Strapi.mjs +133 -213
  6. package/dist/Strapi.mjs.map +1 -1
  7. package/dist/configuration/config-loader.d.ts.map +1 -1
  8. package/dist/configuration/config-loader.js +9 -5
  9. package/dist/configuration/config-loader.js.map +1 -1
  10. package/dist/configuration/config-loader.mjs +9 -5
  11. package/dist/configuration/config-loader.mjs.map +1 -1
  12. package/dist/configuration/get-dirs.d.ts +10 -0
  13. package/dist/configuration/get-dirs.d.ts.map +1 -0
  14. package/dist/{utils → configuration}/get-dirs.js +3 -2
  15. package/dist/configuration/get-dirs.js.map +1 -0
  16. package/dist/{utils → configuration}/get-dirs.mjs +3 -2
  17. package/dist/configuration/get-dirs.mjs.map +1 -0
  18. package/dist/configuration/index.d.ts +4 -7
  19. package/dist/configuration/index.d.ts.map +1 -1
  20. package/dist/configuration/index.js +6 -4
  21. package/dist/configuration/index.js.map +1 -1
  22. package/dist/configuration/index.mjs +5 -4
  23. package/dist/configuration/index.mjs.map +1 -1
  24. package/dist/core-api/service/collection-type.d.ts +4 -4
  25. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  26. package/dist/core-api/service/collection-type.js +14 -5
  27. package/dist/core-api/service/collection-type.js.map +1 -1
  28. package/dist/core-api/service/collection-type.mjs +14 -5
  29. package/dist/core-api/service/collection-type.mjs.map +1 -1
  30. package/dist/core-api/service/single-type.d.ts.map +1 -1
  31. package/dist/core-api/service/single-type.js +8 -2
  32. package/dist/core-api/service/single-type.js.map +1 -1
  33. package/dist/core-api/service/single-type.mjs +8 -2
  34. package/dist/core-api/service/single-type.mjs.map +1 -1
  35. package/dist/ee/index.d.ts +2 -0
  36. package/dist/ee/index.d.ts.map +1 -1
  37. package/dist/ee/index.js.map +1 -1
  38. package/dist/ee/index.mjs.map +1 -1
  39. package/dist/factories.js.map +1 -1
  40. package/dist/factories.mjs.map +1 -1
  41. package/dist/index.d.ts +4 -2
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +25 -1
  44. package/dist/index.js.map +1 -1
  45. package/dist/index.mjs +27 -3
  46. package/dist/index.mjs.map +1 -1
  47. package/dist/loaders/admin.js +0 -1
  48. package/dist/loaders/admin.js.map +1 -1
  49. package/dist/loaders/admin.mjs +0 -1
  50. package/dist/loaders/admin.mjs.map +1 -1
  51. package/dist/loaders/index.d.ts.map +1 -1
  52. package/dist/loaders/index.js +0 -2
  53. package/dist/loaders/index.js.map +1 -1
  54. package/dist/loaders/index.mjs +0 -2
  55. package/dist/loaders/index.mjs.map +1 -1
  56. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  57. package/dist/loaders/plugins/get-enabled-plugins.js +2 -1
  58. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  59. package/dist/loaders/plugins/get-enabled-plugins.mjs +2 -1
  60. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  61. package/dist/middlewares/body.d.ts +2 -2
  62. package/dist/middlewares/body.d.ts.map +1 -1
  63. package/dist/middlewares/body.js +4 -4
  64. package/dist/middlewares/body.js.map +1 -1
  65. package/dist/middlewares/body.mjs +4 -4
  66. package/dist/middlewares/body.mjs.map +1 -1
  67. package/dist/middlewares/public.js +1 -1
  68. package/dist/middlewares/public.js.map +1 -1
  69. package/dist/middlewares/public.mjs +1 -1
  70. package/dist/middlewares/public.mjs.map +1 -1
  71. package/dist/providers/admin.d.ts +3 -0
  72. package/dist/providers/admin.d.ts.map +1 -0
  73. package/dist/providers/admin.js +20 -0
  74. package/dist/providers/admin.js.map +1 -0
  75. package/dist/providers/admin.mjs +21 -0
  76. package/dist/providers/admin.mjs.map +1 -0
  77. package/dist/providers/coreStore.d.ts +3 -0
  78. package/dist/providers/coreStore.d.ts.map +1 -0
  79. package/dist/providers/coreStore.js +11 -0
  80. package/dist/providers/coreStore.js.map +1 -0
  81. package/dist/providers/coreStore.mjs +12 -0
  82. package/dist/providers/coreStore.mjs.map +1 -0
  83. package/dist/providers/cron.d.ts +3 -0
  84. package/dist/providers/cron.d.ts.map +1 -0
  85. package/dist/providers/cron.js +20 -0
  86. package/dist/providers/cron.js.map +1 -0
  87. package/dist/providers/cron.mjs +21 -0
  88. package/dist/providers/cron.mjs.map +1 -0
  89. package/dist/providers/index.d.ts +3 -0
  90. package/dist/providers/index.d.ts.map +1 -0
  91. package/dist/providers/index.js +11 -0
  92. package/dist/providers/index.js.map +1 -0
  93. package/dist/providers/index.mjs +11 -0
  94. package/dist/providers/index.mjs.map +1 -0
  95. package/dist/providers/provider.d.ts +9 -0
  96. package/dist/providers/provider.d.ts.map +1 -0
  97. package/dist/providers/provider.js +5 -0
  98. package/dist/providers/provider.js.map +1 -0
  99. package/dist/providers/provider.mjs +5 -0
  100. package/dist/providers/provider.mjs.map +1 -0
  101. package/dist/providers/registries.d.ts +3 -0
  102. package/dist/providers/registries.d.ts.map +1 -0
  103. package/dist/providers/registries.js +33 -0
  104. package/dist/providers/registries.js.map +1 -0
  105. package/dist/providers/registries.mjs +34 -0
  106. package/dist/providers/registries.mjs.map +1 -0
  107. package/dist/providers/telemetry.d.ts +3 -0
  108. package/dist/providers/telemetry.d.ts.map +1 -0
  109. package/dist/providers/telemetry.js +19 -0
  110. package/dist/providers/telemetry.js.map +1 -0
  111. package/dist/providers/telemetry.mjs +20 -0
  112. package/dist/providers/telemetry.mjs.map +1 -0
  113. package/dist/providers/webhooks.d.ts +3 -0
  114. package/dist/providers/webhooks.d.ts.map +1 -0
  115. package/dist/providers/webhooks.js +30 -0
  116. package/dist/providers/webhooks.js.map +1 -0
  117. package/dist/providers/webhooks.mjs +31 -0
  118. package/dist/providers/webhooks.mjs.map +1 -0
  119. package/dist/registries/index.d.ts +0 -1
  120. package/dist/registries/index.d.ts.map +1 -1
  121. package/dist/services/config.d.ts +3 -0
  122. package/dist/services/config.d.ts.map +1 -0
  123. package/dist/{registries → services}/config.js +11 -7
  124. package/dist/services/config.js.map +1 -0
  125. package/dist/{registries → services}/config.mjs +10 -7
  126. package/dist/services/config.mjs.map +1 -0
  127. package/dist/services/content-api/index.js +1 -1
  128. package/dist/services/content-api/index.js.map +1 -1
  129. package/dist/services/content-api/index.mjs +1 -1
  130. package/dist/services/content-api/index.mjs.map +1 -1
  131. package/dist/services/content-api/permissions/index.js +1 -1
  132. package/dist/services/content-api/permissions/index.js.map +1 -1
  133. package/dist/services/content-api/permissions/index.mjs +1 -1
  134. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  135. package/dist/services/document-service/attributes/index.d.ts.map +1 -0
  136. package/dist/services/document-service/attributes/index.js.map +1 -0
  137. package/dist/services/document-service/attributes/index.mjs.map +1 -0
  138. package/dist/services/document-service/attributes/transforms.d.ts.map +1 -0
  139. package/dist/services/document-service/attributes/transforms.js.map +1 -0
  140. package/dist/services/document-service/attributes/transforms.mjs.map +1 -0
  141. package/dist/services/document-service/common.d.ts +1 -1
  142. package/dist/services/document-service/common.d.ts.map +1 -1
  143. package/dist/services/document-service/common.js.map +1 -1
  144. package/dist/services/document-service/common.mjs.map +1 -1
  145. package/dist/services/document-service/components.d.ts +97 -1
  146. package/dist/services/document-service/components.d.ts.map +1 -1
  147. package/dist/services/{entity-service → document-service}/components.js +22 -31
  148. package/dist/services/document-service/components.js.map +1 -0
  149. package/dist/services/{entity-service → document-service}/components.mjs +22 -31
  150. package/dist/services/document-service/components.mjs.map +1 -0
  151. package/dist/services/document-service/entries.d.ts +8 -0
  152. package/dist/services/document-service/entries.d.ts.map +1 -0
  153. package/dist/services/document-service/entries.js +62 -0
  154. package/dist/services/document-service/entries.js.map +1 -0
  155. package/dist/services/document-service/entries.mjs +62 -0
  156. package/dist/services/document-service/entries.mjs.map +1 -0
  157. package/dist/services/document-service/index.d.ts +0 -2
  158. package/dist/services/document-service/index.d.ts.map +1 -1
  159. package/dist/services/document-service/index.js +14 -1
  160. package/dist/services/document-service/index.js.map +1 -1
  161. package/dist/services/document-service/index.mjs +14 -1
  162. package/dist/services/document-service/index.mjs.map +1 -1
  163. package/dist/services/document-service/middlewares/middleware-manager.d.ts +4 -1
  164. package/dist/services/document-service/middlewares/middleware-manager.d.ts.map +1 -1
  165. package/dist/services/document-service/middlewares/middleware-manager.js +8 -5
  166. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -1
  167. package/dist/services/document-service/middlewares/middleware-manager.mjs +8 -5
  168. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -1
  169. package/dist/services/document-service/params.d.ts +7 -1
  170. package/dist/services/document-service/params.d.ts.map +1 -1
  171. package/dist/services/document-service/params.js.map +1 -0
  172. package/dist/services/document-service/params.mjs.map +1 -0
  173. package/dist/services/document-service/repository.d.ts.map +1 -1
  174. package/dist/services/document-service/repository.js +74 -95
  175. package/dist/services/document-service/repository.js.map +1 -1
  176. package/dist/services/document-service/repository.mjs +58 -79
  177. package/dist/services/document-service/repository.mjs.map +1 -1
  178. package/dist/services/document-service/transform/data.d.ts.map +1 -1
  179. package/dist/services/document-service/transform/data.js +4 -2
  180. package/dist/services/document-service/transform/data.js.map +1 -1
  181. package/dist/services/document-service/transform/data.mjs +4 -2
  182. package/dist/services/document-service/transform/data.mjs.map +1 -1
  183. package/dist/services/document-service/transform/query.d.ts +5 -0
  184. package/dist/services/document-service/transform/query.d.ts.map +1 -0
  185. package/dist/services/document-service/transform/query.js +9 -0
  186. package/dist/services/document-service/transform/query.js.map +1 -0
  187. package/dist/services/document-service/transform/query.mjs +9 -0
  188. package/dist/services/document-service/transform/query.mjs.map +1 -0
  189. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +8 -7
  190. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  191. package/dist/services/document-service/transform/relations/extract/data-ids.js +42 -78
  192. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  193. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +42 -78
  194. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  195. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts +7 -3
  196. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  197. package/dist/services/document-service/transform/relations/transform/data-ids.js +57 -125
  198. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  199. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +58 -126
  200. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  201. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts +9 -0
  202. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts.map +1 -0
  203. package/dist/services/document-service/transform/relations/transform/default-locale.js +32 -0
  204. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -0
  205. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +32 -0
  206. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -0
  207. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +2 -2
  208. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  209. package/dist/services/document-service/transform/relations/utils/i18n.js +3 -9
  210. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  211. package/dist/services/document-service/transform/relations/utils/i18n.mjs +3 -9
  212. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  213. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts +6 -0
  214. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -0
  215. package/dist/services/document-service/transform/relations/utils/map-relation.js +87 -0
  216. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -0
  217. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +87 -0
  218. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -0
  219. package/dist/services/document-service/transform/relations/utils/types.d.ts +6 -0
  220. package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -1
  221. package/dist/services/entity-service/index.d.ts.map +1 -1
  222. package/dist/services/entity-service/index.js +11 -4
  223. package/dist/services/entity-service/index.js.map +1 -1
  224. package/dist/services/entity-service/index.mjs +11 -4
  225. package/dist/services/entity-service/index.mjs.map +1 -1
  226. package/dist/services/entity-validator/index.d.ts.map +1 -1
  227. package/dist/services/entity-validator/index.js +93 -87
  228. package/dist/services/entity-validator/index.js.map +1 -1
  229. package/dist/services/entity-validator/index.mjs +93 -87
  230. package/dist/services/entity-validator/index.mjs.map +1 -1
  231. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  232. package/dist/services/metrics/rate-limiter.js.map +1 -1
  233. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  234. package/dist/services/reloader.d.ts +7 -0
  235. package/dist/services/reloader.d.ts.map +1 -0
  236. package/dist/services/reloader.js +36 -0
  237. package/dist/services/reloader.js.map +1 -0
  238. package/dist/services/reloader.mjs +36 -0
  239. package/dist/services/reloader.mjs.map +1 -0
  240. package/dist/services/server/register-routes.js +3 -3
  241. package/dist/services/server/register-routes.js.map +1 -1
  242. package/dist/services/server/register-routes.mjs +3 -3
  243. package/dist/services/server/register-routes.mjs.map +1 -1
  244. package/dist/services/server/routing.d.ts +1 -1
  245. package/dist/services/webhook-store.d.ts.map +1 -1
  246. package/dist/services/webhook-store.js +5 -6
  247. package/dist/services/webhook-store.js.map +1 -1
  248. package/dist/services/webhook-store.mjs +5 -6
  249. package/dist/services/webhook-store.mjs.map +1 -1
  250. package/dist/utils/index.d.ts +2 -1
  251. package/dist/utils/index.d.ts.map +1 -1
  252. package/dist/utils/resolve-working-dirs.d.ts +19 -0
  253. package/dist/utils/resolve-working-dirs.d.ts.map +1 -0
  254. package/dist/utils/resolve-working-dirs.js +13 -0
  255. package/dist/utils/resolve-working-dirs.js.map +1 -0
  256. package/dist/utils/resolve-working-dirs.mjs +11 -0
  257. package/dist/utils/resolve-working-dirs.mjs.map +1 -0
  258. package/dist/utils/transform-content-types-to-models.d.ts +21 -16
  259. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  260. package/dist/utils/transform-content-types-to-models.js +95 -57
  261. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  262. package/dist/utils/transform-content-types-to-models.mjs +95 -57
  263. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  264. package/dist/utils/update-notifier/index.d.ts +1 -6
  265. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  266. package/dist/utils/update-notifier/index.js +11 -14
  267. package/dist/utils/update-notifier/index.js.map +1 -1
  268. package/dist/utils/update-notifier/index.mjs +11 -14
  269. package/dist/utils/update-notifier/index.mjs.map +1 -1
  270. package/package.json +21 -21
  271. package/dist/registries/config.d.ts +0 -4
  272. package/dist/registries/config.d.ts.map +0 -1
  273. package/dist/registries/config.js.map +0 -1
  274. package/dist/registries/config.mjs.map +0 -1
  275. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts +0 -2
  276. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts.map +0 -1
  277. package/dist/services/document-service/transform/relations/utils/data.js +0 -12
  278. package/dist/services/document-service/transform/relations/utils/data.js.map +0 -1
  279. package/dist/services/document-service/transform/relations/utils/data.mjs +0 -12
  280. package/dist/services/document-service/transform/relations/utils/data.mjs.map +0 -1
  281. package/dist/services/entity-service/attributes/index.d.ts.map +0 -1
  282. package/dist/services/entity-service/attributes/index.js.map +0 -1
  283. package/dist/services/entity-service/attributes/index.mjs.map +0 -1
  284. package/dist/services/entity-service/attributes/transforms.d.ts.map +0 -1
  285. package/dist/services/entity-service/attributes/transforms.js.map +0 -1
  286. package/dist/services/entity-service/attributes/transforms.mjs.map +0 -1
  287. package/dist/services/entity-service/components.d.ts +0 -95
  288. package/dist/services/entity-service/components.d.ts.map +0 -1
  289. package/dist/services/entity-service/components.js.map +0 -1
  290. package/dist/services/entity-service/components.mjs.map +0 -1
  291. package/dist/services/entity-service/params.d.ts +0 -8
  292. package/dist/services/entity-service/params.d.ts.map +0 -1
  293. package/dist/services/entity-service/params.js.map +0 -1
  294. package/dist/services/entity-service/params.mjs.map +0 -1
  295. package/dist/utils/get-dirs.d.ts +0 -9
  296. package/dist/utils/get-dirs.d.ts.map +0 -1
  297. package/dist/utils/get-dirs.js.map +0 -1
  298. package/dist/utils/get-dirs.mjs.map +0 -1
  299. /package/dist/services/{entity-service → document-service}/attributes/index.d.ts +0 -0
  300. /package/dist/services/{entity-service → document-service}/attributes/index.js +0 -0
  301. /package/dist/services/{entity-service → document-service}/attributes/index.mjs +0 -0
  302. /package/dist/services/{entity-service → document-service}/attributes/transforms.d.ts +0 -0
  303. /package/dist/services/{entity-service → document-service}/attributes/transforms.js +0 -0
  304. /package/dist/services/{entity-service → document-service}/attributes/transforms.mjs +0 -0
  305. /package/dist/services/{entity-service → document-service}/params.js +0 -0
  306. /package/dist/services/{entity-service → document-service}/params.mjs +0 -0
package/dist/Strapi.d.ts CHANGED
@@ -1,42 +1,37 @@
1
1
  import { Logger } from '@strapi/logger';
2
2
  import { Database } from '@strapi/database';
3
3
  import type { Core, Modules, UID, Schema } from '@strapi/types';
4
- import * as factories from './factories';
5
- import compile from './compile';
6
4
  import { Container } from './container';
7
- import { WebhookRunner } from './services/webhook-runner';
8
5
  import { FeaturesService } from './services/features';
9
- export type LoadedStrapi = Required<Strapi>;
10
6
  declare class Strapi extends Container implements Core.Strapi {
11
- server: Modules.Server.Server;
12
- log: Logger;
13
- fs: Core.StrapiFS;
14
- eventHub: Modules.EventHub.EventHub;
15
- startupLogger: Core.StartupLogger;
16
- cron: Modules.Cron.CronService;
17
- webhookRunner?: WebhookRunner;
18
- webhookStore?: Modules.WebhookStore.WebhookStore;
19
- store?: Modules.CoreStore.CoreStore;
20
- entityValidator?: Modules.EntityValidator.EntityValidator;
7
+ app: any;
8
+ isLoaded: boolean;
9
+ internal_config: Record<string, unknown>;
10
+ constructor(opts: StrapiOptions);
11
+ get admin(): Core.Module;
12
+ get EE(): boolean;
13
+ get ee(): Core.Strapi['ee'];
14
+ get dirs(): Core.StrapiDirectories;
15
+ get reload(): Core.Reloader;
16
+ get db(): Database;
17
+ get requestContext(): Modules.RequestContext.RequestContext;
18
+ get customFields(): Modules.CustomFields.CustomFields;
19
+ get entityValidator(): Modules.EntityValidator.EntityValidator;
21
20
  /**
22
21
  * @deprecated `strapi.entityService` will be removed in the next major version
23
22
  */
24
- entityService?: Modules.EntityService.EntityService;
25
- documents?: Modules.Documents.Service;
26
- telemetry: Modules.Metrics.TelemetryService;
27
- requestContext: Modules.RequestContext.RequestContext;
28
- customFields: Modules.CustomFields.CustomFields;
29
- fetch: Modules.Fetch.Fetch;
30
- dirs: Core.StrapiDirectories;
31
- admin?: Core.Module;
32
- isLoaded: boolean;
33
- db: Database;
34
- app: any;
35
- EE?: boolean;
36
- reload: Core.Reloader;
37
- features: FeaturesService;
38
- ee: Core.Strapi['ee'];
39
- constructor(opts?: StrapiOptions);
23
+ get entityService(): Modules.EntityService.EntityService;
24
+ get documents(): Modules.Documents.Service;
25
+ get features(): FeaturesService;
26
+ get fetch(): Modules.Fetch.Fetch;
27
+ get cron(): Modules.Cron.CronService;
28
+ get log(): Logger;
29
+ get startupLogger(): Core.StartupLogger;
30
+ get eventHub(): Modules.EventHub.EventHub;
31
+ get fs(): Core.StrapiFS;
32
+ get server(): Modules.Server.Server;
33
+ get telemetry(): Modules.Metrics.TelemetryService;
34
+ get store(): Modules.CoreStore.CoreStore;
40
35
  get config(): any;
41
36
  get services(): any;
42
37
  service(uid: UID.Service): any;
@@ -53,13 +48,14 @@ declare class Strapi extends Container implements Core.Strapi {
53
48
  plugin(name: string): Core.Plugin;
54
49
  get hooks(): any;
55
50
  hook(name: string): any;
56
- get api(): Record<string, Core.Module>;
51
+ get apis(): any;
52
+ api(name: string): Core.Module;
57
53
  get auth(): any;
58
54
  get contentAPI(): any;
59
55
  get sanitizers(): any;
60
56
  get validators(): any;
61
57
  start(): Promise<this>;
62
- destroy(): Promise<void>;
58
+ registerInternalServices(): void;
63
59
  sendStartupTelemetry(): void;
64
60
  openAdmin({ isInitialized }: {
65
61
  isInitialized: boolean;
@@ -71,11 +67,10 @@ declare class Strapi extends Container implements Core.Strapi {
71
67
  listen(): Promise<void>;
72
68
  stopWithError(err: unknown, customMessage?: string): never;
73
69
  stop(exitCode?: number): never;
74
- registerInternalHooks(): void;
70
+ load(): Promise<this>;
75
71
  register(): Promise<this>;
76
72
  bootstrap(): Promise<this>;
77
- load(): Promise<this & Required<Core.Strapi>>;
78
- startWebhooks(): Promise<void>;
73
+ destroy(): Promise<void>;
79
74
  runLifecyclesFunctions(lifecycleName: 'register' | 'bootstrap' | 'destroy'): Promise<void>;
80
75
  getModel(uid: UID.ContentType): Schema.ContentType;
81
76
  getModel(uid: UID.Component): Schema.Component;
@@ -84,17 +79,11 @@ declare class Strapi extends Container implements Core.Strapi {
84
79
  */
85
80
  query(uid: UID.Schema): import("@strapi/database/dist/entity-manager").Repository;
86
81
  }
87
- interface StrapiOptions {
88
- appDir?: string;
89
- distDir?: string;
82
+ export interface StrapiOptions {
83
+ appDir: string;
84
+ distDir: string;
90
85
  autoReload?: boolean;
91
86
  serveAdminPanel?: boolean;
92
87
  }
93
- interface Init {
94
- (options?: StrapiOptions): Core.Strapi;
95
- factories: typeof factories;
96
- compile: typeof compile;
97
- }
98
- declare const init: Init;
99
- export default init;
88
+ export default Strapi;
100
89
  //# sourceMappingURL=Strapi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Strapi.d.ts","sourceRoot":"","sources":["../src/Strapi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Strapi.d.ts","sourceRoot":"","sources":["../src/Strapi.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAgB,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAOhE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAgBxC,OAAO,EAAE,eAAe,EAAyB,MAAM,qBAAqB,CAAC;AAM7E,cAAM,MAAO,SAAQ,SAAU,YAAW,IAAI,CAAC,MAAM;IACnD,GAAG,EAAE,GAAG,CAAC;IAET,QAAQ,EAAE,OAAO,CAAS;IAE1B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;gBAElC,IAAI,EAAE,aAAa;IAY/B,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,CAEvB;IAED,IAAI,EAAE,IAAI,OAAO,CAEhB;IAED,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAE1B;IAED,IAAI,IAAI,IAAI,IAAI,CAAC,iBAAiB,CAEjC;IAED,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,CAE1B;IAED,IAAI,EAAE,IAAI,QAAQ,CAEjB;IAED,IAAI,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC,cAAc,CAE1D;IAED,IAAI,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,YAAY,CAEpD;IAED,IAAI,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC,eAAe,CAE7D;IAED;;OAEG;IACH,IAAI,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,aAAa,CAEvD;IAED,IAAI,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,OAAO,CAEzC;IAED,IAAI,QAAQ,IAAI,eAAe,CAE9B;IAED,IAAI,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAE/B;IAED,IAAI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,CAEnC;IAED,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,aAAa,IAAI,IAAI,CAAC,aAAa,CAEtC;IAED,IAAI,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAExC;IAED,IAAI,EAAE,IAAI,IAAI,CAAC,QAAQ,CAEtB;IAED,IAAI,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAElC;IAED,IAAI,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAEhD;IAED,IAAI,KAAK,IAAI,OAAO,CAAC,SAAS,CAAC,SAAS,CAEvC;IAED,IAAI,MAAM,QAET;IAED,IAAI,QAAQ,QAEX;IAED,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO;IAIxB,IAAI,WAAW,QAEd;IAED,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU;IAI9B,IAAI,YAAY,IAAI,MAAM,CAAC,YAAY,CAEtC;IAED,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW;IAIjC,IAAI,UAAU,IAAI,MAAM,CAAC,UAAU,CAElC;IAED,IAAI,QAAQ,QAEX;IAED,MAAM,CAAC,IAAI,EAAE,MAAM;IAInB,IAAI,WAAW,QAEd;IAED,UAAU,CAAC,IAAI,EAAE,MAAM;IAIvB,IAAI,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAEzC;IAED,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM;IAIjC,IAAI,KAAK,QAER;IAED,IAAI,CAAC,IAAI,EAAE,MAAM;IAIjB,IAAI,IAAI,QAEP;IAED,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM;IAI9B,IAAI,IAAI,QAEP;IAED,IAAI,UAAU,QAEb;IAED,IAAI,UAAU,QAEb;IAED,IAAI,UAAU,QAEb;IAEK,KAAK;IAeX,wBAAwB;IAwCxB,oBAAoB;IAwBd,SAAS,CAAC,EAAE,aAAa,EAAE,EAAE;QAAE,aAAa,EAAE,OAAO,CAAA;KAAE;IAevD,UAAU;IAUhB;;OAEG;IACG,MAAM;IAwBZ,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK;IAU1D,IAAI,CAAC,QAAQ,SAAI,GAAG,KAAK;IAWnB,IAAI;IASJ,QAAQ;IAgBR,SAAS;IAyDT,OAAO;IAsBP,sBAAsB,CAAC,aAAa,EAAE,UAAU,GAAG,WAAW,GAAG,SAAS;IAWhF,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW;IAClD,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS;IAW9C;;OAEG;IACH,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM;CAGtB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,eAAe,MAAM,CAAC"}
package/dist/Strapi.js CHANGED
@@ -4,176 +4,116 @@ const _ = require("lodash");
4
4
  const _$1 = require("lodash/fp");
5
5
  const logger = require("@strapi/logger");
6
6
  const database = require("@strapi/database");
7
- const strapiUtils = require("@strapi/utils");
8
7
  const index = require("./configuration/index.js");
9
8
  const factories = require("./factories.js");
10
- const compile = require("./compile.js");
11
9
  const openBrowser = require("./utils/open-browser.js");
12
10
  const isInitialized = require("./utils/is-initialized.js");
13
- const getDirs = require("./utils/get-dirs.js");
14
- const index$6 = require("./ee/index.js");
15
- const index$5 = require("./utils/update-notifier/index.js");
11
+ const index$2 = require("./ee/index.js");
12
+ require("./utils/update-notifier/index.js");
16
13
  const fetch = require("./utils/fetch.js");
17
14
  const convertCustomFieldType = require("./utils/convert-custom-field-type.js");
18
15
  const startupLogger = require("./utils/startup-logger.js");
19
16
  const transformContentTypesToModels = require("./utils/transform-content-types-to-models.js");
20
- const signals = require("./utils/signals.js");
21
17
  const lifecycles = require("./utils/lifecycles.js");
22
- const contentTypes = require("./registries/content-types.js");
23
- const components = require("./registries/components.js");
24
- const services = require("./registries/services.js");
25
- const policies = require("./registries/policies.js");
26
- const middlewares = require("./registries/middlewares.js");
27
- const hooks = require("./registries/hooks.js");
28
- const controllers = require("./registries/controllers.js");
29
- const modules = require("./registries/modules.js");
30
- const plugins = require("./registries/plugins.js");
31
- const customFields = require("./registries/custom-fields.js");
32
- const config = require("./registries/config.js");
33
- const apis = require("./registries/apis.js");
34
- const sanitizers = require("./registries/sanitizers.js");
35
- const validators = require("./registries/validators.js");
36
- const models = require("./registries/models.js");
37
- const index$7 = require("./loaders/index.js");
18
+ require("node:path");
38
19
  const container = require("./container.js");
39
20
  const fs = require("./services/fs.js");
40
21
  const eventHub = require("./services/event-hub.js");
41
- const index$3 = require("./services/server/index.js");
42
- const webhookRunner = require("./services/webhook-runner.js");
43
- const webhookStore = require("./services/webhook-store.js");
44
- const coreStore = require("./services/core-store.js");
45
- const index$9 = require("./services/entity-service/index.js");
22
+ const index$5 = require("./services/server/index.js");
23
+ const reloader = require("./services/reloader.js");
24
+ const index$1 = require("./providers/index.js");
25
+ const index$7 = require("./services/entity-service/index.js");
46
26
  const queryParams = require("./services/query-params.js");
47
- const cron = require("./services/cron.js");
48
- const index$8 = require("./services/entity-validator/index.js");
49
- const index$4 = require("./services/metrics/index.js");
27
+ const index$6 = require("./services/entity-validator/index.js");
50
28
  const requestContext = require("./services/request-context.js");
51
- const index$2 = require("./services/auth/index.js");
52
- const customFields$1 = require("./services/custom-fields.js");
53
- const index$1 = require("./services/content-api/index.js");
29
+ const index$4 = require("./services/auth/index.js");
30
+ const customFields = require("./services/custom-fields.js");
31
+ const index$3 = require("./services/content-api/index.js");
54
32
  const dynamicZones = require("./services/utils/dynamic-zones.js");
55
33
  const features = require("./services/features.js");
56
- const index$a = require("./services/document-service/index.js");
57
- const draftPublish = require("./migrations/draft-publish.js");
34
+ const index$8 = require("./services/document-service/index.js");
35
+ const coreStore = require("./services/core-store.js");
36
+ const config = require("./services/config.js");
58
37
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
59
38
  const path__default = /* @__PURE__ */ _interopDefault(path);
60
39
  const ___default = /* @__PURE__ */ _interopDefault(_);
61
- const resolveWorkingDirectories = (opts) => {
62
- const cwd = process.cwd();
63
- const appDir = opts.appDir ? path__default.default.resolve(cwd, opts.appDir) : cwd;
64
- const distDir = opts.distDir ? path__default.default.resolve(cwd, opts.distDir) : appDir;
65
- return { app: appDir, dist: distDir };
66
- };
67
- const reloader = (strapi) => {
68
- const state = {
69
- shouldReload: 0,
70
- isWatching: true
71
- };
72
- function reload() {
73
- if (state.shouldReload > 0) {
74
- state.shouldReload -= 1;
75
- reload.isReloading = false;
76
- return;
77
- }
78
- if (strapi.config.get("autoReload")) {
79
- process.send?.("reload");
40
+ class Strapi extends container.Container {
41
+ app;
42
+ isLoaded = false;
43
+ internal_config = {};
44
+ constructor(opts) {
45
+ super();
46
+ this.internal_config = index.loadConfiguration(opts);
47
+ this.registerInternalServices();
48
+ for (const provider of index$1.providers) {
49
+ provider.init?.(this);
80
50
  }
81
51
  }
82
- Object.defineProperty(reload, "isWatching", {
83
- configurable: true,
84
- enumerable: true,
85
- set(value) {
86
- if (state.isWatching === false && value === true) {
87
- state.shouldReload += 1;
88
- }
89
- state.isWatching = value;
90
- },
91
- get() {
92
- return state.isWatching;
93
- }
94
- });
95
- reload.isReloading = false;
96
- reload.isWatching = true;
97
- return reload;
98
- };
99
- class Strapi extends container.Container {
100
- server;
101
- log;
102
- fs;
103
- eventHub;
104
- startupLogger;
105
- cron;
106
- webhookRunner;
107
- webhookStore;
108
- store;
109
- entityValidator;
52
+ get admin() {
53
+ return this.get("admin");
54
+ }
55
+ get EE() {
56
+ return index$2.isEE;
57
+ }
58
+ get ee() {
59
+ return index$2;
60
+ }
61
+ get dirs() {
62
+ return this.config.get("dirs");
63
+ }
64
+ get reload() {
65
+ return this.get("reload");
66
+ }
67
+ get db() {
68
+ return this.get("db");
69
+ }
70
+ get requestContext() {
71
+ return this.get("requestContext");
72
+ }
73
+ get customFields() {
74
+ return this.get("customFields");
75
+ }
76
+ get entityValidator() {
77
+ return this.get("entityValidator");
78
+ }
110
79
  /**
111
80
  * @deprecated `strapi.entityService` will be removed in the next major version
112
81
  */
113
- entityService;
114
- documents;
115
- telemetry;
116
- requestContext;
117
- customFields;
118
- fetch;
119
- dirs;
120
- admin;
121
- isLoaded;
122
- db;
123
- app;
124
- EE;
125
- reload;
126
- features;
127
- // @ts-expect-error - Assigned in constructor
128
- ee;
129
- constructor(opts = {}) {
130
- super();
131
- signals.destroyOnSignal(this);
132
- const rootDirs = resolveWorkingDirectories(opts);
133
- const appConfig = index(rootDirs, opts);
134
- this.add("config", config(appConfig, this)).add("content-types", contentTypes()).add("components", components()).add("services", services(this)).add("policies", policies()).add("middlewares", middlewares()).add("hooks", hooks()).add("controllers", controllers(this)).add("modules", modules(this)).add("plugins", plugins(this)).add("custom-fields", customFields(this)).add("apis", apis(this)).add("sanitizers", sanitizers()).add("validators", validators()).add("query-params", queryParams(this)).add("content-api", index$1(this)).add("auth", index$2()).add("models", models.registry());
135
- this.dirs = getDirs.getDirs(rootDirs, { strapi: this });
136
- this.isLoaded = false;
137
- this.reload = reloader(this);
138
- this.server = index$3.createServer(this);
139
- this.fs = fs(this);
140
- this.eventHub = eventHub();
141
- this.startupLogger = startupLogger.createStartupLogger(this);
142
- const logConfig = {
143
- level: "http",
144
- // Strapi defaults to level 'http'
145
- ...this.config.get("logger"),
146
- // DEPRECATED
147
- ...this.config.get("server.logger.config")
148
- };
149
- this.log = logger.createLogger(logConfig);
150
- this.cron = cron();
151
- this.telemetry = index$4(this);
152
- this.requestContext = requestContext;
153
- this.customFields = customFields$1(this);
154
- this.fetch = fetch.createStrapiFetch(this);
155
- this.features = features.createFeaturesService(this);
156
- this.db = new database.Database(
157
- ___default.default.merge(this.config.get("database"), {
158
- settings: {
159
- migrations: {
160
- dir: path__default.default.join(this.dirs.app.root, "database/migrations")
161
- }
162
- }
163
- })
164
- );
165
- index$5.createUpdateNotifier(this).notify();
166
- Object.defineProperty(this, "EE", {
167
- get: () => {
168
- index$6.init(this.dirs.app.root, this.log);
169
- return index$6.isEE;
170
- },
171
- configurable: false
172
- });
173
- Object.defineProperty(this, "ee", {
174
- get: () => index$6,
175
- configurable: false
176
- });
82
+ get entityService() {
83
+ return this.get("entityService");
84
+ }
85
+ get documents() {
86
+ return this.get("documents");
87
+ }
88
+ get features() {
89
+ return this.get("features");
90
+ }
91
+ get fetch() {
92
+ return this.get("fetch");
93
+ }
94
+ get cron() {
95
+ return this.get("cron");
96
+ }
97
+ get log() {
98
+ return this.get("logger");
99
+ }
100
+ get startupLogger() {
101
+ return this.get("startupLogger");
102
+ }
103
+ get eventHub() {
104
+ return this.get("eventHub");
105
+ }
106
+ get fs() {
107
+ return this.get("fs");
108
+ }
109
+ get server() {
110
+ return this.get("server");
111
+ }
112
+ get telemetry() {
113
+ return this.get("telemetry");
114
+ }
115
+ get store() {
116
+ return this.get("coreStore");
177
117
  }
178
118
  get config() {
179
119
  return this.get("config");
@@ -223,12 +163,12 @@ class Strapi extends container.Container {
223
163
  hook(name) {
224
164
  return this.get("hooks").get(name);
225
165
  }
226
- // api(name) {
227
- // return this.get('apis').get(name);
228
- // }
229
- get api() {
166
+ get apis() {
230
167
  return this.get("apis").getAll();
231
168
  }
169
+ api(name) {
170
+ return this.get("apis").get(name);
171
+ }
232
172
  get auth() {
233
173
  return this.get("auth");
234
174
  }
@@ -252,17 +192,28 @@ class Strapi extends container.Container {
252
192
  return this.stopWithError(error);
253
193
  }
254
194
  }
255
- async destroy() {
256
- this.log.info("Shutting down Strapi");
257
- await this.server.destroy();
258
- await this.runLifecyclesFunctions(lifecycles.LIFECYCLES.DESTROY);
259
- this.eventHub.destroy();
260
- await this.db?.destroy();
261
- this.telemetry.destroy();
262
- this.cron.destroy();
263
- process.removeAllListeners();
264
- delete global.strapi;
265
- this.log.info("Strapi has been shut down");
195
+ // TODO: split into more providers
196
+ registerInternalServices() {
197
+ this.add("config", () => config.createConfigProvider(this.internal_config, this)).add("query-params", queryParams(this)).add("content-api", index$3(this)).add("auth", index$4()).add("server", () => index$5.createServer(this)).add("fs", () => fs(this)).add("eventHub", () => eventHub()).add("startupLogger", () => startupLogger.createStartupLogger(this)).add("logger", () => {
198
+ return logger.createLogger({
199
+ level: "http",
200
+ // Strapi defaults to level 'http'
201
+ ...this.config.get("logger"),
202
+ // DEPRECATED
203
+ ...this.config.get("server.logger.config")
204
+ });
205
+ }).add("fetch", () => fetch.createStrapiFetch(this)).add("features", () => features.createFeaturesService(this)).add("requestContext", requestContext).add("customFields", customFields(this)).add("entityValidator", index$6).add("entityService", () => index$7({ strapi: this, db: this.db })).add("documents", () => index$8.createDocumentService(this)).add(
206
+ "db",
207
+ () => new database.Database(
208
+ ___default.default.merge(this.config.get("database"), {
209
+ settings: {
210
+ migrations: {
211
+ dir: path__default.default.join(this.dirs.app.root, "database/migrations")
212
+ }
213
+ }
214
+ })
215
+ )
216
+ ).add("reload", () => reloader.createReloader(this));
266
217
  }
267
218
  sendStartupTelemetry() {
268
219
  this.telemetry.send("didStartServer", {
@@ -338,49 +289,30 @@ class Strapi extends container.Container {
338
289
  }
339
290
  process.exit(exitCode);
340
291
  }
341
- registerInternalHooks() {
342
- this.get("hooks").set("strapi::content-types.beforeSync", strapiUtils.hooks.createAsyncParallelHook());
343
- this.get("hooks").set("strapi::content-types.afterSync", strapiUtils.hooks.createAsyncParallelHook());
344
- this.hook("strapi::content-types.beforeSync").register(draftPublish.disable);
345
- this.hook("strapi::content-types.afterSync").register(draftPublish.enable);
292
+ async load() {
293
+ await this.register();
294
+ await this.bootstrap();
295
+ this.isLoaded = true;
296
+ return this;
346
297
  }
347
298
  async register() {
348
- await index$7.loadApplicationContext(this);
349
- this.get("models").add(coreStore.coreStoreModel).add(webhookStore.webhookModel);
350
- this.webhookRunner = webhookRunner({
351
- eventHub: this.eventHub,
352
- logger: this.log,
353
- configuration: this.config.get("server.webhooks", {}),
354
- fetch: this.fetch
355
- });
356
- this.registerInternalHooks();
357
- this.telemetry.register();
299
+ this.ee.init(this.dirs.app.root, this.log);
300
+ for (const provider of index$1.providers) {
301
+ await provider.register?.(this);
302
+ }
358
303
  await this.runLifecyclesFunctions(lifecycles.LIFECYCLES.REGISTER);
359
304
  convertCustomFieldType.convertCustomFieldType(this);
360
305
  return this;
361
306
  }
362
307
  async bootstrap() {
363
- const models2 = [
364
- ...transformContentTypesToModels.transformContentTypesToModels([
365
- ...Object.values(this.contentTypes),
366
- ...Object.values(this.components)
367
- ]),
308
+ const models = [
309
+ ...transformContentTypesToModels.transformContentTypesToModels(
310
+ [...Object.values(this.contentTypes), ...Object.values(this.components)],
311
+ this.db.metadata.identifiers
312
+ ),
368
313
  ...this.get("models").get()
369
314
  ];
370
- await this.db.init({ models: models2 });
371
- this.store = coreStore.createCoreStore({ db: this.db });
372
- this.webhookStore = webhookStore.createWebhookStore({ db: this.db });
373
- this.entityValidator = index$8;
374
- this.entityService = index$9({
375
- strapi: this,
376
- db: this.db
377
- });
378
- this.documents = index$a.createDocumentService(this);
379
- if (this.config.get("server.cron.enabled", true)) {
380
- const cronTasks = this.config.get("server.cron.tasks", {});
381
- this.cron.add(cronTasks);
382
- }
383
- this.telemetry.bootstrap();
315
+ await this.db.init({ models });
384
316
  let oldContentTypes;
385
317
  if (await this.db.getSchemaConnection().hasTable(coreStore.coreStoreModel.tableName)) {
386
318
  oldContentTypes = await this.store.get({
@@ -395,7 +327,7 @@ class Strapi extends container.Container {
395
327
  });
396
328
  await this.db.schema.sync();
397
329
  if (this.EE) {
398
- await index$6.checkLicense({ strapi: this });
330
+ await index$2.checkLicense({ strapi: this });
399
331
  }
400
332
  await this.hook("strapi::content-types.afterSync").call({
401
333
  oldContentTypes,
@@ -407,35 +339,30 @@ class Strapi extends container.Container {
407
339
  key: "schema",
408
340
  value: this.contentTypes
409
341
  });
410
- await this.startWebhooks();
411
342
  await this.server.initMiddlewares();
412
343
  this.server.initRouting();
413
344
  await this.contentAPI.permissions.registerActions();
414
345
  await this.runLifecyclesFunctions(lifecycles.LIFECYCLES.BOOTSTRAP);
415
- this.cron.start();
416
- return this;
417
- }
418
- async load() {
419
- await this.register();
420
- await this.bootstrap();
421
- this.isLoaded = true;
346
+ for (const provider of index$1.providers) {
347
+ await provider.bootstrap?.(this);
348
+ }
422
349
  return this;
423
350
  }
424
- async startWebhooks() {
425
- const webhooks = await this.webhookStore?.findWebhooks();
426
- if (!webhooks) {
427
- return;
428
- }
429
- for (const webhook of webhooks) {
430
- this.webhookRunner?.add(webhook);
351
+ async destroy() {
352
+ this.log.info("Shutting down Strapi");
353
+ await this.runLifecyclesFunctions(lifecycles.LIFECYCLES.DESTROY);
354
+ for (const provider of index$1.providers) {
355
+ await provider.destroy?.(this);
431
356
  }
357
+ await this.server.destroy();
358
+ this.eventHub.destroy();
359
+ await this.db?.destroy();
360
+ process.removeAllListeners();
361
+ delete global.strapi;
362
+ this.log.info("Strapi has been shut down");
432
363
  }
433
364
  async runLifecyclesFunctions(lifecycleName) {
434
365
  await this.get("modules")[lifecycleName]();
435
- const adminLifecycleFunction = this.admin && this.admin[lifecycleName];
436
- if (_$1.isFunction(adminLifecycleFunction)) {
437
- await adminLifecycleFunction({ strapi: this });
438
- }
439
366
  const userLifecycleFunction = this.app && this.app[lifecycleName];
440
367
  if (_$1.isFunction(userLifecycleFunction)) {
441
368
  await userLifecycleFunction({ strapi: this });
@@ -456,11 +383,5 @@ class Strapi extends container.Container {
456
383
  return this.db.query(uid);
457
384
  }
458
385
  }
459
- const initFn = (options = {}) => {
460
- const strapi = new Strapi(options);
461
- global.strapi = strapi;
462
- return strapi;
463
- };
464
- const init = Object.assign(initFn, { factories, compile });
465
- module.exports = init;
386
+ module.exports = Strapi;
466
387
  //# sourceMappingURL=Strapi.js.map