@strapi/strapi 4.14.5 → 4.15.0

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 (697) hide show
  1. package/README.md +1 -0
  2. package/bin/strapi.js +1 -6
  3. package/dist/Strapi.js +454 -532
  4. package/dist/Strapi.js.map +1 -1
  5. package/dist/Strapi.mjs +464 -0
  6. package/dist/Strapi.mjs.map +1 -0
  7. package/dist/cli.d.ts +2 -0
  8. package/dist/cli.d.ts.map +1 -0
  9. package/dist/cli.js +4 -0
  10. package/dist/cli.js.map +1 -0
  11. package/dist/commands/actions/admin/create-user/action.js +75 -94
  12. package/dist/commands/actions/admin/create-user/action.js.map +1 -1
  13. package/dist/commands/actions/admin/create-user/command.d.ts.map +1 -1
  14. package/dist/commands/actions/admin/create-user/command.js +6 -17
  15. package/dist/commands/actions/admin/create-user/command.js.map +1 -1
  16. package/dist/commands/actions/admin/reset-user-password/action.js +33 -36
  17. package/dist/commands/actions/admin/reset-user-password/action.js.map +1 -1
  18. package/dist/commands/actions/admin/reset-user-password/command.d.ts.map +1 -1
  19. package/dist/commands/actions/admin/reset-user-password/command.js +6 -15
  20. package/dist/commands/actions/admin/reset-user-password/command.js.map +1 -1
  21. package/dist/commands/actions/build-command/action.js +15 -18
  22. package/dist/commands/actions/build-command/action.js.map +1 -1
  23. package/dist/commands/actions/build-command/command.d.ts.map +1 -1
  24. package/dist/commands/actions/build-command/command.js +6 -13
  25. package/dist/commands/actions/build-command/command.js.map +1 -1
  26. package/dist/commands/actions/components/list/action.js +18 -18
  27. package/dist/commands/actions/components/list/action.js.map +1 -1
  28. package/dist/commands/actions/components/list/command.d.ts.map +1 -1
  29. package/dist/commands/actions/components/list/command.js +6 -12
  30. package/dist/commands/actions/components/list/command.js.map +1 -1
  31. package/dist/commands/actions/configuration/dump/action.js +33 -43
  32. package/dist/commands/actions/configuration/dump/action.js.map +1 -1
  33. package/dist/commands/actions/configuration/dump/command.d.ts.map +1 -1
  34. package/dist/commands/actions/configuration/dump/command.js +6 -15
  35. package/dist/commands/actions/configuration/dump/command.js.map +1 -1
  36. package/dist/commands/actions/configuration/restore/action.js +122 -139
  37. package/dist/commands/actions/configuration/restore/action.js.map +1 -1
  38. package/dist/commands/actions/configuration/restore/command.d.ts.map +1 -1
  39. package/dist/commands/actions/configuration/restore/command.js +6 -15
  40. package/dist/commands/actions/configuration/restore/command.js.map +1 -1
  41. package/dist/commands/actions/console/action.js +19 -23
  42. package/dist/commands/actions/console/action.js.map +1 -1
  43. package/dist/commands/actions/console/command.d.ts.map +1 -1
  44. package/dist/commands/actions/console/command.js +6 -12
  45. package/dist/commands/actions/console/command.js.map +1 -1
  46. package/dist/commands/actions/content-types/list/action.js +18 -18
  47. package/dist/commands/actions/content-types/list/action.js.map +1 -1
  48. package/dist/commands/actions/content-types/list/command.d.ts.map +1 -1
  49. package/dist/commands/actions/content-types/list/command.js +6 -12
  50. package/dist/commands/actions/content-types/list/command.js.map +1 -1
  51. package/dist/commands/actions/controllers/list/action.js +18 -18
  52. package/dist/commands/actions/controllers/list/action.js.map +1 -1
  53. package/dist/commands/actions/controllers/list/command.d.ts.map +1 -1
  54. package/dist/commands/actions/controllers/list/command.js +6 -12
  55. package/dist/commands/actions/controllers/list/command.js.map +1 -1
  56. package/dist/commands/actions/develop/action.d.ts +1 -75
  57. package/dist/commands/actions/develop/action.d.ts.map +1 -1
  58. package/dist/commands/actions/develop/action.js +184 -177
  59. package/dist/commands/actions/develop/action.js.map +1 -1
  60. package/dist/commands/actions/develop/command.d.ts.map +1 -1
  61. package/dist/commands/actions/develop/command.js +6 -17
  62. package/dist/commands/actions/develop/command.js.map +1 -1
  63. package/dist/commands/actions/generate/command.js +30 -16
  64. package/dist/commands/actions/generate/command.js.map +1 -1
  65. package/dist/commands/actions/hooks/list/action.js +18 -18
  66. package/dist/commands/actions/hooks/list/action.js.map +1 -1
  67. package/dist/commands/actions/hooks/list/command.d.ts.map +1 -1
  68. package/dist/commands/actions/hooks/list/command.js +6 -12
  69. package/dist/commands/actions/hooks/list/command.js.map +1 -1
  70. package/dist/commands/actions/install/action.js +41 -45
  71. package/dist/commands/actions/install/action.js.map +1 -1
  72. package/dist/commands/actions/install/command.d.ts.map +1 -1
  73. package/dist/commands/actions/install/command.js +6 -12
  74. package/dist/commands/actions/install/command.js.map +1 -1
  75. package/dist/commands/actions/middlewares/list/action.js +18 -18
  76. package/dist/commands/actions/middlewares/list/action.js.map +1 -1
  77. package/dist/commands/actions/middlewares/list/command.d.ts.map +1 -1
  78. package/dist/commands/actions/middlewares/list/command.js +6 -12
  79. package/dist/commands/actions/middlewares/list/command.js.map +1 -1
  80. package/dist/commands/actions/new/action.js +5 -10
  81. package/dist/commands/actions/new/action.js.map +1 -1
  82. package/dist/commands/actions/new/command.js +14 -33
  83. package/dist/commands/actions/new/command.js.map +1 -1
  84. package/dist/commands/actions/plugin/build-command/action.js +80 -79
  85. package/dist/commands/actions/plugin/build-command/action.js.map +1 -1
  86. package/dist/commands/actions/plugin/build-command/command.d.ts.map +1 -1
  87. package/dist/commands/actions/plugin/build-command/command.js +7 -18
  88. package/dist/commands/actions/plugin/build-command/command.js.map +1 -1
  89. package/dist/commands/actions/plugin/watch/action.d.ts +7 -0
  90. package/dist/commands/actions/plugin/watch/action.d.ts.map +1 -0
  91. package/dist/commands/actions/plugin/watch/action.js +85 -0
  92. package/dist/commands/actions/plugin/watch/action.js.map +1 -0
  93. package/dist/commands/actions/plugin/watch/command.d.ts +7 -0
  94. package/dist/commands/actions/plugin/watch/command.d.ts.map +1 -0
  95. package/dist/commands/actions/plugin/watch/command.js +8 -0
  96. package/dist/commands/actions/plugin/watch/command.js.map +1 -0
  97. package/dist/commands/actions/policies/list/action.js +18 -18
  98. package/dist/commands/actions/policies/list/action.js.map +1 -1
  99. package/dist/commands/actions/policies/list/command.d.ts.map +1 -1
  100. package/dist/commands/actions/policies/list/command.js +6 -12
  101. package/dist/commands/actions/policies/list/command.js.map +1 -1
  102. package/dist/commands/actions/report/action.js +22 -25
  103. package/dist/commands/actions/report/action.js.map +1 -1
  104. package/dist/commands/actions/report/command.d.ts.map +1 -1
  105. package/dist/commands/actions/report/command.js +6 -15
  106. package/dist/commands/actions/report/command.js.map +1 -1
  107. package/dist/commands/actions/routes/list/action.js +22 -24
  108. package/dist/commands/actions/routes/list/action.js.map +1 -1
  109. package/dist/commands/actions/routes/list/command.d.ts.map +1 -1
  110. package/dist/commands/actions/routes/list/command.js +6 -12
  111. package/dist/commands/actions/routes/list/command.js.map +1 -1
  112. package/dist/commands/actions/services/list/action.js +18 -18
  113. package/dist/commands/actions/services/list/action.js.map +1 -1
  114. package/dist/commands/actions/services/list/command.d.ts.map +1 -1
  115. package/dist/commands/actions/services/list/command.js +6 -12
  116. package/dist/commands/actions/services/list/command.js.map +1 -1
  117. package/dist/commands/actions/start/action.d.ts +1 -74
  118. package/dist/commands/actions/start/action.d.ts.map +1 -1
  119. package/dist/commands/actions/start/action.js +19 -20
  120. package/dist/commands/actions/start/action.js.map +1 -1
  121. package/dist/commands/actions/start/command.d.ts.map +1 -1
  122. package/dist/commands/actions/start/command.js +6 -12
  123. package/dist/commands/actions/start/command.js.map +1 -1
  124. package/dist/commands/actions/telemetry/disable/action.js +72 -72
  125. package/dist/commands/actions/telemetry/disable/action.js.map +1 -1
  126. package/dist/commands/actions/telemetry/disable/command.d.ts.map +1 -1
  127. package/dist/commands/actions/telemetry/disable/command.js +6 -12
  128. package/dist/commands/actions/telemetry/disable/command.js.map +1 -1
  129. package/dist/commands/actions/telemetry/enable/action.js +87 -88
  130. package/dist/commands/actions/telemetry/enable/action.js.map +1 -1
  131. package/dist/commands/actions/telemetry/enable/command.d.ts.map +1 -1
  132. package/dist/commands/actions/telemetry/enable/command.js +6 -12
  133. package/dist/commands/actions/telemetry/enable/command.js.map +1 -1
  134. package/dist/commands/actions/templates/generate/action.js +59 -73
  135. package/dist/commands/actions/templates/generate/action.js.map +1 -1
  136. package/dist/commands/actions/templates/generate/command.d.ts.map +1 -1
  137. package/dist/commands/actions/templates/generate/command.js +6 -12
  138. package/dist/commands/actions/templates/generate/command.js.map +1 -1
  139. package/dist/commands/actions/ts/generate-types/action.js +25 -26
  140. package/dist/commands/actions/ts/generate-types/action.js.map +1 -1
  141. package/dist/commands/actions/ts/generate-types/command.d.ts.map +1 -1
  142. package/dist/commands/actions/ts/generate-types/command.js +9 -16
  143. package/dist/commands/actions/ts/generate-types/command.js.map +1 -1
  144. package/dist/commands/actions/uninstall/action.js +60 -62
  145. package/dist/commands/actions/uninstall/action.js.map +1 -1
  146. package/dist/commands/actions/uninstall/command.d.ts.map +1 -1
  147. package/dist/commands/actions/uninstall/command.js +6 -13
  148. package/dist/commands/actions/uninstall/command.js.map +1 -1
  149. package/dist/commands/actions/version/command.js +10 -17
  150. package/dist/commands/actions/version/command.js.map +1 -1
  151. package/dist/commands/actions/watch-admin/action.js +33 -34
  152. package/dist/commands/actions/watch-admin/action.js.map +1 -1
  153. package/dist/commands/actions/watch-admin/command.d.ts.map +1 -1
  154. package/dist/commands/actions/watch-admin/command.js +6 -13
  155. package/dist/commands/actions/watch-admin/command.js.map +1 -1
  156. package/dist/commands/builders/admin.js +46 -50
  157. package/dist/commands/builders/admin.js.map +1 -1
  158. package/dist/commands/builders/typescript.js +28 -25
  159. package/dist/commands/builders/typescript.js.map +1 -1
  160. package/dist/commands/index.d.ts +1 -0
  161. package/dist/commands/index.d.ts.map +1 -1
  162. package/dist/commands/index.js +102 -91
  163. package/dist/commands/index.js.map +1 -1
  164. package/dist/commands/utils/commander.js +11 -136
  165. package/dist/commands/utils/commander.js.map +1 -1
  166. package/dist/commands/utils/helpers.d.ts +4 -6
  167. package/dist/commands/utils/helpers.d.ts.map +1 -1
  168. package/dist/commands/utils/helpers.js +57 -155
  169. package/dist/commands/utils/helpers.js.map +1 -1
  170. package/dist/commands/utils/logger.js +59 -49
  171. package/dist/commands/utils/logger.js.map +1 -1
  172. package/dist/commands/utils/pkg.js +98 -107
  173. package/dist/commands/utils/pkg.js.map +1 -1
  174. package/dist/compile.js +15 -17
  175. package/dist/compile.js.map +1 -1
  176. package/dist/compile.mjs +17 -0
  177. package/dist/compile.mjs.map +1 -0
  178. package/dist/container.js +32 -35
  179. package/dist/container.js.map +1 -1
  180. package/dist/container.mjs +36 -0
  181. package/dist/container.mjs.map +1 -0
  182. package/dist/core/app-configuration/config-loader.js +17 -20
  183. package/dist/core/app-configuration/config-loader.js.map +1 -1
  184. package/dist/core/app-configuration/config-loader.mjs +17 -0
  185. package/dist/core/app-configuration/config-loader.mjs.map +1 -0
  186. package/dist/core/app-configuration/index.js +51 -50
  187. package/dist/core/app-configuration/index.js.map +1 -1
  188. package/dist/core/app-configuration/index.mjs +51 -0
  189. package/dist/core/app-configuration/index.mjs.map +1 -0
  190. package/dist/core/app-configuration/load-config-file.js +34 -38
  191. package/dist/core/app-configuration/load-config-file.js.map +1 -1
  192. package/dist/core/app-configuration/load-config-file.mjs +42 -0
  193. package/dist/core/app-configuration/load-config-file.mjs.map +1 -0
  194. package/dist/core/bootstrap.js +25 -24
  195. package/dist/core/bootstrap.js.map +1 -1
  196. package/dist/core/bootstrap.mjs +27 -0
  197. package/dist/core/bootstrap.mjs.map +1 -0
  198. package/dist/core/domain/content-type/index.js +108 -104
  199. package/dist/core/domain/content-type/index.js.map +1 -1
  200. package/dist/core/domain/content-type/index.mjs +119 -0
  201. package/dist/core/domain/content-type/index.mjs.map +1 -0
  202. package/dist/core/domain/content-type/validator.js +69 -83
  203. package/dist/core/domain/content-type/validator.js.map +1 -1
  204. package/dist/core/domain/content-type/validator.mjs +75 -0
  205. package/dist/core/domain/content-type/validator.mjs.map +1 -0
  206. package/dist/core/domain/module/index.js +97 -100
  207. package/dist/core/domain/module/index.js.map +1 -1
  208. package/dist/core/domain/module/index.mjs +105 -0
  209. package/dist/core/domain/module/index.mjs.map +1 -0
  210. package/dist/core/domain/module/validation.js +21 -25
  211. package/dist/core/domain/module/validation.js.map +1 -1
  212. package/dist/core/domain/module/validation.mjs +25 -0
  213. package/dist/core/domain/module/validation.mjs.map +1 -0
  214. package/dist/core/loaders/admin.js +13 -15
  215. package/dist/core/loaders/admin.js.map +1 -1
  216. package/dist/core/loaders/admin.mjs +15 -0
  217. package/dist/core/loaders/admin.mjs.map +1 -0
  218. package/dist/core/loaders/apis.js +109 -135
  219. package/dist/core/loaders/apis.js.map +1 -1
  220. package/dist/core/loaders/apis.mjs +128 -0
  221. package/dist/core/loaders/apis.mjs.map +1 -0
  222. package/dist/core/loaders/components.js +34 -34
  223. package/dist/core/loaders/components.js.map +1 -1
  224. package/dist/core/loaders/components.mjs +36 -0
  225. package/dist/core/loaders/components.mjs.map +1 -0
  226. package/dist/core/loaders/index.js +21 -24
  227. package/dist/core/loaders/index.js.map +1 -1
  228. package/dist/core/loaders/index.mjs +24 -0
  229. package/dist/core/loaders/index.mjs.map +1 -0
  230. package/dist/core/loaders/middlewares.js +25 -28
  231. package/dist/core/loaders/middlewares.js.map +1 -1
  232. package/dist/core/loaders/middlewares.mjs +30 -0
  233. package/dist/core/loaders/middlewares.mjs.map +1 -0
  234. package/dist/core/loaders/plugins/get-enabled-plugins.js +96 -99
  235. package/dist/core/loaders/plugins/get-enabled-plugins.js.map +1 -1
  236. package/dist/core/loaders/plugins/get-enabled-plugins.mjs +108 -0
  237. package/dist/core/loaders/plugins/get-enabled-plugins.mjs.map +1 -0
  238. package/dist/core/loaders/plugins/get-user-plugins-config.js +23 -27
  239. package/dist/core/loaders/plugins/get-user-plugins-config.js.map +1 -1
  240. package/dist/core/loaders/plugins/get-user-plugins-config.mjs +25 -0
  241. package/dist/core/loaders/plugins/get-user-plugins-config.mjs.map +1 -0
  242. package/dist/core/loaders/plugins/index.js +92 -96
  243. package/dist/core/loaders/plugins/index.js.map +1 -1
  244. package/dist/core/loaders/plugins/index.mjs +104 -0
  245. package/dist/core/loaders/plugins/index.mjs.map +1 -0
  246. package/dist/core/loaders/policies.js +21 -24
  247. package/dist/core/loaders/policies.js.map +1 -1
  248. package/dist/core/loaders/policies.mjs +24 -0
  249. package/dist/core/loaders/policies.mjs.map +1 -0
  250. package/dist/core/loaders/sanitizers.js +4 -4
  251. package/dist/core/loaders/sanitizers.js.map +1 -1
  252. package/dist/core/loaders/sanitizers.mjs +7 -0
  253. package/dist/core/loaders/sanitizers.mjs.map +1 -0
  254. package/dist/core/loaders/src-index.js +28 -32
  255. package/dist/core/loaders/src-index.js.map +1 -1
  256. package/dist/core/loaders/src-index.mjs +34 -0
  257. package/dist/core/loaders/src-index.mjs.map +1 -0
  258. package/dist/core/loaders/validators.js +4 -4
  259. package/dist/core/loaders/validators.js.map +1 -1
  260. package/dist/core/loaders/validators.mjs +7 -0
  261. package/dist/core/loaders/validators.mjs.map +1 -0
  262. package/dist/core/registries/apis.js +20 -21
  263. package/dist/core/registries/apis.js.map +1 -1
  264. package/dist/core/registries/apis.mjs +24 -0
  265. package/dist/core/registries/apis.mjs.map +1 -0
  266. package/dist/core/registries/config.js +21 -21
  267. package/dist/core/registries/config.js.map +1 -1
  268. package/dist/core/registries/config.mjs +22 -0
  269. package/dist/core/registries/config.mjs.map +1 -0
  270. package/dist/core/registries/content-types.js +65 -64
  271. package/dist/core/registries/content-types.js.map +1 -1
  272. package/dist/core/registries/content-types.mjs +72 -0
  273. package/dist/core/registries/content-types.mjs.map +1 -0
  274. package/dist/core/registries/controllers.js +77 -78
  275. package/dist/core/registries/controllers.js.map +1 -1
  276. package/dist/core/registries/controllers.mjs +81 -0
  277. package/dist/core/registries/controllers.mjs.map +1 -0
  278. package/dist/core/registries/custom-fields.js +66 -69
  279. package/dist/core/registries/custom-fields.js.map +1 -1
  280. package/dist/core/registries/custom-fields.mjs +72 -0
  281. package/dist/core/registries/custom-fields.mjs.map +1 -0
  282. package/dist/core/registries/hooks.js +55 -56
  283. package/dist/core/registries/hooks.js.map +1 -1
  284. package/dist/core/registries/hooks.mjs +59 -0
  285. package/dist/core/registries/hooks.mjs.map +1 -0
  286. package/dist/core/registries/middlewares.js +57 -59
  287. package/dist/core/registries/middlewares.js.map +1 -1
  288. package/dist/core/registries/middlewares.mjs +61 -0
  289. package/dist/core/registries/middlewares.mjs.map +1 -0
  290. package/dist/core/registries/modules.js +36 -37
  291. package/dist/core/registries/modules.js.map +1 -1
  292. package/dist/core/registries/modules.mjs +40 -0
  293. package/dist/core/registries/modules.mjs.map +1 -0
  294. package/dist/core/registries/plugins.js +20 -21
  295. package/dist/core/registries/plugins.js.map +1 -1
  296. package/dist/core/registries/plugins.mjs +24 -0
  297. package/dist/core/registries/plugins.mjs.map +1 -0
  298. package/dist/core/registries/policies.js +59 -61
  299. package/dist/core/registries/policies.js.map +1 -1
  300. package/dist/core/registries/policies.mjs +63 -0
  301. package/dist/core/registries/policies.mjs.map +1 -0
  302. package/dist/core/registries/sanitizers.js +22 -24
  303. package/dist/core/registries/sanitizers.js.map +1 -1
  304. package/dist/core/registries/sanitizers.mjs +24 -0
  305. package/dist/core/registries/sanitizers.mjs.map +1 -0
  306. package/dist/core/registries/services.js +77 -79
  307. package/dist/core/registries/services.js.map +1 -1
  308. package/dist/core/registries/services.mjs +81 -0
  309. package/dist/core/registries/services.mjs.map +1 -0
  310. package/dist/core/registries/validators.js +22 -24
  311. package/dist/core/registries/validators.js.map +1 -1
  312. package/dist/core/registries/validators.mjs +24 -0
  313. package/dist/core/registries/validators.mjs.map +1 -0
  314. package/dist/core/utils.js +19 -20
  315. package/dist/core/utils.js.map +1 -1
  316. package/dist/core/utils.mjs +27 -0
  317. package/dist/core/utils.mjs.map +1 -0
  318. package/dist/core-api/controller/collection-type.js +90 -93
  319. package/dist/core-api/controller/collection-type.js.map +1 -1
  320. package/dist/core-api/controller/collection-type.mjs +93 -0
  321. package/dist/core-api/controller/collection-type.mjs.map +1 -0
  322. package/dist/core-api/controller/index.js +43 -46
  323. package/dist/core-api/controller/index.js.map +1 -1
  324. package/dist/core-api/controller/index.mjs +47 -0
  325. package/dist/core-api/controller/index.mjs.map +1 -0
  326. package/dist/core-api/controller/single-type.js +48 -50
  327. package/dist/core-api/controller/single-type.js.map +1 -1
  328. package/dist/core-api/controller/single-type.mjs +51 -0
  329. package/dist/core-api/controller/single-type.mjs.map +1 -0
  330. package/dist/core-api/controller/transform.js +70 -72
  331. package/dist/core-api/controller/transform.js.map +1 -1
  332. package/dist/core-api/controller/transform.mjs +84 -0
  333. package/dist/core-api/controller/transform.mjs.map +1 -0
  334. package/dist/core-api/routes/index.js +60 -61
  335. package/dist/core-api/routes/index.js.map +1 -1
  336. package/dist/core-api/routes/index.mjs +67 -0
  337. package/dist/core-api/routes/index.mjs.map +1 -0
  338. package/dist/core-api/service/collection-type.js +57 -57
  339. package/dist/core-api/service/collection-type.js.map +1 -1
  340. package/dist/core-api/service/collection-type.mjs +62 -0
  341. package/dist/core-api/service/collection-type.mjs.map +1 -0
  342. package/dist/core-api/service/get-fetch-params.js +10 -12
  343. package/dist/core-api/service/get-fetch-params.js.map +1 -1
  344. package/dist/core-api/service/get-fetch-params.mjs +14 -0
  345. package/dist/core-api/service/get-fetch-params.mjs.map +1 -0
  346. package/dist/core-api/service/index.js +13 -15
  347. package/dist/core-api/service/index.js.map +1 -1
  348. package/dist/core-api/service/index.mjs +16 -0
  349. package/dist/core-api/service/index.mjs.map +1 -0
  350. package/dist/core-api/service/pagination.js +71 -79
  351. package/dist/core-api/service/pagination.js.map +1 -1
  352. package/dist/core-api/service/pagination.mjs +89 -0
  353. package/dist/core-api/service/pagination.mjs.map +1 -0
  354. package/dist/core-api/service/single-type.js +53 -53
  355. package/dist/core-api/service/single-type.js.map +1 -1
  356. package/dist/core-api/service/single-type.mjs +58 -0
  357. package/dist/core-api/service/single-type.mjs.map +1 -0
  358. package/dist/ee/index.js +128 -160
  359. package/dist/ee/index.js.map +1 -1
  360. package/dist/ee/index.mjs +154 -0
  361. package/dist/ee/index.mjs.map +1 -0
  362. package/dist/ee/license.js +72 -77
  363. package/dist/ee/license.js.map +1 -1
  364. package/dist/ee/license.mjs +86 -0
  365. package/dist/ee/license.mjs.map +1 -0
  366. package/dist/factories.js +62 -61
  367. package/dist/factories.js.map +1 -1
  368. package/dist/factories.mjs +71 -0
  369. package/dist/factories.mjs.map +1 -0
  370. package/dist/index.d.ts +0 -1
  371. package/dist/index.d.ts.map +1 -1
  372. package/dist/index.js +7 -34
  373. package/dist/index.js.map +1 -1
  374. package/dist/index.mjs +8 -0
  375. package/dist/index.mjs.map +1 -0
  376. package/dist/load/filepath-to-prop-path.js +9 -19
  377. package/dist/load/filepath-to-prop-path.js.map +1 -1
  378. package/dist/load/filepath-to-prop-path.mjs +10 -0
  379. package/dist/load/filepath-to-prop-path.mjs.map +1 -0
  380. package/dist/load/glob.js +11 -16
  381. package/dist/load/glob.js.map +1 -1
  382. package/dist/load/glob.mjs +14 -0
  383. package/dist/load/glob.mjs.map +1 -0
  384. package/dist/load/load-files.js +35 -43
  385. package/dist/load/load-files.js.map +1 -1
  386. package/dist/load/load-files.mjs +35 -0
  387. package/dist/load/load-files.mjs.map +1 -0
  388. package/dist/load/package-path.js +6 -10
  389. package/dist/load/package-path.js.map +1 -1
  390. package/dist/middlewares/body.js +53 -66
  391. package/dist/middlewares/body.js.map +1 -1
  392. package/dist/middlewares/body.mjs +61 -0
  393. package/dist/middlewares/body.mjs.map +1 -0
  394. package/dist/middlewares/compression.js +6 -8
  395. package/dist/middlewares/compression.js.map +1 -1
  396. package/dist/middlewares/compression.mjs +6 -0
  397. package/dist/middlewares/compression.mjs.map +1 -0
  398. package/dist/middlewares/cors.js +45 -48
  399. package/dist/middlewares/cors.js.map +1 -1
  400. package/dist/middlewares/cors.mjs +49 -0
  401. package/dist/middlewares/cors.mjs.map +1 -0
  402. package/dist/middlewares/errors.js +30 -32
  403. package/dist/middlewares/errors.js.map +1 -1
  404. package/dist/middlewares/errors.mjs +33 -0
  405. package/dist/middlewares/errors.mjs.map +1 -0
  406. package/dist/middlewares/favicon.js +16 -24
  407. package/dist/middlewares/favicon.js.map +1 -1
  408. package/dist/middlewares/favicon.mjs +20 -0
  409. package/dist/middlewares/favicon.mjs.map +1 -0
  410. package/dist/middlewares/index.js +32 -32
  411. package/dist/middlewares/index.js.map +1 -1
  412. package/dist/middlewares/index.mjs +34 -0
  413. package/dist/middlewares/index.mjs.map +1 -0
  414. package/dist/middlewares/ip.js +6 -8
  415. package/dist/middlewares/ip.js.map +1 -1
  416. package/dist/middlewares/ip.mjs +6 -0
  417. package/dist/middlewares/ip.mjs.map +1 -0
  418. package/dist/middlewares/logger.js +8 -9
  419. package/dist/middlewares/logger.js.map +1 -1
  420. package/dist/middlewares/logger.mjs +12 -0
  421. package/dist/middlewares/logger.mjs.map +1 -0
  422. package/dist/middlewares/powered-by.js +8 -9
  423. package/dist/middlewares/powered-by.js.map +1 -1
  424. package/dist/middlewares/powered-by.mjs +14 -0
  425. package/dist/middlewares/powered-by.mjs.map +1 -0
  426. package/dist/middlewares/public/index.js +85 -106
  427. package/dist/middlewares/public/index.js.map +1 -1
  428. package/dist/middlewares/public/index.mjs +85 -0
  429. package/dist/middlewares/public/index.mjs.map +1 -0
  430. package/dist/middlewares/public/serve-static.js +20 -23
  431. package/dist/middlewares/public/serve-static.js.map +1 -1
  432. package/dist/middlewares/public/serve-static.mjs +21 -0
  433. package/dist/middlewares/public/serve-static.mjs.map +1 -0
  434. package/dist/middlewares/query.js +32 -37
  435. package/dist/middlewares/query.js.map +1 -1
  436. package/dist/middlewares/query.mjs +38 -0
  437. package/dist/middlewares/query.mjs.map +1 -0
  438. package/dist/middlewares/response-time.js +8 -9
  439. package/dist/middlewares/response-time.js.map +1 -1
  440. package/dist/middlewares/response-time.mjs +12 -0
  441. package/dist/middlewares/response-time.mjs.map +1 -0
  442. package/dist/middlewares/responses.js +11 -12
  443. package/dist/middlewares/responses.js.map +1 -1
  444. package/dist/middlewares/responses.mjs +15 -0
  445. package/dist/middlewares/responses.mjs.map +1 -0
  446. package/dist/middlewares/security.js +44 -46
  447. package/dist/middlewares/security.js.map +1 -1
  448. package/dist/middlewares/security.mjs +48 -0
  449. package/dist/middlewares/security.mjs.map +1 -0
  450. package/dist/middlewares/session.js +24 -24
  451. package/dist/middlewares/session.js.map +1 -1
  452. package/dist/middlewares/session.mjs +28 -0
  453. package/dist/middlewares/session.mjs.map +1 -0
  454. package/dist/migrations/draft-publish.js +27 -36
  455. package/dist/migrations/draft-publish.js.map +1 -1
  456. package/dist/migrations/draft-publish.mjs +37 -0
  457. package/dist/migrations/draft-publish.mjs.map +1 -0
  458. package/dist/services/auth/index.js +74 -77
  459. package/dist/services/auth/index.js.map +1 -1
  460. package/dist/services/auth/index.mjs +80 -0
  461. package/dist/services/auth/index.mjs.map +1 -0
  462. package/dist/services/content-api/index.js +54 -57
  463. package/dist/services/content-api/index.js.map +1 -1
  464. package/dist/services/content-api/index.mjs +58 -0
  465. package/dist/services/content-api/index.mjs.map +1 -0
  466. package/dist/services/content-api/permissions/engine.js +6 -7
  467. package/dist/services/content-api/permissions/engine.js.map +1 -1
  468. package/dist/services/content-api/permissions/engine.mjs +6 -0
  469. package/dist/services/content-api/permissions/engine.mjs.map +1 -0
  470. package/dist/services/content-api/permissions/index.js +79 -102
  471. package/dist/services/content-api/permissions/index.js.map +1 -1
  472. package/dist/services/content-api/permissions/index.mjs +86 -0
  473. package/dist/services/content-api/permissions/index.mjs.map +1 -0
  474. package/dist/services/content-api/permissions/providers/action.js +14 -14
  475. package/dist/services/content-api/permissions/providers/action.js.map +1 -1
  476. package/dist/services/content-api/permissions/providers/action.mjs +17 -0
  477. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -0
  478. package/dist/services/content-api/permissions/providers/condition.js +14 -14
  479. package/dist/services/content-api/permissions/providers/condition.js.map +1 -1
  480. package/dist/services/content-api/permissions/providers/condition.mjs +17 -0
  481. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -0
  482. package/dist/services/core-store.js +91 -111
  483. package/dist/services/core-store.js.map +1 -1
  484. package/dist/services/core-store.mjs +103 -0
  485. package/dist/services/core-store.mjs.map +1 -0
  486. package/dist/services/cron.js +60 -66
  487. package/dist/services/cron.js.map +1 -1
  488. package/dist/services/cron.mjs +64 -0
  489. package/dist/services/cron.mjs.map +1 -0
  490. package/dist/services/custom-fields.js +7 -8
  491. package/dist/services/custom-fields.js.map +1 -1
  492. package/dist/services/custom-fields.mjs +11 -0
  493. package/dist/services/custom-fields.mjs.map +1 -0
  494. package/dist/services/entity-service/attributes/index.js +17 -21
  495. package/dist/services/entity-service/attributes/index.js.map +1 -1
  496. package/dist/services/entity-service/attributes/index.mjs +22 -0
  497. package/dist/services/entity-service/attributes/index.mjs.map +1 -0
  498. package/dist/services/entity-service/attributes/transforms.js +17 -19
  499. package/dist/services/entity-service/attributes/transforms.js.map +1 -1
  500. package/dist/services/entity-service/attributes/transforms.mjs +19 -0
  501. package/dist/services/entity-service/attributes/transforms.mjs.map +1 -0
  502. package/dist/services/entity-service/components.js +336 -333
  503. package/dist/services/entity-service/components.js.map +1 -1
  504. package/dist/services/entity-service/components.mjs +382 -0
  505. package/dist/services/entity-service/components.mjs.map +1 -0
  506. package/dist/services/entity-service/index.js +314 -297
  507. package/dist/services/entity-service/index.js.map +1 -1
  508. package/dist/services/entity-service/index.mjs +326 -0
  509. package/dist/services/entity-service/index.mjs.map +1 -0
  510. package/dist/services/entity-service/params.js +4 -5
  511. package/dist/services/entity-service/params.js.map +1 -1
  512. package/dist/services/entity-service/params.mjs +8 -0
  513. package/dist/services/entity-service/params.mjs.map +1 -0
  514. package/dist/services/entity-validator/blocks-validator.js +95 -116
  515. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  516. package/dist/services/entity-validator/blocks-validator.mjs +108 -0
  517. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -0
  518. package/dist/services/entity-validator/index.js +284 -297
  519. package/dist/services/entity-validator/index.js.map +1 -1
  520. package/dist/services/entity-validator/index.mjs +318 -0
  521. package/dist/services/entity-validator/index.mjs.map +1 -0
  522. package/dist/services/entity-validator/validators.js +92 -124
  523. package/dist/services/entity-validator/validators.js.map +1 -1
  524. package/dist/services/entity-validator/validators.mjs +115 -0
  525. package/dist/services/entity-validator/validators.mjs.map +1 -0
  526. package/dist/services/errors.js +64 -66
  527. package/dist/services/errors.js.map +1 -1
  528. package/dist/services/errors.mjs +74 -0
  529. package/dist/services/errors.mjs.map +1 -0
  530. package/dist/services/event-hub.js +64 -74
  531. package/dist/services/event-hub.js.map +1 -1
  532. package/dist/services/event-hub.mjs +68 -0
  533. package/dist/services/event-hub.mjs.map +1 -0
  534. package/dist/services/fs.js +48 -51
  535. package/dist/services/fs.js.map +1 -1
  536. package/dist/services/fs.mjs +49 -0
  537. package/dist/services/fs.mjs.map +1 -0
  538. package/dist/services/metrics/admin-user-hash.js +10 -15
  539. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  540. package/dist/services/metrics/admin-user-hash.mjs +12 -0
  541. package/dist/services/metrics/admin-user-hash.mjs.map +1 -0
  542. package/dist/services/metrics/index.js +40 -48
  543. package/dist/services/metrics/index.js.map +1 -1
  544. package/dist/services/metrics/index.mjs +46 -0
  545. package/dist/services/metrics/index.mjs.map +1 -0
  546. package/dist/services/metrics/is-truthy.js +6 -8
  547. package/dist/services/metrics/is-truthy.js.map +1 -1
  548. package/dist/services/metrics/is-truthy.mjs +8 -0
  549. package/dist/services/metrics/is-truthy.mjs.map +1 -0
  550. package/dist/services/metrics/middleware.js +22 -25
  551. package/dist/services/metrics/middleware.js.map +1 -1
  552. package/dist/services/metrics/middleware.mjs +26 -0
  553. package/dist/services/metrics/middleware.mjs.map +1 -0
  554. package/dist/services/metrics/rate-limiter.js +19 -19
  555. package/dist/services/metrics/rate-limiter.js.map +1 -1
  556. package/dist/services/metrics/rate-limiter.mjs +22 -0
  557. package/dist/services/metrics/rate-limiter.mjs.map +1 -0
  558. package/dist/services/metrics/sender.js +69 -72
  559. package/dist/services/metrics/sender.js.map +1 -1
  560. package/dist/services/metrics/sender.mjs +71 -0
  561. package/dist/services/metrics/sender.mjs.map +1 -0
  562. package/dist/services/request-context.js +10 -11
  563. package/dist/services/request-context.js.map +1 -1
  564. package/dist/services/request-context.mjs +14 -0
  565. package/dist/services/request-context.mjs.map +1 -0
  566. package/dist/services/server/admin-api.js +9 -9
  567. package/dist/services/server/admin-api.js.map +1 -1
  568. package/dist/services/server/admin-api.mjs +13 -0
  569. package/dist/services/server/admin-api.mjs.map +1 -0
  570. package/dist/services/server/api.js +26 -28
  571. package/dist/services/server/api.js.map +1 -1
  572. package/dist/services/server/api.mjs +28 -0
  573. package/dist/services/server/api.mjs.map +1 -0
  574. package/dist/services/server/compose-endpoint.js +94 -100
  575. package/dist/services/server/compose-endpoint.js.map +1 -1
  576. package/dist/services/server/compose-endpoint.mjs +114 -0
  577. package/dist/services/server/compose-endpoint.mjs.map +1 -0
  578. package/dist/services/server/content-api.js +8 -9
  579. package/dist/services/server/content-api.js.map +1 -1
  580. package/dist/services/server/content-api.mjs +12 -0
  581. package/dist/services/server/content-api.mjs.map +1 -0
  582. package/dist/services/server/http-server.js +42 -47
  583. package/dist/services/server/http-server.js.map +1 -1
  584. package/dist/services/server/http-server.mjs +47 -0
  585. package/dist/services/server/http-server.mjs.map +1 -0
  586. package/dist/services/server/index.js +82 -85
  587. package/dist/services/server/index.js.map +1 -1
  588. package/dist/services/server/index.mjs +86 -0
  589. package/dist/services/server/index.mjs.map +1 -0
  590. package/dist/services/server/koa.js +46 -50
  591. package/dist/services/server/koa.js.map +1 -1
  592. package/dist/services/server/koa.mjs +48 -0
  593. package/dist/services/server/koa.mjs.map +1 -0
  594. package/dist/services/server/middleware.js +80 -91
  595. package/dist/services/server/middleware.js.map +1 -1
  596. package/dist/services/server/middleware.mjs +90 -0
  597. package/dist/services/server/middleware.mjs.map +1 -0
  598. package/dist/services/server/policy.js +16 -17
  599. package/dist/services/server/policy.js.map +1 -1
  600. package/dist/services/server/policy.mjs +20 -0
  601. package/dist/services/server/policy.mjs.map +1 -0
  602. package/dist/services/server/register-middlewares.js +58 -68
  603. package/dist/services/server/register-middlewares.js.map +1 -1
  604. package/dist/services/server/register-middlewares.mjs +73 -0
  605. package/dist/services/server/register-middlewares.mjs.map +1 -0
  606. package/dist/services/server/register-routes.js +64 -82
  607. package/dist/services/server/register-routes.js.map +1 -1
  608. package/dist/services/server/register-routes.mjs +75 -0
  609. package/dist/services/server/register-routes.mjs.map +1 -0
  610. package/dist/services/server/routing.js +80 -94
  611. package/dist/services/server/routing.js.map +1 -1
  612. package/dist/services/server/routing.mjs +89 -0
  613. package/dist/services/server/routing.mjs.map +1 -0
  614. package/dist/services/utils/dynamic-zones.js +13 -10
  615. package/dist/services/utils/dynamic-zones.js.map +1 -1
  616. package/dist/services/utils/dynamic-zones.mjs +17 -0
  617. package/dist/services/utils/dynamic-zones.mjs.map +1 -0
  618. package/dist/services/utils/upload-files.js +59 -68
  619. package/dist/services/utils/upload-files.js.map +1 -1
  620. package/dist/services/utils/upload-files.mjs +63 -0
  621. package/dist/services/utils/upload-files.mjs.map +1 -0
  622. package/dist/services/webhook-runner.js +122 -130
  623. package/dist/services/webhook-runner.js.map +1 -1
  624. package/dist/services/webhook-runner.mjs +131 -0
  625. package/dist/services/webhook-runner.mjs.map +1 -0
  626. package/dist/services/webhook-store.js +87 -93
  627. package/dist/services/webhook-store.js.map +1 -1
  628. package/dist/services/webhook-store.mjs +100 -0
  629. package/dist/services/webhook-store.mjs.map +1 -0
  630. package/dist/services/worker-queue.js +49 -57
  631. package/dist/services/worker-queue.js.map +1 -1
  632. package/dist/services/worker-queue.mjs +55 -0
  633. package/dist/services/worker-queue.mjs.map +1 -0
  634. package/dist/utils/addSlash.js +13 -13
  635. package/dist/utils/addSlash.js.map +1 -1
  636. package/dist/utils/convert-custom-field-type.js +19 -16
  637. package/dist/utils/convert-custom-field-type.js.map +1 -1
  638. package/dist/utils/convert-custom-field-type.mjs +24 -0
  639. package/dist/utils/convert-custom-field-type.mjs.map +1 -0
  640. package/dist/utils/cron.js +29 -47
  641. package/dist/utils/cron.js.map +1 -1
  642. package/dist/utils/cron.mjs +38 -0
  643. package/dist/utils/cron.mjs.map +1 -0
  644. package/dist/utils/ee.js +3 -7
  645. package/dist/utils/ee.js.map +1 -1
  646. package/dist/utils/ee.mjs +5 -0
  647. package/dist/utils/ee.mjs.map +1 -0
  648. package/dist/utils/fetch.js +17 -19
  649. package/dist/utils/fetch.js.map +1 -1
  650. package/dist/utils/fetch.mjs +19 -0
  651. package/dist/utils/fetch.mjs.map +1 -0
  652. package/dist/utils/get-dirs.js +26 -27
  653. package/dist/utils/get-dirs.js.map +1 -1
  654. package/dist/utils/get-dirs.mjs +30 -0
  655. package/dist/utils/get-dirs.mjs.map +1 -0
  656. package/dist/utils/is-initialized.js +11 -17
  657. package/dist/utils/is-initialized.js.map +1 -1
  658. package/dist/utils/is-initialized.mjs +16 -0
  659. package/dist/utils/is-initialized.mjs.map +1 -0
  660. package/dist/utils/lifecycles.js +7 -7
  661. package/dist/utils/lifecycles.js.map +1 -1
  662. package/dist/utils/lifecycles.mjs +9 -0
  663. package/dist/utils/lifecycles.mjs.map +1 -0
  664. package/dist/utils/machine-id.js +12 -13
  665. package/dist/utils/machine-id.js.map +1 -1
  666. package/dist/utils/machine-id.mjs +15 -0
  667. package/dist/utils/machine-id.mjs.map +1 -0
  668. package/dist/utils/open-browser.js +8 -10
  669. package/dist/utils/open-browser.js.map +1 -1
  670. package/dist/utils/open-browser.mjs +10 -0
  671. package/dist/utils/open-browser.mjs.map +1 -0
  672. package/dist/utils/signals.js +13 -16
  673. package/dist/utils/signals.js.map +1 -1
  674. package/dist/utils/signals.mjs +17 -0
  675. package/dist/utils/signals.mjs.map +1 -0
  676. package/dist/utils/startup-logger.js +73 -66
  677. package/dist/utils/startup-logger.js.map +1 -1
  678. package/dist/utils/startup-logger.mjs +72 -0
  679. package/dist/utils/startup-logger.mjs.map +1 -0
  680. package/dist/utils/update-notifier/index.js +69 -72
  681. package/dist/utils/update-notifier/index.js.map +1 -1
  682. package/dist/utils/update-notifier/index.mjs +76 -0
  683. package/dist/utils/update-notifier/index.mjs.map +1 -0
  684. package/package.json +26 -25
  685. package/dist/commands/builders/index.js +0 -11
  686. package/dist/commands/builders/index.js.map +0 -1
  687. package/dist/commands/types.js +0 -3
  688. package/dist/commands/types.js.map +0 -1
  689. package/dist/load/index.js +0 -11
  690. package/dist/load/index.js.map +0 -1
  691. package/dist/services/content-api/permissions/providers/index.js +0 -11
  692. package/dist/services/content-api/permissions/providers/index.js.map +0 -1
  693. package/dist/utils/index.js +0 -13
  694. package/dist/utils/index.js.map +0 -1
  695. package/dist/utils/postinstall.js +0 -32
  696. package/dist/utils/postinstall.js.map +0 -1
  697. package/index.js +0 -5
