@strapi/core 0.0.0-experimental.9034cc03ac5cf73cd9dcb2ff7c6cadece3f6910d → 0.0.0-experimental.931410e9ec44301eb4579640bf42aa347fb4a3b7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (860) hide show
  1. package/LICENSE +18 -3
  2. package/dist/Strapi.d.ts +37 -46
  3. package/dist/Strapi.d.ts.map +1 -1
  4. package/dist/Strapi.js +435 -446
  5. package/dist/Strapi.js.map +1 -1
  6. package/dist/Strapi.mjs +426 -457
  7. package/dist/Strapi.mjs.map +1 -1
  8. package/dist/compile.js +23 -14
  9. package/dist/compile.js.map +1 -1
  10. package/dist/compile.mjs +22 -14
  11. package/dist/compile.mjs.map +1 -1
  12. package/dist/configuration/config-loader.d.ts.map +1 -1
  13. package/dist/configuration/config-loader.js +110 -93
  14. package/dist/configuration/config-loader.js.map +1 -1
  15. package/dist/configuration/config-loader.mjs +109 -92
  16. package/dist/configuration/config-loader.mjs.map +1 -1
  17. package/dist/configuration/get-dirs.d.ts +10 -0
  18. package/dist/configuration/get-dirs.d.ts.map +1 -0
  19. package/dist/configuration/get-dirs.js +33 -0
  20. package/dist/configuration/get-dirs.js.map +1 -0
  21. package/dist/configuration/get-dirs.mjs +31 -0
  22. package/dist/configuration/get-dirs.mjs.map +1 -0
  23. package/dist/configuration/index.d.ts +4 -7
  24. package/dist/configuration/index.d.ts.map +1 -1
  25. package/dist/configuration/index.js +85 -72
  26. package/dist/configuration/index.js.map +1 -1
  27. package/dist/configuration/index.mjs +83 -68
  28. package/dist/configuration/index.mjs.map +1 -1
  29. package/dist/configuration/urls.js +65 -61
  30. package/dist/configuration/urls.js.map +1 -1
  31. package/dist/configuration/urls.mjs +64 -62
  32. package/dist/configuration/urls.mjs.map +1 -1
  33. package/dist/container.js +27 -23
  34. package/dist/container.js.map +1 -1
  35. package/dist/container.mjs +26 -24
  36. package/dist/container.mjs.map +1 -1
  37. package/dist/core-api/controller/collection-type.d.ts.map +1 -1
  38. package/dist/core-api/controller/collection-type.js +77 -73
  39. package/dist/core-api/controller/collection-type.js.map +1 -1
  40. package/dist/core-api/controller/collection-type.mjs +76 -74
  41. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  42. package/dist/core-api/controller/index.js +63 -48
  43. package/dist/core-api/controller/index.js.map +1 -1
  44. package/dist/core-api/controller/index.mjs +62 -49
  45. package/dist/core-api/controller/index.mjs.map +1 -1
  46. package/dist/core-api/controller/single-type.d.ts.map +1 -1
  47. package/dist/core-api/controller/single-type.js +41 -39
  48. package/dist/core-api/controller/single-type.js.map +1 -1
  49. package/dist/core-api/controller/single-type.mjs +40 -40
  50. package/dist/core-api/controller/single-type.mjs.map +1 -1
  51. package/dist/core-api/controller/transform.js +72 -63
  52. package/dist/core-api/controller/transform.js.map +1 -1
  53. package/dist/core-api/controller/transform.mjs +71 -64
  54. package/dist/core-api/controller/transform.mjs.map +1 -1
  55. package/dist/core-api/routes/index.d.ts.map +1 -1
  56. package/dist/core-api/routes/index.js +64 -62
  57. package/dist/core-api/routes/index.js.map +1 -1
  58. package/dist/core-api/routes/index.mjs +62 -62
  59. package/dist/core-api/routes/index.mjs.map +1 -1
  60. package/dist/core-api/service/collection-type.d.ts +3 -9
  61. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  62. package/dist/core-api/service/collection-type.js +73 -49
  63. package/dist/core-api/service/collection-type.js.map +1 -1
  64. package/dist/core-api/service/collection-type.mjs +72 -51
  65. package/dist/core-api/service/collection-type.mjs.map +1 -1
  66. package/dist/core-api/service/core-service.js +9 -8
  67. package/dist/core-api/service/core-service.js.map +1 -1
  68. package/dist/core-api/service/core-service.mjs +8 -9
  69. package/dist/core-api/service/core-service.mjs.map +1 -1
  70. package/dist/core-api/service/index.js +13 -13
  71. package/dist/core-api/service/index.js.map +1 -1
  72. package/dist/core-api/service/index.mjs +12 -14
  73. package/dist/core-api/service/index.mjs.map +1 -1
  74. package/dist/core-api/service/pagination.d.ts +4 -11
  75. package/dist/core-api/service/pagination.d.ts.map +1 -1
  76. package/dist/core-api/service/pagination.js +68 -68
  77. package/dist/core-api/service/pagination.js.map +1 -1
  78. package/dist/core-api/service/pagination.mjs +66 -71
  79. package/dist/core-api/service/pagination.mjs.map +1 -1
  80. package/dist/core-api/service/single-type.d.ts.map +1 -1
  81. package/dist/core-api/service/single-type.js +43 -32
  82. package/dist/core-api/service/single-type.js.map +1 -1
  83. package/dist/core-api/service/single-type.mjs +42 -34
  84. package/dist/core-api/service/single-type.mjs.map +1 -1
  85. package/dist/domain/content-type/index.js +95 -100
  86. package/dist/domain/content-type/index.js.map +1 -1
  87. package/dist/domain/content-type/index.mjs +94 -100
  88. package/dist/domain/content-type/index.mjs.map +1 -1
  89. package/dist/domain/content-type/validator.js +84 -69
  90. package/dist/domain/content-type/validator.js.map +1 -1
  91. package/dist/domain/content-type/validator.mjs +83 -68
  92. package/dist/domain/content-type/validator.mjs.map +1 -1
  93. package/dist/domain/module/index.js +109 -100
  94. package/dist/domain/module/index.js.map +1 -1
  95. package/dist/domain/module/index.mjs +108 -99
  96. package/dist/domain/module/index.mjs.map +1 -1
  97. package/dist/domain/module/validation.js +25 -20
  98. package/dist/domain/module/validation.js.map +1 -1
  99. package/dist/domain/module/validation.mjs +24 -21
  100. package/dist/domain/module/validation.mjs.map +1 -1
  101. package/dist/ee/index.d.ts +3 -0
  102. package/dist/ee/index.d.ts.map +1 -1
  103. package/dist/ee/index.js +171 -132
  104. package/dist/ee/index.js.map +1 -1
  105. package/dist/ee/index.mjs +170 -134
  106. package/dist/ee/index.mjs.map +1 -1
  107. package/dist/ee/license.d.ts.map +1 -1
  108. package/dist/ee/license.js +99 -74
  109. package/dist/ee/license.js.map +1 -1
  110. package/dist/ee/license.mjs +98 -75
  111. package/dist/ee/license.mjs.map +1 -1
  112. package/dist/factories.d.ts +2 -2
  113. package/dist/factories.d.ts.map +1 -1
  114. package/dist/factories.js +72 -67
  115. package/dist/factories.js.map +1 -1
  116. package/dist/factories.mjs +71 -71
  117. package/dist/factories.mjs.map +1 -1
  118. package/dist/index.d.ts +18 -2
  119. package/dist/index.d.ts.map +1 -1
  120. package/dist/index.js +32 -5
  121. package/dist/index.js.map +1 -1
  122. package/dist/index.mjs +29 -5
  123. package/dist/index.mjs.map +1 -1
  124. package/dist/loaders/admin.d.ts.map +1 -1
  125. package/dist/loaders/admin.js +21 -21
  126. package/dist/loaders/admin.js.map +1 -1
  127. package/dist/loaders/admin.mjs +20 -21
  128. package/dist/loaders/admin.mjs.map +1 -1
  129. package/dist/loaders/apis.d.ts.map +1 -1
  130. package/dist/loaders/apis.js +143 -120
  131. package/dist/loaders/apis.js.map +1 -1
  132. package/dist/loaders/apis.mjs +142 -119
  133. package/dist/loaders/apis.mjs.map +1 -1
  134. package/dist/loaders/components.js +33 -34
  135. package/dist/loaders/components.js.map +1 -1
  136. package/dist/loaders/components.mjs +32 -34
  137. package/dist/loaders/components.mjs.map +1 -1
  138. package/dist/loaders/index.d.ts.map +1 -1
  139. package/dist/loaders/index.js +22 -22
  140. package/dist/loaders/index.js.map +1 -1
  141. package/dist/loaders/index.mjs +21 -23
  142. package/dist/loaders/index.mjs.map +1 -1
  143. package/dist/loaders/middlewares.js +29 -25
  144. package/dist/loaders/middlewares.js.map +1 -1
  145. package/dist/loaders/middlewares.mjs +28 -25
  146. package/dist/loaders/middlewares.mjs.map +1 -1
  147. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  148. package/dist/loaders/plugins/get-enabled-plugins.js +125 -101
  149. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  150. package/dist/loaders/plugins/get-enabled-plugins.mjs +124 -100
  151. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  152. package/dist/loaders/plugins/get-user-plugins-config.js +25 -24
  153. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  154. package/dist/loaders/plugins/get-user-plugins-config.mjs +24 -23
  155. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -1
  156. package/dist/loaders/plugins/index.d.ts.map +1 -1
  157. package/dist/loaders/plugins/index.js +141 -104
  158. package/dist/loaders/plugins/index.js.map +1 -1
  159. package/dist/loaders/plugins/index.mjs +121 -104
  160. package/dist/loaders/plugins/index.mjs.map +1 -1
  161. package/dist/loaders/policies.js +24 -20
  162. package/dist/loaders/policies.js.map +1 -1
  163. package/dist/loaders/policies.mjs +23 -20
  164. package/dist/loaders/policies.mjs.map +1 -1
  165. package/dist/loaders/sanitizers.js +10 -4
  166. package/dist/loaders/sanitizers.js.map +1 -1
  167. package/dist/loaders/sanitizers.mjs +9 -6
  168. package/dist/loaders/sanitizers.mjs.map +1 -1
  169. package/dist/loaders/src-index.js +35 -27
  170. package/dist/loaders/src-index.js.map +1 -1
  171. package/dist/loaders/src-index.mjs +34 -29
  172. package/dist/loaders/src-index.mjs.map +1 -1
  173. package/dist/loaders/validators.js +9 -4
  174. package/dist/loaders/validators.js.map +1 -1
  175. package/dist/loaders/validators.mjs +8 -6
  176. package/dist/loaders/validators.mjs.map +1 -1
  177. package/dist/middlewares/body.d.ts +2 -2
  178. package/dist/middlewares/body.d.ts.map +1 -1
  179. package/dist/middlewares/body.js +58 -54
  180. package/dist/middlewares/body.js.map +1 -1
  181. package/dist/middlewares/body.mjs +57 -51
  182. package/dist/middlewares/body.mjs.map +1 -1
  183. package/dist/middlewares/compression.js +6 -6
  184. package/dist/middlewares/compression.js.map +1 -1
  185. package/dist/middlewares/compression.mjs +5 -5
  186. package/dist/middlewares/compression.mjs.map +1 -1
  187. package/dist/middlewares/cors.d.ts.map +1 -1
  188. package/dist/middlewares/cors.js +59 -46
  189. package/dist/middlewares/cors.js.map +1 -1
  190. package/dist/middlewares/cors.mjs +58 -45
  191. package/dist/middlewares/cors.mjs.map +1 -1
  192. package/dist/middlewares/errors.js +32 -30
  193. package/dist/middlewares/errors.js.map +1 -1
  194. package/dist/middlewares/errors.mjs +31 -31
  195. package/dist/middlewares/errors.mjs.map +1 -1
  196. package/dist/middlewares/favicon.js +27 -17
  197. package/dist/middlewares/favicon.js.map +1 -1
  198. package/dist/middlewares/favicon.mjs +26 -16
  199. package/dist/middlewares/favicon.mjs.map +1 -1
  200. package/dist/middlewares/index.js +32 -30
  201. package/dist/middlewares/index.js.map +1 -1
  202. package/dist/middlewares/index.mjs +31 -31
  203. package/dist/middlewares/index.mjs.map +1 -1
  204. package/dist/middlewares/ip.js +6 -6
  205. package/dist/middlewares/ip.js.map +1 -1
  206. package/dist/middlewares/ip.mjs +5 -5
  207. package/dist/middlewares/ip.mjs.map +1 -1
  208. package/dist/middlewares/logger.js +10 -9
  209. package/dist/middlewares/logger.js.map +1 -1
  210. package/dist/middlewares/logger.mjs +9 -10
  211. package/dist/middlewares/logger.mjs.map +1 -1
  212. package/dist/middlewares/powered-by.js +13 -9
  213. package/dist/middlewares/powered-by.js.map +1 -1
  214. package/dist/middlewares/powered-by.mjs +12 -10
  215. package/dist/middlewares/powered-by.mjs.map +1 -1
  216. package/dist/middlewares/public.js +33 -29
  217. package/dist/middlewares/public.js.map +1 -1
  218. package/dist/middlewares/public.mjs +32 -28
  219. package/dist/middlewares/public.mjs.map +1 -1
  220. package/dist/middlewares/query.d.ts.map +1 -1
  221. package/dist/middlewares/query.js +35 -32
  222. package/dist/middlewares/query.js.map +1 -1
  223. package/dist/middlewares/query.mjs +34 -31
  224. package/dist/middlewares/query.mjs.map +1 -1
  225. package/dist/middlewares/response-time.js +10 -9
  226. package/dist/middlewares/response-time.js.map +1 -1
  227. package/dist/middlewares/response-time.mjs +9 -10
  228. package/dist/middlewares/response-time.mjs.map +1 -1
  229. package/dist/middlewares/responses.js +14 -12
  230. package/dist/middlewares/responses.js.map +1 -1
  231. package/dist/middlewares/responses.mjs +13 -13
  232. package/dist/middlewares/responses.mjs.map +1 -1
  233. package/dist/middlewares/security.d.ts.map +1 -1
  234. package/dist/middlewares/security.js +110 -65
  235. package/dist/middlewares/security.js.map +1 -1
  236. package/dist/middlewares/security.mjs +108 -63
  237. package/dist/middlewares/security.mjs.map +1 -1
  238. package/dist/middlewares/session.js +26 -25
  239. package/dist/middlewares/session.js.map +1 -1
  240. package/dist/middlewares/session.mjs +25 -24
  241. package/dist/middlewares/session.mjs.map +1 -1
  242. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +33 -0
  243. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -0
  244. package/dist/migrations/database/5.0.0-discard-drafts.js +168 -0
  245. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -0
  246. package/dist/migrations/database/5.0.0-discard-drafts.mjs +165 -0
  247. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -0
  248. package/dist/migrations/draft-publish.d.ts +2 -2
  249. package/dist/migrations/draft-publish.d.ts.map +1 -1
  250. package/dist/migrations/draft-publish.js +59 -49
  251. package/dist/migrations/draft-publish.js.map +1 -1
  252. package/dist/migrations/draft-publish.mjs +58 -51
  253. package/dist/migrations/draft-publish.mjs.map +1 -1
  254. package/dist/migrations/i18n.d.ts +5 -0
  255. package/dist/migrations/i18n.d.ts.map +1 -0
  256. package/dist/migrations/i18n.js +71 -0
  257. package/dist/migrations/i18n.js.map +1 -0
  258. package/dist/migrations/i18n.mjs +68 -0
  259. package/dist/migrations/i18n.mjs.map +1 -0
  260. package/dist/migrations/index.d.ts +5 -0
  261. package/dist/migrations/index.d.ts.map +1 -0
  262. package/dist/migrations/index.js +29 -0
  263. package/dist/migrations/index.js.map +1 -0
  264. package/dist/migrations/index.mjs +26 -0
  265. package/dist/migrations/index.mjs.map +1 -0
  266. package/dist/package.json.js +182 -0
  267. package/dist/package.json.js.map +1 -0
  268. package/dist/package.json.mjs +159 -0
  269. package/dist/package.json.mjs.map +1 -0
  270. package/dist/providers/admin.d.ts +3 -0
  271. package/dist/providers/admin.d.ts.map +1 -0
  272. package/dist/providers/admin.js +30 -0
  273. package/dist/providers/admin.js.map +1 -0
  274. package/dist/providers/admin.mjs +28 -0
  275. package/dist/providers/admin.mjs.map +1 -0
  276. package/dist/providers/coreStore.d.ts +3 -0
  277. package/dist/providers/coreStore.d.ts.map +1 -0
  278. package/dist/providers/coreStore.js +16 -0
  279. package/dist/providers/coreStore.js.map +1 -0
  280. package/dist/providers/coreStore.mjs +14 -0
  281. package/dist/providers/coreStore.mjs.map +1 -0
  282. package/dist/providers/cron.d.ts +3 -0
  283. package/dist/providers/cron.d.ts.map +1 -0
  284. package/dist/providers/cron.js +23 -0
  285. package/dist/providers/cron.js.map +1 -0
  286. package/dist/providers/cron.mjs +21 -0
  287. package/dist/providers/cron.mjs.map +1 -0
  288. package/dist/providers/index.d.ts +3 -0
  289. package/dist/providers/index.d.ts.map +1 -0
  290. package/dist/providers/index.js +20 -0
  291. package/dist/providers/index.js.map +1 -0
  292. package/dist/providers/index.mjs +18 -0
  293. package/dist/providers/index.mjs.map +1 -0
  294. package/dist/providers/provider.d.ts +9 -0
  295. package/dist/providers/provider.d.ts.map +1 -0
  296. package/dist/providers/provider.js +6 -0
  297. package/dist/providers/provider.js.map +1 -0
  298. package/dist/providers/provider.mjs +4 -0
  299. package/dist/providers/provider.mjs.map +1 -0
  300. package/dist/providers/registries.d.ts +3 -0
  301. package/dist/providers/registries.d.ts.map +1 -0
  302. package/dist/providers/registries.js +40 -0
  303. package/dist/providers/registries.js.map +1 -0
  304. package/dist/providers/registries.mjs +38 -0
  305. package/dist/providers/registries.mjs.map +1 -0
  306. package/dist/providers/telemetry.d.ts +3 -0
  307. package/dist/providers/telemetry.d.ts.map +1 -0
  308. package/dist/providers/telemetry.js +22 -0
  309. package/dist/providers/telemetry.js.map +1 -0
  310. package/dist/providers/telemetry.mjs +20 -0
  311. package/dist/providers/telemetry.mjs.map +1 -0
  312. package/dist/providers/webhooks.d.ts +3 -0
  313. package/dist/providers/webhooks.d.ts.map +1 -0
  314. package/dist/providers/webhooks.js +32 -0
  315. package/dist/providers/webhooks.js.map +1 -0
  316. package/dist/providers/webhooks.mjs +30 -0
  317. package/dist/providers/webhooks.mjs.map +1 -0
  318. package/dist/registries/apis.js +23 -20
  319. package/dist/registries/apis.js.map +1 -1
  320. package/dist/registries/apis.mjs +22 -22
  321. package/dist/registries/apis.mjs.map +1 -1
  322. package/dist/registries/components.js +35 -37
  323. package/dist/registries/components.js.map +1 -1
  324. package/dist/registries/components.mjs +34 -39
  325. package/dist/registries/components.mjs.map +1 -1
  326. package/dist/registries/content-types.js +54 -59
  327. package/dist/registries/content-types.js.map +1 -1
  328. package/dist/registries/content-types.mjs +53 -61
  329. package/dist/registries/content-types.mjs.map +1 -1
  330. package/dist/registries/controllers.js +70 -71
  331. package/dist/registries/controllers.js.map +1 -1
  332. package/dist/registries/controllers.mjs +69 -73
  333. package/dist/registries/controllers.mjs.map +1 -1
  334. package/dist/registries/custom-fields.js +75 -65
  335. package/dist/registries/custom-fields.js.map +1 -1
  336. package/dist/registries/custom-fields.mjs +74 -67
  337. package/dist/registries/custom-fields.mjs.map +1 -1
  338. package/dist/registries/hooks.js +46 -49
  339. package/dist/registries/hooks.js.map +1 -1
  340. package/dist/registries/hooks.mjs +45 -51
  341. package/dist/registries/hooks.mjs.map +1 -1
  342. package/dist/registries/index.d.ts +0 -1
  343. package/dist/registries/index.d.ts.map +1 -1
  344. package/dist/registries/middlewares.js +49 -51
  345. package/dist/registries/middlewares.js.map +1 -1
  346. package/dist/registries/middlewares.mjs +48 -53
  347. package/dist/registries/middlewares.mjs.map +1 -1
  348. package/dist/registries/models.js +14 -13
  349. package/dist/registries/models.js.map +1 -1
  350. package/dist/registries/models.mjs +13 -14
  351. package/dist/registries/models.mjs.map +1 -1
  352. package/dist/registries/modules.js +39 -36
  353. package/dist/registries/modules.js.map +1 -1
  354. package/dist/registries/modules.mjs +38 -38
  355. package/dist/registries/modules.mjs.map +1 -1
  356. package/dist/registries/namespace.js +21 -20
  357. package/dist/registries/namespace.js.map +1 -1
  358. package/dist/registries/namespace.mjs +20 -23
  359. package/dist/registries/namespace.mjs.map +1 -1
  360. package/dist/registries/plugins.js +23 -20
  361. package/dist/registries/plugins.js.map +1 -1
  362. package/dist/registries/plugins.mjs +22 -22
  363. package/dist/registries/plugins.mjs.map +1 -1
  364. package/dist/registries/policies.d.ts +1 -1
  365. package/dist/registries/policies.d.ts.map +1 -1
  366. package/dist/registries/policies.js +103 -96
  367. package/dist/registries/policies.js.map +1 -1
  368. package/dist/registries/policies.mjs +102 -98
  369. package/dist/registries/policies.mjs.map +1 -1
  370. package/dist/registries/sanitizers.js +23 -22
  371. package/dist/registries/sanitizers.js.map +1 -1
  372. package/dist/registries/sanitizers.mjs +22 -22
  373. package/dist/registries/sanitizers.mjs.map +1 -1
  374. package/dist/registries/services.js +71 -71
  375. package/dist/registries/services.js.map +1 -1
  376. package/dist/registries/services.mjs +70 -73
  377. package/dist/registries/services.mjs.map +1 -1
  378. package/dist/registries/validators.js +23 -22
  379. package/dist/registries/validators.js.map +1 -1
  380. package/dist/registries/validators.mjs +22 -22
  381. package/dist/registries/validators.mjs.map +1 -1
  382. package/dist/services/auth/index.js +74 -74
  383. package/dist/services/auth/index.js.map +1 -1
  384. package/dist/services/auth/index.mjs +73 -74
  385. package/dist/services/auth/index.mjs.map +1 -1
  386. package/dist/services/config.d.ts +3 -0
  387. package/dist/services/config.d.ts.map +1 -0
  388. package/dist/services/config.js +51 -0
  389. package/dist/services/config.js.map +1 -0
  390. package/dist/services/config.mjs +49 -0
  391. package/dist/services/config.mjs.map +1 -0
  392. package/dist/services/content-api/index.d.ts +10 -12
  393. package/dist/services/content-api/index.d.ts.map +1 -1
  394. package/dist/services/content-api/index.js +80 -79
  395. package/dist/services/content-api/index.js.map +1 -1
  396. package/dist/services/content-api/index.mjs +79 -79
  397. package/dist/services/content-api/index.mjs.map +1 -1
  398. package/dist/services/content-api/permissions/engine.js +8 -5
  399. package/dist/services/content-api/permissions/engine.js.map +1 -1
  400. package/dist/services/content-api/permissions/engine.mjs +7 -5
  401. package/dist/services/content-api/permissions/engine.mjs.map +1 -1
  402. package/dist/services/content-api/permissions/index.d.ts +10 -12
  403. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  404. package/dist/services/content-api/permissions/index.js +101 -81
  405. package/dist/services/content-api/permissions/index.js.map +1 -1
  406. package/dist/services/content-api/permissions/index.mjs +100 -81
  407. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  408. package/dist/services/content-api/permissions/providers/action.d.ts +5 -6
  409. package/dist/services/content-api/permissions/providers/action.d.ts.map +1 -1
  410. package/dist/services/content-api/permissions/providers/action.js +17 -14
  411. package/dist/services/content-api/permissions/providers/action.js.map +1 -1
  412. package/dist/services/content-api/permissions/providers/action.mjs +16 -16
  413. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -1
  414. package/dist/services/content-api/permissions/providers/condition.d.ts +5 -6
  415. package/dist/services/content-api/permissions/providers/condition.d.ts.map +1 -1
  416. package/dist/services/content-api/permissions/providers/condition.js +17 -14
  417. package/dist/services/content-api/permissions/providers/condition.js.map +1 -1
  418. package/dist/services/content-api/permissions/providers/condition.mjs +16 -16
  419. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -1
  420. package/dist/services/core-store.d.ts.map +1 -1
  421. package/dist/services/core-store.js +115 -95
  422. package/dist/services/core-store.js.map +1 -1
  423. package/dist/services/core-store.mjs +114 -97
  424. package/dist/services/core-store.mjs.map +1 -1
  425. package/dist/services/cron.d.ts +3 -3
  426. package/dist/services/cron.d.ts.map +1 -1
  427. package/dist/services/cron.js +74 -60
  428. package/dist/services/cron.js.map +1 -1
  429. package/dist/services/cron.mjs +73 -62
  430. package/dist/services/cron.mjs.map +1 -1
  431. package/dist/services/custom-fields.js +9 -7
  432. package/dist/services/custom-fields.js.map +1 -1
  433. package/dist/services/custom-fields.mjs +8 -9
  434. package/dist/services/custom-fields.mjs.map +1 -1
  435. package/dist/services/document-service/attributes/index.d.ts +6 -0
  436. package/dist/services/document-service/attributes/index.d.ts.map +1 -0
  437. package/dist/services/document-service/attributes/index.js +27 -0
  438. package/dist/services/document-service/attributes/index.js.map +1 -0
  439. package/dist/services/document-service/attributes/index.mjs +25 -0
  440. package/dist/services/document-service/attributes/index.mjs.map +1 -0
  441. package/dist/services/document-service/attributes/transforms.d.ts.map +1 -0
  442. package/dist/services/document-service/attributes/transforms.js +21 -0
  443. package/dist/services/document-service/attributes/transforms.js.map +1 -0
  444. package/dist/services/document-service/attributes/transforms.mjs +19 -0
  445. package/dist/services/document-service/attributes/transforms.mjs.map +1 -0
  446. package/dist/services/document-service/common.d.ts +1 -1
  447. package/dist/services/document-service/common.d.ts.map +1 -1
  448. package/dist/services/document-service/common.js +5 -4
  449. package/dist/services/document-service/common.js.map +1 -1
  450. package/dist/services/document-service/common.mjs +4 -5
  451. package/dist/services/document-service/common.mjs.map +1 -1
  452. package/dist/services/document-service/components.d.ts +25 -1
  453. package/dist/services/document-service/components.d.ts.map +1 -1
  454. package/dist/services/document-service/components.js +286 -0
  455. package/dist/services/document-service/components.js.map +1 -0
  456. package/dist/services/document-service/components.mjs +278 -0
  457. package/dist/services/document-service/components.mjs.map +1 -0
  458. package/dist/services/document-service/draft-and-publish.d.ts +1 -1
  459. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  460. package/dist/services/document-service/draft-and-publish.js +94 -54
  461. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  462. package/dist/services/document-service/draft-and-publish.mjs +87 -54
  463. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  464. package/dist/services/document-service/entries.d.ts +10 -0
  465. package/dist/services/document-service/entries.d.ts.map +1 -0
  466. package/dist/services/document-service/entries.js +113 -0
  467. package/dist/services/document-service/entries.js.map +1 -0
  468. package/dist/services/document-service/entries.mjs +111 -0
  469. package/dist/services/document-service/entries.mjs.map +1 -0
  470. package/dist/services/document-service/events.d.ts +25 -0
  471. package/dist/services/document-service/events.d.ts.map +1 -0
  472. package/dist/services/document-service/events.js +59 -0
  473. package/dist/services/document-service/events.js.map +1 -0
  474. package/dist/services/document-service/events.mjs +57 -0
  475. package/dist/services/document-service/events.mjs.map +1 -0
  476. package/dist/services/document-service/index.d.ts +2 -3
  477. package/dist/services/document-service/index.d.ts.map +1 -1
  478. package/dist/services/document-service/index.js +53 -25
  479. package/dist/services/document-service/index.js.map +1 -1
  480. package/dist/services/document-service/index.mjs +52 -26
  481. package/dist/services/document-service/index.mjs.map +1 -1
  482. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  483. package/dist/services/document-service/internationalization.js +66 -41
  484. package/dist/services/document-service/internationalization.js.map +1 -1
  485. package/dist/services/document-service/internationalization.mjs +61 -41
  486. package/dist/services/document-service/internationalization.mjs.map +1 -1
  487. package/dist/services/document-service/middlewares/errors.js +23 -19
  488. package/dist/services/document-service/middlewares/errors.js.map +1 -1
  489. package/dist/services/document-service/middlewares/errors.mjs +22 -20
  490. package/dist/services/document-service/middlewares/errors.mjs.map +1 -1
  491. package/dist/services/document-service/middlewares/middleware-manager.d.ts +5 -2
  492. package/dist/services/document-service/middlewares/middleware-manager.d.ts.map +1 -1
  493. package/dist/services/document-service/middlewares/middleware-manager.js +46 -41
  494. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -1
  495. package/dist/services/document-service/middlewares/middleware-manager.mjs +45 -42
  496. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -1
  497. package/dist/services/document-service/params.d.ts +3 -1
  498. package/dist/services/document-service/params.d.ts.map +1 -1
  499. package/dist/services/document-service/params.js +14 -0
  500. package/dist/services/document-service/params.js.map +1 -0
  501. package/dist/services/document-service/params.mjs +12 -0
  502. package/dist/services/document-service/params.mjs.map +1 -0
  503. package/dist/services/document-service/repository.d.ts.map +1 -1
  504. package/dist/services/document-service/repository.js +354 -297
  505. package/dist/services/document-service/repository.js.map +1 -1
  506. package/dist/services/document-service/repository.mjs +353 -298
  507. package/dist/services/document-service/repository.mjs.map +1 -1
  508. package/dist/services/document-service/transform/data.d.ts.map +1 -1
  509. package/dist/services/document-service/transform/data.js +22 -10
  510. package/dist/services/document-service/transform/data.js.map +1 -1
  511. package/dist/services/document-service/transform/data.mjs +21 -11
  512. package/dist/services/document-service/transform/data.mjs.map +1 -1
  513. package/dist/services/document-service/transform/fields.js +26 -17
  514. package/dist/services/document-service/transform/fields.js.map +1 -1
  515. package/dist/services/document-service/transform/fields.mjs +25 -18
  516. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  517. package/dist/services/document-service/transform/id-map.d.ts +1 -1
  518. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  519. package/dist/services/document-service/transform/id-map.js +116 -69
  520. package/dist/services/document-service/transform/id-map.js.map +1 -1
  521. package/dist/services/document-service/transform/id-map.mjs +115 -70
  522. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  523. package/dist/services/document-service/transform/id-transform.d.ts +1 -1
  524. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  525. package/dist/services/document-service/transform/id-transform.js +38 -30
  526. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  527. package/dist/services/document-service/transform/id-transform.mjs +36 -30
  528. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  529. package/dist/services/document-service/transform/populate.js +23 -18
  530. package/dist/services/document-service/transform/populate.js.map +1 -1
  531. package/dist/services/document-service/transform/populate.mjs +22 -19
  532. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  533. package/dist/services/document-service/transform/query.d.ts +5 -0
  534. package/dist/services/document-service/transform/query.d.ts.map +1 -0
  535. package/dist/services/document-service/transform/query.js +14 -0
  536. package/dist/services/document-service/transform/query.js.map +1 -0
  537. package/dist/services/document-service/transform/query.mjs +12 -0
  538. package/dist/services/document-service/transform/query.mjs.map +1 -0
  539. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +8 -7
  540. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  541. package/dist/services/document-service/transform/relations/extract/data-ids.js +75 -85
  542. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  543. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +74 -86
  544. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  545. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts +7 -3
  546. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  547. package/dist/services/document-service/transform/relations/transform/data-ids.js +103 -134
  548. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  549. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +102 -135
  550. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  551. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts +9 -0
  552. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts.map +1 -0
  553. package/dist/services/document-service/transform/relations/transform/default-locale.js +50 -0
  554. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -0
  555. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +48 -0
  556. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -0
  557. package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
  558. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  559. package/dist/services/document-service/transform/relations/utils/dp.js +52 -26
  560. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -1
  561. package/dist/services/document-service/transform/relations/utils/dp.mjs +51 -27
  562. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -1
  563. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +3 -3
  564. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  565. package/dist/services/document-service/transform/relations/utils/i18n.js +19 -23
  566. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  567. package/dist/services/document-service/transform/relations/utils/i18n.mjs +18 -26
  568. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  569. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts +6 -0
  570. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -0
  571. package/dist/services/document-service/transform/relations/utils/map-relation.js +130 -0
  572. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -0
  573. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +127 -0
  574. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -0
  575. package/dist/services/document-service/transform/relations/utils/types.d.ts +6 -0
  576. package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -1
  577. package/dist/services/document-service/utils/bidirectional-relations.d.ts +95 -0
  578. package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -0
  579. package/dist/services/document-service/utils/bidirectional-relations.js +148 -0
  580. package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -0
  581. package/dist/services/document-service/utils/bidirectional-relations.mjs +145 -0
  582. package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -0
  583. package/dist/services/document-service/utils/populate.d.ts +1 -1
  584. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  585. package/dist/services/document-service/utils/populate.js +67 -37
  586. package/dist/services/document-service/utils/populate.js.map +1 -1
  587. package/dist/services/document-service/utils/populate.mjs +66 -38
  588. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  589. package/dist/services/document-service/utils/unidirectional-relations.d.ts +36 -0
  590. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -0
  591. package/dist/services/document-service/utils/unidirectional-relations.js +116 -0
  592. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -0
  593. package/dist/services/document-service/utils/unidirectional-relations.mjs +113 -0
  594. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -0
  595. package/dist/services/entity-service/index.d.ts.map +1 -1
  596. package/dist/services/entity-service/index.js +230 -154
  597. package/dist/services/entity-service/index.js.map +1 -1
  598. package/dist/services/entity-service/index.mjs +229 -153
  599. package/dist/services/entity-service/index.mjs.map +1 -1
  600. package/dist/services/entity-validator/blocks-validator.d.ts +1 -2
  601. package/dist/services/entity-validator/blocks-validator.d.ts.map +1 -1
  602. package/dist/services/entity-validator/blocks-validator.js +137 -104
  603. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  604. package/dist/services/entity-validator/blocks-validator.mjs +135 -105
  605. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  606. package/dist/services/entity-validator/index.d.ts +15 -1
  607. package/dist/services/entity-validator/index.d.ts.map +1 -1
  608. package/dist/services/entity-validator/index.js +362 -305
  609. package/dist/services/entity-validator/index.js.map +1 -1
  610. package/dist/services/entity-validator/index.mjs +358 -302
  611. package/dist/services/entity-validator/index.mjs.map +1 -1
  612. package/dist/services/entity-validator/validators.d.ts +36 -25
  613. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  614. package/dist/services/entity-validator/validators.js +283 -110
  615. package/dist/services/entity-validator/validators.js.map +1 -1
  616. package/dist/services/entity-validator/validators.mjs +274 -108
  617. package/dist/services/entity-validator/validators.mjs.map +1 -1
  618. package/dist/services/errors.js +65 -65
  619. package/dist/services/errors.js.map +1 -1
  620. package/dist/services/errors.mjs +64 -66
  621. package/dist/services/errors.mjs.map +1 -1
  622. package/dist/services/event-hub.d.ts +1 -0
  623. package/dist/services/event-hub.d.ts.map +1 -1
  624. package/dist/services/event-hub.js +82 -64
  625. package/dist/services/event-hub.js.map +1 -1
  626. package/dist/services/event-hub.mjs +81 -66
  627. package/dist/services/event-hub.mjs.map +1 -1
  628. package/dist/services/features.js +19 -14
  629. package/dist/services/features.js.map +1 -1
  630. package/dist/services/features.mjs +18 -15
  631. package/dist/services/features.mjs.map +1 -1
  632. package/dist/services/fs.js +41 -40
  633. package/dist/services/fs.js.map +1 -1
  634. package/dist/services/fs.mjs +40 -39
  635. package/dist/services/fs.mjs.map +1 -1
  636. package/dist/services/metrics/admin-user-hash.js +13 -11
  637. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  638. package/dist/services/metrics/admin-user-hash.mjs +12 -10
  639. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  640. package/dist/services/metrics/index.js +46 -40
  641. package/dist/services/metrics/index.js.map +1 -1
  642. package/dist/services/metrics/index.mjs +45 -42
  643. package/dist/services/metrics/index.mjs.map +1 -1
  644. package/dist/services/metrics/is-truthy.js +13 -6
  645. package/dist/services/metrics/is-truthy.js.map +1 -1
  646. package/dist/services/metrics/is-truthy.mjs +12 -6
  647. package/dist/services/metrics/is-truthy.mjs.map +1 -1
  648. package/dist/services/metrics/middleware.d.ts.map +1 -1
  649. package/dist/services/metrics/middleware.js +37 -22
  650. package/dist/services/metrics/middleware.js.map +1 -1
  651. package/dist/services/metrics/middleware.mjs +36 -24
  652. package/dist/services/metrics/middleware.mjs.map +1 -1
  653. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  654. package/dist/services/metrics/rate-limiter.js +24 -19
  655. package/dist/services/metrics/rate-limiter.js.map +1 -1
  656. package/dist/services/metrics/rate-limiter.mjs +23 -21
  657. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  658. package/dist/services/metrics/sender.js +78 -69
  659. package/dist/services/metrics/sender.js.map +1 -1
  660. package/dist/services/metrics/sender.mjs +77 -64
  661. package/dist/services/metrics/sender.mjs.map +1 -1
  662. package/dist/services/query-params.js +13 -10
  663. package/dist/services/query-params.js.map +1 -1
  664. package/dist/services/query-params.mjs +12 -12
  665. package/dist/services/query-params.mjs.map +1 -1
  666. package/dist/services/reloader.d.ts +7 -0
  667. package/dist/services/reloader.d.ts.map +1 -0
  668. package/dist/services/reloader.js +39 -0
  669. package/dist/services/reloader.js.map +1 -0
  670. package/dist/services/reloader.mjs +37 -0
  671. package/dist/services/reloader.mjs.map +1 -0
  672. package/dist/services/request-context.js +11 -8
  673. package/dist/services/request-context.js.map +1 -1
  674. package/dist/services/request-context.mjs +10 -10
  675. package/dist/services/request-context.mjs.map +1 -1
  676. package/dist/services/server/admin-api.js +11 -10
  677. package/dist/services/server/admin-api.js.map +1 -1
  678. package/dist/services/server/admin-api.mjs +10 -11
  679. package/dist/services/server/admin-api.mjs.map +1 -1
  680. package/dist/services/server/api.js +33 -27
  681. package/dist/services/server/api.js.map +1 -1
  682. package/dist/services/server/api.mjs +32 -26
  683. package/dist/services/server/api.mjs.map +1 -1
  684. package/dist/services/server/compose-endpoint.d.ts.map +1 -1
  685. package/dist/services/server/compose-endpoint.js +116 -105
  686. package/dist/services/server/compose-endpoint.js.map +1 -1
  687. package/dist/services/server/compose-endpoint.mjs +115 -105
  688. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  689. package/dist/services/server/content-api.js +11 -9
  690. package/dist/services/server/content-api.js.map +1 -1
  691. package/dist/services/server/content-api.mjs +10 -10
  692. package/dist/services/server/content-api.mjs.map +1 -1
  693. package/dist/services/server/http-server.js +48 -44
  694. package/dist/services/server/http-server.js.map +1 -1
  695. package/dist/services/server/http-server.mjs +47 -43
  696. package/dist/services/server/http-server.mjs.map +1 -1
  697. package/dist/services/server/index.js +85 -82
  698. package/dist/services/server/index.js.map +1 -1
  699. package/dist/services/server/index.mjs +84 -81
  700. package/dist/services/server/index.mjs.map +1 -1
  701. package/dist/services/server/koa.d.ts.map +1 -1
  702. package/dist/services/server/koa.js +49 -47
  703. package/dist/services/server/koa.js.map +1 -1
  704. package/dist/services/server/koa.mjs +48 -44
  705. package/dist/services/server/koa.mjs.map +1 -1
  706. package/dist/services/server/middleware.js +86 -82
  707. package/dist/services/server/middleware.js.map +1 -1
  708. package/dist/services/server/middleware.mjs +85 -82
  709. package/dist/services/server/middleware.mjs.map +1 -1
  710. package/dist/services/server/policy.js +24 -17
  711. package/dist/services/server/policy.js.map +1 -1
  712. package/dist/services/server/policy.mjs +23 -18
  713. package/dist/services/server/policy.mjs.map +1 -1
  714. package/dist/services/server/register-middlewares.js +68 -61
  715. package/dist/services/server/register-middlewares.js.map +1 -1
  716. package/dist/services/server/register-middlewares.mjs +67 -63
  717. package/dist/services/server/register-middlewares.mjs.map +1 -1
  718. package/dist/services/server/register-routes.js +90 -67
  719. package/dist/services/server/register-routes.js.map +1 -1
  720. package/dist/services/server/register-routes.mjs +89 -67
  721. package/dist/services/server/register-routes.mjs.map +1 -1
  722. package/dist/services/server/routing.d.ts +1 -1
  723. package/dist/services/server/routing.js +94 -81
  724. package/dist/services/server/routing.js.map +1 -1
  725. package/dist/services/server/routing.mjs +93 -81
  726. package/dist/services/server/routing.mjs.map +1 -1
  727. package/dist/services/utils/dynamic-zones.js +13 -14
  728. package/dist/services/utils/dynamic-zones.js.map +1 -1
  729. package/dist/services/utils/dynamic-zones.mjs +12 -16
  730. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  731. package/dist/services/webhook-runner.d.ts +2 -1
  732. package/dist/services/webhook-runner.d.ts.map +1 -1
  733. package/dist/services/webhook-runner.js +124 -122
  734. package/dist/services/webhook-runner.js.map +1 -1
  735. package/dist/services/webhook-runner.mjs +123 -121
  736. package/dist/services/webhook-runner.mjs.map +1 -1
  737. package/dist/services/webhook-store.d.ts +2 -8
  738. package/dist/services/webhook-store.d.ts.map +1 -1
  739. package/dist/services/webhook-store.js +132 -93
  740. package/dist/services/webhook-store.js.map +1 -1
  741. package/dist/services/webhook-store.mjs +131 -95
  742. package/dist/services/webhook-store.mjs.map +1 -1
  743. package/dist/services/worker-queue.js +44 -49
  744. package/dist/services/worker-queue.js.map +1 -1
  745. package/dist/services/worker-queue.mjs +43 -49
  746. package/dist/services/worker-queue.mjs.map +1 -1
  747. package/dist/utils/convert-custom-field-type.js +17 -20
  748. package/dist/utils/convert-custom-field-type.js.map +1 -1
  749. package/dist/utils/convert-custom-field-type.mjs +16 -21
  750. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  751. package/dist/utils/cron.js +64 -30
  752. package/dist/utils/cron.js.map +1 -1
  753. package/dist/utils/cron.mjs +63 -31
  754. package/dist/utils/cron.mjs.map +1 -1
  755. package/dist/utils/fetch.d.ts.map +1 -1
  756. package/dist/utils/fetch.js +24 -17
  757. package/dist/utils/fetch.js.map +1 -1
  758. package/dist/utils/fetch.mjs +23 -18
  759. package/dist/utils/fetch.mjs.map +1 -1
  760. package/dist/utils/filepath-to-prop-path.d.ts +1 -1
  761. package/dist/utils/filepath-to-prop-path.d.ts.map +1 -1
  762. package/dist/utils/filepath-to-prop-path.js +22 -9
  763. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  764. package/dist/utils/filepath-to-prop-path.mjs +20 -7
  765. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  766. package/dist/utils/index.d.ts +2 -1
  767. package/dist/utils/index.d.ts.map +1 -1
  768. package/dist/utils/is-initialized.js +21 -12
  769. package/dist/utils/is-initialized.js.map +1 -1
  770. package/dist/utils/is-initialized.mjs +20 -13
  771. package/dist/utils/is-initialized.mjs.map +1 -1
  772. package/dist/utils/lifecycles.js +6 -5
  773. package/dist/utils/lifecycles.js.map +1 -1
  774. package/dist/utils/lifecycles.mjs +5 -6
  775. package/dist/utils/lifecycles.mjs.map +1 -1
  776. package/dist/utils/load-config-file.js +40 -38
  777. package/dist/utils/load-config-file.js.map +1 -1
  778. package/dist/utils/load-config-file.mjs +39 -36
  779. package/dist/utils/load-config-file.mjs.map +1 -1
  780. package/dist/utils/load-files.d.ts.map +1 -1
  781. package/dist/utils/load-files.js +40 -35
  782. package/dist/utils/load-files.js.map +1 -1
  783. package/dist/utils/load-files.mjs +39 -32
  784. package/dist/utils/load-files.mjs.map +1 -1
  785. package/dist/utils/open-browser.js +8 -8
  786. package/dist/utils/open-browser.js.map +1 -1
  787. package/dist/utils/open-browser.mjs +7 -7
  788. package/dist/utils/open-browser.mjs.map +1 -1
  789. package/dist/utils/resolve-working-dirs.d.ts +19 -0
  790. package/dist/utils/resolve-working-dirs.d.ts.map +1 -0
  791. package/dist/utils/resolve-working-dirs.js +26 -0
  792. package/dist/utils/resolve-working-dirs.js.map +1 -0
  793. package/dist/utils/resolve-working-dirs.mjs +24 -0
  794. package/dist/utils/resolve-working-dirs.mjs.map +1 -0
  795. package/dist/utils/signals.js +20 -14
  796. package/dist/utils/signals.js.map +1 -1
  797. package/dist/utils/signals.mjs +19 -15
  798. package/dist/utils/signals.mjs.map +1 -1
  799. package/dist/utils/startup-logger.d.ts.map +1 -1
  800. package/dist/utils/startup-logger.js +107 -78
  801. package/dist/utils/startup-logger.js.map +1 -1
  802. package/dist/utils/startup-logger.mjs +106 -75
  803. package/dist/utils/startup-logger.mjs.map +1 -1
  804. package/dist/utils/transform-content-types-to-models.d.ts +355 -23
  805. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  806. package/dist/utils/transform-content-types-to-models.js +350 -248
  807. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  808. package/dist/utils/transform-content-types-to-models.mjs +349 -256
  809. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  810. package/dist/utils/update-notifier/index.d.ts +1 -6
  811. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  812. package/dist/utils/update-notifier/index.js +66 -74
  813. package/dist/utils/update-notifier/index.js.map +1 -1
  814. package/dist/utils/update-notifier/index.mjs +65 -68
  815. package/dist/utils/update-notifier/index.mjs.map +1 -1
  816. package/package.json +42 -39
  817. package/dist/registries/config.d.ts +0 -4
  818. package/dist/registries/config.d.ts.map +0 -1
  819. package/dist/registries/config.js +0 -43
  820. package/dist/registries/config.js.map +0 -1
  821. package/dist/registries/config.mjs +0 -44
  822. package/dist/registries/config.mjs.map +0 -1
  823. package/dist/services/document-service/document-engine.d.ts +0 -2
  824. package/dist/services/document-service/document-engine.d.ts.map +0 -1
  825. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts +0 -2
  826. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts.map +0 -1
  827. package/dist/services/document-service/transform/relations/utils/data.js +0 -12
  828. package/dist/services/document-service/transform/relations/utils/data.js.map +0 -1
  829. package/dist/services/document-service/transform/relations/utils/data.mjs +0 -12
  830. package/dist/services/document-service/transform/relations/utils/data.mjs.map +0 -1
  831. package/dist/services/entity-service/attributes/index.d.ts +0 -6
  832. package/dist/services/entity-service/attributes/index.d.ts.map +0 -1
  833. package/dist/services/entity-service/attributes/index.js +0 -22
  834. package/dist/services/entity-service/attributes/index.js.map +0 -1
  835. package/dist/services/entity-service/attributes/index.mjs +0 -22
  836. package/dist/services/entity-service/attributes/index.mjs.map +0 -1
  837. package/dist/services/entity-service/attributes/transforms.d.ts.map +0 -1
  838. package/dist/services/entity-service/attributes/transforms.js +0 -20
  839. package/dist/services/entity-service/attributes/transforms.js.map +0 -1
  840. package/dist/services/entity-service/attributes/transforms.mjs +0 -19
  841. package/dist/services/entity-service/attributes/transforms.mjs.map +0 -1
  842. package/dist/services/entity-service/components.d.ts +0 -95
  843. package/dist/services/entity-service/components.d.ts.map +0 -1
  844. package/dist/services/entity-service/components.js +0 -295
  845. package/dist/services/entity-service/components.js.map +0 -1
  846. package/dist/services/entity-service/components.mjs +0 -293
  847. package/dist/services/entity-service/components.mjs.map +0 -1
  848. package/dist/services/entity-service/params.d.ts +0 -8
  849. package/dist/services/entity-service/params.d.ts.map +0 -1
  850. package/dist/services/entity-service/params.js +0 -8
  851. package/dist/services/entity-service/params.js.map +0 -1
  852. package/dist/services/entity-service/params.mjs +0 -8
  853. package/dist/services/entity-service/params.mjs.map +0 -1
  854. package/dist/utils/get-dirs.d.ts +0 -9
  855. package/dist/utils/get-dirs.d.ts.map +0 -1
  856. package/dist/utils/get-dirs.js +0 -30
  857. package/dist/utils/get-dirs.js.map +0 -1
  858. package/dist/utils/get-dirs.mjs +0 -30
  859. package/dist/utils/get-dirs.mjs.map +0 -1
  860. /package/dist/services/{entity-service → document-service}/attributes/transforms.d.ts +0 -0
