@strapi/core 0.0.0-experimental.a407f3bc8fb79a53cf7975140864526b6ddbac4b → 0.0.0-experimental.a65a85fdea97faae8679d3ffc5f9d79af61abd26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (751) hide show
  1. package/dist/Strapi.d.ts +49 -58
  2. package/dist/Strapi.d.ts.map +1 -1
  3. package/dist/Strapi.js +148 -208
  4. package/dist/Strapi.js.map +1 -1
  5. package/dist/Strapi.mjs +139 -200
  6. package/dist/Strapi.mjs.map +1 -1
  7. package/dist/configuration/config-loader.d.ts.map +1 -1
  8. package/dist/configuration/config-loader.js +9 -5
  9. package/dist/configuration/config-loader.js.map +1 -1
  10. package/dist/configuration/config-loader.mjs +9 -5
  11. package/dist/configuration/config-loader.mjs.map +1 -1
  12. package/dist/configuration/get-dirs.d.ts +10 -0
  13. package/dist/configuration/get-dirs.d.ts.map +1 -0
  14. package/dist/{utils → configuration}/get-dirs.js +3 -2
  15. package/dist/configuration/get-dirs.js.map +1 -0
  16. package/dist/{utils → configuration}/get-dirs.mjs +3 -2
  17. package/dist/configuration/get-dirs.mjs.map +1 -0
  18. package/dist/configuration/index.d.ts +4 -7
  19. package/dist/configuration/index.d.ts.map +1 -1
  20. package/dist/configuration/index.js +10 -8
  21. package/dist/configuration/index.js.map +1 -1
  22. package/dist/configuration/index.mjs +6 -5
  23. package/dist/configuration/index.mjs.map +1 -1
  24. package/dist/configuration/urls.d.ts +8 -0
  25. package/dist/configuration/urls.d.ts.map +1 -0
  26. package/dist/configuration/urls.js +68 -0
  27. package/dist/configuration/urls.js.map +1 -0
  28. package/dist/configuration/urls.mjs +66 -0
  29. package/dist/configuration/urls.mjs.map +1 -0
  30. package/dist/container.d.ts +2 -2
  31. package/dist/container.d.ts.map +1 -1
  32. package/dist/container.js.map +1 -1
  33. package/dist/container.mjs.map +1 -1
  34. package/dist/core-api/controller/collection-type.d.ts +3 -3
  35. package/dist/core-api/controller/collection-type.d.ts.map +1 -1
  36. package/dist/core-api/controller/collection-type.js +1 -0
  37. package/dist/core-api/controller/collection-type.js.map +1 -1
  38. package/dist/core-api/controller/collection-type.mjs +1 -0
  39. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  40. package/dist/core-api/controller/index.d.ts +3 -3
  41. package/dist/core-api/controller/index.d.ts.map +1 -1
  42. package/dist/core-api/controller/index.js +11 -6
  43. package/dist/core-api/controller/index.js.map +1 -1
  44. package/dist/core-api/controller/index.mjs +12 -7
  45. package/dist/core-api/controller/index.mjs.map +1 -1
  46. package/dist/core-api/controller/single-type.d.ts +3 -3
  47. package/dist/core-api/controller/single-type.d.ts.map +1 -1
  48. package/dist/core-api/controller/single-type.js.map +1 -1
  49. package/dist/core-api/controller/single-type.mjs.map +1 -1
  50. package/dist/core-api/controller/transform.d.ts +10 -9
  51. package/dist/core-api/controller/transform.d.ts.map +1 -1
  52. package/dist/core-api/controller/transform.js +19 -13
  53. package/dist/core-api/controller/transform.js.map +1 -1
  54. package/dist/core-api/controller/transform.mjs +19 -13
  55. package/dist/core-api/controller/transform.mjs.map +1 -1
  56. package/dist/core-api/routes/index.d.ts.map +1 -1
  57. package/dist/core-api/service/collection-type.d.ts +10 -10
  58. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  59. package/dist/core-api/service/collection-type.js +15 -5
  60. package/dist/core-api/service/collection-type.js.map +1 -1
  61. package/dist/core-api/service/collection-type.mjs +15 -5
  62. package/dist/core-api/service/collection-type.mjs.map +1 -1
  63. package/dist/core-api/service/index.d.ts +3 -3
  64. package/dist/core-api/service/index.d.ts.map +1 -1
  65. package/dist/core-api/service/index.js.map +1 -1
  66. package/dist/core-api/service/index.mjs.map +1 -1
  67. package/dist/core-api/service/single-type.d.ts +5 -5
  68. package/dist/core-api/service/single-type.d.ts.map +1 -1
  69. package/dist/core-api/service/single-type.js +12 -6
  70. package/dist/core-api/service/single-type.js.map +1 -1
  71. package/dist/core-api/service/single-type.mjs +12 -6
  72. package/dist/core-api/service/single-type.mjs.map +1 -1
  73. package/dist/domain/content-type/index.d.ts +1 -1
  74. package/dist/domain/content-type/index.d.ts.map +1 -1
  75. package/dist/domain/content-type/index.js +3 -0
  76. package/dist/domain/content-type/index.js.map +1 -1
  77. package/dist/domain/content-type/index.mjs +3 -0
  78. package/dist/domain/content-type/index.mjs.map +1 -1
  79. package/dist/domain/content-type/validator.d.ts.map +1 -1
  80. package/dist/domain/content-type/validator.js +1 -1
  81. package/dist/domain/content-type/validator.js.map +1 -1
  82. package/dist/domain/content-type/validator.mjs +2 -2
  83. package/dist/domain/content-type/validator.mjs.map +1 -1
  84. package/dist/domain/module/index.d.ts +24 -23
  85. package/dist/domain/module/index.d.ts.map +1 -1
  86. package/dist/domain/module/index.js +3 -3
  87. package/dist/domain/module/index.js.map +1 -1
  88. package/dist/domain/module/index.mjs +4 -4
  89. package/dist/domain/module/index.mjs.map +1 -1
  90. package/dist/ee/index.d.ts +4 -2
  91. package/dist/ee/index.d.ts.map +1 -1
  92. package/dist/ee/index.js.map +1 -1
  93. package/dist/ee/index.mjs.map +1 -1
  94. package/dist/ee/license.d.ts +2 -2
  95. package/dist/ee/license.d.ts.map +1 -1
  96. package/dist/ee/license.js +2 -1
  97. package/dist/ee/license.js.map +1 -1
  98. package/dist/ee/license.mjs +2 -1
  99. package/dist/ee/license.mjs.map +1 -1
  100. package/dist/factories.d.ts +10 -10
  101. package/dist/factories.d.ts.map +1 -1
  102. package/dist/factories.js +6 -2
  103. package/dist/factories.js.map +1 -1
  104. package/dist/factories.mjs +6 -2
  105. package/dist/factories.mjs.map +1 -1
  106. package/dist/index.d.ts +4 -2
  107. package/dist/index.d.ts.map +1 -1
  108. package/dist/index.js +25 -1
  109. package/dist/index.js.map +1 -1
  110. package/dist/index.mjs +27 -3
  111. package/dist/index.mjs.map +1 -1
  112. package/dist/loaders/admin.d.ts +2 -2
  113. package/dist/loaders/admin.d.ts.map +1 -1
  114. package/dist/loaders/admin.js +0 -1
  115. package/dist/loaders/admin.js.map +1 -1
  116. package/dist/loaders/admin.mjs +0 -1
  117. package/dist/loaders/admin.mjs.map +1 -1
  118. package/dist/loaders/apis.d.ts +2 -2
  119. package/dist/loaders/apis.d.ts.map +1 -1
  120. package/dist/loaders/apis.js +11 -11
  121. package/dist/loaders/apis.js.map +1 -1
  122. package/dist/loaders/apis.mjs +12 -12
  123. package/dist/loaders/apis.mjs.map +1 -1
  124. package/dist/loaders/components.d.ts +2 -2
  125. package/dist/loaders/components.d.ts.map +1 -1
  126. package/dist/loaders/components.js.map +1 -1
  127. package/dist/loaders/components.mjs.map +1 -1
  128. package/dist/loaders/index.d.ts +2 -2
  129. package/dist/loaders/index.d.ts.map +1 -1
  130. package/dist/loaders/index.js +0 -2
  131. package/dist/loaders/index.js.map +1 -1
  132. package/dist/loaders/index.mjs +0 -2
  133. package/dist/loaders/index.mjs.map +1 -1
  134. package/dist/loaders/middlewares.d.ts +2 -2
  135. package/dist/loaders/middlewares.d.ts.map +1 -1
  136. package/dist/loaders/middlewares.js.map +1 -1
  137. package/dist/loaders/middlewares.mjs.map +1 -1
  138. package/dist/loaders/plugins/get-enabled-plugins.d.ts +2 -2
  139. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  140. package/dist/loaders/plugins/get-enabled-plugins.js +8 -6
  141. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  142. package/dist/loaders/plugins/get-enabled-plugins.mjs +9 -7
  143. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  144. package/dist/loaders/plugins/index.d.ts +2 -2
  145. package/dist/loaders/plugins/index.d.ts.map +1 -1
  146. package/dist/loaders/plugins/index.js.map +1 -1
  147. package/dist/loaders/plugins/index.mjs.map +1 -1
  148. package/dist/loaders/policies.d.ts +2 -2
  149. package/dist/loaders/policies.d.ts.map +1 -1
  150. package/dist/loaders/policies.js.map +1 -1
  151. package/dist/loaders/policies.mjs.map +1 -1
  152. package/dist/loaders/sanitizers.d.ts +2 -2
  153. package/dist/loaders/sanitizers.d.ts.map +1 -1
  154. package/dist/loaders/sanitizers.js.map +1 -1
  155. package/dist/loaders/sanitizers.mjs.map +1 -1
  156. package/dist/loaders/src-index.d.ts +2 -2
  157. package/dist/loaders/src-index.d.ts.map +1 -1
  158. package/dist/loaders/src-index.js.map +1 -1
  159. package/dist/loaders/src-index.mjs.map +1 -1
  160. package/dist/loaders/validators.d.ts +2 -2
  161. package/dist/loaders/validators.d.ts.map +1 -1
  162. package/dist/loaders/validators.js.map +1 -1
  163. package/dist/loaders/validators.mjs.map +1 -1
  164. package/dist/middlewares/body.d.ts +4 -4
  165. package/dist/middlewares/body.d.ts.map +1 -1
  166. package/dist/middlewares/body.js +4 -4
  167. package/dist/middlewares/body.js.map +1 -1
  168. package/dist/middlewares/body.mjs +4 -4
  169. package/dist/middlewares/body.mjs.map +1 -1
  170. package/dist/middlewares/compression.d.ts +2 -2
  171. package/dist/middlewares/compression.d.ts.map +1 -1
  172. package/dist/middlewares/compression.js.map +1 -1
  173. package/dist/middlewares/compression.mjs.map +1 -1
  174. package/dist/middlewares/cors.d.ts +2 -2
  175. package/dist/middlewares/cors.d.ts.map +1 -1
  176. package/dist/middlewares/cors.js.map +1 -1
  177. package/dist/middlewares/cors.mjs.map +1 -1
  178. package/dist/middlewares/errors.d.ts +2 -2
  179. package/dist/middlewares/errors.d.ts.map +1 -1
  180. package/dist/middlewares/errors.js.map +1 -1
  181. package/dist/middlewares/errors.mjs.map +1 -1
  182. package/dist/middlewares/favicon.d.ts +2 -2
  183. package/dist/middlewares/favicon.d.ts.map +1 -1
  184. package/dist/middlewares/favicon.js.map +1 -1
  185. package/dist/middlewares/favicon.mjs.map +1 -1
  186. package/dist/middlewares/index.d.ts +2 -2
  187. package/dist/middlewares/index.d.ts.map +1 -1
  188. package/dist/middlewares/index.js.map +1 -1
  189. package/dist/middlewares/index.mjs.map +1 -1
  190. package/dist/middlewares/ip.d.ts +2 -2
  191. package/dist/middlewares/ip.d.ts.map +1 -1
  192. package/dist/middlewares/ip.js.map +1 -1
  193. package/dist/middlewares/ip.mjs.map +1 -1
  194. package/dist/middlewares/logger.d.ts +2 -2
  195. package/dist/middlewares/logger.d.ts.map +1 -1
  196. package/dist/middlewares/logger.js.map +1 -1
  197. package/dist/middlewares/logger.mjs.map +1 -1
  198. package/dist/middlewares/powered-by.d.ts +2 -2
  199. package/dist/middlewares/powered-by.d.ts.map +1 -1
  200. package/dist/middlewares/powered-by.js.map +1 -1
  201. package/dist/middlewares/powered-by.mjs.map +1 -1
  202. package/dist/middlewares/public.d.ts +2 -2
  203. package/dist/middlewares/public.d.ts.map +1 -1
  204. package/dist/middlewares/public.js +1 -1
  205. package/dist/middlewares/public.js.map +1 -1
  206. package/dist/middlewares/public.mjs +1 -1
  207. package/dist/middlewares/public.mjs.map +1 -1
  208. package/dist/middlewares/query.d.ts +2 -2
  209. package/dist/middlewares/query.d.ts.map +1 -1
  210. package/dist/middlewares/query.js.map +1 -1
  211. package/dist/middlewares/query.mjs.map +1 -1
  212. package/dist/middlewares/response-time.d.ts +2 -2
  213. package/dist/middlewares/response-time.d.ts.map +1 -1
  214. package/dist/middlewares/response-time.js.map +1 -1
  215. package/dist/middlewares/response-time.mjs.map +1 -1
  216. package/dist/middlewares/responses.d.ts +3 -3
  217. package/dist/middlewares/responses.d.ts.map +1 -1
  218. package/dist/middlewares/responses.js.map +1 -1
  219. package/dist/middlewares/responses.mjs.map +1 -1
  220. package/dist/middlewares/security.d.ts +2 -2
  221. package/dist/middlewares/security.d.ts.map +1 -1
  222. package/dist/middlewares/security.js +2 -2
  223. package/dist/middlewares/security.js.map +1 -1
  224. package/dist/middlewares/security.mjs +2 -2
  225. package/dist/middlewares/security.mjs.map +1 -1
  226. package/dist/middlewares/session.d.ts +2 -2
  227. package/dist/middlewares/session.d.ts.map +1 -1
  228. package/dist/middlewares/session.js.map +1 -1
  229. package/dist/middlewares/session.mjs.map +1 -1
  230. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +12 -0
  231. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -0
  232. package/dist/migrations/database/5.0.0-discard-drafts.js +49 -0
  233. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -0
  234. package/dist/migrations/database/5.0.0-discard-drafts.mjs +49 -0
  235. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -0
  236. package/dist/migrations/draft-publish.d.ts +17 -0
  237. package/dist/migrations/draft-publish.d.ts.map +1 -0
  238. package/dist/migrations/draft-publish.js +59 -0
  239. package/dist/migrations/draft-publish.js.map +1 -0
  240. package/dist/migrations/draft-publish.mjs +59 -0
  241. package/dist/migrations/draft-publish.mjs.map +1 -0
  242. package/dist/providers/admin.d.ts +3 -0
  243. package/dist/providers/admin.d.ts.map +1 -0
  244. package/dist/providers/admin.js +20 -0
  245. package/dist/providers/admin.js.map +1 -0
  246. package/dist/providers/admin.mjs +21 -0
  247. package/dist/providers/admin.mjs.map +1 -0
  248. package/dist/providers/coreStore.d.ts +3 -0
  249. package/dist/providers/coreStore.d.ts.map +1 -0
  250. package/dist/providers/coreStore.js +11 -0
  251. package/dist/providers/coreStore.js.map +1 -0
  252. package/dist/providers/coreStore.mjs +12 -0
  253. package/dist/providers/coreStore.mjs.map +1 -0
  254. package/dist/providers/cron.d.ts +3 -0
  255. package/dist/providers/cron.d.ts.map +1 -0
  256. package/dist/providers/cron.js +20 -0
  257. package/dist/providers/cron.js.map +1 -0
  258. package/dist/providers/cron.mjs +21 -0
  259. package/dist/providers/cron.mjs.map +1 -0
  260. package/dist/providers/index.d.ts +3 -0
  261. package/dist/providers/index.d.ts.map +1 -0
  262. package/dist/providers/index.js +11 -0
  263. package/dist/providers/index.js.map +1 -0
  264. package/dist/providers/index.mjs +11 -0
  265. package/dist/providers/index.mjs.map +1 -0
  266. package/dist/providers/provider.d.ts +9 -0
  267. package/dist/providers/provider.d.ts.map +1 -0
  268. package/dist/providers/provider.js +5 -0
  269. package/dist/providers/provider.js.map +1 -0
  270. package/dist/providers/provider.mjs +5 -0
  271. package/dist/providers/provider.mjs.map +1 -0
  272. package/dist/providers/registries.d.ts +3 -0
  273. package/dist/providers/registries.d.ts.map +1 -0
  274. package/dist/providers/registries.js +35 -0
  275. package/dist/providers/registries.js.map +1 -0
  276. package/dist/providers/registries.mjs +36 -0
  277. package/dist/providers/registries.mjs.map +1 -0
  278. package/dist/providers/telemetry.d.ts +3 -0
  279. package/dist/providers/telemetry.d.ts.map +1 -0
  280. package/dist/providers/telemetry.js +19 -0
  281. package/dist/providers/telemetry.js.map +1 -0
  282. package/dist/providers/telemetry.mjs +20 -0
  283. package/dist/providers/telemetry.mjs.map +1 -0
  284. package/dist/providers/webhooks.d.ts +3 -0
  285. package/dist/providers/webhooks.d.ts.map +1 -0
  286. package/dist/providers/webhooks.js +30 -0
  287. package/dist/providers/webhooks.js.map +1 -0
  288. package/dist/providers/webhooks.mjs +31 -0
  289. package/dist/providers/webhooks.mjs.map +1 -0
  290. package/dist/registries/apis.d.ts +2 -2
  291. package/dist/registries/apis.d.ts.map +1 -1
  292. package/dist/registries/apis.js.map +1 -1
  293. package/dist/registries/apis.mjs.map +1 -1
  294. package/dist/registries/components.d.ts +6 -6
  295. package/dist/registries/components.d.ts.map +1 -1
  296. package/dist/registries/components.js.map +1 -1
  297. package/dist/registries/components.mjs.map +1 -1
  298. package/dist/registries/content-types.d.ts +5 -5
  299. package/dist/registries/content-types.d.ts.map +1 -1
  300. package/dist/registries/content-types.js.map +1 -1
  301. package/dist/registries/content-types.mjs.map +1 -1
  302. package/dist/registries/controllers.d.ts +10 -10
  303. package/dist/registries/controllers.d.ts.map +1 -1
  304. package/dist/registries/controllers.js.map +1 -1
  305. package/dist/registries/controllers.mjs.map +1 -1
  306. package/dist/registries/custom-fields.d.ts +3 -3
  307. package/dist/registries/custom-fields.d.ts.map +1 -1
  308. package/dist/registries/custom-fields.js.map +1 -1
  309. package/dist/registries/custom-fields.mjs.map +1 -1
  310. package/dist/registries/index.d.ts +0 -1
  311. package/dist/registries/index.d.ts.map +1 -1
  312. package/dist/registries/middlewares.d.ts +6 -6
  313. package/dist/registries/middlewares.d.ts.map +1 -1
  314. package/dist/registries/middlewares.js.map +1 -1
  315. package/dist/registries/middlewares.mjs.map +1 -1
  316. package/dist/registries/modules.d.ts +2 -2
  317. package/dist/registries/modules.d.ts.map +1 -1
  318. package/dist/registries/modules.js.map +1 -1
  319. package/dist/registries/modules.mjs.map +1 -1
  320. package/dist/registries/plugins.d.ts +5 -5
  321. package/dist/registries/plugins.d.ts.map +1 -1
  322. package/dist/registries/plugins.js.map +1 -1
  323. package/dist/registries/plugins.mjs.map +1 -1
  324. package/dist/registries/policies.d.ts +23 -11
  325. package/dist/registries/policies.d.ts.map +1 -1
  326. package/dist/registries/policies.js +64 -18
  327. package/dist/registries/policies.js.map +1 -1
  328. package/dist/registries/policies.mjs +65 -19
  329. package/dist/registries/policies.mjs.map +1 -1
  330. package/dist/registries/services.d.ts +8 -8
  331. package/dist/registries/services.d.ts.map +1 -1
  332. package/dist/registries/services.js.map +1 -1
  333. package/dist/registries/services.mjs.map +1 -1
  334. package/dist/services/auth/index.d.ts +4 -4
  335. package/dist/services/auth/index.d.ts.map +1 -1
  336. package/dist/services/auth/index.js.map +1 -1
  337. package/dist/services/auth/index.mjs.map +1 -1
  338. package/dist/services/config.d.ts +3 -0
  339. package/dist/services/config.d.ts.map +1 -0
  340. package/dist/services/config.js +47 -0
  341. package/dist/services/config.js.map +1 -0
  342. package/dist/services/config.mjs +47 -0
  343. package/dist/services/config.mjs.map +1 -0
  344. package/dist/services/content-api/index.d.ts +21 -3
  345. package/dist/services/content-api/index.d.ts.map +1 -1
  346. package/dist/services/content-api/index.js +28 -2
  347. package/dist/services/content-api/index.js.map +1 -1
  348. package/dist/services/content-api/index.mjs +28 -2
  349. package/dist/services/content-api/index.mjs.map +1 -1
  350. package/dist/services/content-api/permissions/index.d.ts +3 -3
  351. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  352. package/dist/services/content-api/permissions/index.js +1 -1
  353. package/dist/services/content-api/permissions/index.js.map +1 -1
  354. package/dist/services/content-api/permissions/index.mjs +1 -1
  355. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  356. package/dist/services/core-store.d.ts.map +1 -1
  357. package/dist/services/cron.d.ts +2 -2
  358. package/dist/services/cron.d.ts.map +1 -1
  359. package/dist/services/cron.js.map +1 -1
  360. package/dist/services/cron.mjs.map +1 -1
  361. package/dist/services/custom-fields.d.ts +2 -2
  362. package/dist/services/custom-fields.d.ts.map +1 -1
  363. package/dist/services/custom-fields.js.map +1 -1
  364. package/dist/services/custom-fields.mjs.map +1 -1
  365. package/dist/services/document-service/attributes/index.d.ts +6 -0
  366. package/dist/services/document-service/attributes/index.d.ts.map +1 -0
  367. package/dist/services/{entity-service → document-service}/attributes/index.js +5 -5
  368. package/dist/services/document-service/attributes/index.js.map +1 -0
  369. package/dist/services/{entity-service → document-service}/attributes/index.mjs +5 -5
  370. package/dist/services/document-service/attributes/index.mjs.map +1 -0
  371. package/dist/services/document-service/attributes/transforms.d.ts +10 -0
  372. package/dist/services/document-service/attributes/transforms.d.ts.map +1 -0
  373. package/dist/services/document-service/attributes/transforms.js.map +1 -0
  374. package/dist/services/document-service/attributes/transforms.mjs.map +1 -0
  375. package/dist/services/document-service/common.d.ts +2 -2
  376. package/dist/services/document-service/common.d.ts.map +1 -1
  377. package/dist/services/document-service/common.js.map +1 -1
  378. package/dist/services/document-service/common.mjs.map +1 -1
  379. package/dist/services/document-service/components.d.ts +25 -1
  380. package/dist/services/document-service/components.d.ts.map +1 -1
  381. package/dist/services/{entity-service → document-service}/components.js +46 -142
  382. package/dist/services/document-service/components.js.map +1 -0
  383. package/dist/services/{entity-service → document-service}/components.mjs +48 -144
  384. package/dist/services/document-service/components.mjs.map +1 -0
  385. package/dist/services/document-service/draft-and-publish.d.ts +9 -23
  386. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  387. package/dist/services/document-service/draft-and-publish.js +37 -9
  388. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  389. package/dist/services/document-service/draft-and-publish.mjs +38 -10
  390. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  391. package/dist/services/document-service/entries.d.ts +10 -0
  392. package/dist/services/document-service/entries.d.ts.map +1 -0
  393. package/dist/services/document-service/entries.js +95 -0
  394. package/dist/services/document-service/entries.js.map +1 -0
  395. package/dist/services/document-service/entries.mjs +95 -0
  396. package/dist/services/document-service/entries.mjs.map +1 -0
  397. package/dist/services/document-service/index.d.ts +2 -4
  398. package/dist/services/document-service/index.d.ts.map +1 -1
  399. package/dist/services/document-service/index.js +21 -8
  400. package/dist/services/document-service/index.js.map +1 -1
  401. package/dist/services/document-service/index.mjs +17 -4
  402. package/dist/services/document-service/index.mjs.map +1 -1
  403. package/dist/services/document-service/internationalization.d.ts +5 -5
  404. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  405. package/dist/services/document-service/internationalization.js.map +1 -1
  406. package/dist/services/document-service/internationalization.mjs.map +1 -1
  407. package/dist/services/document-service/middlewares/errors.d.ts +6 -0
  408. package/dist/services/document-service/middlewares/errors.d.ts.map +1 -0
  409. package/dist/services/document-service/middlewares/errors.js +25 -0
  410. package/dist/services/document-service/middlewares/errors.js.map +1 -0
  411. package/dist/services/document-service/middlewares/errors.mjs +25 -0
  412. package/dist/services/document-service/middlewares/errors.mjs.map +1 -0
  413. package/dist/services/document-service/middlewares/index.d.ts +3 -0
  414. package/dist/services/document-service/middlewares/index.d.ts.map +1 -0
  415. package/dist/services/document-service/middlewares/middleware-manager.d.ts +10 -0
  416. package/dist/services/document-service/middlewares/middleware-manager.d.ts.map +1 -0
  417. package/dist/services/document-service/{middlewares.js → middlewares/middleware-manager.js} +9 -6
  418. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -0
  419. package/dist/services/document-service/{middlewares.mjs → middlewares/middleware-manager.mjs} +9 -6
  420. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -0
  421. package/dist/services/document-service/params.d.ts +3 -1
  422. package/dist/services/document-service/params.d.ts.map +1 -1
  423. package/dist/services/{entity-service → document-service}/params.js +1 -1
  424. package/dist/services/document-service/params.js.map +1 -0
  425. package/dist/services/{entity-service → document-service}/params.mjs +1 -1
  426. package/dist/services/document-service/params.mjs.map +1 -0
  427. package/dist/services/document-service/repository.d.ts +3 -0
  428. package/dist/services/document-service/repository.d.ts.map +1 -0
  429. package/dist/services/document-service/repository.js +250 -0
  430. package/dist/services/document-service/repository.js.map +1 -0
  431. package/dist/services/document-service/repository.mjs +250 -0
  432. package/dist/services/document-service/repository.mjs.map +1 -0
  433. package/dist/services/document-service/transform/data.d.ts.map +1 -1
  434. package/dist/services/document-service/transform/data.js +4 -2
  435. package/dist/services/document-service/transform/data.js.map +1 -1
  436. package/dist/services/document-service/transform/data.mjs +4 -2
  437. package/dist/services/document-service/transform/data.mjs.map +1 -1
  438. package/dist/services/document-service/transform/fields.d.ts +2 -2
  439. package/dist/services/document-service/transform/fields.d.ts.map +1 -1
  440. package/dist/services/document-service/transform/fields.js.map +1 -1
  441. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  442. package/dist/services/document-service/transform/id-map.d.ts +4 -4
  443. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  444. package/dist/services/document-service/transform/id-map.js +15 -9
  445. package/dist/services/document-service/transform/id-map.js.map +1 -1
  446. package/dist/services/document-service/transform/id-map.mjs +16 -10
  447. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  448. package/dist/services/document-service/transform/id-transform.d.ts +4 -18
  449. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  450. package/dist/services/document-service/transform/id-transform.js +18 -12
  451. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  452. package/dist/services/document-service/transform/id-transform.mjs +18 -12
  453. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  454. package/dist/services/document-service/transform/populate.d.ts +5 -2
  455. package/dist/services/document-service/transform/populate.d.ts.map +1 -1
  456. package/dist/services/document-service/transform/populate.js +1 -1
  457. package/dist/services/document-service/transform/populate.js.map +1 -1
  458. package/dist/services/document-service/transform/populate.mjs +1 -1
  459. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  460. package/dist/services/document-service/transform/query.d.ts +5 -0
  461. package/dist/services/document-service/transform/query.d.ts.map +1 -0
  462. package/dist/services/document-service/transform/query.js +9 -0
  463. package/dist/services/document-service/transform/query.js.map +1 -0
  464. package/dist/services/document-service/transform/query.mjs +9 -0
  465. package/dist/services/document-service/transform/query.mjs.map +1 -0
  466. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +8 -7
  467. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  468. package/dist/services/document-service/transform/relations/extract/data-ids.js +43 -68
  469. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  470. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +43 -68
  471. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  472. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts +9 -5
  473. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  474. package/dist/services/document-service/transform/relations/transform/data-ids.js +61 -105
  475. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  476. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +62 -106
  477. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  478. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts +9 -0
  479. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts.map +1 -0
  480. package/dist/services/document-service/transform/relations/transform/default-locale.js +32 -0
  481. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -0
  482. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +32 -0
  483. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -0
  484. package/dist/services/document-service/transform/relations/utils/dp.d.ts +10 -0
  485. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -0
  486. package/dist/services/document-service/transform/relations/utils/dp.js +30 -0
  487. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -0
  488. package/dist/services/document-service/transform/relations/utils/dp.mjs +30 -0
  489. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -0
  490. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +6 -6
  491. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  492. package/dist/services/document-service/transform/relations/utils/i18n.js +3 -9
  493. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  494. package/dist/services/document-service/transform/relations/utils/i18n.mjs +3 -9
  495. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  496. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts +6 -0
  497. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -0
  498. package/dist/services/document-service/transform/relations/utils/map-relation.js +87 -0
  499. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -0
  500. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +87 -0
  501. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -0
  502. package/dist/services/document-service/transform/relations/utils/types.d.ts +10 -1
  503. package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -1
  504. package/dist/services/document-service/transform/types.d.ts +4 -4
  505. package/dist/services/document-service/transform/types.d.ts.map +1 -1
  506. package/dist/services/document-service/utils/populate.d.ts +9 -2
  507. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  508. package/dist/services/document-service/utils/populate.js +5 -5
  509. package/dist/services/document-service/utils/populate.js.map +1 -1
  510. package/dist/services/document-service/utils/populate.mjs +5 -5
  511. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  512. package/dist/services/entity-service/index.d.ts +4 -6
  513. package/dist/services/entity-service/index.d.ts.map +1 -1
  514. package/dist/services/entity-service/index.js +44 -203
  515. package/dist/services/entity-service/index.js.map +1 -1
  516. package/dist/services/entity-service/index.mjs +38 -197
  517. package/dist/services/entity-service/index.mjs.map +1 -1
  518. package/dist/services/entity-validator/index.d.ts +2 -2
  519. package/dist/services/entity-validator/index.d.ts.map +1 -1
  520. package/dist/services/entity-validator/index.js +101 -90
  521. package/dist/services/entity-validator/index.js.map +1 -1
  522. package/dist/services/entity-validator/index.mjs +101 -90
  523. package/dist/services/entity-validator/index.mjs.map +1 -1
  524. package/dist/services/entity-validator/validators.d.ts +18 -18
  525. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  526. package/dist/services/entity-validator/validators.js +6 -1
  527. package/dist/services/entity-validator/validators.js.map +1 -1
  528. package/dist/services/entity-validator/validators.mjs +6 -1
  529. package/dist/services/entity-validator/validators.mjs.map +1 -1
  530. package/dist/services/features.d.ts +3 -3
  531. package/dist/services/features.d.ts.map +1 -1
  532. package/dist/services/features.js.map +1 -1
  533. package/dist/services/features.mjs.map +1 -1
  534. package/dist/services/fs.d.ts +2 -2
  535. package/dist/services/fs.d.ts.map +1 -1
  536. package/dist/services/fs.js.map +1 -1
  537. package/dist/services/fs.mjs.map +1 -1
  538. package/dist/services/metrics/admin-user-hash.d.ts +2 -2
  539. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  540. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  541. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  542. package/dist/services/metrics/index.d.ts +2 -2
  543. package/dist/services/metrics/index.d.ts.map +1 -1
  544. package/dist/services/metrics/index.js.map +1 -1
  545. package/dist/services/metrics/index.mjs.map +1 -1
  546. package/dist/services/metrics/middleware.d.ts +2 -2
  547. package/dist/services/metrics/middleware.d.ts.map +1 -1
  548. package/dist/services/metrics/middleware.js.map +1 -1
  549. package/dist/services/metrics/middleware.mjs.map +1 -1
  550. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  551. package/dist/services/metrics/rate-limiter.js.map +1 -1
  552. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  553. package/dist/services/metrics/sender.d.ts +3 -3
  554. package/dist/services/metrics/sender.d.ts.map +1 -1
  555. package/dist/services/metrics/sender.js.map +1 -1
  556. package/dist/services/metrics/sender.mjs.map +1 -1
  557. package/dist/services/query-params.d.ts +7 -0
  558. package/dist/services/query-params.d.ts.map +1 -0
  559. package/dist/services/query-params.js +12 -0
  560. package/dist/services/query-params.js.map +1 -0
  561. package/dist/services/query-params.mjs +13 -0
  562. package/dist/services/query-params.mjs.map +1 -0
  563. package/dist/services/reloader.d.ts +7 -0
  564. package/dist/services/reloader.d.ts.map +1 -0
  565. package/dist/services/reloader.js +36 -0
  566. package/dist/services/reloader.js.map +1 -0
  567. package/dist/services/reloader.mjs +36 -0
  568. package/dist/services/reloader.mjs.map +1 -0
  569. package/dist/services/server/admin-api.d.ts +3 -3
  570. package/dist/services/server/admin-api.d.ts.map +1 -1
  571. package/dist/services/server/admin-api.js.map +1 -1
  572. package/dist/services/server/admin-api.mjs.map +1 -1
  573. package/dist/services/server/api.d.ts +3 -3
  574. package/dist/services/server/api.d.ts.map +1 -1
  575. package/dist/services/server/api.js.map +1 -1
  576. package/dist/services/server/api.mjs.map +1 -1
  577. package/dist/services/server/compose-endpoint.d.ts +2 -2
  578. package/dist/services/server/compose-endpoint.d.ts.map +1 -1
  579. package/dist/services/server/compose-endpoint.js +1 -2
  580. package/dist/services/server/compose-endpoint.js.map +1 -1
  581. package/dist/services/server/compose-endpoint.mjs +2 -3
  582. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  583. package/dist/services/server/content-api.d.ts +3 -3
  584. package/dist/services/server/content-api.d.ts.map +1 -1
  585. package/dist/services/server/content-api.js.map +1 -1
  586. package/dist/services/server/content-api.mjs.map +1 -1
  587. package/dist/services/server/http-server.d.ts +2 -2
  588. package/dist/services/server/http-server.d.ts.map +1 -1
  589. package/dist/services/server/http-server.js.map +1 -1
  590. package/dist/services/server/http-server.mjs.map +1 -1
  591. package/dist/services/server/index.d.ts +2 -2
  592. package/dist/services/server/index.d.ts.map +1 -1
  593. package/dist/services/server/index.js +1 -2
  594. package/dist/services/server/index.js.map +1 -1
  595. package/dist/services/server/index.mjs +1 -2
  596. package/dist/services/server/index.mjs.map +1 -1
  597. package/dist/services/server/koa.d.ts.map +1 -1
  598. package/dist/services/server/koa.js +1 -1
  599. package/dist/services/server/koa.js.map +1 -1
  600. package/dist/services/server/koa.mjs +1 -1
  601. package/dist/services/server/koa.mjs.map +1 -1
  602. package/dist/services/server/middleware.d.ts +4 -4
  603. package/dist/services/server/middleware.d.ts.map +1 -1
  604. package/dist/services/server/middleware.js.map +1 -1
  605. package/dist/services/server/middleware.mjs.map +1 -1
  606. package/dist/services/server/policy.d.ts +3 -3
  607. package/dist/services/server/policy.d.ts.map +1 -1
  608. package/dist/services/server/policy.js +4 -4
  609. package/dist/services/server/policy.js.map +1 -1
  610. package/dist/services/server/policy.mjs +4 -4
  611. package/dist/services/server/policy.mjs.map +1 -1
  612. package/dist/services/server/register-middlewares.d.ts +2 -2
  613. package/dist/services/server/register-middlewares.d.ts.map +1 -1
  614. package/dist/services/server/register-middlewares.js.map +1 -1
  615. package/dist/services/server/register-middlewares.mjs.map +1 -1
  616. package/dist/services/server/register-routes.d.ts +2 -2
  617. package/dist/services/server/register-routes.d.ts.map +1 -1
  618. package/dist/services/server/register-routes.js +3 -3
  619. package/dist/services/server/register-routes.js.map +1 -1
  620. package/dist/services/server/register-routes.mjs +3 -3
  621. package/dist/services/server/register-routes.mjs.map +1 -1
  622. package/dist/services/server/routing.d.ts +5 -5
  623. package/dist/services/server/routing.d.ts.map +1 -1
  624. package/dist/services/server/routing.js.map +1 -1
  625. package/dist/services/server/routing.mjs.map +1 -1
  626. package/dist/services/utils/dynamic-zones.d.ts.map +1 -1
  627. package/dist/services/utils/dynamic-zones.js +2 -1
  628. package/dist/services/utils/dynamic-zones.js.map +1 -1
  629. package/dist/services/utils/dynamic-zones.mjs +2 -1
  630. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  631. package/dist/services/webhook-runner.js.map +1 -1
  632. package/dist/services/webhook-runner.mjs.map +1 -1
  633. package/dist/services/webhook-store.d.ts.map +1 -1
  634. package/dist/services/webhook-store.js +5 -6
  635. package/dist/services/webhook-store.js.map +1 -1
  636. package/dist/services/webhook-store.mjs +5 -6
  637. package/dist/services/webhook-store.mjs.map +1 -1
  638. package/dist/utils/convert-custom-field-type.d.ts +2 -2
  639. package/dist/utils/convert-custom-field-type.d.ts.map +1 -1
  640. package/dist/utils/convert-custom-field-type.js.map +1 -1
  641. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  642. package/dist/utils/fetch.d.ts +3 -3
  643. package/dist/utils/fetch.d.ts.map +1 -1
  644. package/dist/utils/fetch.js.map +1 -1
  645. package/dist/utils/fetch.mjs.map +1 -1
  646. package/dist/utils/index.d.ts +2 -1
  647. package/dist/utils/index.d.ts.map +1 -1
  648. package/dist/utils/is-initialized.d.ts +2 -2
  649. package/dist/utils/is-initialized.d.ts.map +1 -1
  650. package/dist/utils/is-initialized.js +1 -1
  651. package/dist/utils/is-initialized.js.map +1 -1
  652. package/dist/utils/is-initialized.mjs +1 -1
  653. package/dist/utils/is-initialized.mjs.map +1 -1
  654. package/dist/utils/load-config-file.js +1 -1
  655. package/dist/utils/load-config-file.js.map +1 -1
  656. package/dist/utils/load-config-file.mjs +2 -2
  657. package/dist/utils/load-config-file.mjs.map +1 -1
  658. package/dist/utils/load-files.d.ts.map +1 -1
  659. package/dist/utils/open-browser.d.ts +2 -2
  660. package/dist/utils/open-browser.d.ts.map +1 -1
  661. package/dist/utils/open-browser.js.map +1 -1
  662. package/dist/utils/open-browser.mjs.map +1 -1
  663. package/dist/utils/resolve-working-dirs.d.ts +19 -0
  664. package/dist/utils/resolve-working-dirs.d.ts.map +1 -0
  665. package/dist/utils/resolve-working-dirs.js +13 -0
  666. package/dist/utils/resolve-working-dirs.js.map +1 -0
  667. package/dist/utils/resolve-working-dirs.mjs +11 -0
  668. package/dist/utils/resolve-working-dirs.mjs.map +1 -0
  669. package/dist/utils/signals.d.ts +2 -2
  670. package/dist/utils/signals.d.ts.map +1 -1
  671. package/dist/utils/signals.js.map +1 -1
  672. package/dist/utils/signals.mjs.map +1 -1
  673. package/dist/utils/startup-logger.d.ts +2 -2
  674. package/dist/utils/startup-logger.d.ts.map +1 -1
  675. package/dist/utils/startup-logger.js.map +1 -1
  676. package/dist/utils/startup-logger.mjs.map +1 -1
  677. package/dist/utils/transform-content-types-to-models.d.ts +54 -99
  678. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  679. package/dist/utils/transform-content-types-to-models.js +95 -57
  680. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  681. package/dist/utils/transform-content-types-to-models.mjs +95 -57
  682. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  683. package/dist/utils/update-notifier/index.d.ts +2 -7
  684. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  685. package/dist/utils/update-notifier/index.js +11 -14
  686. package/dist/utils/update-notifier/index.js.map +1 -1
  687. package/dist/utils/update-notifier/index.mjs +11 -14
  688. package/dist/utils/update-notifier/index.mjs.map +1 -1
  689. package/package.json +29 -27
  690. package/dist/registries/config.d.ts +0 -4
  691. package/dist/registries/config.d.ts.map +0 -1
  692. package/dist/registries/config.js +0 -23
  693. package/dist/registries/config.js.map +0 -1
  694. package/dist/registries/config.mjs +0 -22
  695. package/dist/registries/config.mjs.map +0 -1
  696. package/dist/services/document-service/document-engine.d.ts +0 -8
  697. package/dist/services/document-service/document-engine.d.ts.map +0 -1
  698. package/dist/services/document-service/document-engine.js +0 -241
  699. package/dist/services/document-service/document-engine.js.map +0 -1
  700. package/dist/services/document-service/document-engine.mjs +0 -242
  701. package/dist/services/document-service/document-engine.mjs.map +0 -1
  702. package/dist/services/document-service/middlewares.d.ts +0 -8
  703. package/dist/services/document-service/middlewares.d.ts.map +0 -1
  704. package/dist/services/document-service/middlewares.js.map +0 -1
  705. package/dist/services/document-service/middlewares.mjs.map +0 -1
  706. package/dist/services/document-service/repositories/content-type.d.ts +0 -3
  707. package/dist/services/document-service/repositories/content-type.d.ts.map +0 -1
  708. package/dist/services/document-service/repositories/content-type.js +0 -139
  709. package/dist/services/document-service/repositories/content-type.js.map +0 -1
  710. package/dist/services/document-service/repositories/content-type.mjs +0 -139
  711. package/dist/services/document-service/repositories/content-type.mjs.map +0 -1
  712. package/dist/services/document-service/transform/filters.d.ts +0 -3
  713. package/dist/services/document-service/transform/filters.d.ts.map +0 -1
  714. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts +0 -4
  715. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts.map +0 -1
  716. package/dist/services/document-service/transform/relations/utils/data.js +0 -12
  717. package/dist/services/document-service/transform/relations/utils/data.js.map +0 -1
  718. package/dist/services/document-service/transform/relations/utils/data.mjs +0 -12
  719. package/dist/services/document-service/transform/relations/utils/data.mjs.map +0 -1
  720. package/dist/services/document-service/transform/sort.d.ts +0 -5
  721. package/dist/services/document-service/transform/sort.d.ts.map +0 -1
  722. package/dist/services/document-service/transform/utils.d.ts +0 -9
  723. package/dist/services/document-service/transform/utils.d.ts.map +0 -1
  724. package/dist/services/entity-service/attributes/index.d.ts +0 -6
  725. package/dist/services/entity-service/attributes/index.d.ts.map +0 -1
  726. package/dist/services/entity-service/attributes/index.js.map +0 -1
  727. package/dist/services/entity-service/attributes/index.mjs.map +0 -1
  728. package/dist/services/entity-service/attributes/transforms.d.ts +0 -10
  729. package/dist/services/entity-service/attributes/transforms.d.ts.map +0 -1
  730. package/dist/services/entity-service/attributes/transforms.js.map +0 -1
  731. package/dist/services/entity-service/attributes/transforms.mjs.map +0 -1
  732. package/dist/services/entity-service/components.d.ts +0 -23
  733. package/dist/services/entity-service/components.d.ts.map +0 -1
  734. package/dist/services/entity-service/components.js.map +0 -1
  735. package/dist/services/entity-service/components.mjs.map +0 -1
  736. package/dist/services/entity-service/params.d.ts +0 -8
  737. package/dist/services/entity-service/params.d.ts.map +0 -1
  738. package/dist/services/entity-service/params.js.map +0 -1
  739. package/dist/services/entity-service/params.mjs.map +0 -1
  740. package/dist/services/utils/upload-files.d.ts +0 -8
  741. package/dist/services/utils/upload-files.d.ts.map +0 -1
  742. package/dist/services/utils/upload-files.js +0 -64
  743. package/dist/services/utils/upload-files.js.map +0 -1
  744. package/dist/services/utils/upload-files.mjs +0 -63
  745. package/dist/services/utils/upload-files.mjs.map +0 -1
  746. package/dist/utils/get-dirs.d.ts +0 -9
  747. package/dist/utils/get-dirs.d.ts.map +0 -1
  748. package/dist/utils/get-dirs.js.map +0 -1
  749. package/dist/utils/get-dirs.mjs.map +0 -1
  750. /package/dist/services/{entity-service → document-service}/attributes/transforms.js +0 -0
  751. /package/dist/services/{entity-service → document-service}/attributes/transforms.mjs +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/loaders/index.ts"],"sourcesContent":["import type { Strapi } from '@strapi/types';\n\nimport loadSrcIndex from './src-index';\nimport loadAPIs from './apis';\nimport loadMiddlewares from './middlewares';\nimport loadComponents from './components';\nimport loadPolicies from './policies';\nimport loadPlugins from './plugins';\nimport loadAdmin from './admin';\nimport loadSanitizers from './sanitizers';\nimport loadValidators from './validators';\n\nexport async function loadApplicationContext(strapi: Strapi) {\n await Promise.all([\n loadSrcIndex(strapi),\n loadSanitizers(strapi),\n loadValidators(strapi),\n loadPlugins(strapi),\n loadAdmin(strapi),\n loadAPIs(strapi),\n loadComponents(strapi),\n loadMiddlewares(strapi),\n loadPolicies(strapi),\n ]);\n}\n"],"names":["loadSrcIndex","loadSanitizers","loadValidators","loadPlugins","loadAdmin","loadAPIs","loadComponents","loadMiddlewares","loadPolicies"],"mappings":";;;;;;;;;;;AAYA,eAAsB,uBAAuB,QAAgB;AAC3D,QAAM,QAAQ,IAAI;AAAA,IAChBA,SAAa,MAAM;AAAA,IACnBC,WAAe,MAAM;AAAA,IACrBC,WAAe,MAAM;AAAA,IACrBC,MAAY,MAAM;AAAA,IAClBC,MAAU,MAAM;AAAA,IAChBC,KAAS,MAAM;AAAA,IACfC,WAAe,MAAM;AAAA,IACrBC,YAAgB,MAAM;AAAA,IACtBC,SAAa,MAAM;AAAA,EAAA,CACpB;AACH;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/loaders/index.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nimport loadSrcIndex from './src-index';\nimport loadAPIs from './apis';\nimport loadMiddlewares from './middlewares';\nimport loadComponents from './components';\nimport loadPolicies from './policies';\nimport loadPlugins from './plugins';\nimport loadSanitizers from './sanitizers';\nimport loadValidators from './validators';\n\nexport async function loadApplicationContext(strapi: Core.Strapi) {\n await Promise.all([\n loadSrcIndex(strapi),\n loadSanitizers(strapi),\n loadValidators(strapi),\n loadPlugins(strapi),\n loadAPIs(strapi),\n loadComponents(strapi),\n loadMiddlewares(strapi),\n loadPolicies(strapi),\n ]);\n}\n"],"names":["loadSrcIndex","loadSanitizers","loadValidators","loadPlugins","loadAPIs","loadComponents","loadMiddlewares","loadPolicies"],"mappings":";;;;;;;;;;AAWA,eAAsB,uBAAuB,QAAqB;AAChE,QAAM,QAAQ,IAAI;AAAA,IAChBA,SAAa,MAAM;AAAA,IACnBC,WAAe,MAAM;AAAA,IACrBC,WAAe,MAAM;AAAA,IACrBC,MAAY,MAAM;AAAA,IAClBC,KAAS,MAAM;AAAA,IACfC,WAAe,MAAM;AAAA,IACrBC,YAAgB,MAAM;AAAA,IACtBC,SAAa,MAAM;AAAA,EAAA,CACpB;AACH;;"}
