@strapi/core 5.48.1 → 5.50.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (420) hide show
  1. package/dist/Strapi.d.ts.map +1 -1
  2. package/dist/Strapi.js +11 -5
  3. package/dist/Strapi.js.map +1 -1
  4. package/dist/Strapi.mjs +2 -1
  5. package/dist/Strapi.mjs.map +1 -1
  6. package/dist/ai.d.ts +2 -0
  7. package/dist/ai.d.ts.map +1 -0
  8. package/dist/ai.js +8 -0
  9. package/dist/ai.js.map +1 -0
  10. package/dist/ai.mjs +3 -0
  11. package/dist/ai.mjs.map +1 -0
  12. package/dist/configuration/config-loader.d.ts.map +1 -1
  13. package/dist/configuration/config-loader.js +11 -6
  14. package/dist/configuration/config-loader.js.map +1 -1
  15. package/dist/configuration/get-dirs.d.ts.map +1 -1
  16. package/dist/configuration/index.d.ts +0 -3
  17. package/dist/configuration/index.d.ts.map +1 -1
  18. package/dist/configuration/index.js +22 -18
  19. package/dist/configuration/index.js.map +1 -1
  20. package/dist/configuration/index.mjs +0 -3
  21. package/dist/configuration/index.mjs.map +1 -1
  22. package/dist/configuration/server-config.d.ts +11 -0
  23. package/dist/configuration/server-config.d.ts.map +1 -0
  24. package/dist/configuration/server-config.js +16 -0
  25. package/dist/configuration/server-config.js.map +1 -0
  26. package/dist/configuration/server-config.mjs +14 -0
  27. package/dist/configuration/server-config.mjs.map +1 -0
  28. package/dist/configuration/urls.d.ts.map +1 -1
  29. package/dist/configuration/urls.js +11 -7
  30. package/dist/configuration/urls.js.map +1 -1
  31. package/dist/core-api/controller/collection-type.d.ts.map +1 -1
  32. package/dist/core-api/controller/single-type.d.ts.map +1 -1
  33. package/dist/core-api/controller/transform.d.ts.map +1 -1
  34. package/dist/core-api/routes/index.d.ts.map +1 -1
  35. package/dist/core-api/routes/index.js +3 -2
  36. package/dist/core-api/routes/index.js.map +1 -1
  37. package/dist/core-api/routes/validation/attributes.d.ts.map +1 -1
  38. package/dist/core-api/routes/validation/common.js +3 -2
  39. package/dist/core-api/routes/validation/common.js.map +1 -1
  40. package/dist/core-api/routes/validation/content-type.js +3 -2
  41. package/dist/core-api/routes/validation/content-type.js.map +1 -1
  42. package/dist/core-api/routes/validation/mappers.d.ts.map +1 -1
  43. package/dist/core-api/routes/validation/mappers.js +3 -2
  44. package/dist/core-api/routes/validation/mappers.js.map +1 -1
  45. package/dist/core-api/routes/validation/utils.d.ts.map +1 -1
  46. package/dist/core-api/routes/validation/utils.js +3 -2
  47. package/dist/core-api/routes/validation/utils.js.map +1 -1
  48. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  49. package/dist/core-api/service/pagination.d.ts.map +1 -1
  50. package/dist/core-api/service/single-type.d.ts.map +1 -1
  51. package/dist/domain/content-type/index.d.ts.map +1 -1
  52. package/dist/domain/content-type/index.js +9 -5
  53. package/dist/domain/content-type/index.js.map +1 -1
  54. package/dist/domain/content-type/validator.d.ts.map +1 -1
  55. package/dist/domain/content-type/validator.js +6 -2
  56. package/dist/domain/content-type/validator.js.map +1 -1
  57. package/dist/domain/module/index.d.ts.map +1 -1
  58. package/dist/domain/module/index.js +6 -2
  59. package/dist/domain/module/index.js.map +1 -1
  60. package/dist/domain/module/validation.d.ts.map +1 -1
  61. package/dist/ee/index.d.ts +2 -1
  62. package/dist/ee/index.d.ts.map +1 -1
  63. package/dist/ee/license.d.ts.map +1 -1
  64. package/dist/ee/license.js +8 -3
  65. package/dist/ee/license.js.map +1 -1
  66. package/dist/factories.d.ts.map +1 -1
  67. package/dist/index.d.ts +5 -1
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +2 -0
  70. package/dist/index.js.map +1 -1
  71. package/dist/index.mjs +2 -0
  72. package/dist/index.mjs.map +1 -1
  73. package/dist/loaders/admin.js +5 -1
  74. package/dist/loaders/admin.js.map +1 -1
  75. package/dist/loaders/apis.js +16 -11
  76. package/dist/loaders/apis.js.map +1 -1
  77. package/dist/loaders/components.js +6 -2
  78. package/dist/loaders/components.js.map +1 -1
  79. package/dist/loaders/middlewares.js +6 -2
  80. package/dist/loaders/middlewares.js.map +1 -1
  81. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  82. package/dist/loaders/plugins/get-enabled-plugins.js +5 -1
  83. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  84. package/dist/loaders/plugins/get-user-plugins-config.js +6 -2
  85. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  86. package/dist/loaders/plugins/index.js +8 -4
  87. package/dist/loaders/plugins/index.js.map +1 -1
  88. package/dist/loaders/policies.js +6 -2
  89. package/dist/loaders/policies.js.map +1 -1
  90. package/dist/loaders/sanitizers.d.ts.map +1 -1
  91. package/dist/loaders/src-index.d.ts.map +1 -1
  92. package/dist/loaders/validators.d.ts.map +1 -1
  93. package/dist/mcp.d.ts +4 -0
  94. package/dist/mcp.d.ts.map +1 -0
  95. package/dist/mcp.js +12 -0
  96. package/dist/mcp.js.map +1 -0
  97. package/dist/mcp.mjs +4 -0
  98. package/dist/mcp.mjs.map +1 -0
  99. package/dist/middlewares/body.d.ts.map +1 -1
  100. package/dist/middlewares/body.js +9 -4
  101. package/dist/middlewares/body.js.map +1 -1
  102. package/dist/middlewares/body.mjs +1 -1
  103. package/dist/middlewares/body.mjs.map +1 -1
  104. package/dist/middlewares/compression.js +5 -1
  105. package/dist/middlewares/compression.js.map +1 -1
  106. package/dist/middlewares/cors.d.ts.map +1 -1
  107. package/dist/middlewares/cors.js +5 -1
  108. package/dist/middlewares/cors.js.map +1 -1
  109. package/dist/middlewares/errors.d.ts +5 -0
  110. package/dist/middlewares/errors.d.ts.map +1 -1
  111. package/dist/middlewares/errors.js.map +1 -1
  112. package/dist/middlewares/errors.mjs.map +1 -1
  113. package/dist/middlewares/favicon.d.ts +0 -1
  114. package/dist/middlewares/favicon.d.ts.map +1 -1
  115. package/dist/middlewares/favicon.js +5 -1
  116. package/dist/middlewares/favicon.js.map +1 -1
  117. package/dist/middlewares/ip.js +5 -1
  118. package/dist/middlewares/ip.js.map +1 -1
  119. package/dist/middlewares/public.js +5 -1
  120. package/dist/middlewares/public.js.map +1 -1
  121. package/dist/middlewares/query.js +6 -2
  122. package/dist/middlewares/query.js.map +1 -1
  123. package/dist/middlewares/security.js +5 -1
  124. package/dist/middlewares/security.js.map +1 -1
  125. package/dist/migrations/database/5.0.0-discard-drafts.js +5 -1
  126. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -1
  127. package/dist/migrations/draft-publish.d.ts.map +1 -1
  128. package/dist/migrations/first-published-at.d.ts.map +1 -1
  129. package/dist/migrations/first-published-at.js +5 -1
  130. package/dist/migrations/first-published-at.js.map +1 -1
  131. package/dist/migrations/i18n.d.ts.map +1 -1
  132. package/dist/migrations/index.d.ts.map +1 -1
  133. package/dist/package.json.js +18 -21
  134. package/dist/package.json.js.map +1 -1
  135. package/dist/package.json.mjs +18 -21
  136. package/dist/package.json.mjs.map +1 -1
  137. package/dist/providers/provider.d.ts.map +1 -1
  138. package/dist/registries/apis.d.ts.map +1 -1
  139. package/dist/registries/components.d.ts +1 -1
  140. package/dist/registries/components.d.ts.map +1 -1
  141. package/dist/registries/content-types.d.ts +2 -3
  142. package/dist/registries/content-types.d.ts.map +1 -1
  143. package/dist/registries/controllers.d.ts +3 -3
  144. package/dist/registries/controllers.d.ts.map +1 -1
  145. package/dist/registries/custom-fields.d.ts.map +1 -1
  146. package/dist/registries/hooks.d.ts +3 -4
  147. package/dist/registries/hooks.d.ts.map +1 -1
  148. package/dist/registries/middlewares.d.ts +2 -3
  149. package/dist/registries/middlewares.d.ts.map +1 -1
  150. package/dist/registries/models.d.ts +1 -1
  151. package/dist/registries/modules.d.ts.map +1 -1
  152. package/dist/registries/namespace.d.ts.map +1 -1
  153. package/dist/registries/plugins.d.ts.map +1 -1
  154. package/dist/registries/policies.d.ts +1 -2
  155. package/dist/registries/policies.d.ts.map +1 -1
  156. package/dist/registries/sanitizers.d.ts +2 -2
  157. package/dist/registries/sanitizers.js +7 -3
  158. package/dist/registries/sanitizers.js.map +1 -1
  159. package/dist/registries/services.d.ts +3 -3
  160. package/dist/registries/services.d.ts.map +1 -1
  161. package/dist/registries/validators.d.ts +2 -2
  162. package/dist/registries/validators.js +7 -3
  163. package/dist/registries/validators.js.map +1 -1
  164. package/dist/services/ai.d.ts.map +1 -1
  165. package/dist/services/auth/index.js +7 -3
  166. package/dist/services/auth/index.js.map +1 -1
  167. package/dist/services/config.d.ts.map +1 -1
  168. package/dist/services/content-api/index.d.ts +4 -4
  169. package/dist/services/content-api/index.d.ts.map +1 -1
  170. package/dist/services/content-api/index.js +10 -6
  171. package/dist/services/content-api/index.js.map +1 -1
  172. package/dist/services/content-api/permissions/engine.d.ts.map +1 -1
  173. package/dist/services/content-api/permissions/engine.js +5 -1
  174. package/dist/services/content-api/permissions/engine.js.map +1 -1
  175. package/dist/services/content-api/permissions/index.d.ts +2 -2
  176. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  177. package/dist/services/content-api/permissions/index.js +10 -6
  178. package/dist/services/content-api/permissions/index.js.map +1 -1
  179. package/dist/services/content-api/permissions/providers/action.d.ts +1 -1
  180. package/dist/services/content-api/permissions/providers/action.d.ts.map +1 -1
  181. package/dist/services/content-api/permissions/providers/condition.d.ts +1 -1
  182. package/dist/services/content-api/permissions/providers/condition.d.ts.map +1 -1
  183. package/dist/services/content-source-maps.d.ts.map +1 -1
  184. package/dist/services/core-store.d.ts.map +1 -1
  185. package/dist/services/cron.d.ts +5 -5
  186. package/dist/services/custom-fields.d.ts.map +1 -1
  187. package/dist/services/document-service/attributes/index.d.ts +0 -1
  188. package/dist/services/document-service/attributes/index.d.ts.map +1 -1
  189. package/dist/services/document-service/attributes/transforms.js +5 -1
  190. package/dist/services/document-service/attributes/transforms.js.map +1 -1
  191. package/dist/services/document-service/common.d.ts.map +1 -1
  192. package/dist/services/document-service/components.d.ts +2 -2
  193. package/dist/services/document-service/components.d.ts.map +1 -1
  194. package/dist/services/document-service/components.js +14 -10
  195. package/dist/services/document-service/components.js.map +1 -1
  196. package/dist/services/document-service/components.mjs.map +1 -1
  197. package/dist/services/document-service/draft-and-publish.d.ts +0 -1
  198. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  199. package/dist/services/document-service/draft-and-publish.js +1 -1
  200. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  201. package/dist/services/document-service/draft-and-publish.mjs +1 -1
  202. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  203. package/dist/services/document-service/entries.d.ts.map +1 -1
  204. package/dist/services/document-service/entries.js +6 -2
  205. package/dist/services/document-service/entries.js.map +1 -1
  206. package/dist/services/document-service/entries.mjs +7 -3
  207. package/dist/services/document-service/entries.mjs.map +1 -1
  208. package/dist/services/document-service/events.d.ts.map +1 -1
  209. package/dist/services/document-service/first-published-at.d.ts.map +1 -1
  210. package/dist/services/document-service/index.d.ts.map +1 -1
  211. package/dist/services/document-service/internationalization.d.ts +0 -1
  212. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  213. package/dist/services/document-service/internationalization.js.map +1 -1
  214. package/dist/services/document-service/internationalization.mjs.map +1 -1
  215. package/dist/services/document-service/middlewares/middleware-manager.d.ts.map +1 -1
  216. package/dist/services/document-service/params.d.ts +1 -1
  217. package/dist/services/document-service/params.d.ts.map +1 -1
  218. package/dist/services/document-service/publication-filter.d.ts +1 -1
  219. package/dist/services/document-service/publication-filter.d.ts.map +1 -1
  220. package/dist/services/document-service/transform/data.d.ts +2 -0
  221. package/dist/services/document-service/transform/data.d.ts.map +1 -1
  222. package/dist/services/document-service/transform/data.js +7 -1
  223. package/dist/services/document-service/transform/data.js.map +1 -1
  224. package/dist/services/document-service/transform/data.mjs +7 -2
  225. package/dist/services/document-service/transform/data.mjs.map +1 -1
  226. package/dist/services/document-service/transform/fields.d.ts.map +1 -1
  227. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  228. package/dist/services/document-service/transform/id-map.js +7 -4
  229. package/dist/services/document-service/transform/id-map.js.map +1 -1
  230. package/dist/services/document-service/transform/id-map.mjs +7 -4
  231. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  232. package/dist/services/document-service/transform/id-transform.d.ts +0 -1
  233. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  234. package/dist/services/document-service/transform/populate.d.ts.map +1 -1
  235. package/dist/services/document-service/transform/query.d.ts +0 -1
  236. package/dist/services/document-service/transform/query.d.ts.map +1 -1
  237. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  238. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  239. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts.map +1 -1
  240. package/dist/services/document-service/transform/relations/utils/data.d.ts.map +1 -1
  241. package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
  242. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  243. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  244. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts +0 -1
  245. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -1
  246. package/dist/services/document-service/transform/relations/utils/xto-one.d.ts.map +1 -1
  247. package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -1
  248. package/dist/services/document-service/utils/bidirectional-relations.js +7 -2
  249. package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -1
  250. package/dist/services/document-service/utils/bidirectional-relations.mjs +7 -2
  251. package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -1
  252. package/dist/services/document-service/utils/clean-component-join-table.d.ts.map +1 -1
  253. package/dist/services/document-service/utils/ordered-parallel.d.ts.map +1 -1
  254. package/dist/services/document-service/utils/populate.d.ts +1 -1
  255. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  256. package/dist/services/document-service/utils/populate.js.map +1 -1
  257. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  258. package/dist/services/document-service/utils/self-referential-relations.d.ts.map +1 -1
  259. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -1
  260. package/dist/services/entity-service/index.d.ts.map +1 -1
  261. package/dist/services/entity-service/index.js +9 -4
  262. package/dist/services/entity-service/index.js.map +1 -1
  263. package/dist/services/entity-validator/index.d.ts.map +1 -1
  264. package/dist/services/entity-validator/index.js +9 -4
  265. package/dist/services/entity-validator/index.js.map +1 -1
  266. package/dist/services/entity-validator/index.mjs.map +1 -1
  267. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  268. package/dist/services/entity-validator/validators.js +10 -6
  269. package/dist/services/entity-validator/validators.js.map +1 -1
  270. package/dist/services/errors.d.ts.map +1 -1
  271. package/dist/services/errors.js +7 -3
  272. package/dist/services/errors.js.map +1 -1
  273. package/dist/services/features.d.ts.map +1 -1
  274. package/dist/services/fs.d.ts.map +1 -1
  275. package/dist/services/fs.js +10 -5
  276. package/dist/services/fs.js.map +1 -1
  277. package/dist/services/mcp/authentication.d.ts.map +1 -1
  278. package/dist/services/mcp/handlers/handlePost.d.ts.map +1 -1
  279. package/dist/services/mcp/index.d.ts.map +1 -1
  280. package/dist/services/mcp/internal/McpCapabilityRegistry.d.ts +2 -2
  281. package/dist/services/mcp/internal/McpServerFactory.d.ts.map +1 -1
  282. package/dist/services/mcp/internal/syncMcpSessionCapabilities.d.ts.map +1 -1
  283. package/dist/services/mcp/metrics/metrics.d.ts.map +1 -1
  284. package/dist/services/mcp/metrics/normalizeMcpCapability.d.ts.map +1 -1
  285. package/dist/services/mcp/metrics/wrapCapabilityHandlerForMetrics.d.ts.map +1 -1
  286. package/dist/services/mcp/middleware/oauthDiscoveryFallback.d.ts.map +1 -1
  287. package/dist/services/mcp/prompt-registry.d.ts +31 -3
  288. package/dist/services/mcp/prompt-registry.d.ts.map +1 -1
  289. package/dist/services/mcp/prompt-registry.js +31 -0
  290. package/dist/services/mcp/prompt-registry.js.map +1 -1
  291. package/dist/services/mcp/prompt-registry.mjs +31 -1
  292. package/dist/services/mcp/prompt-registry.mjs.map +1 -1
  293. package/dist/services/mcp/resource-registry.d.ts +31 -1
  294. package/dist/services/mcp/resource-registry.d.ts.map +1 -1
  295. package/dist/services/mcp/resource-registry.js +31 -0
  296. package/dist/services/mcp/resource-registry.js.map +1 -1
  297. package/dist/services/mcp/resource-registry.mjs +31 -1
  298. package/dist/services/mcp/resource-registry.mjs.map +1 -1
  299. package/dist/services/mcp/routes.d.ts +1 -1
  300. package/dist/services/mcp/routes.d.ts.map +1 -1
  301. package/dist/services/mcp/tool-registry.d.ts +36 -9
  302. package/dist/services/mcp/tool-registry.d.ts.map +1 -1
  303. package/dist/services/mcp/tool-registry.js +35 -3
  304. package/dist/services/mcp/tool-registry.js.map +1 -1
  305. package/dist/services/mcp/tool-registry.mjs +35 -3
  306. package/dist/services/mcp/tool-registry.mjs.map +1 -1
  307. package/dist/services/mcp/tools/log.d.ts +15 -85
  308. package/dist/services/mcp/tools/log.d.ts.map +1 -1
  309. package/dist/services/mcp/utils/createSafeCapabilityRegistration.d.ts.map +1 -1
  310. package/dist/services/mcp/utils/safeHandlerWrapper.d.ts.map +1 -1
  311. package/dist/services/mcp/utils/sendJsonRpcError.d.ts +0 -1
  312. package/dist/services/mcp/utils/sendJsonRpcError.d.ts.map +1 -1
  313. package/dist/services/mcp/utils/withTimeout.d.ts.map +1 -1
  314. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  315. package/dist/services/metrics/admin-user-hash.js +5 -1
  316. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  317. package/dist/services/metrics/index.d.ts.map +1 -1
  318. package/dist/services/metrics/is-truthy.d.ts.map +1 -1
  319. package/dist/services/metrics/is-truthy.js +5 -1
  320. package/dist/services/metrics/is-truthy.js.map +1 -1
  321. package/dist/services/metrics/middleware.d.ts.map +1 -1
  322. package/dist/services/metrics/rate-limiter.d.ts +2 -1
  323. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  324. package/dist/services/metrics/sender.d.ts.map +1 -1
  325. package/dist/services/metrics/sender.js +17 -9
  326. package/dist/services/metrics/sender.js.map +1 -1
  327. package/dist/services/query-params.d.ts.map +1 -1
  328. package/dist/services/reloader.d.ts.map +1 -1
  329. package/dist/services/request-context.d.ts.map +1 -1
  330. package/dist/services/server/admin-api.d.ts +3 -5
  331. package/dist/services/server/admin-api.d.ts.map +1 -1
  332. package/dist/services/server/api.d.ts +3 -4
  333. package/dist/services/server/api.d.ts.map +1 -1
  334. package/dist/services/server/api.js +5 -1
  335. package/dist/services/server/api.js.map +1 -1
  336. package/dist/services/server/compose-endpoint.d.ts.map +1 -1
  337. package/dist/services/server/compose-endpoint.js +5 -1
  338. package/dist/services/server/compose-endpoint.js.map +1 -1
  339. package/dist/services/server/content-api.d.ts +3 -5
  340. package/dist/services/server/content-api.d.ts.map +1 -1
  341. package/dist/services/server/http-server.d.ts +0 -1
  342. package/dist/services/server/http-server.d.ts.map +1 -1
  343. package/dist/services/server/http-server.js +5 -1
  344. package/dist/services/server/http-server.js.map +1 -1
  345. package/dist/services/server/index.d.ts.map +1 -1
  346. package/dist/services/server/index.js +5 -1
  347. package/dist/services/server/index.js.map +1 -1
  348. package/dist/services/server/koa-methods.d.ts +107 -0
  349. package/dist/services/server/koa-methods.d.ts.map +1 -0
  350. package/dist/services/server/koa-methods.js +24 -0
  351. package/dist/services/server/koa-methods.js.map +1 -0
  352. package/dist/services/server/koa-methods.mjs +22 -0
  353. package/dist/services/server/koa-methods.mjs.map +1 -0
  354. package/dist/services/server/koa.d.ts +0 -9
  355. package/dist/services/server/koa.d.ts.map +1 -1
  356. package/dist/services/server/koa.js +14 -10
  357. package/dist/services/server/koa.js.map +1 -1
  358. package/dist/services/server/koa.mjs +7 -9
  359. package/dist/services/server/koa.mjs.map +1 -1
  360. package/dist/services/server/middleware.d.ts.map +1 -1
  361. package/dist/services/server/middleware.js +5 -1
  362. package/dist/services/server/middleware.js.map +1 -1
  363. package/dist/services/server/openapi.d.ts.map +1 -1
  364. package/dist/services/server/openapi.js +11 -6
  365. package/dist/services/server/openapi.js.map +1 -1
  366. package/dist/services/server/policy.d.ts.map +1 -1
  367. package/dist/services/server/register-middlewares.d.ts.map +1 -1
  368. package/dist/services/server/register-routes.d.ts.map +1 -1
  369. package/dist/services/server/register-routes.js +8 -4
  370. package/dist/services/server/register-routes.js.map +1 -1
  371. package/dist/services/server/routing.d.ts +0 -2
  372. package/dist/services/server/routing.d.ts.map +1 -1
  373. package/dist/services/server/routing.js +5 -1
  374. package/dist/services/server/routing.js.map +1 -1
  375. package/dist/services/session-manager.d.ts +20 -0
  376. package/dist/services/session-manager.d.ts.map +1 -1
  377. package/dist/services/session-manager.js +71 -9
  378. package/dist/services/session-manager.js.map +1 -1
  379. package/dist/services/session-manager.mjs +57 -0
  380. package/dist/services/session-manager.mjs.map +1 -1
  381. package/dist/services/webhook-runner.js +7 -2
  382. package/dist/services/webhook-runner.js.map +1 -1
  383. package/dist/services/webhook-store.d.ts.map +1 -1
  384. package/dist/services/worker-queue.js +5 -1
  385. package/dist/services/worker-queue.js.map +1 -1
  386. package/dist/utils/convert-custom-field-type.d.ts.map +1 -1
  387. package/dist/utils/cron.d.ts.map +1 -1
  388. package/dist/utils/fetch.d.ts.map +1 -1
  389. package/dist/utils/filepath-to-prop-path.d.ts.map +1 -1
  390. package/dist/utils/filepath-to-prop-path.js +13 -8
  391. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  392. package/dist/utils/is-initialized.d.ts.map +1 -1
  393. package/dist/utils/load-config-file.d.ts.map +1 -1
  394. package/dist/utils/load-config-file.js +7 -2
  395. package/dist/utils/load-config-file.js.map +1 -1
  396. package/dist/utils/load-files.d.ts +1 -1
  397. package/dist/utils/load-files.d.ts.map +1 -1
  398. package/dist/utils/load-files.js +12 -6
  399. package/dist/utils/load-files.js.map +1 -1
  400. package/dist/utils/open-browser.d.ts +0 -1
  401. package/dist/utils/open-browser.d.ts.map +1 -1
  402. package/dist/utils/open-browser.js +5 -1
  403. package/dist/utils/open-browser.js.map +1 -1
  404. package/dist/utils/resolve-working-dirs.d.ts.map +1 -1
  405. package/dist/utils/resolve-working-dirs.js +6 -2
  406. package/dist/utils/resolve-working-dirs.js.map +1 -1
  407. package/dist/utils/signals.d.ts.map +1 -1
  408. package/dist/utils/startup-logger.d.ts.map +1 -1
  409. package/dist/utils/startup-logger.js +27 -21
  410. package/dist/utils/startup-logger.js.map +1 -1
  411. package/dist/utils/transform-content-types-to-models.d.ts +3 -3
  412. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  413. package/dist/utils/transform-content-types-to-models.js +10 -5
  414. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  415. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  416. package/dist/utils/update-notifier/index.js +21 -8
  417. package/dist/utils/update-notifier/index.js.map +1 -1
  418. package/dist/utils/update-notifier/index.mjs +6 -1
  419. package/dist/utils/update-notifier/index.mjs.map +1 -1
  420. package/package.json +18 -21