@@ -1 +1 @@
1
- {"version":3,"file":"Strapi.js","sourceRoot":"","sources":["../src/Strapi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Strapi.js","sources":["../src/Strapi.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-namespace */\n/* eslint-disable vars-on-top */\n/* eslint-disable no-var */\nimport path from 'path';\nimport _ from 'lodash';\nimport { isFunction } from 'lodash/fp';\nimport { Logger, createLogger } from '@strapi/logger';\nimport { Database } from '@strapi/database';\nimport { hooks } from '@strapi/utils';\nimport type {\n Strapi as StrapiI,\n Server,\n Container,\n EntityService,\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 './core/app-configuration';\n\nimport * as factories from './factories';\nimport compile from './compile';\n\nimport * as utils from './utils';\nimport { createContainer } 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';\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 createUpdateNotifier from './utils/update-notifier';\nimport createStartupLogger from './utils/startup-logger';\nimport { createStrapiFetch } from './utils/fetch';\nimport { LIFECYCLES } from './utils/lifecycles';\nimport ee from './utils/ee';\nimport contentTypesRegistry from './core/registries/content-types';\nimport servicesRegistry from './core/registries/services';\nimport policiesRegistry from './core/registries/policies';\nimport middlewaresRegistry from './core/registries/middlewares';\nimport hooksRegistry from './core/registries/hooks';\nimport controllersRegistry from './core/registries/controllers';\nimport modulesRegistry from './core/registries/modules';\nimport pluginsRegistry from './core/registries/plugins';\nimport customFieldsRegistry from './core/registries/custom-fields';\nimport createConfigProvider from './core/registries/config';\nimport apisRegistry from './core/registries/apis';\nimport bootstrap from './core/bootstrap';\nimport loaders from './core/loaders';\nimport { destroyOnSignal } from './utils/signals';\nimport getNumberOfDynamicZones from './services/utils/dynamic-zones';\nimport sanitizersRegistry from './core/registries/sanitizers';\nimport validatorsRegistry from './core/registries/validators';\nimport convertCustomFieldType from './utils/convert-custom-field-type';\n\n// TODO: move somewhere else\nimport * as draftAndPublishSync from './migrations/draft-publish';\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 implements StrapiI {\n server: Server;\n\n container: Container;\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 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 components: Shared.Components;\n\n reload: Reloader;\n\n constructor(opts: StrapiOptions = {}) {\n 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.container = createContainer(this)\n .register('config', createConfigProvider(appConfig))\n .register('content-types', contentTypesRegistry())\n .register('services', servicesRegistry(this))\n .register('policies', policiesRegistry())\n .register('middlewares', middlewaresRegistry())\n .register('hooks', hooksRegistry())\n .register('controllers', controllersRegistry(this))\n .register('modules', modulesRegistry(this))\n .register('plugins', pluginsRegistry(this))\n .register('custom-fields', customFieldsRegistry(this))\n .register('apis', apisRegistry(this))\n .register('auth', createAuth())\n .register('content-api', createContentAPI(this))\n .register('sanitizers', sanitizersRegistry())\n .register('validators', validatorsRegistry());\n\n this.components = {};\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 = createStartupLogger(this);\n this.log = createLogger(this.config.get('logger', {}));\n this.cron = createCronService();\n this.telemetry = createTelemetry(this);\n this.requestContext = requestContext;\n this.customFields = createCustomFields(this);\n this.fetch = createStrapiFetch(this);\n\n createUpdateNotifier(this).notify();\n\n Object.defineProperty<Strapi>(this, 'EE', {\n get: () => {\n ee.init(this.dirs.app.root, this.log);\n return ee.isEE;\n },\n configurable: false,\n });\n }\n\n get config() {\n return this.container.get('config');\n }\n\n get services() {\n return this.container.get('services').getAll();\n }\n\n service(uid: Common.UID.Service) {\n return this.container.get('services').get(uid);\n }\n\n get controllers() {\n return this.container.get('controllers').getAll();\n }\n\n controller(uid: Common.UID.Controller) {\n return this.container.get('controllers').get(uid);\n }\n\n get contentTypes(): Shared.ContentTypes {\n return this.container.get('content-types').getAll();\n }\n\n contentType(name: Common.UID.ContentType) {\n return this.container.get('content-types').get(name);\n }\n\n get policies() {\n return this.container.get('policies').getAll();\n }\n\n policy(name: string) {\n return this.container.get('policies').get(name);\n }\n\n get middlewares() {\n return this.container.get('middlewares').getAll();\n }\n\n middleware(name: string) {\n return this.container.get('middlewares').get(name);\n }\n\n get plugins(): Record<string, Common.Plugin> {\n return this.container.get('plugins').getAll();\n }\n\n plugin(name: string): Common.Plugin {\n return this.container.get('plugins').get(name);\n }\n\n get hooks() {\n return this.container.get('hooks').getAll();\n }\n\n hook(name: string) {\n return this.container.get('hooks').get(name);\n }\n\n // api(name) {\n // return this.container.get('apis').get(name);\n // }\n\n get api(): Record<string, Common.Module> {\n return this.container.get('apis').getAll();\n }\n\n get auth() {\n return this.container.get('auth');\n }\n\n get contentAPI() {\n return this.container.get('content-api');\n }\n\n get sanitizers() {\n return this.container.get('sanitizers');\n }\n\n get validators() {\n return this.container.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(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.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 environment: this.config.environment,\n // TODO: to add back\n // providers: this.config.installedProviders,\n },\n });\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 async loadAdmin() {\n await loaders.loadAdmin(this);\n }\n\n async loadPlugins() {\n await loaders.loadPlugins(this);\n }\n\n async loadPolicies() {\n await loaders.loadPolicies(this);\n }\n\n async loadAPIs() {\n await loaders.loadAPIs(this);\n }\n\n async loadComponents() {\n this.components = await loaders.loadComponents(this);\n }\n\n async loadMiddlewares() {\n await loaders.loadMiddlewares(this);\n }\n\n async loadApp() {\n this.app = await loaders.loadSrcIndex(this);\n }\n\n async loadSanitizers() {\n await loaders.loadSanitizers(this);\n }\n\n async loadValidators() {\n await loaders.loadValidators(this);\n }\n\n registerInternalHooks() {\n this.container\n .get('hooks')\n .set('strapi::content-types.beforeSync', hooks.createAsyncParallelHook());\n\n this.container\n .get('hooks')\n .set('strapi::content-types.afterSync', hooks.createAsyncParallelHook());\n\n this.hook('strapi::content-types.beforeSync').register(draftAndPublishSync.disable);\n this.hook('strapi::content-types.afterSync').register(draftAndPublishSync.enable);\n }\n\n async register() {\n await Promise.all([\n this.loadApp(),\n this.loadSanitizers(),\n this.loadValidators(),\n this.loadPlugins(),\n this.loadAdmin(),\n this.loadAPIs(),\n this.loadComponents(),\n this.loadMiddlewares(),\n this.loadPolicies(),\n ]);\n\n await bootstrap({ strapi: this });\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(LIFECYCLES.REGISTER);\n // NOTE: Swap type customField for underlying data type\n convertCustomFieldType(this);\n\n return this;\n }\n\n async bootstrap() {\n const contentTypes = [\n coreStoreModel,\n webhookModel,\n ...Object.values(this.contentTypes),\n ...Object.values(this.components),\n ];\n\n this.db = await Database.init({\n ...this.config.get('database'),\n models: Database.transformContentTypes(contentTypes),\n });\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 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.collectionName)) {\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 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(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.container.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): Strapi;\n factories: typeof factories;\n compile: typeof compile;\n}\n\nconst initFn = (options: StrapiOptions = {}) => {\n const strapi = new Strapi(options);\n global.strapi = strapi as LoadedStrapi;\n return strapi;\n};\n\nconst init: Init = Object.assign(initFn, { factories, compile });\n\nexport default init;\n"],"names":["path","destroyOnSignal","loadConfiguration","createContainer","createConfigProvider","contentTypesRegistry","servicesRegistry","policiesRegistry","middlewaresRegistry","hooksRegistry","controllersRegistry","modulesRegistry","pluginsRegistry","customFieldsRegistry","apisRegistry","createAuth","createContentAPI","sanitizersRegistry","validatorsRegistry","utils.getDirs","createServer","createStrapiFs","createEventHub","createStartupLogger","createLogger","createCronService","createTelemetry","createCustomFields","createStrapiFetch","createUpdateNotifier","ee","LIFECYCLES","_","getNumberOfDynamicZones","isInitialized","utils.openBrowser","utils.isInitialized","loaders","hooks","draftAndPublishSync.disable","draftAndPublishSync.enable","createWebhookRunner","contentTypes","coreStoreModel","webhookModel","Database","createCoreStore","createWebhookStore","entityValidator","createEntityService","isFunction"],"mappings":"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"}
@@ -0,0 +1,464 @@
1
+ import path from "path";
2
+ import _ from "lodash";
3
+ import { isFunction } from "lodash/fp";
4
+ import { createLogger } from "@strapi/logger";
5
+ import { Database } from "@strapi/database";
6
+ import { hooks } from "@strapi/utils";
7
+ import loadConfiguration from "./core/app-configuration/index.mjs";
8
+ import * as factories from "./factories.mjs";
9
+ import compile from "./compile.mjs";
10
+ import openBrowser from "./utils/open-browser.mjs";
11
+ import isInitialized from "./utils/is-initialized.mjs";
12
+ import getDirs from "./utils/get-dirs.mjs";
13
+ import { createContainer } from "./container.mjs";
14
+ import createStrapiFs from "./services/fs.mjs";
15
+ import createEventHub from "./services/event-hub.mjs";
16
+ import { createServer } from "./services/server/index.mjs";
17
+ import createWebhookRunner from "./services/webhook-runner.mjs";
18
+ import { webhookModel, createWebhookStore } from "./services/webhook-store.mjs";
19
+ import { coreStoreModel, createCoreStore } from "./services/core-store.mjs";
20
+ import createEntityService from "./services/entity-service/index.mjs";
21
+ import createCronService from "./services/cron.mjs";
22
+ import entityValidator from "./services/entity-validator/index.mjs";
23
+ import createTelemetryInstance from "./services/metrics/index.mjs";
24
+ import requestCtx from "./services/request-context.mjs";
25
+ import createAuthentication from "./services/auth/index.mjs";
26
+ import createCustomFields from "./services/custom-fields.mjs";
27
+ import createContentAPI from "./services/content-api/index.mjs";
28
+ import createUpdateNotifier from "./utils/update-notifier/index.mjs";
29
+ import createStartupLogger from "./utils/startup-logger.mjs";
30
+ import { createStrapiFetch } from "./utils/fetch.mjs";
31
+ import { LIFECYCLES } from "./utils/lifecycles.mjs";
32
+ import EE from "./ee/index.mjs";
33
+ import contentTypesRegistry from "./core/registries/content-types.mjs";
34
+ import servicesRegistry from "./core/registries/services.mjs";
35
+ import policiesRegistry from "./core/registries/policies.mjs";
36
+ import middlewaresRegistry from "./core/registries/middlewares.mjs";
37
+ import hooksRegistry from "./core/registries/hooks.mjs";
38
+ import controllersRegistry from "./core/registries/controllers.mjs";
39
+ import modulesRegistry from "./core/registries/modules.mjs";
40
+ import pluginsRegistry from "./core/registries/plugins.mjs";
41
+ import customFieldsRegistry from "./core/registries/custom-fields.mjs";
42
+ import createConfigProvider from "./core/registries/config.mjs";
43
+ import apisRegistry from "./core/registries/apis.mjs";
44
+ import bootstrap from "./core/bootstrap.mjs";
45
+ import loaders from "./core/loaders/index.mjs";
46
+ import { destroyOnSignal } from "./utils/signals.mjs";
47
+ import getNumberOfDynamicZones from "./services/utils/dynamic-zones.mjs";
48
+ import sanitizersRegistry from "./core/registries/sanitizers.mjs";
49
+ import validatorsRegistry from "./core/registries/validators.mjs";
50
+ import convertCustomFieldType from "./utils/convert-custom-field-type.mjs";
51
+ import { disable as disableDraftAndPublish, enable as enableDraftAndPublish } from "./migrations/draft-publish.mjs";
52
+ const resolveWorkingDirectories = (opts) => {
53
+ const cwd = process.cwd();
54
+ const appDir = opts.appDir ? path.resolve(cwd, opts.appDir) : cwd;
55
+ const distDir = opts.distDir ? path.resolve(cwd, opts.distDir) : appDir;
56
+ return { app: appDir, dist: distDir };
57
+ };
58
+ const reloader = (strapi) => {
59
+ const state = {
60
+ shouldReload: 0,
61
+ isWatching: true
62
+ };
63
+ function reload() {
64
+ if (state.shouldReload > 0) {
65
+ state.shouldReload -= 1;
66
+ reload.isReloading = false;
67
+ return;
68
+ }
69
+ if (strapi.config.get("autoReload")) {
70
+ process.send?.("reload");
71
+ }
72
+ }
73
+ Object.defineProperty(reload, "isWatching", {
74
+ configurable: true,
75
+ enumerable: true,
76
+ set(value) {
77
+ if (state.isWatching === false && value === true) {
78
+ state.shouldReload += 1;
79
+ }
80
+ state.isWatching = value;
81
+ },
82
+ get() {
83
+ return state.isWatching;
84
+ }
85
+ });
86
+ reload.isReloading = false;
87
+ reload.isWatching = true;
88
+ return reload;
89
+ };
90
+ class Strapi {
91
+ server;
92
+ container;
93
+ log;
94
+ fs;
95
+ eventHub;
96
+ startupLogger;
97
+ cron;
98
+ webhookRunner;
99
+ webhookStore;
100
+ store;
101
+ entityValidator;
102
+ entityService;
103
+ telemetry;
104
+ requestContext;
105
+ customFields;
106
+ fetch;
107
+ dirs;
108
+ admin;
109
+ isLoaded;
110
+ db;
111
+ app;
112
+ EE;
113
+ components;
114
+ reload;
115
+ constructor(opts = {}) {
116
+ destroyOnSignal(this);
117
+ const rootDirs = resolveWorkingDirectories(opts);
118
+ const appConfig = loadConfiguration(rootDirs, opts);
119
+ this.container = createContainer(this).register("config", createConfigProvider(appConfig)).register("content-types", contentTypesRegistry()).register("services", servicesRegistry(this)).register("policies", policiesRegistry()).register("middlewares", middlewaresRegistry()).register("hooks", hooksRegistry()).register("controllers", controllersRegistry(this)).register("modules", modulesRegistry(this)).register("plugins", pluginsRegistry(this)).register("custom-fields", customFieldsRegistry(this)).register("apis", apisRegistry(this)).register("auth", createAuthentication()).register("content-api", createContentAPI(this)).register("sanitizers", sanitizersRegistry()).register("validators", validatorsRegistry());
120
+ this.components = {};
121
+ this.dirs = getDirs(rootDirs, { strapi: this });
122
+ this.isLoaded = false;
123
+ this.reload = reloader(this);
124
+ this.server = createServer(this);
125
+ this.fs = createStrapiFs(this);
126
+ this.eventHub = createEventHub();
127
+ this.startupLogger = createStartupLogger(this);
128
+ this.log = createLogger(this.config.get("logger", {}));
129
+ this.cron = createCronService();
130
+ this.telemetry = createTelemetryInstance(this);
131
+ this.requestContext = requestCtx;
132
+ this.customFields = createCustomFields(this);
133
+ this.fetch = createStrapiFetch(this);
134
+ createUpdateNotifier(this).notify();
135
+ Object.defineProperty(this, "EE", {
136
+ get: () => {
137
+ EE.init(this.dirs.app.root, this.log);
138
+ return EE.isEE;
139
+ },
140
+ configurable: false
141
+ });
142
+ }
143
+ get config() {
144
+ return this.container.get("config");
145
+ }
146
+ get services() {
147
+ return this.container.get("services").getAll();
148
+ }
149
+ service(uid) {
150
+ return this.container.get("services").get(uid);
151
+ }
152
+ get controllers() {
153
+ return this.container.get("controllers").getAll();
154
+ }
155
+ controller(uid) {
156
+ return this.container.get("controllers").get(uid);
157
+ }
158
+ get contentTypes() {
159
+ return this.container.get("content-types").getAll();
160
+ }
161
+ contentType(name) {
162
+ return this.container.get("content-types").get(name);
163
+ }
164
+ get policies() {
165
+ return this.container.get("policies").getAll();
166
+ }
167
+ policy(name) {
168
+ return this.container.get("policies").get(name);
169
+ }
170
+ get middlewares() {
171
+ return this.container.get("middlewares").getAll();
172
+ }
173
+ middleware(name) {
174
+ return this.container.get("middlewares").get(name);
175
+ }
176
+ get plugins() {
177
+ return this.container.get("plugins").getAll();
178
+ }
179
+ plugin(name) {
180
+ return this.container.get("plugins").get(name);
181
+ }
182
+ get hooks() {
183
+ return this.container.get("hooks").getAll();
184
+ }
185
+ hook(name) {
186
+ return this.container.get("hooks").get(name);
187
+ }
188
+ // api(name) {
189
+ // return this.container.get('apis').get(name);
190
+ // }
191
+ get api() {
192
+ return this.container.get("apis").getAll();
193
+ }
194
+ get auth() {
195
+ return this.container.get("auth");
196
+ }
197
+ get contentAPI() {
198
+ return this.container.get("content-api");
199
+ }
200
+ get sanitizers() {
201
+ return this.container.get("sanitizers");
202
+ }
203
+ get validators() {
204
+ return this.container.get("validators");
205
+ }
206
+ async start() {
207
+ try {
208
+ if (!this.isLoaded) {
209
+ await this.load();
210
+ }
211
+ await this.listen();
212
+ return this;
213
+ } catch (error) {
214
+ return this.stopWithError(error);
215
+ }
216
+ }
217
+ async destroy() {
218
+ await this.server.destroy();
219
+ await this.runLifecyclesFunctions(LIFECYCLES.DESTROY);
220
+ this.eventHub.destroy();
221
+ await this.db?.destroy();
222
+ this.telemetry.destroy();
223
+ this.cron.destroy();
224
+ process.removeAllListeners();
225
+ delete global.strapi;
226
+ }
227
+ sendStartupTelemetry() {
228
+ this.telemetry.send("didStartServer", {
229
+ groupProperties: {
230
+ database: this.config.get("database.connection.client"),
231
+ plugins: Object.keys(this.plugins),
232
+ numberOfAllContentTypes: _.size(this.contentTypes),
233
+ // 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.
234
+ numberOfComponents: _.size(this.components),
235
+ numberOfDynamicZones: getNumberOfDynamicZones(),
236
+ environment: this.config.environment
237
+ // TODO: to add back
238
+ // providers: this.config.installedProviders,
239
+ }
240
+ });
241
+ }
242
+ async openAdmin({ isInitialized: isInitialized2 }) {
243
+ const shouldOpenAdmin = this.config.get("environment") === "development" && this.config.get("admin.autoOpen", true) !== false;
244
+ if (shouldOpenAdmin && !isInitialized2) {
245
+ try {
246
+ await openBrowser(this.config);
247
+ this.telemetry.send("didOpenTab");
248
+ } catch (e) {
249
+ this.telemetry.send("didNotOpenTab");
250
+ }
251
+ }
252
+ }
253
+ async postListen() {
254
+ const isInitialized$1 = await isInitialized(this);
255
+ this.startupLogger.logStartupMessage({ isInitialized: isInitialized$1 });
256
+ this.sendStartupTelemetry();
257
+ this.openAdmin({ isInitialized: isInitialized$1 });
258
+ }
259
+ /**
260
+ * Add behaviors to the server
261
+ */
262
+ async listen() {
263
+ return new Promise((resolve, reject) => {
264
+ const onListen = async () => {
265
+ try {
266
+ await this.postListen();
267
+ resolve();
268
+ } catch (error) {
269
+ reject(error);
270
+ }
271
+ };
272
+ const listenSocket = this.config.get("server.socket");
273
+ if (listenSocket) {
274
+ this.server.listen(listenSocket, onListen);
275
+ } else {
276
+ const { host, port } = this.config.get("server");
277
+ this.server.listen(port, host, onListen);
278
+ }
279
+ });
280
+ }
281
+ stopWithError(err, customMessage) {
282
+ this.log.debug(`⛔️ Server wasn't able to start properly.`);
283
+ if (customMessage) {
284
+ this.log.error(customMessage);
285
+ }
286
+ this.log.error(err);
287
+ return this.stop();
288
+ }
289
+ stop(exitCode = 1) {
290
+ this.destroy();
291
+ if (this.config.get("autoReload")) {
292
+ process.send?.("stop");
293
+ }
294
+ process.exit(exitCode);
295
+ }
296
+ async loadAdmin() {
297
+ await loaders.loadAdmin(this);
298
+ }
299
+ async loadPlugins() {
300
+ await loaders.loadPlugins(this);
301
+ }
302
+ async loadPolicies() {
303
+ await loaders.loadPolicies(this);
304
+ }
305
+ async loadAPIs() {
306
+ await loaders.loadAPIs(this);
307
+ }
308
+ async loadComponents() {
309
+ this.components = await loaders.loadComponents(this);
310
+ }
311
+ async loadMiddlewares() {
312
+ await loaders.loadMiddlewares(this);
313
+ }
314
+ async loadApp() {
315
+ this.app = await loaders.loadSrcIndex(this);
316
+ }
317
+ async loadSanitizers() {
318
+ await loaders.loadSanitizers(this);
319
+ }
320
+ async loadValidators() {
321
+ await loaders.loadValidators(this);
322
+ }
323
+ registerInternalHooks() {
324
+ this.container.get("hooks").set("strapi::content-types.beforeSync", hooks.createAsyncParallelHook());
325
+ this.container.get("hooks").set("strapi::content-types.afterSync", hooks.createAsyncParallelHook());
326
+ this.hook("strapi::content-types.beforeSync").register(disableDraftAndPublish);
327
+ this.hook("strapi::content-types.afterSync").register(enableDraftAndPublish);
328
+ }
329
+ async register() {
330
+ await Promise.all([
331
+ this.loadApp(),
332
+ this.loadSanitizers(),
333
+ this.loadValidators(),
334
+ this.loadPlugins(),
335
+ this.loadAdmin(),
336
+ this.loadAPIs(),
337
+ this.loadComponents(),
338
+ this.loadMiddlewares(),
339
+ this.loadPolicies()
340
+ ]);
341
+ await bootstrap({ strapi: this });
342
+ this.webhookRunner = createWebhookRunner({
343
+ eventHub: this.eventHub,
344
+ logger: this.log,
345
+ configuration: this.config.get("server.webhooks", {}),
346
+ fetch: this.fetch
347
+ });
348
+ this.registerInternalHooks();
349
+ this.telemetry.register();
350
+ await this.runLifecyclesFunctions(LIFECYCLES.REGISTER);
351
+ convertCustomFieldType(this);
352
+ return this;
353
+ }
354
+ async bootstrap() {
355
+ const contentTypes = [
356
+ coreStoreModel,
357
+ webhookModel,
358
+ ...Object.values(this.contentTypes),
359
+ ...Object.values(this.components)
360
+ ];
361
+ this.db = await Database.init({
362
+ ...this.config.get("database"),
363
+ models: Database.transformContentTypes(contentTypes)
364
+ });
365
+ this.store = createCoreStore({ db: this.db });
366
+ this.webhookStore = createWebhookStore({ db: this.db });
367
+ this.entityValidator = entityValidator;
368
+ this.entityService = createEntityService({
369
+ strapi: this,
370
+ db: this.db,
371
+ eventHub: this.eventHub,
372
+ entityValidator: this.entityValidator
373
+ });
374
+ if (this.config.get("server.cron.enabled", true)) {
375
+ const cronTasks = this.config.get("server.cron.tasks", {});
376
+ this.cron.add(cronTasks);
377
+ }
378
+ this.telemetry.bootstrap();
379
+ let oldContentTypes;
380
+ if (await this.db.getSchemaConnection().hasTable(coreStoreModel.collectionName)) {
381
+ oldContentTypes = await this.store.get({
382
+ type: "strapi",
383
+ name: "content_types",
384
+ key: "schema"
385
+ });
386
+ }
387
+ await this.hook("strapi::content-types.beforeSync").call({
388
+ oldContentTypes,
389
+ contentTypes: this.contentTypes
390
+ });
391
+ await this.db.schema.sync();
392
+ if (this.EE) {
393
+ await EE.checkLicense({ strapi: this });
394
+ }
395
+ await this.hook("strapi::content-types.afterSync").call({
396
+ oldContentTypes,
397
+ contentTypes: this.contentTypes
398
+ });
399
+ await this.store.set({
400
+ type: "strapi",
401
+ name: "content_types",
402
+ key: "schema",
403
+ value: this.contentTypes
404
+ });
405
+ await this.startWebhooks();
406
+ await this.server.initMiddlewares();
407
+ this.server.initRouting();
408
+ await this.contentAPI.permissions.registerActions();
409
+ await this.runLifecyclesFunctions(LIFECYCLES.BOOTSTRAP);
410
+ this.cron.start();
411
+ return this;
412
+ }
413
+ async load() {
414
+ await this.register();
415
+ await this.bootstrap();
416
+ this.isLoaded = true;
417
+ return this;
418
+ }
419
+ async startWebhooks() {
420
+ const webhooks = await this.webhookStore?.findWebhooks();
421
+ if (!webhooks) {
422
+ return;
423
+ }
424
+ for (const webhook of webhooks) {
425
+ this.webhookRunner?.add(webhook);
426
+ }
427
+ }
428
+ async runLifecyclesFunctions(lifecycleName) {
429
+ await this.container.get("modules")[lifecycleName]();
430
+ const adminLifecycleFunction = this.admin && this.admin[lifecycleName];
431
+ if (isFunction(adminLifecycleFunction)) {
432
+ await adminLifecycleFunction({ strapi: this });
433
+ }
434
+ const userLifecycleFunction = this.app && this.app[lifecycleName];
435
+ if (isFunction(userLifecycleFunction)) {
436
+ await userLifecycleFunction({ strapi: this });
437
+ }
438
+ }
439
+ getModel(uid) {
440
+ if (uid in this.contentTypes) {
441
+ return this.contentTypes[uid];
442
+ }
443
+ if (uid in this.components) {
444
+ return this.components[uid];
445
+ }
446
+ }
447
+ /**
448
+ * Binds queries with a specific model
449
+ * @param {string} uid
450
+ */
451
+ query(uid) {
452
+ return this.db.query(uid);
453
+ }
454
+ }
455
+ const initFn = (options = {}) => {
456
+ const strapi = new Strapi(options);
457
+ global.strapi = strapi;
458
+ return strapi;
459
+ };
460
+ const init = Object.assign(initFn, { factories, compile });
461
+ export {
462
+ init as default
463
+ };
464
+ //# sourceMappingURL=Strapi.mjs.map
@@ -0,0 +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 Container,\n EntityService,\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 './core/app-configuration';\n\nimport * as factories from './factories';\nimport compile from './compile';\n\nimport * as utils from './utils';\nimport { createContainer } 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';\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 createUpdateNotifier from './utils/update-notifier';\nimport createStartupLogger from './utils/startup-logger';\nimport { createStrapiFetch } from './utils/fetch';\nimport { LIFECYCLES } from './utils/lifecycles';\nimport ee from './utils/ee';\nimport contentTypesRegistry from './core/registries/content-types';\nimport servicesRegistry from './core/registries/services';\nimport policiesRegistry from './core/registries/policies';\nimport middlewaresRegistry from './core/registries/middlewares';\nimport hooksRegistry from './core/registries/hooks';\nimport controllersRegistry from './core/registries/controllers';\nimport modulesRegistry from './core/registries/modules';\nimport pluginsRegistry from './core/registries/plugins';\nimport customFieldsRegistry from './core/registries/custom-fields';\nimport createConfigProvider from './core/registries/config';\nimport apisRegistry from './core/registries/apis';\nimport bootstrap from './core/bootstrap';\nimport loaders from './core/loaders';\nimport { destroyOnSignal } from './utils/signals';\nimport getNumberOfDynamicZones from './services/utils/dynamic-zones';\nimport sanitizersRegistry from './core/registries/sanitizers';\nimport validatorsRegistry from './core/registries/validators';\nimport convertCustomFieldType from './utils/convert-custom-field-type';\n\n// TODO: move somewhere else\nimport * as draftAndPublishSync from './migrations/draft-publish';\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 implements StrapiI {\n server: Server;\n\n container: Container;\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 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 components: Shared.Components;\n\n reload: Reloader;\n\n constructor(opts: StrapiOptions = {}) {\n 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.container = createContainer(this)\n .register('config', createConfigProvider(appConfig))\n .register('content-types', contentTypesRegistry())\n .register('services', servicesRegistry(this))\n .register('policies', policiesRegistry())\n .register('middlewares', middlewaresRegistry())\n .register('hooks', hooksRegistry())\n .register('controllers', controllersRegistry(this))\n .register('modules', modulesRegistry(this))\n .register('plugins', pluginsRegistry(this))\n .register('custom-fields', customFieldsRegistry(this))\n .register('apis', apisRegistry(this))\n .register('auth', createAuth())\n .register('content-api', createContentAPI(this))\n .register('sanitizers', sanitizersRegistry())\n .register('validators', validatorsRegistry());\n\n this.components = {};\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 = createStartupLogger(this);\n this.log = createLogger(this.config.get('logger', {}));\n this.cron = createCronService();\n this.telemetry = createTelemetry(this);\n this.requestContext = requestContext;\n this.customFields = createCustomFields(this);\n this.fetch = createStrapiFetch(this);\n\n createUpdateNotifier(this).notify();\n\n Object.defineProperty<Strapi>(this, 'EE', {\n get: () => {\n ee.init(this.dirs.app.root, this.log);\n return ee.isEE;\n },\n configurable: false,\n });\n }\n\n get config() {\n return this.container.get('config');\n }\n\n get services() {\n return this.container.get('services').getAll();\n }\n\n service(uid: Common.UID.Service) {\n return this.container.get('services').get(uid);\n }\n\n get controllers() {\n return this.container.get('controllers').getAll();\n }\n\n controller(uid: Common.UID.Controller) {\n return this.container.get('controllers').get(uid);\n }\n\n get contentTypes(): Shared.ContentTypes {\n return this.container.get('content-types').getAll();\n }\n\n contentType(name: Common.UID.ContentType) {\n return this.container.get('content-types').get(name);\n }\n\n get policies() {\n return this.container.get('policies').getAll();\n }\n\n policy(name: string) {\n return this.container.get('policies').get(name);\n }\n\n get middlewares() {\n return this.container.get('middlewares').getAll();\n }\n\n middleware(name: string) {\n return this.container.get('middlewares').get(name);\n }\n\n get plugins(): Record<string, Common.Plugin> {\n return this.container.get('plugins').getAll();\n }\n\n plugin(name: string): Common.Plugin {\n return this.container.get('plugins').get(name);\n }\n\n get hooks() {\n return this.container.get('hooks').getAll();\n }\n\n hook(name: string) {\n return this.container.get('hooks').get(name);\n }\n\n // api(name) {\n // return this.container.get('apis').get(name);\n // }\n\n get api(): Record<string, Common.Module> {\n return this.container.get('apis').getAll();\n }\n\n get auth() {\n return this.container.get('auth');\n }\n\n get contentAPI() {\n return this.container.get('content-api');\n }\n\n get sanitizers() {\n return this.container.get('sanitizers');\n }\n\n get validators() {\n return this.container.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(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.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 environment: this.config.environment,\n // TODO: to add back\n // providers: this.config.installedProviders,\n },\n });\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 async loadAdmin() {\n await loaders.loadAdmin(this);\n }\n\n async loadPlugins() {\n await loaders.loadPlugins(this);\n }\n\n async loadPolicies() {\n await loaders.loadPolicies(this);\n }\n\n async loadAPIs() {\n await loaders.loadAPIs(this);\n }\n\n async loadComponents() {\n this.components = await loaders.loadComponents(this);\n }\n\n async loadMiddlewares() {\n await loaders.loadMiddlewares(this);\n }\n\n async loadApp() {\n this.app = await loaders.loadSrcIndex(this);\n }\n\n async loadSanitizers() {\n await loaders.loadSanitizers(this);\n }\n\n async loadValidators() {\n await loaders.loadValidators(this);\n }\n\n registerInternalHooks() {\n this.container\n .get('hooks')\n .set('strapi::content-types.beforeSync', hooks.createAsyncParallelHook());\n\n this.container\n .get('hooks')\n .set('strapi::content-types.afterSync', hooks.createAsyncParallelHook());\n\n this.hook('strapi::content-types.beforeSync').register(draftAndPublishSync.disable);\n this.hook('strapi::content-types.afterSync').register(draftAndPublishSync.enable);\n }\n\n async register() {\n await Promise.all([\n this.loadApp(),\n this.loadSanitizers(),\n this.loadValidators(),\n this.loadPlugins(),\n this.loadAdmin(),\n this.loadAPIs(),\n this.loadComponents(),\n this.loadMiddlewares(),\n this.loadPolicies(),\n ]);\n\n await bootstrap({ strapi: this });\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(LIFECYCLES.REGISTER);\n // NOTE: Swap type customField for underlying data type\n convertCustomFieldType(this);\n\n return this;\n }\n\n async bootstrap() {\n const contentTypes = [\n coreStoreModel,\n webhookModel,\n ...Object.values(this.contentTypes),\n ...Object.values(this.components),\n ];\n\n this.db = await Database.init({\n ...this.config.get('database'),\n models: Database.transformContentTypes(contentTypes),\n });\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 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.collectionName)) {\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 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(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.container.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): Strapi;\n factories: typeof factories;\n compile: typeof compile;\n}\n\nconst initFn = (options: StrapiOptions = {}) => {\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":["createAuth","utils.getDirs","createTelemetry","requestContext","ee","isInitialized","utils.openBrowser","utils.isInitialized","draftAndPublishSync.disable","draftAndPublishSync.enable"],"mappings":"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"}
package/dist/cli.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
package/dist/cli.js ADDED
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ const index = require("./commands/index.js");
3
+ index.runStrapiCommand(process.argv);
4
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sources":["../src/cli.ts"],"sourcesContent":["import { runStrapiCommand } from './commands';\n\nrunStrapiCommand(process.argv);\n"],"names":["runStrapiCommand"],"mappings":";;AAEAA,MAAAA,iBAAiB,QAAQ,IAAI;"}