@@ -4,7 +4,6 @@ import loadMiddlewares from "./middlewares.mjs";
4
4
  import loadComponents from "./components.mjs";
5
5
  import loadPolicies from "./policies.mjs";
6
6
  import loadPlugins from "./plugins/index.mjs";
7
- import loadAdmin from "./admin.mjs";
8
7
  import loadSanitizers from "./sanitizers.mjs";
9
8
  import loadValidators from "./validators.mjs";
10
9
  async function loadApplicationContext(strapi) {
@@ -13,7 +12,6 @@ async function loadApplicationContext(strapi) {
13
12
  loadSanitizers(strapi),
14
13
  loadValidators(strapi),
15
14
  loadPlugins(strapi),
16
- loadAdmin(strapi),
17
15
  loadAPIs(strapi),
18
16
  loadComponents(strapi),
19
17
  loadMiddlewares(strapi),
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/loaders/index.ts"],"sourcesContent":["import type { Strapi } from '@strapi/types';\n\nimport loadSrcIndex from './src-index';\nimport loadAPIs from './apis';\nimport loadMiddlewares from './middlewares';\nimport loadComponents from './components';\nimport loadPolicies from './policies';\nimport loadPlugins from './plugins';\nimport loadAdmin from './admin';\nimport loadSanitizers from './sanitizers';\nimport loadValidators from './validators';\n\nexport async function loadApplicationContext(strapi: Strapi) {\n await Promise.all([\n loadSrcIndex(strapi),\n loadSanitizers(strapi),\n loadValidators(strapi),\n loadPlugins(strapi),\n loadAdmin(strapi),\n loadAPIs(strapi),\n loadComponents(strapi),\n loadMiddlewares(strapi),\n loadPolicies(strapi),\n ]);\n}\n"],"names":[],"mappings":";;;;;;;;;AAYA,eAAsB,uBAAuB,QAAgB;AAC3D,QAAM,QAAQ,IAAI;AAAA,IAChB,aAAa,MAAM;AAAA,IACnB,eAAe,MAAM;AAAA,IACrB,eAAe,MAAM;AAAA,IACrB,YAAY,MAAM;AAAA,IAClB,UAAU,MAAM;AAAA,IAChB,SAAS,MAAM;AAAA,IACf,eAAe,MAAM;AAAA,IACrB,gBAAgB,MAAM;AAAA,IACtB,aAAa,MAAM;AAAA,EAAA,CACpB;AACH;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/loaders/index.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nimport loadSrcIndex from './src-index';\nimport loadAPIs from './apis';\nimport loadMiddlewares from './middlewares';\nimport loadComponents from './components';\nimport loadPolicies from './policies';\nimport loadPlugins from './plugins';\nimport loadSanitizers from './sanitizers';\nimport loadValidators from './validators';\n\nexport async function loadApplicationContext(strapi: Core.Strapi) {\n await Promise.all([\n loadSrcIndex(strapi),\n loadSanitizers(strapi),\n loadValidators(strapi),\n loadPlugins(strapi),\n loadAPIs(strapi),\n loadComponents(strapi),\n loadMiddlewares(strapi),\n loadPolicies(strapi),\n ]);\n}\n"],"names":[],"mappings":";;;;;;;;AAWA,eAAsB,uBAAuB,QAAqB;AAChE,QAAM,QAAQ,IAAI;AAAA,IAChB,aAAa,MAAM;AAAA,IACnB,eAAe,MAAM;AAAA,IACrB,eAAe,MAAM;AAAA,IACrB,YAAY,MAAM;AAAA,IAClB,SAAS,MAAM;AAAA,IACf,eAAe,MAAM;AAAA,IACrB,gBAAgB,MAAM;AAAA,IACtB,aAAa,MAAM;AAAA,EAAA,CACpB;AACH;"}
@@ -1,3 +1,3 @@
1
- import type { Strapi } from '@strapi/types';
2
- export default function loadMiddlewares(strapi: Strapi): Promise<void>;
1
+ import type { Core } from '@strapi/types';
2
+ export default function loadMiddlewares(strapi: Core.Strapi): Promise<void>;
3
3
  //# sourceMappingURL=middlewares.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../../src/loaders/middlewares.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAU,MAAM,eAAe,CAAC;AAIpD,wBAA8B,eAAe,CAAC,MAAM,EAAE,MAAM,iBAK3D"}
1
+ {"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../../src/loaders/middlewares.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAI1C,wBAA8B,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,iBAKhE"}
@@ -1 +1 @@
1
- {"version":3,"file":"middlewares.js","sources":["../../src/loaders/middlewares.ts"],"sourcesContent":["import { join, extname, basename } from 'path';\nimport fse from 'fs-extra';\nimport { importDefault } from '@strapi/utils';\nimport type { Strapi, Common } from '@strapi/types';\nimport { middlewares as internalMiddlewares } from '../middlewares';\n\n// TODO:: allow folders with index.js inside for bigger policies\nexport default async function loadMiddlewares(strapi: Strapi) {\n const localMiddlewares = await loadLocalMiddlewares(strapi);\n\n strapi.get('middlewares').add(`global::`, localMiddlewares);\n strapi.get('middlewares').add(`strapi::`, internalMiddlewares);\n}\n\nconst loadLocalMiddlewares = async (strapi: Strapi) => {\n const dir = strapi.dirs.dist.middlewares;\n\n if (!(await fse.pathExists(dir))) {\n return {};\n }\n\n const middlewares: Record<string, Common.MiddlewareFactory> = {};\n const paths = await fse.readdir(dir, { withFileTypes: true });\n\n for (const fd of paths) {\n const { name } = fd;\n const fullPath = join(dir, name);\n\n if (fd.isFile() && extname(name) === '.js') {\n const key = basename(name, '.js');\n middlewares[key] = importDefault(fullPath);\n }\n }\n\n return middlewares;\n};\n"],"names":["internalMiddlewares","fse","join","extname","basename","importDefault"],"mappings":";;;;;;;AAOA,eAA8B,gBAAgB,QAAgB;AACtD,QAAA,mBAAmB,MAAM,qBAAqB,MAAM;AAE1D,SAAO,IAAI,aAAa,EAAE,IAAI,YAAY,gBAAgB;AAC1D,SAAO,IAAI,aAAa,EAAE,IAAI,YAAYA,MAAAA,WAAmB;AAC/D;AAEA,MAAM,uBAAuB,OAAO,WAAmB;AAC/C,QAAA,MAAM,OAAO,KAAK,KAAK;AAE7B,MAAI,CAAE,MAAMC,aAAAA,QAAI,WAAW,GAAG,GAAI;AAChC,WAAO;EACT;AAEA,QAAM,cAAwD,CAAA;AACxD,QAAA,QAAQ,MAAMA,aAAAA,QAAI,QAAQ,KAAK,EAAE,eAAe,MAAM;AAE5D,aAAW,MAAM,OAAO;AAChB,UAAA,EAAE,KAAS,IAAA;AACX,UAAA,WAAWC,KAAAA,KAAK,KAAK,IAAI;AAE/B,QAAI,GAAG,OAAO,KAAKC,KAAQ,QAAA,IAAI,MAAM,OAAO;AACpC,YAAA,MAAMC,KAAAA,SAAS,MAAM,KAAK;AACpB,kBAAA,GAAG,IAAIC,YAAA,cAAc,QAAQ;AAAA,IAC3C;AAAA,EACF;AAEO,SAAA;AACT;;"}
1
+ {"version":3,"file":"middlewares.js","sources":["../../src/loaders/middlewares.ts"],"sourcesContent":["import { join, extname, basename } from 'path';\nimport fse from 'fs-extra';\nimport { importDefault } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\nimport { middlewares as internalMiddlewares } from '../middlewares';\n\n// TODO:: allow folders with index.js inside for bigger policies\nexport default async function loadMiddlewares(strapi: Core.Strapi) {\n const localMiddlewares = await loadLocalMiddlewares(strapi);\n\n strapi.get('middlewares').add(`global::`, localMiddlewares);\n strapi.get('middlewares').add(`strapi::`, internalMiddlewares);\n}\n\nconst loadLocalMiddlewares = async (strapi: Core.Strapi) => {\n const dir = strapi.dirs.dist.middlewares;\n\n if (!(await fse.pathExists(dir))) {\n return {};\n }\n\n const middlewares: Record<string, Core.MiddlewareFactory> = {};\n const paths = await fse.readdir(dir, { withFileTypes: true });\n\n for (const fd of paths) {\n const { name } = fd;\n const fullPath = join(dir, name);\n\n if (fd.isFile() && extname(name) === '.js') {\n const key = basename(name, '.js');\n middlewares[key] = importDefault(fullPath);\n }\n }\n\n return middlewares;\n};\n"],"names":["internalMiddlewares","fse","join","extname","basename","importDefault"],"mappings":";;;;;;;AAOA,eAA8B,gBAAgB,QAAqB;AAC3D,QAAA,mBAAmB,MAAM,qBAAqB,MAAM;AAE1D,SAAO,IAAI,aAAa,EAAE,IAAI,YAAY,gBAAgB;AAC1D,SAAO,IAAI,aAAa,EAAE,IAAI,YAAYA,MAAAA,WAAmB;AAC/D;AAEA,MAAM,uBAAuB,OAAO,WAAwB;AACpD,QAAA,MAAM,OAAO,KAAK,KAAK;AAE7B,MAAI,CAAE,MAAMC,aAAAA,QAAI,WAAW,GAAG,GAAI;AAChC,WAAO;EACT;AAEA,QAAM,cAAsD,CAAA;AACtD,QAAA,QAAQ,MAAMA,aAAAA,QAAI,QAAQ,KAAK,EAAE,eAAe,MAAM;AAE5D,aAAW,MAAM,OAAO;AAChB,UAAA,EAAE,KAAS,IAAA;AACX,UAAA,WAAWC,KAAAA,KAAK,KAAK,IAAI;AAE/B,QAAI,GAAG,OAAO,KAAKC,KAAQ,QAAA,IAAI,MAAM,OAAO;AACpC,YAAA,MAAMC,KAAAA,SAAS,MAAM,KAAK;AACpB,kBAAA,GAAG,IAAIC,YAAA,cAAc,QAAQ;AAAA,IAC3C;AAAA,EACF;AAEO,SAAA;AACT;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"middlewares.mjs","sources":["../../src/loaders/middlewares.ts"],"sourcesContent":["import { join, extname, basename } from 'path';\nimport fse from 'fs-extra';\nimport { importDefault } from '@strapi/utils';\nimport type { Strapi, Common } from '@strapi/types';\nimport { middlewares as internalMiddlewares } from '../middlewares';\n\n// TODO:: allow folders with index.js inside for bigger policies\nexport default async function loadMiddlewares(strapi: Strapi) {\n const localMiddlewares = await loadLocalMiddlewares(strapi);\n\n strapi.get('middlewares').add(`global::`, localMiddlewares);\n strapi.get('middlewares').add(`strapi::`, internalMiddlewares);\n}\n\nconst loadLocalMiddlewares = async (strapi: Strapi) => {\n const dir = strapi.dirs.dist.middlewares;\n\n if (!(await fse.pathExists(dir))) {\n return {};\n }\n\n const middlewares: Record<string, Common.MiddlewareFactory> = {};\n const paths = await fse.readdir(dir, { withFileTypes: true });\n\n for (const fd of paths) {\n const { name } = fd;\n const fullPath = join(dir, name);\n\n if (fd.isFile() && extname(name) === '.js') {\n const key = basename(name, '.js');\n middlewares[key] = importDefault(fullPath);\n }\n }\n\n return middlewares;\n};\n"],"names":["internalMiddlewares","middlewares"],"mappings":";;;;AAOA,eAA8B,gBAAgB,QAAgB;AACtD,QAAA,mBAAmB,MAAM,qBAAqB,MAAM;AAE1D,SAAO,IAAI,aAAa,EAAE,IAAI,YAAY,gBAAgB;AAC1D,SAAO,IAAI,aAAa,EAAE,IAAI,YAAYA,WAAmB;AAC/D;AAEA,MAAM,uBAAuB,OAAO,WAAmB;AAC/C,QAAA,MAAM,OAAO,KAAK,KAAK;AAE7B,MAAI,CAAE,MAAM,IAAI,WAAW,GAAG,GAAI;AAChC,WAAO;EACT;AAEA,QAAMC,eAAwD,CAAA;AACxD,QAAA,QAAQ,MAAM,IAAI,QAAQ,KAAK,EAAE,eAAe,MAAM;AAE5D,aAAW,MAAM,OAAO;AAChB,UAAA,EAAE,KAAS,IAAA;AACX,UAAA,WAAW,KAAK,KAAK,IAAI;AAE/B,QAAI,GAAG,OAAO,KAAK,QAAQ,IAAI,MAAM,OAAO;AACpC,YAAA,MAAM,SAAS,MAAM,KAAK;AACpB,MAAAA,aAAA,GAAG,IAAI,cAAc,QAAQ;AAAA,IAC3C;AAAA,EACF;AAEO,SAAAA;AACT;"}
1
+ {"version":3,"file":"middlewares.mjs","sources":["../../src/loaders/middlewares.ts"],"sourcesContent":["import { join, extname, basename } from 'path';\nimport fse from 'fs-extra';\nimport { importDefault } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\nimport { middlewares as internalMiddlewares } from '../middlewares';\n\n// TODO:: allow folders with index.js inside for bigger policies\nexport default async function loadMiddlewares(strapi: Core.Strapi) {\n const localMiddlewares = await loadLocalMiddlewares(strapi);\n\n strapi.get('middlewares').add(`global::`, localMiddlewares);\n strapi.get('middlewares').add(`strapi::`, internalMiddlewares);\n}\n\nconst loadLocalMiddlewares = async (strapi: Core.Strapi) => {\n const dir = strapi.dirs.dist.middlewares;\n\n if (!(await fse.pathExists(dir))) {\n return {};\n }\n\n const middlewares: Record<string, Core.MiddlewareFactory> = {};\n const paths = await fse.readdir(dir, { withFileTypes: true });\n\n for (const fd of paths) {\n const { name } = fd;\n const fullPath = join(dir, name);\n\n if (fd.isFile() && extname(name) === '.js') {\n const key = basename(name, '.js');\n middlewares[key] = importDefault(fullPath);\n }\n }\n\n return middlewares;\n};\n"],"names":["internalMiddlewares","middlewares"],"mappings":";;;;AAOA,eAA8B,gBAAgB,QAAqB;AAC3D,QAAA,mBAAmB,MAAM,qBAAqB,MAAM;AAE1D,SAAO,IAAI,aAAa,EAAE,IAAI,YAAY,gBAAgB;AAC1D,SAAO,IAAI,aAAa,EAAE,IAAI,YAAYA,WAAmB;AAC/D;AAEA,MAAM,uBAAuB,OAAO,WAAwB;AACpD,QAAA,MAAM,OAAO,KAAK,KAAK;AAE7B,MAAI,CAAE,MAAM,IAAI,WAAW,GAAG,GAAI;AAChC,WAAO;EACT;AAEA,QAAMC,eAAsD,CAAA;AACtD,QAAA,QAAQ,MAAM,IAAI,QAAQ,KAAK,EAAE,eAAe,MAAM;AAE5D,aAAW,MAAM,OAAO;AAChB,UAAA,EAAE,KAAS,IAAA;AACX,UAAA,WAAW,KAAK,KAAK,IAAI;AAE/B,QAAI,GAAG,OAAO,KAAK,QAAQ,IAAI,MAAM,OAAO;AACpC,YAAA,MAAM,SAAS,MAAM,KAAK;AACpB,MAAAA,aAAA,GAAG,IAAI,cAAc,QAAQ;AAAA,IAC3C;AAAA,EACF;AAEO,SAAAA;AACT;"}
@@ -1,5 +1,5 @@
1
- import type { Strapi } from '@strapi/types';
2
- export declare const getEnabledPlugins: (strapi: Strapi, { client }?: {
1
+ import type { Core } from '@strapi/types';
2
+ export declare const getEnabledPlugins: (strapi: Core.Strapi, { client }?: {
3
3
  client: boolean;
4
4
  }) => Promise<any>;
5
5
  //# sourceMappingURL=get-enabled-plugins.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-enabled-plugins.d.ts","sourceRoot":"","sources":["../../../src/loaders/plugins/get-enabled-plugins.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AA4E5C,eAAO,MAAM,iBAAiB,WAAkB,MAAM;;kBA2ErD,CAAC"}
1
+ {"version":3,"file":"get-enabled-plugins.d.ts","sourceRoot":"","sources":["../../../src/loaders/plugins/get-enabled-plugins.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AA8E1C,eAAO,MAAM,iBAAiB,WAAkB,KAAK,MAAM;;kBA2E1D,CAAC"}
@@ -9,15 +9,17 @@ const getUserPluginsConfig = require("./get-user-plugins-config.js");
9
9
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
10
10
  const ___default = /* @__PURE__ */ _interopDefault(_);
11
11
  const INTERNAL_PLUGINS = [
12
- "@strapi/plugin-content-manager",
13
- "@strapi/plugin-content-type-builder",
14
- "@strapi/plugin-email",
15
- "@strapi/plugin-upload",
16
- "@strapi/content-releases"
12
+ "@strapi/content-manager",
13
+ "@strapi/content-type-builder",
14
+ "@strapi/email",
15
+ "@strapi/upload",
16
+ "@strapi/i18n",
17
+ "@strapi/content-releases",
18
+ "@strapi/review-workflows"
17
19
  ];
18
20
  const isStrapiPlugin = (info) => _$1.get("strapi.kind", info) === "plugin";
19
21
  const validatePluginName = (pluginName) => {
20
- if (!strapiUtils.isKebabCase(pluginName)) {
22
+ if (!strapiUtils.strings.isKebabCase(pluginName)) {
21
23
  throw new Error(`Plugin name "${pluginName}" is not in kebab (an-example-of-kebab-case)`);
22
24
  }
23
25
  };
@@ -1 +1 @@
1
- {"version":3,"file":"get-enabled-plugins.js","sources":["../../../src/loaders/plugins/get-enabled-plugins.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-var-requires */\nimport { dirname, join, resolve } from 'path';\nimport { statSync, existsSync } from 'fs';\nimport _ from 'lodash';\nimport { get, pickBy, defaultsDeep, map, prop, pipe } from 'lodash/fp';\nimport { isKebabCase } from '@strapi/utils';\nimport type { Strapi } from '@strapi/types';\nimport { getUserPluginsConfig } from './get-user-plugins-config';\n\ninterface PluginMeta {\n enabled: boolean;\n pathToPlugin?: string;\n info: Record<string, unknown>;\n}\n\ntype PluginMetas = Record<string, PluginMeta>;\n\ninterface PluginInfo {\n name: string;\n kind: string;\n}\n\ninterface PluginDeclaration {\n enabled: boolean;\n resolve: string;\n isModule: boolean;\n}\n\n/**\n * otherwise known as \"core features\"\n */\nconst INTERNAL_PLUGINS = [\n '@strapi/plugin-content-manager',\n '@strapi/plugin-content-type-builder',\n '@strapi/plugin-email',\n '@strapi/plugin-upload',\n '@strapi/content-releases',\n];\n\nconst isStrapiPlugin = (info: PluginInfo) => get('strapi.kind', info) === 'plugin';\n\nconst validatePluginName = (pluginName: string) => {\n if (!isKebabCase(pluginName)) {\n throw new Error(`Plugin name \"${pluginName}\" is not in kebab (an-example-of-kebab-case)`);\n }\n};\n\nconst toDetailedDeclaration = (declaration: boolean | PluginDeclaration) => {\n if (typeof declaration === 'boolean') {\n return { enabled: declaration };\n }\n\n const detailedDeclaration: { enabled: boolean; pathToPlugin?: string } = {\n enabled: declaration.enabled,\n };\n\n if (declaration?.resolve) {\n let pathToPlugin = '';\n\n if (declaration.isModule) {\n /**\n * we only want the node_module here, not the package.json\n */\n pathToPlugin = join(declaration.resolve, '..');\n } else {\n try {\n pathToPlugin = dirname(require.resolve(declaration.resolve));\n } catch (e) {\n pathToPlugin = resolve(strapi.dirs.app.root, declaration.resolve);\n\n if (!existsSync(pathToPlugin) || !statSync(pathToPlugin).isDirectory()) {\n throw new Error(`${declaration.resolve} couldn't be resolved`);\n }\n }\n }\n\n detailedDeclaration.pathToPlugin = pathToPlugin;\n }\n\n return detailedDeclaration;\n};\n\nexport const getEnabledPlugins = async (strapi: Strapi, { client } = { client: false }) => {\n const internalPlugins: PluginMetas = {};\n\n for (const dep of INTERNAL_PLUGINS) {\n const packagePath = join(dep, 'package.json');\n const packageInfo = require(packagePath);\n\n validatePluginName(packageInfo.strapi.name);\n internalPlugins[packageInfo.strapi.name] = {\n ...toDetailedDeclaration({ enabled: true, resolve: packagePath, isModule: client }),\n info: packageInfo.strapi,\n };\n }\n\n const installedPlugins: PluginMetas = {};\n const dependencies = strapi.config.get('info.dependencies', {});\n\n for (const dep of Object.keys(dependencies)) {\n const packagePath = join(dep, 'package.json');\n let packageInfo;\n try {\n packageInfo = require(packagePath);\n } catch {\n continue;\n }\n\n if (isStrapiPlugin(packageInfo)) {\n validatePluginName(packageInfo.strapi.name);\n installedPlugins[packageInfo.strapi.name] = {\n ...toDetailedDeclaration({ enabled: true, resolve: packagePath, isModule: client }),\n info: {\n ...packageInfo.strapi,\n packageName: packageInfo.name,\n },\n };\n }\n }\n\n const declaredPlugins: PluginMetas = {};\n const userPluginsConfig = await getUserPluginsConfig();\n\n _.forEach(userPluginsConfig, (declaration, pluginName) => {\n validatePluginName(pluginName);\n\n declaredPlugins[pluginName] = {\n ...toDetailedDeclaration(declaration),\n info: {},\n };\n\n const { pathToPlugin } = declaredPlugins[pluginName];\n\n // for manually resolved plugins\n if (pathToPlugin) {\n const packagePath = join(pathToPlugin, 'package.json');\n const packageInfo = require(packagePath);\n\n if (isStrapiPlugin(packageInfo)) {\n declaredPlugins[pluginName].info = packageInfo.strapi || {};\n }\n }\n });\n\n const declaredPluginsResolves = map(prop('pathToPlugin'), declaredPlugins);\n const installedPluginsNotAlreadyUsed = pickBy(\n (p) => !declaredPluginsResolves.includes(p.pathToPlugin),\n installedPlugins\n );\n\n const enabledPlugins = pipe(\n defaultsDeep(declaredPlugins),\n defaultsDeep(installedPluginsNotAlreadyUsed),\n pickBy((p: PluginMeta) => p.enabled)\n )(internalPlugins);\n\n return enabledPlugins;\n};\n"],"names":["get","isKebabCase","join","dirname","resolve","existsSync","statSync","strapi","getUserPluginsConfig","_","map","prop","pickBy","pipe","defaultsDeep"],"mappings":"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"}
1
+ {"version":3,"file":"get-enabled-plugins.js","sources":["../../../src/loaders/plugins/get-enabled-plugins.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-var-requires */\nimport { dirname, join, resolve } from 'path';\nimport { statSync, existsSync } from 'fs';\nimport _ from 'lodash';\nimport { get, pickBy, defaultsDeep, map, prop, pipe } from 'lodash/fp';\nimport { strings } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\nimport { getUserPluginsConfig } from './get-user-plugins-config';\n\ninterface PluginMeta {\n enabled: boolean;\n pathToPlugin?: string;\n info: Record<string, unknown>;\n}\n\ntype PluginMetas = Record<string, PluginMeta>;\n\ninterface PluginInfo {\n name: string;\n kind: string;\n}\n\ninterface PluginDeclaration {\n enabled: boolean;\n resolve: string;\n isModule: boolean;\n}\n\n/**\n * otherwise known as \"core features\"\n */\nconst INTERNAL_PLUGINS = [\n '@strapi/content-manager',\n '@strapi/content-type-builder',\n '@strapi/email',\n '@strapi/upload',\n '@strapi/i18n',\n '@strapi/content-releases',\n '@strapi/review-workflows',\n];\n\nconst isStrapiPlugin = (info: PluginInfo) => get('strapi.kind', info) === 'plugin';\n\nconst validatePluginName = (pluginName: string) => {\n if (!strings.isKebabCase(pluginName)) {\n throw new Error(`Plugin name \"${pluginName}\" is not in kebab (an-example-of-kebab-case)`);\n }\n};\n\nconst toDetailedDeclaration = (declaration: boolean | PluginDeclaration) => {\n if (typeof declaration === 'boolean') {\n return { enabled: declaration };\n }\n\n const detailedDeclaration: { enabled: boolean; pathToPlugin?: string } = {\n enabled: declaration.enabled,\n };\n\n if (declaration?.resolve) {\n let pathToPlugin = '';\n\n if (declaration.isModule) {\n /**\n * we only want the node_module here, not the package.json\n */\n pathToPlugin = join(declaration.resolve, '..');\n } else {\n try {\n pathToPlugin = dirname(require.resolve(declaration.resolve));\n } catch (e) {\n pathToPlugin = resolve(strapi.dirs.app.root, declaration.resolve);\n\n if (!existsSync(pathToPlugin) || !statSync(pathToPlugin).isDirectory()) {\n throw new Error(`${declaration.resolve} couldn't be resolved`);\n }\n }\n }\n\n detailedDeclaration.pathToPlugin = pathToPlugin;\n }\n\n return detailedDeclaration;\n};\n\nexport const getEnabledPlugins = async (strapi: Core.Strapi, { client } = { client: false }) => {\n const internalPlugins: PluginMetas = {};\n\n for (const dep of INTERNAL_PLUGINS) {\n const packagePath = join(dep, 'package.json');\n const packageInfo = require(packagePath);\n\n validatePluginName(packageInfo.strapi.name);\n internalPlugins[packageInfo.strapi.name] = {\n ...toDetailedDeclaration({ enabled: true, resolve: packagePath, isModule: client }),\n info: packageInfo.strapi,\n };\n }\n\n const installedPlugins: PluginMetas = {};\n const dependencies = strapi.config.get('info.dependencies', {});\n\n for (const dep of Object.keys(dependencies)) {\n const packagePath = join(dep, 'package.json');\n let packageInfo;\n try {\n packageInfo = require(packagePath);\n } catch {\n continue;\n }\n\n if (isStrapiPlugin(packageInfo)) {\n validatePluginName(packageInfo.strapi.name);\n installedPlugins[packageInfo.strapi.name] = {\n ...toDetailedDeclaration({ enabled: true, resolve: packagePath, isModule: client }),\n info: {\n ...packageInfo.strapi,\n packageName: packageInfo.name,\n },\n };\n }\n }\n\n const declaredPlugins: PluginMetas = {};\n const userPluginsConfig = await getUserPluginsConfig();\n\n _.forEach(userPluginsConfig, (declaration, pluginName) => {\n validatePluginName(pluginName);\n\n declaredPlugins[pluginName] = {\n ...toDetailedDeclaration(declaration),\n info: {},\n };\n\n const { pathToPlugin } = declaredPlugins[pluginName];\n\n // for manually resolved plugins\n if (pathToPlugin) {\n const packagePath = join(pathToPlugin, 'package.json');\n const packageInfo = require(packagePath);\n\n if (isStrapiPlugin(packageInfo)) {\n declaredPlugins[pluginName].info = packageInfo.strapi || {};\n }\n }\n });\n\n const declaredPluginsResolves = map(prop('pathToPlugin'), declaredPlugins);\n const installedPluginsNotAlreadyUsed = pickBy(\n (p) => !declaredPluginsResolves.includes(p.pathToPlugin),\n installedPlugins\n );\n\n const enabledPlugins = pipe(\n defaultsDeep(declaredPlugins),\n defaultsDeep(installedPluginsNotAlreadyUsed),\n pickBy((p: PluginMeta) => p.enabled)\n )(internalPlugins);\n\n return enabledPlugins;\n};\n"],"names":["get","strings","join","dirname","resolve","existsSync","statSync","strapi","getUserPluginsConfig","_","map","prop","pickBy","pipe","defaultsDeep"],"mappings":"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"}
@@ -2,18 +2,20 @@ import { join, dirname, resolve } from "path";
2
2
  import { existsSync, statSync } from "fs";
3
3
  import _ from "lodash";
4
4
  import { map, prop, pickBy, pipe, defaultsDeep, get } from "lodash/fp";
5
- import { isKebabCase } from "@strapi/utils";
5
+ import { strings } from "@strapi/utils";
6
6
  import { getUserPluginsConfig } from "./get-user-plugins-config.mjs";
7
7
  const INTERNAL_PLUGINS = [
8
- "@strapi/plugin-content-manager",
9
- "@strapi/plugin-content-type-builder",
10
- "@strapi/plugin-email",
11
- "@strapi/plugin-upload",
12
- "@strapi/content-releases"
8
+ "@strapi/content-manager",
9
+ "@strapi/content-type-builder",
10
+ "@strapi/email",
11
+ "@strapi/upload",
12
+ "@strapi/i18n",
13
+ "@strapi/content-releases",
14
+ "@strapi/review-workflows"
13
15
  ];
14
16
  const isStrapiPlugin = (info) => get("strapi.kind", info) === "plugin";
15
17
  const validatePluginName = (pluginName) => {
16
- if (!isKebabCase(pluginName)) {
18
+ if (!strings.isKebabCase(pluginName)) {
17
19
  throw new Error(`Plugin name "${pluginName}" is not in kebab (an-example-of-kebab-case)`);
18
20
  }
19
21
  };
@@ -1 +1 @@
1
- {"version":3,"file":"get-enabled-plugins.mjs","sources":["../../../src/loaders/plugins/get-enabled-plugins.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-var-requires */\nimport { dirname, join, resolve } from 'path';\nimport { statSync, existsSync } from 'fs';\nimport _ from 'lodash';\nimport { get, pickBy, defaultsDeep, map, prop, pipe } from 'lodash/fp';\nimport { isKebabCase } from '@strapi/utils';\nimport type { Strapi } from '@strapi/types';\nimport { getUserPluginsConfig } from './get-user-plugins-config';\n\ninterface PluginMeta {\n enabled: boolean;\n pathToPlugin?: string;\n info: Record<string, unknown>;\n}\n\ntype PluginMetas = Record<string, PluginMeta>;\n\ninterface PluginInfo {\n name: string;\n kind: string;\n}\n\ninterface PluginDeclaration {\n enabled: boolean;\n resolve: string;\n isModule: boolean;\n}\n\n/**\n * otherwise known as \"core features\"\n */\nconst INTERNAL_PLUGINS = [\n '@strapi/plugin-content-manager',\n '@strapi/plugin-content-type-builder',\n '@strapi/plugin-email',\n '@strapi/plugin-upload',\n '@strapi/content-releases',\n];\n\nconst isStrapiPlugin = (info: PluginInfo) => get('strapi.kind', info) === 'plugin';\n\nconst validatePluginName = (pluginName: string) => {\n if (!isKebabCase(pluginName)) {\n throw new Error(`Plugin name \"${pluginName}\" is not in kebab (an-example-of-kebab-case)`);\n }\n};\n\nconst toDetailedDeclaration = (declaration: boolean | PluginDeclaration) => {\n if (typeof declaration === 'boolean') {\n return { enabled: declaration };\n }\n\n const detailedDeclaration: { enabled: boolean; pathToPlugin?: string } = {\n enabled: declaration.enabled,\n };\n\n if (declaration?.resolve) {\n let pathToPlugin = '';\n\n if (declaration.isModule) {\n /**\n * we only want the node_module here, not the package.json\n */\n pathToPlugin = join(declaration.resolve, '..');\n } else {\n try {\n pathToPlugin = dirname(require.resolve(declaration.resolve));\n } catch (e) {\n pathToPlugin = resolve(strapi.dirs.app.root, declaration.resolve);\n\n if (!existsSync(pathToPlugin) || !statSync(pathToPlugin).isDirectory()) {\n throw new Error(`${declaration.resolve} couldn't be resolved`);\n }\n }\n }\n\n detailedDeclaration.pathToPlugin = pathToPlugin;\n }\n\n return detailedDeclaration;\n};\n\nexport const getEnabledPlugins = async (strapi: Strapi, { client } = { client: false }) => {\n const internalPlugins: PluginMetas = {};\n\n for (const dep of INTERNAL_PLUGINS) {\n const packagePath = join(dep, 'package.json');\n const packageInfo = require(packagePath);\n\n validatePluginName(packageInfo.strapi.name);\n internalPlugins[packageInfo.strapi.name] = {\n ...toDetailedDeclaration({ enabled: true, resolve: packagePath, isModule: client }),\n info: packageInfo.strapi,\n };\n }\n\n const installedPlugins: PluginMetas = {};\n const dependencies = strapi.config.get('info.dependencies', {});\n\n for (const dep of Object.keys(dependencies)) {\n const packagePath = join(dep, 'package.json');\n let packageInfo;\n try {\n packageInfo = require(packagePath);\n } catch {\n continue;\n }\n\n if (isStrapiPlugin(packageInfo)) {\n validatePluginName(packageInfo.strapi.name);\n installedPlugins[packageInfo.strapi.name] = {\n ...toDetailedDeclaration({ enabled: true, resolve: packagePath, isModule: client }),\n info: {\n ...packageInfo.strapi,\n packageName: packageInfo.name,\n },\n };\n }\n }\n\n const declaredPlugins: PluginMetas = {};\n const userPluginsConfig = await getUserPluginsConfig();\n\n _.forEach(userPluginsConfig, (declaration, pluginName) => {\n validatePluginName(pluginName);\n\n declaredPlugins[pluginName] = {\n ...toDetailedDeclaration(declaration),\n info: {},\n };\n\n const { pathToPlugin } = declaredPlugins[pluginName];\n\n // for manually resolved plugins\n if (pathToPlugin) {\n const packagePath = join(pathToPlugin, 'package.json');\n const packageInfo = require(packagePath);\n\n if (isStrapiPlugin(packageInfo)) {\n declaredPlugins[pluginName].info = packageInfo.strapi || {};\n }\n }\n });\n\n const declaredPluginsResolves = map(prop('pathToPlugin'), declaredPlugins);\n const installedPluginsNotAlreadyUsed = pickBy(\n (p) => !declaredPluginsResolves.includes(p.pathToPlugin),\n installedPlugins\n );\n\n const enabledPlugins = pipe(\n defaultsDeep(declaredPlugins),\n defaultsDeep(installedPluginsNotAlreadyUsed),\n pickBy((p: PluginMeta) => p.enabled)\n )(internalPlugins);\n\n return enabledPlugins;\n};\n"],"names":["strapi"],"mappings":";;;;;;AA+BA,MAAM,mBAAmB;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,MAAM,iBAAiB,CAAC,SAAqB,IAAI,eAAe,IAAI,MAAM;AAE1E,MAAM,qBAAqB,CAAC,eAAuB;AAC7C,MAAA,CAAC,YAAY,UAAU,GAAG;AAC5B,UAAM,IAAI,MAAM,gBAAgB,UAAU,8CAA8C;AAAA,EAC1F;AACF;AAEA,MAAM,wBAAwB,CAAC,gBAA6C;AACtE,MAAA,OAAO,gBAAgB,WAAW;AAC7B,WAAA,EAAE,SAAS;EACpB;AAEA,QAAM,sBAAmE;AAAA,IACvE,SAAS,YAAY;AAAA,EAAA;AAGvB,MAAI,aAAa,SAAS;AACxB,QAAI,eAAe;AAEnB,QAAI,YAAY,UAAU;AAIT,qBAAA,KAAK,YAAY,SAAS,IAAI;AAAA,IAAA,OACxC;AACD,UAAA;AACF,uBAAe,QAAQ,QAAQ,QAAQ,YAAY,OAAO,CAAC;AAAA,eACpD,GAAG;AACV,uBAAe,QAAQ,OAAO,KAAK,IAAI,MAAM,YAAY,OAAO;AAE5D,YAAA,CAAC,WAAW,YAAY,KAAK,CAAC,SAAS,YAAY,EAAE,eAAe;AACtE,gBAAM,IAAI,MAAM,GAAG,YAAY,OAAO,uBAAuB;AAAA,QAC/D;AAAA,MACF;AAAA,IACF;AAEA,wBAAoB,eAAe;AAAA,EACrC;AAEO,SAAA;AACT;AAEa,MAAA,oBAAoB,OAAOA,SAAgB,EAAE,OAAW,IAAA,EAAE,QAAQ,YAAY;AACzF,QAAM,kBAA+B,CAAA;AAErC,aAAW,OAAO,kBAAkB;AAC5B,UAAA,cAAc,KAAK,KAAK,cAAc;AACtC,UAAA,cAAc,QAAQ,WAAW;AAEpB,uBAAA,YAAY,OAAO,IAAI;AAC1B,oBAAA,YAAY,OAAO,IAAI,IAAI;AAAA,MACzC,GAAG,sBAAsB,EAAE,SAAS,MAAM,SAAS,aAAa,UAAU,QAAQ;AAAA,MAClF,MAAM,YAAY;AAAA,IAAA;AAAA,EAEtB;AAEA,QAAM,mBAAgC,CAAA;AACtC,QAAM,eAAeA,QAAO,OAAO,IAAI,qBAAqB,CAAA,CAAE;AAE9D,aAAW,OAAO,OAAO,KAAK,YAAY,GAAG;AACrC,UAAA,cAAc,KAAK,KAAK,cAAc;AACxC,QAAA;AACA,QAAA;AACF,oBAAc,QAAQ,WAAW;AAAA,IAAA,QAC3B;AACN;AAAA,IACF;AAEI,QAAA,eAAe,WAAW,GAAG;AACZ,yBAAA,YAAY,OAAO,IAAI;AACzB,uBAAA,YAAY,OAAO,IAAI,IAAI;AAAA,QAC1C,GAAG,sBAAsB,EAAE,SAAS,MAAM,SAAS,aAAa,UAAU,QAAQ;AAAA,QAClF,MAAM;AAAA,UACJ,GAAG,YAAY;AAAA,UACf,aAAa,YAAY;AAAA,QAC3B;AAAA,MAAA;AAAA,IAEJ;AAAA,EACF;AAEA,QAAM,kBAA+B,CAAA;AAC/B,QAAA,oBAAoB,MAAM;AAEhC,IAAE,QAAQ,mBAAmB,CAAC,aAAa,eAAe;AACxD,uBAAmB,UAAU;AAE7B,oBAAgB,UAAU,IAAI;AAAA,MAC5B,GAAG,sBAAsB,WAAW;AAAA,MACpC,MAAM,CAAC;AAAA,IAAA;AAGT,UAAM,EAAE,aAAA,IAAiB,gBAAgB,UAAU;AAGnD,QAAI,cAAc;AACV,YAAA,cAAc,KAAK,cAAc,cAAc;AAC/C,YAAA,cAAc,QAAQ,WAAW;AAEnC,UAAA,eAAe,WAAW,GAAG;AAC/B,wBAAgB,UAAU,EAAE,OAAO,YAAY,UAAU,CAAA;AAAA,MAC3D;AAAA,IACF;AAAA,EAAA,CACD;AAED,QAAM,0BAA0B,IAAI,KAAK,cAAc,GAAG,eAAe;AACzE,QAAM,iCAAiC;AAAA,IACrC,CAAC,MAAM,CAAC,wBAAwB,SAAS,EAAE,YAAY;AAAA,IACvD;AAAA,EAAA;AAGF,QAAM,iBAAiB;AAAA,IACrB,aAAa,eAAe;AAAA,IAC5B,aAAa,8BAA8B;AAAA,IAC3C,OAAO,CAAC,MAAkB,EAAE,OAAO;AAAA,IACnC,eAAe;AAEV,SAAA;AACT;"}
1
+ {"version":3,"file":"get-enabled-plugins.mjs","sources":["../../../src/loaders/plugins/get-enabled-plugins.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-var-requires */\nimport { dirname, join, resolve } from 'path';\nimport { statSync, existsSync } from 'fs';\nimport _ from 'lodash';\nimport { get, pickBy, defaultsDeep, map, prop, pipe } from 'lodash/fp';\nimport { strings } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\nimport { getUserPluginsConfig } from './get-user-plugins-config';\n\ninterface PluginMeta {\n enabled: boolean;\n pathToPlugin?: string;\n info: Record<string, unknown>;\n}\n\ntype PluginMetas = Record<string, PluginMeta>;\n\ninterface PluginInfo {\n name: string;\n kind: string;\n}\n\ninterface PluginDeclaration {\n enabled: boolean;\n resolve: string;\n isModule: boolean;\n}\n\n/**\n * otherwise known as \"core features\"\n */\nconst INTERNAL_PLUGINS = [\n '@strapi/content-manager',\n '@strapi/content-type-builder',\n '@strapi/email',\n '@strapi/upload',\n '@strapi/i18n',\n '@strapi/content-releases',\n '@strapi/review-workflows',\n];\n\nconst isStrapiPlugin = (info: PluginInfo) => get('strapi.kind', info) === 'plugin';\n\nconst validatePluginName = (pluginName: string) => {\n if (!strings.isKebabCase(pluginName)) {\n throw new Error(`Plugin name \"${pluginName}\" is not in kebab (an-example-of-kebab-case)`);\n }\n};\n\nconst toDetailedDeclaration = (declaration: boolean | PluginDeclaration) => {\n if (typeof declaration === 'boolean') {\n return { enabled: declaration };\n }\n\n const detailedDeclaration: { enabled: boolean; pathToPlugin?: string } = {\n enabled: declaration.enabled,\n };\n\n if (declaration?.resolve) {\n let pathToPlugin = '';\n\n if (declaration.isModule) {\n /**\n * we only want the node_module here, not the package.json\n */\n pathToPlugin = join(declaration.resolve, '..');\n } else {\n try {\n pathToPlugin = dirname(require.resolve(declaration.resolve));\n } catch (e) {\n pathToPlugin = resolve(strapi.dirs.app.root, declaration.resolve);\n\n if (!existsSync(pathToPlugin) || !statSync(pathToPlugin).isDirectory()) {\n throw new Error(`${declaration.resolve} couldn't be resolved`);\n }\n }\n }\n\n detailedDeclaration.pathToPlugin = pathToPlugin;\n }\n\n return detailedDeclaration;\n};\n\nexport const getEnabledPlugins = async (strapi: Core.Strapi, { client } = { client: false }) => {\n const internalPlugins: PluginMetas = {};\n\n for (const dep of INTERNAL_PLUGINS) {\n const packagePath = join(dep, 'package.json');\n const packageInfo = require(packagePath);\n\n validatePluginName(packageInfo.strapi.name);\n internalPlugins[packageInfo.strapi.name] = {\n ...toDetailedDeclaration({ enabled: true, resolve: packagePath, isModule: client }),\n info: packageInfo.strapi,\n };\n }\n\n const installedPlugins: PluginMetas = {};\n const dependencies = strapi.config.get('info.dependencies', {});\n\n for (const dep of Object.keys(dependencies)) {\n const packagePath = join(dep, 'package.json');\n let packageInfo;\n try {\n packageInfo = require(packagePath);\n } catch {\n continue;\n }\n\n if (isStrapiPlugin(packageInfo)) {\n validatePluginName(packageInfo.strapi.name);\n installedPlugins[packageInfo.strapi.name] = {\n ...toDetailedDeclaration({ enabled: true, resolve: packagePath, isModule: client }),\n info: {\n ...packageInfo.strapi,\n packageName: packageInfo.name,\n },\n };\n }\n }\n\n const declaredPlugins: PluginMetas = {};\n const userPluginsConfig = await getUserPluginsConfig();\n\n _.forEach(userPluginsConfig, (declaration, pluginName) => {\n validatePluginName(pluginName);\n\n declaredPlugins[pluginName] = {\n ...toDetailedDeclaration(declaration),\n info: {},\n };\n\n const { pathToPlugin } = declaredPlugins[pluginName];\n\n // for manually resolved plugins\n if (pathToPlugin) {\n const packagePath = join(pathToPlugin, 'package.json');\n const packageInfo = require(packagePath);\n\n if (isStrapiPlugin(packageInfo)) {\n declaredPlugins[pluginName].info = packageInfo.strapi || {};\n }\n }\n });\n\n const declaredPluginsResolves = map(prop('pathToPlugin'), declaredPlugins);\n const installedPluginsNotAlreadyUsed = pickBy(\n (p) => !declaredPluginsResolves.includes(p.pathToPlugin),\n installedPlugins\n );\n\n const enabledPlugins = pipe(\n defaultsDeep(declaredPlugins),\n defaultsDeep(installedPluginsNotAlreadyUsed),\n pickBy((p: PluginMeta) => p.enabled)\n )(internalPlugins);\n\n return enabledPlugins;\n};\n"],"names":["strapi"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import type { Strapi } from '@strapi/types';
2
- export default function loadPlugins(strapi: Strapi): Promise<void>;
1
+ import type { Core } from '@strapi/types';
2
+ export default function loadPlugins(strapi: Core.Strapi): Promise<void>;
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/loaders/plugins/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAkB,MAAM,eAAe,CAAC;AAiF5D,wBAA8B,WAAW,CAAC,MAAM,EAAE,MAAM,iBA0CvD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/loaders/plugins/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAkB,MAAM,eAAe,CAAC;AAiF1D,wBAA8B,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,iBA0C5D"}
@@ -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 { Strapi, Plugin, Schema } 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: 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: Schema.ContentType }>\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 { 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 +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 { Strapi, Plugin, Schema } 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: 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: Schema.ContentType }>\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 { 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,3 +1,3 @@
1
- import type { Strapi } from '@strapi/types';
2
- export default function loadPolicies(strapi: Strapi): Promise<void>;
1
+ import type { Core } from '@strapi/types';
2
+ export default function loadPolicies(strapi: Core.Strapi): Promise<void>;
3
3
  //# sourceMappingURL=policies.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"policies.d.ts","sourceRoot":"","sources":["../../src/loaders/policies.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAU,MAAM,eAAe,CAAC;AAGpD,wBAA8B,YAAY,CAAC,MAAM,EAAE,MAAM,iBAqBxD"}
1
+ {"version":3,"file":"policies.d.ts","sourceRoot":"","sources":["../../src/loaders/policies.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG1C,wBAA8B,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,iBAqB7D"}
@@ -1 +1 @@
1
- {"version":3,"file":"policies.js","sources":["../../src/loaders/policies.ts"],"sourcesContent":["import { join, extname, basename } from 'path';\nimport fse from 'fs-extra';\nimport { importDefault } from '@strapi/utils';\n\nimport type { Strapi, Common } from '@strapi/types';\n\n// TODO:: allow folders with index.js inside for bigger policies\nexport default async function loadPolicies(strapi: Strapi) {\n const dir = strapi.dirs.dist.policies;\n\n if (!(await fse.pathExists(dir))) {\n return;\n }\n\n const policies: Record<string, Common.Policy> = {};\n const paths = await fse.readdir(dir, { withFileTypes: true });\n\n for (const fd of paths) {\n const { name } = fd;\n const fullPath = join(dir, name);\n\n if (fd.isFile() && extname(name) === '.js') {\n const key = basename(name, '.js');\n policies[key] = importDefault(fullPath);\n }\n }\n\n strapi.get('policies').add(`global::`, policies);\n}\n"],"names":["fse","join","extname","basename","importDefault"],"mappings":";;;;;;AAOA,eAA8B,aAAa,QAAgB;AACnD,QAAA,MAAM,OAAO,KAAK,KAAK;AAE7B,MAAI,CAAE,MAAMA,aAAAA,QAAI,WAAW,GAAG,GAAI;AAChC;AAAA,EACF;AAEA,QAAM,WAA0C,CAAA;AAC1C,QAAA,QAAQ,MAAMA,aAAAA,QAAI,QAAQ,KAAK,EAAE,eAAe,MAAM;AAE5D,aAAW,MAAM,OAAO;AAChB,UAAA,EAAE,KAAS,IAAA;AACX,UAAA,WAAWC,KAAAA,KAAK,KAAK,IAAI;AAE/B,QAAI,GAAG,OAAO,KAAKC,KAAQ,QAAA,IAAI,MAAM,OAAO;AACpC,YAAA,MAAMC,KAAAA,SAAS,MAAM,KAAK;AACvB,eAAA,GAAG,IAAIC,YAAA,cAAc,QAAQ;AAAA,IACxC;AAAA,EACF;AAEA,SAAO,IAAI,UAAU,EAAE,IAAI,YAAY,QAAQ;AACjD;;"}
1
+ {"version":3,"file":"policies.js","sources":["../../src/loaders/policies.ts"],"sourcesContent":["import { join, extname, basename } from 'path';\nimport fse from 'fs-extra';\nimport { importDefault } from '@strapi/utils';\n\nimport type { Core } from '@strapi/types';\n\n// TODO:: allow folders with index.js inside for bigger policies\nexport default async function loadPolicies(strapi: Core.Strapi) {\n const dir = strapi.dirs.dist.policies;\n\n if (!(await fse.pathExists(dir))) {\n return;\n }\n\n const policies: Record<string, Core.Policy> = {};\n const paths = await fse.readdir(dir, { withFileTypes: true });\n\n for (const fd of paths) {\n const { name } = fd;\n const fullPath = join(dir, name);\n\n if (fd.isFile() && extname(name) === '.js') {\n const key = basename(name, '.js');\n policies[key] = importDefault(fullPath);\n }\n }\n\n strapi.get('policies').add(`global::`, policies);\n}\n"],"names":["fse","join","extname","basename","importDefault"],"mappings":";;;;;;AAOA,eAA8B,aAAa,QAAqB;AACxD,QAAA,MAAM,OAAO,KAAK,KAAK;AAE7B,MAAI,CAAE,MAAMA,aAAAA,QAAI,WAAW,GAAG,GAAI;AAChC;AAAA,EACF;AAEA,QAAM,WAAwC,CAAA;AACxC,QAAA,QAAQ,MAAMA,aAAAA,QAAI,QAAQ,KAAK,EAAE,eAAe,MAAM;AAE5D,aAAW,MAAM,OAAO;AAChB,UAAA,EAAE,KAAS,IAAA;AACX,UAAA,WAAWC,KAAAA,KAAK,KAAK,IAAI;AAE/B,QAAI,GAAG,OAAO,KAAKC,KAAQ,QAAA,IAAI,MAAM,OAAO;AACpC,YAAA,MAAMC,KAAAA,SAAS,MAAM,KAAK;AACvB,eAAA,GAAG,IAAIC,YAAA,cAAc,QAAQ;AAAA,IACxC;AAAA,EACF;AAEA,SAAO,IAAI,UAAU,EAAE,IAAI,YAAY,QAAQ;AACjD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"policies.mjs","sources":["../../src/loaders/policies.ts"],"sourcesContent":["import { join, extname, basename } from 'path';\nimport fse from 'fs-extra';\nimport { importDefault } from '@strapi/utils';\n\nimport type { Strapi, Common } from '@strapi/types';\n\n// TODO:: allow folders with index.js inside for bigger policies\nexport default async function loadPolicies(strapi: Strapi) {\n const dir = strapi.dirs.dist.policies;\n\n if (!(await fse.pathExists(dir))) {\n return;\n }\n\n const policies: Record<string, Common.Policy> = {};\n const paths = await fse.readdir(dir, { withFileTypes: true });\n\n for (const fd of paths) {\n const { name } = fd;\n const fullPath = join(dir, name);\n\n if (fd.isFile() && extname(name) === '.js') {\n const key = basename(name, '.js');\n policies[key] = importDefault(fullPath);\n }\n }\n\n strapi.get('policies').add(`global::`, policies);\n}\n"],"names":[],"mappings":";;;AAOA,eAA8B,aAAa,QAAgB;AACnD,QAAA,MAAM,OAAO,KAAK,KAAK;AAE7B,MAAI,CAAE,MAAM,IAAI,WAAW,GAAG,GAAI;AAChC;AAAA,EACF;AAEA,QAAM,WAA0C,CAAA;AAC1C,QAAA,QAAQ,MAAM,IAAI,QAAQ,KAAK,EAAE,eAAe,MAAM;AAE5D,aAAW,MAAM,OAAO;AAChB,UAAA,EAAE,KAAS,IAAA;AACX,UAAA,WAAW,KAAK,KAAK,IAAI;AAE/B,QAAI,GAAG,OAAO,KAAK,QAAQ,IAAI,MAAM,OAAO;AACpC,YAAA,MAAM,SAAS,MAAM,KAAK;AACvB,eAAA,GAAG,IAAI,cAAc,QAAQ;AAAA,IACxC;AAAA,EACF;AAEA,SAAO,IAAI,UAAU,EAAE,IAAI,YAAY,QAAQ;AACjD;"}
1
+ {"version":3,"file":"policies.mjs","sources":["../../src/loaders/policies.ts"],"sourcesContent":["import { join, extname, basename } from 'path';\nimport fse from 'fs-extra';\nimport { importDefault } from '@strapi/utils';\n\nimport type { Core } from '@strapi/types';\n\n// TODO:: allow folders with index.js inside for bigger policies\nexport default async function loadPolicies(strapi: Core.Strapi) {\n const dir = strapi.dirs.dist.policies;\n\n if (!(await fse.pathExists(dir))) {\n return;\n }\n\n const policies: Record<string, Core.Policy> = {};\n const paths = await fse.readdir(dir, { withFileTypes: true });\n\n for (const fd of paths) {\n const { name } = fd;\n const fullPath = join(dir, name);\n\n if (fd.isFile() && extname(name) === '.js') {\n const key = basename(name, '.js');\n policies[key] = importDefault(fullPath);\n }\n }\n\n strapi.get('policies').add(`global::`, policies);\n}\n"],"names":[],"mappings":";;;AAOA,eAA8B,aAAa,QAAqB;AACxD,QAAA,MAAM,OAAO,KAAK,KAAK;AAE7B,MAAI,CAAE,MAAM,IAAI,WAAW,GAAG,GAAI;AAChC;AAAA,EACF;AAEA,QAAM,WAAwC,CAAA;AACxC,QAAA,QAAQ,MAAM,IAAI,QAAQ,KAAK,EAAE,eAAe,MAAM;AAE5D,aAAW,MAAM,OAAO;AAChB,UAAA,EAAE,KAAS,IAAA;AACX,UAAA,WAAW,KAAK,KAAK,IAAI;AAE/B,QAAI,GAAG,OAAO,KAAK,QAAQ,IAAI,MAAM,OAAO;AACpC,YAAA,MAAM,SAAS,MAAM,KAAK;AACvB,eAAA,GAAG,IAAI,cAAc,QAAQ;AAAA,IACxC;AAAA,EACF;AAEA,SAAO,IAAI,UAAU,EAAE,IAAI,YAAY,QAAQ;AACjD;"}
@@ -1,4 +1,4 @@
1
- import type { Strapi } from '@strapi/types';
2
- declare const _default: (strapi: Strapi) => void;
1
+ import type { Core } from '@strapi/types';
2
+ declare const _default: (strapi: Core.Strapi) => void;
3
3
  export default _default;
4
4
  //# sourceMappingURL=sanitizers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sanitizers.d.ts","sourceRoot":"","sources":["../../src/loaders/sanitizers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;iCAEpB,MAAM;AAA9B,wBAEE"}
1
+ {"version":3,"file":"sanitizers.d.ts","sourceRoot":"","sources":["../../src/loaders/sanitizers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;iCAElB,KAAK,MAAM;AAAnC,wBAEE"}
@@ -1 +1 @@
1
- {"version":3,"file":"sanitizers.js","sources":["../../src/loaders/sanitizers.ts"],"sourcesContent":["import type { Strapi } from '@strapi/types';\n\nexport default (strapi: Strapi) => {\n strapi.get('sanitizers').set('content-api', { input: [], output: [], query: [] });\n};\n"],"names":[],"mappings":";AAEA,MAAe,iBAAA,CAAC,WAAmB;AACjC,SAAO,IAAI,YAAY,EAAE,IAAI,eAAe,EAAE,OAAO,CAAA,GAAI,QAAQ,CAAA,GAAI,OAAO,CAAA,EAAI,CAAA;AAClF;;"}
1
+ {"version":3,"file":"sanitizers.js","sources":["../../src/loaders/sanitizers.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nexport default (strapi: Core.Strapi) => {\n strapi.get('sanitizers').set('content-api', { input: [], output: [], query: [] });\n};\n"],"names":[],"mappings":";AAEA,MAAe,iBAAA,CAAC,WAAwB;AACtC,SAAO,IAAI,YAAY,EAAE,IAAI,eAAe,EAAE,OAAO,CAAA,GAAI,QAAQ,CAAA,GAAI,OAAO,CAAA,EAAI,CAAA;AAClF;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"sanitizers.mjs","sources":["../../src/loaders/sanitizers.ts"],"sourcesContent":["import type { Strapi } from '@strapi/types';\n\nexport default (strapi: Strapi) => {\n strapi.get('sanitizers').set('content-api', { input: [], output: [], query: [] });\n};\n"],"names":[],"mappings":"AAEA,MAAe,iBAAA,CAAC,WAAmB;AACjC,SAAO,IAAI,YAAY,EAAE,IAAI,eAAe,EAAE,OAAO,CAAA,GAAI,QAAQ,CAAA,GAAI,OAAO,CAAA,EAAI,CAAA;AAClF;"}
1
+ {"version":3,"file":"sanitizers.mjs","sources":["../../src/loaders/sanitizers.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nexport default (strapi: Core.Strapi) => {\n strapi.get('sanitizers').set('content-api', { input: [], output: [], query: [] });\n};\n"],"names":[],"mappings":"AAEA,MAAe,iBAAA,CAAC,WAAwB;AACtC,SAAO,IAAI,YAAY,EAAE,IAAI,eAAe,EAAE,OAAO,CAAA,GAAI,QAAQ,CAAA,GAAI,OAAO,CAAA,EAAI,CAAA;AAClF;"}
@@ -1,4 +1,4 @@
1
- import type { Strapi } from '@strapi/types';
2
- declare const _default: (strapi: Strapi) => {} | undefined;
1
+ import type { Core } from '@strapi/types';
2
+ declare const _default: (strapi: Core.Strapi) => {} | undefined;
3
3
  export default _default;
4
4
  //# sourceMappingURL=src-index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"src-index.d.ts","sourceRoot":"","sources":["../../src/loaders/src-index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;iCAepB,MAAM;AAA9B,wBAuBE"}
1
+ {"version":3,"file":"src-index.d.ts","sourceRoot":"","sources":["../../src/loaders/src-index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;iCAelB,KAAK,MAAM;AAAnC,wBAuBE"}
@@ -1 +1 @@
1
- {"version":3,"file":"src-index.js","sources":["../../src/loaders/src-index.ts"],"sourcesContent":["import { resolve } from 'path';\nimport { statSync, existsSync } from 'fs';\nimport { yup, importDefault } from '@strapi/utils';\n\nimport type { Strapi } from '@strapi/types';\n\nconst srcSchema = yup\n .object()\n .shape({\n bootstrap: yup.mixed().isFunction(),\n register: yup.mixed().isFunction(),\n destroy: yup.mixed().isFunction(),\n })\n .noUnknown();\n\nconst validateSrcIndex = (srcIndex: unknown) => {\n return srcSchema.validateSync(srcIndex, { strict: true, abortEarly: false });\n};\n\nexport default (strapi: Strapi) => {\n if (!existsSync(strapi.dirs.dist.src)) {\n return;\n }\n\n const pathToSrcIndex = resolve(strapi.dirs.dist.src, 'index.js');\n if (!existsSync(pathToSrcIndex) || statSync(pathToSrcIndex).isDirectory()) {\n return {};\n }\n\n const srcIndex = importDefault(pathToSrcIndex);\n\n try {\n validateSrcIndex(srcIndex);\n } catch (e) {\n if (e instanceof yup.ValidationError) {\n strapi.stopWithError({ message: `Invalid file \\`./src/index.js\\`: ${e.message}` });\n }\n\n throw e;\n }\n\n strapi.app = srcIndex;\n};\n"],"names":["yup","existsSync","resolve","statSync","importDefault"],"mappings":";;;;AAMA,MAAM,YAAYA,YAAA,IACf,OAAO,EACP,MAAM;AAAA,EACL,WAAWA,YAAA,IAAI,MAAM,EAAE,WAAW;AAAA,EAClC,UAAUA,YAAA,IAAI,MAAM,EAAE,WAAW;AAAA,EACjC,SAASA,YAAA,IAAI,MAAM,EAAE,WAAW;AAClC,CAAC,EACA,UAAU;AAEb,MAAM,mBAAmB,CAAC,aAAsB;AACvC,SAAA,UAAU,aAAa,UAAU,EAAE,QAAQ,MAAM,YAAY,OAAO;AAC7E;AAEA,MAAe,eAAA,CAAC,WAAmB;AACjC,MAAI,CAACC,GAAW,WAAA,OAAO,KAAK,KAAK,GAAG,GAAG;AACrC;AAAA,EACF;AAEA,QAAM,iBAAiBC,KAAAA,QAAQ,OAAO,KAAK,KAAK,KAAK,UAAU;AAC3D,MAAA,CAACD,cAAW,cAAc,KAAKE,YAAS,cAAc,EAAE,eAAe;AACzE,WAAO;EACT;AAEM,QAAA,WAAWC,0BAAc,cAAc;AAEzC,MAAA;AACF,qBAAiB,QAAQ;AAAA,WAClB,GAAG;AACN,QAAA,aAAaJ,gBAAI,iBAAiB;AACpC,aAAO,cAAc,EAAE,SAAS,oCAAoC,EAAE,OAAO,IAAI;AAAA,IACnF;AAEM,UAAA;AAAA,EACR;AAEA,SAAO,MAAM;AACf;;"}
1
+ {"version":3,"file":"src-index.js","sources":["../../src/loaders/src-index.ts"],"sourcesContent":["import { resolve } from 'path';\nimport { statSync, existsSync } from 'fs';\nimport { yup, importDefault } from '@strapi/utils';\n\nimport type { Core } from '@strapi/types';\n\nconst srcSchema = yup\n .object()\n .shape({\n bootstrap: yup.mixed().isFunction(),\n register: yup.mixed().isFunction(),\n destroy: yup.mixed().isFunction(),\n })\n .noUnknown();\n\nconst validateSrcIndex = (srcIndex: unknown) => {\n return srcSchema.validateSync(srcIndex, { strict: true, abortEarly: false });\n};\n\nexport default (strapi: Core.Strapi) => {\n if (!existsSync(strapi.dirs.dist.src)) {\n return;\n }\n\n const pathToSrcIndex = resolve(strapi.dirs.dist.src, 'index.js');\n if (!existsSync(pathToSrcIndex) || statSync(pathToSrcIndex).isDirectory()) {\n return {};\n }\n\n const srcIndex = importDefault(pathToSrcIndex);\n\n try {\n validateSrcIndex(srcIndex);\n } catch (e) {\n if (e instanceof yup.ValidationError) {\n strapi.stopWithError({ message: `Invalid file \\`./src/index.js\\`: ${e.message}` });\n }\n\n throw e;\n }\n\n strapi.app = srcIndex;\n};\n"],"names":["yup","existsSync","resolve","statSync","importDefault"],"mappings":";;;;AAMA,MAAM,YAAYA,YAAA,IACf,OAAO,EACP,MAAM;AAAA,EACL,WAAWA,YAAA,IAAI,MAAM,EAAE,WAAW;AAAA,EAClC,UAAUA,YAAA,IAAI,MAAM,EAAE,WAAW;AAAA,EACjC,SAASA,YAAA,IAAI,MAAM,EAAE,WAAW;AAClC,CAAC,EACA,UAAU;AAEb,MAAM,mBAAmB,CAAC,aAAsB;AACvC,SAAA,UAAU,aAAa,UAAU,EAAE,QAAQ,MAAM,YAAY,OAAO;AAC7E;AAEA,MAAe,eAAA,CAAC,WAAwB;AACtC,MAAI,CAACC,GAAW,WAAA,OAAO,KAAK,KAAK,GAAG,GAAG;AACrC;AAAA,EACF;AAEA,QAAM,iBAAiBC,KAAAA,QAAQ,OAAO,KAAK,KAAK,KAAK,UAAU;AAC3D,MAAA,CAACD,cAAW,cAAc,KAAKE,YAAS,cAAc,EAAE,eAAe;AACzE,WAAO;EACT;AAEM,QAAA,WAAWC,0BAAc,cAAc;AAEzC,MAAA;AACF,qBAAiB,QAAQ;AAAA,WAClB,GAAG;AACN,QAAA,aAAaJ,gBAAI,iBAAiB;AACpC,aAAO,cAAc,EAAE,SAAS,oCAAoC,EAAE,OAAO,IAAI;AAAA,IACnF;AAEM,UAAA;AAAA,EACR;AAEA,SAAO,MAAM;AACf;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"src-index.mjs","sources":["../../src/loaders/src-index.ts"],"sourcesContent":["import { resolve } from 'path';\nimport { statSync, existsSync } from 'fs';\nimport { yup, importDefault } from '@strapi/utils';\n\nimport type { Strapi } from '@strapi/types';\n\nconst srcSchema = yup\n .object()\n .shape({\n bootstrap: yup.mixed().isFunction(),\n register: yup.mixed().isFunction(),\n destroy: yup.mixed().isFunction(),\n })\n .noUnknown();\n\nconst validateSrcIndex = (srcIndex: unknown) => {\n return srcSchema.validateSync(srcIndex, { strict: true, abortEarly: false });\n};\n\nexport default (strapi: Strapi) => {\n if (!existsSync(strapi.dirs.dist.src)) {\n return;\n }\n\n const pathToSrcIndex = resolve(strapi.dirs.dist.src, 'index.js');\n if (!existsSync(pathToSrcIndex) || statSync(pathToSrcIndex).isDirectory()) {\n return {};\n }\n\n const srcIndex = importDefault(pathToSrcIndex);\n\n try {\n validateSrcIndex(srcIndex);\n } catch (e) {\n if (e instanceof yup.ValidationError) {\n strapi.stopWithError({ message: `Invalid file \\`./src/index.js\\`: ${e.message}` });\n }\n\n throw e;\n }\n\n strapi.app = srcIndex;\n};\n"],"names":[],"mappings":";;;AAMA,MAAM,YAAY,IACf,OAAO,EACP,MAAM;AAAA,EACL,WAAW,IAAI,MAAM,EAAE,WAAW;AAAA,EAClC,UAAU,IAAI,MAAM,EAAE,WAAW;AAAA,EACjC,SAAS,IAAI,MAAM,EAAE,WAAW;AAClC,CAAC,EACA,UAAU;AAEb,MAAM,mBAAmB,CAAC,aAAsB;AACvC,SAAA,UAAU,aAAa,UAAU,EAAE,QAAQ,MAAM,YAAY,OAAO;AAC7E;AAEA,MAAe,eAAA,CAAC,WAAmB;AACjC,MAAI,CAAC,WAAW,OAAO,KAAK,KAAK,GAAG,GAAG;AACrC;AAAA,EACF;AAEA,QAAM,iBAAiB,QAAQ,OAAO,KAAK,KAAK,KAAK,UAAU;AAC3D,MAAA,CAAC,WAAW,cAAc,KAAK,SAAS,cAAc,EAAE,eAAe;AACzE,WAAO;EACT;AAEM,QAAA,WAAW,cAAc,cAAc;AAEzC,MAAA;AACF,qBAAiB,QAAQ;AAAA,WAClB,GAAG;AACN,QAAA,aAAa,IAAI,iBAAiB;AACpC,aAAO,cAAc,EAAE,SAAS,oCAAoC,EAAE,OAAO,IAAI;AAAA,IACnF;AAEM,UAAA;AAAA,EACR;AAEA,SAAO,MAAM;AACf;"}
1
+ {"version":3,"file":"src-index.mjs","sources":["../../src/loaders/src-index.ts"],"sourcesContent":["import { resolve } from 'path';\nimport { statSync, existsSync } from 'fs';\nimport { yup, importDefault } from '@strapi/utils';\n\nimport type { Core } from '@strapi/types';\n\nconst srcSchema = yup\n .object()\n .shape({\n bootstrap: yup.mixed().isFunction(),\n register: yup.mixed().isFunction(),\n destroy: yup.mixed().isFunction(),\n })\n .noUnknown();\n\nconst validateSrcIndex = (srcIndex: unknown) => {\n return srcSchema.validateSync(srcIndex, { strict: true, abortEarly: false });\n};\n\nexport default (strapi: Core.Strapi) => {\n if (!existsSync(strapi.dirs.dist.src)) {\n return;\n }\n\n const pathToSrcIndex = resolve(strapi.dirs.dist.src, 'index.js');\n if (!existsSync(pathToSrcIndex) || statSync(pathToSrcIndex).isDirectory()) {\n return {};\n }\n\n const srcIndex = importDefault(pathToSrcIndex);\n\n try {\n validateSrcIndex(srcIndex);\n } catch (e) {\n if (e instanceof yup.ValidationError) {\n strapi.stopWithError({ message: `Invalid file \\`./src/index.js\\`: ${e.message}` });\n }\n\n throw e;\n }\n\n strapi.app = srcIndex;\n};\n"],"names":[],"mappings":";;;AAMA,MAAM,YAAY,IACf,OAAO,EACP,MAAM;AAAA,EACL,WAAW,IAAI,MAAM,EAAE,WAAW;AAAA,EAClC,UAAU,IAAI,MAAM,EAAE,WAAW;AAAA,EACjC,SAAS,IAAI,MAAM,EAAE,WAAW;AAClC,CAAC,EACA,UAAU;AAEb,MAAM,mBAAmB,CAAC,aAAsB;AACvC,SAAA,UAAU,aAAa,UAAU,EAAE,QAAQ,MAAM,YAAY,OAAO;AAC7E;AAEA,MAAe,eAAA,CAAC,WAAwB;AACtC,MAAI,CAAC,WAAW,OAAO,KAAK,KAAK,GAAG,GAAG;AACrC;AAAA,EACF;AAEA,QAAM,iBAAiB,QAAQ,OAAO,KAAK,KAAK,KAAK,UAAU;AAC3D,MAAA,CAAC,WAAW,cAAc,KAAK,SAAS,cAAc,EAAE,eAAe;AACzE,WAAO;EACT;AAEM,QAAA,WAAW,cAAc,cAAc;AAEzC,MAAA;AACF,qBAAiB,QAAQ;AAAA,WAClB,GAAG;AACN,QAAA,aAAa,IAAI,iBAAiB;AACpC,aAAO,cAAc,EAAE,SAAS,oCAAoC,EAAE,OAAO,IAAI;AAAA,IACnF;AAEM,UAAA;AAAA,EACR;AAEA,SAAO,MAAM;AACf;"}
@@ -1,4 +1,4 @@
1
- import type { Strapi } from '@strapi/types';
2
- declare const _default: (strapi: Strapi) => void;
1
+ import type { Core } from '@strapi/types';
2
+ declare const _default: (strapi: Core.Strapi) => void;
3
3
  export default _default;
4
4
  //# sourceMappingURL=validators.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/loaders/validators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;iCAEpB,MAAM;AAA9B,wBAEE"}
1
+ {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/loaders/validators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;iCAElB,KAAK,MAAM;AAAnC,wBAEE"}
@@ -1 +1 @@
1
- {"version":3,"file":"validators.js","sources":["../../src/loaders/validators.ts"],"sourcesContent":["import type { Strapi } from '@strapi/types';\n\nexport default (strapi: Strapi) => {\n strapi.get('validators').set('content-api', { input: [], query: [] });\n};\n"],"names":[],"mappings":";AAEA,MAAe,iBAAA,CAAC,WAAmB;AACjC,SAAO,IAAI,YAAY,EAAE,IAAI,eAAe,EAAE,OAAO,CAAI,GAAA,OAAO,CAAA,EAAI,CAAA;AACtE;;"}
1
+ {"version":3,"file":"validators.js","sources":["../../src/loaders/validators.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nexport default (strapi: Core.Strapi) => {\n strapi.get('validators').set('content-api', { input: [], query: [] });\n};\n"],"names":[],"mappings":";AAEA,MAAe,iBAAA,CAAC,WAAwB;AACtC,SAAO,IAAI,YAAY,EAAE,IAAI,eAAe,EAAE,OAAO,CAAI,GAAA,OAAO,CAAA,EAAI,CAAA;AACtE;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"validators.mjs","sources":["../../src/loaders/validators.ts"],"sourcesContent":["import type { Strapi } from '@strapi/types';\n\nexport default (strapi: Strapi) => {\n strapi.get('validators').set('content-api', { input: [], query: [] });\n};\n"],"names":[],"mappings":"AAEA,MAAe,iBAAA,CAAC,WAAmB;AACjC,SAAO,IAAI,YAAY,EAAE,IAAI,eAAe,EAAE,OAAO,CAAI,GAAA,OAAO,CAAA,EAAI,CAAA;AACtE;"}
1
+ {"version":3,"file":"validators.mjs","sources":["../../src/loaders/validators.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nexport default (strapi: Core.Strapi) => {\n strapi.get('validators').set('content-api', { input: [], query: [] });\n};\n"],"names":[],"mappings":"AAEA,MAAe,iBAAA,CAAC,WAAwB;AACtC,SAAO,IAAI,YAAY,EAAE,IAAI,eAAe,EAAE,OAAO,CAAI,GAAA,OAAO,CAAA,EAAI,CAAA;AACtE;"}
@@ -1,6 +1,6 @@
1
- import body from 'koa-body';
2
- import type { Common } from '@strapi/types';
3
- export type Config = body.IKoaBodyOptions;
4
- declare const bodyMiddleware: Common.MiddlewareFactory<Config>;
1
+ import { KoaBodyMiddlewareOptions } from 'koa-body';
2
+ import type { Core } from '@strapi/types';
3
+ export type Config = KoaBodyMiddlewareOptions;
4
+ declare const bodyMiddleware: Core.MiddlewareFactory<Config>;
5
5
  export { bodyMiddleware as body };
6
6
  //# sourceMappingURL=body.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../src/middlewares/body.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,UAAU,CAAC;AAG5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;AAiB1C,QAAA,MAAM,cAAc,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,CA2DpD,CAAC;AAEF,OAAO,EAAE,cAAc,IAAI,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../src/middlewares/body.ts"],"names":[],"mappings":"AAEA,OAAa,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAG1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,MAAM,MAAM,GAAG,wBAAwB,CAAC;AAiB9C,QAAA,MAAM,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CA2DlD,CAAC;AAEF,OAAO,EAAE,cAAc,IAAI,IAAI,EAAE,CAAC"}
@@ -32,7 +32,7 @@ const bodyMiddleware = (config, { strapi }) => {
32
32
  await next();
33
33
  } else {
34
34
  try {
35
- await body__default.default({ patchKoa: true, ...bodyConfig })(ctx, async () => {
35
+ await body__default.default(bodyConfig)(ctx, async () => {
36
36
  });
37
37
  const files2 = getFiles(ctx);
38
38
  if (files2) {
@@ -53,9 +53,9 @@ const bodyMiddleware = (config, { strapi }) => {
53
53
  const files = getFiles(ctx);
54
54
  if (files) {
55
55
  if (Array.isArray(files)) {
56
- Promise.all(files.map((file) => fse__default.default.remove(file.path)));
57
- } else if (files && files.path) {
58
- fse__default.default.remove(files.path);
56
+ Promise.all(files.map((file) => fse__default.default.remove(file.filepath)));
57
+ } else if (files && files.filepath) {
58
+ fse__default.default.remove(files.filepath);
59
59
  }
60
60
  delete ctx.request.files;
61
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"body.js","sources":["../../src/middlewares/body.ts"],"sourcesContent":["import fse from 'fs-extra';\nimport { defaultsDeep } from 'lodash/fp';\nimport body from 'koa-body';\nimport mime from 'mime-types';\nimport type Koa from 'koa';\nimport type { Common } from '@strapi/types';\n\nexport type Config = body.IKoaBodyOptions;\n\nconst defaults = {\n multipart: true,\n patchKoa: true,\n};\n\nfunction ensureFileMimeType(file: any): void {\n if (!file.type) {\n file.type = mime.lookup(file.name) || 'application/octet-stream';\n }\n}\n\nfunction getFiles(ctx: Koa.Context) {\n return ctx?.request?.files?.files;\n}\n\nconst bodyMiddleware: Common.MiddlewareFactory<Config> = (config, { strapi }) => {\n const bodyConfig: Config = defaultsDeep(defaults, config);\n\n let gqlEndpoint: string | undefined;\n if (strapi.plugin('graphql')) {\n const { config: gqlConfig } = strapi.plugin('graphql');\n gqlEndpoint = gqlConfig('endpoint');\n }\n\n return async (ctx, next) => {\n // TODO: find a better way later\n if (gqlEndpoint && ctx.url === gqlEndpoint) {\n await next();\n } else {\n try {\n await body({ patchKoa: true, ...bodyConfig })(ctx, async () => {});\n\n const files = getFiles(ctx);\n\n /**\n * in case the mime-type wasn't sent, Strapi tries to guess it\n * from the file extension, to avoid a corrupt database state\n */\n if (files) {\n if (Array.isArray(files)) {\n files.forEach(ensureFileMimeType);\n } else {\n ensureFileMimeType(files);\n }\n }\n\n await next();\n } catch (error) {\n if (\n error instanceof Error &&\n error.message &&\n error.message.includes('maxFileSize exceeded')\n ) {\n return ctx.payloadTooLarge('FileTooBig');\n }\n\n throw error;\n }\n }\n\n const files = getFiles(ctx);\n\n // clean any file that was uploaded\n if (files) {\n if (Array.isArray(files)) {\n // not awaiting to not slow the request\n Promise.all(files.map((file) => fse.remove(file.path)));\n } else if (files && files.path) {\n // not awaiting to not slow the request\n fse.remove(files.path);\n }\n delete ctx.request.files;\n }\n };\n};\n\nexport { bodyMiddleware as body };\n"],"names":["mime","defaultsDeep","body","files","fse"],"mappings":";;;;;;;;;;AASA,MAAM,WAAW;AAAA,EACf,WAAW;AAAA,EACX,UAAU;AACZ;AAEA,SAAS,mBAAmB,MAAiB;AACvC,MAAA,CAAC,KAAK,MAAM;AACd,SAAK,OAAOA,sBAAK,OAAO,KAAK,IAAI,KAAK;AAAA,EACxC;AACF;AAEA,SAAS,SAAS,KAAkB;AAC3B,SAAA,KAAK,SAAS,OAAO;AAC9B;AAEA,MAAM,iBAAmD,CAAC,QAAQ,EAAE,aAAa;AACzE,QAAA,aAAqBC,EAAAA,aAAa,UAAU,MAAM;AAEpD,MAAA;AACA,MAAA,OAAO,OAAO,SAAS,GAAG;AAC5B,UAAM,EAAE,QAAQ,UAAA,IAAc,OAAO,OAAO,SAAS;AACrD,kBAAc,UAAU,UAAU;AAAA,EACpC;AAEO,SAAA,OAAO,KAAK,SAAS;AAEtB,QAAA,eAAe,IAAI,QAAQ,aAAa;AAC1C,YAAM,KAAK;AAAA,IAAA,OACN;AACD,UAAA;AACI,cAAAC,cAAAA,QAAK,EAAE,UAAU,MAAM,GAAG,WAAY,CAAA,EAAE,KAAK,YAAY;AAAA,QAAA,CAAE;AAE3DC,cAAAA,SAAQ,SAAS,GAAG;AAM1B,YAAIA,QAAO;AACL,cAAA,MAAM,QAAQA,MAAK,GAAG;AACxBA,mBAAM,QAAQ,kBAAkB;AAAA,UAAA,OAC3B;AACL,+BAAmBA,MAAK;AAAA,UAC1B;AAAA,QACF;AAEA,cAAM,KAAK;AAAA,eACJ,OAAO;AAEZ,YAAA,iBAAiB,SACjB,MAAM,WACN,MAAM,QAAQ,SAAS,sBAAsB,GAC7C;AACO,iBAAA,IAAI,gBAAgB,YAAY;AAAA,QACzC;AAEM,cAAA;AAAA,MACR;AAAA,IACF;AAEM,UAAA,QAAQ,SAAS,GAAG;AAG1B,QAAI,OAAO;AACL,UAAA,MAAM,QAAQ,KAAK,GAAG;AAEhB,gBAAA,IAAI,MAAM,IAAI,CAAC,SAASC,qBAAI,OAAO,KAAK,IAAI,CAAC,CAAC;AAAA,MAAA,WAC7C,SAAS,MAAM,MAAM;AAE1BA,qBAAAA,QAAA,OAAO,MAAM,IAAI;AAAA,MACvB;AACA,aAAO,IAAI,QAAQ;AAAA,IACrB;AAAA,EAAA;AAEJ;;"}
1
+ {"version":3,"file":"body.js","sources":["../../src/middlewares/body.ts"],"sourcesContent":["import fse from 'fs-extra';\nimport { defaultsDeep } from 'lodash/fp';\nimport body, { KoaBodyMiddlewareOptions } from 'koa-body';\nimport mime from 'mime-types';\nimport type Koa from 'koa';\nimport type { Core } from '@strapi/types';\n\nexport type Config = KoaBodyMiddlewareOptions;\n\nconst defaults = {\n multipart: true,\n patchKoa: true,\n};\n\nfunction ensureFileMimeType(file: any): void {\n if (!file.type) {\n file.type = mime.lookup(file.name) || 'application/octet-stream';\n }\n}\n\nfunction getFiles(ctx: Koa.Context) {\n return ctx?.request?.files?.files;\n}\n\nconst bodyMiddleware: Core.MiddlewareFactory<Config> = (config, { strapi }) => {\n const bodyConfig: Config = defaultsDeep(defaults, config);\n\n let gqlEndpoint: string | undefined;\n if (strapi.plugin('graphql')) {\n const { config: gqlConfig } = strapi.plugin('graphql');\n gqlEndpoint = gqlConfig('endpoint');\n }\n\n return async (ctx, next) => {\n // TODO: find a better way later\n if (gqlEndpoint && ctx.url === gqlEndpoint) {\n await next();\n } else {\n try {\n await body(bodyConfig)(ctx, async () => {});\n\n const files = getFiles(ctx);\n\n /**\n * in case the mime-type wasn't sent, Strapi tries to guess it\n * from the file extension, to avoid a corrupt database state\n */\n if (files) {\n if (Array.isArray(files)) {\n files.forEach(ensureFileMimeType);\n } else {\n ensureFileMimeType(files);\n }\n }\n\n await next();\n } catch (error) {\n if (\n error instanceof Error &&\n error.message &&\n error.message.includes('maxFileSize exceeded')\n ) {\n return ctx.payloadTooLarge('FileTooBig');\n }\n\n throw error;\n }\n }\n\n const files = getFiles(ctx);\n\n // clean any file that was uploaded\n if (files) {\n if (Array.isArray(files)) {\n // not awaiting to not slow the request\n Promise.all(files.map((file) => fse.remove(file.filepath)));\n } else if (files && files.filepath) {\n // not awaiting to not slow the request\n fse.remove(files.filepath);\n }\n delete ctx.request.files;\n }\n };\n};\n\nexport { bodyMiddleware as body };\n"],"names":["mime","defaultsDeep","body","files","fse"],"mappings":";;;;;;;;;;AASA,MAAM,WAAW;AAAA,EACf,WAAW;AAAA,EACX,UAAU;AACZ;AAEA,SAAS,mBAAmB,MAAiB;AACvC,MAAA,CAAC,KAAK,MAAM;AACd,SAAK,OAAOA,sBAAK,OAAO,KAAK,IAAI,KAAK;AAAA,EACxC;AACF;AAEA,SAAS,SAAS,KAAkB;AAC3B,SAAA,KAAK,SAAS,OAAO;AAC9B;AAEA,MAAM,iBAAiD,CAAC,QAAQ,EAAE,aAAa;AACvE,QAAA,aAAqBC,EAAAA,aAAa,UAAU,MAAM;AAEpD,MAAA;AACA,MAAA,OAAO,OAAO,SAAS,GAAG;AAC5B,UAAM,EAAE,QAAQ,UAAA,IAAc,OAAO,OAAO,SAAS;AACrD,kBAAc,UAAU,UAAU;AAAA,EACpC;AAEO,SAAA,OAAO,KAAK,SAAS;AAEtB,QAAA,eAAe,IAAI,QAAQ,aAAa;AAC1C,YAAM,KAAK;AAAA,IAAA,OACN;AACD,UAAA;AACF,cAAMC,sBAAK,UAAU,EAAE,KAAK,YAAY;AAAA,QAAA,CAAE;AAEpCC,cAAAA,SAAQ,SAAS,GAAG;AAM1B,YAAIA,QAAO;AACL,cAAA,MAAM,QAAQA,MAAK,GAAG;AACxBA,mBAAM,QAAQ,kBAAkB;AAAA,UAAA,OAC3B;AACL,+BAAmBA,MAAK;AAAA,UAC1B;AAAA,QACF;AAEA,cAAM,KAAK;AAAA,eACJ,OAAO;AAEZ,YAAA,iBAAiB,SACjB,MAAM,WACN,MAAM,QAAQ,SAAS,sBAAsB,GAC7C;AACO,iBAAA,IAAI,gBAAgB,YAAY;AAAA,QACzC;AAEM,cAAA;AAAA,MACR;AAAA,IACF;AAEM,UAAA,QAAQ,SAAS,GAAG;AAG1B,QAAI,OAAO;AACL,UAAA,MAAM,QAAQ,KAAK,GAAG;AAEhB,gBAAA,IAAI,MAAM,IAAI,CAAC,SAASC,qBAAI,OAAO,KAAK,QAAQ,CAAC,CAAC;AAAA,MAAA,WACjD,SAAS,MAAM,UAAU;AAE9BA,qBAAAA,QAAA,OAAO,MAAM,QAAQ;AAAA,MAC3B;AACA,aAAO,IAAI,QAAQ;AAAA,IACrB;AAAA,EAAA;AAEJ;;"}
@@ -26,7 +26,7 @@ const bodyMiddleware = (config, { strapi }) => {
26
26
  await next();
27
27
  } else {
28
28
  try {
29
- await body({ patchKoa: true, ...bodyConfig })(ctx, async () => {
29
+ await body(bodyConfig)(ctx, async () => {
30
30
  });
31
31
  const files2 = getFiles(ctx);
32
32
  if (files2) {
@@ -47,9 +47,9 @@ const bodyMiddleware = (config, { strapi }) => {
47
47
  const files = getFiles(ctx);
48
48
  if (files) {
49
49
  if (Array.isArray(files)) {
50
- Promise.all(files.map((file) => fse.remove(file.path)));
51
- } else if (files && files.path) {
52
- fse.remove(files.path);
50
+ Promise.all(files.map((file) => fse.remove(file.filepath)));
51
+ } else if (files && files.filepath) {
52
+ fse.remove(files.filepath);
53
53
  }
54
54
  delete ctx.request.files;
55
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"body.mjs","sources":["../../src/middlewares/body.ts"],"sourcesContent":["import fse from 'fs-extra';\nimport { defaultsDeep } from 'lodash/fp';\nimport body from 'koa-body';\nimport mime from 'mime-types';\nimport type Koa from 'koa';\nimport type { Common } from '@strapi/types';\n\nexport type Config = body.IKoaBodyOptions;\n\nconst defaults = {\n multipart: true,\n patchKoa: true,\n};\n\nfunction ensureFileMimeType(file: any): void {\n if (!file.type) {\n file.type = mime.lookup(file.name) || 'application/octet-stream';\n }\n}\n\nfunction getFiles(ctx: Koa.Context) {\n return ctx?.request?.files?.files;\n}\n\nconst bodyMiddleware: Common.MiddlewareFactory<Config> = (config, { strapi }) => {\n const bodyConfig: Config = defaultsDeep(defaults, config);\n\n let gqlEndpoint: string | undefined;\n if (strapi.plugin('graphql')) {\n const { config: gqlConfig } = strapi.plugin('graphql');\n gqlEndpoint = gqlConfig('endpoint');\n }\n\n return async (ctx, next) => {\n // TODO: find a better way later\n if (gqlEndpoint && ctx.url === gqlEndpoint) {\n await next();\n } else {\n try {\n await body({ patchKoa: true, ...bodyConfig })(ctx, async () => {});\n\n const files = getFiles(ctx);\n\n /**\n * in case the mime-type wasn't sent, Strapi tries to guess it\n * from the file extension, to avoid a corrupt database state\n */\n if (files) {\n if (Array.isArray(files)) {\n files.forEach(ensureFileMimeType);\n } else {\n ensureFileMimeType(files);\n }\n }\n\n await next();\n } catch (error) {\n if (\n error instanceof Error &&\n error.message &&\n error.message.includes('maxFileSize exceeded')\n ) {\n return ctx.payloadTooLarge('FileTooBig');\n }\n\n throw error;\n }\n }\n\n const files = getFiles(ctx);\n\n // clean any file that was uploaded\n if (files) {\n if (Array.isArray(files)) {\n // not awaiting to not slow the request\n Promise.all(files.map((file) => fse.remove(file.path)));\n } else if (files && files.path) {\n // not awaiting to not slow the request\n fse.remove(files.path);\n }\n delete ctx.request.files;\n }\n };\n};\n\nexport { bodyMiddleware as body };\n"],"names":["files"],"mappings":";;;;AASA,MAAM,WAAW;AAAA,EACf,WAAW;AAAA,EACX,UAAU;AACZ;AAEA,SAAS,mBAAmB,MAAiB;AACvC,MAAA,CAAC,KAAK,MAAM;AACd,SAAK,OAAO,KAAK,OAAO,KAAK,IAAI,KAAK;AAAA,EACxC;AACF;AAEA,SAAS,SAAS,KAAkB;AAC3B,SAAA,KAAK,SAAS,OAAO;AAC9B;AAEA,MAAM,iBAAmD,CAAC,QAAQ,EAAE,aAAa;AACzE,QAAA,aAAqB,aAAa,UAAU,MAAM;AAEpD,MAAA;AACA,MAAA,OAAO,OAAO,SAAS,GAAG;AAC5B,UAAM,EAAE,QAAQ,UAAA,IAAc,OAAO,OAAO,SAAS;AACrD,kBAAc,UAAU,UAAU;AAAA,EACpC;AAEO,SAAA,OAAO,KAAK,SAAS;AAEtB,QAAA,eAAe,IAAI,QAAQ,aAAa;AAC1C,YAAM,KAAK;AAAA,IAAA,OACN;AACD,UAAA;AACI,cAAA,KAAK,EAAE,UAAU,MAAM,GAAG,WAAY,CAAA,EAAE,KAAK,YAAY;AAAA,QAAA,CAAE;AAE3DA,cAAAA,SAAQ,SAAS,GAAG;AAM1B,YAAIA,QAAO;AACL,cAAA,MAAM,QAAQA,MAAK,GAAG;AACxBA,mBAAM,QAAQ,kBAAkB;AAAA,UAAA,OAC3B;AACL,+BAAmBA,MAAK;AAAA,UAC1B;AAAA,QACF;AAEA,cAAM,KAAK;AAAA,eACJ,OAAO;AAEZ,YAAA,iBAAiB,SACjB,MAAM,WACN,MAAM,QAAQ,SAAS,sBAAsB,GAC7C;AACO,iBAAA,IAAI,gBAAgB,YAAY;AAAA,QACzC;AAEM,cAAA;AAAA,MACR;AAAA,IACF;AAEM,UAAA,QAAQ,SAAS,GAAG;AAG1B,QAAI,OAAO;AACL,UAAA,MAAM,QAAQ,KAAK,GAAG;AAEhB,gBAAA,IAAI,MAAM,IAAI,CAAC,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC;AAAA,MAAA,WAC7C,SAAS,MAAM,MAAM;AAE1B,YAAA,OAAO,MAAM,IAAI;AAAA,MACvB;AACA,aAAO,IAAI,QAAQ;AAAA,IACrB;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"body.mjs","sources":["../../src/middlewares/body.ts"],"sourcesContent":["import fse from 'fs-extra';\nimport { defaultsDeep } from 'lodash/fp';\nimport body, { KoaBodyMiddlewareOptions } from 'koa-body';\nimport mime from 'mime-types';\nimport type Koa from 'koa';\nimport type { Core } from '@strapi/types';\n\nexport type Config = KoaBodyMiddlewareOptions;\n\nconst defaults = {\n multipart: true,\n patchKoa: true,\n};\n\nfunction ensureFileMimeType(file: any): void {\n if (!file.type) {\n file.type = mime.lookup(file.name) || 'application/octet-stream';\n }\n}\n\nfunction getFiles(ctx: Koa.Context) {\n return ctx?.request?.files?.files;\n}\n\nconst bodyMiddleware: Core.MiddlewareFactory<Config> = (config, { strapi }) => {\n const bodyConfig: Config = defaultsDeep(defaults, config);\n\n let gqlEndpoint: string | undefined;\n if (strapi.plugin('graphql')) {\n const { config: gqlConfig } = strapi.plugin('graphql');\n gqlEndpoint = gqlConfig('endpoint');\n }\n\n return async (ctx, next) => {\n // TODO: find a better way later\n if (gqlEndpoint && ctx.url === gqlEndpoint) {\n await next();\n } else {\n try {\n await body(bodyConfig)(ctx, async () => {});\n\n const files = getFiles(ctx);\n\n /**\n * in case the mime-type wasn't sent, Strapi tries to guess it\n * from the file extension, to avoid a corrupt database state\n */\n if (files) {\n if (Array.isArray(files)) {\n files.forEach(ensureFileMimeType);\n } else {\n ensureFileMimeType(files);\n }\n }\n\n await next();\n } catch (error) {\n if (\n error instanceof Error &&\n error.message &&\n error.message.includes('maxFileSize exceeded')\n ) {\n return ctx.payloadTooLarge('FileTooBig');\n }\n\n throw error;\n }\n }\n\n const files = getFiles(ctx);\n\n // clean any file that was uploaded\n if (files) {\n if (Array.isArray(files)) {\n // not awaiting to not slow the request\n Promise.all(files.map((file) => fse.remove(file.filepath)));\n } else if (files && files.filepath) {\n // not awaiting to not slow the request\n fse.remove(files.filepath);\n }\n delete ctx.request.files;\n }\n };\n};\n\nexport { bodyMiddleware as body };\n"],"names":["files"],"mappings":";;;;AASA,MAAM,WAAW;AAAA,EACf,WAAW;AAAA,EACX,UAAU;AACZ;AAEA,SAAS,mBAAmB,MAAiB;AACvC,MAAA,CAAC,KAAK,MAAM;AACd,SAAK,OAAO,KAAK,OAAO,KAAK,IAAI,KAAK;AAAA,EACxC;AACF;AAEA,SAAS,SAAS,KAAkB;AAC3B,SAAA,KAAK,SAAS,OAAO;AAC9B;AAEA,MAAM,iBAAiD,CAAC,QAAQ,EAAE,aAAa;AACvE,QAAA,aAAqB,aAAa,UAAU,MAAM;AAEpD,MAAA;AACA,MAAA,OAAO,OAAO,SAAS,GAAG;AAC5B,UAAM,EAAE,QAAQ,UAAA,IAAc,OAAO,OAAO,SAAS;AACrD,kBAAc,UAAU,UAAU;AAAA,EACpC;AAEO,SAAA,OAAO,KAAK,SAAS;AAEtB,QAAA,eAAe,IAAI,QAAQ,aAAa;AAC1C,YAAM,KAAK;AAAA,IAAA,OACN;AACD,UAAA;AACF,cAAM,KAAK,UAAU,EAAE,KAAK,YAAY;AAAA,QAAA,CAAE;AAEpCA,cAAAA,SAAQ,SAAS,GAAG;AAM1B,YAAIA,QAAO;AACL,cAAA,MAAM,QAAQA,MAAK,GAAG;AACxBA,mBAAM,QAAQ,kBAAkB;AAAA,UAAA,OAC3B;AACL,+BAAmBA,MAAK;AAAA,UAC1B;AAAA,QACF;AAEA,cAAM,KAAK;AAAA,eACJ,OAAO;AAEZ,YAAA,iBAAiB,SACjB,MAAM,WACN,MAAM,QAAQ,SAAS,sBAAsB,GAC7C;AACO,iBAAA,IAAI,gBAAgB,YAAY;AAAA,QACzC;AAEM,cAAA;AAAA,MACR;AAAA,IACF;AAEM,UAAA,QAAQ,SAAS,GAAG;AAG1B,QAAI,OAAO;AACL,UAAA,MAAM,QAAQ,KAAK,GAAG;AAEhB,gBAAA,IAAI,MAAM,IAAI,CAAC,SAAS,IAAI,OAAO,KAAK,QAAQ,CAAC,CAAC;AAAA,MAAA,WACjD,SAAS,MAAM,UAAU;AAE9B,YAAA,OAAO,MAAM,QAAQ;AAAA,MAC3B;AACA,aAAO,IAAI,QAAQ;AAAA,IACrB;AAAA,EAAA;AAEJ;"}
@@ -1,5 +1,5 @@
1
1
  import compress from 'koa-compress';
2
- import type { Common } from '@strapi/types';
2
+ import type { Core } from '@strapi/types';
3
3
  export type Config = compress.CompressOptions;
4
- export declare const compression: Common.MiddlewareFactory<Config>;
4
+ export declare const compression: Core.MiddlewareFactory<Config>;
5
5
  //# sourceMappingURL=compression.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compression.d.ts","sourceRoot":"","sources":["../../src/middlewares/compression.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,cAAc,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAC,eAAe,CAAC;AAE9C,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAgC,CAAC"}
1
+ {"version":3,"file":"compression.d.ts","sourceRoot":"","sources":["../../src/middlewares/compression.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,cAAc,CAAC;AACpC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAC,eAAe,CAAC;AAE9C,eAAO,MAAM,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAgC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"compression.js","sources":["../../src/middlewares/compression.ts"],"sourcesContent":["import compress from 'koa-compress';\nimport type { Common } from '@strapi/types';\n\nexport type Config = compress.CompressOptions;\n\nexport const compression: Common.MiddlewareFactory<Config> = (config) => compress(config);\n"],"names":["compress"],"mappings":";;;;;AAKO,MAAM,cAAgD,CAAC,WAAWA,kBAAAA,QAAS,MAAM;;"}
1
+ {"version":3,"file":"compression.js","sources":["../../src/middlewares/compression.ts"],"sourcesContent":["import compress from 'koa-compress';\nimport type { Core } from '@strapi/types';\n\nexport type Config = compress.CompressOptions;\n\nexport const compression: Core.MiddlewareFactory<Config> = (config) => compress(config);\n"],"names":["compress"],"mappings":";;;;;AAKO,MAAM,cAA8C,CAAC,WAAWA,kBAAAA,QAAS,MAAM;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"compression.mjs","sources":["../../src/middlewares/compression.ts"],"sourcesContent":["import compress from 'koa-compress';\nimport type { Common } from '@strapi/types';\n\nexport type Config = compress.CompressOptions;\n\nexport const compression: Common.MiddlewareFactory<Config> = (config) => compress(config);\n"],"names":[],"mappings":";AAKO,MAAM,cAAgD,CAAC,WAAW,SAAS,MAAM;"}
1
+ {"version":3,"file":"compression.mjs","sources":["../../src/middlewares/compression.ts"],"sourcesContent":["import compress from 'koa-compress';\nimport type { Core } from '@strapi/types';\n\nexport type Config = compress.CompressOptions;\n\nexport const compression: Core.MiddlewareFactory<Config> = (config) => compress(config);\n"],"names":[],"mappings":";AAKO,MAAM,cAA8C,CAAC,WAAW,SAAS,MAAM;"}