@@ -11,7 +11,10 @@ var getEnabledPlugins = require('./get-enabled-plugins.js');
11
11
  var getUserPluginsConfig = require('./get-user-plugins-config.js');
12
12
  var index = require('../../domain/content-type/index.js');
13
13
 
14
- function _interopNamespaceDefault(e) {
14
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
15
+
16
+ function _interopNamespace(e) {
17
+ if (e && e.__esModule) return e;
15
18
  var n = Object.create(null);
16
19
  if (e) {
17
20
  Object.keys(e).forEach(function (k) {
@@ -28,7 +31,8 @@ function _interopNamespaceDefault(e) {
28
31
  return Object.freeze(n);
29
32
  }
30
33
 
31
- var resolve__namespace = /*#__PURE__*/_interopNamespaceDefault(resolve);
34
+ var fse__default = /*#__PURE__*/_interopDefault(fse);
35
+ var resolve__namespace = /*#__PURE__*/_interopNamespace(resolve);
32
36
 
33
37
  const defaultPlugin = {
34
38
  bootstrap () {},
@@ -47,7 +51,7 @@ const defaultPlugin = {
47
51
  };
48
52
  const applyUserExtension = async (plugins)=>{
49
53
  const extensionsDir = strapi.dirs.dist.extensions;
50
- if (!await fse.pathExists(extensionsDir)) {
54
+ if (!await fse__default.default.pathExists(extensionsDir)) {
51
55
  return;
52
56
  }
53
57
  const extendedSchemas = await loadFiles.loadFiles(extensionsDir, '**/content-types/**/schema.json');
@@ -130,7 +134,7 @@ async function loadPlugins(strapi1) {
130
134
  throw new Error(`Error loading the plugin ${pluginName} because ${pluginName} is not installed. Please either install the plugin or remove its configuration.`);
131
135
  }
132
136
  // only load plugins with a server entrypoint
133
- if (!await fse.pathExists(serverEntrypointPath)) {
137
+ if (!await fse__default.default.pathExists(serverEntrypointPath)) {
134
138
  continue;
135
139
  }
136
140
  const pluginServer = loadConfigFile.loadConfigFile(serverEntrypointPath);
@@ -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 * as resolve from 'resolve.exports';\n\nimport { env } from '@strapi/utils';\nimport type { Core, Plugin, Struct } from '@strapi/types';\nimport { loadConfigFile } from '../../utils/load-config-file';\nimport { loadFiles } from '../../utils/load-files';\nimport { getEnabledPlugins } from './get-enabled-plugins';\nimport { getUserPluginsConfig } from './get-user-plugins-config';\nimport { getGlobalId } from '../../domain/content-type';\n\ninterface Plugins {\n [key: string]: Plugin.LoadedPlugin;\n}\n\nconst defaultPlugin = {\n bootstrap() {},\n destroy() {},\n register() {},\n config: {\n default: {},\n validator() {},\n },\n routes: [],\n controllers: {},\n services: {},\n policies: {},\n middlewares: {},\n contentTypes: {},\n};\n\nconst applyUserExtension = async (plugins: Plugins) => {\n const extensionsDir = strapi.dirs.dist.extensions;\n if (!(await fse.pathExists(extensionsDir))) {\n return;\n }\n\n const extendedSchemas = await loadFiles(extensionsDir, '**/content-types/**/schema.json');\n const strapiServers = await loadFiles(extensionsDir, '**/strapi-server.js');\n\n for (const pluginName of Object.keys(plugins)) {\n const plugin = plugins[pluginName];\n // first: load json schema\n const extendedContentTypes = get([pluginName, 'content-types'], extendedSchemas) ?? {};\n for (const ctName of Object.keys(extendedContentTypes)) {\n const extendedSchema = get([ctName, 'schema'], extendedContentTypes);\n if (!extendedSchema) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (!plugin.contentTypes[ctName]) {\n plugin.contentTypes[ctName] = { schema: extendedSchema };\n } else {\n plugin.contentTypes[ctName].schema = {\n ...plugin.contentTypes[ctName].schema,\n ...extendedSchema,\n };\n }\n }\n\n formatContentTypes(pluginName, plugin.contentTypes);\n // second: execute strapi-server extension\n const strapiServer = get([pluginName, 'strapi-server'], strapiServers);\n if (strapiServer) {\n plugins[pluginName] = await strapiServer(plugin);\n }\n }\n};\n\nconst applyUserConfig = async (plugins: Plugins) => {\n const userPluginsConfig = await getUserPluginsConfig();\n\n for (const pluginName of Object.keys(plugins)) {\n const plugin = plugins[pluginName];\n const userPluginConfig = getOr({}, `${pluginName}.config`, userPluginsConfig);\n const defaultConfig =\n typeof plugin.config.default === 'function'\n ? plugin.config.default({ env })\n : plugin.config.default;\n\n const config = defaultsDeep(defaultConfig, userPluginConfig);\n try {\n plugin.config.validator(config);\n } catch (e) {\n if (e instanceof Error) {\n throw new Error(`Error regarding ${pluginName} config: ${e.message}`);\n }\n\n throw e;\n }\n plugin.config = config;\n }\n};\n\nexport default async function loadPlugins(strapi: Core.Strapi) {\n const plugins: Plugins = {};\n\n const enabledPlugins = await getEnabledPlugins(strapi);\n\n strapi.config.set('enabledPlugins', enabledPlugins);\n\n for (const pluginName of Object.keys(enabledPlugins)) {\n const enabledPlugin = enabledPlugins[pluginName];\n\n let serverEntrypointPath;\n let resolvedExport = './strapi-server.js';\n\n try {\n resolvedExport = (\n resolve.exports(enabledPlugin.packageInfo, 'strapi-server', {\n require: true,\n }) ?? './strapi-server.js'\n ).toString();\n } catch (e) {\n // no export map or missing strapi-server export => fallback to default\n }\n\n try {\n serverEntrypointPath = join(enabledPlugin.pathToPlugin, resolvedExport);\n } catch (e) {\n throw new Error(\n `Error loading the plugin ${pluginName} because ${pluginName} is not installed. Please either install the plugin or remove its configuration.`\n );\n }\n\n // only load plugins with a server entrypoint\n if (!(await fse.pathExists(serverEntrypointPath))) {\n continue;\n }\n\n const pluginServer = loadConfigFile(serverEntrypointPath);\n plugins[pluginName] = {\n ...defaultPlugin,\n ...pluginServer,\n contentTypes: formatContentTypes(pluginName, pluginServer.contentTypes ?? {}),\n config: defaults(defaultPlugin.config, pluginServer.config),\n routes: pluginServer.routes ?? defaultPlugin.routes,\n };\n }\n\n // TODO: validate plugin format\n await applyUserConfig(plugins);\n await applyUserExtension(plugins);\n\n for (const pluginName of Object.keys(plugins)) {\n strapi.get('plugins').add(pluginName, plugins[pluginName]);\n }\n}\n\nconst formatContentTypes = (\n pluginName: string,\n contentTypes: Record<string, { schema: Struct.ContentTypeSchema }>\n) => {\n Object.values(contentTypes).forEach((definition) => {\n const { schema } = definition;\n\n Object.assign(schema, {\n plugin: pluginName,\n collectionName:\n schema.collectionName || `${pluginName}_${schema.info.singularName}`.toLowerCase(),\n globalId: getGlobalId(schema, pluginName),\n });\n });\n\n return contentTypes;\n};\n"],"names":["defaultPlugin","bootstrap","destroy","register","config","default","validator","routes","controllers","services","policies","middlewares","contentTypes","applyUserExtension","plugins","extensionsDir","strapi","dirs","dist","extensions","fse","pathExists","extendedSchemas","loadFiles","strapiServers","pluginName","Object","keys","plugin","extendedContentTypes","get","ctName","extendedSchema","schema","formatContentTypes","strapiServer","applyUserConfig","userPluginsConfig","getUserPluginsConfig","userPluginConfig","getOr","defaultConfig","env","defaultsDeep","e","Error","message","loadPlugins","enabledPlugins","getEnabledPlugins","set","enabledPlugin","serverEntrypointPath","resolvedExport","resolve","exports","packageInfo","require","toString","join","pathToPlugin","pluginServer","loadConfigFile","defaults","add","values","forEach","definition","assign","collectionName","info","singularName","toLowerCase","globalId","getGlobalId"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/loaders/plugins/index.ts"],"sourcesContent":["import { join } from 'path';\nimport fse from 'fs-extra';\nimport { defaultsDeep, defaults, getOr, get } from 'lodash/fp';\nimport * as resolve from 'resolve.exports';\n\nimport { env } from '@strapi/utils';\nimport type { Core, Plugin, Struct } from '@strapi/types';\nimport { loadConfigFile } from '../../utils/load-config-file';\nimport { loadFiles } from '../../utils/load-files';\nimport { getEnabledPlugins } from './get-enabled-plugins';\nimport { getUserPluginsConfig } from './get-user-plugins-config';\nimport { getGlobalId } from '../../domain/content-type';\n\ninterface Plugins {\n [key: string]: Plugin.LoadedPlugin;\n}\n\nconst defaultPlugin = {\n bootstrap() {},\n destroy() {},\n register() {},\n config: {\n default: {},\n validator() {},\n },\n routes: [],\n controllers: {},\n services: {},\n policies: {},\n middlewares: {},\n contentTypes: {},\n};\n\nconst applyUserExtension = async (plugins: Plugins) => {\n const extensionsDir = strapi.dirs.dist.extensions;\n if (!(await fse.pathExists(extensionsDir))) {\n return;\n }\n\n const extendedSchemas = await loadFiles(extensionsDir, '**/content-types/**/schema.json');\n const strapiServers = await loadFiles(extensionsDir, '**/strapi-server.js');\n\n for (const pluginName of Object.keys(plugins)) {\n const plugin = plugins[pluginName];\n // first: load json schema\n const extendedContentTypes = get([pluginName, 'content-types'], extendedSchemas) ?? {};\n for (const ctName of Object.keys(extendedContentTypes)) {\n const extendedSchema = get([ctName, 'schema'], extendedContentTypes);\n if (!extendedSchema) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (!plugin.contentTypes[ctName]) {\n plugin.contentTypes[ctName] = { schema: extendedSchema };\n } else {\n plugin.contentTypes[ctName].schema = {\n ...plugin.contentTypes[ctName].schema,\n ...extendedSchema,\n };\n }\n }\n\n formatContentTypes(pluginName, plugin.contentTypes);\n // second: execute strapi-server extension\n const strapiServer = get([pluginName, 'strapi-server'], strapiServers);\n if (strapiServer) {\n plugins[pluginName] = await strapiServer(plugin);\n }\n }\n};\n\nconst applyUserConfig = async (plugins: Plugins) => {\n const userPluginsConfig = await getUserPluginsConfig();\n\n for (const pluginName of Object.keys(plugins)) {\n const plugin = plugins[pluginName];\n const userPluginConfig = getOr({}, `${pluginName}.config`, userPluginsConfig);\n const defaultConfig =\n typeof plugin.config.default === 'function'\n ? plugin.config.default({ env })\n : plugin.config.default;\n\n const config = defaultsDeep(defaultConfig, userPluginConfig);\n try {\n plugin.config.validator(config);\n } catch (e) {\n if (e instanceof Error) {\n throw new Error(`Error regarding ${pluginName} config: ${e.message}`);\n }\n\n throw e;\n }\n plugin.config = config;\n }\n};\n\nexport default async function loadPlugins(strapi: Core.Strapi) {\n const plugins: Plugins = {};\n\n const enabledPlugins = await getEnabledPlugins(strapi);\n\n strapi.config.set('enabledPlugins', enabledPlugins);\n\n for (const pluginName of Object.keys(enabledPlugins)) {\n const enabledPlugin = enabledPlugins[pluginName];\n\n let serverEntrypointPath;\n let resolvedExport = './strapi-server.js';\n\n try {\n resolvedExport = (\n resolve.exports(enabledPlugin.packageInfo, 'strapi-server', {\n require: true,\n }) ?? './strapi-server.js'\n ).toString();\n } catch (e) {\n // no export map or missing strapi-server export => fallback to default\n }\n\n try {\n serverEntrypointPath = join(enabledPlugin.pathToPlugin, resolvedExport);\n } catch (e) {\n throw new Error(\n `Error loading the plugin ${pluginName} because ${pluginName} is not installed. Please either install the plugin or remove its configuration.`\n );\n }\n\n // only load plugins with a server entrypoint\n if (!(await fse.pathExists(serverEntrypointPath))) {\n continue;\n }\n\n const pluginServer = loadConfigFile(serverEntrypointPath);\n plugins[pluginName] = {\n ...defaultPlugin,\n ...pluginServer,\n contentTypes: formatContentTypes(pluginName, pluginServer.contentTypes ?? {}),\n config: defaults(defaultPlugin.config, pluginServer.config),\n routes: pluginServer.routes ?? defaultPlugin.routes,\n };\n }\n\n // TODO: validate plugin format\n await applyUserConfig(plugins);\n await applyUserExtension(plugins);\n\n for (const pluginName of Object.keys(plugins)) {\n strapi.get('plugins').add(pluginName, plugins[pluginName]);\n }\n}\n\nconst formatContentTypes = (\n pluginName: string,\n contentTypes: Record<string, { schema: Struct.ContentTypeSchema }>\n) => {\n Object.values(contentTypes).forEach((definition) => {\n const { schema } = definition;\n\n Object.assign(schema, {\n plugin: pluginName,\n collectionName:\n schema.collectionName || `${pluginName}_${schema.info.singularName}`.toLowerCase(),\n globalId: getGlobalId(schema, pluginName),\n });\n });\n\n return contentTypes;\n};\n"],"names":["defaultPlugin","bootstrap","destroy","register","config","default","validator","routes","controllers","services","policies","middlewares","contentTypes","applyUserExtension","plugins","extensionsDir","strapi","dirs","dist","extensions","fse","pathExists","extendedSchemas","loadFiles","strapiServers","pluginName","Object","keys","plugin","extendedContentTypes","get","ctName","extendedSchema","schema","formatContentTypes","strapiServer","applyUserConfig","userPluginsConfig","getUserPluginsConfig","userPluginConfig","getOr","defaultConfig","env","defaultsDeep","e","Error","message","loadPlugins","enabledPlugins","getEnabledPlugins","set","enabledPlugin","serverEntrypointPath","resolvedExport","resolve","exports","packageInfo","require","toString","join","pathToPlugin","pluginServer","loadConfigFile","defaults","add","values","forEach","definition","assign","collectionName","info","singularName","toLowerCase","globalId","getGlobalId"],"mappings":"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"}
@@ -4,14 +4,18 @@ var path = require('path');
4
4
  var fse = require('fs-extra');
5
5
  var strapiUtils = require('@strapi/utils');
6
6
 
7
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
+
9
+ var fse__default = /*#__PURE__*/_interopDefault(fse);
10
+
7
11
  // TODO:: allow folders with index.js inside for bigger policies
8
12
  async function loadPolicies(strapi) {
9
13
  const dir = strapi.dirs.dist.policies;
10
- if (!await fse.pathExists(dir)) {
14
+ if (!await fse__default.default.pathExists(dir)) {
11
15
  return;
12
16
  }
13
17
  const policies = {};
14
- const paths = await fse.readdir(dir, {
18
+ const paths = await fse__default.default.readdir(dir, {
15
19
  withFileTypes: true
16
20
  });
17
21
  for (const fd of paths){
@@ -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 { 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":["loadPolicies","strapi","dir","dirs","dist","policies","fse","pathExists","paths","readdir","withFileTypes","fd","name","fullPath","join","isFile","extname","key","basename","importDefault","get","add"],"mappings":";;;;;;AAMA;AACe,eAAeA,aAAaC,MAAmB,EAAA;AAC5D,IAAA,MAAMC,MAAMD,MAAAA,CAAOE,IAAI,CAACC,IAAI,CAACC,QAAQ;AAErC,IAAA,IAAI,CAAE,MAAMC,GAAAA,CAAIC,UAAU,CAACL,GAAAA,CAAAA,EAAO;AAChC,QAAA;AACF,IAAA;AAEA,IAAA,MAAMG,WAAwC,EAAC;AAC/C,IAAA,MAAMG,KAAAA,GAAQ,MAAMF,GAAAA,CAAIG,OAAO,CAACP,GAAAA,EAAK;QAAEQ,aAAAA,EAAe;AAAK,KAAA,CAAA;IAE3D,KAAK,MAAMC,MAAMH,KAAAA,CAAO;QACtB,MAAM,EAAEI,IAAI,EAAE,GAAGD,EAAAA;QACjB,MAAME,QAAAA,GAAWC,UAAKZ,GAAAA,EAAKU,IAAAA,CAAAA;AAE3B,QAAA,IAAID,EAAAA,CAAGI,MAAM,EAAA,IAAMC,YAAAA,CAAQJ,UAAU,KAAA,EAAO;YAC1C,MAAMK,GAAAA,GAAMC,cAASN,IAAAA,EAAM,KAAA,CAAA;YAC3BP,QAAQ,CAACY,GAAAA,CAAI,GAAGE,yBAAAA,CAAcN,QAAAA,CAAAA;AAChC,QAAA;AACF,IAAA;IAEAZ,MAAAA,CAAOmB,GAAG,CAAC,UAAA,CAAA,CAAYC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAEhB,QAAAA,CAAAA;AACzC;;;;"}
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":["loadPolicies","strapi","dir","dirs","dist","policies","fse","pathExists","paths","readdir","withFileTypes","fd","name","fullPath","join","isFile","extname","key","basename","importDefault","get","add"],"mappings":";;;;;;;;;;AAMA;AACe,eAAeA,aAAaC,MAAmB,EAAA;AAC5D,IAAA,MAAMC,MAAMD,MAAAA,CAAOE,IAAI,CAACC,IAAI,CAACC,QAAQ;AAErC,IAAA,IAAI,CAAE,MAAMC,oBAAAA,CAAIC,UAAU,CAACL,GAAAA,CAAAA,EAAO;AAChC,QAAA;AACF,IAAA;AAEA,IAAA,MAAMG,WAAwC,EAAC;AAC/C,IAAA,MAAMG,KAAAA,GAAQ,MAAMF,oBAAAA,CAAIG,OAAO,CAACP,GAAAA,EAAK;QAAEQ,aAAAA,EAAe;AAAK,KAAA,CAAA;IAE3D,KAAK,MAAMC,MAAMH,KAAAA,CAAO;QACtB,MAAM,EAAEI,IAAI,EAAE,GAAGD,EAAAA;QACjB,MAAME,QAAAA,GAAWC,UAAKZ,GAAAA,EAAKU,IAAAA,CAAAA;AAE3B,QAAA,IAAID,EAAAA,CAAGI,MAAM,EAAA,IAAMC,YAAAA,CAAQJ,UAAU,KAAA,EAAO;YAC1C,MAAMK,GAAAA,GAAMC,cAASN,IAAAA,EAAM,KAAA,CAAA;YAC3BP,QAAQ,CAACY,GAAAA,CAAI,GAAGE,yBAAAA,CAAcN,QAAAA,CAAAA;AAChC,QAAA;AACF,IAAA;IAEAZ,MAAAA,CAAOmB,GAAG,CAAC,UAAA,CAAA,CAAYC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAEhB,QAAAA,CAAAA;AACzC;;;;"}
@@ -1 +1 @@
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
+ {"version":3,"file":"sanitizers.d.ts","sourceRoot":"","sources":["../../src/loaders/sanitizers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;yBAE1B,QAAQ,IAAI,CAAC,MAAM;AAAnC,wBAEE"}
@@ -1 +1 @@
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
+ {"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;yBAe1B,QAAQ,IAAI,CAAC,MAAM;AAAnC,wBAuBE"}
@@ -1 +1 @@
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
+ {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/loaders/validators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;yBAE1B,QAAQ,IAAI,CAAC,MAAM;AAAnC,wBAEE"}
package/dist/mcp.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export { makeMcpToolDefinition as defineTool } from './services/mcp/tool-registry';
2
+ export { makeMcpResourceDefinition as defineResource } from './services/mcp/resource-registry';
3
+ export { makeMcpPromptDefinition as definePrompt } from './services/mcp/prompt-registry';
4
+ //# sourceMappingURL=mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,IAAI,UAAU,EAAE,MAAM,8BAA8B,CAAC;AACnF,OAAO,EAAE,yBAAyB,IAAI,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAC/F,OAAO,EAAE,uBAAuB,IAAI,YAAY,EAAE,MAAM,gCAAgC,CAAC"}
package/dist/mcp.js ADDED
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var toolRegistry = require('./services/mcp/tool-registry.js');
4
+ var resourceRegistry = require('./services/mcp/resource-registry.js');
5
+ var promptRegistry = require('./services/mcp/prompt-registry.js');
6
+
7
+
8
+
9
+ exports.defineTool = toolRegistry.makeMcpToolDefinition;
10
+ exports.defineResource = resourceRegistry.makeMcpResourceDefinition;
11
+ exports.definePrompt = promptRegistry.makeMcpPromptDefinition;
12
+ //# sourceMappingURL=mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
package/dist/mcp.mjs ADDED
@@ -0,0 +1,4 @@
1
+ export { makeMcpToolDefinition as defineTool } from './services/mcp/tool-registry.mjs';
2
+ export { makeMcpResourceDefinition as defineResource } from './services/mcp/resource-registry.mjs';
3
+ export { makeMcpPromptDefinition as definePrompt } from './services/mcp/prompt-registry.mjs';
4
+ //# sourceMappingURL=mcp.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -1 +1 @@
1
- {"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../src/middlewares/body.ts"],"names":[],"mappings":"AAEA,OAAO,EAAW,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAG7D,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"}
1
+ {"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../src/middlewares/body.ts"],"names":[],"mappings":"AAEA,OAAO,EAAW,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAG7D,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,CA4DlD,CAAC;AAEF,OAAO,EAAE,cAAc,IAAI,IAAI,EAAE,CAAC"}
@@ -5,13 +5,18 @@ var fp = require('lodash/fp');
5
5
  var koaBody = require('koa-body');
6
6
  var mime = require('mime-types');
7
7
 
8
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
9
+
10
+ var fse__default = /*#__PURE__*/_interopDefault(fse);
11
+ var mime__default = /*#__PURE__*/_interopDefault(mime);
12
+
8
13
  const defaults = {
9
14
  multipart: true,
10
15
  patchKoa: true
11
16
  };
12
17
  function ensureFileMimeType(file) {
13
18
  if (!file.type) {
14
- file.type = mime.lookup(file.name) || 'application/octet-stream';
19
+ file.type = mime__default.default.lookup(file.name) || 'application/octet-stream';
15
20
  }
16
21
  }
17
22
  function getFiles(ctx) {
@@ -44,7 +49,7 @@ const bodyMiddleware = (config, { strapi })=>{
44
49
  }
45
50
  await next();
46
51
  } catch (error) {
47
- if (error instanceof Error && error.message && error.message.includes('maxFileSize exceeded')) {
52
+ if (error instanceof Error && error.message && error.message.includes('maxFileSize') && error.message.includes('exceeded')) {
48
53
  return ctx.payloadTooLarge('FileTooBig');
49
54
  }
50
55
  throw error;
@@ -55,10 +60,10 @@ const bodyMiddleware = (config, { strapi })=>{
55
60
  if (files) {
56
61
  if (Array.isArray(files)) {
57
62
  // not awaiting to not slow the request
58
- Promise.all(files.map((file)=>fse.remove(file.filepath)));
63
+ Promise.all(files.map((file)=>fse__default.default.remove(file.filepath)));
59
64
  } else if (files && files.filepath) {
60
65
  // not awaiting to not slow the request
61
- fse.remove(files.filepath);
66
+ fse__default.default.remove(files.filepath);
62
67
  }
63
68
  delete ctx.request.files;
64
69
  }
@@ -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 { koaBody, 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 koaBody(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":["defaults","multipart","patchKoa","ensureFileMimeType","file","type","mime","lookup","name","getFiles","ctx","request","files","bodyMiddleware","config","strapi","bodyConfig","defaultsDeep","gqlEndpoint","plugin","gqlConfig","next","url","koaBody","Array","isArray","forEach","error","Error","message","includes","payloadTooLarge","Promise","all","map","fse","remove","filepath"],"mappings":";;;;;;;AASA,MAAMA,QAAAA,GAAW;IACfC,SAAAA,EAAW,IAAA;IACXC,QAAAA,EAAU;AACZ,CAAA;AAEA,SAASC,mBAAmBC,IAAS,EAAA;IACnC,IAAI,CAACA,IAAAA,CAAKC,IAAI,EAAE;AACdD,QAAAA,IAAAA,CAAKC,IAAI,GAAGC,IAAAA,CAAKC,MAAM,CAACH,IAAAA,CAAKI,IAAI,CAAA,IAAK,0BAAA;AACxC,IAAA;AACF;AAEA,SAASC,SAASC,GAAgB,EAAA;IAChC,OAAOA,GAAAA,EAAKC,SAASC,KAAAA,EAAOA,KAAAA;AAC9B;AAEA,MAAMC,cAAAA,GAAiD,CAACC,MAAAA,EAAQ,EAAEC,MAAM,EAAE,GAAA;IACxE,MAAMC,UAAAA,GAAqBC,gBAAajB,QAAAA,EAAUc,MAAAA,CAAAA;IAElD,IAAII,WAAAA;IACJ,IAAIH,MAAAA,CAAOI,MAAM,CAAC,SAAA,CAAA,EAAY;AAC5B,QAAA,MAAM,EAAEL,MAAAA,EAAQM,SAAS,EAAE,GAAGL,MAAAA,CAAOI,MAAM,CAAC,SAAA,CAAA;AAC5CD,QAAAA,WAAAA,GAAcE,SAAAA,CAAU,UAAA,CAAA;AAC1B,IAAA;AAEA,IAAA,OAAO,OAAOV,GAAAA,EAAKW,IAAAA,GAAAA;;AAEjB,QAAA,IAAIH,WAAAA,IAAeR,GAAAA,CAAIY,GAAG,KAAKJ,WAAAA,EAAa;YAC1C,MAAMG,IAAAA,EAAAA;QACR,CAAA,MAAO;YACL,IAAI;gBACF,MAAME,eAAAA,CAAQP,UAAAA,CAAAA,CAAYN,GAAAA,EAAK,UAAA,CAAa,CAAA,CAAA;AAE5C,gBAAA,MAAME,QAAQH,QAAAA,CAASC,GAAAA,CAAAA;AAEvB;;;AAGC,YACD,IAAIE,KAAAA,EAAO;oBACT,IAAIY,KAAAA,CAAMC,OAAO,CAACb,KAAAA,CAAAA,EAAQ;AACxBA,wBAAAA,KAAAA,CAAMc,OAAO,CAACvB,kBAAAA,CAAAA;oBAChB,CAAA,MAAO;wBACLA,kBAAAA,CAAmBS,KAAAA,CAAAA;AACrB,oBAAA;AACF,gBAAA;gBAEA,MAAMS,IAAAA,EAAAA;AACR,YAAA,CAAA,CAAE,OAAOM,KAAAA,EAAO;gBACd,IACEA,KAAAA,YAAiBC,KAAAA,IACjBD,KAAAA,CAAME,OAAO,IACbF,MAAME,OAAO,CAACC,QAAQ,CAAC,sBAAA,CAAA,EACvB;oBACA,OAAOpB,GAAAA,CAAIqB,eAAe,CAAC,YAAA,CAAA;AAC7B,gBAAA;gBAEA,MAAMJ,KAAAA;AACR,YAAA;AACF,QAAA;AAEA,QAAA,MAAMf,QAAQH,QAAAA,CAASC,GAAAA,CAAAA;;AAGvB,QAAA,IAAIE,KAAAA,EAAO;YACT,IAAIY,KAAAA,CAAMC,OAAO,CAACb,KAAAA,CAAAA,EAAQ;;gBAExBoB,OAAAA,CAAQC,GAAG,CAACrB,KAAAA,CAAMsB,GAAG,CAAC,CAAC9B,IAAAA,GAAS+B,GAAAA,CAAIC,MAAM,CAAChC,IAAAA,CAAKiC,QAAQ,CAAA,CAAA,CAAA;AAC1D,YAAA,CAAA,MAAO,IAAIzB,KAAAA,IAASA,KAAAA,CAAMyB,QAAQ,EAAE;;gBAElCF,GAAAA,CAAIC,MAAM,CAACxB,KAAAA,CAAMyB,QAAQ,CAAA;AAC3B,YAAA;YACA,OAAO3B,GAAAA,CAAIC,OAAO,CAACC,KAAK;AAC1B,QAAA;AACF,IAAA,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"body.js","sources":["../../src/middlewares/body.ts"],"sourcesContent":["import fse from 'fs-extra';\nimport { defaultsDeep } from 'lodash/fp';\nimport { koaBody, 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 koaBody(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') &&\n error.message.includes('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":["defaults","multipart","patchKoa","ensureFileMimeType","file","type","mime","lookup","name","getFiles","ctx","request","files","bodyMiddleware","config","strapi","bodyConfig","defaultsDeep","gqlEndpoint","plugin","gqlConfig","next","url","koaBody","Array","isArray","forEach","error","Error","message","includes","payloadTooLarge","Promise","all","map","fse","remove","filepath"],"mappings":";;;;;;;;;;;;AASA,MAAMA,QAAAA,GAAW;IACfC,SAAAA,EAAW,IAAA;IACXC,QAAAA,EAAU;AACZ,CAAA;AAEA,SAASC,mBAAmBC,IAAS,EAAA;IACnC,IAAI,CAACA,IAAAA,CAAKC,IAAI,EAAE;AACdD,QAAAA,IAAAA,CAAKC,IAAI,GAAGC,qBAAAA,CAAKC,MAAM,CAACH,IAAAA,CAAKI,IAAI,CAAA,IAAK,0BAAA;AACxC,IAAA;AACF;AAEA,SAASC,SAASC,GAAgB,EAAA;IAChC,OAAOA,GAAAA,EAAKC,SAASC,KAAAA,EAAOA,KAAAA;AAC9B;AAEA,MAAMC,cAAAA,GAAiD,CAACC,MAAAA,EAAQ,EAAEC,MAAM,EAAE,GAAA;IACxE,MAAMC,UAAAA,GAAqBC,gBAAajB,QAAAA,EAAUc,MAAAA,CAAAA;IAElD,IAAII,WAAAA;IACJ,IAAIH,MAAAA,CAAOI,MAAM,CAAC,SAAA,CAAA,EAAY;AAC5B,QAAA,MAAM,EAAEL,MAAAA,EAAQM,SAAS,EAAE,GAAGL,MAAAA,CAAOI,MAAM,CAAC,SAAA,CAAA;AAC5CD,QAAAA,WAAAA,GAAcE,SAAAA,CAAU,UAAA,CAAA;AAC1B,IAAA;AAEA,IAAA,OAAO,OAAOV,GAAAA,EAAKW,IAAAA,GAAAA;;AAEjB,QAAA,IAAIH,WAAAA,IAAeR,GAAAA,CAAIY,GAAG,KAAKJ,WAAAA,EAAa;YAC1C,MAAMG,IAAAA,EAAAA;QACR,CAAA,MAAO;YACL,IAAI;gBACF,MAAME,eAAAA,CAAQP,UAAAA,CAAAA,CAAYN,GAAAA,EAAK,UAAA,CAAa,CAAA,CAAA;AAE5C,gBAAA,MAAME,QAAQH,QAAAA,CAASC,GAAAA,CAAAA;AAEvB;;;AAGC,YACD,IAAIE,KAAAA,EAAO;oBACT,IAAIY,KAAAA,CAAMC,OAAO,CAACb,KAAAA,CAAAA,EAAQ;AACxBA,wBAAAA,KAAAA,CAAMc,OAAO,CAACvB,kBAAAA,CAAAA;oBAChB,CAAA,MAAO;wBACLA,kBAAAA,CAAmBS,KAAAA,CAAAA;AACrB,oBAAA;AACF,gBAAA;gBAEA,MAAMS,IAAAA,EAAAA;AACR,YAAA,CAAA,CAAE,OAAOM,KAAAA,EAAO;AACd,gBAAA,IACEA,iBAAiBC,KAAAA,IACjBD,KAAAA,CAAME,OAAO,IACbF,MAAME,OAAO,CAACC,QAAQ,CAAC,kBACvBH,KAAAA,CAAME,OAAO,CAACC,QAAQ,CAAC,UAAA,CAAA,EACvB;oBACA,OAAOpB,GAAAA,CAAIqB,eAAe,CAAC,YAAA,CAAA;AAC7B,gBAAA;gBAEA,MAAMJ,KAAAA;AACR,YAAA;AACF,QAAA;AAEA,QAAA,MAAMf,QAAQH,QAAAA,CAASC,GAAAA,CAAAA;;AAGvB,QAAA,IAAIE,KAAAA,EAAO;YACT,IAAIY,KAAAA,CAAMC,OAAO,CAACb,KAAAA,CAAAA,EAAQ;;gBAExBoB,OAAAA,CAAQC,GAAG,CAACrB,KAAAA,CAAMsB,GAAG,CAAC,CAAC9B,IAAAA,GAAS+B,oBAAAA,CAAIC,MAAM,CAAChC,IAAAA,CAAKiC,QAAQ,CAAA,CAAA,CAAA;AAC1D,YAAA,CAAA,MAAO,IAAIzB,KAAAA,IAASA,KAAAA,CAAMyB,QAAQ,EAAE;;gBAElCF,oBAAAA,CAAIC,MAAM,CAACxB,KAAAA,CAAMyB,QAAQ,CAAA;AAC3B,YAAA;YACA,OAAO3B,GAAAA,CAAIC,OAAO,CAACC,KAAK;AAC1B,QAAA;AACF,IAAA,CAAA;AACF;;;;"}
@@ -42,7 +42,7 @@ const bodyMiddleware = (config, { strapi })=>{
42
42
  }
43
43
  await next();
44
44
  } catch (error) {
45
- if (error instanceof Error && error.message && error.message.includes('maxFileSize exceeded')) {
45
+ if (error instanceof Error && error.message && error.message.includes('maxFileSize') && error.message.includes('exceeded')) {
46
46
  return ctx.payloadTooLarge('FileTooBig');
47
47
  }
48
48
  throw error;
@@ -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 { koaBody, 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 koaBody(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":["defaults","multipart","patchKoa","ensureFileMimeType","file","type","mime","lookup","name","getFiles","ctx","request","files","bodyMiddleware","config","strapi","bodyConfig","defaultsDeep","gqlEndpoint","plugin","gqlConfig","next","url","koaBody","Array","isArray","forEach","error","Error","message","includes","payloadTooLarge","Promise","all","map","fse","remove","filepath"],"mappings":";;;;;AASA,MAAMA,QAAAA,GAAW;IACfC,SAAAA,EAAW,IAAA;IACXC,QAAAA,EAAU;AACZ,CAAA;AAEA,SAASC,mBAAmBC,IAAS,EAAA;IACnC,IAAI,CAACA,IAAAA,CAAKC,IAAI,EAAE;AACdD,QAAAA,IAAAA,CAAKC,IAAI,GAAGC,IAAAA,CAAKC,MAAM,CAACH,IAAAA,CAAKI,IAAI,CAAA,IAAK,0BAAA;AACxC,IAAA;AACF;AAEA,SAASC,SAASC,GAAgB,EAAA;IAChC,OAAOA,GAAAA,EAAKC,SAASC,KAAAA,EAAOA,KAAAA;AAC9B;AAEA,MAAMC,cAAAA,GAAiD,CAACC,MAAAA,EAAQ,EAAEC,MAAM,EAAE,GAAA;IACxE,MAAMC,UAAAA,GAAqBC,aAAajB,QAAAA,EAAUc,MAAAA,CAAAA;IAElD,IAAII,WAAAA;IACJ,IAAIH,MAAAA,CAAOI,MAAM,CAAC,SAAA,CAAA,EAAY;AAC5B,QAAA,MAAM,EAAEL,MAAAA,EAAQM,SAAS,EAAE,GAAGL,MAAAA,CAAOI,MAAM,CAAC,SAAA,CAAA;AAC5CD,QAAAA,WAAAA,GAAcE,SAAAA,CAAU,UAAA,CAAA;AAC1B,IAAA;AAEA,IAAA,OAAO,OAAOV,GAAAA,EAAKW,IAAAA,GAAAA;;AAEjB,QAAA,IAAIH,WAAAA,IAAeR,GAAAA,CAAIY,GAAG,KAAKJ,WAAAA,EAAa;YAC1C,MAAMG,IAAAA,EAAAA;QACR,CAAA,MAAO;YACL,IAAI;gBACF,MAAME,OAAAA,CAAQP,UAAAA,CAAAA,CAAYN,GAAAA,EAAK,UAAA,CAAa,CAAA,CAAA;AAE5C,gBAAA,MAAME,QAAQH,QAAAA,CAASC,GAAAA,CAAAA;AAEvB;;;AAGC,YACD,IAAIE,KAAAA,EAAO;oBACT,IAAIY,KAAAA,CAAMC,OAAO,CAACb,KAAAA,CAAAA,EAAQ;AACxBA,wBAAAA,KAAAA,CAAMc,OAAO,CAACvB,kBAAAA,CAAAA;oBAChB,CAAA,MAAO;wBACLA,kBAAAA,CAAmBS,KAAAA,CAAAA;AACrB,oBAAA;AACF,gBAAA;gBAEA,MAAMS,IAAAA,EAAAA;AACR,YAAA,CAAA,CAAE,OAAOM,KAAAA,EAAO;gBACd,IACEA,KAAAA,YAAiBC,KAAAA,IACjBD,KAAAA,CAAME,OAAO,IACbF,MAAME,OAAO,CAACC,QAAQ,CAAC,sBAAA,CAAA,EACvB;oBACA,OAAOpB,GAAAA,CAAIqB,eAAe,CAAC,YAAA,CAAA;AAC7B,gBAAA;gBAEA,MAAMJ,KAAAA;AACR,YAAA;AACF,QAAA;AAEA,QAAA,MAAMf,QAAQH,QAAAA,CAASC,GAAAA,CAAAA;;AAGvB,QAAA,IAAIE,KAAAA,EAAO;YACT,IAAIY,KAAAA,CAAMC,OAAO,CAACb,KAAAA,CAAAA,EAAQ;;gBAExBoB,OAAAA,CAAQC,GAAG,CAACrB,KAAAA,CAAMsB,GAAG,CAAC,CAAC9B,IAAAA,GAAS+B,GAAAA,CAAIC,MAAM,CAAChC,IAAAA,CAAKiC,QAAQ,CAAA,CAAA,CAAA;AAC1D,YAAA,CAAA,MAAO,IAAIzB,KAAAA,IAASA,KAAAA,CAAMyB,QAAQ,EAAE;;gBAElCF,GAAAA,CAAIC,MAAM,CAACxB,KAAAA,CAAMyB,QAAQ,CAAA;AAC3B,YAAA;YACA,OAAO3B,GAAAA,CAAIC,OAAO,CAACC,KAAK;AAC1B,QAAA;AACF,IAAA,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"body.mjs","sources":["../../src/middlewares/body.ts"],"sourcesContent":["import fse from 'fs-extra';\nimport { defaultsDeep } from 'lodash/fp';\nimport { koaBody, 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 koaBody(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') &&\n error.message.includes('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":["defaults","multipart","patchKoa","ensureFileMimeType","file","type","mime","lookup","name","getFiles","ctx","request","files","bodyMiddleware","config","strapi","bodyConfig","defaultsDeep","gqlEndpoint","plugin","gqlConfig","next","url","koaBody","Array","isArray","forEach","error","Error","message","includes","payloadTooLarge","Promise","all","map","fse","remove","filepath"],"mappings":";;;;;AASA,MAAMA,QAAAA,GAAW;IACfC,SAAAA,EAAW,IAAA;IACXC,QAAAA,EAAU;AACZ,CAAA;AAEA,SAASC,mBAAmBC,IAAS,EAAA;IACnC,IAAI,CAACA,IAAAA,CAAKC,IAAI,EAAE;AACdD,QAAAA,IAAAA,CAAKC,IAAI,GAAGC,IAAAA,CAAKC,MAAM,CAACH,IAAAA,CAAKI,IAAI,CAAA,IAAK,0BAAA;AACxC,IAAA;AACF;AAEA,SAASC,SAASC,GAAgB,EAAA;IAChC,OAAOA,GAAAA,EAAKC,SAASC,KAAAA,EAAOA,KAAAA;AAC9B;AAEA,MAAMC,cAAAA,GAAiD,CAACC,MAAAA,EAAQ,EAAEC,MAAM,EAAE,GAAA;IACxE,MAAMC,UAAAA,GAAqBC,aAAajB,QAAAA,EAAUc,MAAAA,CAAAA;IAElD,IAAII,WAAAA;IACJ,IAAIH,MAAAA,CAAOI,MAAM,CAAC,SAAA,CAAA,EAAY;AAC5B,QAAA,MAAM,EAAEL,MAAAA,EAAQM,SAAS,EAAE,GAAGL,MAAAA,CAAOI,MAAM,CAAC,SAAA,CAAA;AAC5CD,QAAAA,WAAAA,GAAcE,SAAAA,CAAU,UAAA,CAAA;AAC1B,IAAA;AAEA,IAAA,OAAO,OAAOV,GAAAA,EAAKW,IAAAA,GAAAA;;AAEjB,QAAA,IAAIH,WAAAA,IAAeR,GAAAA,CAAIY,GAAG,KAAKJ,WAAAA,EAAa;YAC1C,MAAMG,IAAAA,EAAAA;QACR,CAAA,MAAO;YACL,IAAI;gBACF,MAAME,OAAAA,CAAQP,UAAAA,CAAAA,CAAYN,GAAAA,EAAK,UAAA,CAAa,CAAA,CAAA;AAE5C,gBAAA,MAAME,QAAQH,QAAAA,CAASC,GAAAA,CAAAA;AAEvB;;;AAGC,YACD,IAAIE,KAAAA,EAAO;oBACT,IAAIY,KAAAA,CAAMC,OAAO,CAACb,KAAAA,CAAAA,EAAQ;AACxBA,wBAAAA,KAAAA,CAAMc,OAAO,CAACvB,kBAAAA,CAAAA;oBAChB,CAAA,MAAO;wBACLA,kBAAAA,CAAmBS,KAAAA,CAAAA;AACrB,oBAAA;AACF,gBAAA;gBAEA,MAAMS,IAAAA,EAAAA;AACR,YAAA,CAAA,CAAE,OAAOM,KAAAA,EAAO;AACd,gBAAA,IACEA,iBAAiBC,KAAAA,IACjBD,KAAAA,CAAME,OAAO,IACbF,MAAME,OAAO,CAACC,QAAQ,CAAC,kBACvBH,KAAAA,CAAME,OAAO,CAACC,QAAQ,CAAC,UAAA,CAAA,EACvB;oBACA,OAAOpB,GAAAA,CAAIqB,eAAe,CAAC,YAAA,CAAA;AAC7B,gBAAA;gBAEA,MAAMJ,KAAAA;AACR,YAAA;AACF,QAAA;AAEA,QAAA,MAAMf,QAAQH,QAAAA,CAASC,GAAAA,CAAAA;;AAGvB,QAAA,IAAIE,KAAAA,EAAO;YACT,IAAIY,KAAAA,CAAMC,OAAO,CAACb,KAAAA,CAAAA,EAAQ;;gBAExBoB,OAAAA,CAAQC,GAAG,CAACrB,KAAAA,CAAMsB,GAAG,CAAC,CAAC9B,IAAAA,GAAS+B,GAAAA,CAAIC,MAAM,CAAChC,IAAAA,CAAKiC,QAAQ,CAAA,CAAA,CAAA;AAC1D,YAAA,CAAA,MAAO,IAAIzB,KAAAA,IAASA,KAAAA,CAAMyB,QAAQ,EAAE;;gBAElCF,GAAAA,CAAIC,MAAM,CAACxB,KAAAA,CAAMyB,QAAQ,CAAA;AAC3B,YAAA;YACA,OAAO3B,GAAAA,CAAIC,OAAO,CAACC,KAAK;AAC1B,QAAA;AACF,IAAA,CAAA;AACF;;;;"}
@@ -2,7 +2,11 @@
2
2
 
3
3
  var compress = require('koa-compress');
4
4
 
5
- const compression = (config)=>compress(config);
5
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
6
+
7
+ var compress__default = /*#__PURE__*/_interopDefault(compress);
8
+
9
+ const compression = (config)=>compress__default.default(config);
6
10
 
7
11
  exports.compression = compression;
8
12
  //# sourceMappingURL=compression.js.map
@@ -1 +1 @@
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":["compression","config","compress"],"mappings":";;;;AAKO,MAAMA,WAAAA,GAA8C,CAACC,MAAAA,GAAWC,SAASD,MAAAA;;;;"}
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":["compression","config","compress"],"mappings":";;;;;;;;AAKO,MAAMA,WAAAA,GAA8C,CAACC,MAAAA,GAAWC,0BAASD,MAAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"cors.d.ts","sourceRoot":"","sources":["../../src/middlewares/cors.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,MAAM,MAAM,GAAG;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3F,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAWF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,kBACP,MAAM,GAAG,SAAS,oBAE7B,MAAM,GACN,MAAM,EAAE,GACR,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,GAAG,MAAM,EAAE,GAAG,QAAQ,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,QAC5D,GAAG,KACR,QAAQ,MAAM,CAgChB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CA0B/C,CAAC"}
1
+ {"version":3,"file":"cors.d.ts","sourceRoot":"","sources":["../../src/middlewares/cors.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,MAAM,MAAM,GAAG;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3F,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAWF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GACtB,eAAe,MAAM,GAAG,SAAS,EACjC,kBACI,MAAM,GACN,MAAM,EAAE,GACR,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,EAClE,MAAM,GAAG,KACR,OAAO,CAAC,MAAM,CAgChB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CA0B/C,CAAC"}
@@ -2,6 +2,10 @@
2
2
 
3
3
  var koaCors = require('@koa/cors');
4
4
 
5
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
6
+
7
+ var koaCors__default = /*#__PURE__*/_interopDefault(koaCors);
8
+
5
9
  const defaults = {
6
10
  origin: '*',
7
11
  maxAge: 31536000,
@@ -67,7 +71,7 @@ const cors = (config)=>{
67
71
  if (config.enabled !== undefined) {
68
72
  strapi.log.warn('The strapi::cors middleware no longer supports the `enabled` option. Using it' + ' to conditionally enable CORS might cause an insecure default. To disable strapi::cors, remove it from' + ' the exported array in config/middleware.js');
69
73
  }
70
- return koaCors({
74
+ return koaCors__default.default({
71
75
  async origin (ctx) {
72
76
  const requestOrigin = ctx.get('Origin');
73
77
  return matchOrigin(requestOrigin, origin, ctx);
@@ -1 +1 @@
1
- {"version":3,"file":"cors.js","sources":["../../src/middlewares/cors.ts"],"sourcesContent":["import koaCors from '@koa/cors';\n\nimport type { Core } from '@strapi/types';\n\nexport type Config = {\n enabled?: boolean;\n origin: string | string[] | ((ctx: any) => string | string[] | Promise<string | string[]>);\n expose?: string | string[];\n maxAge?: number;\n credentials?: boolean;\n methods?: string | string[];\n headers?: string | string[];\n keepHeadersOnError?: boolean;\n};\n\nconst defaults: Config = {\n origin: '*',\n maxAge: 31536000,\n credentials: true,\n methods: ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'HEAD', 'OPTIONS'],\n headers: ['Content-Type', 'Authorization', 'Origin', 'Accept'],\n keepHeadersOnError: false,\n};\n\n/**\n * Determines if a request origin is allowed based on the configured origin list\n * @param requestOrigin - The origin from the request header\n * @param configuredOrigin - The origin configuration (string, array, or function)\n * @param ctx - The Koa context (for function-based origin)\n * @returns The allowed origin string or empty string if blocked\n */\nexport const matchOrigin = async (\n requestOrigin: string | undefined,\n configuredOrigin:\n | string\n | string[]\n | ((ctx: any) => string | string[] | Promise<string | string[]>),\n ctx?: any\n): Promise<string> => {\n if (!requestOrigin) {\n return '*';\n }\n\n let originList: string | string[];\n\n if (typeof configuredOrigin === 'function') {\n originList = await configuredOrigin(ctx);\n } else {\n originList = configuredOrigin;\n }\n\n // Normalize originList into an array\n let normalizedOrigins: string[];\n if (Array.isArray(originList)) {\n normalizedOrigins = originList;\n } else if (originList === undefined || originList === null) {\n // Handle undefined/null - treat as wildcard\n normalizedOrigins = ['*'];\n } else {\n // Handle comma-separated string of origins\n normalizedOrigins = originList.split(',').map((origin) => origin.trim());\n }\n\n // Check if wildcard is in the normalized origins\n if (normalizedOrigins.includes('*')) {\n return requestOrigin;\n }\n\n // Check if request origin is in the normalized origins\n return normalizedOrigins.includes(requestOrigin) ? requestOrigin : '';\n};\n\nexport const cors: Core.MiddlewareFactory<Config> = (config) => {\n const { origin, expose, maxAge, credentials, methods, headers, keepHeadersOnError } = {\n ...defaults,\n ...config,\n };\n\n if (config.enabled !== undefined) {\n strapi.log.warn(\n 'The strapi::cors middleware no longer supports the `enabled` option. Using it' +\n ' to conditionally enable CORS might cause an insecure default. To disable strapi::cors, remove it from' +\n ' the exported array in config/middleware.js'\n );\n }\n\n return koaCors({\n async origin(ctx) {\n const requestOrigin = ctx.get('Origin');\n return matchOrigin(requestOrigin, origin, ctx);\n },\n exposeHeaders: expose,\n maxAge,\n credentials,\n allowMethods: methods,\n allowHeaders: headers,\n keepHeadersOnError,\n });\n};\n"],"names":["defaults","origin","maxAge","credentials","methods","headers","keepHeadersOnError","matchOrigin","requestOrigin","configuredOrigin","ctx","originList","normalizedOrigins","Array","isArray","undefined","split","map","trim","includes","cors","config","expose","enabled","strapi","log","warn","koaCors","get","exposeHeaders","allowMethods","allowHeaders"],"mappings":";;;;AAeA,MAAMA,QAAAA,GAAmB;IACvBC,MAAAA,EAAQ,GAAA;IACRC,MAAAA,EAAQ,QAAA;IACRC,WAAAA,EAAa,IAAA;IACbC,OAAAA,EAAS;AAAC,QAAA,KAAA;AAAO,QAAA,MAAA;AAAQ,QAAA,KAAA;AAAO,QAAA,OAAA;AAAS,QAAA,QAAA;AAAU,QAAA,MAAA;AAAQ,QAAA;AAAU,KAAA;IACrEC,OAAAA,EAAS;AAAC,QAAA,cAAA;AAAgB,QAAA,eAAA;AAAiB,QAAA,QAAA;AAAU,QAAA;AAAS,KAAA;IAC9DC,kBAAAA,EAAoB;AACtB,CAAA;AAEA;;;;;;AAMC,IACM,MAAMC,WAAAA,GAAc,OACzBC,eACAC,gBAAAA,EAIAC,GAAAA,GAAAA;AAEA,IAAA,IAAI,CAACF,aAAAA,EAAe;QAClB,OAAO,GAAA;AACT,IAAA;IAEA,IAAIG,UAAAA;IAEJ,IAAI,OAAOF,qBAAqB,UAAA,EAAY;AAC1CE,QAAAA,UAAAA,GAAa,MAAMF,gBAAAA,CAAiBC,GAAAA,CAAAA;IACtC,CAAA,MAAO;QACLC,UAAAA,GAAaF,gBAAAA;AACf,IAAA;;IAGA,IAAIG,iBAAAA;IACJ,IAAIC,KAAAA,CAAMC,OAAO,CAACH,UAAAA,CAAAA,EAAa;QAC7BC,iBAAAA,GAAoBD,UAAAA;AACtB,IAAA,CAAA,MAAO,IAAIA,UAAAA,KAAeI,SAAAA,IAAaJ,UAAAA,KAAe,IAAA,EAAM;;QAE1DC,iBAAAA,GAAoB;AAAC,YAAA;AAAI,SAAA;IAC3B,CAAA,MAAO;;QAELA,iBAAAA,GAAoBD,UAAAA,CAAWK,KAAK,CAAC,GAAA,CAAA,CAAKC,GAAG,CAAC,CAAChB,MAAAA,GAAWA,MAAAA,CAAOiB,IAAI,EAAA,CAAA;AACvE,IAAA;;IAGA,IAAIN,iBAAAA,CAAkBO,QAAQ,CAAC,GAAA,CAAA,EAAM;QACnC,OAAOX,aAAAA;AACT,IAAA;;AAGA,IAAA,OAAOI,iBAAAA,CAAkBO,QAAQ,CAACX,aAAAA,CAAAA,GAAiBA,aAAAA,GAAgB,EAAA;AACrE;AAEO,MAAMY,OAAuC,CAACC,MAAAA,GAAAA;AACnD,IAAA,MAAM,EAAEpB,MAAM,EAAEqB,MAAM,EAAEpB,MAAM,EAAEC,WAAW,EAAEC,OAAO,EAAEC,OAAO,EAAEC,kBAAkB,EAAE,GAAG;AACpF,QAAA,GAAGN,QAAQ;AACX,QAAA,GAAGqB;AACL,KAAA;IAEA,IAAIA,MAAAA,CAAOE,OAAO,KAAKR,SAAAA,EAAW;AAChCS,QAAAA,MAAAA,CAAOC,GAAG,CAACC,IAAI,CACb,kFACE,wGAAA,GACA,6CAAA,CAAA;AAEN,IAAA;AAEA,IAAA,OAAOC,OAAAA,CAAQ;AACb,QAAA,MAAM1B,QAAOS,GAAG,EAAA;YACd,MAAMF,aAAAA,GAAgBE,GAAAA,CAAIkB,GAAG,CAAC,QAAA,CAAA;YAC9B,OAAOrB,WAAAA,CAAYC,eAAeP,MAAAA,EAAQS,GAAAA,CAAAA;AAC5C,QAAA,CAAA;QACAmB,aAAAA,EAAeP,MAAAA;AACfpB,QAAAA,MAAAA;AACAC,QAAAA,WAAAA;QACA2B,YAAAA,EAAc1B,OAAAA;QACd2B,YAAAA,EAAc1B,OAAAA;AACdC,QAAAA;AACF,KAAA,CAAA;AACF;;;;;"}
1
+ {"version":3,"file":"cors.js","sources":["../../src/middlewares/cors.ts"],"sourcesContent":["import koaCors from '@koa/cors';\n\nimport type { Core } from '@strapi/types';\n\nexport type Config = {\n enabled?: boolean;\n origin: string | string[] | ((ctx: any) => string | string[] | Promise<string | string[]>);\n expose?: string | string[];\n maxAge?: number;\n credentials?: boolean;\n methods?: string | string[];\n headers?: string | string[];\n keepHeadersOnError?: boolean;\n};\n\nconst defaults: Config = {\n origin: '*',\n maxAge: 31536000,\n credentials: true,\n methods: ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'HEAD', 'OPTIONS'],\n headers: ['Content-Type', 'Authorization', 'Origin', 'Accept'],\n keepHeadersOnError: false,\n};\n\n/**\n * Determines if a request origin is allowed based on the configured origin list\n * @param requestOrigin - The origin from the request header\n * @param configuredOrigin - The origin configuration (string, array, or function)\n * @param ctx - The Koa context (for function-based origin)\n * @returns The allowed origin string or empty string if blocked\n */\nexport const matchOrigin = async (\n requestOrigin: string | undefined,\n configuredOrigin:\n | string\n | string[]\n | ((ctx: any) => string | string[] | Promise<string | string[]>),\n ctx?: any\n): Promise<string> => {\n if (!requestOrigin) {\n return '*';\n }\n\n let originList: string | string[];\n\n if (typeof configuredOrigin === 'function') {\n originList = await configuredOrigin(ctx);\n } else {\n originList = configuredOrigin;\n }\n\n // Normalize originList into an array\n let normalizedOrigins: string[];\n if (Array.isArray(originList)) {\n normalizedOrigins = originList;\n } else if (originList === undefined || originList === null) {\n // Handle undefined/null - treat as wildcard\n normalizedOrigins = ['*'];\n } else {\n // Handle comma-separated string of origins\n normalizedOrigins = originList.split(',').map((origin) => origin.trim());\n }\n\n // Check if wildcard is in the normalized origins\n if (normalizedOrigins.includes('*')) {\n return requestOrigin;\n }\n\n // Check if request origin is in the normalized origins\n return normalizedOrigins.includes(requestOrigin) ? requestOrigin : '';\n};\n\nexport const cors: Core.MiddlewareFactory<Config> = (config) => {\n const { origin, expose, maxAge, credentials, methods, headers, keepHeadersOnError } = {\n ...defaults,\n ...config,\n };\n\n if (config.enabled !== undefined) {\n strapi.log.warn(\n 'The strapi::cors middleware no longer supports the `enabled` option. Using it' +\n ' to conditionally enable CORS might cause an insecure default. To disable strapi::cors, remove it from' +\n ' the exported array in config/middleware.js'\n );\n }\n\n return koaCors({\n async origin(ctx) {\n const requestOrigin = ctx.get('Origin');\n return matchOrigin(requestOrigin, origin, ctx);\n },\n exposeHeaders: expose,\n maxAge,\n credentials,\n allowMethods: methods,\n allowHeaders: headers,\n keepHeadersOnError,\n });\n};\n"],"names":["defaults","origin","maxAge","credentials","methods","headers","keepHeadersOnError","matchOrigin","requestOrigin","configuredOrigin","ctx","originList","normalizedOrigins","Array","isArray","undefined","split","map","trim","includes","cors","config","expose","enabled","strapi","log","warn","koaCors","get","exposeHeaders","allowMethods","allowHeaders"],"mappings":";;;;;;;;AAeA,MAAMA,QAAAA,GAAmB;IACvBC,MAAAA,EAAQ,GAAA;IACRC,MAAAA,EAAQ,QAAA;IACRC,WAAAA,EAAa,IAAA;IACbC,OAAAA,EAAS;AAAC,QAAA,KAAA;AAAO,QAAA,MAAA;AAAQ,QAAA,KAAA;AAAO,QAAA,OAAA;AAAS,QAAA,QAAA;AAAU,QAAA,MAAA;AAAQ,QAAA;AAAU,KAAA;IACrEC,OAAAA,EAAS;AAAC,QAAA,cAAA;AAAgB,QAAA,eAAA;AAAiB,QAAA,QAAA;AAAU,QAAA;AAAS,KAAA;IAC9DC,kBAAAA,EAAoB;AACtB,CAAA;AAEA;;;;;;AAMC,IACM,MAAMC,WAAAA,GAAc,OACzBC,eACAC,gBAAAA,EAIAC,GAAAA,GAAAA;AAEA,IAAA,IAAI,CAACF,aAAAA,EAAe;QAClB,OAAO,GAAA;AACT,IAAA;IAEA,IAAIG,UAAAA;IAEJ,IAAI,OAAOF,qBAAqB,UAAA,EAAY;AAC1CE,QAAAA,UAAAA,GAAa,MAAMF,gBAAAA,CAAiBC,GAAAA,CAAAA;IACtC,CAAA,MAAO;QACLC,UAAAA,GAAaF,gBAAAA;AACf,IAAA;;IAGA,IAAIG,iBAAAA;IACJ,IAAIC,KAAAA,CAAMC,OAAO,CAACH,UAAAA,CAAAA,EAAa;QAC7BC,iBAAAA,GAAoBD,UAAAA;AACtB,IAAA,CAAA,MAAO,IAAIA,UAAAA,KAAeI,SAAAA,IAAaJ,UAAAA,KAAe,IAAA,EAAM;;QAE1DC,iBAAAA,GAAoB;AAAC,YAAA;AAAI,SAAA;IAC3B,CAAA,MAAO;;QAELA,iBAAAA,GAAoBD,UAAAA,CAAWK,KAAK,CAAC,GAAA,CAAA,CAAKC,GAAG,CAAC,CAAChB,MAAAA,GAAWA,MAAAA,CAAOiB,IAAI,EAAA,CAAA;AACvE,IAAA;;IAGA,IAAIN,iBAAAA,CAAkBO,QAAQ,CAAC,GAAA,CAAA,EAAM;QACnC,OAAOX,aAAAA;AACT,IAAA;;AAGA,IAAA,OAAOI,iBAAAA,CAAkBO,QAAQ,CAACX,aAAAA,CAAAA,GAAiBA,aAAAA,GAAgB,EAAA;AACrE;AAEO,MAAMY,OAAuC,CAACC,MAAAA,GAAAA;AACnD,IAAA,MAAM,EAAEpB,MAAM,EAAEqB,MAAM,EAAEpB,MAAM,EAAEC,WAAW,EAAEC,OAAO,EAAEC,OAAO,EAAEC,kBAAkB,EAAE,GAAG;AACpF,QAAA,GAAGN,QAAQ;AACX,QAAA,GAAGqB;AACL,KAAA;IAEA,IAAIA,MAAAA,CAAOE,OAAO,KAAKR,SAAAA,EAAW;AAChCS,QAAAA,MAAAA,CAAOC,GAAG,CAACC,IAAI,CACb,kFACE,wGAAA,GACA,6CAAA,CAAA;AAEN,IAAA;AAEA,IAAA,OAAOC,wBAAAA,CAAQ;AACb,QAAA,MAAM1B,QAAOS,GAAG,EAAA;YACd,MAAMF,aAAAA,GAAgBE,GAAAA,CAAIkB,GAAG,CAAC,QAAA,CAAA;YAC9B,OAAOrB,WAAAA,CAAYC,eAAeP,MAAAA,EAAQS,GAAAA,CAAAA;AAC5C,QAAA,CAAA;QACAmB,aAAAA,EAAeP,MAAAA;AACfpB,QAAAA,MAAAA;AACAC,QAAAA,WAAAA;QACA2B,YAAAA,EAAc1B,OAAAA;QACd2B,YAAAA,EAAc1B,OAAAA;AACdC,QAAAA;AACF,KAAA,CAAA;AACF;;;;;"}
@@ -1,4 +1,9 @@
1
1
  import type { Core } from '@strapi/types';
2
+ declare module 'koa' {
3
+ interface BaseResponse {
4
+ _explicitStatus: boolean;
5
+ }
6
+ }
2
7
  declare const errorMiddleware: Core.MiddlewareFactory;
3
8
  export { errorMiddleware as errors };
4
9
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/middlewares/errors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAI1C,QAAA,MAAM,eAAe,EAAE,IAAI,CAAC,iBA8B3B,CAAC;AAEF,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/middlewares/errors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAI1C,OAAO,QAAQ,KAAK,CAAC;IACnB,UAAU,YAAY;QACpB,eAAe,EAAE,OAAO,CAAC;KAC1B;CACF;AAED,QAAA,MAAM,eAAe,EAAE,IAAI,CAAC,iBA8B3B,CAAC;AAEF,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sources":["../../src/middlewares/errors.ts"],"sourcesContent":["import { errors } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\n\nimport { formatApplicationError, formatHttpError, formatInternalError } from '../services/errors';\n\nconst errorMiddleware: Core.MiddlewareFactory = (/* _, { strapi } */) => {\n return async (ctx, next) => {\n try {\n await next();\n\n if (!ctx.response._explicitStatus) {\n return ctx.notFound();\n }\n } catch (error) {\n if (error instanceof errors.ApplicationError) {\n const { status, body } = formatApplicationError(error);\n ctx.status = status;\n ctx.body = body;\n return;\n }\n\n if (error instanceof errors.HttpError) {\n const { status, body } = formatHttpError(error);\n ctx.status = status;\n ctx.body = body;\n return;\n }\n\n strapi.log.error(error);\n\n const { status, body } = formatInternalError(error);\n ctx.status = status;\n ctx.body = body;\n }\n };\n};\n\nexport { errorMiddleware as errors };\n"],"names":["errorMiddleware","ctx","next","response","_explicitStatus","notFound","error","errors","ApplicationError","status","body","formatApplicationError","HttpError","formatHttpError","strapi","log","formatInternalError"],"mappings":";;;;;AAKA,MAAMA,eAAAA,GAA0C,IAAA;AAC9C,IAAA,OAAO,OAAOC,GAAAA,EAAKC,IAAAA,GAAAA;QACjB,IAAI;YACF,MAAMA,IAAAA,EAAAA;AAEN,YAAA,IAAI,CAACD,GAAAA,CAAIE,QAAQ,CAACC,eAAe,EAAE;AACjC,gBAAA,OAAOH,IAAII,QAAQ,EAAA;AACrB,YAAA;AACF,QAAA,CAAA,CAAE,OAAOC,KAAAA,EAAO;YACd,IAAIA,KAAAA,YAAiBC,kBAAAA,CAAOC,gBAAgB,EAAE;AAC5C,gBAAA,MAAM,EAAEC,MAAM,EAAEC,IAAI,EAAE,GAAGC,6BAAAA,CAAuBL,KAAAA,CAAAA;AAChDL,gBAAAA,GAAAA,CAAIQ,MAAM,GAAGA,MAAAA;AACbR,gBAAAA,GAAAA,CAAIS,IAAI,GAAGA,IAAAA;AACX,gBAAA;AACF,YAAA;YAEA,IAAIJ,KAAAA,YAAiBC,kBAAAA,CAAOK,SAAS,EAAE;AACrC,gBAAA,MAAM,EAAEH,MAAM,EAAEC,IAAI,EAAE,GAAGG,sBAAAA,CAAgBP,KAAAA,CAAAA;AACzCL,gBAAAA,GAAAA,CAAIQ,MAAM,GAAGA,MAAAA;AACbR,gBAAAA,GAAAA,CAAIS,IAAI,GAAGA,IAAAA;AACX,gBAAA;AACF,YAAA;YAEAI,MAAAA,CAAOC,GAAG,CAACT,KAAK,CAACA,KAAAA,CAAAA;AAEjB,YAAA,MAAM,EAAEG,MAAM,EAAEC,IAAI,EAAE,GAAGM,0BAAAA,CAAoBV,KAAAA,CAAAA;AAC7CL,YAAAA,GAAAA,CAAIQ,MAAM,GAAGA,MAAAA;AACbR,YAAAA,GAAAA,CAAIS,IAAI,GAAGA,IAAAA;AACb,QAAA;AACF,IAAA,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"errors.js","sources":["../../src/middlewares/errors.ts"],"sourcesContent":["import { errors } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\n\nimport { formatApplicationError, formatHttpError, formatInternalError } from '../services/errors';\n\ndeclare module 'koa' {\n interface BaseResponse {\n _explicitStatus: boolean;\n }\n}\n\nconst errorMiddleware: Core.MiddlewareFactory = (/* _, { strapi } */) => {\n return async (ctx, next) => {\n try {\n await next();\n\n if (!ctx.response._explicitStatus) {\n return ctx.notFound();\n }\n } catch (error) {\n if (error instanceof errors.ApplicationError) {\n const { status, body } = formatApplicationError(error);\n ctx.status = status;\n ctx.body = body;\n return;\n }\n\n if (error instanceof errors.HttpError) {\n const { status, body } = formatHttpError(error);\n ctx.status = status;\n ctx.body = body;\n return;\n }\n\n strapi.log.error(error);\n\n const { status, body } = formatInternalError(error);\n ctx.status = status;\n ctx.body = body;\n }\n };\n};\n\nexport { errorMiddleware as errors };\n"],"names":["errorMiddleware","ctx","next","response","_explicitStatus","notFound","error","errors","ApplicationError","status","body","formatApplicationError","HttpError","formatHttpError","strapi","log","formatInternalError"],"mappings":";;;;;AAWA,MAAMA,eAAAA,GAA0C,IAAA;AAC9C,IAAA,OAAO,OAAOC,GAAAA,EAAKC,IAAAA,GAAAA;QACjB,IAAI;YACF,MAAMA,IAAAA,EAAAA;AAEN,YAAA,IAAI,CAACD,GAAAA,CAAIE,QAAQ,CAACC,eAAe,EAAE;AACjC,gBAAA,OAAOH,IAAII,QAAQ,EAAA;AACrB,YAAA;AACF,QAAA,CAAA,CAAE,OAAOC,KAAAA,EAAO;YACd,IAAIA,KAAAA,YAAiBC,kBAAAA,CAAOC,gBAAgB,EAAE;AAC5C,gBAAA,MAAM,EAAEC,MAAM,EAAEC,IAAI,EAAE,GAAGC,6BAAAA,CAAuBL,KAAAA,CAAAA;AAChDL,gBAAAA,GAAAA,CAAIQ,MAAM,GAAGA,MAAAA;AACbR,gBAAAA,GAAAA,CAAIS,IAAI,GAAGA,IAAAA;AACX,gBAAA;AACF,YAAA;YAEA,IAAIJ,KAAAA,YAAiBC,kBAAAA,CAAOK,SAAS,EAAE;AACrC,gBAAA,MAAM,EAAEH,MAAM,EAAEC,IAAI,EAAE,GAAGG,sBAAAA,CAAgBP,KAAAA,CAAAA;AACzCL,gBAAAA,GAAAA,CAAIQ,MAAM,GAAGA,MAAAA;AACbR,gBAAAA,GAAAA,CAAIS,IAAI,GAAGA,IAAAA;AACX,gBAAA;AACF,YAAA;YAEAI,MAAAA,CAAOC,GAAG,CAACT,KAAK,CAACA,KAAAA,CAAAA;AAEjB,YAAA,MAAM,EAAEG,MAAM,EAAEC,IAAI,EAAE,GAAGM,0BAAAA,CAAoBV,KAAAA,CAAAA;AAC7CL,YAAAA,GAAAA,CAAIQ,MAAM,GAAGA,MAAAA;AACbR,YAAAA,GAAAA,CAAIS,IAAI,GAAGA,IAAAA;AACb,QAAA;AACF,IAAA,CAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.mjs","sources":["../../src/middlewares/errors.ts"],"sourcesContent":["import { errors } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\n\nimport { formatApplicationError, formatHttpError, formatInternalError } from '../services/errors';\n\nconst errorMiddleware: Core.MiddlewareFactory = (/* _, { strapi } */) => {\n return async (ctx, next) => {\n try {\n await next();\n\n if (!ctx.response._explicitStatus) {\n return ctx.notFound();\n }\n } catch (error) {\n if (error instanceof errors.ApplicationError) {\n const { status, body } = formatApplicationError(error);\n ctx.status = status;\n ctx.body = body;\n return;\n }\n\n if (error instanceof errors.HttpError) {\n const { status, body } = formatHttpError(error);\n ctx.status = status;\n ctx.body = body;\n return;\n }\n\n strapi.log.error(error);\n\n const { status, body } = formatInternalError(error);\n ctx.status = status;\n ctx.body = body;\n }\n };\n};\n\nexport { errorMiddleware as errors };\n"],"names":["errorMiddleware","ctx","next","response","_explicitStatus","notFound","error","errors","ApplicationError","status","body","formatApplicationError","HttpError","formatHttpError","strapi","log","formatInternalError"],"mappings":";;;AAKA,MAAMA,eAAAA,GAA0C,IAAA;AAC9C,IAAA,OAAO,OAAOC,GAAAA,EAAKC,IAAAA,GAAAA;QACjB,IAAI;YACF,MAAMA,IAAAA,EAAAA;AAEN,YAAA,IAAI,CAACD,GAAAA,CAAIE,QAAQ,CAACC,eAAe,EAAE;AACjC,gBAAA,OAAOH,IAAII,QAAQ,EAAA;AACrB,YAAA;AACF,QAAA,CAAA,CAAE,OAAOC,KAAAA,EAAO;YACd,IAAIA,KAAAA,YAAiBC,MAAAA,CAAOC,gBAAgB,EAAE;AAC5C,gBAAA,MAAM,EAAEC,MAAM,EAAEC,IAAI,EAAE,GAAGC,sBAAAA,CAAuBL,KAAAA,CAAAA;AAChDL,gBAAAA,GAAAA,CAAIQ,MAAM,GAAGA,MAAAA;AACbR,gBAAAA,GAAAA,CAAIS,IAAI,GAAGA,IAAAA;AACX,gBAAA;AACF,YAAA;YAEA,IAAIJ,KAAAA,YAAiBC,MAAAA,CAAOK,SAAS,EAAE;AACrC,gBAAA,MAAM,EAAEH,MAAM,EAAEC,IAAI,EAAE,GAAGG,eAAAA,CAAgBP,KAAAA,CAAAA;AACzCL,gBAAAA,GAAAA,CAAIQ,MAAM,GAAGA,MAAAA;AACbR,gBAAAA,GAAAA,CAAIS,IAAI,GAAGA,IAAAA;AACX,gBAAA;AACF,YAAA;YAEAI,MAAAA,CAAOC,GAAG,CAACT,KAAK,CAACA,KAAAA,CAAAA;AAEjB,YAAA,MAAM,EAAEG,MAAM,EAAEC,IAAI,EAAE,GAAGM,mBAAAA,CAAoBV,KAAAA,CAAAA;AAC7CL,YAAAA,GAAAA,CAAIQ,MAAM,GAAGA,MAAAA;AACbR,YAAAA,GAAAA,CAAIS,IAAI,GAAGA,IAAAA;AACb,QAAA;AACF,IAAA,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"errors.mjs","sources":["../../src/middlewares/errors.ts"],"sourcesContent":["import { errors } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\n\nimport { formatApplicationError, formatHttpError, formatInternalError } from '../services/errors';\n\ndeclare module 'koa' {\n interface BaseResponse {\n _explicitStatus: boolean;\n }\n}\n\nconst errorMiddleware: Core.MiddlewareFactory = (/* _, { strapi } */) => {\n return async (ctx, next) => {\n try {\n await next();\n\n if (!ctx.response._explicitStatus) {\n return ctx.notFound();\n }\n } catch (error) {\n if (error instanceof errors.ApplicationError) {\n const { status, body } = formatApplicationError(error);\n ctx.status = status;\n ctx.body = body;\n return;\n }\n\n if (error instanceof errors.HttpError) {\n const { status, body } = formatHttpError(error);\n ctx.status = status;\n ctx.body = body;\n return;\n }\n\n strapi.log.error(error);\n\n const { status, body } = formatInternalError(error);\n ctx.status = status;\n ctx.body = body;\n }\n };\n};\n\nexport { errorMiddleware as errors };\n"],"names":["errorMiddleware","ctx","next","response","_explicitStatus","notFound","error","errors","ApplicationError","status","body","formatApplicationError","HttpError","formatHttpError","strapi","log","formatInternalError"],"mappings":";;;AAWA,MAAMA,eAAAA,GAA0C,IAAA;AAC9C,IAAA,OAAO,OAAOC,GAAAA,EAAKC,IAAAA,GAAAA;QACjB,IAAI;YACF,MAAMA,IAAAA,EAAAA;AAEN,YAAA,IAAI,CAACD,GAAAA,CAAIE,QAAQ,CAACC,eAAe,EAAE;AACjC,gBAAA,OAAOH,IAAII,QAAQ,EAAA;AACrB,YAAA;AACF,QAAA,CAAA,CAAE,OAAOC,KAAAA,EAAO;YACd,IAAIA,KAAAA,YAAiBC,MAAAA,CAAOC,gBAAgB,EAAE;AAC5C,gBAAA,MAAM,EAAEC,MAAM,EAAEC,IAAI,EAAE,GAAGC,sBAAAA,CAAuBL,KAAAA,CAAAA;AAChDL,gBAAAA,GAAAA,CAAIQ,MAAM,GAAGA,MAAAA;AACbR,gBAAAA,GAAAA,CAAIS,IAAI,GAAGA,IAAAA;AACX,gBAAA;AACF,YAAA;YAEA,IAAIJ,KAAAA,YAAiBC,MAAAA,CAAOK,SAAS,EAAE;AACrC,gBAAA,MAAM,EAAEH,MAAM,EAAEC,IAAI,EAAE,GAAGG,eAAAA,CAAgBP,KAAAA,CAAAA;AACzCL,gBAAAA,GAAAA,CAAIQ,MAAM,GAAGA,MAAAA;AACbR,gBAAAA,GAAAA,CAAIS,IAAI,GAAGA,IAAAA;AACX,gBAAA;AACF,YAAA;YAEAI,MAAAA,CAAOC,GAAG,CAACT,KAAK,CAACA,KAAAA,CAAAA;AAEjB,YAAA,MAAM,EAAEG,MAAM,EAAEC,IAAI,EAAE,GAAGM,mBAAAA,CAAoBV,KAAAA,CAAAA;AAC7CL,YAAAA,GAAAA,CAAIQ,MAAM,GAAGA,MAAAA;AACbR,YAAAA,GAAAA,CAAIS,IAAI,GAAGA,IAAAA;AACb,QAAA;AACF,IAAA,CAAA;AACF;;;;"}
@@ -1,4 +1,3 @@
1
- /// <reference path="../../src/modules.d.ts" />
2
1
  import koaFavicon from 'koa-favicon';
3
2
  import type { Core } from '@strapi/types';
4
3
  export type Config = NonNullable<Parameters<typeof koaFavicon>[1]>;
@@ -1 +1 @@
1
- {"version":3,"file":"favicon.d.ts","sourceRoot":"","sources":["../../src/middlewares/favicon.ts"],"names":[],"mappings":";AAEA,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAOnE,eAAO,MAAM,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAclD,CAAC"}
1
+ {"version":3,"file":"favicon.d.ts","sourceRoot":"","sources":["../../src/middlewares/favicon.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAOnE,eAAO,MAAM,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAclD,CAAC"}
@@ -4,6 +4,10 @@ var fs = require('fs');
4
4
  var path = require('path');
5
5
  var koaFavicon = require('koa-favicon');
6
6
 
7
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
+
9
+ var koaFavicon__default = /*#__PURE__*/_interopDefault(koaFavicon);
10
+
7
11
  const defaults = {
8
12
  path: 'favicon.png',
9
13
  maxAge: 86400000
@@ -22,7 +26,7 @@ const favicon = (config, { strapi })=>{
22
26
  faviconPath = 'favicon.ico';
23
27
  }
24
28
  }
25
- return koaFavicon(path.resolve(appRoot, faviconPath), {
29
+ return koaFavicon__default.default(path.resolve(appRoot, faviconPath), {
26
30
  maxAge
27
31
  });
28
32
  };
@@ -1 +1 @@
1
- {"version":3,"file":"favicon.js","sources":["../../src/middlewares/favicon.ts"],"sourcesContent":["import { existsSync } from 'fs';\nimport { resolve } from 'path';\nimport koaFavicon from 'koa-favicon';\nimport type { Core } from '@strapi/types';\n\nexport type Config = NonNullable<Parameters<typeof koaFavicon>[1]>;\n\nconst defaults = {\n path: 'favicon.png',\n maxAge: 86400000,\n};\n\nexport const favicon: Core.MiddlewareFactory<Config> = (config, { strapi }) => {\n const { maxAge, path: faviconPathConfig } = { ...defaults, ...config };\n const { root: appRoot } = strapi.dirs.app;\n let faviconPath = faviconPathConfig;\n\n if (!existsSync(resolve(appRoot, faviconPathConfig))) {\n if (existsSync(resolve(appRoot, defaults.path))) {\n faviconPath = defaults.path;\n } else if (existsSync(resolve(appRoot, 'favicon.ico'))) {\n faviconPath = 'favicon.ico';\n }\n }\n\n return koaFavicon(resolve(appRoot, faviconPath), { maxAge });\n};\n"],"names":["defaults","path","maxAge","favicon","config","strapi","faviconPathConfig","root","appRoot","dirs","app","faviconPath","existsSync","resolve","koaFavicon"],"mappings":";;;;;;AAOA,MAAMA,QAAAA,GAAW;IACfC,IAAAA,EAAM,aAAA;IACNC,MAAAA,EAAQ;AACV,CAAA;MAEaC,OAAAA,GAA0C,CAACC,MAAAA,EAAQ,EAAEC,MAAM,EAAE,GAAA;AACxE,IAAA,MAAM,EAAEH,MAAM,EAAED,IAAAA,EAAMK,iBAAiB,EAAE,GAAG;AAAE,QAAA,GAAGN,QAAQ;AAAE,QAAA,GAAGI;AAAO,KAAA;IACrE,MAAM,EAAEG,MAAMC,OAAO,EAAE,GAAGH,MAAAA,CAAOI,IAAI,CAACC,GAAG;AACzC,IAAA,IAAIC,WAAAA,GAAcL,iBAAAA;AAElB,IAAA,IAAI,CAACM,aAAAA,CAAWC,YAAAA,CAAQL,OAAAA,EAASF,iBAAAA,CAAAA,CAAAA,EAAqB;AACpD,QAAA,IAAIM,aAAAA,CAAWC,YAAAA,CAAQL,OAAAA,EAASR,QAAAA,CAASC,IAAI,CAAA,CAAA,EAAI;AAC/CU,YAAAA,WAAAA,GAAcX,SAASC,IAAI;AAC7B,QAAA,CAAA,MAAO,IAAIW,aAAAA,CAAWC,YAAAA,CAAQL,OAAAA,EAAS,aAAA,CAAA,CAAA,EAAiB;YACtDG,WAAAA,GAAc,aAAA;AAChB,QAAA;AACF,IAAA;IAEA,OAAOG,UAAAA,CAAWD,YAAAA,CAAQL,OAAAA,EAASG,WAAAA,CAAAA,EAAc;AAAET,QAAAA;AAAO,KAAA,CAAA;AAC5D;;;;"}
1
+ {"version":3,"file":"favicon.js","sources":["../../src/middlewares/favicon.ts"],"sourcesContent":["import { existsSync } from 'fs';\nimport { resolve } from 'path';\nimport koaFavicon from 'koa-favicon';\nimport type { Core } from '@strapi/types';\n\nexport type Config = NonNullable<Parameters<typeof koaFavicon>[1]>;\n\nconst defaults = {\n path: 'favicon.png',\n maxAge: 86400000,\n};\n\nexport const favicon: Core.MiddlewareFactory<Config> = (config, { strapi }) => {\n const { maxAge, path: faviconPathConfig } = { ...defaults, ...config };\n const { root: appRoot } = strapi.dirs.app;\n let faviconPath = faviconPathConfig;\n\n if (!existsSync(resolve(appRoot, faviconPathConfig))) {\n if (existsSync(resolve(appRoot, defaults.path))) {\n faviconPath = defaults.path;\n } else if (existsSync(resolve(appRoot, 'favicon.ico'))) {\n faviconPath = 'favicon.ico';\n }\n }\n\n return koaFavicon(resolve(appRoot, faviconPath), { maxAge });\n};\n"],"names":["defaults","path","maxAge","favicon","config","strapi","faviconPathConfig","root","appRoot","dirs","app","faviconPath","existsSync","resolve","koaFavicon"],"mappings":";;;;;;;;;;AAOA,MAAMA,QAAAA,GAAW;IACfC,IAAAA,EAAM,aAAA;IACNC,MAAAA,EAAQ;AACV,CAAA;MAEaC,OAAAA,GAA0C,CAACC,MAAAA,EAAQ,EAAEC,MAAM,EAAE,GAAA;AACxE,IAAA,MAAM,EAAEH,MAAM,EAAED,IAAAA,EAAMK,iBAAiB,EAAE,GAAG;AAAE,QAAA,GAAGN,QAAQ;AAAE,QAAA,GAAGI;AAAO,KAAA;IACrE,MAAM,EAAEG,MAAMC,OAAO,EAAE,GAAGH,MAAAA,CAAOI,IAAI,CAACC,GAAG;AACzC,IAAA,IAAIC,WAAAA,GAAcL,iBAAAA;AAElB,IAAA,IAAI,CAACM,aAAAA,CAAWC,YAAAA,CAAQL,OAAAA,EAASF,iBAAAA,CAAAA,CAAAA,EAAqB;AACpD,QAAA,IAAIM,aAAAA,CAAWC,YAAAA,CAAQL,OAAAA,EAASR,QAAAA,CAASC,IAAI,CAAA,CAAA,EAAI;AAC/CU,YAAAA,WAAAA,GAAcX,SAASC,IAAI;AAC7B,QAAA,CAAA,MAAO,IAAIW,aAAAA,CAAWC,YAAAA,CAAQL,OAAAA,EAAS,aAAA,CAAA,CAAA,EAAiB;YACtDG,WAAAA,GAAc,aAAA;AAChB,QAAA;AACF,IAAA;IAEA,OAAOG,2BAAAA,CAAWD,YAAAA,CAAQL,OAAAA,EAASG,WAAAA,CAAAA,EAAc;AAAET,QAAAA;AAAO,KAAA,CAAA;AAC5D;;;;"}
@@ -2,7 +2,11 @@
2
2
 
3
3
  var koaIp = require('koa-ip');
4
4
 
5
- const ip = (config)=>koaIp(config);
5
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
6
+
7
+ var koaIp__default = /*#__PURE__*/_interopDefault(koaIp);
8
+
9
+ const ip = (config)=>koaIp__default.default(config);
6
10
 
7
11
  exports.ip = ip;
8
12
  //# sourceMappingURL=ip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ip.js","sources":["../../src/middlewares/ip.ts"],"sourcesContent":["import koaIp from 'koa-ip';\nimport type { Core } from '@strapi/types';\n\nexport type Config = koaIp.KoaIPOptions;\n\nexport const ip: Core.MiddlewareFactory<Config> = (config) => koaIp(config);\n"],"names":["ip","config","koaIp"],"mappings":";;;;AAKO,MAAMA,EAAAA,GAAqC,CAACC,MAAAA,GAAWC,MAAMD,MAAAA;;;;"}
1
+ {"version":3,"file":"ip.js","sources":["../../src/middlewares/ip.ts"],"sourcesContent":["import koaIp from 'koa-ip';\nimport type { Core } from '@strapi/types';\n\nexport type Config = koaIp.KoaIPOptions;\n\nexport const ip: Core.MiddlewareFactory<Config> = (config) => koaIp(config);\n"],"names":["ip","config","koaIp"],"mappings":";;;;;;;;AAKO,MAAMA,EAAAA,GAAqC,CAACC,MAAAA,GAAWC,uBAAMD,MAAAA;;;;"}
@@ -3,6 +3,10 @@
3
3
  var fp = require('lodash/fp');
4
4
  var koaStatic = require('koa-static');
5
5
 
6
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
7
+
8
+ var koaStatic__default = /*#__PURE__*/_interopDefault(koaStatic);
9
+
6
10
  const defaults = {
7
11
  maxAge: 60000
8
12
  };
@@ -23,7 +27,7 @@ const publicStatic = (config, { strapi })=>{
23
27
  {
24
28
  method: 'GET',
25
29
  path: '/((?!uploads/).+)',
26
- handler: koaStatic(strapi.dirs.static.public, {
30
+ handler: koaStatic__default.default(strapi.dirs.static.public, {
27
31
  maxage: maxAge,
28
32
  defer: true
29
33
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"public.js","sources":["../../src/middlewares/public.ts"],"sourcesContent":["import { defaultsDeep } from 'lodash/fp';\nimport koaStatic from 'koa-static';\nimport type { Core } from '@strapi/types';\n\ntype Config = koaStatic.Options;\n\nconst defaults = {\n maxAge: 60000,\n};\n\nexport const publicStatic: Core.MiddlewareFactory = (\n config: Config,\n { strapi }: { strapi: Core.Strapi }\n) => {\n const { maxAge } = defaultsDeep(defaults, config);\n\n strapi.server.routes([\n {\n method: 'GET',\n path: '/',\n handler(ctx) {\n ctx.redirect(strapi.config.get('admin.url', '/admin'));\n },\n config: { auth: false },\n },\n // All other public GET-routes except /uploads/(.*) which is handled in upload middleware\n {\n method: 'GET',\n path: '/((?!uploads/).+)',\n handler: koaStatic(strapi.dirs.static.public, {\n maxage: maxAge,\n defer: true,\n }),\n config: { auth: false },\n },\n ]);\n};\n"],"names":["defaults","maxAge","publicStatic","config","strapi","defaultsDeep","server","routes","method","path","handler","ctx","redirect","get","auth","koaStatic","dirs","static","public","maxage","defer"],"mappings":";;;;;AAMA,MAAMA,QAAAA,GAAW;IACfC,MAAAA,EAAQ;AACV,CAAA;MAEaC,YAAAA,GAAuC,CAClDC,MAAAA,EACA,EAAEC,MAAM,EAA2B,GAAA;AAEnC,IAAA,MAAM,EAAEH,MAAM,EAAE,GAAGI,gBAAaL,QAAAA,EAAUG,MAAAA,CAAAA;IAE1CC,MAAAA,CAAOE,MAAM,CAACC,MAAM,CAAC;AACnB,QAAA;YACEC,MAAAA,EAAQ,KAAA;YACRC,IAAAA,EAAM,GAAA;AACNC,YAAAA,OAAAA,CAAAA,CAAQC,GAAG,EAAA;AACTA,gBAAAA,GAAAA,CAAIC,QAAQ,CAACR,MAAAA,CAAOD,MAAM,CAACU,GAAG,CAAC,WAAA,EAAa,QAAA,CAAA,CAAA;AAC9C,YAAA,CAAA;YACAV,MAAAA,EAAQ;gBAAEW,IAAAA,EAAM;AAAM;AACxB,SAAA;;AAEA,QAAA;YACEN,MAAAA,EAAQ,KAAA;YACRC,IAAAA,EAAM,mBAAA;AACNC,YAAAA,OAAAA,EAASK,UAAUX,MAAAA,CAAOY,IAAI,CAACC,MAAM,CAACC,MAAM,EAAE;gBAC5CC,MAAAA,EAAQlB,MAAAA;gBACRmB,KAAAA,EAAO;AACT,aAAA,CAAA;YACAjB,MAAAA,EAAQ;gBAAEW,IAAAA,EAAM;AAAM;AACxB;AACD,KAAA,CAAA;AACH;;;;"}
1
+ {"version":3,"file":"public.js","sources":["../../src/middlewares/public.ts"],"sourcesContent":["import { defaultsDeep } from 'lodash/fp';\nimport koaStatic from 'koa-static';\nimport type { Core } from '@strapi/types';\n\ntype Config = koaStatic.Options;\n\nconst defaults = {\n maxAge: 60000,\n};\n\nexport const publicStatic: Core.MiddlewareFactory = (\n config: Config,\n { strapi }: { strapi: Core.Strapi }\n) => {\n const { maxAge } = defaultsDeep(defaults, config);\n\n strapi.server.routes([\n {\n method: 'GET',\n path: '/',\n handler(ctx) {\n ctx.redirect(strapi.config.get('admin.url', '/admin'));\n },\n config: { auth: false },\n },\n // All other public GET-routes except /uploads/(.*) which is handled in upload middleware\n {\n method: 'GET',\n path: '/((?!uploads/).+)',\n handler: koaStatic(strapi.dirs.static.public, {\n maxage: maxAge,\n defer: true,\n }),\n config: { auth: false },\n },\n ]);\n};\n"],"names":["defaults","maxAge","publicStatic","config","strapi","defaultsDeep","server","routes","method","path","handler","ctx","redirect","get","auth","koaStatic","dirs","static","public","maxage","defer"],"mappings":";;;;;;;;;AAMA,MAAMA,QAAAA,GAAW;IACfC,MAAAA,EAAQ;AACV,CAAA;MAEaC,YAAAA,GAAuC,CAClDC,MAAAA,EACA,EAAEC,MAAM,EAA2B,GAAA;AAEnC,IAAA,MAAM,EAAEH,MAAM,EAAE,GAAGI,gBAAaL,QAAAA,EAAUG,MAAAA,CAAAA;IAE1CC,MAAAA,CAAOE,MAAM,CAACC,MAAM,CAAC;AACnB,QAAA;YACEC,MAAAA,EAAQ,KAAA;YACRC,IAAAA,EAAM,GAAA;AACNC,YAAAA,OAAAA,CAAAA,CAAQC,GAAG,EAAA;AACTA,gBAAAA,GAAAA,CAAIC,QAAQ,CAACR,MAAAA,CAAOD,MAAM,CAACU,GAAG,CAAC,WAAA,EAAa,QAAA,CAAA,CAAA;AAC9C,YAAA,CAAA;YACAV,MAAAA,EAAQ;gBAAEW,IAAAA,EAAM;AAAM;AACxB,SAAA;;AAEA,QAAA;YACEN,MAAAA,EAAQ,KAAA;YACRC,IAAAA,EAAM,mBAAA;AACNC,YAAAA,OAAAA,EAASK,2BAAUX,MAAAA,CAAOY,IAAI,CAACC,MAAM,CAACC,MAAM,EAAE;gBAC5CC,MAAAA,EAAQlB,MAAAA;gBACRmB,KAAAA,EAAO;AACT,aAAA,CAAA;YACAjB,MAAAA,EAAQ;gBAAEW,IAAAA,EAAM;AAAM;AACxB;AACD,KAAA,CAAA;AACH;;;;"}
@@ -2,6 +2,10 @@
2
2
 
3
3
  var qs = require('qs');
4
4
 
5
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
6
+
7
+ var qs__default = /*#__PURE__*/_interopDefault(qs);
8
+
5
9
  const defaults = {
6
10
  strictNullHandling: true,
7
11
  arrayLimit: 100,
@@ -20,14 +24,14 @@ const defaults = {
20
24
  this._querycache = this._querycache || {};
21
25
  const cache = this._querycache;
22
26
  if (!cache[qstr]) {
23
- cache[qstr] = qs.parse(qstr, settings);
27
+ cache[qstr] = qs__default.default.parse(qstr, settings);
24
28
  }
25
29
  return cache[qstr];
26
30
  },
27
31
  /*
28
32
  * Set query-string as an object.
29
33
  */ set (obj) {
30
- this.querystring = qs.stringify(obj);
34
+ this.querystring = qs__default.default.stringify(obj);
31
35
  }
32
36
  });
33
37
  return app;
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sources":["../../src/middlewares/query.ts"],"sourcesContent":["import qs from 'qs';\nimport type Koa from 'koa';\nimport type { Core } from '@strapi/types';\n\ntype Config = Parameters<typeof qs.parse>[1];\n\nconst defaults: Config = {\n strictNullHandling: true,\n arrayLimit: 100,\n depth: 20,\n};\n\n/**\n * Body parser hook\n */\nconst addQsParser = (app: Koa, settings: Config) => {\n Object.defineProperty(app.request, 'query', {\n configurable: false,\n enumerable: true,\n /*\n * Get parsed query-string.\n */\n get() {\n const qstr = this.querystring;\n\n this._querycache = this._querycache || {};\n const cache = this._querycache;\n\n if (!cache[qstr]) {\n cache[qstr] = qs.parse(qstr, settings);\n }\n\n return cache[qstr];\n },\n\n /*\n * Set query-string as an object.\n */\n set(obj) {\n this.querystring = qs.stringify(obj);\n },\n } satisfies PropertyDescriptor & ThisType<Koa.BaseRequest>);\n\n return app;\n};\n\nexport const query: Core.MiddlewareFactory = (\n config: Partial<Config>,\n { strapi }: { strapi: Core.Strapi }\n) => {\n addQsParser(strapi.server.app, { ...defaults, ...config } as Config);\n};\n"],"names":["defaults","strictNullHandling","arrayLimit","depth","addQsParser","app","settings","Object","defineProperty","request","configurable","enumerable","get","qstr","querystring","_querycache","cache","qs","parse","set","obj","stringify","query","config","strapi","server"],"mappings":";;;;AAMA,MAAMA,QAAAA,GAAmB;IACvBC,kBAAAA,EAAoB,IAAA;IACpBC,UAAAA,EAAY,GAAA;IACZC,KAAAA,EAAO;AACT,CAAA;AAEA;;IAGA,MAAMC,WAAAA,GAAc,CAACC,GAAAA,EAAUC,QAAAA,GAAAA;AAC7BC,IAAAA,MAAAA,CAAOC,cAAc,CAACH,GAAAA,CAAII,OAAO,EAAE,OAAA,EAAS;QAC1CC,YAAAA,EAAc,KAAA;QACdC,UAAAA,EAAY,IAAA;AACZ;;QAGAC,GAAAA,CAAAA,GAAAA;YACE,MAAMC,IAAAA,GAAO,IAAI,CAACC,WAAW;AAE7B,YAAA,IAAI,CAACC,WAAW,GAAG,IAAI,CAACA,WAAW,IAAI,EAAC;YACxC,MAAMC,KAAAA,GAAQ,IAAI,CAACD,WAAW;AAE9B,YAAA,IAAI,CAACC,KAAK,CAACH,IAAAA,CAAK,EAAE;AAChBG,gBAAAA,KAAK,CAACH,IAAAA,CAAK,GAAGI,EAAAA,CAAGC,KAAK,CAACL,IAAAA,EAAMP,QAAAA,CAAAA;AAC/B,YAAA;YAEA,OAAOU,KAAK,CAACH,IAAAA,CAAK;AACpB,QAAA,CAAA;AAEA;;AAEC,QACDM,KAAIC,GAAG,EAAA;AACL,YAAA,IAAI,CAACN,WAAW,GAAGG,EAAAA,CAAGI,SAAS,CAACD,GAAAA,CAAAA;AAClC,QAAA;AACF,KAAA,CAAA;IAEA,OAAOf,GAAAA;AACT,CAAA;MAEaiB,KAAAA,GAAgC,CAC3CC,MAAAA,EACA,EAAEC,MAAM,EAA2B,GAAA;AAEnCpB,IAAAA,WAAAA,CAAYoB,MAAAA,CAAOC,MAAM,CAACpB,GAAG,EAAE;AAAE,QAAA,GAAGL,QAAQ;AAAE,QAAA,GAAGuB;AAAO,KAAA,CAAA;AAC1D;;;;"}
1
+ {"version":3,"file":"query.js","sources":["../../src/middlewares/query.ts"],"sourcesContent":["import qs from 'qs';\nimport type Koa from 'koa';\nimport type { Core } from '@strapi/types';\n\ntype Config = Parameters<typeof qs.parse>[1];\n\nconst defaults: Config = {\n strictNullHandling: true,\n arrayLimit: 100,\n depth: 20,\n};\n\n/**\n * Body parser hook\n */\nconst addQsParser = (app: Koa, settings: Config) => {\n Object.defineProperty(app.request, 'query', {\n configurable: false,\n enumerable: true,\n /*\n * Get parsed query-string.\n */\n get() {\n const qstr = this.querystring;\n\n this._querycache = this._querycache || {};\n const cache = this._querycache;\n\n if (!cache[qstr]) {\n cache[qstr] = qs.parse(qstr, settings);\n }\n\n return cache[qstr];\n },\n\n /*\n * Set query-string as an object.\n */\n set(obj) {\n this.querystring = qs.stringify(obj);\n },\n } satisfies PropertyDescriptor & ThisType<Koa.BaseRequest>);\n\n return app;\n};\n\nexport const query: Core.MiddlewareFactory = (\n config: Partial<Config>,\n { strapi }: { strapi: Core.Strapi }\n) => {\n addQsParser(strapi.server.app, { ...defaults, ...config } as Config);\n};\n"],"names":["defaults","strictNullHandling","arrayLimit","depth","addQsParser","app","settings","Object","defineProperty","request","configurable","enumerable","get","qstr","querystring","_querycache","cache","qs","parse","set","obj","stringify","query","config","strapi","server"],"mappings":";;;;;;;;AAMA,MAAMA,QAAAA,GAAmB;IACvBC,kBAAAA,EAAoB,IAAA;IACpBC,UAAAA,EAAY,GAAA;IACZC,KAAAA,EAAO;AACT,CAAA;AAEA;;IAGA,MAAMC,WAAAA,GAAc,CAACC,GAAAA,EAAUC,QAAAA,GAAAA;AAC7BC,IAAAA,MAAAA,CAAOC,cAAc,CAACH,GAAAA,CAAII,OAAO,EAAE,OAAA,EAAS;QAC1CC,YAAAA,EAAc,KAAA;QACdC,UAAAA,EAAY,IAAA;AACZ;;QAGAC,GAAAA,CAAAA,GAAAA;YACE,MAAMC,IAAAA,GAAO,IAAI,CAACC,WAAW;AAE7B,YAAA,IAAI,CAACC,WAAW,GAAG,IAAI,CAACA,WAAW,IAAI,EAAC;YACxC,MAAMC,KAAAA,GAAQ,IAAI,CAACD,WAAW;AAE9B,YAAA,IAAI,CAACC,KAAK,CAACH,IAAAA,CAAK,EAAE;AAChBG,gBAAAA,KAAK,CAACH,IAAAA,CAAK,GAAGI,mBAAAA,CAAGC,KAAK,CAACL,IAAAA,EAAMP,QAAAA,CAAAA;AAC/B,YAAA;YAEA,OAAOU,KAAK,CAACH,IAAAA,CAAK;AACpB,QAAA,CAAA;AAEA;;AAEC,QACDM,KAAIC,GAAG,EAAA;AACL,YAAA,IAAI,CAACN,WAAW,GAAGG,mBAAAA,CAAGI,SAAS,CAACD,GAAAA,CAAAA;AAClC,QAAA;AACF,KAAA,CAAA;IAEA,OAAOf,GAAAA;AACT,CAAA;MAEaiB,KAAAA,GAAgC,CAC3CC,MAAAA,EACA,EAAEC,MAAM,EAA2B,GAAA;AAEnCpB,IAAAA,WAAAA,CAAYoB,MAAAA,CAAOC,MAAM,CAACpB,GAAG,EAAE;AAAE,QAAA,GAAGL,QAAQ;AAAE,QAAA,GAAGuB;AAAO,KAAA,CAAA;AAC1D;;;;"}
@@ -4,6 +4,10 @@ var fp = require('lodash/fp');
4
4
  var helmet = require('koa-helmet');
5
5
  var strapiUtils = require('@strapi/utils');
6
6
 
7
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
+
9
+ var helmet__default = /*#__PURE__*/_interopDefault(helmet);
10
+
7
11
  const defaults = {
8
12
  crossOriginEmbedderPolicy: false,
9
13
  crossOriginOpenerPolicy: false,
@@ -96,7 +100,7 @@ const security = (config, { strapi })=>(ctx, next)=>{
96
100
  }
97
101
  });
98
102
  }
99
- return helmet(helmetConfig)(ctx, next);
103
+ return helmet__default.default(helmetConfig)(ctx, next);
100
104
  };
101
105
 
102
106
  exports.security = security;