@@ -1,118 +1,155 @@
1
- "use strict";
2
- const path = require("path");
3
- const fse = require("fs-extra");
4
- const _ = require("lodash/fp");
5
- const strapiUtils = require("@strapi/utils");
6
- const loadConfigFile = require("../../utils/load-config-file.js");
7
- const loadFiles = require("../../utils/load-files.js");
8
- const getEnabledPlugins = require("./get-enabled-plugins.js");
9
- const getUserPluginsConfig = require("./get-user-plugins-config.js");
10
- const index = require("../../domain/content-type/index.js");
11
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
12
- const fse__default = /* @__PURE__ */ _interopDefault(fse);
1
+ 'use strict';
2
+
3
+ var path = require('path');
4
+ var fse = require('fs-extra');
5
+ var fp = require('lodash/fp');
6
+ var resolve = require('resolve.exports');
7
+ var strapiUtils = require('@strapi/utils');
8
+ var loadConfigFile = require('../../utils/load-config-file.js');
9
+ var loadFiles = require('../../utils/load-files.js');
10
+ var getEnabledPlugins = require('./get-enabled-plugins.js');
11
+ var getUserPluginsConfig = require('./get-user-plugins-config.js');
12
+ var index = require('../../domain/content-type/index.js');
13
+
14
+ function _interopNamespaceDefault(e) {
15
+ var n = Object.create(null);
16
+ if (e) {
17
+ Object.keys(e).forEach(function (k) {
18
+ if (k !== 'default') {
19
+ var d = Object.getOwnPropertyDescriptor(e, k);
20
+ Object.defineProperty(n, k, d.get ? d : {
21
+ enumerable: true,
22
+ get: function () { return e[k]; }
23
+ });
24
+ }
25
+ });
26
+ }
27
+ n.default = e;
28
+ return Object.freeze(n);
29
+ }
30
+
31
+ var resolve__namespace = /*#__PURE__*/_interopNamespaceDefault(resolve);
32
+
13
33
  const defaultPlugin = {
14
- bootstrap() {
15
- },
16
- destroy() {
17
- },
18
- register() {
19
- },
20
- config: {
21
- default: {},
22
- validator() {
23
- }
24
- },
25
- routes: [],
26
- controllers: {},
27
- services: {},
28
- policies: {},
29
- middlewares: {},
30
- contentTypes: {}
34
+ bootstrap () {},
35
+ destroy () {},
36
+ register () {},
37
+ config: {
38
+ default: {},
39
+ validator () {}
40
+ },
41
+ routes: [],
42
+ controllers: {},
43
+ services: {},
44
+ policies: {},
45
+ middlewares: {},
46
+ contentTypes: {}
31
47
  };
32
- const applyUserExtension = async (plugins) => {
33
- const extensionsDir = strapi.dirs.dist.extensions;
34
- if (!await fse__default.default.pathExists(extensionsDir)) {
35
- return;
36
- }
37
- const extendedSchemas = await loadFiles.loadFiles(extensionsDir, "**/content-types/**/schema.json");
38
- const strapiServers = await loadFiles.loadFiles(extensionsDir, "**/strapi-server.js");
39
- for (const pluginName of Object.keys(plugins)) {
40
- const plugin = plugins[pluginName];
41
- for (const ctName of Object.keys(plugin.contentTypes)) {
42
- const extendedSchema = _.get([pluginName, "content-types", ctName, "schema"], extendedSchemas);
43
- if (extendedSchema) {
44
- plugin.contentTypes[ctName].schema = {
45
- ...plugin.contentTypes[ctName].schema,
46
- ...extendedSchema
47
- };
48
- }
48
+ const applyUserExtension = async (plugins)=>{
49
+ const extensionsDir = strapi.dirs.dist.extensions;
50
+ if (!await fse.pathExists(extensionsDir)) {
51
+ return;
49
52
  }
50
- const strapiServer = _.get([pluginName, "strapi-server"], strapiServers);
51
- if (strapiServer) {
52
- plugins[pluginName] = await strapiServer(plugin);
53
+ const extendedSchemas = await loadFiles.loadFiles(extensionsDir, '**/content-types/**/schema.json');
54
+ const strapiServers = await loadFiles.loadFiles(extensionsDir, '**/strapi-server.js');
55
+ for (const pluginName of Object.keys(plugins)){
56
+ const plugin = plugins[pluginName];
57
+ // first: load json schema
58
+ for (const ctName of Object.keys(plugin.contentTypes)){
59
+ const extendedSchema = fp.get([
60
+ pluginName,
61
+ 'content-types',
62
+ ctName,
63
+ 'schema'
64
+ ], extendedSchemas);
65
+ if (extendedSchema) {
66
+ plugin.contentTypes[ctName].schema = {
67
+ ...plugin.contentTypes[ctName].schema,
68
+ ...extendedSchema
69
+ };
70
+ }
71
+ }
72
+ // second: execute strapi-server extension
73
+ const strapiServer = fp.get([
74
+ pluginName,
75
+ 'strapi-server'
76
+ ], strapiServers);
77
+ if (strapiServer) {
78
+ plugins[pluginName] = await strapiServer(plugin);
79
+ }
53
80
  }
54
- }
55
81
  };
56
- const applyUserConfig = async (plugins) => {
57
- const userPluginsConfig = await getUserPluginsConfig.getUserPluginsConfig();
58
- for (const pluginName of Object.keys(plugins)) {
59
- const plugin = plugins[pluginName];
60
- const userPluginConfig = _.getOr({}, `${pluginName}.config`, userPluginsConfig);
61
- const defaultConfig = typeof plugin.config.default === "function" ? plugin.config.default({ env: strapiUtils.env }) : plugin.config.default;
62
- const config = _.defaultsDeep(defaultConfig, userPluginConfig);
63
- try {
64
- plugin.config.validator(config);
65
- } catch (e) {
66
- if (e instanceof Error) {
67
- throw new Error(`Error regarding ${pluginName} config: ${e.message}`);
68
- }
69
- throw e;
82
+ const applyUserConfig = async (plugins)=>{
83
+ const userPluginsConfig = await getUserPluginsConfig.getUserPluginsConfig();
84
+ for (const pluginName of Object.keys(plugins)){
85
+ const plugin = plugins[pluginName];
86
+ const userPluginConfig = fp.getOr({}, `${pluginName}.config`, userPluginsConfig);
87
+ const defaultConfig = typeof plugin.config.default === 'function' ? plugin.config.default({
88
+ env: strapiUtils.env
89
+ }) : plugin.config.default;
90
+ const config = fp.defaultsDeep(defaultConfig, userPluginConfig);
91
+ try {
92
+ plugin.config.validator(config);
93
+ } catch (e) {
94
+ if (e instanceof Error) {
95
+ throw new Error(`Error regarding ${pluginName} config: ${e.message}`);
96
+ }
97
+ throw e;
98
+ }
99
+ plugin.config = config;
70
100
  }
71
- plugin.config = config;
72
- }
73
101
  };
74
- async function loadPlugins(strapi2) {
75
- const plugins = {};
76
- const enabledPlugins = await getEnabledPlugins.getEnabledPlugins(strapi2);
77
- strapi2.config.set("enabledPlugins", enabledPlugins);
78
- for (const pluginName of Object.keys(enabledPlugins)) {
79
- const enabledPlugin = enabledPlugins[pluginName];
80
- let serverEntrypointPath;
81
- try {
82
- serverEntrypointPath = path.join(enabledPlugin.pathToPlugin, "strapi-server.js");
83
- } catch (e) {
84
- throw new Error(
85
- `Error loading the plugin ${pluginName} because ${pluginName} is not installed. Please either install the plugin or remove it's configuration.`
86
- );
102
+ async function loadPlugins(strapi1) {
103
+ const plugins = {};
104
+ const enabledPlugins = await getEnabledPlugins.getEnabledPlugins(strapi1);
105
+ strapi1.config.set('enabledPlugins', enabledPlugins);
106
+ for (const pluginName of Object.keys(enabledPlugins)){
107
+ const enabledPlugin = enabledPlugins[pluginName];
108
+ let serverEntrypointPath;
109
+ let resolvedExport = './strapi-server.js';
110
+ try {
111
+ resolvedExport = (resolve__namespace.exports(enabledPlugin.packageInfo, 'strapi-server', {
112
+ require: true
113
+ }) ?? './strapi-server.js').toString();
114
+ } catch (e) {
115
+ // no export map or missing strapi-server export => fallback to default
116
+ }
117
+ try {
118
+ serverEntrypointPath = path.join(enabledPlugin.pathToPlugin, resolvedExport);
119
+ } catch (e) {
120
+ throw new Error(`Error loading the plugin ${pluginName} because ${pluginName} is not installed. Please either install the plugin or remove it's configuration.`);
121
+ }
122
+ // only load plugins with a server entrypoint
123
+ if (!await fse.pathExists(serverEntrypointPath)) {
124
+ continue;
125
+ }
126
+ const pluginServer = loadConfigFile.loadConfigFile(serverEntrypointPath);
127
+ plugins[pluginName] = {
128
+ ...defaultPlugin,
129
+ ...pluginServer,
130
+ contentTypes: formatContentTypes(pluginName, pluginServer.contentTypes ?? {}),
131
+ config: fp.defaults(defaultPlugin.config, pluginServer.config),
132
+ routes: pluginServer.routes ?? defaultPlugin.routes
133
+ };
87
134
  }
88
- if (!await fse__default.default.pathExists(serverEntrypointPath)) {
89
- continue;
135
+ // TODO: validate plugin format
136
+ await applyUserConfig(plugins);
137
+ await applyUserExtension(plugins);
138
+ for (const pluginName of Object.keys(plugins)){
139
+ strapi1.get('plugins').add(pluginName, plugins[pluginName]);
90
140
  }
91
- const pluginServer = loadConfigFile.loadConfigFile(serverEntrypointPath);
92
- plugins[pluginName] = {
93
- ...defaultPlugin,
94
- ...pluginServer,
95
- contentTypes: formatContentTypes(pluginName, pluginServer.contentTypes ?? {}),
96
- config: _.defaults(defaultPlugin.config, pluginServer.config),
97
- routes: pluginServer.routes ?? defaultPlugin.routes
98
- };
99
- }
100
- await applyUserConfig(plugins);
101
- await applyUserExtension(plugins);
102
- for (const pluginName of Object.keys(plugins)) {
103
- strapi2.get("plugins").add(pluginName, plugins[pluginName]);
104
- }
105
141
  }
106
- const formatContentTypes = (pluginName, contentTypes) => {
107
- Object.values(contentTypes).forEach((definition) => {
108
- const { schema } = definition;
109
- Object.assign(schema, {
110
- plugin: pluginName,
111
- collectionName: schema.collectionName || `${pluginName}_${schema.info.singularName}`.toLowerCase(),
112
- globalId: index.getGlobalId(schema, pluginName)
142
+ const formatContentTypes = (pluginName, contentTypes)=>{
143
+ Object.values(contentTypes).forEach((definition)=>{
144
+ const { schema } = definition;
145
+ Object.assign(schema, {
146
+ plugin: pluginName,
147
+ collectionName: schema.collectionName || `${pluginName}_${schema.info.singularName}`.toLowerCase(),
148
+ globalId: index.getGlobalId(schema, pluginName)
149
+ });
113
150
  });
114
- });
115
- return contentTypes;
151
+ return contentTypes;
116
152
  };
153
+
117
154
  module.exports = loadPlugins;
118
155
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/loaders/plugins/index.ts"],"sourcesContent":["import { join } from 'path';\nimport fse from 'fs-extra';\nimport { defaultsDeep, defaults, getOr, get } from 'lodash/fp';\nimport { env } from '@strapi/utils';\nimport type { Core, Plugin, Struct } from '@strapi/types';\nimport { loadConfigFile } from '../../utils/load-config-file';\nimport { loadFiles } from '../../utils/load-files';\nimport { getEnabledPlugins } from './get-enabled-plugins';\nimport { getUserPluginsConfig } from './get-user-plugins-config';\nimport { getGlobalId } from '../../domain/content-type';\n\ninterface Plugins {\n [key: string]: Plugin.LoadedPlugin;\n}\n\nconst defaultPlugin = {\n bootstrap() {},\n destroy() {},\n register() {},\n config: {\n default: {},\n validator() {},\n },\n routes: [],\n controllers: {},\n services: {},\n policies: {},\n middlewares: {},\n contentTypes: {},\n};\n\nconst applyUserExtension = async (plugins: Plugins) => {\n const extensionsDir = strapi.dirs.dist.extensions;\n if (!(await fse.pathExists(extensionsDir))) {\n return;\n }\n\n const extendedSchemas = await loadFiles(extensionsDir, '**/content-types/**/schema.json');\n const strapiServers = await loadFiles(extensionsDir, '**/strapi-server.js');\n\n for (const pluginName of Object.keys(plugins)) {\n const plugin = plugins[pluginName];\n // first: load json schema\n for (const ctName of Object.keys(plugin.contentTypes)) {\n const extendedSchema = get([pluginName, 'content-types', ctName, 'schema'], extendedSchemas);\n if (extendedSchema) {\n plugin.contentTypes[ctName].schema = {\n ...plugin.contentTypes[ctName].schema,\n ...extendedSchema,\n };\n }\n }\n // second: execute strapi-server extension\n const strapiServer = get([pluginName, 'strapi-server'], strapiServers);\n if (strapiServer) {\n plugins[pluginName] = await strapiServer(plugin);\n }\n }\n};\n\nconst applyUserConfig = async (plugins: Plugins) => {\n const userPluginsConfig = await getUserPluginsConfig();\n\n for (const pluginName of Object.keys(plugins)) {\n const plugin = plugins[pluginName];\n const userPluginConfig = getOr({}, `${pluginName}.config`, userPluginsConfig);\n const defaultConfig =\n typeof plugin.config.default === 'function'\n ? plugin.config.default({ env })\n : plugin.config.default;\n\n const config = defaultsDeep(defaultConfig, userPluginConfig);\n try {\n plugin.config.validator(config);\n } catch (e) {\n if (e instanceof Error) {\n throw new Error(`Error regarding ${pluginName} config: ${e.message}`);\n }\n\n throw e;\n }\n plugin.config = config;\n }\n};\n\nexport default async function loadPlugins(strapi: Core.Strapi) {\n const plugins: Plugins = {};\n\n const enabledPlugins = await getEnabledPlugins(strapi);\n\n strapi.config.set('enabledPlugins', enabledPlugins);\n\n for (const pluginName of Object.keys(enabledPlugins)) {\n const enabledPlugin = enabledPlugins[pluginName];\n\n let serverEntrypointPath;\n\n try {\n serverEntrypointPath = join(enabledPlugin.pathToPlugin, 'strapi-server.js');\n } catch (e) {\n throw new Error(\n `Error loading the plugin ${pluginName} because ${pluginName} is not installed. Please either install the plugin or remove it's configuration.`\n );\n }\n\n // only load plugins with a server entrypoint\n if (!(await fse.pathExists(serverEntrypointPath))) {\n continue;\n }\n\n const pluginServer = loadConfigFile(serverEntrypointPath);\n plugins[pluginName] = {\n ...defaultPlugin,\n ...pluginServer,\n contentTypes: formatContentTypes(pluginName, pluginServer.contentTypes ?? {}),\n config: defaults(defaultPlugin.config, pluginServer.config),\n routes: pluginServer.routes ?? defaultPlugin.routes,\n };\n }\n\n // TODO: validate plugin format\n await applyUserConfig(plugins);\n await applyUserExtension(plugins);\n\n for (const pluginName of Object.keys(plugins)) {\n strapi.get('plugins').add(pluginName, plugins[pluginName]);\n }\n}\n\nconst formatContentTypes = (\n pluginName: string,\n contentTypes: Record<string, { schema: Struct.ContentTypeSchema }>\n) => {\n Object.values(contentTypes).forEach((definition) => {\n const { schema } = definition;\n\n Object.assign(schema, {\n plugin: pluginName,\n collectionName:\n schema.collectionName || `${pluginName}_${schema.info.singularName}`.toLowerCase(),\n globalId: getGlobalId(schema, pluginName),\n });\n });\n\n return contentTypes;\n};\n"],"names":["fse","loadFiles","get","getUserPluginsConfig","getOr","env","defaultsDeep","strapi","getEnabledPlugins","join","loadConfigFile","defaults","getGlobalId"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/loaders/plugins/index.ts"],"sourcesContent":["import { join } from 'path';\nimport fse from 'fs-extra';\nimport { defaultsDeep, defaults, getOr, get } from 'lodash/fp';\nimport * as resolve from 'resolve.exports';\n\nimport { env } from '@strapi/utils';\nimport type { Core, Plugin, Struct } from '@strapi/types';\nimport { loadConfigFile } from '../../utils/load-config-file';\nimport { loadFiles } from '../../utils/load-files';\nimport { getEnabledPlugins } from './get-enabled-plugins';\nimport { getUserPluginsConfig } from './get-user-plugins-config';\nimport { getGlobalId } from '../../domain/content-type';\n\ninterface Plugins {\n [key: string]: Plugin.LoadedPlugin;\n}\n\nconst defaultPlugin = {\n bootstrap() {},\n destroy() {},\n register() {},\n config: {\n default: {},\n validator() {},\n },\n routes: [],\n controllers: {},\n services: {},\n policies: {},\n middlewares: {},\n contentTypes: {},\n};\n\nconst applyUserExtension = async (plugins: Plugins) => {\n const extensionsDir = strapi.dirs.dist.extensions;\n if (!(await fse.pathExists(extensionsDir))) {\n return;\n }\n\n const extendedSchemas = await loadFiles(extensionsDir, '**/content-types/**/schema.json');\n const strapiServers = await loadFiles(extensionsDir, '**/strapi-server.js');\n\n for (const pluginName of Object.keys(plugins)) {\n const plugin = plugins[pluginName];\n // first: load json schema\n for (const ctName of Object.keys(plugin.contentTypes)) {\n const extendedSchema = get([pluginName, 'content-types', ctName, 'schema'], extendedSchemas);\n if (extendedSchema) {\n plugin.contentTypes[ctName].schema = {\n ...plugin.contentTypes[ctName].schema,\n ...extendedSchema,\n };\n }\n }\n // second: execute strapi-server extension\n const strapiServer = get([pluginName, 'strapi-server'], strapiServers);\n if (strapiServer) {\n plugins[pluginName] = await strapiServer(plugin);\n }\n }\n};\n\nconst applyUserConfig = async (plugins: Plugins) => {\n const userPluginsConfig = await getUserPluginsConfig();\n\n for (const pluginName of Object.keys(plugins)) {\n const plugin = plugins[pluginName];\n const userPluginConfig = getOr({}, `${pluginName}.config`, userPluginsConfig);\n const defaultConfig =\n typeof plugin.config.default === 'function'\n ? plugin.config.default({ env })\n : plugin.config.default;\n\n const config = defaultsDeep(defaultConfig, userPluginConfig);\n try {\n plugin.config.validator(config);\n } catch (e) {\n if (e instanceof Error) {\n throw new Error(`Error regarding ${pluginName} config: ${e.message}`);\n }\n\n throw e;\n }\n plugin.config = config;\n }\n};\n\nexport default async function loadPlugins(strapi: Core.Strapi) {\n const plugins: Plugins = {};\n\n const enabledPlugins = await getEnabledPlugins(strapi);\n\n strapi.config.set('enabledPlugins', enabledPlugins);\n\n for (const pluginName of Object.keys(enabledPlugins)) {\n const enabledPlugin = enabledPlugins[pluginName];\n\n let serverEntrypointPath;\n let resolvedExport = './strapi-server.js';\n\n try {\n resolvedExport = (\n resolve.exports(enabledPlugin.packageInfo, 'strapi-server', {\n require: true,\n }) ?? './strapi-server.js'\n ).toString();\n } catch (e) {\n // no export map or missing strapi-server export => fallback to default\n }\n\n try {\n serverEntrypointPath = join(enabledPlugin.pathToPlugin, resolvedExport);\n } catch (e) {\n throw new Error(\n `Error loading the plugin ${pluginName} because ${pluginName} is not installed. Please either install the plugin or remove it's configuration.`\n );\n }\n\n // only load plugins with a server entrypoint\n if (!(await fse.pathExists(serverEntrypointPath))) {\n continue;\n }\n\n const pluginServer = loadConfigFile(serverEntrypointPath);\n plugins[pluginName] = {\n ...defaultPlugin,\n ...pluginServer,\n contentTypes: formatContentTypes(pluginName, pluginServer.contentTypes ?? {}),\n config: defaults(defaultPlugin.config, pluginServer.config),\n routes: pluginServer.routes ?? defaultPlugin.routes,\n };\n }\n\n // TODO: validate plugin format\n await applyUserConfig(plugins);\n await applyUserExtension(plugins);\n\n for (const pluginName of Object.keys(plugins)) {\n strapi.get('plugins').add(pluginName, plugins[pluginName]);\n }\n}\n\nconst formatContentTypes = (\n pluginName: string,\n contentTypes: Record<string, { schema: Struct.ContentTypeSchema }>\n) => {\n Object.values(contentTypes).forEach((definition) => {\n const { schema } = definition;\n\n Object.assign(schema, {\n plugin: pluginName,\n collectionName:\n schema.collectionName || `${pluginName}_${schema.info.singularName}`.toLowerCase(),\n globalId: getGlobalId(schema, pluginName),\n });\n });\n\n return contentTypes;\n};\n"],"names":["defaultPlugin","bootstrap","destroy","register","config","default","validator","routes","controllers","services","policies","middlewares","contentTypes","applyUserExtension","plugins","extensionsDir","strapi","dirs","dist","extensions","fse","pathExists","extendedSchemas","loadFiles","strapiServers","pluginName","Object","keys","plugin","ctName","extendedSchema","get","schema","strapiServer","applyUserConfig","userPluginsConfig","getUserPluginsConfig","userPluginConfig","getOr","defaultConfig","env","defaultsDeep","e","Error","message","loadPlugins","enabledPlugins","getEnabledPlugins","set","enabledPlugin","serverEntrypointPath","resolvedExport","resolve","exports","packageInfo","require","toString","join","pathToPlugin","pluginServer","loadConfigFile","formatContentTypes","defaults","add","values","forEach","definition","assign","collectionName","info","singularName","toLowerCase","globalId","getGlobalId"],"mappings":"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"}
@@ -1,117 +1,134 @@
1
- import { join } from "path";
2
- import fse from "fs-extra";
3
- import { defaults, get, getOr, defaultsDeep } from "lodash/fp";
4
- import { env } from "@strapi/utils";
5
- import { loadConfigFile } from "../../utils/load-config-file.mjs";
6
- import { loadFiles } from "../../utils/load-files.mjs";
7
- import { getEnabledPlugins } from "./get-enabled-plugins.mjs";
8
- import { getUserPluginsConfig } from "./get-user-plugins-config.mjs";
9
- import { getGlobalId } from "../../domain/content-type/index.mjs";
1
+ import { join } from 'path';
2
+ import fse from 'fs-extra';
3
+ import { defaults, get, getOr, defaultsDeep } from 'lodash/fp';
4
+ import * as resolve from 'resolve.exports';
5
+ import { env } from '@strapi/utils';
6
+ import { loadConfigFile } from '../../utils/load-config-file.mjs';
7
+ import { loadFiles } from '../../utils/load-files.mjs';
8
+ import { getEnabledPlugins } from './get-enabled-plugins.mjs';
9
+ import { getUserPluginsConfig } from './get-user-plugins-config.mjs';
10
+ import { getGlobalId } from '../../domain/content-type/index.mjs';
11
+
10
12
  const defaultPlugin = {
11
- bootstrap() {
12
- },
13
- destroy() {
14
- },
15
- register() {
16
- },
17
- config: {
18
- default: {},
19
- validator() {
20
- }
21
- },
22
- routes: [],
23
- controllers: {},
24
- services: {},
25
- policies: {},
26
- middlewares: {},
27
- contentTypes: {}
13
+ bootstrap () {},
14
+ destroy () {},
15
+ register () {},
16
+ config: {
17
+ default: {},
18
+ validator () {}
19
+ },
20
+ routes: [],
21
+ controllers: {},
22
+ services: {},
23
+ policies: {},
24
+ middlewares: {},
25
+ contentTypes: {}
28
26
  };
29
- const applyUserExtension = async (plugins) => {
30
- const extensionsDir = strapi.dirs.dist.extensions;
31
- if (!await fse.pathExists(extensionsDir)) {
32
- return;
33
- }
34
- const extendedSchemas = await loadFiles(extensionsDir, "**/content-types/**/schema.json");
35
- const strapiServers = await loadFiles(extensionsDir, "**/strapi-server.js");
36
- for (const pluginName of Object.keys(plugins)) {
37
- const plugin = plugins[pluginName];
38
- for (const ctName of Object.keys(plugin.contentTypes)) {
39
- const extendedSchema = get([pluginName, "content-types", ctName, "schema"], extendedSchemas);
40
- if (extendedSchema) {
41
- plugin.contentTypes[ctName].schema = {
42
- ...plugin.contentTypes[ctName].schema,
43
- ...extendedSchema
44
- };
45
- }
27
+ const applyUserExtension = async (plugins)=>{
28
+ const extensionsDir = strapi.dirs.dist.extensions;
29
+ if (!await fse.pathExists(extensionsDir)) {
30
+ return;
46
31
  }
47
- const strapiServer = get([pluginName, "strapi-server"], strapiServers);
48
- if (strapiServer) {
49
- plugins[pluginName] = await strapiServer(plugin);
32
+ const extendedSchemas = await loadFiles(extensionsDir, '**/content-types/**/schema.json');
33
+ const strapiServers = await loadFiles(extensionsDir, '**/strapi-server.js');
34
+ for (const pluginName of Object.keys(plugins)){
35
+ const plugin = plugins[pluginName];
36
+ // first: load json schema
37
+ for (const ctName of Object.keys(plugin.contentTypes)){
38
+ const extendedSchema = get([
39
+ pluginName,
40
+ 'content-types',
41
+ ctName,
42
+ 'schema'
43
+ ], extendedSchemas);
44
+ if (extendedSchema) {
45
+ plugin.contentTypes[ctName].schema = {
46
+ ...plugin.contentTypes[ctName].schema,
47
+ ...extendedSchema
48
+ };
49
+ }
50
+ }
51
+ // second: execute strapi-server extension
52
+ const strapiServer = get([
53
+ pluginName,
54
+ 'strapi-server'
55
+ ], strapiServers);
56
+ if (strapiServer) {
57
+ plugins[pluginName] = await strapiServer(plugin);
58
+ }
50
59
  }
51
- }
52
60
  };
53
- const applyUserConfig = async (plugins) => {
54
- const userPluginsConfig = await getUserPluginsConfig();
55
- for (const pluginName of Object.keys(plugins)) {
56
- const plugin = plugins[pluginName];
57
- const userPluginConfig = getOr({}, `${pluginName}.config`, userPluginsConfig);
58
- const defaultConfig = typeof plugin.config.default === "function" ? plugin.config.default({ env }) : plugin.config.default;
59
- const config = defaultsDeep(defaultConfig, userPluginConfig);
60
- try {
61
- plugin.config.validator(config);
62
- } catch (e) {
63
- if (e instanceof Error) {
64
- throw new Error(`Error regarding ${pluginName} config: ${e.message}`);
65
- }
66
- throw e;
61
+ const applyUserConfig = async (plugins)=>{
62
+ const userPluginsConfig = await getUserPluginsConfig();
63
+ for (const pluginName of Object.keys(plugins)){
64
+ const plugin = plugins[pluginName];
65
+ const userPluginConfig = getOr({}, `${pluginName}.config`, userPluginsConfig);
66
+ const defaultConfig = typeof plugin.config.default === 'function' ? plugin.config.default({
67
+ env
68
+ }) : plugin.config.default;
69
+ const config = defaultsDeep(defaultConfig, userPluginConfig);
70
+ try {
71
+ plugin.config.validator(config);
72
+ } catch (e) {
73
+ if (e instanceof Error) {
74
+ throw new Error(`Error regarding ${pluginName} config: ${e.message}`);
75
+ }
76
+ throw e;
77
+ }
78
+ plugin.config = config;
67
79
  }
68
- plugin.config = config;
69
- }
70
80
  };
71
- async function loadPlugins(strapi2) {
72
- const plugins = {};
73
- const enabledPlugins = await getEnabledPlugins(strapi2);
74
- strapi2.config.set("enabledPlugins", enabledPlugins);
75
- for (const pluginName of Object.keys(enabledPlugins)) {
76
- const enabledPlugin = enabledPlugins[pluginName];
77
- let serverEntrypointPath;
78
- try {
79
- serverEntrypointPath = join(enabledPlugin.pathToPlugin, "strapi-server.js");
80
- } catch (e) {
81
- throw new Error(
82
- `Error loading the plugin ${pluginName} because ${pluginName} is not installed. Please either install the plugin or remove it's configuration.`
83
- );
81
+ async function loadPlugins(strapi1) {
82
+ const plugins = {};
83
+ const enabledPlugins = await getEnabledPlugins(strapi1);
84
+ strapi1.config.set('enabledPlugins', enabledPlugins);
85
+ for (const pluginName of Object.keys(enabledPlugins)){
86
+ const enabledPlugin = enabledPlugins[pluginName];
87
+ let serverEntrypointPath;
88
+ let resolvedExport = './strapi-server.js';
89
+ try {
90
+ resolvedExport = (resolve.exports(enabledPlugin.packageInfo, 'strapi-server', {
91
+ require: true
92
+ }) ?? './strapi-server.js').toString();
93
+ } catch (e) {
94
+ // no export map or missing strapi-server export => fallback to default
95
+ }
96
+ try {
97
+ serverEntrypointPath = join(enabledPlugin.pathToPlugin, resolvedExport);
98
+ } catch (e) {
99
+ throw new Error(`Error loading the plugin ${pluginName} because ${pluginName} is not installed. Please either install the plugin or remove it's configuration.`);
100
+ }
101
+ // only load plugins with a server entrypoint
102
+ if (!await fse.pathExists(serverEntrypointPath)) {
103
+ continue;
104
+ }
105
+ const pluginServer = loadConfigFile(serverEntrypointPath);
106
+ plugins[pluginName] = {
107
+ ...defaultPlugin,
108
+ ...pluginServer,
109
+ contentTypes: formatContentTypes(pluginName, pluginServer.contentTypes ?? {}),
110
+ config: defaults(defaultPlugin.config, pluginServer.config),
111
+ routes: pluginServer.routes ?? defaultPlugin.routes
112
+ };
84
113
  }
85
- if (!await fse.pathExists(serverEntrypointPath)) {
86
- continue;
114
+ // TODO: validate plugin format
115
+ await applyUserConfig(plugins);
116
+ await applyUserExtension(plugins);
117
+ for (const pluginName of Object.keys(plugins)){
118
+ strapi1.get('plugins').add(pluginName, plugins[pluginName]);
87
119
  }
88
- const pluginServer = loadConfigFile(serverEntrypointPath);
89
- plugins[pluginName] = {
90
- ...defaultPlugin,
91
- ...pluginServer,
92
- contentTypes: formatContentTypes(pluginName, pluginServer.contentTypes ?? {}),
93
- config: defaults(defaultPlugin.config, pluginServer.config),
94
- routes: pluginServer.routes ?? defaultPlugin.routes
95
- };
96
- }
97
- await applyUserConfig(plugins);
98
- await applyUserExtension(plugins);
99
- for (const pluginName of Object.keys(plugins)) {
100
- strapi2.get("plugins").add(pluginName, plugins[pluginName]);
101
- }
102
120
  }
103
- const formatContentTypes = (pluginName, contentTypes) => {
104
- Object.values(contentTypes).forEach((definition) => {
105
- const { schema } = definition;
106
- Object.assign(schema, {
107
- plugin: pluginName,
108
- collectionName: schema.collectionName || `${pluginName}_${schema.info.singularName}`.toLowerCase(),
109
- globalId: getGlobalId(schema, pluginName)
121
+ const formatContentTypes = (pluginName, contentTypes)=>{
122
+ Object.values(contentTypes).forEach((definition)=>{
123
+ const { schema } = definition;
124
+ Object.assign(schema, {
125
+ plugin: pluginName,
126
+ collectionName: schema.collectionName || `${pluginName}_${schema.info.singularName}`.toLowerCase(),
127
+ globalId: getGlobalId(schema, pluginName)
128
+ });
110
129
  });
111
- });
112
- return contentTypes;
113
- };
114
- export {
115
- loadPlugins as default
130
+ return contentTypes;
116
131
  };
132
+
133
+ export { loadPlugins as default };
117
134
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../src/loaders/plugins/index.ts"],"sourcesContent":["import { join } from 'path';\nimport fse from 'fs-extra';\nimport { defaultsDeep, defaults, getOr, get } from 'lodash/fp';\nimport { env } from '@strapi/utils';\nimport type { Core, Plugin, Struct } from '@strapi/types';\nimport { loadConfigFile } from '../../utils/load-config-file';\nimport { loadFiles } from '../../utils/load-files';\nimport { getEnabledPlugins } from './get-enabled-plugins';\nimport { getUserPluginsConfig } from './get-user-plugins-config';\nimport { getGlobalId } from '../../domain/content-type';\n\ninterface Plugins {\n [key: string]: Plugin.LoadedPlugin;\n}\n\nconst defaultPlugin = {\n bootstrap() {},\n destroy() {},\n register() {},\n config: {\n default: {},\n validator() {},\n },\n routes: [],\n controllers: {},\n services: {},\n policies: {},\n middlewares: {},\n contentTypes: {},\n};\n\nconst applyUserExtension = async (plugins: Plugins) => {\n const extensionsDir = strapi.dirs.dist.extensions;\n if (!(await fse.pathExists(extensionsDir))) {\n return;\n }\n\n const extendedSchemas = await loadFiles(extensionsDir, '**/content-types/**/schema.json');\n const strapiServers = await loadFiles(extensionsDir, '**/strapi-server.js');\n\n for (const pluginName of Object.keys(plugins)) {\n const plugin = plugins[pluginName];\n // first: load json schema\n for (const ctName of Object.keys(plugin.contentTypes)) {\n const extendedSchema = get([pluginName, 'content-types', ctName, 'schema'], extendedSchemas);\n if (extendedSchema) {\n plugin.contentTypes[ctName].schema = {\n ...plugin.contentTypes[ctName].schema,\n ...extendedSchema,\n };\n }\n }\n // second: execute strapi-server extension\n const strapiServer = get([pluginName, 'strapi-server'], strapiServers);\n if (strapiServer) {\n plugins[pluginName] = await strapiServer(plugin);\n }\n }\n};\n\nconst applyUserConfig = async (plugins: Plugins) => {\n const userPluginsConfig = await getUserPluginsConfig();\n\n for (const pluginName of Object.keys(plugins)) {\n const plugin = plugins[pluginName];\n const userPluginConfig = getOr({}, `${pluginName}.config`, userPluginsConfig);\n const defaultConfig =\n typeof plugin.config.default === 'function'\n ? plugin.config.default({ env })\n : plugin.config.default;\n\n const config = defaultsDeep(defaultConfig, userPluginConfig);\n try {\n plugin.config.validator(config);\n } catch (e) {\n if (e instanceof Error) {\n throw new Error(`Error regarding ${pluginName} config: ${e.message}`);\n }\n\n throw e;\n }\n plugin.config = config;\n }\n};\n\nexport default async function loadPlugins(strapi: Core.Strapi) {\n const plugins: Plugins = {};\n\n const enabledPlugins = await getEnabledPlugins(strapi);\n\n strapi.config.set('enabledPlugins', enabledPlugins);\n\n for (const pluginName of Object.keys(enabledPlugins)) {\n const enabledPlugin = enabledPlugins[pluginName];\n\n let serverEntrypointPath;\n\n try {\n serverEntrypointPath = join(enabledPlugin.pathToPlugin, 'strapi-server.js');\n } catch (e) {\n throw new Error(\n `Error loading the plugin ${pluginName} because ${pluginName} is not installed. Please either install the plugin or remove it's configuration.`\n );\n }\n\n // only load plugins with a server entrypoint\n if (!(await fse.pathExists(serverEntrypointPath))) {\n continue;\n }\n\n const pluginServer = loadConfigFile(serverEntrypointPath);\n plugins[pluginName] = {\n ...defaultPlugin,\n ...pluginServer,\n contentTypes: formatContentTypes(pluginName, pluginServer.contentTypes ?? {}),\n config: defaults(defaultPlugin.config, pluginServer.config),\n routes: pluginServer.routes ?? defaultPlugin.routes,\n };\n }\n\n // TODO: validate plugin format\n await applyUserConfig(plugins);\n await applyUserExtension(plugins);\n\n for (const pluginName of Object.keys(plugins)) {\n strapi.get('plugins').add(pluginName, plugins[pluginName]);\n }\n}\n\nconst formatContentTypes = (\n pluginName: string,\n contentTypes: Record<string, { schema: Struct.ContentTypeSchema }>\n) => {\n Object.values(contentTypes).forEach((definition) => {\n const { schema } = definition;\n\n Object.assign(schema, {\n plugin: pluginName,\n collectionName:\n schema.collectionName || `${pluginName}_${schema.info.singularName}`.toLowerCase(),\n globalId: getGlobalId(schema, pluginName),\n });\n });\n\n return contentTypes;\n};\n"],"names":["strapi"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../src/loaders/plugins/index.ts"],"sourcesContent":["import { join } from 'path';\nimport fse from 'fs-extra';\nimport { defaultsDeep, defaults, getOr, get } from 'lodash/fp';\nimport * as resolve from 'resolve.exports';\n\nimport { env } from '@strapi/utils';\nimport type { Core, Plugin, Struct } from '@strapi/types';\nimport { loadConfigFile } from '../../utils/load-config-file';\nimport { loadFiles } from '../../utils/load-files';\nimport { getEnabledPlugins } from './get-enabled-plugins';\nimport { getUserPluginsConfig } from './get-user-plugins-config';\nimport { getGlobalId } from '../../domain/content-type';\n\ninterface Plugins {\n [key: string]: Plugin.LoadedPlugin;\n}\n\nconst defaultPlugin = {\n bootstrap() {},\n destroy() {},\n register() {},\n config: {\n default: {},\n validator() {},\n },\n routes: [],\n controllers: {},\n services: {},\n policies: {},\n middlewares: {},\n contentTypes: {},\n};\n\nconst applyUserExtension = async (plugins: Plugins) => {\n const extensionsDir = strapi.dirs.dist.extensions;\n if (!(await fse.pathExists(extensionsDir))) {\n return;\n }\n\n const extendedSchemas = await loadFiles(extensionsDir, '**/content-types/**/schema.json');\n const strapiServers = await loadFiles(extensionsDir, '**/strapi-server.js');\n\n for (const pluginName of Object.keys(plugins)) {\n const plugin = plugins[pluginName];\n // first: load json schema\n for (const ctName of Object.keys(plugin.contentTypes)) {\n const extendedSchema = get([pluginName, 'content-types', ctName, 'schema'], extendedSchemas);\n if (extendedSchema) {\n plugin.contentTypes[ctName].schema = {\n ...plugin.contentTypes[ctName].schema,\n ...extendedSchema,\n };\n }\n }\n // second: execute strapi-server extension\n const strapiServer = get([pluginName, 'strapi-server'], strapiServers);\n if (strapiServer) {\n plugins[pluginName] = await strapiServer(plugin);\n }\n }\n};\n\nconst applyUserConfig = async (plugins: Plugins) => {\n const userPluginsConfig = await getUserPluginsConfig();\n\n for (const pluginName of Object.keys(plugins)) {\n const plugin = plugins[pluginName];\n const userPluginConfig = getOr({}, `${pluginName}.config`, userPluginsConfig);\n const defaultConfig =\n typeof plugin.config.default === 'function'\n ? plugin.config.default({ env })\n : plugin.config.default;\n\n const config = defaultsDeep(defaultConfig, userPluginConfig);\n try {\n plugin.config.validator(config);\n } catch (e) {\n if (e instanceof Error) {\n throw new Error(`Error regarding ${pluginName} config: ${e.message}`);\n }\n\n throw e;\n }\n plugin.config = config;\n }\n};\n\nexport default async function loadPlugins(strapi: Core.Strapi) {\n const plugins: Plugins = {};\n\n const enabledPlugins = await getEnabledPlugins(strapi);\n\n strapi.config.set('enabledPlugins', enabledPlugins);\n\n for (const pluginName of Object.keys(enabledPlugins)) {\n const enabledPlugin = enabledPlugins[pluginName];\n\n let serverEntrypointPath;\n let resolvedExport = './strapi-server.js';\n\n try {\n resolvedExport = (\n resolve.exports(enabledPlugin.packageInfo, 'strapi-server', {\n require: true,\n }) ?? './strapi-server.js'\n ).toString();\n } catch (e) {\n // no export map or missing strapi-server export => fallback to default\n }\n\n try {\n serverEntrypointPath = join(enabledPlugin.pathToPlugin, resolvedExport);\n } catch (e) {\n throw new Error(\n `Error loading the plugin ${pluginName} because ${pluginName} is not installed. Please either install the plugin or remove it's configuration.`\n );\n }\n\n // only load plugins with a server entrypoint\n if (!(await fse.pathExists(serverEntrypointPath))) {\n continue;\n }\n\n const pluginServer = loadConfigFile(serverEntrypointPath);\n plugins[pluginName] = {\n ...defaultPlugin,\n ...pluginServer,\n contentTypes: formatContentTypes(pluginName, pluginServer.contentTypes ?? {}),\n config: defaults(defaultPlugin.config, pluginServer.config),\n routes: pluginServer.routes ?? defaultPlugin.routes,\n };\n }\n\n // TODO: validate plugin format\n await applyUserConfig(plugins);\n await applyUserExtension(plugins);\n\n for (const pluginName of Object.keys(plugins)) {\n strapi.get('plugins').add(pluginName, plugins[pluginName]);\n }\n}\n\nconst formatContentTypes = (\n pluginName: string,\n contentTypes: Record<string, { schema: Struct.ContentTypeSchema }>\n) => {\n Object.values(contentTypes).forEach((definition) => {\n const { schema } = definition;\n\n Object.assign(schema, {\n plugin: pluginName,\n collectionName:\n schema.collectionName || `${pluginName}_${schema.info.singularName}`.toLowerCase(),\n globalId: getGlobalId(schema, pluginName),\n });\n });\n\n return contentTypes;\n};\n"],"names":["defaultPlugin","bootstrap","destroy","register","config","default","validator","routes","controllers","services","policies","middlewares","contentTypes","applyUserExtension","plugins","extensionsDir","strapi","dirs","dist","extensions","fse","pathExists","extendedSchemas","loadFiles","strapiServers","pluginName","Object","keys","plugin","ctName","extendedSchema","get","schema","strapiServer","applyUserConfig","userPluginsConfig","getUserPluginsConfig","userPluginConfig","getOr","defaultConfig","env","defaultsDeep","e","Error","message","loadPlugins","enabledPlugins","getEnabledPlugins","set","enabledPlugin","serverEntrypointPath","resolvedExport","resolve","exports","packageInfo","require","toString","join","pathToPlugin","pluginServer","loadConfigFile","formatContentTypes","defaults","add","values","forEach","definition","assign","collectionName","info","singularName","toLowerCase","globalId","getGlobalId"],"mappings":";;;;;;;;;;;AAiBA,MAAMA,aAAgB,GAAA;IACpBC,SAAa,CAAA,GAAA,EAAA;IACbC,OAAW,CAAA,GAAA,EAAA;IACXC,QAAY,CAAA,GAAA,EAAA;IACZC,MAAQ,EAAA;AACNC,QAAAA,OAAAA,EAAS,EAAC;QACVC,SAAa,CAAA,GAAA;AACf,KAAA;AACAC,IAAAA,MAAAA,EAAQ,EAAE;AACVC,IAAAA,WAAAA,EAAa,EAAC;AACdC,IAAAA,QAAAA,EAAU,EAAC;AACXC,IAAAA,QAAAA,EAAU,EAAC;AACXC,IAAAA,WAAAA,EAAa,EAAC;AACdC,IAAAA,YAAAA,EAAc;AAChB,CAAA;AAEA,MAAMC,qBAAqB,OAAOC,OAAAA,GAAAA;AAChC,IAAA,MAAMC,gBAAgBC,MAAOC,CAAAA,IAAI,CAACC,IAAI,CAACC,UAAU;AACjD,IAAA,IAAI,CAAE,MAAMC,GAAIC,CAAAA,UAAU,CAACN,aAAiB,CAAA,EAAA;AAC1C,QAAA;AACF;IAEA,MAAMO,eAAAA,GAAkB,MAAMC,SAAAA,CAAUR,aAAe,EAAA,iCAAA,CAAA;IACvD,MAAMS,aAAAA,GAAgB,MAAMD,SAAAA,CAAUR,aAAe,EAAA,qBAAA,CAAA;AAErD,IAAA,KAAK,MAAMU,UAAAA,IAAcC,MAAOC,CAAAA,IAAI,CAACb,OAAU,CAAA,CAAA;QAC7C,MAAMc,MAAAA,GAASd,OAAO,CAACW,UAAW,CAAA;;AAElC,QAAA,KAAK,MAAMI,MAAUH,IAAAA,MAAAA,CAAOC,IAAI,CAACC,MAAAA,CAAOhB,YAAY,CAAG,CAAA;AACrD,YAAA,MAAMkB,iBAAiBC,GAAI,CAAA;AAACN,gBAAAA,UAAAA;AAAY,gBAAA,eAAA;AAAiBI,gBAAAA,MAAAA;AAAQ,gBAAA;aAAS,EAAEP,eAAAA,CAAAA;AAC5E,YAAA,IAAIQ,cAAgB,EAAA;AAClBF,gBAAAA,MAAAA,CAAOhB,YAAY,CAACiB,MAAO,CAAA,CAACG,MAAM,GAAG;AACnC,oBAAA,GAAGJ,MAAOhB,CAAAA,YAAY,CAACiB,MAAAA,CAAO,CAACG,MAAM;AACrC,oBAAA,GAAGF;AACL,iBAAA;AACF;AACF;;AAEA,QAAA,MAAMG,eAAeF,GAAI,CAAA;AAACN,YAAAA,UAAAA;AAAY,YAAA;SAAgB,EAAED,aAAAA,CAAAA;AACxD,QAAA,IAAIS,YAAc,EAAA;AAChBnB,YAAAA,OAAO,CAACW,UAAAA,CAAW,GAAG,MAAMQ,YAAaL,CAAAA,MAAAA,CAAAA;AAC3C;AACF;AACF,CAAA;AAEA,MAAMM,kBAAkB,OAAOpB,OAAAA,GAAAA;AAC7B,IAAA,MAAMqB,oBAAoB,MAAMC,oBAAAA,EAAAA;AAEhC,IAAA,KAAK,MAAMX,UAAAA,IAAcC,MAAOC,CAAAA,IAAI,CAACb,OAAU,CAAA,CAAA;QAC7C,MAAMc,MAAAA,GAASd,OAAO,CAACW,UAAW,CAAA;QAClC,MAAMY,gBAAAA,GAAmBC,MAAM,EAAC,EAAG,CAAC,EAAEb,UAAAA,CAAW,OAAO,CAAC,EAAEU,iBAAAA,CAAAA;AAC3D,QAAA,MAAMI,aACJ,GAAA,OAAOX,MAAOxB,CAAAA,MAAM,CAACC,OAAO,KAAK,UAAA,GAC7BuB,MAAOxB,CAAAA,MAAM,CAACC,OAAO,CAAC;AAAEmC,YAAAA;SACxBZ,CAAAA,GAAAA,MAAAA,CAAOxB,MAAM,CAACC,OAAO;QAE3B,MAAMD,MAAAA,GAASqC,aAAaF,aAAeF,EAAAA,gBAAAA,CAAAA;QAC3C,IAAI;YACFT,MAAOxB,CAAAA,MAAM,CAACE,SAAS,CAACF,MAAAA,CAAAA;AAC1B,SAAA,CAAE,OAAOsC,CAAG,EAAA;AACV,YAAA,IAAIA,aAAaC,KAAO,EAAA;gBACtB,MAAM,IAAIA,KAAM,CAAA,CAAC,gBAAgB,EAAElB,UAAW,CAAA,SAAS,EAAEiB,CAAAA,CAAEE,OAAO,CAAC,CAAC,CAAA;AACtE;YAEA,MAAMF,CAAAA;AACR;AACAd,QAAAA,MAAAA,CAAOxB,MAAM,GAAGA,MAAAA;AAClB;AACF,CAAA;AAEe,eAAeyC,YAAY7B,OAAmB,EAAA;AAC3D,IAAA,MAAMF,UAAmB,EAAC;IAE1B,MAAMgC,cAAAA,GAAiB,MAAMC,iBAAkB/B,CAAAA,OAAAA,CAAAA;AAE/CA,IAAAA,OAAAA,CAAOZ,MAAM,CAAC4C,GAAG,CAAC,gBAAkBF,EAAAA,cAAAA,CAAAA;AAEpC,IAAA,KAAK,MAAMrB,UAAAA,IAAcC,MAAOC,CAAAA,IAAI,CAACmB,cAAiB,CAAA,CAAA;QACpD,MAAMG,aAAAA,GAAgBH,cAAc,CAACrB,UAAW,CAAA;QAEhD,IAAIyB,oBAAAA;AACJ,QAAA,IAAIC,cAAiB,GAAA,oBAAA;QAErB,IAAI;YACFA,cAAiB,GACfC,CAAAA,OAAQC,CAAAA,OAAO,CAACJ,aAAcK,CAAAA,WAAW,EAAE,eAAiB,EAAA;gBAC1DC,OAAS,EAAA;aACL,CAAA,IAAA,oBAAmB,EACzBC,QAAQ,EAAA;AACZ,SAAA,CAAE,OAAOd,CAAG,EAAA;;AAEZ;QAEA,IAAI;YACFQ,oBAAuBO,GAAAA,IAAAA,CAAKR,aAAcS,CAAAA,YAAY,EAAEP,cAAAA,CAAAA;AAC1D,SAAA,CAAE,OAAOT,CAAG,EAAA;YACV,MAAM,IAAIC,KACR,CAAA,CAAC,yBAAyB,EAAElB,WAAW,SAAS,EAAEA,UAAW,CAAA,iFAAiF,CAAC,CAAA;AAEnJ;;AAGA,QAAA,IAAI,CAAE,MAAML,GAAIC,CAAAA,UAAU,CAAC6B,oBAAwB,CAAA,EAAA;AACjD,YAAA;AACF;AAEA,QAAA,MAAMS,eAAeC,cAAeV,CAAAA,oBAAAA,CAAAA;QACpCpC,OAAO,CAACW,WAAW,GAAG;AACpB,YAAA,GAAGzB,aAAa;AAChB,YAAA,GAAG2D,YAAY;AACf/C,YAAAA,YAAAA,EAAciD,kBAAmBpC,CAAAA,UAAAA,EAAYkC,YAAa/C,CAAAA,YAAY,IAAI,EAAC,CAAA;AAC3ER,YAAAA,MAAAA,EAAQ0D,QAAS9D,CAAAA,aAAAA,CAAcI,MAAM,EAAEuD,aAAavD,MAAM,CAAA;AAC1DG,YAAAA,MAAAA,EAAQoD,YAAapD,CAAAA,MAAM,IAAIP,aAAAA,CAAcO;AAC/C,SAAA;AACF;;AAGA,IAAA,MAAM2B,eAAgBpB,CAAAA,OAAAA,CAAAA;AACtB,IAAA,MAAMD,kBAAmBC,CAAAA,OAAAA,CAAAA;AAEzB,IAAA,KAAK,MAAMW,UAAAA,IAAcC,MAAOC,CAAAA,IAAI,CAACb,OAAU,CAAA,CAAA;QAC7CE,OAAOe,CAAAA,GAAG,CAAC,SAAWgC,CAAAA,CAAAA,GAAG,CAACtC,UAAYX,EAAAA,OAAO,CAACW,UAAW,CAAA,CAAA;AAC3D;AACF;AAEA,MAAMoC,kBAAAA,GAAqB,CACzBpC,UACAb,EAAAA,YAAAA,GAAAA;AAEAc,IAAAA,MAAAA,CAAOsC,MAAM,CAACpD,YAAcqD,CAAAA,CAAAA,OAAO,CAAC,CAACC,UAAAA,GAAAA;QACnC,MAAM,EAAElC,MAAM,EAAE,GAAGkC,UAAAA;QAEnBxC,MAAOyC,CAAAA,MAAM,CAACnC,MAAQ,EAAA;YACpBJ,MAAQH,EAAAA,UAAAA;AACR2C,YAAAA,cAAAA,EACEpC,MAAOoC,CAAAA,cAAc,IAAI,CAAC,EAAE3C,UAAW,CAAA,CAAC,EAAEO,MAAAA,CAAOqC,IAAI,CAACC,YAAY,CAAC,CAAC,CAACC,WAAW,EAAA;AAClFC,YAAAA,QAAAA,EAAUC,YAAYzC,MAAQP,EAAAA,UAAAA;AAChC,SAAA,CAAA;AACF,KAAA,CAAA;IAEA,OAAOb,YAAAA;AACT,CAAA;;;;"}
@@ -1,25 +1,29 @@
1
- "use strict";
2
- const path = require("path");
3
- const fse = require("fs-extra");
4
- const strapiUtils = require("@strapi/utils");
5
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
6
- const fse__default = /* @__PURE__ */ _interopDefault(fse);
1
+ 'use strict';
2
+
3
+ var path = require('path');
4
+ var fse = require('fs-extra');
5
+ var strapiUtils = require('@strapi/utils');
6
+
7
+ // TODO:: allow folders with index.js inside for bigger policies
7
8
  async function loadPolicies(strapi) {
8
- const dir = strapi.dirs.dist.policies;
9
- if (!await fse__default.default.pathExists(dir)) {
10
- return;
11
- }
12
- const policies = {};
13
- const paths = await fse__default.default.readdir(dir, { withFileTypes: true });
14
- for (const fd of paths) {
15
- const { name } = fd;
16
- const fullPath = path.join(dir, name);
17
- if (fd.isFile() && path.extname(name) === ".js") {
18
- const key = path.basename(name, ".js");
19
- policies[key] = strapiUtils.importDefault(fullPath);
9
+ const dir = strapi.dirs.dist.policies;
10
+ if (!await fse.pathExists(dir)) {
11
+ return;
20
12
  }
21
- }
22
- strapi.get("policies").add(`global::`, policies);
13
+ const policies = {};
14
+ const paths = await fse.readdir(dir, {
15
+ withFileTypes: true
16
+ });
17
+ for (const fd of paths){
18
+ const { name } = fd;
19
+ const fullPath = path.join(dir, name);
20
+ if (fd.isFile() && path.extname(name) === '.js') {
21
+ const key = path.basename(name, '.js');
22
+ policies[key] = strapiUtils.importDefault(fullPath);
23
+ }
24
+ }
25
+ strapi.get('policies').add(`global::`, policies);
23
26
  }
27
+
24
28
  module.exports = loadPolicies;
25
29
  //# sourceMappingURL=policies.js.map